ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/object.C
(Generate patch)

Comparing deliantra/server/common/object.C (file contents):
Revision 1.288 by root, Sat Oct 3 22:36:08 2009 UTC vs.
Revision 1.290 by sf-marcmagus, Sun Oct 11 05:43:35 2009 UTC

429 return strdup ("[NULLOBJ]"); 429 return strdup ("[NULLOBJ]");
430 430
431 object_freezer freezer; 431 object_freezer freezer;
432 op->write (freezer); 432 op->write (freezer);
433 return freezer.as_string (); 433 return freezer.as_string ();
434}
435
436char *
437object::as_string ()
438{
439 return dump_object (this);
434} 440}
435 441
436/* 442/*
437 * get_nearest_part(multi-object, object 2) returns the part of the 443 * get_nearest_part(multi-object, object 2) returns the part of the
438 * multi-object 1 which is closest to the second object. 444 * multi-object 1 which is closest to the second object.
2541 return splay (tmp); 2547 return splay (tmp);
2542 2548
2543 return 0; 2549 return 0;
2544} 2550}
2545 2551
2552void
2553object::force_set_timer (int duration)
2554{
2555 this->duration = 1;
2556 this->speed_left = -1.f;
2557
2558 this->set_speed (duration ? 1.f / duration : 0.f);
2559}
2560
2546object * 2561object *
2547object::force_add (shstr_tmp name, int duration) 2562object::force_add (shstr_tmp name, int duration)
2548{ 2563{
2549 if (object *force = force_find (name)) 2564 if (object *force = force_find (name))
2550 force->destroy (); 2565 force->destroy ();
2551 2566
2552 object *force = get_archetype (FORCE_NAME); 2567 object *force = get_archetype (FORCE_NAME);
2553 2568
2554 force->slaying = name; 2569 force->slaying = name;
2555 force->stats.food = 1;
2556 force->speed_left = -1.f;
2557 2570
2558 force->set_speed (duration ? 1.f / duration : 0.f); 2571 force->force_set_timer (duration);
2559 force->flag [FLAG_IS_USED_UP] = true; 2572
2560 force->flag [FLAG_APPLIED] = true; 2573 force->flag [FLAG_APPLIED] = true;
2561 2574
2562 return insert (force); 2575 return insert (force);
2563} 2576}
2564 2577

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines