Cemetery #1131

Parent #258Owner Flags Source rpg_march_2006/cemetary.txt

Aliases: Cemetery

5 verbs · 21 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
acceptablenone none nonerxd#11311
announce*_all_but notify_arrival notify_exit exitshockthis none this#11311
exitfuncthis none this#113110
enterfuncthis none this#113152
look_selfthis none this#11316

Properties

PropertyDefinerFlagsOwnerValue
free_exit#11311
blessed_exit#1131{#9415, 1246785920}
misc_notes#1131not readable (E_PERM)
magic_effects#1131not readable (E_PERM)
combat_effects#1131not readable (E_PERM)
unannounced#1131not readable (E_PERM)
teleport_object#1131#30788
teleport_task#1131829631531
allowed_exits#1131not readable (E_PERM)
dawn_msg#1131""
night_msg#1131""
dusk_msg#1131""
day_msg#1131""
enabled#11310
entrances#1131{}
exits#1131{}
ctype#11310
key#1131not readable (E_PERM)
aliases#1131{"Cemetery"}
description#1131"The grave of monsters not yet reborn."
object_size#1131{5905, 1141286558}

Ancestry

Ancestors (nearest first): #258 Generic Dungeon Room#1610 RPG RDB room#364 outside room#6792 Generic Integrating Description Room#3879 Matching Room#27777 Self-Cleaning Room

Children: none

Call graph

calls n1131_4 #1131:look_self n1610_6 #1610:description n1131_4->n1610_6

Source

acceptable

Spec none none noneFlags rxdDefiner #1131

Referenced by

none

Source

1return (args[1].owner in #46.gms) || (args[1] in this.depositors);

announce*_all_but notify_arrival notify_exit exitshock

Spec this none thisDefiner #1131

Referenced by

none

Source

1return;

exitfunc

Spec this none thisDefiner #1131

Referenced by

none

Source

1{what} = args;
2rpg = $local.rpg;
3if (!rpg:trusted_efunc())
4  return E_PERM;
5endif
6rpg.clock.monster_orphans = setremove(rpg.clock.monster_orphans, what);
7return;
8"don't need the complicated #258:exitfunc stuff here, do you?";
9"Profane 20-AUG-96 0916PDT -- orphan stuff";
10"THX (#105941) - Mon Jun 19, 2000 - Tossed a trusted_efunc in there just to be anal.";

enterfunc

Spec this none thisDefiner #1131

Referenced by

none

Source

1":enterfunc(thing) -- Looks at 'thing'.  If it is a player or a monster with a non-zero gestate, it leaves them alone.  If it is a monster with .gestate == 0, it sends them to reside in Tartarus (with Kwathassx, etc.).  If if is an RPG item, it is unclaimed if it is currently claimed, sent to the gem dispenser if it is a gem, crushed to 0 value and sent to Tartarus if it is currency or emptied out if it is another RPG item owned by G_M.";
2rpg = $local.rpg;
3if ((thing = args[1]).location != this)
4  return;
5endif
6if (is_player(thing))
7  "Leave 'em alone!";
8elseif (rpg:is_monster(thing))
9  if (!thing.gestate)
10    thing:moveto(this.turf[1]);
11    "else";
12    "  rpg.clock.monster_orphans = setadd(rpg.clock.monster_orphans, thing);";
13    "this is handled in #259 when rebirth is scheduled.";
14  endif
15elseif (thing.owner in {owner = rpg.owner, money_owner = rpg.money.owner})
16  if (valid(claimer = `thing:claimed_by() ! ANY => $nothing'))
17    thing:unclaim_for(claimer);
18  endif
19  if (rpg.object_db:is_money(thing))
20    thing:set_quantity(0);
21    thing:moveto(this.turf[1]);
22  elseif (rpg.object_db:is_gem(thing))
23    thing:moveto(rpg.gem.dispenser);
24    "elseif (rpg.object_db:is_scroll(thing))";
25    "  thing:moveto(this.turf[1]);";
26  else
27    for t in ($object_utils:all_contents(thing))
28      if (t.owner in {owner, money_owner})
29        t:moveto(this);
30      endif
31      rpg:s_i_f_i_n();
32    endfor
33    if (rpg.gm_lag < 10)
34      for junk in (this.wait_yer_turn)
35        this.wait_yer_turn = setremove(this.wait_yer_turn, junk);
36        if (((valid(junk) && (parent(junk) != $garbage)) && (junk.location == this)) && (junk.owner == owner))
37          `junk:destroy() ! ANY';
38        endif
39      endfor
40    endif
41    this.wait_yer_turn = setadd(this.wait_yer_turn, thing);
42  endif
43elseif (parent(thing) in this.exemptions)
44  "Special dispensation from the Governor for the Rakshasa.  - THX";
45else
46  thing:moveto(this.turf[1]);
47endif
48rpg.clock:rebirth();
49"THX 05-DEC-96 -- Added a splurge to skip visiting gamemasters, particularly G_M and Susa, who would not enjoy being unclaimed nor emptied out for that matter.";
50"THX 05-May-97 --  Made the cemetery destroy common rpg items on entry if the gm_lag is below 9 second (low).";
51"Profane 16-MAY-97 2242PDT - fork destroy, so that it happens after the moveto task is done.";
52"THX1138 (#105941) - Mon Jan  4, 1999 - Replaced the forked destroy with a queue of incoming objects that _may_ be killable.  The next object arriving will nuke it if the lag isn't too high.";

look_self

Spec this none thisDefiner #1131

Referenced by

none

Source

1desc = this:description();
2if (desc)
3  player:tell_lines(desc);
4else
5  player:tell("You see nothing special.");
6endif