generic RPG player #100

Parent #154Owner #361Flags readSource hellcore/hellcore.db

Aliases: generic RPG player

28 verbs · 95 properties · 1 children

Verbs

VerbSpecFlagsDefinerLines
sc*ore sk*ills ss*tatsany none nonerxd#10025
dname_disabledthis none thisrxd#1004
time date temp*eraturenone none nonerxd#10043
help phelp h ?any none nonerxd#10037
stopany none nonerxd#10096
st*atusany none nonerxd#10019
huntany none nonerxd#10010
stopany none nonerd#1000
forbid_actionthis none thisrxd#10017
beg_disabledthis none thisrxd#10011
tell_appraisethis none thisrxd#1008
respawnthis none thisrxd#10014
xp_improve_penaltythis none thisrxd#10013
_milkthis none thisrxd#1004
ro*se @rosenone none nonerxd#1001
tell_karmathis none thisrxd#1009
karmaany none nonerxd#10010
fac*tions rep*utationnone none nonerxd#1002
karma_genderthis none thisrxd#1008
birthdayany none nonerxd#10013
set_quest_datathis none thisrxd#1003
get_quest_datathis none thisrxd#1003
reset_quest_data clear_quest_datathis none thisrxd#1003
set_quest_flagthis none thisrxd#1003
get_quest_flagthis none thisrxd#1003
clear_quest_flag reset_quest_flagthis none thisrxd#1003
can_see_in_darkthis none thisrxd#1001
change_karmathis none thisrxd#1002

Properties

PropertyDefinerFlagsOwnerValue
skillpoints#100rc#3610
xp#100rc#3610
mutations#100rc#361{}
mutation_slots#100rc#3611
char_start_age#100rc#36118
char_extra_age#100rc#3610
hands#107rc#361<clear>
wielding#107rc#361<clear>
health#107rc#361<clear>
unarmed_weapon#107rc#361<clear>
size#107rc#361<clear>
posture#107rc#361<clear>
gender#107rc#361<clear>
respawn#107rc#361#2800
corpse#107rc#361#92750
has_proper_name#107rc#3611
die_msg#107rc#361<clear>
body_parts#107rc#361<clear>
wearing#107rc#361<clear>
armor#107rc#361{{#308, 50, 100}}
last_swing_message#107rc#361<clear>
health_max#107rc#361<clear>
fighting#107rc#361{}
last_dodge_time#107rc#361<clear>
following#107rc#361<clear>
icon#107rc#361<clear>
say_msg#107rc#361<clear>
say_to_msg#107rc#361<clear>
afterlife#107rc#361<clear>
get_msg#107rc#361<clear>
drop_msg#107rc#361<clear>
blood#107rc#361<clear>
squeals#107rc#361<clear>
prc#107rc#361<clear>
ppc#107rc#361<clear>
poc#107rc#361<clear>
psc#107rc#361<clear>
pr#107rc#361<clear>
pp#107rc#361<clear>
po#107rc#361<clear>
ps#107rc#361<clear>
pq#107rc#361<clear>
pqc#107rc#361<clear>
brief#107rc#361<clear>
knockout#107rc#361<clear>
knockout_msg#107rc#361<clear>
body#107rc#361<clear>
wake_msg#107rc#361<clear>
owake_msg#107rc#361<clear>
oknockout_msg#107rc#361<clear>
friends#107rc#361<clear>
home#107rc#361<clear>
respawn_msg#107rc#361<clear>
move_action#107rc#361<clear>
heart#107rc#361<clear>
last_heartbeat#107rc#361<clear>
dead#107rc#361<clear>
_tohit_next#107rc#361<clear>
last_words_msg#107rc#361<clear>
attacked#107rc#361<clear>
opens_doors#107rc#361<clear>
movable_by_explosion#107rc#361<clear>
obscured#107rc#361<clear>
obscured_desc_msg#107rc#361<clear>
cooldowns#107rc#361<clear>
combat_rounds#107rc#361<clear>
encumbrance#107rc#361{0, 0}
respawn_handler#107rc#361<clear>
distant_form_msg#107rc#361<clear>
block_msg#107rc#361<clear>
attack_on_block#107rc#361<clear>
last_stunned#107rc#361<clear>
nude_descs#107rc#361<clear>
skills#107rc#361<clear>
explode_msg#107rc#361<clear>
death_listeners#107rc#361<clear>
queue#92r#361<clear>
preemptible#92r#361<clear>
executing#92r#361<clear>
process_queue#92r#361<clear>
help_msg#92rc#361<clear>
last_action#92r#361<clear>
article#92rc#361<clear>
last_last_action#92rc#361<clear>
action_count#92rc#361<clear>
aliases#1r#362{"generic RPG player"}
description#1rc#361<clear>
object_size#1r#29{31646, 1298433815}
hidden_verbs#1rc#361
list of 18{"@possess", "@setup", "fuck", "suck", "facefuck", "assfuck", "titfuck", "dress", "yiff", "rescue", "feed", "torture", "grab", "@brainscan", "@setstat", "@setskill", "heimlich", "scam"}
phelp_msg#1rc#361<clear>
weight#1rc#361<clear>
owner_verbs#1rc#361<clear>
plural_name#1rc#361<clear>
client_image#1rc#361<clear>
listening#1rc#361<clear>

Ancestry

Ancestors (nearest first): #154 generic living creature#107 generic creature#92 generic actor#1 root

Children: #6 generic player

Call graph

calls n100_0 #100:sc*ore n20_20 #20:match_player n100_0->n20_20 n107_43 #107:tell n100_0->n107_43 n20_59 #20:name_and_number n100_0->n20_59 n44_0 #44:match n100_0->n44_0 n45_23 #45:leaves n100_0->n45_23 n107_19 #107:show_score_full n100_0->n107_19 n100_1 #100:dname_disabled n1_30 #1:name n100_1->n1_30 n100_2 #100:time n100_2->n107_43 n1_33 #1:area n100_2->n1_33 n107_137 #107:felt_temperature n100_2->n107_137 n112_3 #112:day_segment n100_2->n112_3 n1_53 #1:region n100_2->n1_53 n227_4 #227:lagstr n100_2->n227_4 n112_1 #112:ctime n100_2->n112_1 n112_9 #112:holiday_today n100_2->n112_9 n100_3 #100:help n100_3->n107_43 n100_3->n44_0 n120_0 #120:tell_index n100_3->n120_0 n120_1 #120:tell_topic n100_3->n120_1 n120_2 #120:match_topic n100_3->n120_2 n120_7 #120:tell_skill n100_3->n120_7 n24_0 #24:find_topics n100_3->n24_0 n1_11 #1:tell_lines n100_3->n1_11 n24_1 #24:get_topic n100_3->n24_1 n120_3 #120:tell_object_help n100_3->n120_3 n20_103 #20:properties_like n100_3->n20_103 n6_9 #6:notify n100_3->n6_9 n20_6 #20:english_list n100_3->n20_6 n6_169 #6:dnamec n100_3->n6_169 n100_4 #100:stop n100_4->n107_43 n100_4->n6_169 n92_11 #92:is_doing n100_4->n92_11 n92_6 #92:clear_queue n100_4->n92_6 n1_66 #1:announce_action_text n100_4->n1_66 n107_62 #107:stop_fighting n100_4->n107_62 n92_7 #92:cancel_current_action n100_4->n92_7 n92_8 #92:jumpstart n100_4->n92_8 n100_5 #100:st*atus n100_5->n20_20 n100_5->n107_43 n100_5->n20_59 n45_2 #45:has_verb n100_5->n45_2 n107_46 #107:show_status n100_5->n107_46 n100_6 #100:hunt n100_6->n107_43 n100_8 #100:forbid_action n100_8->n92_11 n100_8->n92_7 n107_27 #107:start_fighting n100_8->n107_27 n100_9 #100:beg_disabled n100_9->n107_43 n92_2 #92:queue_action n100_9->n92_2 n100_10 #100:tell_appraise n100_10->n107_43 n107_9 #107:dname n100_10->n107_9 n20_34 #20:pronoun_sub n100_10->n20_34

Showing 48 of 60 verbs; 12 not shown.

Source

sc*ore sk*ills ss*tats

Spec any none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (dobjstr && player.programmer)
2if (!valid(dobj))
3dobj = $su:match_player(dobjstr);
4if (!valid(dobj))
5player:tell(verb + " who?");
6return;
7endif
8endif
9if (!is_a(dobj, $creature))
10player:tell(verb + " who?");
11return;
12endif
13player:tell("Showing sheet for ", $su:nn(dobj), ":");
14dobj:show_score_full(#-1, verb);
15elseif (dobjstr)
16if (valid(oneskill = $mu:match(dobjstr, $ou:leaves($skill))))
17this:show_score_full(oneskill);
18elseif (dobjstr == "ip")
19this:ip_daily();
20else
21player:tell("No such skill '", dobjstr, "'.");
22endif
23else
24this:show_score_full(#-1, verb);
25endif

dname_disabled

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (!this.code_name)
2return this:name();
3endif
4return pass(@args);

time date temp*erature

Spec none none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (this:area() == #1436)
2if (#1436.phase == 4)
3felt = 98;
4else
5felt = this:felt_temperature();
6endif
7cfelt = ((felt - 32) * 5) / 9;
8temp = ((("Feels like " + tostr(felt)) + "F (") + tostr(cfelt)) + "C).";
9player:tell("Today is ", $ansi.bold_on, "Friday, July 7, 2051", $ansi.reset, ". It is ", $time.day_segments[$time:day_segment()], ". ", temp);
10return;
11endif
12if ((!this.programmer) && (this:region() == #144869))
13player:tell("Time?  You're not sure what that means here...");
14return;
15endif
16t = `this.location:temperature() ! ANY => ""';
17if (t)
18ctemp = ((t - 32) * 5) / 9;
19temp = ((("  Temp " + tostr(t)) + "F (") + tostr(ctemp)) + "C).";
20else
21temp = "";
22endif
23felt = this:felt_temperature();
24if (felt != t)
25cfelt = ((felt - 32) * 5) / 9;
26temp = ((((temp + " Feels like ") + tostr(felt)) + "F (") + tostr(cfelt)) + "C).";
27endif
28lag = $flywheel:lagstr();
29if (lag != (($ansi.green + "0.000s") + $ansi.reset))
30lag = tostr("[ Lag: ", $flywheel:lagstr(), "]");
31else
32lag = "";
33endif
34player:tell("You check your wristpad: ", $ansi.bold_on, $time:ctime(), $ansi.bold_off, ".  It is ", $time.day_segments[$time:day_segment()], ".", temp, " ", lag);
35if (valid(hol = $time:holiday_today()))
36player:tell("Oh hey -- it's ", hol.name, ".  ", hol.description);
37endif
38return;
39birthday = $time:ctime(player.first_connect_time);
40birthday = birthday[5..10];
41if (birthday == $time:ctime()[5..10])
42player:tell("It's your birthday!");
43endif

help phelp h ?

Spec any none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (dobjstr == "help help")
2player:tell("Kill yourself immediately.");
3return;
4endif
5player:tell("");
6spaced = strsub(argstr, " ", "_");
7if (dobjstr == "index")
8$phelp:tell_index();
9elseif (!dobjstr)
10"if (player:area() in $rpg.chargen_areas)";
11"  $phelp:tell_topic(\"chargen\");";
12if (player.xp_total < 1000)
13$phelp:tell_topic("newbie");
14else
15$phelp:tell_index();
16endif
17elseif (topic = $phelp:match_topic(spaced))
18$phelp:tell_topic(topic);
19elseif (`valid($skills.(dobjstr)) ! ANY => 0')
20$phelp:tell_skill(dobjstr);
21elseif (topics = $mail_help:find_topics(dobjstr))
22player:tell_lines($mail_help:get_topic(topics[1]));
23elseif (valid(dobj = $mu:match(dobjstr, player.contents)))
24$phelp:tell_object_help(dobj);
25elseif (valid(dobj = $mu:match(dobjstr, player.location.contents)))
26$phelp:tell_object_help(dobj);
27else
28similars = `$su:properties_like($phelp, dobjstr) ! E_RANGE => {}';
29player:notify(("No help is available on '" + dobjstr) + "'.  Try 'help' by itself for a help index.");
30if (similars)
31player:tell(" Did you mean: ", $ansi.cyan, $ansi.bold_on, $su:english_list(similars, "", " or "), $ansi.reset, "?");
32endif
33player:tell("For help with specific items, make sure you're nearby the item (or holding it). You can also try ", $ansi.bold_on, "examine <item>", $ansi.bold_off, ".");
34$nets.helpfilenet:announce(player, tostr(player:dnamec(), " wanted to read help on '", dobjstr, "'.", similars ? " Similar: " + $su:english_list(similars) | ""), 1);
35return;
36endif
37"$nets.helpfilenet:announce(player, ((player:dnamec() + \" read help on '\") + dobjstr) + \"'.\", 1);";

stop

Spec any none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1pvp = #-1;
2restraining = this:is_restraining();
3for x in (this.fighting)
4if (is_player(x) && (x.location == this.location))
5pvp = x;
6endif
7endfor
8if (!dobjstr)
9if (this:is_doing($actions.move))
10dobjstr = "moving";
11elseif (this:is_doing(#1858))
12dobjstr = "aiming";
13elseif (restraining = this:is_restraining())
14dobjstr = "holding";
15elseif ((this.queue || this.executing) && (!(this.fighting && this:is_doing($actions.attack))))
16dobjstr = "acting";
17elseif (valid(pvp) || this.fighting)
18dobjstr = "fighting";
19elseif (valid(this.following))
20dobjstr = "following";
21elseif (this.hunting)
22dobjstr = "hunting";
23endif
24if (!dobjstr)
25player:tell("You aren't doing anything you can stop. (Things you could stop: moving, aiming, acting, restraining, following, fighting, hunting.)");
26return;
27endif
28endif
29if (dobjstr in {"moving", "move", "walking", "walk"})
30if ((this.executing && (this.executing[1] == $actions.move)) || (((!this.executing) && this.queue) && (this.queue[1][1] == $actions.move)))
31this:clear_queue();
32player:tell("You stop walking the path you'd planned.");
33else
34player:tell("You aren't going anywhere.");
35endif
36elseif (dobjstr in {"fighting", "fight", "combat", "kill", "shoot"})
37target = player.fighting ? player.fighting[1] | #-1;
38if (valid(pvp))
39player:tell("You stop fighting ", pvp:dname(), ".");
40player:aat(player:dnamec(), " backs away from ", pvp:dname(), ", hands raised.");
41player:stop_fighting(pvp);
42return;
43elseif (is_a(target, $creature) && ((!target.fighting) || (target.fighting[1] != player)))
44player:tell("You back off from ", target:dname(), ".");
45player:stop_fighting(target);
46return;
47elseif (!player.fighting)
48player:tell("I don't think you're fighting anyone right now, champ.");
49return;
50else
51player:tell("You can't stop fighting!  It's to the death now, my friend.");
52return;
53endif
54elseif (dobjstr in {"aim", "aiming"})
55if ((!this.executing) || (this.executing[1] != #1858))
56player:tell("You aren't aiming at anyone.");
57else
58this:cancel_current_action();
59endif
60elseif (dobjstr in {"acting", "queue"})
61if (this.executing && `this.executing[1]:unstoppable(this) ! E_VERBNF => 0')
62player:tell("You can't stop anything right now, buddy.");
63return;
64endif
65f = this.fighting;
66this:cancel_current_action();
67this:clear_queue();
68this.fighting = f;
69if (f)
70this:jumpstart();
71endif
72elseif (dobjstr in {"holding", "hold", "restrain", "restraining"})
73if (restraining)
74restraining[1]:cancel_current_action();
75restraining[1]:clear_queue();
76else
77player:tell("You aren't restraining anyone.");
78endif
79elseif (dobjstr in {"follow", "f", "following"})
80if (is_a(this.following, #1))
81player:tell("You stop following ", this.following:dname(), ".");
82this.following = #-1;
83else
84player:tell("You aren't following anyone.");
85this.following = #-1;
86endif
87elseif (dobjstr in {"hunting", "h", "hunt"})
88if (this.hunting)
89player:tell("You stop hunting '", this.hunting, "'.");
90this.hunting = "";
91else
92player:tell("You aren't hunting anything.");
93endif
94else
95player:tell("Stop what?");
96endif

st*atus

Spec any none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (dobjstr && player.programmer)
2if (!valid(dobj))
3dobj = $su:match_player(dobjstr);
4if (!valid(dobj))
5player:tell("Rape who?");
6return;
7endif
8endif
9if (!$ou:has_verb(dobj, "show_status"))
10player:tell($su:nn(dobj) + " does not have a show_status verb.");
11return;
12endif
13player:tell("Showing sheet for ", $su:nn(dobj), ":");
14dobj:show_status();
15elseif (dobjstr)
16player:tell("I don't understand that.");
17else
18this:show_status();
19endif

hunt

Spec any none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (dobjstr)
2if (this.hunting)
3player:tell("You stop hunting for '", this.hunting, "' and start hunting for '", dobjstr, "'.");
4else
5player:tell("You start hunting for '", dobjstr, "'.");
6endif
7this.hunting = dobjstr;
8else
9player:tell("You're hunting for '", this.hunting, "'. (type 'stop hunting' to give up.)");
10endif

stop

Spec any none noneFlags rdOwner #362Definer #100

Referenced by

none

Source

No program (verb defined but unprogrammed).

forbid_action

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (((!this.executing) || (length(this.executing) < 2)) || (length(this.executing[2]) < 1))
2return;
3endif
4if (this:is_doing($actions.aim, args[1]))
5if (((length(args[3]) > 3) && args[3][4]) && (args[2] == #1858))
6"incoming johnwoo reply, ignore...";
7elseif (args[2] in $actions.aim.hostile_actions)
8if (((args[2] == $actions.verb) && (!(args[3][2] in {"_get", "_wield", "_use"}))) || (args[1] == this))
9return 0;
10endif
11args[1]:aat(args[1]:dname(), " makes a move...");
12args[1]:_pvp_record({this}, "aimed");
13$actions.aim:blam(this, args[1], this.executing[2][3]);
14this:cancel_current_action();
15this:start_fighting(args[1]);
16endif
17endif

beg_disabled

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1killers = {};
2for x in (this.location:occupants($creature))
3if (this in x.fighting)
4killers = setadd(killers, x);
5endif
6endfor
7if (!killers)
8player:tell("Nobody's attacking you.  Calm down.");
9else
10this:queue_action($actions.beg, {@killers}, 1, "beg for mercy");
11endif

tell_appraise

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1pass(@args);
2if ($skills.senses:check(this, 0) > 0)
3this:tell("You notice ", player:dname(), " sizing you up.");
4endif
5player:tell($su:ps(m, this));
6if (this.hardcore)
7player:tell(this:dnamec(), " has the hardened look of a true hardcore.");
8endif

respawn

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

Source

1if (this:is_hardcore())
2this.health = this.health_max;
3this.blood = {};
4if (valid(this.body) && $ou:isa(this.body, $corpse))
5this.body.player = #-1;
6endif
7this.body = #-1;
8this:moveto($rpg.chargen);
9return;
10endif
11clone_aging = $rpg.base_clone_aging;
12this_aging = 5 + random(2 * clone_aging);
13this.char_extra_age = this.char_extra_age + (this_aging * 86400);
14return pass(@args);

xp_improve_penalty

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1days = ((time() - this.first_connect_time) / 3600) / 24;
2xp_total = this.xp_total;
3journal = this:quest_xp();
4xp = xp_total - journal;
5if (xp < 10000)
6return 100;
7endif
8f = (50000 * days) / xp;
9f = max(40, f);
10if (xp < 15000)
11f = max(70, f);
12endif
13return min(100, f);

_milk

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if ($drugs.pregnancy:doses_for(this))
2return #204953;
3endif
4return #-1;

ro*se @rose

Spec none none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1this.location:list_exits();

tell_karma

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (this.karma < 0)
2m = $rpg.evil_msg[max(1, min(length($rpg.evil_msg), (0 - this.karma) / 20))];
3player:tell("You're ", m, ".");
4elseif (this.karma == 0)
5player:tell("You're just some ", this:karma_gender(), ".");
6else
7m = $rpg.good_msg[max(1, min(length($rpg.good_msg), this.karma / 20))];
8player:tell("You're ", m, ".");
9endif

karma

Spec any none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (argstr && (!this.programmer))
2player:Tell("I don't understand that.");
3return;
4endif
5if (argstr)
6who = $su:match_player(dobjstr);
7else
8who = this;
9endif
10who:tell_karma();

fac*tions rep*utation

Spec none none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1this:tell_standings();
2this:tell_wanted();

karma_gender

Spec this none thisFlags rxdOwner #29Definer #100

Referenced by

Source

1"Copied from Ammut (#365733):karma_gender Fri Jun  5 21:31:16 2009 CDT";
2if (this.gender == "male")
3return "guy";
4elseif (this.gender == "female")
5return "chick";
6else
7return "...thing";
8endif

birthday

Spec any none noneFlags rxdOwner #361Definer #100

Referenced by

none

Source

1if (dobjstr)
2if (!valid(who = $su:match_player(dobjstr)))
3who = this;
4endif
5else
6who = this;
7endif
8"birthday = $time:ctime(who.first_connect_time);";
9"birthyear = toint(birthday[21..24]);";
10"birthday = birthday[5..10];";
11"birthyear = birthyear - 13;";
12birthday = $time:ctime($time:time(who.first_connect_time));
13this:tell((who == this) ? "Your" | (who.name + "'s"), " birthday is ", birthday[5..10], ", ", tostr(toint(birthday[21..24]) - 13), ".");

set_quest_data

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1":set_quest_data(key, value) => Set a quest data value.";
2{key, value} = args;
3return $quest_data:set_data_for(this, key, value);

get_quest_data

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1":get_quest_data(key[, default = 0]) => Get a quest data value.";
2{key, ?default = 0} = args;
3return $quest_data:get_data_for(this, key, default);

reset_quest_data clear_quest_data

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1":reset_quest_data(key) => Reset a quest data value.";
2{key} = args;
3return $quest_data:reset_data_for(this, key);

set_quest_flag

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1":set_quest_flag(key[, value = 1]) => Set a quest flag value.";
2{key, ?value = 1} = args;
3return $quest_data:set_flag_for(this, key, value);

get_quest_flag

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1":get_quest_flag(key[, default = 0]) => Get a quest flag value.";
2{key, ?default = 0} = args;
3return $quest_data:get_flag_for(this, key, default);

clear_quest_flag reset_quest_flag

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1":reset_quest_flag(key) => Reset a quest flag value.";
2{key} = args;
3return $quest_data:reset_flag_for(this, key);

can_see_in_dark

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

Source

1return pass(@args);

change_karma

Spec this none thisFlags rxdOwner #361Definer #100

Referenced by

none

Source

1change = toint(args[1]);
2this.karma = this.karma + change;