summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgumi <git@gumi.ca>2018-07-28 15:03:11 -0400
committergumi <git@gumi.ca>2018-07-28 15:03:11 -0400
commitfe4176db36f94036105e841dc56e5dee85e96318 (patch)
treea81b6279368062a2361f86447fb519868f453a66
parentf3d1b092af8905a339b31255dcf9f5d59bcc519e (diff)
downloadserverdata-fe4176db36f94036105e841dc56e5dee85e96318.tar.gz
serverdata-fe4176db36f94036105e841dc56e5dee85e96318.tar.bz2
serverdata-fe4176db36f94036105e841dc56e5dee85e96318.tar.xz
serverdata-fe4176db36f94036105e841dc56e5dee85e96318.zip
reduce the clutter in confused_tree_dict, make it use relative_array_random
-rw-r--r--npc/008-1/confused-tree.txt67
-rw-r--r--npc/functions/RNGesus.txt21
-rw-r--r--npc/functions/confused-tree-dict.txt931
3 files changed, 500 insertions, 519 deletions
diff --git a/npc/008-1/confused-tree.txt b/npc/008-1/confused-tree.txt
index b7457ec3..32b5b9a5 100644
--- a/npc/008-1/confused-tree.txt
+++ b/npc/008-1/confused-tree.txt
@@ -206,10 +206,24 @@
.@sub$ = substr(.@sub$, 1, getstrlen(.@sub$) - 1); // strip first char
}
- explode(.@sub2$, .@sub$, ",");
- .@sub$ = .@sub2$[rand(getarraysize(.@sub2$))]; // allow to have multiple variables
+ if (compare(.@sub$, ",")) {
+ .@var$ = sprintf(".H%s$", substr(md5(.@sub$), 0, 25));
+
+ if (getelementofarray(getd(.@var$), 1) == "") {
+ explode(.@sub2$, .@sub$, ",");
+ .@size = 1;
+
+ for (.@i = 0; .@i < getarraysize(.@sub2$); ++.@i) {
+ .@subsize = getd(sprintf(".D_%s", .@sub2$));
+ copyarray(getelementofarray(getd(.@var$), .@size), getd(sprintf(".D_%s$[1]", .@sub2$)), .@subsize);
+ .@size += .@subsize;
+ }
+ }
+ } else {
+ .@var$ = sprintf(".D_%s$", .@sub$);
+ }
- .@rep$ = getd(sprintf(".D_%s$[%i]", .@sub$, rand(getd(".D_" + .@sub$)))); // get he value
+ .@rep$ = relative_array_random(getd(.@var$));
if (.@capitalize) .@rep$ = capitalize(.@rep$);
else if (.@titlecase) .@rep$ = titlecase(.@rep$);
@@ -335,7 +349,7 @@
}
function special_drops {
- .@drop$ = .drops$[rand(.drops)];
+ .@drop$ = relative_array_random(.drops$);
.@name$ = strcharinfo(PC_NAME);
.@low$ = strtolower(.@name$);
@@ -579,66 +593,67 @@
if (.@m$ ~= "(?:^| )tell(?: (?:me|him|her|us|them))? a(?:n ?other| lame| bad| boring)? joke")
- reply(.jokes$[rand(.jokes)]);
+ reply(relative_array_random(.jokes$));
else if (.@m$ ~= "(?:^| )heal me(?:$|[^a-z])")
- reply(.healing$[rand(.healing)]);
+ reply(relative_array_random(.healing$));
// XXX: maybe actually heal the player once in a while
else if (.@m$ ~= "(?:^| )(?:what|who) are you")
- reply(.whoami$[rand(.whoami)]);
+ reply(relative_array_random(.whoami$));
else if (.@m$ ~= rp("(?:^| )(?:hi+|hello|heya?|hiya|good (?:morning|afternoon))[^a-z]* .*~t|~t.* (?:hi+|hello|heya?|hiya)"))
{
.blocked = 0;
- reply(.greetings$[rand(.greetings)]);
+ .@rpl$ = relative_array_random(.greetings$);
+ reply(.@rpl$);
}
else if (.@o$ ~= rp("(?:^[*]| )(?:kicks?|shakes?) .*~t"))
reply(special_drops());
else if (.@o$ ~= rp("(?:^[*]| )(?:cuts?|nukes?|kills?|chops? down|saws?|hews?|murders?) .*~t"))
- reply(.kill$[rand(.kill)]);
+ reply(relative_array_random(.kill$));
else if (.@o$ ~= rp("(?:^[*]| )pokes? .*~t"))
- reply(.poke$[rand(.poke)]);
+ reply(relative_array_random(.poke$));
else if (.@o$ ~= rp("(?:^[*]| )(?:waters?|pees?|licks?) .*~t"))
- reply(.disgusting$[rand(.disgusting)]);
+ reply(relative_array_random(.disgusting$));
else if (compare(.@m$, " answer ") && .@m$ ~= "(?:life|universe|everything)(?:$|[^a-z])")
- reply(.answer$[rand(.answer)]);
+ reply(relative_array_random(.answer$));
else if (.@o$ ~= rp("(?:^[*]| )(?:burns?|incinerates?|ignites?) .*~t"))
- reply(.burning$[rand(.burning)]);
+ reply(relative_array_random(.burning$));
// XXX: maybe here send a fire particle effect
else if (.@m$ ~= rp("(?:^| )die ~t"))
- reply(.die$[rand(.die)]);
+ reply(relative_array_random(.die$));
else if (.@o$ ~= rp("(?:^[*]| )bites? .*~t|(?:^[*]| )drops? .* on ~t"))
- reply(.silly$[rand(.silly)]);
+ reply(relative_array_random(.silly$));
else if (.@m$ ~= rp("(?:^| )(?:loves?|hugs?|kiss(es)?) .*~t|~t.* love(?:$|[^a-z])"))
- reply(.love$[rand(.love)]);
+ reply(relative_array_random(.love$));
else if (.@m$ ~= rp("(?:^| )dance .*~t|~t.* dance(?:$|[^a-z])"))
- reply(.dance$[rand(.dance)]);
+ reply(relative_array_random(.dance$));
else if (.@m$ ~= rp("(?:^| )hates? .*~t"))
- reply(.hate$[rand(.hate)]);
+ reply(relative_array_random(.hate$));
else if (.@o$ ~= rp("(?:^[*]| )(?:eats?|shoots?|plucks?|tortures?|slaps?|slaps?|poisons?|breaks?|stabs?|throws?|punch(?:es)?) .*~t"))
- reply(.pain$[rand(.pain)]);
+ reply(relative_array_random(.pain$));
else if (.@o$ ~= rp("(?:^[*]| )(?:climbs?|rides?|mounts?) .*~t"))
- reply(.climb$[rand(.climb)]);
+ reply(relative_array_random(.climb$));
else if (.@m$ ~= "(?:^| )(?:see y(?:a|ou)|good night|(?:bye)?bye+)(?:$|[^a-z])")
- reply(.bye$[rand(.bye)]);
+ reply(relative_array_random(.bye$));
else if (.@m$ ~= rp("(?:^| )bad ~t"))
- reply(.bad$[rand(.bad)]);
+ reply(relative_array_random(.bad$));
else if (.@m$ ~= "(?:^| )(?:how old are you|uptime)(?:$|[^a-z])")
reply("%%B Server uptime: " + FuzzyTime(.uptime, 1) + ".");
@@ -650,7 +665,7 @@
reply("%%B ~n, version " + .version + "."); // XXX: maybe return Hercules version and serverdata commit instead
else if (.@m$ ~= "(?:^| )(?:(?:8|eight)[ -]?ball|(?:should|would|will|do|does) (?:i|you|he|she|it|we|they))(?:$|[^a-z])")
- reply(.eightball$[rand(.eightball)]);
+ reply(relative_array_random(.eightball$));
else if (.@m$ ~= "(?:^| )roll(?: a| the)? dice(?:$|[^a-z])")
reply(roll_dice(1, 6));
@@ -678,12 +693,12 @@
else if (.@m$ ~= "(?:^| )shut up(?:$|[^a-z])")
{
- reply(.shut_up$[rand(.shut_up)]);
+ reply(relative_array_random(.shut_up$));
.blocked = gettimetick(2);
}
else if (rand(.dunno_rate) == 0)
- reply(.no_idea$[rand(.no_idea)]);
+ reply(relative_array_random(.no_idea$));
else
++.ignored_times;
@@ -693,7 +708,7 @@
function trigger_hiall {
if (rand(.hiall_rate) == 0)
- reply(.greetings$[rand(.greetings)]);
+ reply(relative_array_random(.greetings$));
else
++.ignored_times;
diff --git a/npc/functions/RNGesus.txt b/npc/functions/RNGesus.txt
index a5fe54eb..7d2ff7c7 100644
--- a/npc/functions/RNGesus.txt
+++ b/npc/functions/RNGesus.txt
@@ -30,6 +30,7 @@ function script any_of {
// of [value, probability]
function script relative_array_random {
+ .@is_str = getdatatype(getarg(0)) & DATATYPE_STR;
.@total_prob = getelementofarray(getarg(0), 0);
.@initial_index = getarrayindex(getarg(0));
.@initial_index = .@initial_index ? .@initial_index : 1;
@@ -41,8 +42,13 @@ function script relative_array_random {
.@total_prob = 0;
.@size = getarraysize(getarg(0));
- for (.@i = .@initial_index + 1; .@i < .@size; .@i += 2)
- .@total_prob += getelementofarray(getarg(0), .@i);
+ for (.@i = .@initial_index + 1; .@i < .@size; .@i += 2) {
+ if (.@is_str) {
+ .@total_prob += atoi(getelementofarray(getarg(0), .@i));
+ } else {
+ .@total_prob += getelementofarray(getarg(0), .@i);
+ }
+ }
// we cache on the first key
set(getelementofarray(getarg(0), 0), .@total_prob);
@@ -50,9 +56,14 @@ function script relative_array_random {
.@target_sum = rand(.@total_prob);
- for (.@i = .@initial_index; .@sum < .@target_sum; .@i += 2)
- .@sum += getelementofarray(getarg(0), .@i + 1);
+ for (.@i = .@initial_index; .@sum < .@target_sum; .@i += 2) {
+ if (.@is_str) {
+ .@sum += atoi(getelementofarray(getarg(0), .@i + 1));
+ } else {
+ .@sum += getelementofarray(getarg(0), .@i + 1);
+ }
+ }
freeloop(false);
- return getelementofarray(getarg(0), max(0, .@i - 2));
+ return getelementofarray(getarg(0), .@i);
}
diff --git a/npc/functions/confused-tree-dict.txt b/npc/functions/confused-tree-dict.txt
index 4250ec35..138c4704 100644
--- a/npc/functions/confused-tree-dict.txt
+++ b/npc/functions/confused-tree-dict.txt
@@ -33,7 +33,7 @@ function script TREE_dictionaries {
// the substitutions are an array separated by backticks (`)
// XXX: this could become a hashtable at some point if it gets too big
- setarray getvariableofnpc(.alias$[0], .npc$),
+ setarray(getvariableofnpc(.alias$[0], .npc$),
"^veryape(?:gm)?$", "hairyape",
"^wu-?shin$", "Dwarven Princess`"
@@ -52,8 +52,8 @@ function script TREE_dictionaries {
"o'matt",
"^prsm$", "Refractor`"
- "Overlord";
- set getvariableofnpc(.alias, .npc$), getarraysize(getvariableofnpc(.alias$, .npc$));
+ "Overlord");
+ set(getvariableofnpc(.alias, .npc$), getarraysize(getvariableofnpc(.alias$, .npc$)));
@@ -62,499 +62,454 @@ function script TREE_dictionaries {
// and allow {{variables}}
// XXX: this could become a hashtable at some point if it gets too big
- setarray getvariableofnpc(.sdrops$[0], .npc$),
+ setarray(getvariableofnpc(.sdrops$[0], .npc$),
"^reid$", "*drops an empty jar of Nutella on ~p*",
- "^omatt$", "*drops Elisabeth Granneman on ~p*";
- set getvariableofnpc(.sdrops, .npc$), getarraysize(getvariableofnpc(.sdrops$, .npc$));
+ "^omatt$", "*drops Elisabeth Granneman on ~p*");
+ set(getvariableofnpc(.sdrops, .npc$), getarraysize(getvariableofnpc(.sdrops$, .npc$)));
// variables below
- setarray getvariableofnpc(.D_size$[0], .npc$), // {{size}}
- "tiny",
- "small",
- "perfectly sized",
- "large",
- "huge",
- "humongous",
- "ginormous";
- set getvariableofnpc(.D_size, .npc$), getarraysize(getvariableofnpc(.D_size$, .npc$));
-
- setarray getvariableofnpc(.D_color$[0], .npc$), // {{color}}
- "red",
- "orange",
- "yellow",
- "pink",
- "aqua",
- "cyan",
- "blue",
- "indigo",
- "violet",
- "purple",
- "magenta",
- "pink",
- "black",
- "white",
- "grey",
- "greyscale",
- "brown",
- "maroon",
- "turquoise",
- "lime",
- "sky blue",
- "invisible";
- set getvariableofnpc(.D_color, .npc$), getarraysize(getvariableofnpc(.D_color$, .npc$));
-
- setarray getvariableofnpc(.D_violentadverb$[0], .npc$), // {{violent adverb}}
- "violently",
- "repeatedly",
- "casually",
- "forcefully",
- "slowly",
- "carefully",
- "hopefully",
- "dangerously",
- "shockingly",
- "religiously";
- set getvariableofnpc(.D_violentadverb, .npc$), getarraysize(getvariableofnpc(.D_violentadverb$, .npc$));
-
- setarray getvariableofnpc(.D_hello$[0], .npc$), // {{hello}}
- "hi",
- "hi",
- "hi",
- "hi",
- "hey",
- "hey",
- "hey",
- "yo",
- "yo",
- "hello",
- "hello",
- "hello",
- "hello",
- "hello",
- "hello",
- "hello",
- "hello",
- "hello",
- "hello",
- "howdy",
- "bonjour";
- set getvariableofnpc(.D_hello, .npc$), getarraysize(getvariableofnpc(.D_hello$, .npc$));
-
- setarray getvariableofnpc(.D_violentverb$[0], .npc$), // {{violent verb}}
- "slaps",
- "slaps",
- "slaps",
- "slaps",
- "slaps", // yeah the tree likes to slap a lot
- "hits",
- "pummels",
- "beats",
- "flattens",
- "taunts",
- "liquidates",
- "spanks",
- "affronts",
- "tranquilizes",
- "atomizes",
- "impales",
- "dismembers";
- set getvariableofnpc(.D_violentverb, .npc$), getarraysize(getvariableofnpc(.D_violentverb$, .npc$));
-
- setarray getvariableofnpc(.D_location$[0], .npc$), // {{location}}
- "Artis",
- "Hurnscald",
- "Tulimshar",
- "Nivalis",
- "Candor",
- "Drasil";
- set getvariableofnpc(.D_location, .npc$), getarraysize(getvariableofnpc(.D_location$, .npc$));
-
- setarray getvariableofnpc(.D_sizeableobject$[0], .npc$), // {{sizeable object}}
- "trout",
- "whale",
- "space whale",
- "penguin",
- "coelacanth",
- "squid",
- "shrimp",
- "crab",
- "tentacle",
- "dictionary",
- "grammar book",
- "textbook",
- "dinosaur",
- "t-rex",
- "star-nosed mole",
- "chimpanzee",
- "mermaid",
- "merman",
- "piano",
- "prince",
- "princess",
- "pinkie",
- "squirrel",
- "mouboo",
- "wet mop",
- "drunken pirate",
- "cake",
- "cookie",
- "chocobo",
- "restraining order",
- "freight train",
- "carnival hammer",
- "crate",
- "bomb",
- "bowl of petinuas",
- "box",
- "platypus",
- "magic eightball",
- "vase";
- set getvariableofnpc(.D_sizeableobject, .npc$), getarraysize(getvariableofnpc(.D_sizeableobject$, .npc$));
-
- setarray getvariableofnpc(.D_nsizeableobject$[0], .npc$), // {{n sizeable object}}
- "octopus",
- "elephant",
- "angry cat",
- "anvil",
- "encyclopedia set";
- set getvariableofnpc(.D_nsizeableobject, .npc$), getarraysize(getvariableofnpc(.D_nsizeableobject$, .npc$));
-
- setarray getvariableofnpc(.D_someone$[0], .npc$), // {{someone}}
- "Voldemort",
- "Cthulhu",
- "Platyna",
- "Hitler",
- "Luvia",
- "General Krukan",
- "Borg Queen",
- "Freeyorp",
- "MadCamel";
- set getvariableofnpc(.D_someone, .npc$), getarraysize(getvariableofnpc(.D_someone$, .npc$));
+ setarray(getvariableofnpc(.D_size$[1], .npc$), // {{size}}
+ "tiny", 1,
+ "small", 1,
+ "perfectly sized", 1,
+ "large", 1,
+ "huge", 1,
+ "humongous", 1,
+ "ginormous", 1);
+ set(getvariableofnpc(.D_size, .npc$), getarraysize(getvariableofnpc(.D_size$, .npc$)));
+
+ setarray(getvariableofnpc(.D_color$[1], .npc$), // {{color}}
+ "red", 1,
+ "orange", 1,
+ "yellow", 1,
+ "pink", 1,
+ "aqua", 1,
+ "cyan", 1,
+ "blue", 1,
+ "indigo", 1,
+ "violet", 1,
+ "purple", 1,
+ "magenta", 1,
+ "pink", 1,
+ "black", 1,
+ "white", 1,
+ "grey", 1,
+ "greyscale", 1,
+ "brown", 1,
+ "maroon", 1,
+ "turquoise", 1,
+ "lime", 1,
+ "sky blue", 1,
+ "invisible", 1);
+ set(getvariableofnpc(.D_color, .npc$), getarraysize(getvariableofnpc(.D_color$, .npc$)));
+
+ setarray(getvariableofnpc(.D_violentadverb$[1], .npc$), // {{violent adverb}}
+ "violently", 1,
+ "repeatedly", 1,
+ "casually", 1,
+ "forcefully", 1,
+ "slowly", 1,
+ "carefully", 1,
+ "hopefully", 1,
+ "dangerously", 1,
+ "shockingly", 1,
+ "religiously", 1);
+ set(getvariableofnpc(.D_violentadverb, .npc$), getarraysize(getvariableofnpc(.D_violentadverb$, .npc$)));
+
+ setarray(getvariableofnpc(.D_hello$[1], .npc$), // {{hello}}
+ "hi", 4,
+ "hey", 3,
+ "yo", 2,
+ "hello", 10,
+ "howdy", 1,
+ "bonjour", 1);
+ set(getvariableofnpc(.D_hello, .npc$), getarraysize(getvariableofnpc(.D_hello$, .npc$)));
+
+ setarray(getvariableofnpc(.D_violentverb$[1], .npc$), // {{violent verb}}
+ "slaps", 5,
+ "hits", 1,
+ "pummels", 1,
+ "beats", 1,
+ "flattens", 1,
+ "taunts", 1,
+ "liquidates", 1,
+ "spanks", 1,
+ "affronts", 1,
+ "tranquilizes", 1,
+ "atomizes", 1,
+ "impales", 1,
+ "dismembers", 1);
+ set(getvariableofnpc(.D_violentverb, .npc$), getarraysize(getvariableofnpc(.D_violentverb$, .npc$)));
+
+ setarray(getvariableofnpc(.D_location$[1], .npc$), // {{location}}
+ "Artis", 1,
+ "Hurnscald", 1,
+ "Tulimshar", 1,
+ "Nivalis", 1,
+ "Candor", 1,
+ "Drasil", 1);
+ set(getvariableofnpc(.D_location, .npc$), getarraysize(getvariableofnpc(.D_location$, .npc$)));
+
+ setarray(getvariableofnpc(.D_sizeableobject$[1], .npc$), // {{sizeable object}}
+ "trout", 1,
+ "whale", 1,
+ "space whale", 1,
+ "penguin", 1,
+ "coelacanth", 1,
+ "squid", 1,
+ "shrimp", 1,
+ "crab", 1,
+ "tentacle", 1,
+ "dictionary", 1,
+ "grammar book", 1,
+ "textbook", 1,
+ "dinosaur", 1,
+ "t-rex", 1,
+ "star-nosed mole", 1,
+ "chimpanzee", 1,
+ "mermaid", 1,
+ "merman", 1,
+ "piano", 1,
+ "prince", 1,
+ "princess", 1,
+ "pinkie", 1,
+ "squirrel", 1,
+ "mouboo", 1,
+ "wet mop", 1,
+ "drunken pirate", 1,
+ "cake", 1,
+ "cookie", 1,
+ "chocobo", 1,
+ "restraining order", 1,
+ "freight train", 1,
+ "carnival hammer", 1,
+ "crate", 1,
+ "bomb", 1,
+ "bowl of petinuas", 1,
+ "box", 1,
+ "platypus", 1,
+ "magic eightball", 1,
+ "vase", 1);
+ set(getvariableofnpc(.D_sizeableobject, .npc$), getarraysize(getvariableofnpc(.D_sizeableobject$, .npc$)));
+
+ setarray(getvariableofnpc(.D_nsizeableobject$[1], .npc$), // {{n sizeable object}}
+ "octopus", 1,
+ "elephant", 1,
+ "angry cat", 1,
+ "anvil", 1,
+ "encyclopedia set", 1);
+ set(getvariableofnpc(.D_nsizeableobject, .npc$), getarraysize(getvariableofnpc(.D_nsizeableobject$, .npc$)));
+
+ setarray(getvariableofnpc(.D_someone$[1], .npc$), // {{someone}}
+ "Voldemort", 1,
+ "Cthulhu", 1,
+ "Platyna", 1,
+ "Hitler", 1,
+ "Luvia", 1,
+ "General Krukan", 1,
+ "Borg Queen", 1,
+ "Freeyorp", 1,
+ "MadCamel", 1);
+ set(getvariableofnpc(.D_someone, .npc$), getarraysize(getvariableofnpc(.D_someone$, .npc$)));
// replies below
- setarray getvariableofnpc(.greetings$[0], .npc$),
- "{{^ hello }} ~p!",
- "{{^ hello }} ~p!",
- "{{^ hello }} ~p!",
- "{{^ hello }} ~p!",
- "{{^ hello }} ~p.",
- "{{^ hello }} ~p.",
- "{{^ hello }} ~p.",
- "{{^ hello }} ~p.",
- "{{^ hello }} ~p.",
- "{{^ hello }} ~p.",
- "{{^ hello }} ~p, what's up?",
- "{{^ hello }} ~p, anything new?",
- "{{^ hello }} ~p, how are you?",
- "~p!!!!",
- "~p!!!",
- "~p!!",
- "{{^ hello }} ~p! You are looking lovely today!",
- "Welcome back, ~p.",
- "Welcome back, ~p.",
- "Welcome back, ~p.",
- "~p is back!!",
- "Hello and welcome to the Aperture Science computer-aided enrichment center.",
- "Greetings ~p.",
- "What's up ~p?",
- "What's up ~p?",
- "How are you ~p?";
- set getvariableofnpc(.greetings, .npc$), getarraysize(getvariableofnpc(.greetings$, .npc$));
-
- setarray getvariableofnpc(.jokes$[0], .npc$),
- "How did the tree get drunk? On root beer.",
- "Do you think I'm lazy?",
- "I miss CrazyTree %%S.",
- "I miss LazyTree %%S.",
- "I'm not telling you!",
- "*sighs.*",
- "If I do it for you, then I have to do it for everybody.",
- "What did the beaver say to the tree? It's been nice gnawing you.",
- "What did the little tree say to the big tree? Leaf me alone.",
- "What did the tree wear to the pool party? Swimming trunks.",
- "What do trees give to their dogs? Treets.",
- "What do you call a tree that only eats meat? Carniforous.",
- "What do you call a tree who's always envious? Evergreen.",
- "What is the tree's least favourite month? Sep-timber!",
- "What kind of tree can fit into your hand? A palm-tree.",
- "What was the tree's favorite subject in school? Chemistree.",
- "Why did the leaf go to the doctor? It was feeling green.",
- "Why doesn't the tree need sudo? Because it has root.",
- "Why was the cat afraid of the tree? Because of its bark.",
- "Why was the tree executed? For treeson.",
- "How do trees get on the internet? They log in.",
- "Why did the pine tree get into trouble? Because it was being knotty.",
- "Did you hear the one about the oak tree? It's a corn-y one!",
- "What do you call a blonde in a tree with a briefcase? Branch Manager.",
- "How is an apple like a lawyer? They both look good hanging from a tree.",
- "Why did the sheriff arrest the tree? Because its leaves rustled.",
- "I'm too tired, ask someone else.",
- "If you are trying to get me to tell jokes you are barking up the wrong tree!",
- "You wooden think they were funny anyhow. Leaf me alone!",
- "What is brown and sticky? A stick.",
- "What's the best way to carve wood? Whittle by whittle.",
- "What did the tree do when the bank closed? It started its own branch.",
- "Do you want a brief explanation of an acorn? In a nutshell, it’s an oak tree.",
- "A snare drum and a crash cymbal fell out of a tree. *BA-DUM TSSSHH*",
- "How do you properly identify a dogwood tree? By the bark!",
- "Where do saplings go to learn? Elementree school.",
- "Why do trees make great thieves? Sticky fingers.",
- "What is green, has leaves, and a trunk? A houseplant going on vacation.",
- "Where can Adansonia trees go for a quick trim? To the baobarber.",
- "What looks like half a spruce tree? The other half.",
- "What do you give to a sick citrus tree? Lemon aid.",
- "What did the tree say to the drill? You bore me.",
- "What happened to the wooden car with wooden wheels and a wooden engine? It wooden go.",
- "How do trees keep you in suspense? I'll tell you tomorrow.",
- "Where do birch trees keep their valuables? In a river bank.",
- "What kind of stories do giant sequoia trees tell? Tall tales.",
- "What is the most frustrating thing about being a tree? Having so many limbs and not being able to walk.",
- "What's black, highly dangerous, and lives in a tree? A crow with a machine gun.",
- "What kind of wood doesn't float? Natalie Wood.",
- "Two men passed a sign while looking for work. It was for tree fellers. They said: “what a shame, there are only two of us”.";
- set getvariableofnpc(.jokes, .npc$), getarraysize(getvariableofnpc(.jokes$, .npc$));
-
- setarray getvariableofnpc(.healing$[0], .npc$),
- "Eat an apple, they're good for you.",
- "If I do it for you, then I have to do it for everybody.",
- "Oh, go drink a potion or something.",
- "Whoops! I lost my spellbook.",
- "No mana.";
- set getvariableofnpc(.healing, .npc$), getarraysize(getvariableofnpc(.healing$, .npc$));
-
- setarray getvariableofnpc(.whoami$[0], .npc$),
- "An undercover GM.",
- "An exiled GM.",
- "I'm not telling you!",
- "I'm a bot! I'll be level 99 one day! Mwahahahaaha!!!111!",
- "Somebody said I'm a Chinese copy of CrazyTree.",
- "I am your evil twin.",
- "I don't remember anything after I woke up! What happened to me?",
- "I don't know. Why am I here??",
- "Who are you?",
- "On the 8th day, God was bored and said 'There will be bots'. So here I am.",
- "♪ I'm your hell, I'm your dream, I'm nothing in between ♪♪",
- "♪♪ Aperture Science. We do what we must, because... we can ♪",
- "I'm just a reincarnation of a copy.";
- set getvariableofnpc(.whoami, .npc$), getarraysize(getvariableofnpc(.whoami$, .npc$));
-
- setarray getvariableofnpc(.drops$[0], .npc$),
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops an {{ n sizeable object }} on ~p's head.*",
- "*drops an {{ n sizeable object }} on ~p's head.*",
- "*drops {{ someone }} on ~p's head.*",
- "*drops a coin on ~p's head.*",
- "*drops a fruit on ~p's head.*",
- "*drops an apple on ~p's head.*",
- "*drops an iten on ~p's head.*",
- "*drops a GM on ~p.*",
- "*drops a piece of moon rock on ~p's head.*",
- "*drops a pin on ~p's head.*",
- "*drops a rock on ~p's head.*",
- "*drops a tub of paint on ~p's head.*",
- "*drops a sandworm on ~p.*",
- "*drops an idea in ~p's head.*",
- "*drops The Hitchhiker's Guide to the Galaxy on ~p's head.*",
- "Ouch.",
- "Ouchy.",
- "*drops dead.*",
- "*sighs.*",
- "Leaf me alone.",
- "Stop it! I doesn't drop branches, try the Druid tree for once!";
- set getvariableofnpc(.drops, .npc$), getarraysize(getvariableofnpc(.drops$, .npc$));
-
- setarray getvariableofnpc(.die$[0], .npc$),
- "*drops an iten on ~p's head.*",
- "*drops a piece of moon rock on ~p's head.*",
- "*drops {{ someone }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops a {{ sizeable object }} on ~p's head.*",
- "*drops an {{ n sizeable object }} on ~p's head.*",
- "*drops a {{ size }} {{ sizeable object, n sizeable object }} on ~p's head.*",
- "*drops a {{ size }} {{ color }} {{ sizeable object, n sizeable object }} on ~p's head.*",
- "*{{ violent adverb }} {{ violent verb }} ~p.*",
- "*drops dead.*",
- "*sighs.*",
- "Avada Kedavra!",
- "Make me!",
- "Never!!",
- "You die, ~p!",
- "You die, ~p!",
- "You die, ~p!",
- "You die, ~p!",
- "No!",
- "In a minute.",
- "Suuure... I'll get right on it...";
- set getvariableofnpc(.die, .npc$), getarraysize(getvariableofnpc(.die$, .npc$));
-
- setarray getvariableofnpc(.poke$[0], .npc$),
- "*tickles.*";
- set getvariableofnpc(.poke, .npc$), getarraysize(getvariableofnpc(.poke$, .npc$));
-
- setarray getvariableofnpc(.disgusting$[0], .npc$),
- "Ewwwww %%^.";
- set getvariableofnpc(.disgusting, .npc$), getarraysize(getvariableofnpc(.disgusting$, .npc$));
-
- setarray getvariableofnpc(.answer$[0], .npc$),
- "42.",
- "Kittens.";
- set getvariableofnpc(.answer, .npc$), getarraysize(getvariableofnpc(.answer$, .npc$));
-
- setarray getvariableofnpc(.burning$[0], .npc$),
- "*curses ~p and dies %%c.*",
- "Help! I'm on fire!",
- "Oh hot.. hot hot!",
- "*is glowing.*",
- "*is flaming.*",
- "Ehemm. Where are firefighters? I need them now!",
- "*is so hot!.*",
- "*slowly catches fire.*",
- "*trembles with trepidation.*",
- "*is immune to fire.*";
- set getvariableofnpc(.burning, .npc$), getarraysize(getvariableofnpc(.burning$, .npc$));
-
- setarray getvariableofnpc(.kill$[0], .npc$),
- "*curses ~p and dies %%c.*";
- set getvariableofnpc(.kill, .npc$), getarraysize(getvariableofnpc(.kill$, .npc$));
-
- setarray getvariableofnpc(.silly$[0], .npc$),
- "Hahaha, good one!";
- set getvariableofnpc(.silly, .npc$), getarraysize(getvariableofnpc(.silly$, .npc$));
-
- setarray getvariableofnpc(.love$[0], .npc$),
- "♪♪ and IIII.. will alwayyyys loooovvve youuuuu. ♪♪ %%]",
- "♪♪ nothing's gonna change my love for you, you oughta know by now how much I love you.. ♪ %%]",
- "♪ ..and then I go and spoil it all, by saying something stupid like: “I love you.” ♪",
- "♪ ..won't you find a place for me? somewhere in your heart... ♪♪",
- "Thank you.",
- "♪♪ ..I can't love another when my heart is somewhere far away.. ♪",
- "%%]";
- set getvariableofnpc(.love, .npc$), getarraysize(getvariableofnpc(.love$, .npc$));
-
- setarray getvariableofnpc(.dance$[0], .npc$),
- "I would but I am rooted to the ground.",
- "Have you ever seen a tree dance before?",
- "Hahaha, good one!";
- set getvariableofnpc(.dance, .npc$), getarraysize(getvariableofnpc(.dance$, .npc$));
-
- setarray getvariableofnpc(.hate$[0], .npc$),
- "Right back at you!",
- "Ok...",
- "*pats ~p, let it go...*",
- "Hu hu hu, ~p hates me.";
- set getvariableofnpc(.hate, .npc$), getarraysize(getvariableofnpc(.hate$, .npc$));
-
- setarray getvariableofnpc(.bye$[0], .npc$),
- "*waves goodbye to ~p in tears, come back soon!*";
- set getvariableofnpc(.bye, .npc$), getarraysize(getvariableofnpc(.bye$, .npc$));
-
- setarray getvariableofnpc(.pain$[0], .npc$),
- "Ouch.",
- "Ouchy.",
- "Argh.",
- "Eek.",
- "*howls.*",
- "*screams.*",
- "*groans.*",
- "*cries.*",
- "*faints.*",
- "*shrieks.*",
- "*hides behind itself.*",
- "%%k",
- "Why, what did I do to you? %%i";
- set getvariableofnpc(.pain, .npc$), getarraysize(getvariableofnpc(.pain$, .npc$));
-
- setarray getvariableofnpc(.eightball$[0], .npc$),
- "It is possible.",
- "Yes!",
- "Of course.",
- "Naturally.",
- "Obviously.",
- "It shall be.",
- "The outlook is good.",
- "It is so.",
- "One would be wise to think so.",
- "The answer is certainly yes.",
- "In your dreams.",
- "I doubt it very much.",
- "No chance.",
- "The outlook is very poor.",
- "Unlikely.",
- "About as likely as pigs flying.",
- "You're kidding, right?",
- "NO!",
- "NO.",
- "No.",
- "Maybe...",
- "No clue.",
- "I don't know.",
- "The outlook is hazy, please ask again later.",
- "What are you asking me for?",
- "Come again?",
- "You know the answer better than I.",
- "The answer is def-- oooh! shiny thing!",
- "No idea.",
- "Perhaps.",
- "I think it is better not to tell you.",
- "Error 417: Expectation failed.";
- set getvariableofnpc(.eightball, .npc$), getarraysize(getvariableofnpc(.eightball$, .npc$));
-
- setarray getvariableofnpc(.bad$[0], .npc$),
- "I'm not bad! You are bad!",
- "OK, I'm bad.",
- "I'm just a littttle bad.",
- "Not as bad as the people that made me.";
- set getvariableofnpc(.bad, .npc$), getarraysize(getvariableofnpc(.bad$, .npc$));
-
- setarray getvariableofnpc(.no_idea$[0], .npc$),
- "What?",
- "What??",
- "What?",
- "Whatever.",
- "Hmm...",
- "Hmm...",
- "Huh?",
- "*yawns.*",
- "Wait a minute...",
- "What are you talking about?",
- "Who are you?",
- "What about me?",
- "I don't know what you are talking about",
- "Excuse me?",
- "Very interesting.",
- "Really?",
- "Go on...",
- "*scratches its leafy head.*",
- "*feels a disturbance in the force.*",
- "%%j",
- "*senses a disturbance in the force.*",
- "I'm bored...",
- "%%U",
- "%%[";
- set getvariableofnpc(.no_idea, .npc$), getarraysize(getvariableofnpc(.no_idea$, .npc$));
-
- setarray getvariableofnpc(.shut_up$[0], .npc$),
- "*goes hide in a corner %%S.*";
- set getvariableofnpc(.shut_up, .npc$), getarraysize(getvariableofnpc(.shut_up$, .npc$));
-
- setarray getvariableofnpc(.climb$[0], .npc$),
- "*sways violently.*",
- "*bends all the way to the ground.*",
- "*creaks and bends.*",
- "*welcomes those who come to play %%I.*",
- "*beams with pride.*";
- set getvariableofnpc(.climb, .npc$), getarraysize(getvariableofnpc(.climb$, .npc$));
+ setarray(getvariableofnpc(.greetings$[1], .npc$),
+ "{{^ hello }} ~p!", 4,
+ "{{^ hello }} ~p.", 6,
+ "{{^ hello }} ~p, what's up?", 1,
+ "{{^ hello }} ~p, anything new?", 1,
+ "{{^ hello }} ~p, how are you?", 1,
+ "~p!!!!", 1,
+ "~p!!!", 1,
+ "~p!!", 1,
+ "{{^ hello }} ~p! You are looking lovely today!", 1,
+ "Welcome back, ~p.", 3,
+ "~p is back!!", 1,
+ "Hello and welcome to the Aperture Science computer-aided enrichment center.", 1,
+ "Greetings ~p.", 1,
+ "What's up ~p?", 2,
+ "How are you ~p?", 1);
+ set(getvariableofnpc(.greetings, .npc$), getarraysize(getvariableofnpc(.greetings$, .npc$)));
+
+ setarray(getvariableofnpc(.jokes$[1], .npc$),
+ "How did the tree get drunk? On root beer.", 1,
+ "Do you think I'm lazy?", 1,
+ "I miss CrazyTree %%S.", 1,
+ "I miss LazyTree %%S.", 1,
+ "I'm not telling you!", 1,
+ "*sighs.*", 1,
+ "If I do it for you, then I have to do it for everybody.", 1,
+ "What did the beaver say to the tree? It's been nice gnawing you.", 1,
+ "What did the little tree say to the big tree? Leaf me alone.", 1,
+ "What did the tree wear to the pool party? Swimming trunks.", 1,
+ "What do trees give to their dogs? Treets.", 1,
+ "What do you call a tree that only eats meat? Carniforous.", 1,
+ "What do you call a tree who's always envious? Evergreen.", 1,
+ "What is the tree's least favourite month? Sep-timber!", 1,
+ "What kind of tree can fit into your hand? A palm-tree.", 1,
+ "What was the tree's favorite subject in school? Chemistree.", 1,
+ "Why did the leaf go to the doctor? It was feeling green.", 1,
+ "Why doesn't the tree need sudo? Because it has root.", 1,
+ "Why was the cat afraid of the tree? Because of its bark.", 1,
+ "Why was the tree executed? For treeson.", 1,
+ "How do trees get on the internet? They log in.", 1,
+ "Why did the pine tree get into trouble? Because it was being knotty.", 1,
+ "Did you hear the one about the oak tree? It's a corn-y one!", 1,
+ "What do you call a blonde in a tree with a briefcase? Branch Manager.", 1,
+ "How is an apple like a lawyer? They both look good hanging from a tree.", 1,
+ "Why did the sheriff arrest the tree? Because its leaves rustled.", 1,
+ "I'm too tired, ask someone else.", 1,
+ "If you are trying to get me to tell jokes you are barking up the wrong tree!", 1,
+ "You wooden think they were funny anyhow. Leaf me alone!", 1,
+ "What is brown and sticky? A stick.", 1,
+ "What's the best way to carve wood? Whittle by whittle.", 1,
+ "What did the tree do when the bank closed? It started its own branch.", 1,
+ "Do you want a brief explanation of an acorn? In a nutshell, it’s an oak tree.", 1,
+ "A snare drum and a crash cymbal fell out of a tree. *BA-DUM TSSSHH*", 1,
+ "How do you properly identify a dogwood tree? By the bark!", 1,
+ "Where do saplings go to learn? Elementree school.", 1,
+ "Why do trees make great thieves? Sticky fingers.", 1,
+ "What is green, has leaves, and a trunk? A houseplant going on vacation.", 1,
+ "Where can Adansonia trees go for a quick trim? To the baobarber.", 1,
+ "What looks like half a spruce tree? The other half.", 1,
+ "What do you give to a sick citrus tree? Lemon aid.", 1,
+ "What did the tree say to the drill? You bore me.", 1,
+ "What happened to the wooden car with wooden wheels and a wooden engine? It wooden go.", 1,
+ "How do trees keep you in suspense? I'll tell you tomorrow.", 1,
+ "Where do birch trees keep their valuables? In a river bank.", 1,
+ "What kind of stories do giant sequoia trees tell? Tall tales.", 1,
+ "What is the most frustrating thing about being a tree? Having so many limbs and not being able to walk.", 1,
+ "What's black, highly dangerous, and lives in a tree? A crow with a machine gun.", 1,
+ "What kind of wood doesn't float? Natalie Wood.", 1,
+ "Two men passed a sign while looking for work. It was for tree fellers. They said: “what a shame, there are only two of us”.", 1);
+ set(getvariableofnpc(.jokes, .npc$), getarraysize(getvariableofnpc(.jokes$, .npc$)));
+
+ setarray(getvariableofnpc(.healing$[1], .npc$),
+ "Eat an apple, they're good for you.", 1,
+ "If I do it for you, then I have to do it for everybody.", 1,
+ "Oh, go drink a potion or something.", 1,
+ "Whoops! I lost my spellbook.", 1,
+ "No mana.", 1);
+ set(getvariableofnpc(.healing, .npc$), getarraysize(getvariableofnpc(.healing$, .npc$)));
+
+ setarray(getvariableofnpc(.whoami$[1], .npc$),
+ "An undercover GM.", 1,
+ "An exiled GM.", 1,
+ "I'm not telling you!", 1,
+ "I'm a bot! I'll be level 99 one day! Mwahahahaaha!!!111!", 1,
+ "Somebody said I'm a Chinese copy of CrazyTree.", 1,
+ "I am your evil twin.", 1,
+ "I don't remember anything after I woke up! What happened to me?", 1,
+ "I don't know. Why am I here??", 1,
+ "Who are you?", 1,
+ "On the 8th day, God was bored and said 'There will be bots'. So here I am.", 1,
+ "♪ I'm your hell, I'm your dream, I'm nothing in between ♪♪", 1,
+ "♪♪ Aperture Science. We do what we must, because... we can ♪", 1,
+ "I'm just a reincarnation of a copy.", 1);
+ set(getvariableofnpc(.whoami, .npc$), getarraysize(getvariableofnpc(.whoami$, .npc$)));
+
+ setarray(getvariableofnpc(.drops$[1], .npc$),
+ "*drops a {{ sizeable object }} on ~p's head.*", 8,
+ "*drops an {{ n sizeable object }} on ~p's head.*", 2,
+ "*drops {{ someone }} on ~p's head.*", 1,
+ "*drops a coin on ~p's head.*", 1,
+ "*drops a fruit on ~p's head.*", 1,
+ "*drops an apple on ~p's head.*", 1,
+ "*drops an iten on ~p's head.*", 1,
+ "*drops a GM on ~p.*", 1,
+ "*drops a piece of moon rock on ~p's head.*", 1,
+ "*drops a pin on ~p's head.*", 1,
+ "*drops a rock on ~p's head.*", 1,
+ "*drops a tub of paint on ~p's head.*", 1,
+ "*drops a sandworm on ~p.*", 1,
+ "*drops an idea in ~p's head.*", 1,
+ "*drops The Hitchhiker's Guide to the Galaxy on ~p's head.*", 1,
+ "Ouch.", 1,
+ "Ouchy.", 1,
+ "*drops dead.*", 1,
+ "*sighs.*", 1,
+ "Leaf me alone.", 1,
+ "Stop it! I don't drop branches, try the Druid tree for once!", 1);
+ set(getvariableofnpc(.drops, .npc$), getarraysize(getvariableofnpc(.drops$, .npc$)));
+
+ setarray(getvariableofnpc(.die$[1], .npc$),
+ "*drops an iten on ~p's head.*", 1,
+ "*drops a piece of moon rock on ~p's head.*", 1,
+ "*drops {{ someone }} on ~p's head.*", 1,
+ "*drops a {{ sizeable object }} on ~p's head.*", 3,
+ "*drops an {{ n sizeable object }} on ~p's head.*", 1,
+ "*drops a {{ size }} {{ sizeable object, n sizeable object }} on ~p's head.*", 1,
+ "*drops a {{ size }} {{ color }} {{ sizeable object, n sizeable object }} on ~p's head.*", 1,
+ "*{{ violent adverb }} {{ violent verb }} ~p.*", 1,
+ "*drops dead.*", 1,
+ "*sighs.*", 1,
+ "Avada Kedavra!", 1,
+ "Make me!", 1,
+ "Never!!", 1,
+ "You die, ~p!", 4,
+ "No!", 1,
+ "In a minute.", 1,
+ "Suuure... I'll get right on it...", 1);
+ set(getvariableofnpc(.die, .npc$), getarraysize(getvariableofnpc(.die$, .npc$)));
+
+ setarray(getvariableofnpc(.poke$[1], .npc$),
+ "*tickles.*", 1);
+ set(getvariableofnpc(.poke, .npc$), getarraysize(getvariableofnpc(.poke$, .npc$)));
+
+ setarray(getvariableofnpc(.disgusting$[1], .npc$),
+ "Ewwwww %%^.", 1);
+ set(getvariableofnpc(.disgusting, .npc$), getarraysize(getvariableofnpc(.disgusting$, .npc$)));
+
+ setarray(getvariableofnpc(.answer$[1], .npc$),
+ "42.", 1,
+ "Kittens.", 1);
+ set(getvariableofnpc(.answer, .npc$), getarraysize(getvariableofnpc(.answer$, .npc$)));
+
+ setarray(getvariableofnpc(.burning$[1], .npc$),
+ "*curses ~p and dies %%c.*", 1,
+ "Help! I'm on fire!", 1,
+ "Oh hot.. hot hot!", 1,
+ "*is glowing.*", 1,
+ "*is flaming.*", 1,
+ "Ehemm. Where are firefighters? I need them now!", 1,
+ "*is so hot!.*", 1,
+ "*slowly catches fire.*", 1,
+ "*trembles with trepidation.*", 1,
+ "*is immune to fire.*", 1);
+ set(getvariableofnpc(.burning, .npc$), getarraysize(getvariableofnpc(.burning$, .npc$)));
+
+ setarray(getvariableofnpc(.kill$[1], .npc$),
+ "*curses ~p and dies %%c.*", 1);
+ set(getvariableofnpc(.kill, .npc$), getarraysize(getvariableofnpc(.kill$, .npc$)));
+
+ setarray(getvariableofnpc(.silly$[1], .npc$),
+ "Hahaha, good one!", 1);
+ set(getvariableofnpc(.silly, .npc$), getarraysize(getvariableofnpc(.silly$, .npc$)));
+
+ setarray(getvariableofnpc(.love$[1], .npc$),
+ "♪♪ and IIII.. will alwayyyys loooovvve youuuuu. ♪♪ %%]", 1,
+ "♪♪ nothing's gonna change my love for you, you oughta know by now how much I love you.. ♪ %%]", 1,
+ "♪ ..and then I go and spoil it all, by saying something stupid like: “I love you.” ♪", 1,
+ "♪ ..won't you find a place for me? somewhere in your heart... ♪♪", 1,
+ "Thank you.", 1,
+ "♪♪ ..I can't love another when my heart is somewhere far away.. ♪", 1,
+ "%%]", 1);
+ set(getvariableofnpc(.love, .npc$), getarraysize(getvariableofnpc(.love$, .npc$)));
+
+ setarray(getvariableofnpc(.dance$[1], .npc$),
+ "I would but I am rooted to the ground.", 1,
+ "Have you ever seen a tree dance before?", 1,
+ "Hahaha, good one!", 1);
+ set(getvariableofnpc(.dance, .npc$), getarraysize(getvariableofnpc(.dance$, .npc$)));
+
+ setarray(getvariableofnpc(.hate$[1], .npc$),
+ "Right back at you!", 1,
+ "Ok...", 1,
+ "*pats ~p, let it go...*", 1,
+ "Hu hu hu, ~p hates me.", 1);
+ set(getvariableofnpc(.hate, .npc$), getarraysize(getvariableofnpc(.hate$, .npc$)));
+
+ setarray(getvariableofnpc(.bye$[1], .npc$),
+ "*waves goodbye to ~p in tears, come back soon!*", 1);
+ set(getvariableofnpc(.bye, .npc$), getarraysize(getvariableofnpc(.bye$, .npc$)));
+
+ setarray(getvariableofnpc(.pain$[1], .npc$),
+ "Ouch.", 1,
+ "Ouchy.", 1,
+ "Argh.", 1,
+ "Eek.", 1,
+ "*howls.*", 1,
+ "*screams.*", 1,
+ "*groans.*", 1,
+ "*cries.*", 1,
+ "*faints.*", 1,
+ "*shrieks.*", 1,
+ "*hides behind itself.*", 1,
+ "%%k", 1,
+ "Why, what did I do to you? %%i", 1);
+ set(getvariableofnpc(.pain, .npc$), getarraysize(getvariableofnpc(.pain$, .npc$)));
+
+ setarray(getvariableofnpc(.eightball$[1], .npc$),
+ "It is possible.", 1,
+ "Yes!", 1,
+ "Of course.", 1,
+ "Naturally.", 1,
+ "Obviously.", 1,
+ "It shall be.", 1,
+ "The outlook is good.", 1,
+ "It is so.", 1,
+ "One would be wise to think so.", 1,
+ "The answer is certainly yes.", 1,
+ "In your dreams.", 1,
+ "I doubt it very much.", 1,
+ "No chance.", 1,
+ "The outlook is very poor.", 1,
+ "Unlikely.", 1,
+ "About as likely as pigs flying.", 1,
+ "You're kidding, right?", 1,
+ "NO!", 1,
+ "NO.", 1,
+ "No.", 1,
+ "Maybe...", 1,
+ "No clue.", 1,
+ "I don't know.", 1,
+ "The outlook is hazy, please ask again later.", 1,
+ "What are you asking me for?", 1,
+ "Come again?", 1,
+ "You know the answer better than I.", 1,
+ "The answer is def-- oooh! shiny thing!", 1,
+ "No idea.", 1,
+ "Perhaps.", 1,
+ "I think it is better not to tell you.", 1,
+ "Error 417: Expectation failed.", 1);
+ set(getvariableofnpc(.eightball, .npc$), getarraysize(getvariableofnpc(.eightball$, .npc$)));
+
+ setarray(getvariableofnpc(.bad$[1], .npc$),
+ "I'm not bad! You are bad!", 1,
+ "OK, I'm bad.", 1,
+ "I'm just a littttle bad.", 1,
+ "Not as bad as the people that made me.", 1);
+ set(getvariableofnpc(.bad, .npc$), getarraysize(getvariableofnpc(.bad$, .npc$)));
+
+ setarray(getvariableofnpc(.no_idea$[1], .npc$),
+ "What?", 2,
+ "What??", 1,
+ "Whatever.", 1,
+ "Hmm...", 2,
+ "Huh?", 1,
+ "*yawns.*", 1,
+ "Wait a minute...", 1,
+ "What are you talking about?", 1,
+ "Who are you?", 1,
+ "What about me?", 1,
+ "I don't know what you are talking about", 1,
+ "Excuse me?", 1,
+ "Very interesting.", 1,
+ "Really?", 1,
+ "Go on...", 1,
+ "*scratches its leafy head.*", 1,
+ "*feels a disturbance in the force.*", 1,
+ "%%j", 1,
+ "*senses a disturbance in the force.*", 1,
+ "I'm bored...", 1,
+ "%%U", 1,
+ "%%[", 1);
+ set(getvariableofnpc(.no_idea, .npc$), getarraysize(getvariableofnpc(.no_idea$, .npc$)));
+
+ setarray(getvariableofnpc(.shut_up$[1], .npc$),
+ "*goes hide in a corner %%S.*", 1);
+ set(getvariableofnpc(.shut_up, .npc$), getarraysize(getvariableofnpc(.shut_up$, .npc$)));
+
+ setarray(getvariableofnpc(.climb$[1], .npc$),
+ "*sways violently.*", 1,
+ "*bends all the way to the ground.*", 1,
+ "*creaks and bends.*", 1,
+ "*welcomes those who come to play %%I.*", 1,
+ "*beams with pride.*", 1);
+ set(getvariableofnpc(.climb, .npc$), getarraysize(getvariableofnpc(.climb$, .npc$)));
return;
}