generic body #148
Aliases: generic body
32 verbs · 99 properties · 1 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
suggest_next_action _wield com*mand _fight _unwield hkick elect_action hear_event default_elect_action dodge_or_parry at*tack kill hear_event_attack hear_event_move start_fighting knockout wake | this none this | rxd | #148 | 1 |
setup | this none this | rxd | #148 | 25 |
die | this none this | rxd | #148 | 7 |
breakdown | this none this | rxd | #148 | 11 |
search | this none none | rxd | #148 | 17 |
tell_health | this none this | rxd | #148 | 8 |
cant_take | this none this | rxd | #148 | 1 |
is_dead | this none this | rxd | #148 | 4 |
_wake | this none this | rxd | #148 | 3 |
threat_rating | this none this | rxd | #148 | 1 |
recycle | this none this | rxd | #148 | 6 |
_knockout | this none this | rxd | #148 | 3 |
kick | this none none | rxd | #148 | 7 |
_allows | this none this | rxd | #148 | 1 |
hear_event_arrive | this none this | rxd | #148 | 6 |
follow | this none none | rxd | #148 | 1 |
max_carry | this none this | rxd | #148 | 1 |
heartbeat | this none this | rxd | #148 | 9 |
base_dodge | this none this | rxd | #148 | 1 |
grab lunge hold | this none none | rxd | #148 | 2 |
_eat | this none this | rxd | #148 | 15 |
get_from | this none this | rxd | #148 | 5 |
cant_get_from | this none this | rxd | #148 | 14 |
explode | this none this | rxd | #148 | 33 |
_brainscan | this none this | rxd | #148 | 5 |
killed_by | this none this | rxd | #148 | 3 |
put_into | this none this | rxd | #148 | 0 |
cant_put_into | this none this | rxd | #148 | 1 |
turn_to_corpse | this none this | rxd | #148 | 26 |
fighting_target | this none this | rxd | #148 | 1 |
check*pulse | this none none | rxd | #148 | 1 |
entomb | this none this | rxd | #148 | 7 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
sync_props | #148 | rc | #361 | {"description", "blood", "has_proper_name", "wearing", "implants", "health", "health_max", "fetishes"} |
player | #148 | rc | #361 | #-1 |
rename | #148 | rc | #361 | 1 |
restore_props | #148 | rc | #361 | {"wearing", "implants", "blood"} |
meats | #148 | rc | #361 | {#2158, #2168, #27317} |
get_from_msg | #148 | rc | #361 | "" |
clothing | #148 | rc | #361 | {} |
drag_msg | #148 | rc | #361 | "%N grabs %dt and starts dragging it towards %dl." |
drag_fall_msg | #148 | rc | #361 | "%DT rolls over the edge of %dl." |
nodrag_msg | #148 | rc | #361 | "%N tugs mightily on %dt, trying to drag it." |
hands | #107 | rc | #361 | <clear> |
wielding | #107 | rc | #361 | <clear> |
health | #107 | rc | #361 | 20 |
unarmed_weapon | #107 | rc | #361 | <clear> |
size | #107 | rc | #361 | <clear> |
posture | #107 | rc | #361 | "passed out" |
gender | #107 | rc | #361 | <clear> |
respawn | #107 | rc | #361 | #2800 |
corpse | #107 | rc | #361 | <clear> |
has_proper_name | #107 | rc | #361 | 1 |
die_msg | #107 | rc | #361 | "%DN's limbs twitch feebly; %s coughs weakly, and moves no more." |
body_parts | #107 | rc | #361 | <clear> |
wearing | #107 | rc | #361 | <clear> |
armor | #107 | rc | #361 | <clear> |
last_swing_message | #107 | rc | #361 | <clear> |
health_max | #107 | rc | #361 | <clear> |
fighting | #107 | rc | #361 | {} |
last_dodge_time | #107 | rc | #361 | <clear> |
following | #107 | rc | #361 | <clear> |
icon | #107 | rc | #361 | <clear> |
say_msg | #107 | rc | #361 | <clear> |
say_to_msg | #107 | rc | #361 | <clear> |
afterlife | #107 | rc | #361 | <clear> |
get_msg | #107 | rc | #361 | <clear> |
drop_msg | #107 | rc | #361 | <clear> |
blood | #107 | rc | #361 | <clear> |
squeals | #107 | rc | #361 | #934 |
prc | #107 | rc | #361 | <clear> |
ppc | #107 | rc | #361 | <clear> |
poc | #107 | rc | #361 | <clear> |
psc | #107 | rc | #361 | <clear> |
pr | #107 | rc | #361 | <clear> |
pp | #107 | rc | #361 | <clear> |
po | #107 | rc | #361 | <clear> |
ps | #107 | rc | #361 | <clear> |
pq | #107 | rc | #361 | <clear> |
pqc | #107 | rc | #361 | <clear> |
brief | #107 | rc | #361 | <clear> |
knockout | #107 | rc | #361 | <clear> |
knockout_msg | #107 | rc | #361 | <clear> |
body | #107 | rc | #361 | <clear> |
wake_msg | #107 | rc | #361 | <clear> |
owake_msg | #107 | rc | #361 | <clear> |
oknockout_msg | #107 | rc | #361 | <clear> |
friends | #107 | rc | #361 | <clear> |
home | #107 | rc | #361 | <clear> |
respawn_msg | #107 | rc | #361 | <clear> |
move_action | #107 | rc | #361 | <clear> |
heart | #107 | rc | #361 | 0 |
last_heartbeat | #107 | rc | #361 | <clear> |
dead | #107 | rc | #361 | <clear> |
_tohit_next | #107 | rc | #361 | <clear> |
last_words_msg | #107 | rc | #361 | <clear> |
attacked | #107 | rc | #361 | <clear> |
opens_doors | #107 | rc | #361 | 0 |
movable_by_explosion | #107 | rc | #361 | <clear> |
obscured | #107 | rc | #361 | <clear> |
obscured_desc_msg | #107 | rc | #361 | <clear> |
cooldowns | #107 | rc | #361 | <clear> |
combat_rounds | #107 | rc | #361 | <clear> |
encumbrance | #107 | rc | #361 | <clear> |
respawn_handler | #107 | rc | #361 | <clear> |
distant_form_msg | #107 | rc | #361 | "" |
block_msg | #107 | rc | #361 | <clear> |
attack_on_block | #107 | rc | #361 | <clear> |
last_stunned | #107 | rc | #361 | <clear> |
nude_descs | #107 | rc | #361 | <clear> |
skills | #107 | rc | #361 | <clear> |
explode_msg | #107 | rc | #361 | <clear> |
death_listeners | #107 | rc | #361 | <clear> |
queue | #92 | r | #361 | <clear> |
preemptible | #92 | r | #361 | <clear> |
executing | #92 | r | #361 | <clear> |
process_queue | #92 | r | #361 | <clear> |
help_msg | #92 | rc | #361 | <clear> |
last_action | #92 | r | #361 | <clear> |
article | #92 | rc | #361 | <clear> |
last_last_action | #92 | rc | #361 | <clear> |
action_count | #92 | rc | #361 | <clear> |
aliases | #1 | rc | #361 | {"generic body"} |
description | #1 | rc | #361 | <clear> |
object_size | #1 | r | #29 | {28403, 1298433816} |
hidden_verbs | #1 | rc | #361 | {"command", "@behaviors", "@possess", "follow", "appraise", "learn"} |
phelp_msg | #1 | rc | #361 | <clear> |
weight | #1 | rc | #361 | <clear> |
owner_verbs | #1 | rc | #361 | <clear> |
plural_name | #1 | rc | #361 | <clear> |
client_image | #1 | rc | #361 | <clear> |
listening | #1 | rc | #361 | <clear> |
Ancestry
Ancestors (nearest first): #107 generic creature → #92 generic actor → #1 root
Children: #104 generic corpse
Call graph
Showing 48 of 50 verbs; 2 not shown.
Source
suggest_next_action _wield com*mand _fight _unwield hkick elect_action hear_event default_elect_action dodge_or_parry at*tack kill hear_event_attack hear_event_move start_fighting knockout wake
Referenced by
none
Source
1return 0;
setup
Referenced by
- #104:setup line 2:
pass(
Source
1"setup(OBJ who) => Sets up the corpse so it resembles who's properties"; 2who = args[1]; 3destination = ((length(args) > 1) && is_a(args[2], $room)) ? args[2] | who.location; 4"DO NOT ADD .meats MODIFYING CODE HERE"; 5this.player = who; 6this:set_name(who:name()); 7this:set_aliases(who.aliases); 8this.has_proper_name = who.has_proper_name; 9$gender_utils:set(this, who.gender); 10for x in ($ou:leaves($skill)) 11if (x.name in keys(who.skills)) 12this.skills[x.name] = who.skills[x.name]; 13endif 14endfor 15for prop in (this.sync_props) 16`this.(prop) = who.(prop) ! ANY => 0'; 17endfor 18this.body_parts = who.body_parts; 19for x in (who.contents) 20move(x, this); 21endfor 22this.posture = "passed out"; 23`this.clothing = who.clothing ! ANY'; 24move(this, who.location); 25"DO NOT ADD .meats MODIFYING CODE HERE";
die
Referenced by
- #148:heartbeat line 7:
this:die
Source
1who = this.player; 2this.health = 0; 3if (is_a(who, $creature)) 4who:die(@args); 5else 6$nets.prognet:announce(this, "I am a fucked up $body."); 7endif
breakdown
Referenced by
none
Source
1if (valid(who = this.player)) 2for x in (this.restore_props) 3`who.(x) = this.(x) ! ANY => 0'; 4endfor 5else 6return 0; 7endif 8if (this:dead() && is_a(this, $corpse)) 9who.blood = this.restorable_blood; 10endif 11return 0;
search
Referenced by
none
Source
1"Search the body for possible loot."; 2player:aat($su:capitalize(player:dname()), " searches through ", this:dname(), "."); 3if (is_a(this.player, $immortal)) 4player:tell("You don't find anything useful on ", this:dname(), "."); 5return; 6endif 7if (`this.clothing ! ANY') 8clothes = $su:english_list($lu:map_verb(this.clothing, "iname")); 9player:tell(this:dnamec(), " is wearing ", clothes, "."); 10endif 11if (stuff = this:occupants($thing)) 12" thelist = $su:english_list($lu:map_verb(stuff, \"iname\"));"; 13thelist = $english_utils:aggregate_names(stuff); 14player:tell("On ", this:dname(), " you find ", thelist, "."); 15else 16player:tell("You don't find anything useful on ", this:dname(), "."); 17endif
tell_health
Referenced by
none
Source
1if (this:is_dead()) 2player:tell(this:dnamec(), " seems to be dead."); 3return; 4endif 5pass(@args); 6if (valid(this.player)) 7player:tell(this:dnamec(), " seems to be passed out."); 8endif
cant_take
Referenced by
none
Source
1return (this.ps + " is ") + (valid(this.player) ? "unconscious" | "dead");
is_dead
Referenced by
- #148:tell_health line 1:
this:is_dead - #148:_wake line 1:
this:is_dead - #148:kick line 3:
this:is_dead
Source
1":is_dead() => 0: unconscious,"; 2" 1: dead, but revivable from afterlife,"; 3" 2: dead and he ain't comin' back."; 4return 0;
_wake
Referenced by
- #148:_eat line 14:
this:_wake
Source
1if (valid(this.player) && (this:is_dead() < 2)) 2this.player:_wake(); 3endif
threat_rating
Referenced by
none
Source
1return 0;
recycle
Referenced by
none
Source
1if ($ou:isa(this.player, $creature)) 2if (this.player.body == this) 3this.player.body = #-1; 4endif 5endif 6return pass(@args);
_knockout
Referenced by
none
Source
1if (valid(this.player) && $ou:isa(this.player, $creature)) 2this.player:_knockout(@args); 3endif
kick
Referenced by
none
Source
1player:tell("You give ", this:dname(), " a rough kick."); 2player.location:announce(player:name(), " kicks ", this:dname(), "."); 3if (this:is_dead()) 4player:tell(this.psc, "'s dead all right."); 5else 6player:tell(this.psc, "'s not dead yet."); 7endif
_allows
Referenced by
none
Source
1return 1;
hear_event_arrive
Referenced by
none
Source
1return; 2if ((args[3].name == this.name) && (!is_a(args[3], $corpse))) 3this.name = "corpse of " + args[3].name; 4this.has_proper_name = 0; 5this.aliases = setremove(this.aliases, args[3].name); 6endif
follow
Referenced by
none
Source
1player:tell("Wouldn't it make more sense to follow someone who's alive and walking around?");
max_carry
Referenced by
none
Source
1return 100000;
heartbeat
Referenced by
none
Source
1pass(@args); 2if ($rpg:valid(this) && is_a(this, $body)) 3if ((!is_a(this.player, $creature)) || ((valid(this.player) && is_a(this.player:area(), $real_area)) && (!(this.player:region() == $dreamworld)))) 4if (valid(this.player)) 5$nets.prognet:announce(this, (((("Killed " + $su:nn(this.player)) + " at the behest of this $body:heartbeat, while the body was at ") + $su:nn(this.location)) + " and the critter was at ") + $su:nn(this.player.location)); 6endif 7this:die(); 8endif 9endif
base_dodge
Referenced by
none
Source
1return args[1] + 10;
grab lunge hold
Referenced by
none
Source
1player:tell("You get the feeling ", this:dname(), " isn't going to fight back."); 2return 0;
_eat
Referenced by
none
Source
1"Copied from generic corpse (#5378):_eat by Gilmore (#98) Thu Mar 24 12:55:25 2005 PST"; 2who = args[1]; 3if ($ou:has_property(who, "feed_msg")) 4m = who.feed_msg; 5else 6m = this.eat_msg; 7endif 8who:aat($su:ps(m)); 9for a in (this.blood) 10who:ingest(a[1], a[3], 0); 11endfor 12this:take_damage(#277, 1, $bodypart, who); 13if (random(100) < 25) 14this:_wake(); 15endif
get_from
Referenced by
none
Source
1"Copied from generic corpse (#5378):get_from by Gilmore (#98) Sun May 1 01:09:55 2005 PDT"; 2"Copied from generic container (#931):get_from by Gilmore (#98) Mon Apr 4 22:59:27 2005 PDT"; 3who = args[1]; 4targets = (typeof(args[2]) == LIST) ? $lu:randomly_permute(args[2]) | {args[2]}; 5who:queue_action($actions.get, {targets, this, {}}, 1, "get from " + this.name);
cant_get_from
Referenced by
none
Source
1getter = args[1]; 2targets = args[2]; 3if ((!this.contents) || is_a(this.player, $immortal)) 4return this:dname() + " doesn't have anything to get"; 5endif 6for x in (targets) 7if (!(x in this.contents)) 8targets = setremove(targets, x); 9endif 10endfor 11if (!targets) 12return "it's not on " + this:dname(); 13endif 14return 0;
explode
Referenced by
none
Source
1who = this.player; 2if (is_a(who, $player)) 3$quests.giblets:award_to(who); 4endif 5if (is_a(who, $prog)) 6return 0; 7endif 8dtype = (length(args) > 1) ? args[2] | $damage; 9if ((is_a(who, $creature) && is_a(this, $body)) && is_a(this.location, $room)) 10for x in (who.corpse.bodyparts) 11if (random(100) <= `x.survive_chance ! E_PROPNF => 40') 12thing = $rpg:spawn(x); 13`thing:carve_from(this) ! E_VERBNF'; 14exits = this.location:exits(); 15if (exits) 16exit = exits[random($)]; 17if ((random(100) < 50) && valid(dest = exit:throws_to(thing, who))) 18dest:announce_all($su:ps(exit.otherside.throw_through_msg, who, thing, exit.otherside)); 19thing:moveto(dest); 20else 21thing:moveto(this.location); 22endif 23else 24thing:moveto(this.location); 25endif 26endif 27endfor 28endif 29for x in (this.contents) 30this.location:broadcast_event(0, $actions.drop, who, {x, this.location}); 31x:moveto(this.location); 32endfor 33move(this, $tomb);
_brainscan
Referenced by
none
Source
1if (is_a(p = this.player, $living)) 2p:_brainscan(@args); 3else 4this:_whisper(args[1], "Who am I? Will I ever wake up?"); 5endif
killed_by
Referenced by
none
Source
1if (is_a(this.player, $creature)) 2return this.player:killed_by(@args); 3endif
put_into
Referenced by
none
Source
No program (verb defined but unprogrammed).
cant_put_into
Referenced by
none
Source
1return "you just can't";
turn_to_corpse
Referenced by
none
Source
1":turn_to_corpse(dtype) => Convert this body into a corpse by changing its parent. Dtype should be the kind of damage that killed the creature."; 2who = this.player; 3if (is_a(who, $npc)) 4who.death_time = time(); 5endif 6dtype = (length(args) >= 1) ? args[1] | $damage; 7if (is_a(who, $creature)) 8if (valid(who.corpse)) 9if (who.corpse == $corpse) 10$nets.gamenet:announce(#2, tostr($su:nn(who), " (", $su:nn(parent(who)), ") turned into a $corpse"), 1); 11elseif (!is_a(who.corpse, $corpse)) 12$nets.prognet:announce(#2, tostr($su:nn(who), " (", $su:nn(parent(who)), " turned into a bad corpse: ", $su:nn(who.corpse)), 1); 13endif 14chparent(this, who.corpse); 15this.bodyparts = who.corpse.bodyparts; 16else 17for x in (this.contents) 18x:moveto(this.location); 19endfor 20move(this, $tomb); 21return; 22endif 23else 24chparent(this, $corpse); 25endif 26this:setup_for(who, dtype);
fighting_target
Referenced by
none
Source
1return this.player;
check*pulse
Referenced by
none
Source
1player:queue_action(#531330, {this}, 1, "pulse check");
entomb
Referenced by
none
Source
1"Copied from generic body (#1031):recycle by Gilmore (#98) Wed Jun 2 21:43:18 2010 CDT"; 2if ($ou:isa(this.player, $creature)) 3if (this.player.body == this) 4this.player.body = #-1; 5endif 6endif 7return pass(@args);