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.91 by elmex, Tue Dec 26 10:51:52 2006 UTC vs.
Revision 1.92 by root, Tue Dec 26 17:39:29 2006 UTC

789{ 789{
790 /* Only if the space blocks everything do we not process - 790 /* Only if the space blocks everything do we not process -
791 * if some form of movement is allowed, let objects 791 * if some form of movement is allowed, let objects
792 * drop on that space. 792 * drop on that space.
793 */ 793 */
794 if (!drop_to_ground || !map || map->in_memory != MAP_IN_MEMORY || GET_MAP_MOVE_BLOCK (map, x, y) == MOVE_ALL) 794 if (!drop_to_ground
795 || !map
796 || map->in_memory != MAP_IN_MEMORY
797 || map->at (x, y).move_block == MOVE_ALL)
795 { 798 {
796 while (inv) 799 while (inv)
800 {
801 inv->destroy_inv (drop_to_ground);
797 inv->destroy (); 802 inv->destroy ();
803 }
798 } 804 }
799 else 805 else
800 { /* Put objects in inventory onto this space */ 806 { /* Put objects in inventory onto this space */
801 while (inv) 807 while (inv)
802 { 808 {
839 remove (); 845 remove ();
840 846
841 if (flag [FLAG_FREED]) 847 if (flag [FLAG_FREED])
842 return; 848 return;
843 849
850 set_speed (0);
851
844 flag [FLAG_FREED] = 1; 852 flag [FLAG_FREED] = 1;
845 853
846 attachable::do_destroy (); 854 attachable::do_destroy ();
847 855
848 destroy_inv (true); 856 destroy_inv (true);
849 set_speed (0);
850 unlink (); 857 unlink ();
851 858
852 // hack to ensure that freed objects still have a valid map 859 // hack to ensure that freed objects still have a valid map
853 { 860 {
854 static maptile *freed_map; // freed objects are moved here to avoid crashes 861 static maptile *freed_map; // freed objects are moved here to avoid crashes

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines