Re: Saving PC Corpses

From: George Greer (greerga@circlemud.org)
Date: 08/13/01


On Mon, 13 Aug 2001, NeoStar wrote:

>I want have the mud, when the timer for a pc corpse has been met, and the
>corpse gone, to instead of purging the corpse, move it to a
>pre-designated room. This would be useful for an Immortal to retrieve a
>decayed corpse for a player if he/she lost it due to unnatural reasons.
>Or maybe just to be nice to newbies. *shrug* Could someone just give me a
>psuedo-code outlining what needs to be done and where?

Something like:

--- limits.c    Mon Aug 13 23:56:53 2001
+++ limits_corpse.c     Tue Aug 14 00:00:01 2001
@@ -451,31 +451,11 @@
       if (GET_OBJ_TIMER(j) > 0)
        GET_OBJ_TIMER(j)--;

-      if (!GET_OBJ_TIMER(j)) {
-
-       if (j->carried_by)
-         act("$p decays in your hands.", FALSE, j->carried_by, j, 0, TO_CHAR);
-       else if ((j->in_room != NOWHERE) && (world[j->in_room].people)) {
-         act("A quivering horde of maggots consumes $p.",
-             TRUE, world[j->in_room].people, j, 0, TO_ROOM);
-         act("A quivering horde of maggots consumes $p.",
-             TRUE, world[j->in_room].people, j, 0, TO_CHAR);
-       }
-       for (jj = j->contains; jj; jj = next_thing2) {
-         next_thing2 = jj->next_content;       /* Next in inventory */
-         obj_from_obj(jj);
-
-         if (j->in_obj)
-           obj_to_obj(jj, j->in_obj);
-         else if (j->carried_by)
-           obj_to_room(jj, j->carried_by->in_room);
-         else if (j->in_room != NOWHERE)
-           obj_to_room(jj, j->in_room);
-         else
-           core_dump();
-       }
-       extract_obj(j);
-      }
+      if (!GET_OBJ_TIMER(j))
+        if (world[j->in_room].number != junk_room) {
+          obj_from_room(j);
+          obj_to_room(j, real_room(junk_room));
+        }
     }
   }
 }

You'll need to define 'junk_room' as something and make sure it
exists.  The above makes two assumptions:

1) A corpse is always in a room.
2) The 'junk_room' is a virtual room that must exist.

People won't be able to grab their stuff after this though.

NOTE: Uncompiled, untested.

--
George Greer
greerga@circlemud.org

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/06/01 PST