generic body area #15623
Aliases: generic body area, body part, body area, area, part, appendage
4 verbs · 10 properties · 7 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
coverage shock_mod stun_resistance attack_mod parry_mod nat_prot | this none this | | #15623 | 17 |
title | this none this | rx | #15623 | 10 |
make_fertile | this none this | | #15623 | 12 |
moveto | this none this | | #15623 | 30 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
coverage | #15623 | rc | — | 0 |
shock_mod | #15623 | rc | — | 0 |
stun_resistance | #15623 | rc | — | 0 |
attack_mod | #15623 | rc | — | 0 |
parry_mod | #15623 | rc | — | 0 |
nat_prot | #15623 | rc | — | 0 |
key | #15623 | | — | not readable (E_PERM) |
aliases | #15623 | | — | {"generic body area", "body part", "body area", "area", "part", "appendage"} |
description | #15623 | | — | "A part of YOUR body. Guard it well, lest it be sliced and diced by some mad hacker." |
object_size | #15623 | | — | {4239, 1141286561} |
Ancestry
Ancestors (nearest first): none
Children: #39284 head, #47817 left leg, #51172 abdomen, #52374 right leg, #60746 left arm, #61605 chest, #61688 right arm
Source
coverage shock_mod stun_resistance attack_mod parry_mod nat_prot
Referenced by
none
Source
1":*(character[, attacker[, weapon]])"; 2"Descriptions for each stat follow. Bracketed numbers are suggested ranges."; 3".coverage"; 4"-> % of body the part covers, for random area determination. [1..100]"; 5".shock_mod"; 6"-> Modifer when checking shock from wounds to this area. [-30..0]"; 7".stun_resistance"; 8"-> How resistant the area is against being stunned. [0..100]"; 9".attack_mod"; 10"-> Attacker's mod when aiming for the area. [-30..30]"; 11".parry_mod"; 12"-> Defender's mod when parrying an attack aimed for the area. [-30..30]"; 13".nat_prot"; 14"-> Natural armor protection added to :armour of defendant. [0-3]"; 15return this.(verb); 16"Quinn 22-OCT-93 0328: Added."; 17"Profane 20-JAN-96 0930: Added nat_prot bit.";
title
Referenced by
none
Source
1":title(whose-body) -> The name of this body area, allowing for customisation by characters."; 2"Note that, for the moment, due to speed considerations and -wanting- to allow Non-GM PCs to customise their parts, this does not check permissions on the custom verb."; 3"If this becomes a problem, a permissions check will be included. Knowing a few PCs as I do, it probably will."; 4{?who = #-1} = args; 5if (valid(who) && (typeof(custom = who:get_body_area_name(this)) == STR)) 6 return custom; 7else 8 return pass(who); 9endif 10"Quinn 22-OCT-93 0328: Added.";
make_fertile
Referenced by
none
Source
1"Usage: make_fertile() => Makes this temporarily fertile if permitted."; 2" make_fertile(1) => Resets this to unfertile."; 3$local.rpg:secure(); 4if (args) 5 this.f = 0; 6elseif (this.f) 7else 8 this.f = 1; 9 fork (0) 10 this.f = 0; 11 endfork 12endif
moveto
Referenced by
none
Source
1if (`caller.dest ! ANY' in {E_PROPNF, E_INVIND}) 2elseif (caller != this) 3 $local.rpg:log_error((((("Attempt to move object via exit " + $string_utils:nn(caller)) + " owned by ") + tostr(`$string_utils:nn(caller.owner) ! ANY')) + " : ") + toliteral(callers())); 4 return E_PERM; 5endif 6cp = (caller_perms() in (rpg = $local.rpg).probation) ? $no_one | caller_perms(); 7{dest} = args; 8if (valid(dest) || (cp in rpg.gms)) 9elseif (caller != this) 10 for t in (callers()) 11 if (index(t[2], "eject") && t[3].wizard) 12 rpg.vacuum:back_in_play(this); 13 endif 14 endfor 15endif 16doll = rpg:get_doll(place = this.location); 17if (((valid(doll) && valid(dest)) && (dest.location == place)) && (!(dest.owner in rpg.gms))) 18 return 0; 19endif 20if (cp in rpg.gms) 21 pass(dest); 22elseif ((((caller == place) || ((caller == this) && (caller_perms() == place))) && valid(dest)) && ((dest in {place.location, place}) || (dest.location == place))) 23 pass(dest); 24elseif (cp.wizard) 25 (callers()[1][2] == "eject") || rpg:log_error((((("Wizard-permed move via " + $string_utils:nn(caller)) + " owned by ") + tostr(`$string_utils:nn(caller.owner) ! ANY')) + " : ") + toliteral(callers())); 26 pass(dest); 27else 28 return 0; 29endif 30return 0;