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.89 by root, Tue Dec 26 09:52:40 2006 UTC vs.
Revision 1.90 by root, Tue Dec 26 10:14:24 2006 UTC

827} 827}
828 828
829void 829void
830object::do_destroy () 830object::do_destroy ()
831{ 831{
832 attachable::do_destroy ();
833
834 if (flag [FLAG_IS_LINKED]) 832 if (flag [FLAG_IS_LINKED])
835 remove_button_link (this); 833 remove_button_link (this);
836 834
837 if (flag [FLAG_FRIENDLY]) 835 if (flag [FLAG_FRIENDLY])
838 remove_friendly_object (this); 836 remove_friendly_object (this);
842 840
843 if (flag [FLAG_FREED]) 841 if (flag [FLAG_FREED])
844 return; 842 return;
845 843
846 flag [FLAG_FREED] = 1; 844 flag [FLAG_FREED] = 1;
845
846 attachable::do_destroy ();
847 847
848 destroy_inv (true); 848 destroy_inv (true);
849 set_speed (0); 849 set_speed (0);
850 unlink (); 850 unlink ();
851 851
1014 if (map->in_memory == MAP_SAVING) 1014 if (map->in_memory == MAP_SAVING)
1015 return; 1015 return;
1016 1016
1017 int check_walk_off = !flag [FLAG_NO_APPLY]; 1017 int check_walk_off = !flag [FLAG_NO_APPLY];
1018 1018
1019 for (tmp = GET_MAP_OB (map, x, y); tmp; tmp = tmp->above) 1019 for (tmp = map->at (x, y).bot; tmp; tmp = tmp->above)
1020 { 1020 {
1021 /* No point updating the players look faces if he is the object 1021 /* No point updating the players look faces if he is the object
1022 * being removed. 1022 * being removed.
1023 */ 1023 */
1024 1024
1044 && (move_type & ~tmp->move_off & ~tmp->move_block) == 0)) 1044 && (move_type & ~tmp->move_off & ~tmp->move_block) == 0))
1045 { 1045 {
1046 move_apply (tmp, this, 0); 1046 move_apply (tmp, this, 0);
1047 1047
1048 if (destroyed ()) 1048 if (destroyed ())
1049 LOG (llevError, "BUG: remove_ob(): name %s, destroyed leaving object\n", tmp->debug_desc ());
1049 LOG (llevError, "BUG: remove_ob(): name %s, destroyed leaving object\n", tmp->debug_desc ()); 1050 LOG (llevError, "BUG: remove_ob(): name %s, destroyed leaving object\n", tmp->debug_desc ());
1050 } 1051 }
1051 1052
1052 /* Eneq(@csd.uu.se): Fixed this to skip tmp->above=tmp */ 1053 /* Eneq(@csd.uu.se): Fixed this to skip tmp->above=tmp */
1053 1054

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines