[bold][cyan]Character Generator[normal] #178

Parent #141Owner #2Flags Source QuestCore.db

Aliases: [bold][cyan]Character Generator[normal]

14 verbs · 77 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
look_selfthis none thisrxd#1781
enterfuncthis none thisrxd#1789
select_racethis none thisrxd#17882
@r*acenone none nonerxd#1781
rollnone none nonerxd#1781
racenone none nonerxd#1781
orgnone none nonerxd#1781
factsnone none nonerxd#1781
setnone none nonerxd#1781
display_statsthis none thisrxd#1789
select_genderthis none thisrxd#17814
descriptionthis none thisrxd#17839
confuncthis none thisrxd#17812
select_classthis none thisrxd#17821

Properties

PropertyDefinerFlagsOwnerValue
instructions#178rc#2{}
race_chart#178rc#2
list of 15{"[underline]RACES[normal]", "", "Starting Statistic Adjustments", "", "[underline]Race STR DEX INT HEA[normal]", "Human... | n/a n/a n/a n/a*", "Elf..... | -1.0 +2.0 n/a -1.0", "Gnome... | -2.0 +3.0 +1.0 -1.0", "Dwarf... | +2.0 -1.5 n/a +1.0", "Orc..... | +3.0 n/a -3.0 +1.0", "Sprite.. | -3.0 +5.0 +1.0 -2.0", "", "* Humans begin with 2 more Advancement Points", " than the other races rather than adjustments", " to statistics."}
races#178rc#2{}
class_info#178rc#2
list of 7{"[underline]CLASSES[normal]", "", "[underline]Class Description[normal]", "Warrior..... | Begins with 3.0 Combat", "Blue Mage... | Can cast: Knowledge, Heal, Enchantment, Sleep, Power, Speed, Escape, Pacifism", "Red Mage.... | Can cast: Knowledge, Enchantment, Sleep, Fear, Power, Speed, Magic Missile, Death", "Alchemist... | Can convert items to gold or bonus points"}
build_help_random#141rc#2<clear>
build_help_choice#141rc#2<clear>
type#141rc#2<clear>
org#141rc#2<clear>
stat_keys#141rc#2{1, 1, 1, 1}
races_random#141rc#2
list of 6{{"Human", {0.0, 0.0, 0.0, 0.0}, {{#142}, {2.0}}, 3}, {"Elf", {-1.0, 2.0, 0.0, -1.0}, {{#142}, {2.0}}, 3}, {"Gnome", {-2.0, 3.0, 1.0, -1.0}, {{#142}, {2.0}}, 3}, {"Dwarf", {2.0, -1.5, 0.0, 1.0}, {{#142}, {2.0}}, 3}, {"Orc", {3.0, 0.0, -3.0, 1.0}, {{#142}, {2.0}}, 3}, {"Sprite", {-3.0, 5.0, 1.0, -2.0}, {{#142}, {2.0}}, 3}}
org_facts#141rc#2<clear>
races_choice#141rc#2<clear>
orgs#141rc#2<clear>
instructions_random#141rc#2<clear>
instructions_choice#141rc#2<clear>
clear_all_skills#141rc#20
virtual_exit_task#118r#21787415029
defaulting_exit_oleave_msg#118rc#2<clear>
blessed_entrances#118rc#2<clear>
virtual_exits#118rc#2{{{"out", "o", "exit"}, #62, 0}}
give_short_alias#118rc#2<clear>
virtual_exit_to_use#118r#2{}
lit_from_outside#118rc#2<clear>
bot_locked#104rc#2<clear>
fakes#104r#36<clear>
retail#104rc#2<clear>
seat#104r#36<clear>
pool#104r#36<clear>
seat_desc#104r#36<clear>
pool_desc#104r#36<clear>
sit_phrase#104rc#2<clear>
stand_phrase#104rc#2<clear>
swim_phrase#104rc#2<clear>
dry_phrase#104rc#2<clear>
push_phrase#104rc#2<clear>
seat_aliai#104r#36<clear>
pool_aliai#104r#36<clear>
seat_contents#104r#36<clear>
pool_contents#104r#36<clear>
seat_max#104r#36<clear>
pool_max#104r#36<clear>
details#104rc#2<clear>
temp_detail_index#104rc#2<clear>
temp_detail_desc#104rc#2<clear>
outdoors#104r#36<clear>
attack_queue#104r#2<clear>
battle_on#104r#2<clear>
stop_msg#104rc#2<clear>
remove_msg#104rc#2<clear>
dump_msg#104rc#2<clear>
dump_loc#104rc#2#62
sanctuary#104rc#21
ansi_title#104r#36<clear>
dark_desc#104rc#2<clear>
title_style#104rc#2<clear>
build_help#104rc#2<clear>
battle_task#104r#2<clear>
dig_level#104rc#2<clear>
holes#104r#2<clear>
help_msg#104rc#2<clear>
who_location_msg#3rc#2<clear>
free_home#3rc#2<clear>
victim_ejection_msg#3rc#2<clear>
ejection_msg#3rc#2<clear>
oejection_msg#3rc#2<clear>
residents#3rc#2<clear>
free_entry#3rc#2<clear>
entrances#3c#2<clear>
blessed_object#3rc#2<clear>
blessed_task#3rc#2<clear>
exits#3c#2{}
dark#3rc#2<clear>
ctype#3rc#2<clear>
key#1c#20
aliases#1rc#2{"[bold][cyan]Character Generator[normal]"}
description#1rc#2{}
object_size#1r#36{0, 0}

Ancestry

Ancestors (nearest first): #141 Character Generator#118 virtual exit room#104 RPG room#3 generic room#1 Root Class

Children: none

Call graph

calls n178_1 #178:enterfunc n6_18 #6:tell n178_1->n6_18 n178_11 #178:description n178_1->n178_11 n178_11->n6_18 n178_2 #178:select_race n178_11->n178_2 n178_9 #178:display_stats n178_11->n178_9 n178_10 #178:select_gender n178_11->n178_10 n178_13 #178:select_class n178_11->n178_13 n178_2->n6_18 n178_2->n178_2 n6_79 #6:tell_lines n178_2->n6_79 n178_3 #178:@r*ace n178_3->n178_2 n178_4 #178:roll n56_11 #56:do_huh n178_4->n56_11 n178_5 #178:race n178_5->n56_11 n178_6 #178:org n178_6->n56_11 n178_7 #178:facts n178_7->n56_11 n178_8 #178:set n178_8->n56_11 n178_9->n6_18 n178_10->n6_18 n178_10->n178_10 n178_13->n6_18 n178_13->n6_79 n178_13->n178_13 n178_12 #178:confunc n178_12->n6_18 n178_12->n178_11 n42_0 #42:controls n178_12->n42_0

Source

look_self

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

none

Source

1

enterfunc

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

none

Source

1if ((((player.stats[2] != {10.0, 10.0, 10.0, 10.0}) || (player.stats_current[2] != {10.0, 10.0, 10.0, 10.0})) || (player.race != "human")) || (player.adv_points > 0))
2player.stats[2] = {10.0, 10.0, 10.0, 10.0};
3player.stats_current[2] = {10.0, 10.0, 10.0, 10.0};
4player.skills[2][1] = 0.0;
5player.race = "human";
6player.adv_points = 0;
7player:tell("Character stats and race have been reset.");
8endif
9this:description();

select_race

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

Source

1suspend(2);
2player:tell();
3player:tell_lines(this.race_chart);
4player:tell();
5player:tell("Choose a race: ");
6r = player:request_line();
7if (r == "human")
8player:tell("You have selected Human as your race.");
9player:tell("Humans do not receive statistic adjustments, but begin with an extra 2 Advancement Points.");
10player.race = "Human";
11player.adv_points = 6;
12elseif (r == "elf")
13player:tell("You have selected Elf as your race.");
14player:tell("Your statistics have been adjusted accordingly.");
15player.stats[2][1] = player.stats[2][1] - 1.0;
16player.stats[2][2] = player.stats[2][2] + 2.0;
17player.stats[2][3] = player.stats[2][3] + 0.0;
18player.stats[2][4] = player.stats[2][4] - 1.0;
19player.stats_current[2][1] = player.stats_current[2][1] - 1.0;
20player.stats_current[2][2] = player.stats_current[2][2] + 2.0;
21player.stats_current[2][3] = player.stats_current[2][3] + 0.0;
22player.stats_current[2][4] = player.stats_current[2][4] - 1.0;
23player.race = "Elf";
24player.adv_points = 4;
25elseif (r == "gnome")
26player:tell("You have selected Gnome as your race.");
27player:tell("Your statistics have been adjusted accordingly.");
28player.stats[2][1] = player.stats[2][1] - 2.0;
29player.stats[2][2] = player.stats[2][2] + 3.0;
30player.stats[2][3] = player.stats[2][3] + 1.0;
31player.stats[2][4] = player.stats[2][4] - 1.0;
32player.stats_current[2][1] = player.stats_current[2][1] - 2.0;
33player.stats_current[2][2] = player.stats_current[2][2] + 3.0;
34player.stats_current[2][3] = player.stats_current[2][3] + 1.0;
35player.stats_current[2][4] = player.stats_current[2][4] - 1.0;
36player.race = "Gnome";
37player.adv_points = 4;
38elseif (r == "dwarf")
39player:tell("You have selected Dwarf as your race.");
40player:tell("Your statistics have been adjusted accordingly.");
41player.stats[2][1] = player.stats[2][1] + 2.0;
42player.stats[2][2] = player.stats[2][2] - 1.5;
43player.stats[2][3] = player.stats[2][3] + 0.0;
44player.stats[2][4] = player.stats[2][4] + 1.0;
45player.stats_current[2][1] = player.stats_current[2][1] + 2.0;
46player.stats_current[2][2] = player.stats_current[2][2] - 1.5;
47player.stats_current[2][3] = player.stats_current[2][3] + 0.0;
48player.stats_current[2][4] = player.stats_current[2][4] + 1.0;
49player.race = "Dwarf";
50player.adv_points = 4;
51elseif (r == "orc")
52player:tell("You have selected Orc as your race.");
53player:tell("Your statistics have been adjusted accordingly.");
54player.stats[2][1] = player.stats[2][1] + 3.0;
55player.stats[2][2] = player.stats[2][2] - 1.5;
56player.stats[2][3] = player.stats[2][3] - 3.0;
57player.stats[2][4] = player.stats[2][4] + 1.0;
58player.stats_current[2][1] = player.stats_current[2][1] + 3.0;
59player.stats_current[2][2] = player.stats_current[2][2] - 1.5;
60player.stats_current[2][3] = player.stats_current[2][3] - 3.0;
61player.stats_current[2][4] = player.stats_current[2][4] + 1.0;
62player.race = "Orc";
63player.adv_points = 4;
64elseif (r == "sprite")
65player:tell("You have selected Sprite as your race.");
66player:tell("Your statistics have been adjusted accordingly.");
67player.stats[2][1] = player.stats[2][1] - 3.0;
68player.stats[2][2] = player.stats[2][2] + 5.0;
69player.stats[2][3] = player.stats[2][3] + 1.0;
70player.stats[2][4] = player.stats[2][4] - 2.0;
71player.stats_current[2][1] = player.stats_current[2][1] - 3.0;
72player.stats_current[2][2] = player.stats_current[2][2] + 5.0;
73player.stats_current[2][3] = player.stats_current[2][3] + 1.0;
74player.stats_current[2][4] = player.stats_current[2][4] - 2.0;
75player.race = "Sprite";
76player.adv_points = 4;
77else
78player:tell("Invalid selection. You must enter one of the following:");
79player:tell("human, elf, gnome, dwarf, orc, sprite");
80player:tell();
81this:select_race();
82endif

@r*ace

Spec none none noneFlags rxdOwner #2Definer #178

Referenced by

none

Source

1this:select_race();

roll

Spec none none noneFlags rxdOwner #2Definer #178

Referenced by

none

Source

1$command_utils:do_huh();

race

Spec none none noneFlags rxdOwner #2Definer #178

Referenced by

none

Source

1$command_utils:do_huh();

org

Spec none none noneFlags rxdOwner #2Definer #178

Referenced by

none

Source

1$command_utils:do_huh();

facts

Spec none none noneFlags rxdOwner #2Definer #178

Referenced by

none

Source

1$command_utils:do_huh();

set

Spec none none noneFlags rxdOwner #2Definer #178

Referenced by

none

Source

1$command_utils:do_huh();

display_stats

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

Source

1player:tell();
2player:tell("[underline]STATISTICS[normal]");
3player:tell();
4player:tell("Strength......", floatstr(player.stats[2][1], 2));
5player:tell("Dexterity.....", floatstr(player.stats[2][2], 2));
6player:tell("Intelligence..", floatstr(player.stats[2][3], 2));
7player:tell("Health........", floatstr(player.stats[2][4], 2));
8player:tell("Combat........", floatstr(player.skills[2][1], 2));
9player:tell();

select_gender

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

Source

1player:tell("Male or Female?");
2g = player:request_line();
3if ((g == "m") || (g == "male"))
4force_input(player, "@gender male");
5suspend(2);
6elseif ((g == "f") || (g == "female"))
7force_input(player, "@gender female");
8suspend(2);
9else
10player:tell("Invalid selection. You must enter one of the following:");
11player:tell("male, female, m, f");
12suspend(1);
13this:select_gender();
14endif

description

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

Source

1player:tell();
2player:tell("[bold][cyan]+[blue]---------------------[cyan]+[normal]");
3player:tell("[bold][blue]| [cyan]CHARACTER GENERATOR [blue]|[normal]");
4player:tell("[bold][cyan]+[blue]---------------------[cyan]+[normal]");
5player:tell();
6this:select_gender();
7this:select_race();
8this:select_class();
9this:display_stats();
10player:tell();
11player:tell("Name: ", player.name, " (", player.gender, ")");
12player:tell("Race: ", player.race, " / Class: ", player.class);
13player:tell();
14player:tell("You will begin with [bold][red]", tostr(player.adv_points), "[normal] Advancement Points.");
15player:tell();
16player:tell("Use the @advance <stat> (@adv <stat>) command to advance any of your stats by one point.");
17player:tell();
18player:tell("<stat> may be strength, dexterity, intelligence, health or combat.");
19player:tell();
20player:tell("Abbreviations str, dex, int, hea, or com are also acceptable.");
21player:tell();
22player:tell("Type 'help @advance' within the game for more information.");
23player:tell();
24if ((player.class == "Blue Mage") || (player.class == "Red Mage"))
25player:tell("You have chosen ", player.class, " as your class. [bold]Type 'help mages' to learn more.[normal]");
26player:tell();
27elseif (player.class == "Alchemist")
28player:tell("You have chosen Alchemist as your class. [bold]Type 'help alchemist' to learn more.[normal]");
29player:tell();
30elseif (player.class == "Warrior")
31player:tell("You have chosen Warrior as your class. Warriors begin the game with a Combat ability of 3.0 (rather than 0.0),");
32player:tell("giving them the advantage in combat even at low level.");
33player:tell();
34endif
35suspend(1);
36player:tell("[bold][white]Press [ENTER] to begin playing ", $network.MOO_name, ".[normal]");
37player:request_line();
38suspend(1);
39move(player, $player_start);

confunc

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

none

Source

1if ((((cp = caller_perms()) == player) || $perm_utils:controls(cp, player)) || (caller == this))
2"Need the first check because guests don't control themselves";
3if ((((player.stats[2] != {10.0, 10.0, 10.0, 10.0}) || (player.stats_current[2] != {10.0, 10.0, 10.0, 10.0})) || (player.race != "human")) || (player.adv_points > 0))
4player.stats[2] = {10.0, 10.0, 10.0, 10.0};
5player.stats_current[2] = {10.0, 10.0, 10.0, 10.0};
6player.skills[2][1] = 0.0;
7player.race = "human";
8player.adv_points = 0;
9player:tell("Character stats and race have been reset.");
10endif
11this:description();
12endif

select_class

Spec this none thisFlags rxdOwner #2Definer #178

Referenced by

Source

1suspend(2);
2player:tell();
3player:tell_lines(this.class_info);
4player:tell();
5player:tell("Choose a class: ");
6c = player:request_line();
7if (c == "warrior")
8player.class = "Warrior";
9player.skills[2][1] = 3.0;
10elseif (c == "blue mage")
11player.class = "Blue Mage";
12elseif (c == "red mage")
13player.class = "Red Mage";
14elseif (c == "alchemist")
15player.class = "Alchemist";
16else
17player:tell("Invalid selection. You must enter one of the following:");
18player:tell("warrior, blue mage, red mage, alchemist");
19player:tell();
20this:select_class();
21endif