Skip to content

Instantly share code, notes, and snippets.

@pervognsen
Created August 10, 2017 08:51
Show Gist options
  • Save pervognsen/1875936bb6a98d383990ae6814847136 to your computer and use it in GitHub Desktop.
Save pervognsen/1875936bb6a98d383990ae6814847136 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
Failed to locate BG usecode file but found FOV.
// externs
extern void Func08FF 0x8FF (var var0000);
extern var Func0829 0x829 (var var0000);
void Func0096 shape#(0x96) ()
{
if (!(event == 0x0001)) goto labelFunc0096_0038;
if (!UI_get_item_flag(item, 0x000A)) goto labelFunc0096_001C;
Func08FF("@The sails must be furled before the planks are raised.@");
goto labelFunc0096_0038;
labelFunc0096_001C:
if (!(!Func0829(item))) goto labelFunc0096_002D;
Func08FF("@I think the gangplank is blocked.@");
goto labelFunc0096_0038;
labelFunc0096_002D:
if (!UI_in_gump_mode()) goto labelFunc0096_0038;
UI_close_gumps();
labelFunc0096_0038:
return;
}
// externs
extern void Func01B0 shape#(0x1B0) ();
extern var Func0881 0x881 ();
extern var Func092D 0x92D (var var0000);
extern var Func0908 0x908 ();
extern var Func090A 0x90A ();
extern void Func0696 object#(0x696) ();
extern void Func069A object#(0x69A) ();
void Func009A shape#(0x9A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
var var0013;
var var0014;
var var0015;
var var0016;
var var0017;
var var0018;
var var0019;
if (!(event == 0x0000)) goto labelFunc009A_01CB;
var0000 = UI_find_nearest(item, 0x0150, 0x0001);
var0001 = UI_find_nearest(item, 0x0152, 0x0001);
var0002 = UI_find_nearest(item, 0x03E5, 0x0001);
if (!(var0000 || (var0001 || var0002))) goto labelFunc009A_00F8;
var0003 = UI_get_random(0x0064);
if (!(var0003 >= 0x003C)) goto labelFunc009A_005D;
UI_item_say(item, "@Damn candles!@");
return;
labelFunc009A_005D:
if (!(var0003 <= 0x0028)) goto labelFunc009A_00F5;
var0004 = var0000;
var0004 = (var0004 & var0001);
var0004 = (var0004 & var0002);
//enum();
labelFunc009A_0082:
for (var0007 in var0004 with var0005 to var0006) atend labelFunc009A_00CF;
var0008 = UI_get_object_position(var0007);
UI_remove_item(var0007);
UI_sprite_effect(0x0005, (var0008[0x0001] - 0x0001), (var0008[0x0002] - 0x0001), 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x0008);
goto labelFunc009A_0082;
labelFunc009A_00CF:
var0009 = UI_execute_usecode_array(item, [(byte)0x6F, (byte)0x27, 0x0001, (byte)0x01, (byte)0x52, "@An Ailem!", (byte)0x27, 0x0003, (byte)0x70, (byte)0x27, 0x0006]);
return;
labelFunc009A_00F5:
goto labelFunc009A_01CB;
labelFunc009A_00F8:
if (!UI_find_nearest(item, 0x0369, 0x0001)) goto labelFunc009A_0112;
UI_item_say(item, "@I'm famished!@");
return;
goto labelFunc009A_01CB;
labelFunc009A_0112:
var000A = UI_find_nearest(item, 0x01B0, 0x0002);
var000B = UI_find_nearest(item, 0x01B1, 0x0002);
if (!(var000A || var000B)) goto labelFunc009A_0163;
if (!var000A) goto labelFunc009A_0151;
UI_item_say(item, "@My door, at last.@");
event = 0x0001;
var000A->Func01B0();
return;
labelFunc009A_0151:
if (!var000B) goto labelFunc009A_0160;
UI_item_say(item, "@My door, at last.@");
return;
labelFunc009A_0160:
goto labelFunc009A_01CB;
labelFunc009A_0163:
var000C = UI_find_nearby(item, 0x025F, 0x0000, 0x0010);
if (!var000C) goto labelFunc009A_01CB;
//enum();
labelFunc009A_017B:
for (var000F in var000C with var000D to var000E) atend labelFunc009A_01CB;
if (!((UI_get_item_frame(var000F) == 0x0004) && (UI_get_item_frame(item) >= 0x0010))) goto labelFunc009A_01BF;
UI_item_say(item, "@Ah, a wall.@");
var0010 = UI_delayed_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@I'll follow it.@"], 0x0012);
return;
goto labelFunc009A_01C8;
labelFunc009A_01BF:
UI_item_say(item, "@Where am I?@");
return;
labelFunc009A_01C8:
goto labelFunc009A_017B;
labelFunc009A_01CB:
if (!(!UI_get_cont_items(item, 0x031D, 0x00F0, 0x0004))) goto labelFunc009A_01DE;
return;
labelFunc009A_01DE:
if (!(event == 0x0001)) goto labelFunc009A_0220;
if (!(!Func0881())) goto labelFunc009A_021F;
var0011 = Func092D(item);
var0012 = ((var0011 + 0x0004) % 0x0008);
var0009 = UI_execute_usecode_array(item, [(byte)0x61, (byte)0x59, var0012, (byte)0x55, 0x009A, 0x0000]);
goto labelFunc009A_0220;
labelFunc009A_021F:
abort;
labelFunc009A_0220:
if (!(event == 0x0002)) goto labelFunc009A_093E;
var0013 = Func0908();
if (!gflags[0x030E]) goto labelFunc009A_0243;
UI_show_npc_face(0xFEE2, 0x0001);
message("\"I'll speak to thee no more, Avatar!\" He ignores you.*");
say();
abort;
labelFunc009A_0243:
if (!(!gflags[0x0310])) goto labelFunc009A_0286;
UI_show_npc_face(0xFEE2, 0x0000);
message("At your approach, the old man straightens and looking directly at you he says, \"Well met, ");
message(var0013);
message(". I am called Erethian. Although thou dost not know me, I know thee well.");
say();
message("I have seen thee destroy Mondain's power and so defeat that misguided mage, I have seen thee vanquish the enchantress Minax, I have also seen, in a very unique way, how thou brought low the hellspawn Exodus.\"");
say();
message("He falls silent here and you notice that the old man's eyes are milky white.");
say();
gflags[0x0310] = true;
UI_add_answer(["name", "job", "Mondain", "Minax", "Exodus", "bye"]);
goto labelFunc009A_02C6;
labelFunc009A_0286:
if (!(!(gflags[0x032A] || gflags[0x032B]))) goto labelFunc009A_02A8;
UI_show_npc_face(0xFEE2, 0x0000);
message("\"Greetings once again, ");
message(var0013);
message(". How may I assist thee?\" The blind old man looks unerringly in your direction.");
say();
goto labelFunc009A_02B6;
labelFunc009A_02A8:
UI_show_npc_face(0xFEE2, 0x0001);
message("\"I'll never get any work done like this! What do you wish of me?\" Erethian seems a little pevish at this point.");
say();
labelFunc009A_02B6:
UI_add_answer(["name", "job", "bye"]);
labelFunc009A_02C6:
if (!gflags[0x0337]) goto labelFunc009A_02E4;
if (!(!gflags[0x0338])) goto labelFunc009A_02E1;
if (!(!gflags[0x0330])) goto labelFunc009A_02E1;
UI_add_answer("black sword");
labelFunc009A_02E1:
goto labelFunc009A_02F8;
labelFunc009A_02E4:
if (!(!gflags[0x0312])) goto labelFunc009A_02F8;
if (!gflags[0x0311]) goto labelFunc009A_02F8;
UI_add_answer("powerful artifact");
labelFunc009A_02F8:
if (!gflags[0x0313]) goto labelFunc009A_0338;
if (!(!gflags[0x032F])) goto labelFunc009A_030F;
UI_add_answer("daemon mirror");
goto labelFunc009A_0335;
labelFunc009A_030F:
if (!(!gflags[0x0330])) goto labelFunc009A_0327;
if (!(!gflags[0x0338])) goto labelFunc009A_0324;
UI_add_answer("daemon gem");
labelFunc009A_0324:
goto labelFunc009A_0335;
labelFunc009A_0327:
if (!(!gflags[0x0339])) goto labelFunc009A_0335;
UI_add_answer("daemon blade");
labelFunc009A_0335:
goto labelFunc009A_0352;
labelFunc009A_0338:
if (!gflags[0x032F]) goto labelFunc009A_0352;
if (!gflags[0x0330]) goto labelFunc009A_0352;
if (!(!gflags[0x0339])) goto labelFunc009A_0352;
UI_add_answer("daemon blade");
labelFunc009A_0352:
if (!gflags[0x0318]) goto labelFunc009A_035F;
UI_add_answer("the Psyche returns");
labelFunc009A_035F:
if (!gflags[0x0327]) goto labelFunc009A_036C;
UI_add_answer("great evil");
labelFunc009A_036C:
if (!gflags[0x0341]) goto labelFunc009A_0379;
UI_add_answer("Talisman of Infinity");
labelFunc009A_0379:
var0014 = false;
var0015 = false;
var0016 = false;
var0017 = false;
labelFunc009A_0389:
converse (0) atend labelFunc009A_0929;
case "the Psyche returns" atend labelFunc009A_03B7:
UI_show_npc_face(0xFEE2, 0x0000);
message("\"Could this possibly be true?\" Erethian's blind eyes light up with unabashed glee. \"What an opportunity I have here.\"");
say();
UI_show_npc_face(0xFEE2, 0x0001);
message("He once again notices your presence. \"Now, do not let any strange ideas of destruction enter thy mind, Avatar. I shan't let thee deprive me of this chance to experience a true wonder of the world. Run along now... Is there not a right to be wronged, somewhere else?");
say();
UI_remove_answer("the Psyche returns");
labelFunc009A_03B7:
case "great evil" atend labelFunc009A_03D4:
UI_show_npc_face(0xFEE2, 0x0001);
message("The elderly mage frowns. \"I sense no great evil, but then I never did quite get the knack of cosmic awareness. Nevertheless, don't worry thyself over much. These things tend to work themselves out.\" You feel as if you've just been patted on the head and asked to go play elsewhere.");
say();
UI_remove_answer("great evil");
labelFunc009A_03D4:
case "Talisman of Infinity" atend labelFunc009A_0485:
if (!(!gflags[0x030F])) goto labelFunc009A_0434;
gflags[0x030F] = true;
message("\"Ah, yes. I once had a scroll that told of a talisman by that name. If only I could remember where I put it. Dost thou by chance have the parchment entitled Scroll of Infinity with thee?");
say();
if (!Func090A()) goto labelFunc009A_042D;
if (!(!UI_count_objects(0xFE9B, 0x031D, 0x0032, 0x0001))) goto labelFunc009A_040C;
message("\"If thou dost not have the scroll, I cannot help thee in this matter.\"");
say();
goto labelFunc009A_042A;
labelFunc009A_040C:
message("\"Here we are. Now then, it appears to be written in a strange format. One might even say a code of sorts... I have it! Apparently, the Talisman currently resides in the Great Void. A plane somewhat removed from ours. If thou wishest to gain access to this void, thou shalt need to craft two lenses: one concave, the other convex. Light focused through the properly enchanted lenses will open a conduit between our realm and the void. I believe this treatise speaks of three Talismans of Principle that send out a call to the Infinity Talisman and bring it here. Once here, it would seem that its sole purpose is to coerce a powerful force into the void.\" A thought hits the mage like lightning strikes a tree. \"Oh no, Avatar... Thou shan't gain any more aid from me. I may be blind, but I see through thy sham. I'll not help thee send the Core into the void.\" Erethian falls silent, and it would appear that he'll speak no more.");
say();
UI_remove_npc_face(0xFEE2);
UI_show_npc_face(0xFEDC, 0x0000);
message("Arcadion's voice whispers to you like ripple in still pond, \"Fear not, my master. I have some knowledge of these matters.\"*");
say();
gflags[0x030E] = true;
abort;
labelFunc009A_042A:
goto labelFunc009A_0431;
labelFunc009A_042D:
message("\"Very well. I shall need the scroll to give thee further information.\"");
say();
labelFunc009A_0431:
goto labelFunc009A_047E;
labelFunc009A_0434:
message("\"Dost thou have the Scroll of Infinity amongst thy possessions?\"");
say();
if (!Func090A()) goto labelFunc009A_047A;
if (!(!UI_count_objects(0xFE9B, 0x031D, 0x0032, 0x0001))) goto labelFunc009A_0459;
message("\"I needs must touch the scroll to glean its meaning. Else I'll not be able to help thee in this matter.\"");
say();
goto labelFunc009A_0477;
labelFunc009A_0459:
message("\"Here we are. Now then, it appears to be written in a strange format. One might even say a code of sorts... I have it! Apparently, the Talisman currently resides in the Great Void. A plane somewhat removed from ours. If thou wishest to gain access to this void, thou shalt need to craft two lenses: one concave, the other convex. Light focused through the properly enchanted lenses will open a conduit between our realm and the void. I believe this treatise speaks of three Talismans of Principle that send out a call to the Infinity Talisman and bring it here. Once here, it would seem that its sole purpose is to coerce a powerful force into the void.\" A thought hits the mage like lightning strikes a tree. \"Oh no, Avatar... Thou shan't gain any more aid from me. I may be blind, but I see through thy sham. I'll not help thee send the Core into the void.\" Erethian falls silent, and it would appear that he'll speak no more.");
say();
UI_remove_npc_face(0xFEE2);
UI_show_npc_face(0xFEDC, 0x0000);
message("Arcadion's voice whispers to you like ripple in still pond, \"Fear not, my master. I have some knowledge of these matters.\"*");
say();
gflags[0x030E] = true;
abort;
labelFunc009A_0477:
goto labelFunc009A_047E;
labelFunc009A_047A:
message("\"If thou bringest the scroll to me I can aid the in finding the meaning of the archaic text.\"");
say();
labelFunc009A_047E:
UI_remove_answer("Talisman of Infinity");
labelFunc009A_0485:
case "powerful artifact" atend labelFunc009A_0498:
message("\"I once attempted to create a sword of great power.\" Erethian frowns in concentration then says, \"if thou wishest to continue my work, thou shalt have need of some few pieces of forging equipment... And a place to put them... I know just the spot. Come with me and I'll see what I can do to help thee.\"*");
say();
var0015 = true;
goto labelFunc009A_0929;
labelFunc009A_0498:
case "black sword" atend labelFunc009A_050D:
UI_show_npc_face(0xFEE2, 0x0001);
message("Erethian nods his head when you tell him of your dilemma with the black sword. \"Yes, I can see how the blade would be too clumsy to swing in combat. However, if thou were to bind a magical source of power into the hilt of the blade, thou mightest be able to counteract the unwieldy nature of the sword.\"");
say();
if (!UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x02F8, 0xFE99, 0x000D)) goto labelFunc009A_04F2;
UI_show_npc_face(0xFEDD, 0x0000);
message("The little gem sparks up at this turn of the conversation. \"I believe that in my current form, I could serve perfectly well as the blade's stabilizing force. In truth, this would allow me to give thee access to some of my more dramatic powers.\" The daemon sounds excited at this prospect, perhaps a little too excited.");
say();
UI_remove_npc_face(0xFEDD);
UI_show_npc_face(0xFEE2, 0x0001);
message("Erethian's voice is quiet as he says, \"Consider well before thou bindest Arcadion into the sword. For it is true that he will be able to solve the sword's problem of balance, but will he be able to solve his own problems as well?\"");
say();
UI_add_answer("problems");
goto labelFunc009A_04FC;
labelFunc009A_04F2:
if (!gflags[0x032F]) goto labelFunc009A_04FC;
message("You wonder if perhaps Arcadion might be able to shed some light on this issue, and as if reading your thoughts, Erethian says, \"Beware the daemon. His goals are not those of thine or mine. If he offers to help thee, it is to help himself. Of that thou canst be sure.\"");
say();
labelFunc009A_04FC:
gflags[0x0338] = true;
UI_remove_answer(["black sword", "daemon gem"]);
labelFunc009A_050D:
case "problems" atend labelFunc009A_0520:
message("\"This is thy choice to make. Apparently thou hast need to make this sword function, but if the daemon is thy only recourse, I pity thee. For as surely as Arcadion will be bound within the sword, thou wilt be bound to possess it. I can tell thee no more.\"");
say();
UI_remove_answer("problems");
labelFunc009A_0520:
case "name" atend labelFunc009A_0539:
message("The mage gives you a half smile, \"'Twould seem that thy memory is failing thee, ");
message(var0013);
message(". As I have said, my name is Erethian.\"");
say();
UI_remove_answer("name");
labelFunc009A_0539:
case "job" atend labelFunc009A_056E:
message("\"I am a follower of the principle of Truth. But unlike those of the Lyceaum, I would prefer to seek out the knowledge instead of waiting for it to come to me.");
say();
message("It is this curiosity which has brought me to this island from which Exodus, the spawn of Mondain and Minax, sought to rule the world.");
say();
message("The books and scrolls here have taught me much of Britannia's history and other... interesting subjects.\"");
say();
message("His clouded eyes sparkle with intelligence. But you can't help wondering how books and scrolls are of any use to a man afflicted with blindness.");
say();
UI_remove_answer("job");
UI_add_answer(["Mondain", "Minax", "Exodus", "subjects", "blindness"]);
labelFunc009A_056E:
case "subjects" atend labelFunc009A_0581:
message("\"If thou art interested, feel free to inspect them. This is no library.\" As if regretting his gracious gesture, he adds, \"However, I trust that thou wilt take utmost care with the older ones.\" He stops, on the verge of saying more.");
say();
UI_remove_answer("subjects");
labelFunc009A_0581:
case "blindness" atend labelFunc009A_059F:
if (!(!gflags[0x032B])) goto labelFunc009A_059A;
var0014 = true;
goto labelFunc009A_0929;
goto labelFunc009A_059F;
labelFunc009A_059A:
message("\"Thou art a tiresome child. Leave me be!\" He ignores your presence.*");
say();
abort;
labelFunc009A_059F:
case "Mondain" atend labelFunc009A_05C7:
message("Erethian scowls, \"Now there was a mighty wizard. A bit twisted but then who knows what happens to the human mind when 'tis subjected to the powers he wielded.");
say();
message("'Tis even said his skull alone had the power to destroy enemies... he must have locked a magical matrix upon it, I'll have to research that.\" He nods his head, seemingly making a mental note, then continues with a wistful look on his aged features,");
say();
message("\"I would have loved to study that fascinating Gem of Immortality, but alas, I was born in too late an era.\"");
say();
UI_add_answer(["Gem of Immortality", "skull"]);
UI_remove_answer("Mondain");
labelFunc009A_05C7:
case "Minax" atend labelFunc009A_063A:
message("A sad sweet smile comes to the wizard's face, \"She was quite a comely lass at one time, with a mind forever searching.\" His expression darkens, \"But then Mondain forced all of the good sense from her.");
say();
message("She became a power unto herself, in time. I do not think she quite rivaled her former mentor, Mondain, but she was a force to be reckoned with, nevertheless.");
say();
message("And that thou didst, with the Quicksword, Enilno. That act will most likely have tales sung about it for the next eon.\" Under his breath he adds, \"Even if Iolo's the only one who sings it.\"");
say();
if (!UI_find_nearest(item, 0x01D1, 0x0028)) goto labelFunc009A_062C;
UI_show_npc_face(0xFFFF, 0x0000);
message("With a look of indignation Iolo says, \"Pardon me, sir. But I'll have thee know that ballads of the Avatar still grace all of the finest drinking establishments of Britannia.\"");
say();
UI_show_npc_face(0xFEE2, 0x0000);
message("\"And what a dubious distinction that is.\" The corners of the mage's mouth come up in a delicate smile.");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("An angry retort dies on Iolo's lips as the elderly mage lifts his hands in a gesture of peace.");
say();
UI_show_npc_face(0xFEE2, 0x0000);
message("\"Please, forgive the offense I have given. Thou shouldst know that I have seen, almost first hand, the Avatar's bravery in the face of adversity.");
say();
message("I have nothing but the highest regard for the Destroyer of the Age of Darkness and Harbinger of the Age of Enlightenment.");
say();
UI_remove_npc_face(0xFFFF);
labelFunc009A_062C:
UI_add_answer("Enilno");
UI_remove_answer("Minax");
labelFunc009A_063A:
case "Exodus" atend labelFunc009A_065E:
message("\"That being has become a passion of mine, lately.\" He almost glows with excitement. \"Indeed, 'tis what brought me here. While I was at the Lyceaum, I happened upon a passage in a manuscript that described an Island of Fire.");
say();
message("Upon further research, I found that the entity known as Exodus was not truly destroyed. The interface between its two parts and the world was merely severed.\"");
say();
UI_add_answer(["two parts", "interface"]);
UI_remove_answer("Exodus");
labelFunc009A_065E:
case "two parts" atend labelFunc009A_069C:
message("\"One part, his psyche we shall call it, was taken by the gargoyles who live below us in a realm on the other side of the world. A truly fascinating culture they have, but I digress...\" You begin to wonder just how long this old man has been out of circulation.");
say();
message("He continues, \"The other, I have here. I call it the Dark Core, because without the psyche, it is mostly lifeless.\" His face appears to youthen, and you feel as if you're speaking to a child describing his new toy... or perhaps, pet.");
say();
message("\"I believe 'twas the removal of the psyche from the Core that caused this island to sink beneath the waves.\"");
say();
UI_add_answer("gargoyles");
if (!(!var0016)) goto labelFunc009A_0687;
UI_add_answer("psyche");
labelFunc009A_0687:
if (!(!var0017)) goto labelFunc009A_0695;
UI_add_answer("Dark Core");
labelFunc009A_0695:
UI_remove_answer("two parts");
labelFunc009A_069C:
case "interface" atend labelFunc009A_06D7:
message("His expression is unreadable, \"The machine that thou destroyed was Exodus' means of communication with and control of the world.");
say();
message("When it was destroyed, his psyche could no longer retain its hold on the Dark Core.");
say();
message("I have often wondered if another interface was implemented, would the psyche return, or possibly be regenerated...\"");
say();
message("As his idle musings begin to run toward possibly dangerous conclusions, his mouth audibly snaps shut.");
say();
if (!(!var0016)) goto labelFunc009A_06C2;
UI_add_answer("psyche");
labelFunc009A_06C2:
if (!(!var0017)) goto labelFunc009A_06D0;
UI_add_answer("Dark Core");
labelFunc009A_06D0:
UI_remove_answer("interface");
labelFunc009A_06D7:
case "gargoyles" atend labelFunc009A_06F2:
message("\"Interesting creatures, thou mightest call them balrons, but they are not the beasts that history has made of them.");
say();
message("The larger, winged ones are intelligent and magical by nature, while the smaller, wingless ones appear to be the work force for the species.\"");
say();
message("He turns his head in your direction with a puzzled expression in his eyes, \"I have the oddest feeling that thou hast heard all of this before...\" Erethian falls silent.");
say();
UI_remove_answer("gargoyles");
labelFunc009A_06F2:
case "psyche" atend labelFunc009A_0709:
message("\"Eventually, I shall turn my studies to that being. The gargoyles have placed it within a statue, in a shrine they dedicated to their principle of Diligence.");
say();
var0016 = true;
UI_remove_answer("psyche");
labelFunc009A_0709:
case "Dark Core" atend labelFunc009A_0748:
if (!UI_find_nearest(UI_get_npc_object(0xFE9C), 0x03DE, 0x0007)) goto labelFunc009A_0729;
message("\"Yes, here it is. It is the cylinder sitting upon yon pedastal.\" He motions in the direction of the Dark Core.");
say();
labelFunc009A_0729:
message("\"I have found it to be quite a treasure trove of useful facts. Its sole purpose seems to be the storage of information.");
say();
message("Much of the information is trivial, such as the detailed description of the color of the sky on a particular day eons ago,");
say();
message("while other bits give instructions for the manipulation of the world.");
say();
message("Within it I even found the knowledge to raise and sustain this island we stand upon. It is truly a remarkable artifact.\"");
say();
message("He thinks for a moment, then looks nervously in your direction, \"Please, do be careful around it. Artifacts seem to have a tendency to, shall we say, disappear around thee.\"");
say();
var0017 = true;
UI_remove_answer("Dark Core");
labelFunc009A_0748:
case "Enilno" atend labelFunc009A_0776:
message("\"Ah, now there's a question. I've heard naught of it's existence since the Age of Darkness ended. Would that I knew its location.");
say();
message("It was reputedly a great item of magic. Didst thou find it so?\" He cocks his head to one side as he asks the question.");
say();
var0018 = Func090A();
if (!var0018) goto labelFunc009A_076B;
message("\"Yes, 'tis a pity to lose such an item of antiquity. Perhaps as time unfolds it will turn up. These things have a way of surfacing at the strangest times.\"");
say();
goto labelFunc009A_076F;
labelFunc009A_076B:
message("\"No? It didst seem to serve thee well enough to dispatch the enchantress Minax. But then I suppose only a poor bard blames his instrument.\" He winks mischieviously in your general direction.");
say();
labelFunc009A_076F:
UI_remove_answer("Enilno");
labelFunc009A_0776:
case "Gem of Immortality" atend labelFunc009A_0791:
message("Milky eyes glitter up at you like twin marbles, \"Ah, yes. But thou knowest all too well about that little bauble.");
say();
message("After all, it was thee who smashed it into the shards which caused thee so much trouble during the regency of Lord Blackthorn.");
say();
message("So much power that even in a shattered state, its magic still flowed. 'Tis sad to lose such an artifact.\" As if suddenly remembering with whom he is speaking, he ammends, \"Much better than having Mondain running about mucking with things, I suppose.\"");
say();
UI_remove_answer("Gem of Immortality");
labelFunc009A_0791:
case "skull" atend labelFunc009A_07A4:
message("\"'Twould seem that someone,\" he pauses dramatically, \"let that slip into a volcano...\" His wry smile belies his careless tone.");
say();
UI_remove_answer("skull");
labelFunc009A_07A4:
case "daemon mirror" atend labelFunc009A_07C4:
message("\"Ah, so thou hast met that old windbag. Truly, I feel that I would do better to free myself of that burdensome beast, but he sometimes proves to be useful. If it weren't for his whining, perhaps he and I would get along better.\"");
say();
UI_add_answer(["whining", "free"]);
UI_remove_answer("daemon mirror");
labelFunc009A_07C4:
case "whining" atend labelFunc009A_07D7:
message("\"'Tis his favorite passtime. He begs, pleads, and threatens me to free him from that stupid mirror. Believe me, if I could I would have done it long ago.\" Erethian's lined face shows his chagrin.");
say();
UI_remove_answer("whining");
labelFunc009A_07D7:
case "free" atend labelFunc009A_07F1:
message("\"He wants this special bauble. I once possessed this gem he seeks, and I don't think he'd be very happy once he gets it. I have tried to tell him that 'twould only imprison him in a more mobile jail, but alas, his head is made of stone.\"");
say();
UI_add_answer("jail");
UI_remove_answer("free");
labelFunc009A_07F1:
case "jail" atend labelFunc009A_080B:
message("\"Quite. Arcadion seeks to have dominion over Britannia and believes that the gem will give him the ability to exert his power here. In truth, the Ether Gem works in the reverse, his power will become accessible to the one who possesses the gem.\"");
say();
UI_add_answer("Ether Gem");
UI_remove_answer("jail");
labelFunc009A_080B:
case "Ether Gem" atend labelFunc009A_082E:
message("\"The gem was pilfered from me by an ill tempered dragon. She blew her way into this castle, waylayed the golems that protect the Shrine of Principle, then destroyed a perfectly good secret door on her way to the Test of Courage. I'd have liked to see her squeeze through the hole she made, 'tis hardly big enough for a creature of her bulk.\" The mage's milky eyes twinkle with suppressed mirth.");
say();
UI_add_answer(["golems", "Shrine of Principle", "Test of Courage"]);
UI_remove_answer("Ether Gem");
labelFunc009A_082E:
case "golems" atend labelFunc009A_0848:
message("\"Mmmm... Yes. This pair of manshaped, magical constucts used to guard the Shrine of Principle, but alas, one fell pray to falling rocks when the dragon assaulted the castle. The other picked up his, ah... brother, for lack of a better word, and carried him off through the portal to the Test of Love.\"");
say();
UI_add_answer("Test of Love");
UI_remove_answer("golems");
labelFunc009A_0848:
case "Shrine of Principle" atend labelFunc009A_085B:
message("\"The shrine lies through the doors at the rear of the main hall. There thou canst find three statues, each one dedicated to a Principle set forth by Lord Britsh at the beginning of the Age of Enlightenment.\" Conspiratorially he adds, \"A bit stuffy, but they make nice cloakracks.\"");
say();
UI_remove_answer("Shrine of Principle");
labelFunc009A_085B:
case "Test of Love" atend labelFunc009A_086E:
message("\"I not had the chance to inspect that oddity yet, however, thou art welcome to peruse it at thy leisure.\" He smiles like a grandfather giving a present to a child.");
say();
UI_remove_answer("Test of Love");
labelFunc009A_086E:
case "Test of Courage" atend labelFunc009A_089D:
if (!UI_is_pc_female()) goto labelFunc009A_0886;
var0019 = "heroine's";
goto labelFunc009A_088C;
labelFunc009A_0886:
var0019 = "hero's";
labelFunc009A_088C:
message("\"I believe 'twas set in motion by Lord British in order to test...\" He gestures in your direction, \"A virtuous ");
message(var0019);
message(" fighting ability and courage. The statues in the back of this castle can tell thee more about the tests, though.\" Erethian grins mysteriously.");
say();
UI_remove_answer("Test of Courage");
labelFunc009A_089D:
case "daemon gem" atend labelFunc009A_08F4:
message("\"So... thou hast made a servant of Arcadion. 'Tis good to be rid of his incessant whining. I hope that thou findest him to be as useful as I didst.\" You're not sure, but his words might be construed as a curse.");
say();
if (!UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x02F8, 0xFE99, 0x000D)) goto labelFunc009A_08ED;
UI_show_npc_face(0xFEDD, 0x0000);
message("The gem glows brighter, \"'Tis good to see the last of thee, also, old man. Perhaps in another life, I shall be thy master, and thou the slave.\" The daemon lets out a chilling little laugh.");
say();
UI_remove_npc_face(0xFEDD);
UI_show_npc_face(0xFEE2, 0x0001);
message("Erethian looks a little shaken at hearing the daemon's voice, but quickly recovers his composure. \"I think not, daemon. I'm not at all sure that there is a way for thou to get out of that little gem.\" The elderly mage's expression is unreadable.*");
say();
UI_show_npc_face(0xFEE2, 0x0000);
labelFunc009A_08ED:
UI_remove_answer("daemon gem");
labelFunc009A_08F4:
case "daemon blade" atend labelFunc009A_090B:
message("\"I see that thou didst not heed my warning. Alas, my pity shall be thine eternally. And so, what wouldst thou have of me, Master and Slave of the Shade Blade.\"");
say();
gflags[0x0339] = true;
UI_remove_answer("daemon blade");
labelFunc009A_090B:
case "bye" atend labelFunc009A_0926:
if (!(!gflags[0x0338])) goto labelFunc009A_0921;
message("\"Goodbye and good luck... Thou'lt need it.\" The old mage snickers under his breath as if enjoying a personal joke, quite possibly at your expense.*");
say();
goto labelFunc009A_0925;
labelFunc009A_0921:
message("\"Goodbye and good luck...\" Erethian sounds truly sympathetic.");
say();
labelFunc009A_0925:
abort;
labelFunc009A_0926:
goto labelFunc009A_0389;
labelFunc009A_0929:
break;
if (!var0014) goto labelFunc009A_0934;
item->Func0696();
labelFunc009A_0934:
if (!var0015) goto labelFunc009A_093E;
item->Func069A();
labelFunc009A_093E:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern var Func0908 0x908 ();
extern var Func090A 0x90A ();
extern void Func0882 0x882 (var var0000);
void Func009B shape#(0x9B) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
if (!(event == 0x0001)) goto labelFunc009B_028C;
UI_show_npc_face(0xFEE3, 0x0000);
var0000 = Func08F7(0xFFFE);
var0001 = Func08F7(0xFFFD);
var0002 = Func0908();
if (!(!gflags[0x01B3])) goto labelFunc009B_0036;
message("The hooded figure in the boat ignores you completely.*");
say();
abort;
labelFunc009B_0036:
if (!gflags[0x0198]) goto labelFunc009B_0043;
UI_add_answer("sacrifice");
labelFunc009B_0043:
if (!(!gflags[0x01C3])) goto labelFunc009B_0055;
message("Before you stands a tall, skeletal figure in a ghostly boat. He holds out his hand to you, and says in a sepulchral voice, \"I am the Ferryman of Skara Brae... Thou must pay two coins... to cross the Misty Channel.\"");
say();
gflags[0x01C3] = true;
goto labelFunc009B_0078;
labelFunc009B_0055:
if (!(!gflags[0x0197])) goto labelFunc009B_0063;
message("The Ferryman of Skara Brae stands in his spectral boat, holding out his hand for any who would pay his price.");
say();
goto labelFunc009B_006E;
labelFunc009B_0063:
message("The Ferryman of Skara Brae stands in his spectral boat, holding his pole across his chest. He notices your approach. \"You need not pay... to return to the mainland.\"");
say();
UI_add_answer("return");
labelFunc009B_006E:
if (!gflags[0x01A3]) goto labelFunc009B_0078;
message("He seems a bit disgruntled. \"I told you I would be here... until the end of eternity.\"");
say();
labelFunc009B_0078:
UI_add_answer(["name", "job", "Ferryman", "Misty Channel", "Skara Brae", "bye"]);
if (!(!gflags[0x0197])) goto labelFunc009B_009F;
UI_add_answer("pay");
labelFunc009B_009F:
converse (0) atend labelFunc009B_028B;
case "name" atend labelFunc009B_00B5:
message("\"I am... the Ferryman.\" His voice creaks like the rocking of the boat.");
say();
UI_remove_answer("name");
labelFunc009B_00B5:
case "job" atend labelFunc009B_00C1:
message("The Ferryman doesn't respond at first, shaking his head from side to side in puzzlement. \"I am... the Ferryman.\"");
say();
labelFunc009B_00C1:
case "Ferryman" atend labelFunc009B_00D4:
message("\"Yes, if you pay me... I can take you across the Misty Channel.\"");
say();
UI_remove_answer("Ferryman");
labelFunc009B_00D4:
case "Misty Channel" atend labelFunc009B_00E7:
message("He turns to the side and waves his skeletal hand in a sweeping gesture over the water upon which his boat rests. \"This... is the Misty Channel.\"");
say();
UI_remove_answer("Misty Channel");
labelFunc009B_00E7:
case "Skara Brae" atend labelFunc009B_019A:
if (!(!gflags[0x0197])) goto labelFunc009B_018F;
message("He turns all the way around and points across the water to the west. \"There... \"");
say();
if (!(var0001 && var0000)) goto labelFunc009B_018C;
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Er... ");
message(var0002);
message(", art thou sure we need to go over there?\"*");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFFE, 0x0000);
message("\"What's the matter, Shamino? Art thou -afraid-?\"*");
say();
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Of course not! I just... well, I... oh, never mind! Let's go!\"*");
say();
UI_remove_npc_face(0xFFFD);
var0003 = Func08F7(0xFFFF);
if (!var0003) goto labelFunc009B_0182;
UI_show_npc_face(0xFFFF, 0x0000);
message("Iolo's eyes narrow as he adopts a patronizing look on his face.~~\"And I suppose thou art without fear?\" he says to Spark.*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFE, 0x0000);
message("\"No, sir. I am not afraid of a skeleton,\" he says. As he looks at the ferryman, however, he gulps.*");
say();
UI_remove_npc_face(0xFFFE);
labelFunc009B_0182:
UI_show_npc_face(0xFEE3, 0x0000);
labelFunc009B_018C:
goto labelFunc009B_0193;
labelFunc009B_018F:
message("The gaunt figure looks around as if perplexed. \"This... is Skara Brae.\"");
say();
labelFunc009B_0193:
UI_remove_answer("Skara Brae");
labelFunc009B_019A:
case "pay", "return" atend labelFunc009B_024F:
if (!(!gflags[0x0197])) goto labelFunc009B_01EF;
message("\"Wilt thou pay my price... for passage to Skara Brae?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc009B_01E8;
var0005 = UI_remove_party_items(0x0002, 0x0284, 0xFE99, 0xFE99, true);
if (!var0005) goto labelFunc009B_01E1;
message("You place the coins in the shade's palm and his bony fingers close over them. \"Step aboard... if thou wouldst go... to the Isle of the Dead.\"");
say();
Func0882(item);
goto labelFunc009B_01E5;
labelFunc009B_01E1:
message("\"I'll not cross... without proper payment.\"");
say();
labelFunc009B_01E5:
goto labelFunc009B_01EC;
labelFunc009B_01E8:
message("\"Very well.\" He seems a little disappointed.");
say();
labelFunc009B_01EC:
goto labelFunc009B_0242;
labelFunc009B_01EF:
message("\"Dost thou wish... to return to the mainland?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc009B_023E;
var0006 = UI_get_npc_object(0xFF70);
var0007 = UI_get_party_list();
var0008 = UI_get_npc_object(0xFF6D);
if (!((var0006 in var0007) || (var0008 in var0007))) goto labelFunc009B_0233;
message("\"I may not carry spirits to the mainland.\" He holds his pole in front of himself, blocking your way onto the boat.");
say();
goto labelFunc009B_023B;
labelFunc009B_0233:
message("The Ferryman seems to smile beneath his hood as he motions for you to once more board his spectral boat.");
say();
Func0882(item);
labelFunc009B_023B:
goto labelFunc009B_0242;
labelFunc009B_023E:
message("You think you see pale flames flicker in the depths of his cowl where his eyes should be. They fade as he sighs, \"No matter...\"");
say();
labelFunc009B_0242:
UI_remove_answer(["pay", "return"]);
labelFunc009B_024F:
case "sacrifice" atend labelFunc009B_027B:
if (!(!gflags[0x0199])) goto labelFunc009B_0270;
message("Just for a moment you think you see a fleeting expression of hope cross the Ferryman's skeletal features, then it's gone. \"I must perform my duty... until the end of eternity.\"");
say();
UI_remove_answer("sacrifice");
gflags[0x0199] = true;
goto labelFunc009B_027B;
labelFunc009B_0270:
message("\"Do not taunt me... with hopes of release. I must perform my duty... until the end of eternity.\"");
say();
UI_remove_answer("sacrifice");
labelFunc009B_027B:
case "bye" atend labelFunc009B_0288:
message("Without acknowledging your goodbye, the Ferryman lowers his head and holds his pole across his chest.*");
say();
abort;
labelFunc009B_0288:
goto labelFunc009B_009F;
labelFunc009B_028B:
break;
labelFunc009B_028C:
if (!(event == 0x0000)) goto labelFunc009B_0295;
abort;
labelFunc009B_0295:
return;
}
void Func009F shape#(0x9F) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc009F_0090;
var0000 = UI_game_hour();
var0001 = "am";
if (!(var0000 > 0x000C)) goto labelFunc009F_002F;
var0000 = (var0000 - 0x000C);
var0001 = "pm";
labelFunc009F_002F:
if (!(var0000 == 0x0000)) goto labelFunc009F_0045;
var0000 = 0x000C;
var0001 = "am";
labelFunc009F_0045:
var0002 = UI_game_minute();
if (!(var0002 <= 0x0009)) goto labelFunc009F_0060;
var0002 = ("0" + var0002);
labelFunc009F_0060:
var0003 = ((((" " + var0000) + ":") + var0002) + var0001);
if (!UI_in_gump_mode()) goto labelFunc009F_0088;
UI_item_say(item, var0003);
goto labelFunc009F_0090;
labelFunc009F_0088:
UI_item_say(item, var0003);
labelFunc009F_0090:
return;
}
void Func00B2 shape#(0xB2) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc00B2_000F;
var0000 = UI_display_map();
labelFunc00B2_000F:
return;
}
void Func00D2 shape#(0xD2) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!(event == 0x0001)) goto labelFunc00D2_00B7;
var0000 = UI_get_item_quality(item);
if (!(var0000 == UI_part_of_day())) goto labelFunc00D2_001C;
return;
labelFunc00D2_001C:
var0001 = UI_set_item_quality(item, UI_part_of_day());
if (!(UI_die_roll(0x0001, 0x0004) > 0x0001)) goto labelFunc00D2_00B7;
var0002 = UI_create_new_object(0x0179);
if (!var0002) goto labelFunc00D2_00B7;
UI_set_item_flag(var0002, 0x0012);
UI_clear_item_flag(var0002, 0x000B);
UI_set_item_frame(var0002, 0x0018);
var0003 = UI_get_object_position(item);
var0004 = (var0003[0x0001] - UI_die_roll(0x0000, 0x0001));
var0005 = (var0003[0x0002] - UI_die_roll(0x0000, 0x0001));
var0006 = (var0003[0x0003] + 0x0001);
var0001 = UI_update_last_created([var0004, var0005, var0006]);
labelFunc00D2_00B7:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func00E1 shape#(0xE1) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc00E1_0009;
return;
labelFunc00E1_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc00E1_005A;
if (!Func081D(item, 0x0188, 0x0000, 0x0000, 0x0000, 0x0007)) goto labelFunc00E1_0057;
Func081E(item, 0x00F6, 0x0001, 0x0001, 0x00FA, 0x0000, 0x0000, 0x0003, 0x0005);
UI_play_sound_effect2(0x001F, item);
goto labelFunc00E1_005A;
labelFunc00E1_0057:
Func0818();
labelFunc00E1_005A:
if (!(var0000 == 0x0000)) goto labelFunc00E1_00A4;
if (!Func081D(item, 0x0188, 0x0001, 0x0000, 0x0000, 0x0007)) goto labelFunc00E1_00A1;
Func081E(item, 0x00F6, 0x0000, 0x0002, 0x00FA, 0x0001, 0xFFFD, 0x0000, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc00E1_00A4;
labelFunc00E1_00A1:
Func0818();
labelFunc00E1_00A4:
if (!(var0000 == 0x0002)) goto labelFunc00E1_00B2;
Func0819(item);
labelFunc00E1_00B2:
if (!(var0000 == 0x0003)) goto labelFunc00E1_00C0;
Func081A(item);
labelFunc00E1_00C0:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func00F6 shape#(0xF6) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc00F6_0009;
return;
labelFunc00F6_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc00F6_005A;
if (!Func081D(item, 0x00FA, 0x0000, 0x0000, 0x0003, 0x0005)) goto labelFunc00F6_0057;
Func081E(item, 0x00E1, 0x0001, 0x0001, 0x0188, 0x0000, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001F, item);
goto labelFunc00F6_005A;
labelFunc00F6_0057:
Func0818();
labelFunc00F6_005A:
if (!(var0000 == 0x0000)) goto labelFunc00F6_00A4;
if (!Func081D(item, 0x00FA, 0x0001, 0xFFFD, 0x0000, 0x0007)) goto labelFunc00F6_00A1;
Func081E(item, 0x00E1, 0x0000, 0x0002, 0x0188, 0x0001, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc00F6_00A4;
labelFunc00F6_00A1:
Func0818();
labelFunc00F6_00A4:
if (!(var0000 == 0x0002)) goto labelFunc00F6_00B2;
Func0819(item);
labelFunc00F6_00B2:
if (!(var0000 == 0x0003)) goto labelFunc00F6_00C0;
Func081A(item);
labelFunc00F6_00C0:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func00FA shape#(0xFA) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc00FA_0009;
return;
labelFunc00FA_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc00FA_005A;
if (!Func081D(item, 0x00F6, 0x0000, 0x0003, 0x0000, 0x0001)) goto labelFunc00FA_0057;
Func081E(item, 0x0188, 0x0001, 0x0002, 0x00E1, 0x0000, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001F, item);
goto labelFunc00FA_005A;
labelFunc00FA_0057:
Func0818();
labelFunc00FA_005A:
if (!(var0000 == 0x0000)) goto labelFunc00FA_00A4;
if (!Func081D(item, 0x00F6, 0x0001, 0x0000, 0xFFFD, 0x0007)) goto labelFunc00FA_00A1;
Func081E(item, 0x0188, 0x0000, 0x0001, 0x00E1, 0x0001, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc00FA_00A4;
labelFunc00FA_00A1:
Func0818();
labelFunc00FA_00A4:
if (!(var0000 == 0x0002)) goto labelFunc00FA_00B2;
Func0819(item);
labelFunc00FA_00B2:
if (!(var0000 == 0x0003)) goto labelFunc00FA_00C0;
Func081A(item);
labelFunc00FA_00C0:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern var Func080D 0x80D ();
extern void Func0831 0x831 (var var0000);
extern var Func08B3 0x8B3 (var var0000);
extern void Func0830 0x830 (var var0000, var var0001);
void Func00FB shape#(0xFB) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event != 0x0001)) goto labelFunc00FB_0009;
return;
labelFunc00FB_0009:
if (!UI_in_gump_mode()) goto labelFunc00FB_0014;
UI_close_gumps();
labelFunc00FB_0014:
if (!UI_get_barge(item)) goto labelFunc00FB_00ED;
var0000 = UI_find_nearby(item, 0x00C7, 0x0005, 0x0000);
var0001 = UI_find_nearby(item, 0x00FB, 0x0005, 0x0000);
if (!(!(item in var0001))) goto labelFunc00FB_004F;
var0001 = (var0001 & item);
labelFunc00FB_004F:
if (!(!UI_get_item_flag(0xFE9C, 0x000A))) goto labelFunc00FB_00C2;
var0002 = UI_get_item_quality(item);
var0003 = UI_count_objects(0xFE9B, 0x031D, var0002, 0xFE99);
if (!(!var0003)) goto labelFunc00FB_009E;
if (!(UI_get_array_size(UI_get_party_list()) == 0x0001)) goto labelFunc00FB_0097;
Func08FF("@The deed for this vessel must first be purchased.@");
goto labelFunc00FB_009D;
labelFunc00FB_0097:
Func08FF("@We must purchase the deed for this vessel before we sail her.@");
labelFunc00FB_009D:
return;
labelFunc00FB_009E:
if (!Func080D()) goto labelFunc00FB_00AB;
Func0831(item);
goto labelFunc00FB_00BF;
labelFunc00FB_00AB:
var0004 = Func08B3(var0000[0x0001]);
UI_set_item_flag(item, 0x0014);
labelFunc00FB_00BF:
goto labelFunc00FB_00ED;
labelFunc00FB_00C2:
UI_clear_item_flag(item, 0x0014);
Func0830(var0001, 0x0000);
UI_clear_item_flag(item, 0x000A);
UI_clear_item_flag(item, 0x001A);
UI_play_music(0x00FF, 0x0000);
labelFunc00FB_00ED:
return;
}
void Func00FC shape#(0xFC) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0001)) goto labelFunc00FC_0068;
var0000 = UI_game_hour();
if (!(var0000 > 0x000C)) goto labelFunc00FC_0023;
var0000 = (var0000 - 0x000C);
labelFunc00FC_0023:
if (!(var0000 == 0x0000)) goto labelFunc00FC_0033;
var0000 = 0x000C;
labelFunc00FC_0033:
var0001 = UI_game_minute();
if (!(var0001 < 0x000A)) goto labelFunc00FC_004E;
var0001 = ("0" + var0001);
labelFunc00FC_004E:
var0002 = (((" " + var0000) + ":") + var0001);
UI_item_say(item, var0002);
labelFunc00FC_0068:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
extern void Func0628 object#(0x628) ();
void Func0102 shape#(0x102) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0001)) goto labelFunc0102_0022;
if (!UI_in_usecode(item)) goto labelFunc0102_001E;
UI_halt_scheduled(item);
Func08FE("@It is about time!@");
goto labelFunc0102_0022;
labelFunc0102_001E:
item->Func0628();
labelFunc0102_0022:
if (!(event == 0x0008)) goto labelFunc0102_00A5;
var0000 = UI_get_object_position(item);
var0000[0x0001] = (var0000[0x0001] - 0x0002);
var0000[0x0002] = (var0000[0x0002] + 0x0001);
var0001 = UI_get_cont_items(0xFE9C, 0x032A, 0xFE99, 0xFE99);
if (!var0001) goto labelFunc0102_008F;
var0002 = UI_set_last_created(var0001);
if (!var0002) goto labelFunc0102_008F;
UI_set_item_frame(var0001, 0x0004);
var0002 = UI_update_last_created(var0000);
labelFunc0102_008F:
var0002 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, 0x0000, (byte)0x01, (byte)0x6C]);
labelFunc0102_00A5:
return;
}
// externs
extern var Func0827 0x827 (var var0000, var var0001);
extern void Func08FF 0x8FF (var var0000);
void Func0105 shape#(0x105) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0007)) goto labelFunc0105_0062;
UI_halt_scheduled(item);
var0000 = UI_execute_usecode_array(item, [(byte)0x46, 0x0000, (byte)0x4E, (byte)0x01, (byte)0x58, 0x0006, (byte)0x0B, 0xFFFC, 0x0020, (byte)0x55, 0x0105]);
var0001 = Func0827(0xFE9C, item);
var0000 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0001, (byte)0x01, (byte)0x67, (byte)0x61, (byte)0x27, 0x0001, (byte)0x0B, 0xFFFB, 0x0009]);
labelFunc0105_0062:
if (!(event == 0x0002)) goto labelFunc0105_00F1;
var0002 = UI_get_cont_items(0xFE9C, 0x028E, 0xFE99, 0xFE99);
if (!var0002) goto labelFunc0105_008A;
UI_remove_item(var0002);
labelFunc0105_008A:
var0003 = UI_create_new_object(0x0353);
if (!var0003) goto labelFunc0105_00F1;
UI_set_item_flag(var0003, 0x0012);
UI_set_item_flag(var0003, 0x000B);
UI_set_item_frame(var0003, UI_die_roll(0x0000, 0x0004));
var0004 = UI_get_object_position(item);
var0004[0x0001] = (var0004[0x0001] + 0x0001);
var0004[0x0002] = (var0004[0x0002] + 0x0001);
var0000 = UI_update_last_created(var0004);
labelFunc0105_00F1:
if (!(event == 0x0001)) goto labelFunc0105_00FF;
Func08FF("@I believe that one threads a loom before using it.@");
labelFunc0105_00FF:
return;
}
void Func010B shape#(0x10B) ()
{
if (!(event == 0x0001)) goto labelFunc010B_0010;
UI_play_music(0x0027, item);
labelFunc010B_0010:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func010E shape#(0x10E) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc010E_0009;
return;
labelFunc010E_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc010E_005A;
if (!Func081D(item, 0x0178, 0x0000, 0x0000, 0x0000, 0x0007)) goto labelFunc010E_0057;
Func081E(item, 0x01B0, 0x0001, 0x0001, 0x01B1, 0x0000, 0x0000, 0x0003, 0x0005);
UI_play_sound_effect2(0x001F, item);
goto labelFunc010E_005A;
labelFunc010E_0057:
Func0818();
labelFunc010E_005A:
if (!(var0000 == 0x0000)) goto labelFunc010E_00A4;
if (!Func081D(item, 0x0178, 0x0001, 0x0000, 0x0000, 0x0007)) goto labelFunc010E_00A1;
Func081E(item, 0x01B0, 0x0000, 0x0002, 0x01B1, 0x0001, 0xFFFD, 0x0000, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc010E_00A4;
labelFunc010E_00A1:
Func0818();
labelFunc010E_00A4:
if (!(var0000 == 0x0002)) goto labelFunc010E_00B2;
Func0819(item);
labelFunc010E_00B2:
if (!(var0000 == 0x0003)) goto labelFunc010E_00C0;
Func081A(item);
labelFunc010E_00C0:
return;
}
// externs
extern var Func0908 0x908 ();
extern void Func08FF 0x8FF (var var0000);
void Func011C shape#(0x11C) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc011C_0082;
var0000 = UI_game_hour();
if (!((var0000 >= 0x0006) && (var0000 <= 0x000B))) goto labelFunc011C_0033;
UI_item_say(item, ((" " + UI_game_hour()) + " o'clock"));
return;
labelFunc011C_0033:
if (!(var0000 == 0x000C)) goto labelFunc011C_0046;
UI_item_say(item, "Noon");
return;
labelFunc011C_0046:
if (!((var0000 >= 0x000D) && (var0000 <= 0x0014))) goto labelFunc011C_0076;
var0000 = (var0000 - 0x000C);
UI_item_say(item, ((" " + var0000) + " o'clock"));
return;
goto labelFunc011C_0082;
labelFunc011C_0076:
var0001 = Func0908();
Func08FF("@^<Avatar>, I believe the key word in sundial is `sun'.@");
labelFunc011C_0082:
return;
}
void Func0122 shape#(0x122) ()
{
if (!(event == 0x0001)) goto labelFunc0122_0018;
UI_set_item_shape(item, 0x0174);
UI_play_sound_effect2(0x0002, item);
labelFunc0122_0018:
return;
}
void Func0123 shape#(0x123) ()
{
if (!(event == 0x0001)) goto labelFunc0123_0018;
UI_set_item_shape(item, 0x0142);
UI_play_sound_effect2(0x0002, item);
labelFunc0123_0018:
return;
}
// externs
extern var Func080C 0x80C (var var0000);
extern void Func028C shape#(0x28C) ();
extern void Func0348 shape#(0x348) ();
extern var Func08B3 0x8B3 (var var0000);
extern void Func080A 0x80A (var var0000, var var0001);
extern var Func080B 0x80B (var var0000);
void Func0124 shape#(0x124) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
var var0013;
var var0014;
if (!(event == 0x0001)) goto labelFunc0124_0088;
if (!UI_get_barge(item)) goto labelFunc0124_005D;
var0000 = Func080C(item);
if (!((var0000 == 0x028C) || (var0000 == 0x0348))) goto labelFunc0124_005A;
if (!UI_get_item_flag(item, 0x000A)) goto labelFunc0124_0053;
if (!(var0000 == 0x028C)) goto labelFunc0124_0042;
item->Func028C();
labelFunc0124_0042:
if (!(var0000 == 0x0348)) goto labelFunc0124_0050;
item->Func0348();
labelFunc0124_0050:
goto labelFunc0124_005A;
labelFunc0124_0053:
var0001 = Func08B3(item);
labelFunc0124_005A:
goto labelFunc0124_0088;
labelFunc0124_005D:
Func080A(item, 0x0124);
var0002 = (UI_get_distance(item, 0xFE9C) + 0x000F);
var0001 = UI_delayed_execute_usecode_array(item, [(byte)0x23, (byte)0x55, 0x0124], var0002);
labelFunc0124_0088:
if (!(event == 0x0002)) goto labelFunc0124_02A7;
var0003 = UI_get_object_position(0xFE9C);
var0004 = [0x0AE7, 0x09D5, 0x0A37, 0x09D5, 0x0AA7, 0x08E5, 0x0A37, 0x09A5];
var0005 = [0x0AD7, 0x0885];
var0006 = 0x0000;
if (!((var0003[0x0001] == var0005[0x0001]) && ((var0003[0x0002] == var0005[0x0002]) && (gflags[0x02E7] == false)))) goto labelFunc0124_0152;
gflags[0x02E7] = true;
var0005[0x0002] = (var0005[0x0002] + 0x0002);
UI_sprite_effect(0x0011, var0005[0x0001], var0005[0x0002], 0x0000, 0x0000, 0x0000, 0x0001);
UI_play_sound_effect2(0x003E, item);
UI_lightning();
var0007 = UI_create_new_object(0x037F);
if (!var0007) goto labelFunc0124_0151;
UI_set_item_flag(var0007, 0x0012);
var0001 = UI_update_last_created(var0005);
labelFunc0124_0151:
abort;
labelFunc0124_0152:
var0008 = 0x0001;
labelFunc0124_0158:
if (!((var0003[0x0001] == var0004[var0008]) && (var0003[0x0002] == var0004[(var0008 + 0x0001)]))) goto labelFunc0124_01A2;
var0008 = Func080B(var0008);
var0006[0x0001] = var0004[var0008];
var0006[0x0002] = var0004[(var0008 + 0x0001)];
goto labelFunc0124_01B8;
labelFunc0124_01A2:
var0008 = Func080B(var0008);
if (!(var0008 > 0x0001)) goto labelFunc0124_01B8;
goto labelFunc0124_0158;
labelFunc0124_01B8:
if (!var0006) goto labelFunc0124_02A7;
var0009 = UI_get_party_list();
var000A = [];
var000B = [];
var000C = [];
var000D = UI_get_object_position(0xFE9C);
var000E = 0x0001;
//enum();
labelFunc0124_01E8:
for (var0011 in var0009 with var000F to var0010) atend labelFunc0124_023D;
var0012 = UI_get_object_position(var0011);
var000A[var000E] = (var000D[0x0001] - var0012[0x0001]);
var000B[var000E] = (var000D[0x0002] - var0012[0x0002]);
var000C[var000E] = UI_get_item_frame_rot(var0011);
var000E = (var000E + 0x0001);
goto labelFunc0124_01E8;
labelFunc0124_023D:
UI_move_object(0xFE9B, var0006);
var000D = UI_get_object_position(0xFE9C);
var000E = 0x0001;
//enum();
labelFunc0124_0258:
for (var0011 in var0009 with var0013 to var0014) atend labelFunc0124_02A7;
UI_move_object(var0011, [(var000D[0x0001] - var000A[var000E]), (var000D[0x0002] - var000B[var000E]), var000D[0x0003]]);
UI_set_item_frame_rot(var0011, var000C[var000E]);
var000E = (var000E + 0x0001);
goto labelFunc0124_0258;
labelFunc0124_02A7:
return;
}
void Func0128 shape#(0x128) ()
{
var var0000;
if (!((event == 0x0005) || (event == 0x0006))) goto labelFunc0128_0048;
var0000 = UI_get_container(item);
labelFunc0128_0016:
if (!((var0000 != 0x0000) && (!UI_is_npc(var0000)))) goto labelFunc0128_0036;
var0000 = UI_get_container(var0000);
goto labelFunc0128_0016;
labelFunc0128_0036:
if (!(var0000 == 0x0000)) goto labelFunc0128_0048;
UI_flash_mouse(0x0000);
return;
labelFunc0128_0048:
if (!(event == 0x0005)) goto labelFunc0128_005A;
UI_set_item_flag(var0000, 0x0000);
labelFunc0128_005A:
if (!(event == 0x0006)) goto labelFunc0128_006C;
UI_clear_item_flag(var0000, 0x0000);
labelFunc0128_006C:
return;
}
void Func012A shape#(0x12A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0005)) goto labelFunc012A_0040;
var0000 = UI_get_container(item);
if (!(var0000 && UI_is_npc(var0000))) goto labelFunc012A_0039;
UI_halt_scheduled(item);
var0001 = UI_delayed_execute_usecode_array(item, [(byte)0x55, 0x012A], 0x0064);
goto labelFunc012A_0040;
labelFunc012A_0039:
UI_flash_mouse(0x0000);
labelFunc012A_0040:
if (!(event == 0x0006)) goto labelFunc012A_004D;
UI_halt_scheduled(item);
labelFunc012A_004D:
if (!(event == 0x0002)) goto labelFunc012A_00CE;
UI_halt_scheduled(item);
var0000 = UI_get_container(item);
if (!(var0000 && UI_is_npc(var0000))) goto labelFunc012A_00CE;
var0002 = UI_get_npc_prop(var0000, 0x0000);
var0003 = UI_get_npc_prop(var0000, 0x0003);
if (!(var0003 < var0002)) goto labelFunc012A_00BB;
var0001 = UI_set_npc_prop(var0000, 0x0003, 0x0001);
if (!(UI_die_roll(0x0001, 0x0064) == 0x0001)) goto labelFunc012A_00BB;
UI_remove_item(item);
return;
labelFunc012A_00BB:
var0001 = UI_delayed_execute_usecode_array(item, [(byte)0x55, 0x012A], 0x0064);
labelFunc012A_00CE:
return;
}
// externs
extern void Func0809 0x809 (var var0000);
void Func012D shape#(0x12D) ()
{
if (!(event == 0x0001)) goto labelFunc012D_000C;
Func0809(item);
labelFunc012D_000C:
return;
}
// externs
extern void Func0833 0x833 (var var0000, var var0001);
void Func012F shape#(0x12F) ()
{
if (!(event == 0x0002)) goto labelFunc012F_0011;
UI_set_item_shape(item, 0x012F);
abort;
labelFunc012F_0011:
if (!(event == 0x0001)) goto labelFunc012F_0021;
UI_flash_mouse(0x0000);
return;
labelFunc012F_0021:
Func0833(item, 0x03A8);
return;
}
// externs
extern var Func0802 0x802 (var var0000, var var0001);
void Func0133 shape#(0x133) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
var var0013;
var var0014;
var var0015;
if (!(event == 0x0001)) goto labelFunc0133_02DB;
if (!(UI_get_item_frame(item) == 0x0000)) goto labelFunc0133_02D3;
var0000 = UI_get_object_position(item);
var0001 = UI_find_nearby(item, 0x0154, 0x0005, 0x0000);
var0002 = 0x0000;
var0003 = 0x0000;
var0004 = 0x0000;
var0005 = [0x0002, 0x0007, 0x0008];
//enum();
labelFunc0133_004F:
for (var0008 in var0001 with var0006 to var0007) atend labelFunc0133_0153;
var0009 = UI_get_object_position(var0008);
var000A = UI_get_item_frame(var0008);
if (!((var0009[0x0001] == (var0000[0x0001] - 0x0003)) && ((var0009[0x0002] == var0000[0x0002]) && ((var0009[0x0003] == var0000[0x0003]) && (var000A in var0005))))) goto labelFunc0133_00B8;
var0005 = Func0802(var000A, var0005);
var0002 = var0008;
labelFunc0133_00B8:
if (!((var0009[0x0001] == (var0000[0x0001] - 0x0002)) && ((var0009[0x0002] == (var0000[0x0002] + 0x0002)) && ((var0009[0x0003] == var0000[0x0003]) && (var000A in var0005))))) goto labelFunc0133_0106;
var0005 = Func0802(var000A, var0005);
var0003 = var0008;
labelFunc0133_0106:
if (!((var0009[0x0001] == var0000[0x0001]) && ((var0009[0x0002] == (var0000[0x0002] + 0x0003)) && ((var0009[0x0003] == var0000[0x0003]) && (var000A in var0005))))) goto labelFunc0133_0150;
var0005 = Func0802(var000A, var0005);
var0004 = var0008;
labelFunc0133_0150:
goto labelFunc0133_004F;
labelFunc0133_0153:
if (!(var0002 && (var0003 && var0004))) goto labelFunc0133_02B7;
var000B = UI_find_nearby(item, 0x02F2, 0x0005, 0x0000);
//enum();
labelFunc0133_0173:
for (var000E in var000B with var000C to var000D) atend labelFunc0133_02B7;
var000F = UI_get_object_position(var000E);
if (!((var000F[0x0001] == (var0000[0x0001] + 0x0002)) && ((var000F[0x0002] == (var0000[0x0002] - 0x0002)) && (var000F[0x0003] == var0000[0x0003])))) goto labelFunc0133_02B4;
var0010 = UI_find_nearby(item, 0x00B1, 0x0005, 0x0000);
//enum();
labelFunc0133_01CE:
for (var0013 in var0010 with var0011 to var0012) atend labelFunc0133_02B4;
var0014 = UI_get_object_position(var0013);
if (!((var0014[0x0001] == (var0000[0x0001] + 0x0001)) && ((var0014[0x0002] == (var0000[0x0002] + 0x0002)) && (var0014[0x0003] == (var0000[0x0003] + 0x0002))))) goto labelFunc0133_02B1;
var0015 = UI_execute_usecode_array(item, [(byte)0x4E, (byte)0x58, 0x0043, (byte)0x27, 0x000A, (byte)0x50]);
var0015 = UI_delayed_execute_usecode_array(var0002, [(byte)0x23, (byte)0x55, 0x0615], 0x0002);
var0015 = UI_delayed_execute_usecode_array(var0003, [(byte)0x23, (byte)0x55, 0x0615], 0x0004);
var0015 = UI_delayed_execute_usecode_array(var0004, [(byte)0x23, (byte)0x55, 0x0615], 0x0006);
var0015 = UI_execute_usecode_array(var000E, [(byte)0x4E, (byte)0x0B, 0xFFFF, 0x0004]);
var0015 = UI_execute_usecode_array(var0013, [(byte)0x4E, (byte)0x0B, 0xFFFF, 0x0003, (byte)0x46, 0x0000]);
gflags[0x01D0] = true;
abort;
labelFunc0133_02B1:
goto labelFunc0133_01CE;
labelFunc0133_02B4:
goto labelFunc0133_0173;
labelFunc0133_02B7:
var0015 = UI_execute_usecode_array(item, [(byte)0x4E, (byte)0x58, 0x0045, (byte)0x27, 0x000A, (byte)0x50]);
goto labelFunc0133_02DB;
labelFunc0133_02D3:
UI_set_item_frame(item, 0x0000);
labelFunc0133_02DB:
return;
}
void Func0142 shape#(0x142) ()
{
if (!(event == 0x0001)) goto labelFunc0142_0018;
UI_set_item_shape(item, 0x0123);
UI_play_sound_effect2(0x0002, item);
labelFunc0142_0018:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern void Func08FE 0x8FE (var var0000);
void Func0149 shape#(0x149) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!UI_in_usecode(item)) goto labelFunc0149_0009;
return;
labelFunc0149_0009:
if (!(event == 0x0001)) goto labelFunc0149_0086;
var0000 = UI_get_container(item);
if (!var0000) goto labelFunc0149_0055;
var0001 = UI_get_object_position(0xFE9C);
var0001[0x0001] = (var0001[0x0001] + 0x0001);
var0002 = UI_set_last_created(item);
if (!var0002) goto labelFunc0149_0054;
var0002 = UI_update_last_created(var0001);
goto labelFunc0149_0055;
labelFunc0149_0054:
return;
labelFunc0149_0055:
if (!UI_in_gump_mode()) goto labelFunc0149_0060;
UI_close_gumps();
labelFunc0149_0060:
var0003 = 0xFFFF;
var0004 = 0xFFFF;
var0005 = 0xFFFE;
Func0828(item, var0003, var0004, var0005, 0x0149, item, 0x0007);
labelFunc0149_0086:
if (!(event == 0x0007)) goto labelFunc0149_0112;
if (!(!UI_is_pc_inside())) goto labelFunc0149_010C;
var0002 = UI_execute_usecode_array(item, [(byte)0x46, 0x0000, (byte)0x4D, (byte)0x0B, 0xFFFF, 0x000E, (byte)0x27, 0x0005, (byte)0x50, (byte)0x0B, 0xFFFF, 0x0003, (byte)0x27, 0x0002, (byte)0x4D, (byte)0x0B, 0xFFFD, 0x0003, (byte)0x4F, (byte)0x0B, 0xFFFF, 0x000E, (byte)0x46, 0x0000]);
var0002 = UI_execute_usecode_array(0xFE9C, [(byte)0x6C, (byte)0x61, (byte)0x59, 0x0006, (byte)0x65, (byte)0x27, 0x0002, (byte)0x61, (byte)0x27, 0x0002, (byte)0x0B, 0xFFFA, 0x0007]);
goto labelFunc0149_0112;
labelFunc0149_010C:
Func08FE("@Try it outside!@");
labelFunc0149_0112:
return;
}
// externs
extern void Func0942 0x942 (var var0000, var var0001);
void Func0150 shape#(0x150) ()
{
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc0150_0015;
Func0942(item, 0x0152);
labelFunc0150_0015:
return;
}
// externs
extern var Func0827 0x827 (var var0000, var var0001);
extern void Func0905 0x905 (var var0000);
void Func0152 shape#(0x152) ()
{
var var0000;
var var0001;
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc0152_001B;
UI_set_item_shape(item, 0x0150);
UI_halt_scheduled(item);
labelFunc0152_001B:
if (!(event == 0x0007)) goto labelFunc0152_004D;
UI_set_item_shape(item, 0x0150);
var0000 = Func0827(0xFE9C, item);
var0001 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0000, (byte)0x01, (byte)0x6A, (byte)0x61]);
labelFunc0152_004D:
if (!(event == 0x0005)) goto labelFunc0152_0059;
Func0905(item);
labelFunc0152_0059:
return;
}
// externs
extern void Func08FA 0x8FA (var var0000);
extern void Func092A 0x92A (var var0000, var var0001);
extern void Func08FF 0x8FF (var var0000);
extern var Func0909 0x909 ();
extern void Func08FD 0x8FD (var var0000);
extern void Func0925 0x925 (var var0000);
void Func0154 shape#(0x154) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0154_0172;
Func08FA(item);
var0000 = UI_get_item_frame(item);
var0001 = UI_click_on_item();
var0002 = UI_is_npc(var0001);
UI_play_sound_effect2(0x005A, item);
if (!var0002) goto labelFunc0154_0137;
UI_play_sound_effect(0x0044);
if (!(var0000 == 0x0000)) goto labelFunc0154_004E;
UI_set_item_flag(var0001, 0x0001);
labelFunc0154_004E:
if (!(var0000 == 0x0001)) goto labelFunc0154_006E;
var0003 = UI_die_roll(0x0003, 0x000C);
Func092A(var0001, var0003);
labelFunc0154_006E:
if (!(var0000 == 0x0002)) goto labelFunc0154_00AA;
UI_clear_item_flag(var0001, 0x0008);
UI_clear_item_flag(var0001, 0x0007);
UI_clear_item_flag(var0001, 0x0001);
UI_clear_item_flag(var0001, 0x0002);
UI_clear_item_flag(var0001, 0x0003);
labelFunc0154_00AA:
if (!(var0000 == 0x0003)) goto labelFunc0154_00BE;
UI_set_item_flag(var0001, 0x0008);
labelFunc0154_00BE:
if (!(var0000 == 0x0004)) goto labelFunc0154_00EA;
UI_clear_item_flag(var0001, 0x0001);
if (!(UI_get_npc_number(var0001) == 0xFF6A)) goto labelFunc0154_00EA;
UI_set_schedule_type(var0001, 0x0007);
labelFunc0154_00EA:
if (!(var0000 == 0x0005)) goto labelFunc0154_00FE;
UI_set_item_flag(var0001, 0x0009);
labelFunc0154_00FE:
if (!(var0000 == 0x0006)) goto labelFunc0154_010F;
UI_cause_light(0x0064);
labelFunc0154_010F:
if (!(var0000 == 0x0007)) goto labelFunc0154_0123;
UI_set_item_flag(var0001, 0x0000);
labelFunc0154_0123:
if (!(var0000 >= 0x0008)) goto labelFunc0154_0134;
Func08FF("@What is this!@");
abort;
labelFunc0154_0134:
goto labelFunc0154_016E;
labelFunc0154_0137:
var0003 = UI_die_roll(0x0001, 0x0003);
if (!(var0003 == 0x0001)) goto labelFunc0154_0167;
var0004 = Func0909();
var0005 = ("@Those are expensive, <Gender>! " + "Plese waste them not!@");
Func08FF(var0005);
goto labelFunc0154_016E;
labelFunc0154_0167:
Func08FD(0x003C);
return;
labelFunc0154_016E:
Func0925(item);
labelFunc0154_0172:
return;
}
void Func0174 shape#(0x174) ()
{
if (!(event == 0x0001)) goto labelFunc0174_0018;
UI_set_item_shape(item, 0x0122);
UI_play_sound_effect2(0x0002, item);
labelFunc0174_0018:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func0178 shape#(0x178) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc0178_0009;
return;
labelFunc0178_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc0178_005A;
if (!Func081D(item, 0x010E, 0x0000, 0x0000, 0x0000, 0x0007)) goto labelFunc0178_0057;
Func081E(item, 0x01B1, 0x0001, 0x0002, 0x01B0, 0x0000, 0x0003, 0x0000, 0x0001);
UI_play_sound_effect2(0x001F, item);
goto labelFunc0178_005A;
labelFunc0178_0057:
Func0818();
labelFunc0178_005A:
if (!(var0000 == 0x0000)) goto labelFunc0178_00A4;
if (!Func081D(item, 0x010E, 0x0001, 0x0000, 0x0000, 0x0007)) goto labelFunc0178_00A1;
Func081E(item, 0x01B1, 0x0000, 0x0001, 0x01B0, 0x0001, 0x0000, 0xFFFD, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc0178_00A4;
labelFunc0178_00A1:
Func0818();
labelFunc0178_00A4:
if (!(var0000 == 0x0002)) goto labelFunc0178_00B2;
Func0819(item);
labelFunc0178_00B2:
if (!(var0000 == 0x0003)) goto labelFunc0178_00C0;
Func081A(item);
labelFunc0178_00C0:
return;
}
// externs
extern void Func0813 0x813 (var var0000, var var0001, var var0002);
void Func0179 shape#(0x179) ()
{
var var0000;
var var0001;
var0000 = [0x0004, 0x0006, 0x0002, 0x0005, 0x0003, 0x0003, 0x0001, 0x000C, 0x0018, 0x0010, 0x0018, 0x0018, 0x0004, 0x0008, 0x0010, 0x0006, 0x0002, 0x0003, 0x0002, 0x0001, 0x0004, 0x0003, 0x0001, 0x0018, 0x0003, 0x0001, 0x0009, 0x0002, 0x001F, 0x0008, 0x0006, 0x0000];
var0001 = var0000[(UI_get_item_frame(item) + 0x0001)];
Func0813(item, var0001, 0x005B);
return;
}
// externs
extern var Func0908 0x908 ();
void Func017B shape#(0x17B) ()
{
var var0000;
var var0001;
if (!(event != 0x0001)) goto labelFunc017B_0009;
return;
labelFunc017B_0009:
var0000 = Func0908();
var0001 = UI_get_item_quality(item);
if (!(var0001 > 0x0097)) goto labelFunc017B_003A;
UI_display_runes(0x0031, ["THIS IS", "NOT A", "VALID", "SIGN"]);
goto labelFunc017B_105D;
labelFunc017B_003A:
if (!(var0001 == 0x0000)) goto labelFunc017B_005D;
UI_display_runes(0x0031, ["drink", "at|(e", "gilded", "lizard"]);
goto labelFunc017B_105D;
labelFunc017B_005D:
if (!(var0001 == 0x0001)) goto labelFunc017B_0080;
UI_display_runes(0x0031, ["skara", "brae~", "~population", "47"]);
goto labelFunc017B_105D;
labelFunc017B_0080:
if (!(var0001 == 0x0002)) goto labelFunc017B_009A;
UI_display_runes(0x0031, ["trinsic"]);
goto labelFunc017B_105D;
labelFunc017B_009A:
if (!(var0001 == 0x0003)) goto labelFunc017B_00BA;
UI_display_runes(0x0031, ["(e", "honorable", "hound"]);
goto labelFunc017B_105D;
labelFunc017B_00BA:
if (!(var0001 == 0x0004)) goto labelFunc017B_00D7;
UI_display_runes(0x0031, ["FELLOWSHIP", "HALL"]);
goto labelFunc017B_105D;
labelFunc017B_00D7:
if (!(var0001 == 0x0005)) goto labelFunc017B_00F1;
UI_display_runes(0x0031, ["britain"]);
goto labelFunc017B_105D;
labelFunc017B_00F1:
if (!(var0001 == 0x0006)) goto labelFunc017B_0114;
UI_display_runes(0x0031, ["COMING:", "RAYMUNDO'S", "@TRIALS OF", "THE AVATAR@"]);
goto labelFunc017B_105D;
labelFunc017B_0114:
if (!(var0001 == 0x0007)) goto labelFunc017B_0137;
UI_display_runes(0x0031, ["RESERVE", "THY", "SEATS", "NOW"]);
goto labelFunc017B_105D;
labelFunc017B_0137:
if (!(var0001 == 0x0008)) goto labelFunc017B_0154;
UI_display_runes(0x0031, ["royal", "museum"]);
goto labelFunc017B_105D;
labelFunc017B_0154:
if (!(var0001 == 0x0009)) goto labelFunc017B_0174;
UI_display_runes(0x0031, ["(e", "music", "hall"]);
goto labelFunc017B_105D;
labelFunc017B_0174:
if (!(var0001 == 0x000B)) goto labelFunc017B_0194;
UI_display_runes(0x0031, ["(e", "wayfarer's", "inn"]);
goto labelFunc017B_105D;
labelFunc017B_0194:
if (!(var0001 == 0x000C)) goto labelFunc017B_01B1;
UI_display_runes(0x0031, ["iolos", "bows"]);
goto labelFunc017B_105D;
labelFunc017B_01B1:
if (!(var0001 == 0x000D)) goto labelFunc017B_01D1;
UI_display_runes(0x0031, ["(e", "blue", "boar"]);
goto labelFunc017B_105D;
labelFunc017B_01D1:
if (!(var0001 == 0x000E)) goto labelFunc017B_01EE;
UI_display_runes(0x0031, ["gayes", "clo(iers"]);
goto labelFunc017B_105D;
labelFunc017B_01EE:
if (!(var0001 == 0x000F)) goto labelFunc017B_020E;
UI_display_runes(0x0031, ["nor(", ",ar", "armoury"]);
goto labelFunc017B_105D;
labelFunc017B_020E:
if (!(var0001 == 0x0010)) goto labelFunc017B_022E;
UI_display_runes(0x0031, ["(e", "oaken", "oar"]);
goto labelFunc017B_105D;
labelFunc017B_022E:
if (!(var0001 == 0x0011)) goto labelFunc017B_0248;
UI_display_runes(0x0031, ["bakery"]);
goto labelFunc017B_105D;
labelFunc017B_0248:
if (!(var0001 == 0x0012)) goto labelFunc017B_0262;
UI_display_runes(0x0031, ["jeweler"]);
goto labelFunc017B_105D;
labelFunc017B_0262:
if (!(var0001 == 0x0013)) goto labelFunc017B_027F;
UI_display_runes(0x0031, ["farmers", "market"]);
goto labelFunc017B_105D;
labelFunc017B_027F:
if (!(var0001 == 0x0014)) goto labelFunc017B_0299;
UI_display_runes(0x0031, ["apo(ecary"]);
goto labelFunc017B_105D;
labelFunc017B_0299:
if (!(var0001 == 0x0015)) goto labelFunc017B_02B6;
UI_display_runes(0x0031, ["royal", "mint"]);
goto labelFunc017B_105D;
labelFunc017B_02B6:
if (!(var0001 == 0x0016)) goto labelFunc017B_02D6;
UI_display_runes(0x0031, ["csil", "(e", "h+ler"]);
goto labelFunc017B_105D;
labelFunc017B_02D6:
if (!(var0001 == 0x0017)) goto labelFunc017B_02F0;
UI_display_runes(0x0031, ["provisions"]);
goto labelFunc017B_105D;
labelFunc017B_02F0:
if (!(var0001 == 0x0018)) goto labelFunc017B_030D;
UI_display_runes(0x0031, ["royal", "orchards"]);
goto labelFunc017B_105D;
labelFunc017B_030D:
if (!(var0001 == 0x0019)) goto labelFunc017B_032D;
UI_display_runes(0x0031, ["TEST OF STRENGTH", " -- ", "ART THOU AN AVATAR?"]);
goto labelFunc017B_105D;
labelFunc017B_032D:
if (!(var0001 == 0x001A)) goto labelFunc017B_034D;
UI_display_runes(0x0031, ["punch and", "judy", "show"]);
goto labelFunc017B_105D;
labelFunc017B_034D:
if (!(var0001 == 0x001B)) goto labelFunc017B_0367;
UI_display_runes(0x0031, ["fish|n|chips"]);
goto labelFunc017B_105D;
labelFunc017B_0367:
if (!(var0001 == 0x001C)) goto labelFunc017B_0381;
UI_display_runes(0x0031, ["cove"]);
goto labelFunc017B_105D;
labelFunc017B_0381:
if (!(var0001 == 0x001D)) goto labelFunc017B_039E;
UI_display_runes(0x0031, ["(e", "emerald"]);
goto labelFunc017B_105D;
labelFunc017B_039E:
if (!(var0001 == 0x001E)) goto labelFunc017B_03B8;
UI_display_runes(0x0031, ["out|n|inn"]);
goto labelFunc017B_105D;
labelFunc017B_03B8:
if (!(var0001 == 0x001F)) goto labelFunc017B_03D5;
UI_display_runes(0x0031, ["lovers", "walk"]);
goto labelFunc017B_105D;
labelFunc017B_03D5:
if (!(var0001 == 0x0020)) goto labelFunc017B_03F2;
UI_display_runes(0x0031, ["buccaneers", "den"]);
goto labelFunc017B_105D;
labelFunc017B_03F2:
if (!(var0001 == 0x0021)) goto labelFunc017B_0409;
UI_display_runes(0x0031, "(e|ba(s");
goto labelFunc017B_105D;
labelFunc017B_0409:
if (!(var0001 == 0x0022)) goto labelFunc017B_0429;
UI_display_runes(0x0031, ["house", "of", "games"]);
goto labelFunc017B_105D;
labelFunc017B_0429:
if (!(var0001 == 0x0023)) goto labelFunc017B_0449;
UI_display_runes(0x0031, ["(e", "fallen", "virgin"]);
goto labelFunc017B_105D;
labelFunc017B_0449:
if (!(var0001 == 0x0024)) goto labelFunc017B_0460;
UI_display_runes(0x0031, "budos");
goto labelFunc017B_105D;
labelFunc017B_0460:
if (!(var0001 == 0x0025)) goto labelFunc017B_047D;
UI_display_runes(0x0031, ["MEDITATION", "RETREAT"]);
goto labelFunc017B_105D;
labelFunc017B_047D:
if (!(var0001 == 0x002C)) goto labelFunc017B_0497;
UI_display_runes(0x0031, ["GO THIS WAY"]);
goto labelFunc017B_105D;
labelFunc017B_0497:
if (!(var0001 == 0x0034)) goto labelFunc017B_04B1;
UI_display_runes(0x0031, ["lycaeum"]);
goto labelFunc017B_105D;
labelFunc017B_04B1:
if (!(var0001 == 0x0035)) goto labelFunc017B_04D1;
UI_display_runes(0x0031, ["(e", "hallowed", "dock"]);
goto labelFunc017B_105D;
labelFunc017B_04D1:
if (!(var0001 == 0x0036)) goto labelFunc017B_04F1;
UI_display_runes(0x0031, ["(e", "friendly", "knave"]);
goto labelFunc017B_105D;
labelFunc017B_04F1:
if (!(var0001 == 0x0037)) goto labelFunc017B_0511;
UI_display_runes(0x0031, ["(e", "gilded", "lizard"]);
goto labelFunc017B_105D;
labelFunc017B_0511:
if (!(var0001 == 0x0038)) goto labelFunc017B_052B;
UI_display_runes(0x0031, ["h+ler"]);
goto labelFunc017B_105D;
labelFunc017B_052B:
if (!(var0001 == 0x0039)) goto labelFunc017B_0548;
UI_display_runes(0x0031, ["eldro(s", "provisions"]);
goto labelFunc017B_105D;
labelFunc017B_0548:
if (!(var0001 == 0x003A)) goto labelFunc017B_0568;
UI_display_runes(0x0031, ["house", "of", "items"]);
goto labelFunc017B_105D;
labelFunc017B_0568:
if (!(var0001 == 0x003B)) goto labelFunc017B_0588;
UI_display_runes(0x0031, ["britannian", "mini*", "company"]);
goto labelFunc017B_105D;
labelFunc017B_0588:
if (!(var0001 == 0x003C)) goto labelFunc017B_05A5;
UI_display_runes(0x0031, ["minoc", "branch"]);
goto labelFunc017B_105D;
labelFunc017B_05A5:
if (!(var0001 == 0x003D)) goto labelFunc017B_05BF;
UI_display_runes(0x0031, ["trainer"]);
goto labelFunc017B_105D;
labelFunc017B_05BF:
if (!(var0001 == 0x003E)) goto labelFunc017B_05D9;
UI_display_runes(0x0031, ["scholar"]);
goto labelFunc017B_105D;
labelFunc017B_05D9:
if (!(var0001 == 0x003F)) goto labelFunc017B_05F3;
UI_display_runes(0x0031, ["town|hall"]);
goto labelFunc017B_105D;
labelFunc017B_05F3:
if (!(var0001 == 0x0040)) goto labelFunc017B_0610;
UI_display_runes(0x0031, ["wis-surs", "magics"]);
goto labelFunc017B_105D;
labelFunc017B_0610:
if (!(var0001 == 0x0041)) goto labelFunc017B_062A;
UI_display_runes(0x0031, ["observatory"]);
goto labelFunc017B_105D;
labelFunc017B_062A:
if (!(var0001 == 0x0042)) goto labelFunc017B_0644;
UI_display_runes(0x0031, ["vesper"]);
goto labelFunc017B_105D;
labelFunc017B_0644:
if (!(var0001 == 0x0043)) goto labelFunc017B_065E;
UI_display_runes(0x0031, ["moo*low"]);
goto labelFunc017B_105D;
labelFunc017B_065E:
if (!(var0001 == 0x0044)) goto labelFunc017B_0678;
UI_display_runes(0x0031, ["terfin"]);
goto labelFunc017B_105D;
labelFunc017B_0678:
if (!(var0001 == 0x0045)) goto labelFunc017B_0695;
UI_display_runes(0x0031, ["serpents", "hold"]);
goto labelFunc017B_105D;
labelFunc017B_0695:
if (!(var0001 == 0x0046)) goto labelFunc017B_06B2;
UI_display_runes(0x0031, ["empa(", "abbey"]);
goto labelFunc017B_105D;
labelFunc017B_06B2:
if (!(var0001 == 0x0047)) goto labelFunc017B_06CC;
UI_display_runes(0x0031, ["jhelom"]);
goto labelFunc017B_105D;
labelFunc017B_06CC:
if (!(var0001 == 0x0048)) goto labelFunc017B_06E6;
UI_display_runes(0x0031, ["minoc"]);
goto labelFunc017B_105D;
labelFunc017B_06E6:
if (!(var0001 == 0x0049)) goto labelFunc017B_0700;
UI_display_runes(0x0031, ["undertaker"]);
goto labelFunc017B_105D;
labelFunc017B_0700:
if (!(var0001 == 0x004A)) goto labelFunc017B_0723;
UI_display_runes(0x0031, ["high", "court", "of", "britannia"]);
goto labelFunc017B_105D;
labelFunc017B_0723:
if (!(var0001 == 0x004B)) goto labelFunc017B_073D;
UI_display_runes(0x0031, ["prison"]);
goto labelFunc017B_105D;
labelFunc017B_073D:
if (!(var0001 == 0x004C)) goto labelFunc017B_075D;
UI_display_runes(0x0031, ["(e", "mode,", "damsel"]);
goto labelFunc017B_105D;
labelFunc017B_075D:
if (!(var0001 == 0x004D)) goto labelFunc017B_0777;
UI_display_runes(0x0031, ["armoury"]);
goto labelFunc017B_105D;
labelFunc017B_0777:
if (!(var0001 == 0x004E)) goto labelFunc017B_0791;
UI_display_runes(0x0031, ["blacksmi("]);
goto labelFunc017B_105D;
labelFunc017B_0791:
if (!(var0001 == 0x004F)) goto labelFunc017B_07AE;
UI_display_runes(0x0031, ["recr+tion", "center"]);
goto labelFunc017B_105D;
labelFunc017B_07AE:
if (!(var0001 == 0x0050)) goto labelFunc017B_07CE;
UI_display_runes(0x0031, ["hall", "of", "knowledge"]);
goto labelFunc017B_105D;
labelFunc017B_07CE:
if (!(var0001 == 0x0051)) goto labelFunc017B_07EE;
UI_display_runes(0x0031, ["hello", "(ere", "avatar"]);
goto labelFunc017B_105D;
labelFunc017B_07EE:
if (!(var0001 == 0x0052)) goto labelFunc017B_080E;
UI_display_runes(0x0031, ["tonight|9-12", "in|person", "the|avatars"]);
goto labelFunc017B_105D;
labelFunc017B_080E:
if (!(var0001 == 0x0053)) goto labelFunc017B_082E;
UI_display_runes(0x0031, ["why", "ask", "why?"]);
goto labelFunc017B_105D;
labelFunc017B_082E:
if (!(var0001 == 0x0054)) goto labelFunc017B_084E;
UI_display_runes(0x0031, [",r)t", "of", "honor"]);
goto labelFunc017B_105D;
labelFunc017B_084E:
if (!(var0001 == 0x0055)) goto labelFunc017B_086B;
UI_display_runes(0x0031, ["paladins", "pa("]);
goto labelFunc017B_105D;
labelFunc017B_086B:
if (!(var0001 == 0x0056)) goto labelFunc017B_088E;
UI_display_runes(0x0031, ["AVENUE", "OF", "THE", "FELLOWSHIP"]);
goto labelFunc017B_105D;
labelFunc017B_088E:
if (!(var0001 == 0x0057)) goto labelFunc017B_08AB;
UI_display_runes(0x0031, ["widows", "walk"]);
goto labelFunc017B_105D;
labelFunc017B_08AB:
if (!(var0001 == 0x0058)) goto labelFunc017B_08C8;
UI_display_runes(0x0031, ["harolds", "hallway"]);
goto labelFunc017B_105D;
labelFunc017B_08C8:
if (!(var0001 == 0x0059)) goto labelFunc017B_08E2;
UI_display_runes(0x0031, ["fools|way"]);
goto labelFunc017B_105D;
labelFunc017B_08E2:
if (!(var0001 == 0x005A)) goto labelFunc017B_08FF;
UI_display_runes(0x0031, ["whitsaber", "road"]);
goto labelFunc017B_105D;
labelFunc017B_08FF:
if (!(var0001 == 0x005B)) goto labelFunc017B_0919;
UI_display_runes(0x0031, [",rand"]);
goto labelFunc017B_105D;
labelFunc017B_0919:
if (!(var0001 == 0x005C)) goto labelFunc017B_0936;
UI_display_runes(0x0031, ["chalice", "avenue"]);
goto labelFunc017B_105D;
labelFunc017B_0936:
if (!(var0001 == 0x005D)) goto labelFunc017B_0953;
UI_display_runes(0x0031, ["two", "coves"]);
goto labelFunc017B_105D;
labelFunc017B_0953:
if (!(var0001 == 0x005E)) goto labelFunc017B_0973;
UI_display_runes(0x0031, ["we,", "wall", "road"]);
goto labelFunc017B_105D;
labelFunc017B_0973:
if (!(var0001 == 0x005F)) goto labelFunc017B_0993;
UI_display_runes(0x0031, ["+,", "wall", "road"]);
goto labelFunc017B_105D;
labelFunc017B_0993:
if (!(var0001 == 0x0060)) goto labelFunc017B_09B3;
UI_display_runes(0x0031, ["nor(", "wall", "road"]);
goto labelFunc017B_105D;
labelFunc017B_09B3:
if (!(var0001 == 0x0061)) goto labelFunc017B_09D3;
UI_display_runes(0x0031, ["sou(", "wall", "road"]);
goto labelFunc017B_105D;
labelFunc017B_09D3:
if (!(var0001 == 0x0062)) goto labelFunc017B_09F0;
UI_display_runes(0x0031, ["heroes", "way"]);
goto labelFunc017B_105D;
labelFunc017B_09F0:
if (!(var0001 == 0x0063)) goto labelFunc017B_0A0D;
UI_display_runes(0x0031, ["iolos", "sou("]);
goto labelFunc017B_105D;
labelFunc017B_0A0D:
if (!(var0001 == 0x0064)) goto labelFunc017B_0A27;
UI_display_runes(0x0031, ["paws"]);
goto labelFunc017B_105D;
labelFunc017B_0A27:
if (!(var0001 == 0x0065)) goto labelFunc017B_0A44;
UI_display_runes(0x0031, ["(e", "salty|dog"]);
goto labelFunc017B_105D;
labelFunc017B_0A44:
if (!(var0001 == 0x0066)) goto labelFunc017B_0A61;
UI_display_runes(0x0031, ["FELLOWSHIP", "SHELTER"]);
goto labelFunc017B_105D;
labelFunc017B_0A61:
if (!(var0001 == 0x0067)) goto labelFunc017B_0A7E;
UI_display_runes(0x0031, ["vesper", "branch"]);
goto labelFunc017B_105D;
labelFunc017B_0A7E:
if (!(var0001 == 0x0068)) goto labelFunc017B_0A9E;
UI_display_runes(0x0031, ["(e", "checquered", "cork"]);
goto labelFunc017B_105D;
labelFunc017B_0A9E:
if (!(var0001 == 0x0069)) goto labelFunc017B_0ABB;
UI_display_runes(0x0031, ["artists", "guild"]);
goto labelFunc017B_105D;
labelFunc017B_0ABB:
if (!(var0001 == 0x006A)) goto labelFunc017B_0ADB;
UI_display_runes(0x0031, ["(e bunk", "and", ",ool"]);
goto labelFunc017B_105D;
labelFunc017B_0ADB:
if (!(var0001 == 0x006B)) goto labelFunc017B_0AFE;
UI_display_runes(0x0031, ["(e", "library", "of", "scars"]);
goto labelFunc017B_105D;
labelFunc017B_0AFE:
if (!(var0001 == 0x006C)) goto labelFunc017B_0B1B;
UI_display_runes(0x0031, ["carlyns", "clo(es"]);
goto labelFunc017B_105D;
labelFunc017B_0B1B:
if (!(var0001 == 0x006D)) goto labelFunc017B_0B3E;
UI_display_runes(0x0031, ["wi(in|(ese", "walls", "lies|ma,er", "richard"]);
goto labelFunc017B_105D;
labelFunc017B_0B3E:
if (!(var0001 == 0x006E)) goto labelFunc017B_0B58;
UI_display_runes(0x0031, ["ca,le|way"]);
goto labelFunc017B_105D;
labelFunc017B_0B58:
if (!(var0001 == 0x006F)) goto labelFunc017B_0B78;
UI_display_runes(0x0031, ["lord", "british", "lane"]);
goto labelFunc017B_105D;
labelFunc017B_0B78:
if (!(var0001 == 0x0070)) goto labelFunc017B_0B92;
UI_display_runes(0x0031, ["noble|road"]);
goto labelFunc017B_105D;
labelFunc017B_0B92:
if (!(var0001 == 0x0071)) goto labelFunc017B_0BAF;
UI_display_runes(0x0031, ["we,|end", "avenue"]);
goto labelFunc017B_105D;
labelFunc017B_0BAF:
if (!(var0001 == 0x0072)) goto labelFunc017B_0BC9;
UI_display_runes(0x0031, ["hazle|lane"]);
goto labelFunc017B_105D;
labelFunc017B_0BC9:
if (!(var0001 == 0x0073)) goto labelFunc017B_0BE9;
UI_display_runes(0x0031, ["park", "square", "nor("]);
goto labelFunc017B_105D;
labelFunc017B_0BE9:
if (!(var0001 == 0x0074)) goto labelFunc017B_0C09;
UI_display_runes(0x0031, ["park", "square", "sou("]);
goto labelFunc017B_105D;
labelFunc017B_0C09:
if (!(var0001 == 0x0075)) goto labelFunc017B_0C26;
UI_display_runes(0x0031, ["market", ",r)t"]);
goto labelFunc017B_105D;
labelFunc017B_0C26:
if (!(var0001 == 0x0076)) goto labelFunc017B_0C43;
UI_display_runes(0x0031, ["golden", "way"]);
goto labelFunc017B_105D;
labelFunc017B_0C43:
if (!(var0001 == 0x0077)) goto labelFunc017B_0C60;
UI_display_runes(0x0031, ["center", "avenue"]);
goto labelFunc017B_105D;
labelFunc017B_0C60:
if (!(var0001 == 0x0078)) goto labelFunc017B_0C7D;
UI_display_runes(0x0031, ["spike", "lane"]);
goto labelFunc017B_105D;
labelFunc017B_0C7D:
if (!(var0001 == 0x0079)) goto labelFunc017B_0C9A;
UI_display_runes(0x0031, ["avatar", "avenue"]);
goto labelFunc017B_105D;
labelFunc017B_0C9A:
if (!(var0001 == 0x007A)) goto labelFunc017B_0CB7;
UI_display_runes(0x0031, [",able", "lane"]);
goto labelFunc017B_105D;
labelFunc017B_0CB7:
if (!(var0001 == 0x007B)) goto labelFunc017B_0CD7;
UI_display_runes(0x0031, ["+,", "end", "avenue"]);
goto labelFunc017B_105D;
labelFunc017B_0CD7:
if (!(var0001 == 0x007C)) goto labelFunc017B_0CF4;
UI_display_runes(0x0031, ["farm", "road"]);
goto labelFunc017B_105D;
labelFunc017B_0CF4:
if (!(var0001 == 0x007D)) goto labelFunc017B_0D11;
UI_display_runes(0x0031, ["nugget", ",r)t"]);
goto labelFunc017B_105D;
labelFunc017B_0D11:
if (!(var0001 == 0x007E)) goto labelFunc017B_0D2E;
UI_display_runes(0x0031, ["cool", "cove"]);
goto labelFunc017B_105D;
labelFunc017B_0D2E:
if (!(var0001 == 0x007F)) goto labelFunc017B_0D4E;
UI_display_runes(0x0031, ["nor(", "end", "avenue"]);
goto labelFunc017B_105D;
labelFunc017B_0D4E:
if (!(var0001 == 0x0080)) goto labelFunc017B_0D6E;
UI_display_runes(0x0031, ["golden", "eye", "way"]);
goto labelFunc017B_105D;
labelFunc017B_0D6E:
if (!(var0001 == 0x0081)) goto labelFunc017B_0D91;
UI_display_runes(0x0031, ["to", "(e", "dark", "tower"]);
goto labelFunc017B_105D;
labelFunc017B_0D91:
if (!(var0001 == 0x0082)) goto labelFunc017B_0DB1;
UI_display_runes(0x0031, ["BEWARE", "OF", "LANDSLIDES"]);
goto labelFunc017B_105D;
labelFunc017B_0DB1:
if (!(var0001 == 0x0083)) goto labelFunc017B_0DD4;
UI_display_runes(0x0031, ["DANGER:", "DO", "NOT", "ENTER"]);
goto labelFunc017B_105D;
labelFunc017B_0DD4:
if (!(var0001 == 0x0084)) goto labelFunc017B_0DF4;
UI_display_runes(0x0031, ["old", "number", "one"]);
goto labelFunc017B_105D;
labelFunc017B_0DF4:
if (!(var0001 == 0x0085)) goto labelFunc017B_0E17;
UI_display_runes(0x0031, ["do|not", "free", "(e", "liche"]);
goto labelFunc017B_105D;
labelFunc017B_0E17:
if (!(var0001 == 0x0086)) goto labelFunc017B_0E37;
UI_display_runes(0x0031, ["beware", "mon,ers", "wi(in"]);
goto labelFunc017B_105D;
labelFunc017B_0E37:
if (!(var0001 == 0x0087)) goto labelFunc017B_0E54;
UI_display_runes(0x0031, ["paupers", "graves"]);
goto labelFunc017B_105D;
labelFunc017B_0E54:
if (!(var0001 == 0x0088)) goto labelFunc017B_0E77;
UI_display_runes(0x0031, ["|manrik|", "a|soul", "of|a", "soul"]);
goto labelFunc017B_105D;
labelFunc017B_0E77:
if (!(var0001 == 0x0089)) goto labelFunc017B_0E9A;
UI_display_runes(0x0031, ["here|lies", "jules|no", "words|for", "(e|loss"]);
goto labelFunc017B_105D;
labelFunc017B_0E9A:
if (!(var0001 == 0x008A)) goto labelFunc017B_0EBD;
UI_display_runes(0x0031, ["|morgan|", "her", "dea(|a", "tragedy"]);
goto labelFunc017B_105D;
labelFunc017B_0EBD:
if (!(var0001 == 0x008B)) goto labelFunc017B_0EE0;
UI_display_runes(0x0031, ["here|lies", "ke(ian", "friend|to", "many"]);
goto labelFunc017B_105D;
labelFunc017B_0EE0:
if (!(var0001 == 0x008C)) goto labelFunc017B_0F03;
UI_display_runes(0x0031, ["|wadley|", "his|soul", "deeper|(an", "his|body"]);
goto labelFunc017B_105D;
labelFunc017B_0F03:
if (!(var0001 == 0x008D)) goto labelFunc017B_0F26;
UI_display_runes(0x0031, ["here|lies", "jenna", "kindred", "spirit"]);
goto labelFunc017B_105D;
labelFunc017B_0F26:
if (!(var0001 == 0x008E)) goto labelFunc017B_0F43;
UI_display_runes(0x0031, ["d+d", "end"]);
goto labelFunc017B_105D;
labelFunc017B_0F43:
if (!(var0001 == 0x008F)) goto labelFunc017B_0F63;
UI_display_runes(0x0031, ["to", "skara", "brae"]);
goto labelFunc017B_105D;
labelFunc017B_0F63:
if (!(var0001 == 0x0090)) goto labelFunc017B_0F86;
UI_display_runes(0x0031, ["THE", "THRONE", "OF|THE", "GUARDIAN"]);
goto labelFunc017B_105D;
labelFunc017B_0F86:
if (!(var0001 == 0x0091)) goto labelFunc017B_0FA6;
UI_display_runes(0x0031, ["nor(", "to", "britain"]);
goto labelFunc017B_105D;
labelFunc017B_0FA6:
if (!(var0001 == 0x0092)) goto labelFunc017B_0FC3;
UI_display_runes(0x0031, ["pull", "lever"]);
goto labelFunc017B_105D;
labelFunc017B_0FC3:
if (!(var0001 == 0x0093)) goto labelFunc017B_0FE3;
UI_display_runes(0x0031, ["round", "and", "round"]);
goto labelFunc017B_105D;
labelFunc017B_0FE3:
if (!(var0001 == 0x0094)) goto labelFunc017B_1000;
UI_display_runes(0x0031, ["way", "out"]);
goto labelFunc017B_105D;
labelFunc017B_1000:
if (!(var0001 == 0x0095)) goto labelFunc017B_1020;
UI_display_runes(0x0031, ["keep", "doors", "open"]);
goto labelFunc017B_105D;
labelFunc017B_1020:
if (!(var0001 == 0x0096)) goto labelFunc017B_103D;
UI_display_runes(0x0031, ["selwyns", "tower"]);
goto labelFunc017B_105D;
labelFunc017B_103D:
if (!(var0001 == 0x0097)) goto labelFunc017B_105D;
UI_display_runes(0x0031, ["follow", "(e", "fire"]);
goto labelFunc017B_105D;
labelFunc017B_105D:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func0188 shape#(0x188) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc0188_0009;
return;
labelFunc0188_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc0188_005A;
if (!Func081D(item, 0x00E1, 0x0000, 0x0000, 0x0000, 0x0007)) goto labelFunc0188_0057;
Func081E(item, 0x00FA, 0x0001, 0x0002, 0x00F6, 0x0000, 0x0003, 0x0000, 0x0001);
UI_play_sound_effect2(0x001F, item);
goto labelFunc0188_005A;
labelFunc0188_0057:
Func0818();
labelFunc0188_005A:
if (!(var0000 == 0x0000)) goto labelFunc0188_00A4;
if (!Func081D(item, 0x00E1, 0x0001, 0x0000, 0x0000, 0x0007)) goto labelFunc0188_00A1;
Func081E(item, 0x00FA, 0x0000, 0x0001, 0x00F6, 0x0001, 0x0000, 0xFFFD, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc0188_00A4;
labelFunc0188_00A1:
Func0818();
labelFunc0188_00A4:
if (!(var0000 == 0x0002)) goto labelFunc0188_00B2;
Func0819(item);
labelFunc0188_00B2:
if (!(var0000 == 0x0003)) goto labelFunc0188_00C0;
Func081A(item);
labelFunc0188_00C0:
return;
}
void Func018A shape#(0x18A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var0000 = UI_get_schedule_type(UI_get_npc_object(0x018A));
if (!(event == 0x0001)) goto labelFunc018A_0069;
UI_show_npc_face(0xFEFE, 0x0000);
UI_add_answer(["name", "job", "bye"]);
message("You see a tough-looking palace guard who takes his job -very- seriously.");
say();
labelFunc018A_0034:
converse (0) atend labelFunc018A_0064;
case "name" atend labelFunc018A_004A:
message("\"I am a guard.\"");
say();
UI_remove_answer("name");
labelFunc018A_004A:
case "job" atend labelFunc018A_0056:
message("The man looks at you like you are an ignoramus. \"I am a guard for the palace, idiot. Thou shouldst go about thy business.\"");
say();
labelFunc018A_0056:
case "bye" atend labelFunc018A_0061:
goto labelFunc018A_0064;
labelFunc018A_0061:
goto labelFunc018A_0034;
labelFunc018A_0064:
break;
message("\"Goodbye.\"*");
say();
labelFunc018A_0069:
if (!(event == 0x0000)) goto labelFunc018A_00E0;
var0001 = UI_get_schedule_type(UI_get_npc_object(0x018A));
if (!(var0001 == 0x001D)) goto labelFunc018A_00E0;
var0002 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0001)) goto labelFunc018A_00A6;
var0003 = "@Move along!@";
labelFunc018A_00A6:
if (!(var0002 == 0x0002)) goto labelFunc018A_00B6;
var0003 = "@Stand aside!@";
labelFunc018A_00B6:
if (!(var0002 == 0x0003)) goto labelFunc018A_00C6;
var0003 = "@Go about thy business!@";
labelFunc018A_00C6:
if (!(var0002 == 0x0004)) goto labelFunc018A_00D6;
var0003 = "@Keep moving!@";
labelFunc018A_00D6:
UI_item_say(0x018A, var0003);
labelFunc018A_00E0:
return;
}
void Func019A shape#(0x19A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc019A_00C5;
UI_close_gumps();
var0000 = UI_find_nearby(item, 0x019B, 0x000A, 0x0000);
var0001 = UI_get_item_quality(item);
if (!((var0001 == 0x0000) || (var0001 > 0x0003))) goto labelFunc019A_0059;
var0002 = UI_execute_usecode_array(item, [(byte)0x46, 0x0000, (byte)0x46, 0x0001, (byte)0x58, 0x0025, (byte)0x58, 0x004C]);
goto labelFunc019A_00C5;
labelFunc019A_0059:
var0003 = [0x0392, 0x0394, 0x0393];
var0004 = var0003[var0001];
var0002 = UI_execute_usecode_array(item, [(byte)0x46, 0x0000, (byte)0x4D, (byte)0x01, (byte)0x58, 0x0008, (byte)0x0C, 0xFFFC, 0x0003, 0x0004, (byte)0x0B, 0xFFF6, 0x0007]);
var0002 = UI_execute_usecode_array(var0000, [(byte)0x46, 0x0000, (byte)0x4E, (byte)0x01, (byte)0x58, 0x000F, (byte)0x55, 0x060D, (byte)0x0B, 0xFFF9, 0x0018]);
labelFunc019A_00C5:
return;
}
void Func01A2 shape#(0x1A2) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc01A2_00A0;
var0000 = UI_get_item_quality(item);
if (!(!(var0000 == UI_game_hour()))) goto labelFunc01A2_00A0;
var0001 = UI_find_nearby(item, 0x0245, 0x0005, 0x0000);
if (!(!var0001)) goto labelFunc01A2_00A0;
var0002 = UI_create_new_object(0x0245);
if (!var0002) goto labelFunc01A2_00A0;
UI_set_item_flag(var0002, 0x0012);
UI_set_item_flag(var0002, 0x000B);
var0003 = UI_set_item_quantity(var0002, UI_die_roll(0x0001, 0x0064));
var0004 = UI_get_object_position(item);
var0004[0x0001] = (var0004[0x0001] + 0x0001);
var0003 = UI_update_last_created(var0004);
if (!var0003) goto labelFunc01A2_00A0;
var0003 = UI_set_item_quality(item, UI_game_hour());
labelFunc01A2_00A0:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func092D 0x92D (var var0000);
extern var Func0827 0x827 (var var0000, var var0001);
void Func01AF shape#(0x1AF) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var0000 = UI_get_item_frame(item);
if (!((var0000 >= 0x0003) && (var0000 <= 0x0005))) goto labelFunc01AF_0368;
if (!(event == 0x0001)) goto labelFunc01AF_0036;
Func0828(item, 0x0001, 0x0000, 0xFFFF, 0x01AF, item, 0x0007);
labelFunc01AF_0036:
if (!(event == 0x0007)) goto labelFunc01AF_0365;
var0001 = UI_execute_usecode_array(item, [(byte)0x58, 0x002F, (byte)0x01, (byte)0x46, 0x0004, (byte)0x27, 0x0001, (byte)0x46, 0x0005, (byte)0x27, 0x0001, (byte)0x46, 0x0004, (byte)0x27, 0x0001, (byte)0x46, 0x0003]);
var0002 = Func092D(item);
var0001 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0002, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61]);
var0003 = UI_find_nearest(item, 0x02E3, 0x0003);
var0004 = UI_get_item_frame(var0003);
var0005 = UI_find_nearest(item, 0x029C, 0x0003);
var0006 = UI_get_item_frame(var0005);
if (!var0003) goto labelFunc01AF_0365;
if (!(var0004 == 0x0004)) goto labelFunc01AF_00FA;
var0001 = UI_execute_usecode_array(var0003, [(byte)0x27, 0x0001, (byte)0x46, 0x0005, (byte)0x27, 0x000F, (byte)0x46, 0x0004]);
labelFunc01AF_00FA:
if (!(var0004 == 0x0005)) goto labelFunc01AF_012F;
var0001 = UI_execute_usecode_array(var0003, [(byte)0x27, 0x0001, (byte)0x46, 0x0006, (byte)0x27, 0x000F, (byte)0x46, 0x0005, (byte)0x27, 0x000F, (byte)0x46, 0x0004]);
labelFunc01AF_012F:
if (!(var0004 == 0x0006)) goto labelFunc01AF_016E;
var0001 = UI_execute_usecode_array(var0003, [(byte)0x27, 0x0001, (byte)0x46, 0x0007, (byte)0x27, 0x000F, (byte)0x46, 0x0006, (byte)0x27, 0x000F, (byte)0x46, 0x0005, (byte)0x27, 0x000F, (byte)0x46, 0x0004]);
labelFunc01AF_016E:
if (!(var0004 == 0x0007)) goto labelFunc01AF_0365;
var0001 = UI_execute_usecode_array(var0003, [(byte)0x27, 0x0001, (byte)0x46, 0x0007, (byte)0x27, 0x000F, (byte)0x46, 0x0006, (byte)0x27, 0x000F, (byte)0x46, 0x0005, (byte)0x27, 0x000F, (byte)0x46, 0x0004]);
if (!var0005) goto labelFunc01AF_0365;
var0007 = UI_get_object_position(var0003);
var0008 = UI_get_object_position(var0005);
var0009 = false;
if (!(var0008[0x0001] == var0007[0x0001])) goto labelFunc01AF_0207;
if (!((var0008[0x0002] + 0x0001) == var0007[0x0002])) goto labelFunc01AF_0207;
if (!((var0008[0x0003] - 0x0002) == var0007[0x0003])) goto labelFunc01AF_0207;
var0009 = true;
labelFunc01AF_0207:
if (!var0009) goto labelFunc01AF_0365;
if (!(var0006 <= 0x0007)) goto labelFunc01AF_021A;
goto labelFunc01AF_0365;
labelFunc01AF_021A:
if (!((var0006 >= 0x000D) && (var0006 <= 0x000F))) goto labelFunc01AF_024D;
var0001 = UI_execute_usecode_array(var0005, [(byte)0x27, 0x0002, (byte)0x46, 0x0008, (byte)0x27, 0x0019, (byte)0x55, 0x068F]);
labelFunc01AF_024D:
if (!(var0006 == 0x0008)) goto labelFunc01AF_0282;
var0001 = UI_execute_usecode_array(var0005, [(byte)0x27, 0x0002, (byte)0x46, 0x0009, (byte)0x27, 0x0019, (byte)0x46, 0x0008, (byte)0x27, 0x0019, (byte)0x55, 0x068F]);
labelFunc01AF_0282:
if (!(var0006 == 0x0009)) goto labelFunc01AF_02C1;
var0001 = UI_execute_usecode_array(var0005, [(byte)0x27, 0x0002, (byte)0x46, 0x000A, (byte)0x27, 0x0019, (byte)0x46, 0x0009, (byte)0x27, 0x0019, (byte)0x46, 0x0008, (byte)0x27, 0x0019, (byte)0x55, 0x068F]);
labelFunc01AF_02C1:
if (!(var0006 == 0x000A)) goto labelFunc01AF_030A;
var0001 = UI_execute_usecode_array(var0005, [(byte)0x27, 0x0002, (byte)0x46, 0x000B, (byte)0x27, 0x0019, (byte)0x46, 0x000A, (byte)0x27, 0x0019, (byte)0x46, 0x0009, (byte)0x27, 0x0019, (byte)0x46, 0x0008, (byte)0x27, 0x0019, (byte)0x55, 0x068F]);
labelFunc01AF_030A:
if (!((var0006 == 0x000B) || (var0006 == 0x000C))) goto labelFunc01AF_0365;
var0001 = UI_execute_usecode_array(var0005, [(byte)0x27, 0x0002, (byte)0x46, 0x000C, (byte)0x27, 0x0019, (byte)0x46, 0x000B, (byte)0x27, 0x0019, (byte)0x46, 0x000A, (byte)0x27, 0x0019, (byte)0x46, 0x0009, (byte)0x27, 0x0019, (byte)0x46, 0x0008, (byte)0x27, 0x0019, (byte)0x55, 0x068F]);
labelFunc01AF_0365:
goto labelFunc01AF_05B1;
labelFunc01AF_0368:
if (!(event == 0x0001)) goto labelFunc01AF_0389;
UI_halt_scheduled(item);
Func0828(item, 0x0001, 0x0000, 0xFFFF, 0x01AF, item, 0x0007);
labelFunc01AF_0389:
if (!(event == 0x0007)) goto labelFunc01AF_05B1;
UI_halt_scheduled(item);
var000A = UI_execute_usecode_array(item, [(byte)0x58, 0x002F, (byte)0x01, (byte)0x46, 0x0000, (byte)0x46, 0x0001, (byte)0x27, 0x0001, (byte)0x46, 0x0002, (byte)0x27, 0x0001, (byte)0x46, 0x0001, (byte)0x27, 0x0001, (byte)0x46, 0x0000, (byte)0x27, 0x0001, (byte)0x46, 0x0001, (byte)0x27, 0x0001, (byte)0x46, 0x0002, (byte)0x27, 0x0001, (byte)0x46, 0x0001, (byte)0x27, 0x0001, (byte)0x46, 0x0000]);
var0002 = Func0827(0xFE9C, item);
UI_halt_scheduled(0xFE9C);
var000A = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0002, (byte)0x61, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61, (byte)0x61, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61]);
var000B = UI_find_nearby(item, 0x02E3, 0x0004, 0x00B0);
//enum();
labelFunc01AF_0443:
for (var000E in var000B with var000C to var000D) atend labelFunc01AF_05B1;
var000F = UI_get_item_frame(var000E);
if (!(var000F == 0x0000)) goto labelFunc01AF_04B5;
var000A = UI_execute_usecode_array(var000E, [(byte)0x23, (byte)0x58, 0x002F, (byte)0x46, 0x0000, (byte)0x46, 0x0001, (byte)0x46, 0x0002, (byte)0x46, 0x0003]);
var000A = UI_delayed_execute_usecode_array(var000E, [(byte)0x2C, (byte)0x46, 0x0002, (byte)0x27, 0x0003, (byte)0x46, 0x0001, (byte)0x27, 0x0003, (byte)0x46, 0x0000], 0x0012);
labelFunc01AF_04B5:
if (!(var000F == 0x0001)) goto labelFunc01AF_050D;
var000A = UI_execute_usecode_array(var000E, [(byte)0x23, (byte)0x58, 0x002F, (byte)0x46, 0x0001, (byte)0x46, 0x0002, (byte)0x46, 0x0003]);
var000A = UI_delayed_execute_usecode_array(var000E, [(byte)0x2C, (byte)0x46, 0x0002, (byte)0x27, 0x0003, (byte)0x46, 0x0001, (byte)0x27, 0x0003, (byte)0x46, 0x0000], 0x0011);
labelFunc01AF_050D:
if (!(var000F == 0x0002)) goto labelFunc01AF_0560;
var000A = UI_execute_usecode_array(var000E, [(byte)0x23, (byte)0x58, 0x002F, (byte)0x46, 0x0002, (byte)0x46, 0x0003]);
var000A = UI_delayed_execute_usecode_array(var000E, [(byte)0x2C, (byte)0x46, 0x0002, (byte)0x27, 0x0003, (byte)0x46, 0x0001, (byte)0x27, 0x0003, (byte)0x46, 0x0000], 0x0010);
labelFunc01AF_0560:
if (!(var000F == 0x0003)) goto labelFunc01AF_05AE;
var000A = UI_execute_usecode_array(var000E, [(byte)0x23, (byte)0x58, 0x002F, (byte)0x46, 0x0003]);
var000A = UI_delayed_execute_usecode_array(var000E, [(byte)0x2C, (byte)0x46, 0x0002, (byte)0x27, 0x0003, (byte)0x46, 0x0001, (byte)0x27, 0x0003, (byte)0x46, 0x0000], 0x000F);
labelFunc01AF_05AE:
goto labelFunc01AF_0443;
labelFunc01AF_05B1:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func01B0 shape#(0x1B0) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc01B0_0009;
return;
labelFunc01B0_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc01B0_005A;
if (!Func081D(item, 0x01B1, 0x0000, 0x0000, 0x0003, 0x0005)) goto labelFunc01B0_0057;
Func081E(item, 0x010E, 0x0001, 0x0001, 0x0178, 0x0000, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001F, item);
goto labelFunc01B0_005A;
labelFunc01B0_0057:
Func0818();
labelFunc01B0_005A:
if (!(var0000 == 0x0000)) goto labelFunc01B0_00A4;
if (!Func081D(item, 0x01B1, 0x0001, 0xFFFD, 0x0000, 0x0007)) goto labelFunc01B0_00A1;
Func081E(item, 0x010E, 0x0000, 0x0002, 0x0178, 0x0001, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc01B0_00A4;
labelFunc01B0_00A1:
Func0818();
labelFunc01B0_00A4:
if (!(var0000 == 0x0002)) goto labelFunc01B0_00B2;
Func0819(item);
labelFunc01B0_00B2:
if (!(var0000 == 0x0003)) goto labelFunc01B0_00C0;
Func081A(item);
labelFunc01B0_00C0:
return;
}
// externs
extern var Func081B 0x81B (var var0000);
extern var Func081D 0x81D (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005);
extern void Func081E 0x81E (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006, var var0007, var var0008);
extern void Func0818 0x818 ();
extern void Func0819 0x819 (var var0000);
extern void Func081A 0x81A (var var0000);
void Func01B1 shape#(0x1B1) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc01B1_0009;
return;
labelFunc01B1_0009:
var0000 = Func081B(item);
if (!(var0000 == 0x0001)) goto labelFunc01B1_005A;
if (!Func081D(item, 0x01B0, 0x0000, 0x0003, 0x0000, 0x0001)) goto labelFunc01B1_0057;
Func081E(item, 0x0178, 0x0001, 0x0002, 0x010E, 0x0000, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001F, item);
goto labelFunc01B1_005A;
labelFunc01B1_0057:
Func0818();
labelFunc01B1_005A:
if (!(var0000 == 0x0000)) goto labelFunc01B1_00A4;
if (!Func081D(item, 0x01B0, 0x0001, 0x0000, 0xFFFD, 0x0007)) goto labelFunc01B1_00A1;
Func081E(item, 0x0178, 0x0000, 0x0001, 0x010E, 0x0001, 0x0000, 0x0000, 0x0007);
UI_play_sound_effect2(0x001E, item);
goto labelFunc01B1_00A4;
labelFunc01B1_00A1:
Func0818();
labelFunc01B1_00A4:
if (!(var0000 == 0x0002)) goto labelFunc01B1_00B2;
Func0819(item);
labelFunc01B1_00B2:
if (!(var0000 == 0x0003)) goto labelFunc01B1_00C0;
Func081A(item);
labelFunc01B1_00C0:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
extern void Func0629 object#(0x629) ();
void Func01B2 shape#(0x1B2) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0001)) goto labelFunc01B2_0022;
if (!UI_in_usecode(item)) goto labelFunc01B2_001E;
UI_halt_scheduled(item);
Func08FE("@It is about time!@");
goto labelFunc01B2_0022;
labelFunc01B2_001E:
item->Func0629();
labelFunc01B2_0022:
if (!(event == 0x0008)) goto labelFunc01B2_00A5;
var0000 = UI_get_object_position(item);
var0000[0x0001] = (var0000[0x0001] + 0x0001);
var0000[0x0002] = (var0000[0x0002] - 0x0001);
var0001 = UI_get_cont_items(0xFE9C, 0x032A, 0xFE99, 0xFE99);
if (!var0001) goto labelFunc01B2_008F;
var0002 = UI_set_last_created(var0001);
if (!var0002) goto labelFunc01B2_008F;
UI_set_item_frame(var0001, 0x0003);
var0002 = UI_update_last_created(var0000);
labelFunc01B2_008F:
var0002 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, 0x0000, (byte)0x01, (byte)0x6C]);
labelFunc01B2_00A5:
return;
}
// externs
extern var Func0827 0x827 (var var0000, var var0001);
void Func01B3 shape#(0x1B3) ()
{
var var0000;
var var0001;
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc01B3_001B;
UI_set_item_shape(item, 0x01E1);
UI_halt_scheduled(item);
labelFunc01B3_001B:
if (!(event == 0x0007)) goto labelFunc01B3_004D;
UI_set_item_shape(item, 0x01E1);
var0000 = Func0827(0xFE9C, item);
var0001 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0000, (byte)0x01, (byte)0x6A, (byte)0x61]);
labelFunc01B3_004D:
return;
}
void Func01BF shape#(0x1BF) ()
{
if (!(event == 0x0001)) goto labelFunc01BF_0010;
UI_item_say(item, "Arghh");
labelFunc01BF_0010:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
void Func01D6 shape#(0x1D6) ()
{
var var0000;
var var0001;
var var0002;
var0000 = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0x0000);
if (!var0000) goto labelFunc01D6_004B;
var0001 = [0xFFFB, 0xFFFB];
var0002 = [0xFFFF, 0xFFFF];
Func0828(item, var0001, var0002, 0x0000, 0x032A, var0000, 0x0009);
labelFunc01D6_004B:
return;
}
// externs
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func087C 0x87C ();
extern var Func090A 0x90A ();
extern var Func093C 0x93C (var var0000, var var0001);
void Func01DF shape#(0x1DF) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc01DF_01EB;
var0000 = Func0931(0xFE9B, 0x0001, 0x0304, 0xFE99, 0xFE99);
UI_show_npc_face(0xFEE5, 0x0000);
if (!(!gflags[0x0154])) goto labelFunc01DF_0040;
if (!(!var0000)) goto labelFunc01DF_003D;
message("The creature ignores you.*");
say();
abort;
goto labelFunc01DF_0040;
labelFunc01DF_003D:
Func087C();
labelFunc01DF_0040:
if (!(!gflags[0x013C])) goto labelFunc01DF_0052;
message("The ape-like creature approaches you cautiously. After a few minutes, it says, \"You are greeted, human.\"");
say();
gflags[0x013C] = true;
goto labelFunc01DF_0056;
labelFunc01DF_0052:
message("The emp approaches you cautiously. After a few minutes, it says, \"You are greeted, human.\"");
say();
labelFunc01DF_0056:
message("\"Is more honey had by you?\" The Emp asks hopefully.");
say();
var0001 = Func090A();
if (!var0001) goto labelFunc01DF_0079;
if (!var0000) goto labelFunc01DF_0072;
Func087C();
goto labelFunc01DF_0076;
labelFunc01DF_0072:
message("\"No honey is had by you,\" says the Emp, obviously disappointed.");
say();
labelFunc01DF_0076:
goto labelFunc01DF_007D;
labelFunc01DF_0079:
message("Obviously disappointed, the Emp says, \"That is too bad. What is your wish?\"");
say();
labelFunc01DF_007D:
UI_add_answer(["name", "job", "bye"]);
labelFunc01DF_008D:
converse (0) atend labelFunc01DF_01E6;
case "name" atend labelFunc01DF_017B:
var0002 = UI_get_npc_prop(item, 0x0005);
var0003 = [0x0001, 0x0002, 0x0003, 0x0004];
if (!(!(var0002 in var0003))) goto labelFunc01DF_0124;
var0004 = UI_find_nearby(0xFE9C, 0x01DF, 0x0050, 0x0004);
//enum();
labelFunc01DF_00D4:
for (var0007 in var0004 with var0005 to var0006) atend labelFunc01DF_0103;
var0008 = UI_get_npc_prop(item, 0x0005);
if (!(var0008 in var0003)) goto labelFunc01DF_0100;
var0003 = Func093C(var0008, var0003);
labelFunc01DF_0100:
goto labelFunc01DF_00D4;
labelFunc01DF_0103:
var0002 = UI_die_roll(0x0001, 0x0004);
if (!var0003) goto labelFunc01DF_0124;
if (!(!(var0002 in var0003))) goto labelFunc01DF_0124;
goto labelFunc01DF_0103;
labelFunc01DF_0124:
if (!(var0002 == 0x0001)) goto labelFunc01DF_0138;
message("\"Terandan is my name.\"");
say();
var0009 = "he";
labelFunc01DF_0138:
if (!(var0002 == 0x0002)) goto labelFunc01DF_014C;
message("\"Sendala is my name.\"");
say();
var0009 = "she";
labelFunc01DF_014C:
if (!(var0002 == 0x0003)) goto labelFunc01DF_0160;
message("\"Tvellum is my name.\"");
say();
var0009 = "he";
labelFunc01DF_0160:
if (!(var0002 == 0x0004)) goto labelFunc01DF_0174;
message("\"Simrek is my name.\"");
say();
var0009 = "she";
labelFunc01DF_0174:
UI_remove_answer("name");
labelFunc01DF_017B:
case "job" atend labelFunc01DF_018E:
message("\"No job is had by me. Food is gathered by me.\"");
say();
UI_add_answer("food");
labelFunc01DF_018E:
case "food" atend labelFunc01DF_01AA:
message("\"Fruit, milk, cheese are eaten by Emps.");
say();
UI_add_answer(["fruits", "milk", "cheese"]);
labelFunc01DF_01AA:
case "cheese", "milk" atend labelFunc01DF_01C6:
message("\"Cheese and milk are liked by Emps, but they are hard to find. Only from humans can these foods be found.\"");
say();
UI_remove_answer(["cheese", "milk"]);
labelFunc01DF_01C6:
case "fruits" atend labelFunc01DF_01D8:
message("\"Fruits are found easily in the forest,\" ");
message(var0009);
message(" says. \"They are what Emps use as food most often.\"");
say();
labelFunc01DF_01D8:
case "bye" atend labelFunc01DF_01E3:
goto labelFunc01DF_01E6;
labelFunc01DF_01E3:
goto labelFunc01DF_008D;
labelFunc01DF_01E6:
break;
message("\"Farewell is said to you.\"*");
say();
labelFunc01DF_01EB:
if (!(event == 0x0000)) goto labelFunc01DF_01F4;
abort;
labelFunc01DF_01F4:
return;
}
// externs
extern void Func0942 0x942 (var var0000, var var0001);
void Func01E1 shape#(0x1E1) ()
{
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc01E1_0015;
Func0942(item, 0x01B3);
labelFunc01E1_0015:
return;
}
void Func01EF shape#(0x1EF) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc01EF_004B;
UI_item_say(0xFE9C, "@Here kitty, kitty@");
UI_set_schedule_type(item, 0x0000);
UI_set_attack_mode(item, 0x0007);
UI_set_oppressor(item, 0xFE9C);
if (!UI_npc_nearby(0xFFFD)) goto labelFunc01EF_004B;
var0000 = UI_delayed_execute_usecode_array(0xFFFD, [(byte)0x23, (byte)0x52, "@I hate cats.@"], 0x0004);
labelFunc01EF_004B:
if (!(event == 0x0000)) goto labelFunc01EF_005B;
UI_item_say(item, "@Meow@");
labelFunc01EF_005B:
return;
}
void Func01F0 shape#(0x1F0) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc01F0_001A;
UI_item_say(0xFE9C, "@Good doggy.@");
UI_set_schedule_type(item, 0x0009);
labelFunc01F0_001A:
if (!(event == 0x0000)) goto labelFunc01F0_0053;
var0000 = UI_die_roll(0x0001, 0x0002);
if (!(var0000 == 0x0001)) goto labelFunc01F0_0041;
UI_item_say(item, "@Arf@");
labelFunc01F0_0041:
if (!(var0000 == 0x0002)) goto labelFunc01F0_0053;
UI_item_say(item, "@Bark@");
labelFunc01F0_0053:
return;
}
void Func01F4 shape#(0x1F4) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc01F4_005A;
var0000 = UI_get_party_list();
//enum();
labelFunc01F4_0010:
for (var0003 in var0000 with var0001 to var0002) atend labelFunc01F4_005A;
var0004 = UI_delayed_execute_usecode_array(var0003, [(byte)0x23, (byte)0x52, "@Moo!@"], UI_die_roll(0x0001, 0x000A));
var0004 = UI_delayed_execute_usecode_array(var0003, [(byte)0x23, (byte)0x52, "@Moo!@"], UI_die_roll(0x0015, 0x001E));
goto labelFunc01F4_0010;
labelFunc01F4_005A:
if (!(event == 0x0000)) goto labelFunc01F4_006A;
UI_item_say(item, "@Moo@");
labelFunc01F4_006A:
return;
}
// externs
extern var Func090A 0x90A ();
void Func01F7 shape#(0x1F7) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc01F7_00B1;
if (!UI_in_usecode(item)) goto labelFunc01F7_0011;
return;
labelFunc01F7_0011:
if (!UI_npc_nearby(0xFFD4)) goto labelFunc01F7_00B1;
UI_show_npc_face(0xFFD4, 0x0000);
message("\"Now is the time for the young and the old to dig in their pockets and give up the gold. * Dost thou wish to donate a gold piece?\"");
say();
if (!Func090A()) goto labelFunc01F7_00AA;
var0000 = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, 0xFE99);
var0000 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x46, 0x0000, (byte)0x4E, (byte)0x0B, 0xFFFF, 0x001F, (byte)0x46, 0x0000]);
var0000 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x27, 0x000B, (byte)0x58, 0x0055, (byte)0x58, 0x0053, (byte)0x58, 0x0054, (byte)0x27, 0x0001, (byte)0x58, 0x0055, (byte)0x58, 0x0053, (byte)0x27, 0x0003, (byte)0x58, 0x0053, (byte)0x27, 0x0002, (byte)0x58, 0x0055]);
labelFunc01F7_00AA:
UI_remove_npc_face(0xFFD4);
labelFunc01F7_00B1:
return;
}
// externs
extern var Func090A 0x90A ();
void Func01F8 shape#(0x1F8) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
if (!(event == 0x0001)) goto labelFunc01F8_0009;
return;
labelFunc01F8_0009:
if (!(event == 0x0003)) goto labelFunc01F8_0112;
var0000 = false;
var0001 = UI_get_item_shape(item);
if (!(!(var0001 == 0x01F8))) goto labelFunc01F8_0064;
var0002 = UI_find_nearby(item, 0x01F8, 0x0050, 0x0004);
//enum();
labelFunc01F8_003A:
for (var0005 in var0002 with var0003 to var0004) atend labelFunc01F8_0061;
if (!UI_get_cont_items(var0005, 0x031D, 0x00F1, 0x0004)) goto labelFunc01F8_005E;
var0000 = var0005;
labelFunc01F8_005E:
goto labelFunc01F8_003A;
labelFunc01F8_0061:
goto labelFunc01F8_0068;
labelFunc01F8_0064:
var0000 = item;
labelFunc01F8_0068:
if (!(!UI_get_cont_items(var0000, 0x031D, 0x00F1, 0x0004))) goto labelFunc01F8_007D;
return;
labelFunc01F8_007D:
UI_show_npc_face(0xFEDB, 0x0000);
if (!(!gflags[0x0311])) goto labelFunc01F8_00AA;
message("\"Well met, seeker. I am Dracothraxus. Thy test, and I fear, thy defeat lies before thee. For thou shouldst know that I am made immortal by the Keeper of Courage. 'Twould take a truly powerful artifact to destroy me... one that does not exist.\" The great dragon paws the earth in expectation of your imminent battle.");
say();
UI_remove_npc_face(0xFEDB);
gflags[0x0311] = true;
UI_set_schedule_type(var0000, 0x0000);
goto labelFunc01F8_0112;
labelFunc01F8_00AA:
if (!UI_count_objects(0xFE9B, 0x02C3, 0xFE99, 0xFE99)) goto labelFunc01F8_00D5;
message("Dracothraxus sniffs the air distastefully, \"I sense my doom nearby. Perhaps I am to be released at long last. I wish thee good luck mortal. Defend thyself!\" With that, the dragon leaps at you.");
say();
UI_remove_npc_face(0xFEDB);
UI_set_schedule_type(var0000, 0x0000);
goto labelFunc01F8_0112;
labelFunc01F8_00D5:
if (!UI_find_nearest(var0000, 0x02C3, 0x001E)) goto labelFunc01F8_00FD;
message("Dracothraxus sniffs the air distastefully, \"I sense my doom nearby. Perhaps I am to be released at long last. I wish thee good luck mortal. Defend thyself!\" With that, the dragon leaps at you.");
say();
UI_remove_npc_face(0xFEDB);
UI_set_schedule_type(var0000, 0x0000);
goto labelFunc01F8_0112;
labelFunc01F8_00FD:
message("\"Thou hast returned to test thy mettle, little one. Thy courage does thee honor, however, I think that thou shalt take thine honor to the grave with thee.\"*");
say();
UI_remove_npc_face(0xFEDB);
UI_set_schedule_type(var0000, 0x0000);
labelFunc01F8_0112:
if (!(event == 0x0002)) goto labelFunc01F8_0280;
UI_show_npc_face(0xFEDB, 0x0000);
if (!gflags[0x02EF]) goto labelFunc01F8_0195;
message("The dragon lets out a searing sigh, \"Released at last. I go now to seek my reward, for this has been a test of my courage as well as thine. Thy reward lies beyond the door to the north. Enter the blue gate and the Amulet of Courage will be thine.\"*");
say();
UI_remove_item(item);
UI_remove_npc_face(0xFEDB);
var0006 = UI_find_nearby(UI_get_npc_object(0xFE9C), 0x036C, 0x0028, 0x0000);
//enum();
labelFunc01F8_0152:
for (var0009 in var0006 with var0007 to var0008) atend labelFunc01F8_0194;
if (!(UI_get_item_quality(var0009) == 0x000A)) goto labelFunc01F8_0191;
var000A = UI_execute_usecode_array(var0009, [(byte)0x46, 0x0004, (byte)0x58, 0x0021, (byte)0x50, (byte)0x0B, 0xFFFF, 0x0003, (byte)0x55, 0x03A7]);
labelFunc01F8_0191:
goto labelFunc01F8_0152;
labelFunc01F8_0194:
return;
labelFunc01F8_0195:
if (!gflags[0x0336]) goto labelFunc01F8_019E;
goto labelFunc01F8_026C;
labelFunc01F8_019E:
message("\"Well done, little human. Thou art as powerful as thou art courageous. Do not think that thou hast destroyed me, thou hast merely bested me. And for this wonderous feat, I think thou dost deserve a reward. I have a truly magnificent gem that I would give to thee, if thy courage can but continue for a bit.\" Dracothraxus opens her mouth wide. Within, you can see a multitude of teeth, each one needle sharp. Also, near the back, you see a small but brilliant blue gem. Do you reach in and take it?");
say();
if (!Func090A()) goto labelFunc01F8_021B;
message("As you place your hand in the furnace that is the dragon's maw, you can't help but wonder if a small gem is worth the risk.");
say();
var000B = UI_create_new_object(0x02F8);
UI_set_item_frame(var000B, 0x000C);
var000C = UI_give_last_created(UI_get_npc_object(0xFE9C));
if (!var000C) goto labelFunc01F8_01DB;
message("Nevertheless, you persevere and retrieve the lovely little gem.");
say();
goto labelFunc01F8_0218;
labelFunc01F8_01DB:
message("Just as you are about to pluck the gem literally from the jaws of death, the dragon gently places it within her nest. Dracothraxus closes her mouth and winks at you. \"'Twas merely a test of thy courage, little one.\"");
say();
var000D = (UI_get_object_position(0xFE9C) & (0xFE99 & 0x0003));
var000E = UI_find_nearby(var000D, 0x0113, 0x001E, 0x0010);
if (!var000E) goto labelFunc01F8_0218;
var000A = UI_update_last_created(UI_get_object_position(var000E));
labelFunc01F8_0218:
goto labelFunc01F8_026C;
labelFunc01F8_021B:
message("\"Tis a pity thy courage goes only so far as bravery in battle, and not to trust of an honorable opponent. However, thou hast earned thy reward, and here it is.\" The dragon pushes the gem forward with her tongue, and removes it from her mouth. She then places it gently within her nest.");
say();
var000B = UI_create_new_object(0x02F8);
UI_set_item_frame(var000B, 0x000C);
var000D = (UI_get_object_position(0xFE9C) & (0xFE99 & 0x0003));
var000E = UI_find_nearby(var000D, 0x0113, 0x001E, 0x0010);
if (!var000E) goto labelFunc01F8_026C;
var000A = UI_update_last_created(UI_get_object_position(var000E));
labelFunc01F8_026C:
message("\"I go now to rest, but I shall return. The door will not open until thou hast found a way to best me for good and for all. Farewell, little mortal.*");
say();
UI_remove_item(item);
gflags[0x0336] = true;
UI_remove_npc_face(0xFEDB);
labelFunc01F8_0280:
return;
}
// externs
extern void Func0639 object#(0x639) ();
void Func01FA shape#(0x1FA) ()
{
var var0000;
if (!(event == 0x0002)) goto labelFunc01FA_0041;
UI_show_npc_face(0xFFE6, 0x0000);
message("Batlin watches Hook's death with icy resignation. Time seems to slow as he turns to you. \"This battle is not done, Avatar. Dost thou imagine thyself an immortal? The Guardian is far more. Return to your precious Earth and rest.~Sleep, that he may visit your dreams with countless visions of death in the belly of the Great Sea Serpent.\"");
say();
message("\"As for me, I shall begone! Thou shalt never find me! Farewell, Avatar!\"");
say();
UI_remove_npc_face(0xFFE6);
var0000 = UI_find_nearby(0xFE9C, 0x0193, 0x0028, 0x0000);
event = 0x0001;
var0000[0x0001]->Func0639();
labelFunc01FA_0041:
return;
}
void Func020A shape#(0x20A) ()
{
if (!(event == 0x0001)) goto labelFunc020A_0010;
UI_item_say(item, "Locked");
labelFunc020A_0010:
return;
}
void Func020E shape#(0x20E) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc020E_00A3;
var0000 = UI_find_nearby(item, 0x01B8, 0x000A, 0x0080);
var0001 = UI_get_object_position(item);
var0001[0x0001] = (var0001[0x0001] + 0x0003);
var0001[0x0002] = (var0001[0x0002] + 0x0003);
//enum();
labelFunc020E_0048:
for (var0004 in var0000 with var0002 to var0003) atend labelFunc020E_00A3;
var0005 = UI_get_object_position(var0004);
if (!((var0001[0x0001] == var0005[0x0001]) && ((var0001[0x0002] == var0005[0x0002]) && (var0001[0x0003] == var0005[0x0003])))) goto labelFunc020E_00A0;
UI_remove_item(var0004);
UI_set_item_shape(item, 0x0379);
UI_play_sound_effect2(0x002E, item);
labelFunc020E_00A0:
goto labelFunc020E_0048;
labelFunc020E_00A3:
return;
}
// externs
extern void Func0500 object#(0x500) ();
void Func0216 shape#(0x216) ()
{
item->Func0500();
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern void Func08FF 0x8FF (var var0000);
void Func0247 shape#(0x247) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!((event == 0x0001) && (!UI_get_container(item)))) goto labelFunc0247_00CF;
var0000 = UI_get_object_position(item);
if (!(UI_get_item_frame(item) == 0x0000)) goto labelFunc0247_00CF;
var0001 = UI_set_last_created(item);
if (!var0001) goto labelFunc0247_00CF;
var0002 = UI_is_not_blocked(var0000, 0x03F3, 0x0011);
var0001 = UI_update_last_created(var0000);
if (!(var0002 && var0001)) goto labelFunc0247_00B9;
UI_close_gumps();
var0003 = [0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001];
var0004 = [0x0001, 0x0000, 0xFFFF, 0x0001, 0x0000, 0xFFFF, 0x0001, 0x0000, 0xFFFF];
UI_halt_scheduled(0xFE9C);
Func0828(item, var0003, var0004, 0xFFFF, 0x0247, item, 0x0007);
goto labelFunc0247_00CF;
labelFunc0247_00B9:
var0000[0x0002] = (var0000[0x0002] - 0x0005);
Func08FF("@There is no room for thy bedroll there.@");
labelFunc0247_00CF:
if (!(event == 0x0007)) goto labelFunc0247_0101;
var0001 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, (byte)0x30, (byte)0x6C, (byte)0x61]);
var0001 = UI_execute_usecode_array(item, [(byte)0x27, 0x0002, (byte)0x55, 0x0247]);
labelFunc0247_0101:
if (!(event == 0x0002)) goto labelFunc0247_0119;
UI_set_item_shape(item, 0x03F3);
UI_set_item_frame(item, 0x0011);
labelFunc0247_0119:
return;
}
// externs
extern void Func0942 0x942 (var var0000, var var0001);
void Func0253 shape#(0x253) ()
{
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc0253_0015;
Func0942(item, 0x02BD);
labelFunc0253_0015:
return;
}
// externs
extern void Func0813 0x813 (var var0000, var var0001, var var0002);
void Func0268 shape#(0x268) ()
{
Func0813(item, 0x0001, 0x005A);
return;
}
// externs
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func0911 0x911 (var var0000);
extern var Func090A 0x90A ();
void Func0269 shape#(0x269) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0000)) goto labelFunc0269_0009;
abort;
labelFunc0269_0009:
UI_show_npc_face(0xFEE4, 0x0000);
var0000 = Func0931(0xFE9B, 0x0001, 0x0347, 0xFE99, 0x0000);
if (!(gflags[0x0004] && (!gflags[0x0012]))) goto labelFunc0269_0056;
message("\"Congratulations, Avatar, on destroying the Sphere. I am free from my celestial prison. I thank thee. But I regret to inform thee that The Guardian engineered the Sphere such that its destruction has permanently disabled the Moongates, and thine Orb of the Moons as well. Thou canst not return to thine home by way of a red Moongate.~~");
say();
message("\"Thine only hope of leaving Britannia at the conclusion of thy quest is to use The Guardian's own vehicle for entering the land -- The Black Gate.");
say();
message("\"The Guardian's followers are building The Black Gate of blackrock and will be using magic and natural elements to activate it. The Guardian plans to enter Britannia during the upcoming Astronomical Alignment, which is imminent. That is the only time when the elements will work well enough for The Black Gate to be permeable and active. Thou wilt need a device which has the ability to vanquish blackrock. If thou hast not already encountered such a device, thou canst find something to help thee in the workshop of Rudyom the Mage, in Cove.");
say();
message("\"Before thou canst locate The Black Gate, there is one more generator which must be destroyed. It is the device used to transmit The Guardian's voice to his followers and charm them into obeying his wishes. Look in the area near Serpent's Hold for a dungeon containing this generator. It is most likely shaped like a Cube. It could very well be on The Fellowship's island east of Serpent's Hold.");
say();
message("\"When thou hast completed this task, concentrate thine efforts in Buccaneer's Den. Thou mayest find clues there as to the location of The Black Gate.");
say();
message("\"Shouldst thou wish to speak with me again, simply use the hourglass. Goodbye.\"*");
say();
gflags[0x0012] = true;
Func0911(0x00C8);
abort;
labelFunc0269_0056:
if (!(gflags[0x0005] && (!gflags[0x0013]))) goto labelFunc0269_0078;
message("\"Avatar! The Astronomical Alignment is almost at hand! Time is running out! The Guardian must be prevented from coming through The Black Gate!");
say();
message("\"The Cube will help thee find the location of The Black Gate. With it in thy possession, those under the influence of The Guardian will be more receptive to speaking the truth to thee.");
say();
message("\"Go to Buccaneer's Den. Search for the one called 'Hook'. Talk to the so-called Fellowship. Thou shouldst have no trouble ascertaining his whereabouts there. I am sure that thou wilt eventually find the location of The Black Gate! Good luck!\"*");
say();
gflags[0x0013] = true;
Func0911(0x00C8);
abort;
labelFunc0269_0078:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x01D4])) goto labelFunc0269_00AD;
message("You see a vaguely familiar but intimidating figure enclosed in some kind of cylindrical cell. He looks at you intently.~~\"It has been many years since we met during the time of Exodus! I have never wanted to see thee again as badly as most recently! It is about time thou shouldst arrive! I do not have eras to waste whilst I wait for thee! There is a crisis and Britannia needs thine help! I need thine help! The entire universe needs thine help!\"");
say();
UI_add_answer(["about time", "crisis"]);
gflags[0x01D4] = true;
Func0911(0x00C8);
goto labelFunc0269_00E2;
labelFunc0269_00AD:
if (!(!gflags[0x01D3])) goto labelFunc0269_00DE;
message("\"Hast thou decided if thou wilt help me?\"");
say();
var0001 = Func090A();
if (!var0001) goto labelFunc0269_00D6;
message("The Time Lord looks relieved.");
say();
message("\"Then I have a mission for thee.\"");
say();
UI_add_answer("mission");
goto labelFunc0269_00DB;
labelFunc0269_00D6:
message("\"Then away with thee!\"*");
say();
abort;
labelFunc0269_00DB:
goto labelFunc0269_00E2;
labelFunc0269_00DE:
message("\"How may I help thee, Avatar?\" the Time Lord asks.");
say();
labelFunc0269_00E2:
if (!gflags[0x01D3]) goto labelFunc0269_00EF;
UI_add_answer("The Guardian");
labelFunc0269_00EF:
if (!gflags[0x0000]) goto labelFunc0269_0102;
UI_add_answer(["Tetrahedron", "ethereal defense"]);
labelFunc0269_0102:
if (!gflags[0x0003]) goto labelFunc0269_0115;
UI_remove_answer(["Tetrahedron", "ethereal defense"]);
labelFunc0269_0115:
if (!gflags[0x0001]) goto labelFunc0269_0128;
UI_add_answer(["Sphere", "Moongate"]);
labelFunc0269_0128:
if (!gflags[0x0004]) goto labelFunc0269_013B;
UI_remove_answer(["Sphere", "Moongate"]);
labelFunc0269_013B:
if (!(gflags[0x0012] && (!gflags[0x0005]))) goto labelFunc0269_014D;
UI_add_answer("Cube");
labelFunc0269_014D:
if (!gflags[0x0002]) goto labelFunc0269_0160;
UI_add_answer(["Cube", "noise"]);
labelFunc0269_0160:
if (!gflags[0x0005]) goto labelFunc0269_0173;
UI_remove_answer(["Cube", "noise"]);
labelFunc0269_0173:
if (!(gflags[0x0211] || var0000)) goto labelFunc0269_0184;
UI_add_answer("fix magic");
labelFunc0269_0184:
if (!gflags[0x0003]) goto labelFunc0269_0191;
UI_remove_answer("fix magic");
labelFunc0269_0191:
converse (0) atend labelFunc0269_03C7;
case "name" atend labelFunc0269_01A7:
message("\"I am known as the Time Lord.\"");
say();
UI_remove_answer("name");
labelFunc0269_01A7:
case "job" atend labelFunc0269_01B3:
message("\"I ensure that time flows smoothly through space.\" He shrugs his shoulders. \"Do not ask me to explain this. It is beyond mortal beings' comprehension.\"");
say();
labelFunc0269_01B3:
case "about time" atend labelFunc0269_01D1:
message("\"It was I who sent the red moongate to thine homeland to lure thee to Britannia! It took every bit of my strength to make it functional, and still something went wrong. Thou didst arrive in Trinsic, which was not mine intention. It has therefore taken thee much longer to reach me than I anticipated.");
say();
message("\"Once thou didst arrive in Britannia, the only other way I could contact thee was via the Wisps. After the considerable rest I had since creating the red moongate, I managed to repair the one Orb of the Moons location that would bring thee to me. I cannot roam freely through time and space, doing my work, whilst I am trapped here.\"");
say();
UI_remove_answer("about time");
UI_add_answer("Wisps");
labelFunc0269_01D1:
case "crisis" atend labelFunc0269_021E:
message("\"The land is under attack by a powerful and malicious being from another dimension, and thou art the only one who can stop him! I have been trapped here by a trick, due to a sorcery which The Guardian has performed. The Guardian has put a wrinkle in the space-time continuum by creating a powerful 'generator' which has made the Moongates and thine Orb of the Moons mostly inoperable.");
say();
message("\"Thou -must- free me and we must work together in battling The Guardian. The fate of thy people depends upon it. Dost thou accept?\"");
say();
var0002 = Func090A();
if (!var0002) goto labelFunc0269_01FB;
message("\"Then I have a mission for thee.\"");
say();
UI_add_answer("mission");
goto labelFunc0269_0217;
labelFunc0269_01FB:
message("\"Then thou shalt be doomed to never finish thy quest. Art thou sure? I give thee one more chance. Dost thou want to help?\"");
say();
var0001 = Func090A();
if (!var0001) goto labelFunc0269_0212;
message("\"Then I have a mission for thee.\"");
say();
goto labelFunc0269_0217;
labelFunc0269_0212:
message("\"Then farewell, Avatar. Leave now. Thou wilt come back when thou dost realize it is thy destiny to help me.\"*");
say();
abort;
labelFunc0269_0217:
UI_remove_answer("crisis");
labelFunc0269_021E:
case "mission" atend labelFunc0269_0269:
message("\"I knew thou wouldst not let me down.~~\"Go at once to the Serpent's Spine area. Search for the entrance to a dungeon somewhere northwest of Britain. I believe it may be called 'Dungeon Despise'. This will lead thee to the generator causing the problem. If mine hunch is correct, it will resemble a large Sphere.");
say();
if (!gflags[0x0001]) goto labelFunc0269_0234;
message("\"Thou may have already seen it.");
say();
labelFunc0269_0234:
message("\"Thou must find a way to destroy it.");
say();
if (!(!gflags[0x0001])) goto labelFunc0269_024D;
message("\"It may have a defense mechanism. If thou canst not conquer it, return here and describe the defense to me. Perhaps I can help thee more. It might be wise to use the spells Mark and Recall to save thyself the trouble of finding thy way through the entire dungeon a second time, should thou have to travel there again.\"");
say();
UI_add_answer("Sphere");
goto labelFunc0269_025E;
labelFunc0269_024D:
message("\"Its defense, as thou dost know, is an unusual Moongate.\"");
say();
UI_add_answer(["Sphere", "Moongate"]);
labelFunc0269_025E:
gflags[0x01D3] = true;
UI_remove_answer("mission");
labelFunc0269_0269:
case "Wisps" atend labelFunc0269_027C:
message("\"Oddly aloof creatures. They have made good messengers in the past.\"");
say();
UI_remove_answer("Wisps");
labelFunc0269_027C:
case "The Guardian" atend labelFunc0269_028F:
message("\"He is an embodiment of supreme evil. He must be stopped. He thrives on domination and control.\"");
say();
UI_remove_answer("The Guardian");
labelFunc0269_028F:
case "Sphere" atend labelFunc0269_02A2:
message("\"It is a magic generator that The Guardian was able to send from his world. Its purpose is to disable the Moongates. Thou must break its outer defense and enter the structure, taking the smaller Sphere floating inside. Keep the small Sphere, as it will be useful later.\"");
say();
UI_remove_answer("Sphere");
labelFunc0269_02A2:
case "Moongate" atend labelFunc0269_02C6:
message("\"The Sphere's outer defense sends thy party back to a specific position in space. Until this defense is broken, thou canst not enter the generator. Thou must find Nicodemus' hourglass.~~\"If I am correct in mine hypothesis, the Sphere's inner defense will involve Moongates. Look for a visual pattern to help thee solve this mystery.\"");
say();
gflags[0x01D2] = true;
UI_remove_answer("Moongate");
UI_add_answer(["hourglass", "Nicodemus"]);
labelFunc0269_02C6:
case "hourglass" atend labelFunc0269_02EE:
if (!(!gflags[0x0004])) goto labelFunc0269_02E3;
message("\"It is an enchanted hourglass which will help thee if it is used at the site of the Sphere. Once I am free of the power of the generator, thou canst summon me by using the hourglass.\"");
say();
UI_remove_answer("hourglass");
goto labelFunc0269_02EE;
labelFunc0269_02E3:
message("\"It is of no use to thee now, unless thou dost want to summon me again.\"");
say();
UI_remove_answer("hourglass");
labelFunc0269_02EE:
case "Nicodemus" atend labelFunc0269_0301:
message("\"He is a mage that lives west of the forest of Yew.\"");
say();
UI_remove_answer("Nicodemus");
labelFunc0269_0301:
case "fix magic" atend labelFunc0269_0329:
if (!(!gflags[0x0003])) goto labelFunc0269_031E;
message("The Time Lord thinks a moment.~~\"The ether must be repaired before the mages in Britannia can use magic again. I suggest that thou seest Penumbra in Moonglow. She may be able to help thee with this problem.\"");
say();
UI_add_answer("Penumbra");
goto labelFunc0269_0322;
labelFunc0269_031E:
message("\"Magic must be functioning properly now, Avatar. Use it wisely.\"");
say();
labelFunc0269_0322:
UI_remove_answer("fix magic");
labelFunc0269_0329:
case "Tetrahedron" atend labelFunc0269_033C:
message("\"It is a magic generator that The Guardian has sent from his world. It is controlling the ether which is depended upon by the mages to perform magic. Like the Sphere, thou must penetrate its outer defense, enter the structure, and take the smaller Tetrahedron floating inside.\"");
say();
UI_remove_answer("Tetrahedron");
labelFunc0269_033C:
case "ethereal defense" atend labelFunc0269_0353:
message("\"It is not surprising that the Tetrahedron has such a defense. Penumbra in Moonglow should be able to help thee with that. It is obvious now that the Tetrahedron must be destroyed before thou canst destroy the Sphere.~~\"I am not sure what kind of inner defense the Tetrahedron may hold. It may be dangerous. Be sure to be well-armed when entering it.\"");
say();
gflags[0x0007] = true;
UI_remove_answer("ethereal defense");
labelFunc0269_0353:
case "Penumbra" atend labelFunc0269_0366:
message("\"She is an elderly mage who lives in Moonglow.\"");
say();
UI_remove_answer("Penumbra");
labelFunc0269_0366:
case "Cube" atend labelFunc0269_0399:
if (!(!(gflags[0x0004] || gflags[0x0003]))) goto labelFunc0269_0380;
message("\"It is a magic generator which The Guardian has sent from his world. From what thou dost say, it sounds to me like the device he uses to 'speak' to his followers and charm them into submitting to his wishes. I am afraid that before thou canst destroy it, thou must take care of the other magic generators which The Guardian has placed in Britannia.\"");
say();
goto labelFunc0269_0384;
labelFunc0269_0380:
message("\"It is the third and final magic generator which The Guardian has sent from his world. It is the device he uses to 'speak' to his followers and charm them into submitting to his wishes. Tis in a dungeon near Serpents Hold. Thou must destroy its outer defense, enter it, and take the smaller Cube floating inside.\"");
say();
labelFunc0269_0384:
UI_remove_answer("Cube");
if (!(!gflags[0x0002])) goto labelFunc0269_0399;
UI_add_answer("Cube defense");
labelFunc0269_0399:
case "Cube defense", "noise" atend labelFunc0269_03B9:
message("\"This outer defense can be conquered by using special helmets which cover your ears. The helmets must be made from a rare mineral called 'Caddellite'. It is present in meteors. Seek out Brion, at the Observatory near the Lycaeum. He can give thee more advice on finding this mineral.~~\"The inner defense will most likely involve The Guardian himself. Do not listen to what he might tell thee.\"");
say();
gflags[0x0008] = true;
UI_remove_answer(["Cube defense", "noise"]);
labelFunc0269_03B9:
case "bye" atend labelFunc0269_03C4:
goto labelFunc0269_03C7;
labelFunc0269_03C4:
goto labelFunc0269_0191;
labelFunc0269_03C7:
break;
message("\"Farewell, Avatar. Good luck to thee.\"*");
say();
return;
}
// externs
extern void Func0690 object#(0x690) ();
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func092D 0x92D (var var0000);
void Func026F shape#(0x26F) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc026F_002C;
if (!(!UI_is_readied(0xFE9C, 0x0001, 0x026F, 0xFE99))) goto labelFunc026F_0024;
UI_flash_mouse(0x0002);
return;
labelFunc026F_0024:
UI_close_gumps();
item->Func0690();
labelFunc026F_002C:
if (!(event == 0x0002)) goto labelFunc026F_0109;
var0000 = false;
var0001 = UI_get_item_shape(item);
if (!(var0001 == 0x03DF)) goto labelFunc026F_0058;
var0000 = UI_find_nearest(item, 0x029C, 0x0001);
labelFunc026F_0058:
if (!(var0001 == 0x026F)) goto labelFunc026F_0069;
var0000 = UI_click_on_item();
labelFunc026F_0069:
if (!(UI_get_item_shape(var0000) == 0x029C)) goto labelFunc026F_0109;
var0002 = UI_find_nearest(var0000, 0x03DF, 0x0003);
if (!var0002) goto labelFunc026F_0109;
var0003 = UI_get_object_position(var0002);
var0004 = UI_get_object_position(var0000);
if (!(var0004[0x0001] == var0003[0x0001])) goto labelFunc026F_0109;
if (!(var0004[0x0002] == var0003[0x0002])) goto labelFunc026F_0109;
if (!((var0004[0x0003] - 0x0001) == var0003[0x0003])) goto labelFunc026F_0109;
var0005 = UI_get_item_frame(var0000);
if (!((var0005 >= 0x0008) && (var0005 <= 0x000F))) goto labelFunc026F_0109;
Func0828(var0002, 0x0000, 0x0002, 0x0000, 0x026F, var0002, 0x0007);
labelFunc026F_0109:
if (!(event == 0x0007)) goto labelFunc026F_01F5;
var0006 = UI_find_nearest(UI_get_npc_object(0xFE9C), 0x029C, 0x0003);
var0005 = UI_get_item_frame(var0006);
var0007 = UI_get_npc_object(0xFE9C);
var0008 = Func092D(item);
if (!((var0005 >= 0x000D) && (var0005 <= 0x000F))) goto labelFunc026F_016E;
UI_item_say(var0007, "@The sword is not heated.@");
var0009 = UI_execute_usecode_array(var0007, [(byte)0x59, var0008]);
labelFunc026F_016E:
if (!((var0005 == 0x0008) || (var0005 == 0x0009))) goto labelFunc026F_019C;
UI_item_say(var0007, "@The sword is too cool.@");
var0009 = UI_execute_usecode_array(var0007, [(byte)0x59, var0008]);
labelFunc026F_019C:
if (!((var0005 >= 0x000A) && (var0005 <= 0x000C))) goto labelFunc026F_01F5;
var0009 = UI_execute_usecode_array(var0007, [(byte)0x59, var0008, (byte)0x64, (byte)0x65, (byte)0x67, (byte)0x64, (byte)0x61]);
var0002 = UI_find_nearest(UI_get_npc_object(0xFE9C), 0x03DF, 0x0003);
var0009 = UI_execute_usecode_array(var0002, [(byte)0x27, 0x0004, (byte)0x55, 0x0691]);
labelFunc026F_01F5:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func092D 0x92D (var var0000);
void Func0270 shape#(0x270) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
var var0013;
var var0014;
var var0015;
var var0016;
if (!(event == 0x0001)) goto labelFunc0270_00AB;
if (!(!UI_is_readied(0xFE9C, 0x0001, 0x0270, 0xFE99))) goto labelFunc0270_0023;
Func08FF("@Thou must hold that in thine hand.@");
return;
labelFunc0270_0023:
var0000 = UI_click_on_item();
var0001 = UI_get_item_shape(var0000);
if (!(var0001 == 0x03A4)) goto labelFunc0270_00A5;
if (!((UI_get_item_frame(var0000) == 0x0002) || (UI_get_item_frame(var0000) == 0x0003))) goto labelFunc0270_009C;
var0002 = [0x0002, 0x0001, 0x0000];
var0003 = [0x0002, 0x0002, 0x0002];
var0004 = [0xFFFB];
Func0828(var0000, var0002, var0003, var0004, 0x0270, item, 0x0007);
UI_close_gumps();
goto labelFunc0270_00A2;
labelFunc0270_009C:
Func08FF("It seems the tree will yield nothing of value.");
labelFunc0270_00A2:
goto labelFunc0270_00AB;
labelFunc0270_00A5:
Func08FF("It seems that a pick is not needed for that.");
labelFunc0270_00AB:
if (!(event == 0x0007)) goto labelFunc0270_012D;
var0005 = UI_find_nearby(0xFE9C, 0x03A4, 0x0003, 0x0000);
//enum();
labelFunc0270_00C7:
for (var0008 in var0005 with var0006 to var0007) atend labelFunc0270_00FA;
var0009 = UI_get_item_frame(var0008);
if (!((var0009 == 0x0002) || (var0009 == 0x0003))) goto labelFunc0270_00F7;
var000A = Func092D(var0008);
labelFunc0270_00F7:
goto labelFunc0270_00C7;
labelFunc0270_00FA:
var000B = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var000A, (byte)0x65, (byte)0x27, 0x0002, (byte)0x67, (byte)0x27, 0x0002, (byte)0x65, (byte)0x27, 0x0002, (byte)0x67, (byte)0x27, 0x0001, (byte)0x55, 0x0270]);
labelFunc0270_012D:
if (!(event == 0x0002)) goto labelFunc0270_026B;
if (!gflags[0x0321]) goto labelFunc0270_0180;
var000C = UI_create_new_object(0x00CB);
UI_set_item_frame(var000C, 0x000A);
var000D = UI_update_last_created([0x097A, 0x0619, 0x0004]);
UI_set_item_frame(UI_find_nearby(0xFE9C, 0x03A4, 0x0003, 0x0000), 0x0003);
gflags[0x0321] = false;
goto labelFunc0270_026B;
labelFunc0270_0180:
var000E = UI_find_nearby(0xFE9C, 0x03A4, 0x0003, 0x0000);
//enum();
labelFunc0270_0194:
for (var0008 in var000E with var000F to var0010) atend labelFunc0270_026B;
var0009 = UI_get_item_frame(var000E);
if (!((var0009 == 0x0003) || (var0009 == 0x0002))) goto labelFunc0270_0268;
var0011 = 0x0000;
labelFunc0270_01C1:
if (!(var0011 < 0x0003)) goto labelFunc0270_0238;
var0012 = UI_create_new_object(0x0390);
UI_set_item_frame(var0012, (0x0003 - var0011));
var0013 = UI_get_object_position(var000E);
var0013[0x0001] = ((var0013[0x0001] + 0x0001) + var0011);
var0013[0x0002] = (var0013[0x0002] + 0x0002);
var0013[0x0003] = (var0013[0x0003] - 0x0003);
var0014 = UI_update_last_created(var0013);
var0011 = (var0011 + 0x0001);
goto labelFunc0270_01C1;
labelFunc0270_0238:
var0015 = UI_find_nearby(var0008, 0x032A, 0x0005, 0x0000);
if (!var0015) goto labelFunc0270_0268;
UI_set_item_frame(var0015, 0x0002);
var0016 = UI_set_item_quality(var0015, 0x0004);
labelFunc0270_0268:
goto labelFunc0270_0194;
labelFunc0270_026B:
return;
}
// externs
extern void Func0925 0x925 (var var0000);
extern var Func081B 0x81B (var var0000);
extern void Func081C 0x81C (var var0000, var var0001);
extern void Func08FE 0x8FE (var var0000);
extern void Func08FF 0x8FF (var var0000);
void Func0273 shape#(0x273) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc0273_0165;
var0000 = UI_click_on_item();
UI_play_sound_effect2(0x001B, item);
var0001 = UI_get_item_shape(var0000);
var0002 = UI_get_item_quality(var0000);
if (!(UI_die_roll(0x0001, 0x001E) < UI_get_npc_prop(0xFE9C, 0x0001))) goto labelFunc0273_004A;
var0003 = true;
goto labelFunc0273_004E;
labelFunc0273_004A:
var0003 = false;
labelFunc0273_004E:
if (!(var0001 == 0x020A)) goto labelFunc0273_00E8;
if (!((var0002 == 0x0000) && var0003)) goto labelFunc0273_007B;
UI_set_item_shape(var0000, 0x0320);
UI_item_say(var0000, "Unlocked");
return;
labelFunc0273_007B:
if (!((var0002 == 0x00FF) && var0003)) goto labelFunc0273_00D9;
var0004 = UI_create_new_object(0x02C0);
if (!var0004) goto labelFunc0273_00D5;
var0005 = UI_update_last_created(UI_get_object_position(var0000));
UI_close_gumps();
var0005 = UI_attack_object(var0004, var0004, 0x02C0);
if (!var0003) goto labelFunc0273_00D5;
UI_set_item_shape(var0000, 0x0320);
UI_item_say(var0000, "Unlocked");
labelFunc0273_00D5:
return;
goto labelFunc0273_00E7;
labelFunc0273_00D9:
UI_item_say(var0000, "Pick broke");
Func0925(item);
labelFunc0273_00E7:
return;
labelFunc0273_00E8:
var0006 = [0x0178, 0x010E, 0x01B0, 0x01B1];
//enum();
labelFunc0273_00FB:
for (var0009 in var0006 with var0007 to var0008) atend labelFunc0273_015F;
if (!(var0001 == var0009)) goto labelFunc0273_015C;
if (!(var0002 == 0x0000)) goto labelFunc0273_0155;
if (!(Func081B(var0000) == 0x0002)) goto labelFunc0273_0152;
if (!var0003) goto labelFunc0273_0143;
Func081C(var0000, 0x0000);
UI_item_say(var0000, "Unlocked");
goto labelFunc0273_0151;
labelFunc0273_0143:
UI_item_say(var0000, "Pick broke");
Func0925(item);
labelFunc0273_0151:
return;
labelFunc0273_0152:
goto labelFunc0273_015C;
labelFunc0273_0155:
Func08FE("@Strange that did not work.@");
return;
labelFunc0273_015C:
goto labelFunc0273_00FB;
labelFunc0273_015F:
Func08FF("@Try those on a locked chest or door.@");
labelFunc0273_0165:
return;
}
void Func0275 shape#(0x275) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0275_0012;
var0000 = UI_click_on_item();
goto labelFunc0275_0016;
labelFunc0275_0012:
var0000 = item;
labelFunc0275_0016:
var0001 = UI_execute_usecode_array(0xFE9C, [(byte)0x23, (byte)0x64, (byte)0x68, (byte)0x6A, (byte)0x7A, (byte)0x64]);
var0001 = UI_set_to_attack(0xFE9C, var0000, 0x0275);
return;
}
void Func0276 shape#(0x276) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0276_0012;
var0000 = UI_click_on_item();
goto labelFunc0276_0016;
labelFunc0276_0012:
var0000 = item;
labelFunc0276_0016:
UI_halt_scheduled(0xFE9C);
var0001 = UI_execute_usecode_array(0xFE9C, [(byte)0x23, (byte)0x64, (byte)0x68, (byte)0x6A, (byte)0x7A, (byte)0x64]);
var0001 = UI_set_to_attack(0xFE9C, var0000, 0x0276);
return;
}
// externs
extern void Func0815 0x815 (var var0000);
void Func0281 shape#(0x281) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0281_0113;
var0000 = UI_click_on_item();
UI_play_sound_effect2(0x001B, item);
var0001 = UI_get_item_shape(var0000);
var0002 = UI_get_item_quality(item);
var0003 = UI_get_item_quality(var0000);
if (!(UI_get_item_shape(var0000[0x0001]) in [0x0178, 0x010E, 0x01B0, 0x01B1])) goto labelFunc0281_0060;
if (!(var0002 == var0003)) goto labelFunc0281_0060;
Func0815(var0000);
labelFunc0281_0060:
if (!(var0001 == 0x020A)) goto labelFunc0281_0096;
if (!(var0002 == var0003)) goto labelFunc0281_0096;
UI_item_say(var0000, "Unlocked");
UI_set_item_shape(var0000, 0x0320);
if (!(var0003 == 0x00FD)) goto labelFunc0281_0096;
gflags[0x003E] = true;
labelFunc0281_0096:
if (!(var0001 == 0x0320)) goto labelFunc0281_0113;
if (!(var0002 == var0003)) goto labelFunc0281_0113;
var0004 = UI_get_cont_items(var0000, 0x0281, var0002, 0xFE99);
var0005 = false;
labelFunc0281_00C1:
if (!var0004) goto labelFunc0281_00E5;
if (!(var0004 == var0000)) goto labelFunc0281_00D8;
var0005 = true;
goto labelFunc0281_00E5;
labelFunc0281_00D8:
var0004 = UI_get_container(var0004);
goto labelFunc0281_00C1;
labelFunc0281_00E5:
if (!var0005) goto labelFunc0281_00F8;
UI_item_say(0xFE9C, "Key inside");
goto labelFunc0281_0113;
labelFunc0281_00F8:
UI_close_gump(var0000);
UI_set_item_shape(var0000, 0x020A);
UI_item_say(var0000, "Locked");
labelFunc0281_0113:
return;
}
void Func0282 shape#(0x282) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc0282_08B2;
var0000 = 0x0089;
UI_play_sound_effect2(0x000E, item);
UI_book_mode(item);
var0001 = item;
var0002 = UI_get_item_quality(var0001);
if (!(var0002 > var0000)) goto labelFunc0282_0037;
message("This is @not a @valid book");
say();
labelFunc0282_0037:
if (!(var0002 == 0x0000)) goto labelFunc0282_004D;
message("~~ ~~MORGAN'S GUIDE TO UNIFINISHED NOVELS~~ ~~by Morgan*");
say();
message("~~ An enlightening discourse on the enigma of blank tomes.");
say();
message("~Beginning with the heretofore unresolved mysteries of empty...*Page 2*Page 3*Page 4*Page 5*Page 6*Page7");
say();
labelFunc0282_004D:
if (!(var0002 == 0x0001)) goto labelFunc0282_006F;
message("~~ ~~ \"HOW DEATH AFFECTS THOSE WHO WORK AROUND IT WITH REGULARITY\"*");
say();
message("Day 1: Subject (Tiery) seems friendly enough and willing to accept my company.~");
say();
message("Day 2: Subject exhibiting strange sense of humor, very morbid.~");
say();
message("Day 3: No contact with subject.~");
say();
message("Day 4: Subject makes continual references to recent conversations with cemetery occupants.~");
say();
message("Day 5: ...");
say();
labelFunc0282_006F:
if (!(var0002 == 0x0002)) goto labelFunc0282_00A9;
message("MY NOTEBOOK by Alagner~~");
say();
message(" These are my observations concerning the organization known as The Fellowship.");
say();
message("Although The Fellowship portends to be a group of optimists with a philosophy called `Triad of Inner Strength', there are many fallacies which can be gleaned by careful examination of the group's `values'.");
say();
message("The first `value' is Strive For Unity. This implies that that we should all work together in harmony and towards one goal in life. However, careful examination of this tenet reveals that members of The Fellowship consider themselves an elite group, and a prejudicial one at that. They tend to believe that if one is not for them, then they are indeed against them! And if one is against them, then may fortune be with that person, for he/she may very well come to a bad end!");
say();
message("The second `value' is Trust Thy Brother. This implies that each member trusts implicitly other Fellowship members, and that each will do favors or deeds for another without question. On the other hand, this might mean that a member should do what another says REGARDLESS of the implications of the act. In other words, `do as I say and do not question it!' seems to be the underlying subtext of this tenet.");
say();
message("The third `value' is Worthiness Precedes Reward. If one does good deeds for The Fellowship, then one will be rewarded. The other side of the coin, of course, is that if one does NOT do good deeds for The Fellowship, then one will get his JUST reward! In The Fellowship, a `reward' can be either `good' or `bad'!");
say();
message("The Fellowship has been duping the masses of Britannia now for twenty years. They are becoming stronger and stronger. After careful study, I have come to the conclusion that the group is serving some higher, malevolent entity, referred to by the organization's inner circle as `The Guardian'. More information needs to be obtained about The Guardian, but I am certain that he is very dangerous.");
say();
message("The Fellowship seems to be organized into three distinct grades of members. Grade One consists of the general masses of naive innocents who have joined, thinking that their pathetic little lives will be helped in some way. Grade Two consists of the various branch leaders who make up the inner circle of Fellowship leaders.");
say();
message("There is also a Grade Three -- those Fellowship leaders who are in administrative positions within the group: men such as Batlin, and the mysterious couple Elizabeth and Abraham who travel the country distributing The Fellowship's funds. (Not much is known about these two -- it is said they are twins -- brother and sister.) I believe that the few Grade Three members are in direct communication with The Guardian and believe they will be serving as his lieutenants should The Guardian ultimately gain power in the land.");
say();
message("Already, The Guardian is promising to be a powerful threat. Magic in Britannia has taken a turn for the worse in the past few years. I believe that The Guardian has done something to cause this malady. Not many people have noticed that Britannia's problem with Moongates -- they're being so unreliable -- occurred around the same time. It follows that The Guardian is most likely responsible for this serious plague.");
say();
message("The Guardian also possesses some kind of power which allows him to speak to and `charm' naive innocents so that they will gladly join The Fellowship and become Grade One members. These unfortunate lambs will most likely become The Guardian's slaves should he ever come into power.");
say();
message("After I have obtained enough proof of my theories concerning The Fellowship, I shall present this notebook to Lord British himself and rid Britannia of these very dangerous, lying fascists.");
say();
labelFunc0282_00A9:
if (!(var0002 == 0x0003)) goto labelFunc0282_00D3;
message("OBSERVATIONS OF BLACK ROCK, by Rudyom The Mage~~");
say();
message(" The mysterious substance known as Black Rock is completely indestructible. Only by magical means can it be molded and shaped.");
say();
message("Black Rock can be found in small quantities beneath the ground, sometimes near lodes of iron ore or lead.");
say();
message("Black Rock can be excavated by conventional means, but melting it down into a malleable substance is impossible, except by magic.");
say();
message("I have found that a combination of electrical energy and magnetic energy has a profound effect upon the substance. Together, these properties cause Black Rock to become permeable, that is, one can put one's hand through the substance as if it were water!");
say();
message("Further study reveals that Black Rock might work as a teleportation device if magic, electrical energy, magnetic energy, and the correct alignment of heavenly bodies act together upon the substance. This theory still needs to be tested.");
say();
message("The Black Rock transmuter I created out of an old wand does not work. It was meant to shoot electrical and magnetic charges into Black Rock, but all it does is make the substance explode! (I must be careful not to let the transmuter get into the wrong hands. Pointing it at a large quantity of Black Rock might produce a devastating explosion!)");
say();
message("I must quit for the day. The headaches that have been plaguing me have gotten worse. I am forgetting more and more. Very soon, I am afraid, I will forget how to cast simple spells. I believe something might be affecting the magical ether. But I cannot be sure...");
say();
labelFunc0282_00D3:
if (!(var0002 == 0x0004)) goto labelFunc0282_00E5;
message("~~ ~~ STRANGER IN A STRANGE LAND~~ ~~by Robert Heinlein~~First Edition*");
say();
message(" The struggles of an individual from another planet who finds difficutly assimilating into his new society and culture.");
say();
labelFunc0282_00E5:
if (!(var0002 == 0x0005)) goto labelFunc0282_00F7;
message("~~ ~~CHITTY-CHITTY-BANG-BANG~~ ~~by Ian Fleming*");
say();
message(" This wonderful childrens's story of a car that could fly has been pleasing youths and adults alike for many generations.");
say();
labelFunc0282_00F7:
if (!(var0002 == 0x0006)) goto labelFunc0282_0109;
message("~~ ~~THE WIZARD OF OZ ~~ ~~by Frank L. Baum*");
say();
message(" The tale of a little girl, Dorthy, who, with her dog, Toto, travels through whirlwinds and magic to a fanciful land called Oz. Dorothy's search for ideals in this land win her three new friends. The first, a brainless scarecrow, whose ultimate wisdom teaches her the principle of Truth. The second, a heartless tin-man, whose undying devotion shows her the principle of Love. Finally, Dorothy encounters a cowardly lion, who, facing all perils to save her, demonstrates the principle of Courage.");
say();
labelFunc0282_0109:
if (!(var0002 == 0x0007)) goto labelFunc0282_0123;
message("~~ ~~ HUBERT'S HAIR-RAISING ADVENTURE ~~ ~~by Bill Peet*");
say();
message("Hubert the Lion was haughty and vain And especially proud of his elegant mane. ~But conceit of this sort isn't proper at all And Hubert the Lion was due for a fall. ~One day as he sharpened his claws on a rock He received a most horrible, terrible shock.");
say();
message("~A flaming hot spark flew up into the air, Came down on his head and ignited his hair. ~With a roar of surprise he took off like a streak, Away through the jungle to Zamboozi Creek. ~He leaped in kersplash! with a shower of bubbles, And came bobbing up with a head full of stubbles. ~At first he just stared with a wide-open mouth At the cloud of black smoke drifting off to the south.");
say();
message("Then he felt with his paws just in back of his ears And he suddenly realized the worst of his fears. ~'I'm ruined,' he shouted, 'oh what'll I do! I'd rather be dead or go live in a zoo! ~And if anyone sees me, oh what a disgrace, So I'd better discover a good hiding place!'");
say();
labelFunc0282_0123:
if (!(var0002 == 0x0008)) goto labelFunc0282_0149;
message("~~RECORDS OF THE HIGH COURT OF YEW~~ ~~ ~~");
say();
gflags[0x0126] = true;
message("... Hook -- Hook is known to be an extremely dangerous killer, a pirate who left his own band of scalliwags to become a freelance assassin for whomever might meet his price. It is believed that he is linked to at least fourteen murders in Britannia. All of the victims had been mutilated with a sharp object believed to be the handiwork of a hook-hand.");
say();
message(" It is not known where Hook resides, but many believe he has a secret hideout on Buccaneer's Den. His most recent sighting confirmed that he is travelling with a warrior gargoyle named Forskis.~~");
say();
message("... Kellin... is wanted in several townships for thievery. He uses many aliases, including Tervis, Kreg, and Hodge. He was last seen near the forest of Yew and is believed to have gone into hiding.~~");
say();
message("... Sullivan... is wanted in several townships for fraud, thievery, and other petty crimes. He is known to be a member of The Fellowship, though The Fellowship has denied any knowledge of such a member. In many reports of the man's crimes, victims have stated that he claimed to be the Avatar.");
say();
gflags[0x0159] = true;
labelFunc0282_0149:
if (!(var0002 == 0x0009)) goto labelFunc0282_015F;
gflags[0x0233] = true;
message("Morfin of Paws, Ledger of Venom Sales*");
say();
message("~~ ~~...July, 0359:~Sale - 3 vials - 300~Sale - 5 vials - 480~ August, 0359:~Sale - 12 vials - 1100~October, 0359:~Sale - 9 vials - 880~December, 0359:~Sale - 10 vials - 1000~Sale - 5 vials - 500~ February, 0360:~Sale - 6 vials - 590~Sale - 4 vials - 400~Sale - 5 vials - 500~April, 0360:~Sale - 6 vials - 620~September, 0360~ Sale - 5 vials - 500~Sale - 5 vials - 480~November, 0360:~ Sale - 10 vials - 990~January, 0361:~Sale - 12 vials - 1200... ");
say();
labelFunc0282_015F:
if (!(var0002 == 0x000A)) goto labelFunc0282_0171;
message("~~ ~~ULTIMA: THE AVATAR ADVENTURES ~~ ~~by Rusel DeMaria and Caroline Spector*");
say();
message("Within the pages of this tome are the details of the many adventurous exploits of the Avatar, beginning with after the destruction of Exodus. The details within this book are amazingly accurate, and the descriptions should prove to be surprisingly vivid.");
say();
labelFunc0282_0171:
if (!(var0002 == 0x000B)) goto labelFunc0282_0187;
message("~~ ~~ ~~ ~~ EVERYTHING AN AVATAR SHOULD KNOW ABOUT SEX:*");
say();
message("*");
say();
message("*");
say();
labelFunc0282_0187:
if (!(var0002 == 0x000C)) goto labelFunc0282_0199;
message("~~ ~~ENCYCLOPEDIA BRITANNIA ~~ ~~Volume I. A - E.*");
say();
message(" Another volume in a long series of books detailing every known geographical location and historical personage. This work covers Aakara, the first mayor of Trinsic, through Exodus, the vile offspring of Mondain and Minax.");
say();
labelFunc0282_0199:
if (!(var0002 == 0x000D)) goto labelFunc0282_01AB;
message("~~ ~~ENCYCLOPEDIA BRITANNIA ~~ ~~Volume II. F - L.*");
say();
message(" Here is another volume in a long series of books detailing every known geographical location and historical personage. This work covers Faalga, the ancient sage of reptiles, through Lyceaum, the reknowned library that is now a part of Moonglow.");
say();
labelFunc0282_01AB:
if (!(var0002 == 0x000E)) goto labelFunc0282_01BD;
message("~~ ~~ENCYCLOPEDIA BRITANNIA~~ ~~Volume III. M - P.*");
say();
message(" Here is another volume in a long series of books detailing every known geographical location and historical personage. This tome covers Kanos, an historical tower in ancient Yew, through Pusmoran, the orginator of the rarely-used fourth person point of view.");
say();
labelFunc0282_01BD:
if (!(var0002 == 0x000F)) goto labelFunc0282_01CF;
message("~~ ~~ENCYCLOPEDIA BRITANNIA~~ ~~Volume IV. Q - U.*");
say();
message(" Here is another volume in a long series of books detailing every known geographical location and historical personage. This book covers Quaaxetlornicom, the mythilogical snow beast of the North, through, Utopia, the proposed manifestation of the time-honored concept of a perfect society.");
say();
labelFunc0282_01CF:
if (!(var0002 == 0x0010)) goto labelFunc0282_01E1;
message("~~ ~~ENCYCLOPEDIA BRITANNIA~~ ~~Volume V. V - Z.*");
say();
message(" Here is another volume in a long series of books detailing every known geographical location and historical personage. This tome covers Vargaz, contemporary storyteller and compiler of legendary parables, through Zyand, a prehistoric island.");
say();
labelFunc0282_01E1:
if (!(var0002 == 0x0011)) goto labelFunc0282_01F3;
message("~~ ~~KEY TO THE BLACK GATE.*");
say();
message("~~ ~~ ~~The pages bound within this book contain well-documented clue information from the invaluable sources at Origin Systems.");
say();
labelFunc0282_01F3:
if (!(var0002 == 0x0012)) goto labelFunc0282_0205;
message("~~ ~~COLLECTED PLAYS ~~ ~~by Raymundo.*");
say();
message(" Housed inside this anthology of stage works are such greats as \"Three on a Codpiece\", \"The Trials of the Avatar\", \"The Plagiarist\", \"Clue\", \"Thumbs Down\", and several other prize-winning pieces. For convenience in production, several suggested costumes and make-up techniques are listed in the back.");
say();
labelFunc0282_0205:
if (!(var0002 == 0x0013)) goto labelFunc0282_0217;
message("~~ ~~NO TIME TO DANCE~~ ~~by B.A. Morler.*");
say();
message(" The wonderful depiction of the busy life of two industrious scholars, caught betwixt the demands of a forceful taskmaster and the pressure of time.");
say();
labelFunc0282_0217:
if (!(var0002 == 0x0014)) goto labelFunc0282_0231;
message("~~ ~~THE SILENCE OF CHASTITY ~~by I.M. Munk.~~");
say();
message("The treatise on the monks of the Brotherhood of the Rose, including how they compare to their stereotypes.*");
say();
message(" ...One common misconception is that monks still hold on to the outdated notion that \"silence is golden.\" While this was, perhaps, a tenet they supported as late as 0103, no longer do the monks of the renowned Empath Abbey care to remain speechless...*");
say();
message(" ...There is no doubt that monks love wine. Not only are there more monk stories centering on the creation of wine, but any visit to the Abbey will reveal just how much of the entire building is devoted to the formation the delicious mixture...");
say();
labelFunc0282_0231:
if (!(var0002 == 0x0015)) goto labelFunc0282_0243;
message("~~ ~~MURDER BY MONGBAT~~ ~~by J. Dial.*");
say();
message(" This extraordianary work depicts an enthralling, but far too gory thriller. Chapter after chapter describes innovative and impressive ways to disembowel people and animals.");
say();
labelFunc0282_0243:
if (!(var0002 == 0x0016)) goto labelFunc0282_0255;
message("~~ ~~DOLPHIN IN THE DUNES~~ ~~by Pietre Hueman.*");
say();
message(" Contained within the pages of this book is what seems to be an allegory for human familial relations. The work is obviously fiction, but the understones suggest extensive study on Hueman's part. Halfway through the work, the point of view shifts, permitting the reader to see multiple sides of each issue.");
say();
labelFunc0282_0255:
if (!(var0002 == 0x0017)) goto labelFunc0282_0267;
message("~~ ~~MANDIBLES~~ ~~by Peter Munchley.*");
say();
message(" Held between the covers of this book is an action-adventure novel about a man-eating sea creature who terrorizes a small coastal town for several months.");
say();
labelFunc0282_0267:
if (!(var0002 == 0x0018)) goto labelFunc0282_0279;
message("~~ ~~THE BOOK OF THE FELLOWSHIP~~ ~~by Batlin of Britain.*");
say();
message(" Good morning to thee, gentle friend and traveller! No matter what time of day it might be when thou art reading this- no matter what the hour of the clock- I say good morning to thee because this very moment brings to thee the coming of the dawn. The dawn, as everyone knows, is the moment when illumination comes. The dawn marks the end of the long dark night. It is the moment that marks a new beginning. It is my humble hope that these words may be for thee a dawning, or at least, a sort of awakening...");
say();
labelFunc0282_0279:
if (!(var0002 == 0x0019)) goto labelFunc0282_029B;
message("~~ ~~LORD BRITISH~~The biography of Britannia's longtime ruler~~ ~~ by K.Bennos*");
say();
message(" ...While many may remember that Lord British was once but one of eight monarchs (back when the lands were known as Sosaria), few are aware that he is not even a native of our own lovely Britannia. His origin is from another world, one from which he entered ours by way of a red moongate (In fact, it is through this same type of gate that the Avatar of legend purportedly enters Britannia.) As ruler of one of the eight kingdoms, he was instrumental in selecting a champion to face Mondain, Minax, and Exodus.~");
say();
message(" When the terrible machine, Exodus, was defeated, 'twas Lord British behind whom all the people of Sosaria rallied. The unified land become known as Britannia, with Lord British as the sole monarch. Though never let it be said he rules with a tyrannical hand. His reign has always been one of Truth, Love, and Courage, supported by his utmost belief in the eight virtues.~");
say();
message(" It was Lord British who had the insight to call forth a quest for the Avatar (whom also happened to be the champion from the days of Sosaria), and who gave prosperity and happiness unto the people.~");
say();
message(" Then came his mysterious disappearance, when the Stranger who became the Avatar was called by his companions to aid in the search for the lost monarch. Note how Lord Blackthorn, affected by the Shadowlords, quickly turned Britannia's fair lands into a place of terror. But find our noble Lord the Avatar did, and Britannia was restored its former, peaceful state.~");
say();
message(" Then came the gargoyles, and our honorable sovereign thoughtfully requested the return of the Avatar...");
say();
labelFunc0282_029B:
if (!(var0002 == 0x001A)) goto labelFunc0282_02B5;
message("~~ ~~GARGOYLE LIKE ME~~ ~~by Darok.*");
say();
message(" Within this work lies a fascinating novel of a human who poses as a Gargoyle to view what life is like from the Gargish point of view. The story is a remarkable mix of historical and entertaining facts from encounters with many gargoyles.~");
say();
message(" A particular emphasis of the work is the importance of the gargoyle family structure. As there is no evidence of gargoyles having a gender, it is odd how close \"father\" gargoyles maintain a relationship with their (presumably) adopted sons.~");
say();
message(" The attitudes seems similar to that of how the more intelligent, winged gargoyles treat the wingless. There is an air of condescension, but the feelings of care still exist, as if the wingless were children to be protect and watched over by the winged.");
say();
labelFunc0282_02B5:
if (!(var0002 == 0x001B)) goto labelFunc0282_02C7;
message("~~ ~~TO BE OR NOT TO BE~~ ~~by Wislem.*");
say();
message(" To be the words comprising the complete Gargish primer, designed to educate the young gargoyle mind, both winged and wingless.");
say();
labelFunc0282_02C7:
if (!(var0002 == 0x001C)) goto labelFunc0282_02F5;
message("~~ ~~BOOK OF PROPHECY~~ ~~by Naxatilor the Seer*");
say();
message(" An ancient prophecy tells of the final days. When the end of our world shall come. Three signs will precede the end. Thrice shall a being of great evil come into our land, and by this it shall be known that the end is nigh.~");
say();
message(" This evil one is of another race, who consider the evil one a great prophet. Yet this false prophet follows not the principles of Control, Passion and Diligence.~");
say();
message(" One day the false prophet will come and desecrate our most holy shrine. And the false prophet will steal our most holy artifact, the Codex of Ultimate Wisdom.~");
say();
message(" This shall be the first sign of the end.~");
say();
message(" Then, it is written, the false prophet shall descend deep into the bowels of the earth. And the false prophet will cause the underworld to collapse. This will cause great earthquakes to tear our world asunder, and there will be a time of plague and famine.~");
say();
message(" This shall be the second sign of the end.~");
say();
message(" One last time shall the prophet come. This time, the false prophet will come with a band of warriors. And they will destroy all that remains of the gargoyle race.~");
say();
message(" There is only one way that this prophecy may be averted: That is by the sacrifice of the false prophet.");
say();
labelFunc0282_02F5:
if (!(var0002 == 0x001D)) goto labelFunc0282_0307;
message("~~ ~~THE BOOK OF FORGOTTEN MANTRAS.*");
say();
message("akk~hor~kra~maow~detra~sa~nok~spank~a~mi~ah~xiop~yof~ow~ta~goo~ si~yam~vil~wez~forat~asg~sem~tex~as~hiy~eyac~hodis~ni~ baw~fes~upa~yuit~swer~xes~led~zep~bok~mar~sak~ces~blah~swu...");
say();
labelFunc0282_0307:
if (!(var0002 == 0x001E)) goto labelFunc0282_0319;
message("~~ ~~STRUCK COMMANDER~~ ~~by Gilberto.*");
say();
message(" This tome is the fanciful story of a man who, along with several comrades, gains access to a flying vehicle -- much like a cart -- and uses his abilities to fight terrorists and despotic monarchs who employ mercenaries using their own flying carts.");
say();
labelFunc0282_0319:
if (!(var0002 == 0x001F)) goto labelFunc0282_032B;
message("~~ ~~GONE WITH THE WISP~~ ~~by Margareta Mitchellino.*");
say();
message(" This novel, purportedly written by a young gypsy woman, depicts the golden days of Britannia. Filled with short anecdotes Mitchellino claims came from her people, the piece is quite amusing.");
say();
labelFunc0282_032B:
if (!(var0002 == 0x0020)) goto labelFunc0282_033D;
message("~~ ~~KARENNA'S WORKOUT~~ ~~by Karenna.*");
say();
message(" Found within this plain-bound volume is a combat and exercise training manual. The work provides simple yet complete illustrations demonstrating a variety of steps that will not only disable an opponent, but also aids in good cardiovascular circulation.");
say();
labelFunc0282_033D:
if (!(var0002 == 0x0021)) goto labelFunc0282_034F;
message("~~ ~~KARENNA'S PREGNANCY WORKOUT~~ ~~by Karenna.*");
say();
message(" Herein are many words of wisdom for use within the realm of combat and exercise for pregnant women. The drawings included perfectly illustrate in explicit detail how these forms differ from more conventional styles, and how pregnancy truly affects fighting skills.");
say();
labelFunc0282_034F:
if (!(var0002 == 0x0022)) goto labelFunc0282_0361;
message("~~ ~~KARENNA'S TOTAL BODY WORKOUT~~ ~~by Karenna.*");
say();
message(" Found upon the pages of this combat and exercise training manual are words that expand upon the original edition. Sadly, this work has recieved much less attention than Karenna's other two.");
say();
labelFunc0282_0361:
if (!(var0002 == 0x0023)) goto labelFunc0282_0373;
message("~~ ~~THE FIVE STAGES OF LAWN CARE~~ ~~by A.P. Berk.*");
say();
message(" This is the brilliant and witty depiction of the humorous antics of two young boys during one very hot summer in Britannia. From courting to practicing sword-play, the duo never seem to be able to avoid trouble. Though the boys grow up by the end of the story, they don't quite seem to lose all of their youthful instinct.");
say();
labelFunc0282_0373:
if (!(var0002 == 0x0024)) goto labelFunc0282_0385;
message("~~ ~~AND THEN THERE WAS KAREN... ~~ ~~by B. MacDae*");
say();
message(" Within the pages of this tome are words that relate the story of how one man's life was changed by a woman, both during their relationship and after. The tale is bittersweet, but both survive to to become happier people with better outlooks on their lives.");
say();
labelFunc0282_0385:
if (!(var0002 == 0x0025)) goto labelFunc0282_0397;
message("~~ ~~THE INTRINSIC COMPLEXITIES OF INVESTIGATING A NEW SPECIES OF FLORA IN THE LAND OF BRITANNIA~~ ~~by Perrin*");
say();
message(" This scientific journal describes, with examples, the process by which one studies plant life. The book is divided into multiple sections, one for the layman, one for the hobbyist, and one for the learned scholar, and includes a warning about the difficulties of gathering specimens from the poisonous swamps.");
say();
labelFunc0282_0397:
if (!(var0002 == 0x0026)) goto labelFunc0282_03A9;
message("~~ ~~RINGWORLD ~~ ~~by Larry Niven*");
say();
message(" Herein lie the words that tell of adventures to be had in the space between Britannia and the heavens. The work, although fictional, preposes that there are many undiscovered lands that lie between Britannia and other suns.");
say();
labelFunc0282_03A9:
if (!(var0002 == 0x0027)) goto labelFunc0282_03C3;
message("~~ ~~THE APOTHECARY'S DESK REFERENCE~~ ~~by Fetoau*");
say();
message(" It is the author's expectation that thou art reading this to familiarize thyself with the effects of various potions based on their color. The first part of this work will discuss such aspects, with the remaining pages covering the materials and steps required to make such alchemal creations.*");
say();
message(" Definitions:~~Black potion: Drinking this will render the individual invisible for several minutes.~Blue potion: This mixture will put the imbiber into a deep sleep.~Orange potion: This potion will awaken an individual who was magically put to sleep.~Purple potion: This concoction will provide magical protection for several minutes of hard fighting.~White potion: This potion will provide a small bit of illumination, much like a candle, for a few minutes.~ Yellow potion: This powerful mixture will give healing aid to the imbiber's wounds.~~WARNING: Green potion: This potion is a dangerous toxin, and will poison the imbiber, possibly killing the individual.~ Red potion: This fabulous drink will cure most poisons, including those acquired from the slugs in the swamps and that gained from drinking a GREEN potion.*");
say();
message(" This next section details how one can best recreate these uncanny concoctions...");
say();
labelFunc0282_03C3:
if (!(var0002 == 0x0028)) goto labelFunc0282_03D9;
message("~~ ~~MAGIC AND THE ART OF HORSE-AND-WAGON MAINTENANCE*");
say();
message(" This lengthy tome contains wonderous jewels of wisdom concerning all aspects of life. The words exalt the value of basic, common pleasures and denounce the relevance that material possesions have to happiness. The philosophy is simple enough to be easily grasped, yet complete enough to be quite comprehensive.~");
say();
message(" The main irony of the title is apparent to anyone who has ever cared for a horse, for, as any stablemaster or horse owner can attest, horses need no food or rest.");
say();
labelFunc0282_03D9:
if (!(var0002 == 0x0029)) goto labelFunc0282_03EF;
message("~~ ~~JESSE'S BOOK OF PERFORMANCE ART~~ ~~by Jesse.*");
say();
message(" This anthology is filled with many performance art scripts. The author, a controversial and eccentric Britannian actor, maintains that many aspects of both acting and performance art are quite similar.~");
say();
message(" ...Consider the actor. He uses dialogue, facial changes, and movement to convey his lines. His actions, called a PERFORMANCE, combined with the playwrite's script, express an emotion or a message. The performance artist uses the very same techniques. The one possible exception is that he is both the writer AND the performer. In fact, the practice of many facets of performance art can better an actor's skill...");
say();
labelFunc0282_03EF:
if (!(var0002 == 0x002A)) goto labelFunc0282_0401;
message("~~ ~~THE WRITE STUFF~~ ~~by Perrin*");
say();
message(" Within these pages is found a treatise on the value of literacy and proper writing skills. The first few chapters briefly discuss the various elements of good literature. The subsequent text analyzes the qualities of the elements to determine -why- they are integral to quality literature. The essay ends with a description of the process by which a promising writer can apply what has been learned to construct better prose.");
say();
labelFunc0282_0401:
if (!(var0002 == 0x002B)) goto labelFunc0282_0413;
message("~~ ~~THAT BEER NEEDS A HEAD ON IT! ~~ ~~by Yongi*");
say();
message(" Found within are many a recipe for the most delicious of alcoholic beverages. Not only are the pages filled with descriptions of the various processes by which one produces these drinks, but also with a great number of suggestions for serving methods. In addition, the back index references each drink by type -and- color.");
say();
labelFunc0282_0413:
if (!(var0002 == 0x002C)) goto labelFunc0282_042D;
message("~~ ~~THE PROVISIONER'S GUIDE TO USEFUL EQUIPMENT~~ ~~by Dell*");
say();
message(" While most suppliers will rave about the effectiveness of a good sword or specially fitted armour, I personally feel that proper exploring gear is much more necessary.~");
say();
message(" Consider this, dear reader. While thou might happen to encouter a wild bear in thy travels, or, even less likely, a troll, thou art doubtless going to be in need of much more mundane equipment.~");
say();
message(" With thou possibly be outside city walls when darkness comes? Then buy a torch. And how wilt thou carry thy provisions? A backpack wilt prove necessary. And what about a container for thy refreshment? Purchase a jug or bucket. As for...");
say();
labelFunc0282_042D:
if (!(var0002 == 0x002D)) goto labelFunc0282_043F;
message("~~ ~~THE ACCEDENS OF ARMOURY~~ ~~by Legh*");
say();
message(" This book on heraldry not only describes various houses for ease of recognition, but also demonstrates elements used in their concepton. Thus, this book will also permit the reader to formalize an heraldric symbol of his own.");
say();
labelFunc0282_043F:
if (!(var0002 == 0x002E)) goto labelFunc0282_0455;
message("~~ ~~THE BIOPARAPHYSICS OF THE HEALING ARTS~~ ~~by Lady Leigh*");
say();
message(" Within this rather in-depth and complex look at healing are the ideas considered to be -the- definitive text on healing wounds, curing poison, and resurrecting the recently dead. Within can be found suggested remedies for any known sickness in Britannia, including the dreaded Zoradin's Disease, which causes a loss of vision followed by an extreme sensitivity to noise.~");
say();
message(" In addition, the book lists a few of the after-effects of healing and curing, such as an increase in appetite, intense restlessness, and slight dizzy spells. Though not for good as an introduction to healing for beginners, the tome is perfect for the seasoned healer.");
say();
labelFunc0282_0455:
if (!(var0002 == 0x002F)) goto labelFunc0282_0473;
message("~~ ~~WHAT COLOR IS THY BLADE? ~~ ~~by Menion*");
say();
message("The first step in effective sword-forging is to fill a crucible with metal. Then, with the bellows, the fire should be made extrememly hot When the flame no longer continues to grow in its glow, set the crucible on the fire to melt the metal.~");
say();
message(" Afterwards, pour the molten metal into the blade mold and let it cool. Be warned! The crucible is at an extremely high temperature. Lift the cooled blade from the mold. Again heat up the fire and set the blade within. Be careful not to let it lose its shape though. Just set it in there long enough for the blade to become malleable.~");
say();
message(" When it is ready, finish shaping it on the anvil with the hammer. When thou hast formed a blade of the desired shape, use the quenching barrel to cool the metal. It will harden quickly, so make sure the blade is as sharp as thou dost want it to be.~");
say();
message(" All that thou is left to do now is to put the pommel over the tang. It takes some doing to make a fine, sturdy sword, but the finished weapon is well worth it!");
say();
labelFunc0282_0473:
if (!(var0002 == 0x0030)) goto labelFunc0282_0485;
message("~~ ~~THE BLACKSMITH'S HANDBOOK~~ ~~by Christopher*");
say();
message(" Within this book can be found the details of fine metal-working. The chapters are broken down into sections related to the specific type of smithy. Armourers need only read the chapters on armour, weapon smiths need only read the chapters on weapon forging, and blacksmiths have the remaining chapters which discuss horseshoes to iron gates.");
say();
labelFunc0282_0485:
if (!(var0002 == 0x0031)) goto labelFunc0282_0497;
message("~~ ~~THIRTEEN MONTHS IN A YEAR~~ ~~by Euralyn*");
say();
message(" This epic details a long, fierce war between swords and spells in a fictional land called Corellethra. The story revolves around a family of sorcerers. In an attempt to usurp his father's power, the youngest brother forms an evil plot of patricide, and must be stopped by an outside group of sell-swords.");
say();
labelFunc0282_0497:
if (!(var0002 == 0x0032)) goto labelFunc0282_04A9;
message("~~ ~~THE DAY IT DIDN'T WORK~~ ~~by R. Allen G.*");
say();
message(" This collection of essays details the difficulties in overseeing a group of well-meaning misfits in a mechanical environment -- especially when the overseer is a misfit, as well!");
say();
labelFunc0282_04A9:
if (!(var0002 == 0x0033)) goto labelFunc0282_04BF;
message("~~ ~~NO ONE LEAVES~~ ~~by R. Allen G.");
say();
message("~~ ~~The sequel to THE DAY IT DIDN'T WORK.*");
say();
message(" This short tome offers insight to why new mechanical contraptions don't always function at the time agreed upon between mechanician and overseer, despite how constructed they may appear. In addition, the work discusses how to handle presenting the complaints to the tinkerers who worked on them, and how to persuade them to finish the work regardless of how tired they are and how late in the evening it is.");
say();
labelFunc0282_04BF:
if (!(var0002 == 0x0034)) goto labelFunc0282_04DD;
message("~~ ~~A COMPLETE GUIDE TO BRITANNIAN MINERALS, PRECIOUS, AND SEMI-PRECIOUS STONES~~ ~~by B. Ledbetter*");
say();
message(" Herein one can find the descriptions of a plethora of rocks and gems.~");
say();
message(" ...One can find lead in a variety of veins. While a common ore, lead is used with such frequency in items such as horse shoes that it is a valuable metal to procure.~");
say();
message(" ...Gold is quite rare. Though generally without function, gold has maintained its worth by its very rarity. The refined form is so full of shine that many give it to their lovers as tokens of affection. It is a well-known rumor that one who loves enough to give gold loves enough to remain true.~");
say();
message(" ...Blackrock is an odd substance, only recently discovered. The there seems to be little interest in it, and even less use for it, a small handful of experimenters have noticed it has a profound effect on magic (though these same researches refuse to comment on what, exactly, the material does)...");
say();
labelFunc0282_04DD:
if (!(var0002 == 0x0035)) goto labelFunc0282_0507;
message("~~ ~~TREES, AND THEN SOME! ~~ ~~by Ben*");
say();
message(" Previously titled: MY LIFE AS A WOODCUTTER, this classic volume pleased readers more than two centuries ago. Much of it reads like a journal, with humorous commentary added by the author between groups of entries.~");
say();
message(" Day seven: Today received yet another order for more logs.~~");
say();
message(" Day eleven: I am amazed at how frequently people are requesting my services. There is no longer any doubt to the rumors of the rapid growth in Britannia's urban areas.~~");
say();
message(" Day sixteen: Found new species of tree. Has silver looking leaves that sparkle and grow quite large. Size indicates that the trees live very long, but grow slowly.~~");
say();
message(" Day twenty-eight: Had an odd request for a few of these new \"Silverleaf\" trees.~~");
say();
message(" Day Forty: Number of requests for Silverleaf has nearly matched that of \"ordinary\" trees. Wonder what they could want them for.~~");
say();
message(" I wonder why everyone has become so crazy for these special trees. I doubt even one so insane as Lord British's Chuckles would pass these off as any sort of precious metal, though if anyone would, we all know it would be the man who carries so much weight with Lord British (the weight of wine bottles, that is).");
say();
labelFunc0282_0507:
if (!(var0002 == 0x0036)) goto labelFunc0282_0519;
message("~~ ~~BLOODIED BLADES AND BUXOM BEAUTIES~~ ~~A.G. Fishmor*");
say();
message(" This illustrious tome depicts the life of the romantic pirate, Roguerre, as he sails the Northeast Sea. As he travels from port to port, his adventures become increasingly dangerous, and as equally lucrative. The climax of the novel finds Roguerre in the clutches of a despotic island ruler, from whom he must escape -and- save the beautiful native princess.");
say();
labelFunc0282_0519:
if (!(var0002 == 0x0037)) goto labelFunc0282_052B;
message("~~ ~~THE HUNDRED AND ELEVEN YEAR, THREE-MONTH, SEVEN-DAY WAR~~ ~~ by Perrin*");
say();
message(" Within this work of fiction is written the renowned historical treatise that describes an intense and bloody civil war in the land of Britannia. The parable is designed to strike home the advantages the people of Britannia have by remaining unified under the rule of Lord British.");
say();
labelFunc0282_052B:
if (!(var0002 == 0x0038)) goto labelFunc0282_053D;
message("~~ ~~BLACK MOON, RED DAY~~ ~~by Euralyn*");
say();
message(" This novel is set in THIRTEEN MONTHS IN A YEAR's Corellethra. The story describes an epic struggle of man against nature as shifting celestial bodies cause violent changes in the land. In the end, only the mighty, supernatural abilities of a sorcerous family can prevent global destruction.");
say();
labelFunc0282_053D:
if (!(var0002 == 0x0039)) goto labelFunc0282_054F;
message("~~ ~~TWO IN THE FOLD~~ ~~by Morian*");
say();
message(" Herein lies a fable of treachery in the fair city of Britain. A despicable guild of thieves who seek political power in the government sends two of its best members to infiltrate the Royal castle. The true conflict arises when two of the Royal gaurds begin to bicker so violently with each other that they miss important pieces if evidence that lead to the two thieves.");
say();
labelFunc0282_054F:
if (!(var0002 == 0x003A)) goto labelFunc0282_0571;
message("~~ ~~THE FOREST OF YEW~~ ~~by Taylor*");
say();
message(" Though once the large, prosperous city of Justice, Yew has been swallowed by the Deep Forest. However, let not it be said that this turn of events was not by the will of the people.~");
say();
message(" As the cities grew throughout the land, many found it difficult to continue peaceful existances as simple farmers and herders. More and more it became necessary to learn trades involving the exchange of goods and services, and the was considerably less instances of of self-sufficiency. While most Britannian found this pleasing, there were those who wanted a return to the less mechanical side of life.~");
say();
message(" And those same people, many of whom came from Yew, began to populate the Deep Forest. Though it will not be long before the growing cities and towns catch up to them, for now, many are able to lose themselves amongst the trees, the deer, and the Emps.~");
say();
message(" Oddly enough, very few people have actually encountered these ape-like creatures. Little is known about them, they seem to shun human contact. However, observations have revealed that they are definitely herbivores, nevering eating meat. The Emps forge homes from the wood of dead trees, and built shelters high up in the limbs of Silverleaf trees.~");
say();
message(" Of course, Emps are not the only creatures who...");
say();
labelFunc0282_0571:
if (!(var0002 == 0x003B)) goto labelFunc0282_0583;
message("~~ ~~THIS OLDE SHIP~~ ~~by Owen of Minoc*");
say();
message(" This tome contains much more than just the fundamentals for building ships and other assorted sailing vessels, it has everything any shipwright could ever need. The text is aimed at amateurs (which is what most of thou are in comparison) but holds jewels of wisdom for even the almost skilled shipwright. The latter part of this fine manual is dedicated to the repair of damaged ships, and makes a distinction between working on one's own ships and those crafted by others.");
say();
labelFunc0282_0583:
if (!(var0002 == 0x003C)) goto labelFunc0282_0595;
message("~~ ~~THE CARVER CHRONICLES~~ ~~by Morfin*");
say();
message(" Here, finally in one volume are the details of the skills necessary for butchering. The work discusses several contemporary styles, including the author's own. Be warned, noble reader, that Morfin leads into a graphic level of detail that would turn the stomach of all but the toughest meat carvers.");
say();
labelFunc0282_0595:
if (!(var0002 == 0x003D)) goto labelFunc0282_05A7;
message("~~ ~~HERO FERTILIZER~~ ~~by Werdron*");
say();
message(" A warrior's handbook, depicting several esoteric fighting styles. Each step is accompanied by a short piece of fiction, permitting the reader better visualization of the detailed style.");
say();
labelFunc0282_05A7:
if (!(var0002 == 0x003E)) goto labelFunc0282_05B9;
message("~~ ~~WHAT COULD BE LEFT BUT THE ASHES~~ ~~by N. Flaims*");
say();
message(" Herein are the many essays covering an indepth study of the aftermath of a volcanic eruption. The work was extensively researched, and is filled with testamonials from many a survivor. The most interesting story is told by Fendora, a young woman from Minoc, who claims to have experienced a volcanic eruption near every one of the five towns in which she has lived.");
say();
labelFunc0282_05B9:
if (!(var0002 == 0x003F)) goto labelFunc0282_05CB;
message("~~ ~~THE SUMMER OF MY SATISFACTION~~ ~~by Plexes*");
say();
message(" The story within this novel relates the tale of Good King Kettle, who rules a great land without any troubles.");
say();
labelFunc0282_05CB:
if (!(var0002 == 0x0040)) goto labelFunc0282_05DD;
message("~~ ~~HITHER COMES THE RAIN~~ ~~by Perrin*");
say();
message(" Within the pages of this book are descriptions of the various effects of Spring weather on plants and animals in Britannia, explaining that Britannia seems to see an increase in the amount of rainfall each year.");
say();
labelFunc0282_05DD:
if (!(var0002 == 0x0041)) goto labelFunc0282_05EF;
message("~~ ~~WHITE RAIN~~ ~~by Perrin*");
say();
message(" This detailed tome is filled with descriptions of the various effects Winter weather has on plants and animals in Britannia.");
say();
labelFunc0282_05EF:
if (!(var0002 == 0x0042)) goto labelFunc0282_0601;
message("~~ ~~MILORD CONDUCT~~ ~~by Aleina*");
say();
message(" Found within is a description of the proper behavior for courtiers and courted individuals. The book reveals many different techniques for both polite and impolite seduction.");
say();
labelFunc0282_0601:
if (!(var0002 == 0x0043)) goto labelFunc0282_0613;
message("~~ ~~TO THE DEATH!~~ ~~by Zaksam*");
say();
message(" This book is an in-depth manual of the fighting styles prevalent in Britannia. The author distinguishes between contemporary and historical styles, and comments on the value of each.");
say();
labelFunc0282_0613:
if (!(var0002 == 0x0044)) goto labelFunc0282_0625;
message("~~ ~~BLADE OF THE GRYPHON BARONY~~ ~~by Pebrogdy*");
say();
message(" This novel is about a knight's fight against the doctrines of his society to win the love of a common maiden.");
say();
labelFunc0282_0625:
if (!(var0002 == 0x0045)) goto labelFunc0282_0637;
message("~~ ~~THE WINNING NUMBER~~ ~~by A.P. Berk*");
say();
message(" Herein is the sequel to THE FIVE STAGES OF LAWN CARE. This novel, which focuses on the same two men, is set ten years after the former work.");
say();
labelFunc0282_0637:
if (!(var0002 == 0x0046)) goto labelFunc0282_0649;
message("~~ ~~THE SCENT OF VALOR~~ ~~by Wetterson*");
say();
message(" Herein can be found the definitive word on chivalry and the duties to a knight's liege.");
say();
labelFunc0282_0649:
if (!(var0002 == 0x0047)) goto labelFunc0282_065B;
message("~~ ~~HOW THE WEST WAS~~ ~~by Yuclydia*");
say();
message(" This tome of history tracks the geography of Britannia from the early centuries to more recent times. The included maps provide a level of detail never before seen in a work of this nature. In addition, the short chapter on the once-important virtues reveals their source from the broader tenets of Truth, Love, and Courage.");
say();
labelFunc0282_065B:
if (!(var0002 == 0x0048)) goto labelFunc0282_0681;
message("~~ ~~THY MESSAGE RECEIVED! ~~ ~~by For-Lem. Translated by Jillian*");
say();
message(" Within this diary is revealed the poor treatment of the gargoyle race since the return of the Codex two centuries ago.~~");
say();
message(" To have noticed that humans remain uncomfortable with us. They have given us our own island to populate, but is this gift designed to keep us segregated?~");
say();
message(" To have wondered why so few gargoyles leave Terfin. To have no more doubts, having lived in Vesper. To see the hatred for our race. To see, to FEEL, the disgust. To understand not, for it was humans who destroyed OUR land, not gargoyles.~");
say();
message(" To seek communication. To seek friendship. To seek trust. To speculate that none are forthcoming. To ask the humans, \"Why?\" To see the terror and loathing and to know there will be no answer given.~");
say();
message(" To hope for a future of harmony, but to realize that with, segregation, there can be none. To hope for education of both races, for our children and ourselves.*");
say();
message(" To hope, and to live...");
say();
labelFunc0282_0681:
if (!(var0002 == 0x0049)) goto labelFunc0282_0693;
message("~~ ~~RIBALD ENCOUNTERS~~ ~~by Madden*");
say();
message(" Within the pages of this anthology are many stories full of suggestive prose.");
say();
labelFunc0282_0693:
if (!(var0002 == 0x004A)) goto labelFunc0282_06A5;
message("~~ ~~THE KNIGHT AND THE THIEF~~ ~~by Hobbs*");
say();
message(" This novel describes the life of an heroic warrior suffering from delusions of an alternate life as a rogue and cutpurse.");
say();
labelFunc0282_06A5:
if (!(var0002 == 0x004B)) goto labelFunc0282_06B7;
message("~~ ~~THE TRIO~~ ~~by Leepeartson*");
say();
message(" Compiled from the music of three master bards, this full volume contains a collection of songs for a variety of stringed and percussion instruments.");
say();
labelFunc0282_06B7:
if (!(var0002 == 0x004C)) goto labelFunc0282_06D5;
message("~~ ~~THE BLACK COMPENDIUM ~~ ~~Written by Mondain, with annotations by the enchantress Minax and magical formulae by the hellspawn Exodus.*");
say();
message(" To extend one's life is a complicated procedure, taking years to complete. However, there is an additional side effect: invulnerability. I have broken this work down into chapters based on each individual ritual. It is very important that these steps are performed in the order presented.*");
say();
message(" First, thou must procure a five stone's of the dust of crushed rubies. This must be mixed thoroughly with the ooze of a slime, enough to make the rubies into a thick paste. After thou hast created the paste, set it in an ivory jar and place the entire container in a bucket of olive oil for three years.*");
say();
message(" The next step is too procure 10 newborn babes, none more than six days old. With a knife cut from the bone of a harpy, thou must remove of the blood from each newborn. To be kept fresh, the blood must be stored in an onyx flask, though mixing of each baby's blood is quite permissible.*");
say();
message(" Now thou shalt seek out...");
say();
labelFunc0282_06D5:
if (!(var0002 == 0x004D)) goto labelFunc0282_06E7;
message("~~ ~~NO WAY TO JUMP~~ ~~by Desmonth*");
say();
message(" Herein lies the compilation that discusses various elements found in adventure stories. In addition to an evaluation of their literary worth, one essay demonstrates how to apply such elements in other styles.");
say();
labelFunc0282_06E7:
if (!(var0002 == 0x004E)) goto labelFunc0282_06F9;
message("~~ ~~STEALING THE WIND~~ ~~by Brianna*");
say();
message(" Kite-building techniques thou hast never seen before, from the simple box kite to the mind-numbing criscross butterfly. Each kite is presented in several forms, from beginning to end. At the end of the essay is a listing of wind variables and flying styles.");
say();
labelFunc0282_06F9:
if (!(var0002 == 0x004F)) goto labelFunc0282_0713;
message("~~ ~~BROMMER'S FLORA~~ ~~by Brommer*");
say();
message(" This large tome describes most of common plants indigenous to Britannia.~~");
say();
message(" ...The Greer plant is especially fascinating, for it spends most of its life huddled with its leaves wrapperd up in a tight ball. However, every so often, the leaves will unfurl, radiating out from the stem...~~");
say();
message(" ...The Reaper is unique in that it is both plant and animal. Resembling a large tree, the Reaper is able capable of self-animation as well as self-locomotion. Reapers have been known to attack those who cause harm to their home (i.e. the forests), but seldom reveal themselves otherwise...");
say();
labelFunc0282_0713:
if (!(var0002 == 0x0050)) goto labelFunc0282_072D;
message("~~ ~~BROMMER'S FAUNA~~ ~~by Brommer*");
say();
message(" Betwixt the covers of this book can be found details on the most prevalent animals that inhabit the lands of Britannia.~~");
say();
message(" ...Deer are quite prevalent in the forested areas of Britannia. They are shy creatures, generally shunning the presence of man, whom they know hunt them. Atop their head sit a pair of antlers...~~");
say();
message(" ...The fox is a small animal, akin to a dog or a wolf. It is an omnivore, and more than willing to make off with a farmer's chicken when it tires of other foods...");
say();
labelFunc0282_072D:
if (!(var0002 == 0x0051)) goto labelFunc0282_0756;
message("~~ ~~BROMMER'S BRITANNIA~~ ~~by Brommer*");
say();
message(" Betwixt the covers of this atlas is a detailed description of the entire continent of Britannia and the nearby islands.*");
say();
if (!(event == 0x0001)) goto labelFunc0282_074E;
var0003 = UI_display_map();
labelFunc0282_074E:
message("~~ ~~BROMMER'S BRITANNIA~~ ~~by Brommer*");
say();
message(" Betwixt the covers of this atlas is a detailed description of the entire continent of Britannia and the nearby islands.");
say();
labelFunc0282_0756:
if (!(var0002 == 0x0052)) goto labelFunc0282_0768;
message("~~ ~~UP IS OUT~~ ~~by Goodefellow*");
say();
message(" Herein is discussed the most current theories on gravity and mass. After years of study and research, the author finally put the fruits of his labor down in the pages of this tome, which includes his discussion on falling apples.");
say();
labelFunc0282_0768:
if (!(var0002 == 0x0053)) goto labelFunc0282_077E;
message("~~ ~WEAVING~~ ~~by Carlyn*");
say();
message(" This is a complete sourcebook for a variety of patterns. Included are patterns for clothing, blankets, quilts, and sheets. The introduction even includes a section on weaving one's own cloth.~");
say();
message(" ...take the bale of wool and stretch it out across the wheel to make the thread. Once that is done, pull the thread across the loom and begin weaving. Shortly thou wilt have a nice stretch of cloth from which canst make a variety of useful things. For variation, use different colored threads on the loom to create exciting patterns.");
say();
labelFunc0282_077E:
if (!(var0002 == 0x0054)) goto labelFunc0282_0790;
message("~~ ~~FOLLOW THE STARS~~ ~~by Laurnen*");
say();
message(" This is a guidebook for navigation, with most of the pages illustrating various constellations and heavenly bodies. The final sections contain maps useful to any ship mate or captain.");
say();
labelFunc0282_0790:
if (!(var0002 == 0x0055)) goto labelFunc0282_07A6;
message("~~ ~~HOW TO CONQUER THE WORLD IN THREE EASY STEPS~~ ~~by Maximillian the Amazingly Mean*");
say();
message(" Found within are the ravings of a deranged meglomaniac cleric, describing his plans for the domination of Britannia.");
say();
message(" ...and after I have acquired the Vas Corp spell, there will be no one to defy me, for all will fear my casting of the spell. Even the loft Lord Brit, himself, will offer his obeisance to me...");
say();
labelFunc0282_07A6:
if (!(var0002 == 0x0056)) goto labelFunc0282_07B8;
message("~~ ~~TREN I, II, III, IV . . . XVII*");
say();
message(" This autobiography, penned by the obtuse mage, reveals Tren's life in all of his incarnations as he continually strove to possess more powerful beings.");
say();
labelFunc0282_07B8:
if (!(var0002 == 0x0057)) goto labelFunc0282_07CA;
message("~~ ~~SIR KILROY~~ ~~Anonymous*");
say();
message(" This novel details the rise of a shining white knight, driven to madness by the women in his life.");
say();
labelFunc0282_07CA:
if (!(var0002 == 0x0058)) goto labelFunc0282_07DC;
message("~~ ~~MY CUP RUNNETH OVER~~ ~~by Marseine*");
say();
message(" This illustrious volume holds many detailed instructions for neophyte vintners. The books even includes tips on selecting choice grapes and proper labeling techiniques. The tome lists several monks from the Brotherhood of the Rose as sources.");
say();
labelFunc0282_07DC:
if (!(var0002 == 0x0059)) goto labelFunc0282_07EE;
message("~~ ~~SPRING PLANTING, AUTUMNM HARVEST*");
say();
message(" Held within these pages is the explaination of agriculture in detail, including the much misunderstood mulching process. The middle section is an illustrated guide to many gardening implements.");
say();
labelFunc0282_07EE:
if (!(var0002 == 0x005A)) goto labelFunc0282_0800;
message("~~ ~~SHOOT THE MOON~~ ~~by Oswauld*");
say();
message(" Herein can be found the guidebook for druidic culture. Details on rituals, spells, and the organizational structure fill the rather large number of pages that make up this fine well-spring of knowledge. ");
say();
labelFunc0282_0800:
if (!(var0002 == 0x005B)) goto labelFunc0282_0816;
message("~~ ~~OUTPOST~~ ~~by Gasreth*");
say();
message(" Betwixt the covers of this volume is invaluable reading for all soldiers. This manual details the tactics and strategies of siege warfare, from the point of view of the attacker -and- the defender.~");
say();
message(" ...and remember, a soldier's best line of active defense is the cannon. After thy comrades have already loaded the cannon, simply aim the cannon at thy target and fire away!");
say();
labelFunc0282_0816:
if (!(var0002 == 0x005C)) goto labelFunc0282_0828;
message("~~ ~~LANDSHIPS~~ ~~by Equinestra*");
say();
message(" Not only does this extensive tome describe the many riding beasts in Britannia, but it also discusses riding styles and techniques. In addition, it addresses the reasons for the popularity of carts, explaining why so few people choose to continue riding horses. The final chapter covers flying carpets, and how they will ultimately replace all non-magical means of travel.");
say();
labelFunc0282_0828:
if (!(var0002 == 0x005D)) goto labelFunc0282_083E;
message("~~ ~~LANDSHIPS OF WAR~~ ~~by Equinestra*");
say();
message(" An illustrated guide to jousting and barding. This work builds upon the concepts presented in the prequel, LANDSHIPS.");
say();
message(" ...a preferred tactic of veterans such as Hillard the Mighty was to center themselves atop their carts and fire missiles unto their foes who were unable to surmount the vehicle.");
say();
labelFunc0282_083E:
if (!(var0002 == 0x005E)) goto labelFunc0282_0850;
message("~~ ~~WHY GOOD MAGES LIKE BLACK MAGIC~~ ~~by Magus*");
say();
message(" Despite the rather frivolous title, this complete tome explains the value of applying magic for the benefit of society, as opposed to selfish, personal gain. The concepts presented herein mesh quite well with those exemplified by the virtues.");
say();
labelFunc0282_0850:
if (!(var0002 == 0x005F)) goto labelFunc0282_0862;
message("~~ ~~WHEN STARTS THE ADVENTURE~~ ~~by Sabra*");
say();
message(" Herein can be found a novel relating the travels of a fledgling warrior, struggling to gain skill and respect in a treacherous world. As the warrior gains experience in dealing with opposition, he begins to notice how well the land is balanced in ideaology: for every evil, there seems to be a good, and vice-versa.");
say();
labelFunc0282_0862:
if (!(var0002 == 0x0060)) goto labelFunc0282_0874;
message("~~ ~~WHAT A FOOL BELIEVES~~ ~~by P. Nolan*");
say();
message(" Within the pages of this book is the story of a bard, a blonde, and a bottle -- the perfect combination for a classic tale of the war between the sexes.");
say();
labelFunc0282_0874:
if (!(var0002 == 0x0061)) goto labelFunc0282_088A;
message("~~ ~~THE COMPLEATE HISTORY OF THE LUTE~~ ~~by Devonaillion, with foreword by the Master Bard, Iolo*");
say();
message(" Herein are the words penned by the illustrious master lute-player, himself. The voluminous work begins with a description of the building process and carefully leads into the music theory. I heartfully and willingly share my title with this young and very talented virtuoso, and recommend that thee follow his words of wisdom well~");
say();
message(" -- Iolo Arbalest");
say();
labelFunc0282_088A:
if (!(var0002 == 0x0062)) goto labelFunc0282_08A0;
message("~~ ~~BIRDS OF BRITANNIA~~ ~~by Brother Wayne*");
say();
message(" Bound here is the comprehensive guide to the avian species, beautifully and colorfully illustrated by many different artists.");
say();
message(" ...Surprising to many is that the Silver-Winged Pharcelot is not the most prevelent bird in Britannia, though arguably the most visible. Far more popular is the Black-Tipped Grackle, but it's predilection for dark, cool areas make is considerable less visible.");
say();
labelFunc0282_08A0:
if (!(var0002 == 0x0063)) goto labelFunc0282_08B2;
message("~~ ~~I AM NOT A DRAGON~~ ~~by Thomson*");
say();
message(" Within these pages is a bawdy tale of Belnarth, fictional lord of Serpent's Hold. This volume is part one of a great trilogy involving the humorous exploits of the lord and his fellow knights.");
say();
labelFunc0282_08B2:
return;
}
// externs
extern var Func0937 0x937 (var var0000);
extern var Func08F7 0x8F7 (var var0000);
extern void Func0933 0x933 (var var0000, var var0001, var var0002);
void Func0284 shape#(0x284) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0284_00A3;
UI_close_gumps();
UI_play_sound_effect2(0x0017, item);
if (!(!(Func0937(0xFE9C) || (!Func0937(0xFFFF))))) goto labelFunc0284_0027;
return;
labelFunc0284_0027:
if (!Func08F7(0xFFFF)) goto labelFunc0284_00A3;
Func0933(0xFE9C, "@Call it.@", 0x0000);
var0000 = UI_die_roll(0x0001, 0x0002);
if (!(var0000 == 0x0001)) goto labelFunc0284_006E;
Func0933(0xFFFF, "@Tails.@", 0x0010);
Func0933(0xFE9C, "@It is heads.@", 0x0020);
goto labelFunc0284_0086;
labelFunc0284_006E:
Func0933(0xFFFF, "@Heads.@", 0x0010);
Func0933(0xFE9C, "@It is tails.@", 0x0020);
labelFunc0284_0086:
if (!(UI_die_roll(0x0001, 0x0003) == 0x0001)) goto labelFunc0284_00A3;
Func0933(0xFFFF, "@Again!@", 0x0030);
labelFunc0284_00A3:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
void Func0285 shape#(0x285) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0285_0018;
var0000 = ("@I believe that the current exchange rate is " + "ten crowns per nugget at the mint in Britian.@");
Func08FF(var0000);
labelFunc0285_0018:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
void Func0286 shape#(0x286) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0286_0018;
var0000 = ("@I believe the current exchange rate is " + "one hundred crowns per bar at the Britannian mint.@");
Func08FF(var0000);
labelFunc0286_0018:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
extern void Func0925 0x925 (var var0000);
void Func0288 shape#(0x288) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0288_0030;
var0000 = UI_click_on_item();
if (!UI_is_npc(var0000)) goto labelFunc0288_0026;
UI_set_item_flag(var0000, 0x0001);
goto labelFunc0288_002C;
labelFunc0288_0026:
Func08FE("@Do not waste that!@");
labelFunc0288_002C:
Func0925(item);
labelFunc0288_0030:
return;
}
// externs
extern void Func0835 0x835 (var var0000, var var0001, var var0002);
extern void Func08FD 0x8FD (var var0000);
void Func0289 shape#(0x289) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc0289_00FB;
var0000 = UI_click_on_item();
if (!UI_is_npc(var0000)) goto labelFunc0289_00F5;
var0001 = UI_get_npc_prop(var0000, 0x0000);
var0002 = UI_get_npc_prop(var0000, 0x0001);
var0003 = UI_get_npc_prop(var0000, 0x0002);
if (!((var0001 + 0x0005) > 0x001E)) goto labelFunc0289_0057;
var0001 = 0x001E;
goto labelFunc0289_0061;
labelFunc0289_0057:
var0001 = (var0001 + 0x0005);
labelFunc0289_0061:
if (!((var0002 + 0x0005) > 0x001E)) goto labelFunc0289_0078;
var0002 = 0x001E;
goto labelFunc0289_0082;
labelFunc0289_0078:
var0002 = (var0002 + 0x0005);
labelFunc0289_0082:
if (!((var0003 + 0x0005) > 0x001E)) goto labelFunc0289_0099;
var0003 = 0x001E;
goto labelFunc0289_00A3;
labelFunc0289_0099:
var0003 = (var0003 + 0x0005);
labelFunc0289_00A3:
Func0835(var0000, 0x0000, var0001);
Func0835(var0000, 0x0001, var0002);
Func0835(var0000, 0x0002, var0003);
UI_play_sound_effect2(0x0048, item);
var0004 = UI_execute_usecode_array(var0000, [(byte)0x23, (byte)0x29, 0x0001, (byte)0x55, 0x0603, (byte)0x58, 0x0047]);
UI_remove_item(item);
goto labelFunc0289_00FB;
labelFunc0289_00F5:
Func08FD(0x003C);
labelFunc0289_00FB:
return;
}
// externs
extern var Func0932 0x932 (var var0000);
extern var Func0937 0x937 (var var0000);
void Func028A shape#(0x28A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc028A_00BC;
var0000 = UI_get_object_position(0xFE9C);
var0001 = ((var0000[0x0001] - 0x03A5) / 0x000A);
var0002 = ((var0000[0x0002] - 0x046E) / 0x000A);
if (!(var0001 < 0x0000)) goto labelFunc028A_0052;
var0003 = ((" " + Func0932(var0001)) + " West");
goto labelFunc028A_0063;
labelFunc028A_0052:
var0003 = ((" " + Func0932(var0001)) + " East");
labelFunc028A_0063:
if (!(var0002 < 0x0000)) goto labelFunc028A_0081;
var0004 = ((" " + Func0932(var0002)) + " North");
goto labelFunc028A_0092;
labelFunc028A_0081:
var0004 = ((" " + Func0932(var0002)) + " South");
labelFunc028A_0092:
if (!(!UI_is_pc_inside())) goto labelFunc028A_00A9;
UI_item_say(item, (var0004 + var0003));
goto labelFunc028A_00BC;
labelFunc028A_00A9:
if (!Func0937(0xFFFF)) goto labelFunc028A_00BC;
UI_item_say(0xFFFF, "@'Twill not function under a roof!@");
labelFunc028A_00BC:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
void Func028B shape#(0x28B) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!(event == 0x0007)) goto labelFunc028B_0082;
var0000 = UI_find_nearby(0xFE9C, 0x0369, 0x0001, 0x0000);
var0001 = 0x0000;
if (!(UI_get_array_size(var0000) > 0x0000)) goto labelFunc028B_0053;
var0002 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, 0x0006, (byte)0x6C, (byte)0x6B, (byte)0x0B, 0xFFFF, 0x000C]);
var0001 = 0x0003;
labelFunc028B_0053:
UI_halt_scheduled(item);
var0002 = UI_delayed_execute_usecode_array(item, [(byte)0x46, 0x0000, (byte)0x4E, (byte)0x01, (byte)0x58, 0x0006, (byte)0x0B, 0xFFFC, 0x000C, (byte)0x55, 0x028B], var0001);
return;
labelFunc028B_0082:
if (!(event == 0x0002)) goto labelFunc028B_0112;
var0003 = UI_get_cont_items(0xFE9C, 0x028D, 0xFE99, 0xFE99);
if (!var0003) goto labelFunc028B_00AA;
UI_remove_item(var0003);
labelFunc028B_00AA:
var0004 = UI_create_new_object(0x028E);
if (!var0004) goto labelFunc028B_0111;
UI_set_item_flag(var0004, 0x0012);
UI_set_item_flag(var0004, 0x000B);
UI_set_item_frame(var0004, UI_die_roll(0x0000, 0x0009));
var0005 = UI_get_object_position(item);
var0005[0x0001] = (var0005[0x0001] + 0x0001);
var0005[0x0002] = (var0005[0x0002] + 0x0001);
var0002 = UI_update_last_created(var0005);
labelFunc028B_0111:
return;
labelFunc028B_0112:
if (!(event == 0x0001)) goto labelFunc028B_012A;
var0006 = ("@I suspect spinning the wool will be more fruitful " + "than spinning an empty wheel.@");
Func08FF(var0006);
labelFunc028B_012A:
return;
}
// externs
extern void Func0809 0x809 (var var0000);
void Func028C shape#(0x28C) ()
{
if (!(event == 0x0001)) goto labelFunc028C_000C;
Func0809(item);
labelFunc028C_000C:
return;
}
// externs
extern void Func062D object#(0x62D) ();
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
void Func028D shape#(0x28D) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc028D_0094;
var0000 = UI_get_container(item);
if (!(var0000 == UI_get_npc_object(0xFE9C))) goto labelFunc028D_002A;
event = 0x0007;
item->Func062D();
return;
goto labelFunc028D_006E;
labelFunc028D_002A:
if (!var0000) goto labelFunc028D_006E;
var0001 = UI_set_last_created(item);
if (!var0001) goto labelFunc028D_0064;
var0001 = UI_give_last_created(0xFE9C);
if (!(!var0001)) goto labelFunc028D_0061;
var0001 = UI_give_last_created(var0000);
UI_flash_mouse(0x0004);
abort;
labelFunc028D_0061:
goto labelFunc028D_0065;
labelFunc028D_0064:
return;
labelFunc028D_0065:
event = 0x0007;
item->Func062D();
return;
labelFunc028D_006E:
var0002 = 0xFFFF;
var0003 = 0xFFFF;
var0004 = 0xFFFF;
Func0828(item, var0002, var0003, var0004, 0x062D, item, 0x0007);
labelFunc028D_0094:
return;
}
// externs
extern void Func062E object#(0x62E) ();
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
void Func028E shape#(0x28E) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc028E_0094;
var0000 = UI_get_container(item);
if (!(var0000 == UI_get_npc_object(0xFE9C))) goto labelFunc028E_002A;
event = 0x0007;
item->Func062E();
return;
goto labelFunc028E_006E;
labelFunc028E_002A:
if (!var0000) goto labelFunc028E_006E;
var0001 = UI_set_last_created(item);
if (!var0001) goto labelFunc028E_006D;
var0001 = UI_give_last_created(0xFE9C);
if (!(!var0001)) goto labelFunc028E_0061;
var0001 = UI_give_last_created(var0000);
UI_flash_mouse(0x0004);
abort;
labelFunc028E_0061:
event = 0x0007;
item->Func062E();
return;
goto labelFunc028E_006E;
labelFunc028E_006D:
return;
labelFunc028E_006E:
var0002 = 0xFFFF;
var0003 = 0xFFFF;
var0004 = 0xFFFF;
Func0828(item, var0002, var0003, var0004, 0x062E, item, 0x0007);
labelFunc028E_0094:
return;
}
void Func0291 shape#(0x291) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0291_003F;
var0000 = UI_get_item_frame(item);
if (!((var0000 % 0x0002) == 0x0000)) goto labelFunc0291_0027;
var0001 = 0x0001;
goto labelFunc0291_002D;
labelFunc0291_0027:
var0001 = 0xFFFF;
labelFunc0291_002D:
var0000 = (var0000 + var0001);
UI_set_item_frame(item, var0000);
labelFunc0291_003F:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
void Func0292 shape#(0x292) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
if (!(event == 0x0001)) goto labelFunc0292_00B8;
var0000 = UI_get_item_frame(item);
if (!((var0000 == 0x0001) || (var0000 == 0x0002))) goto labelFunc0292_00B8;
var0001 = UI_click_on_item();
var0002 = UI_get_item_shape(var0001);
if (!(var0002 == 0x033F)) goto labelFunc0292_00B8;
var0003 = UI_set_last_created(item);
if (!var0003) goto labelFunc0292_00B8;
var0004 = UI_get_object_position(var0001);
var0004[0x0001] = (var0004[0x0001] - UI_die_roll(0x0001, 0x0002));
var0004[0x0003] = (var0004[0x0003] + 0x0001);
var0003 = UI_update_last_created(var0004);
if (!var0003) goto labelFunc0292_00B8;
var0003 = UI_delayed_execute_usecode_array(item, [(byte)0x23, (byte)0x55, 0x0292], 0x003C);
if (!(UI_die_roll(0x0001, 0x0002) == 0x0001)) goto labelFunc0292_00B8;
Func08FE("@Do not over cook it!@");
labelFunc0292_00B8:
if (!(event == 0x0002)) goto labelFunc0292_014B;
var0004 = UI_get_object_position(item);
var0005 = UI_find_nearby(item, 0x033F, 0x0002, 0x0000);
if (!(UI_get_array_size(var0005) > 0x0000)) goto labelFunc0292_014B;
UI_remove_item(item);
var0006 = UI_create_new_object(0x0179);
if (!var0006) goto labelFunc0292_014B;
UI_set_item_flag(var0006, 0x0012);
UI_set_item_frame(item, 0x0000);
var0003 = UI_update_last_created(var0004);
if (!var0003) goto labelFunc0292_014B;
var0007 = UI_die_roll(0x0001, 0x0003);
if (!(var0007 == 0x0001)) goto labelFunc0292_013B;
Func08FE("@I believe the bread is ready.@");
labelFunc0292_013B:
if (!(var0007 == 0x0002)) goto labelFunc0292_014B;
Func08FE("@Mmm... Smells good.@");
labelFunc0292_014B:
return;
}
// externs
extern void Func0809 0x809 (var var0000);
void Func0294 shape#(0x294) ()
{
if (!(event == 0x0001)) goto labelFunc0294_000C;
Func0809(item);
labelFunc0294_000C:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
extern void Func0933 0x933 (var var0000, var var0001, var var0002);
void Func0296 shape#(0x296) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!((event == 0x0001) || (event == 0x0004))) goto labelFunc0296_01C9;
UI_close_gumps();
var0000 = UI_click_on_item();
var0001 = UI_execute_usecode_array(0xFE9C, [(byte)0x67, (byte)0x61]);
if (!(!UI_is_water([var0000[0x0002], var0000[0x0003], var0000[0x0004]]))) goto labelFunc0296_004F;
UI_flash_mouse(0x0000);
return;
labelFunc0296_004F:
var0002 = UI_get_object_position(0xFE9C);
var0002[0x0001] = (var0002[0x0001] + 0x0001);
var0003 = false;
var0004 = 0x0000;
var0005 = UI_find_nearby(0xFE9C, 0x01FD, 0x000F, 0x0000);
//enum();
labelFunc0296_0087:
for (var0008 in var0005 with var0006 to var0007) atend labelFunc0296_009F;
var0004 = (var0004 + 0x0001);
goto labelFunc0296_0087;
labelFunc0296_009F:
if (!(var0004 != 0x0000)) goto labelFunc0296_00BE;
if (!(UI_die_roll(0x0001, 0x000A) <= var0004)) goto labelFunc0296_00BE;
var0003 = true;
labelFunc0296_00BE:
if (!var0003) goto labelFunc0296_014E;
var0008 = UI_create_new_object(0x0179);
if (!var0008) goto labelFunc0296_014B;
UI_set_item_frame(var0008, 0x000C);
UI_set_item_flag(var0008, 0x000B);
var0001 = UI_update_last_created(var0002);
var0009 = UI_die_roll(0x0001, 0x0003);
if (!(var0009 == 0x0001)) goto labelFunc0296_0125;
Func08FE("@Indded, a whopper!@");
if (!UI_npc_nearby(0xFFFE)) goto labelFunc0296_0125;
Func0933(0xFFFE, "@I have seen bigger.@", 0x0010);
labelFunc0296_0125:
if (!(var0009 == 0x0002)) goto labelFunc0296_0135;
Func08FE("@What a meal!@");
labelFunc0296_0135:
if (!(var0009 == 0x0003)) goto labelFunc0296_014B;
Func08FE(["@That fish does not", "look right.@"]);
labelFunc0296_014B:
goto labelFunc0296_01C9;
labelFunc0296_014E:
var0009 = UI_die_roll(0x0001, 0x0004);
if (!(var0009 == 0x0001)) goto labelFunc0296_0171;
Func0933(0xFE9C, "@Not even a bite!@", 0x0000);
labelFunc0296_0171:
if (!(var0009 == 0x0002)) goto labelFunc0296_019D;
Func0933(0xFE9C, "@It got away!@", 0x0000);
if (!UI_npc_nearby(0xFFFF)) goto labelFunc0296_019D;
Func0933(0xFFFF, "@It was the Big One!@", 0x0010);
labelFunc0296_019D:
if (!(var0009 == 0x0003)) goto labelFunc0296_01B3;
Func0933(0xFE9C, "@I've lost my bait.@", 0x0000);
labelFunc0296_01B3:
if (!(var0009 == 0x0004)) goto labelFunc0296_01C9;
Func0933(0xFE9C, "@I felt a nibble.@", 0x0000);
labelFunc0296_01C9:
return;
}
// externs
extern void Func026F shape#(0x26F) ();
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func0944 0x944 (var var0000);
extern var Func0945 0x945 (var var0000);
extern var Func092D 0x92D (var var0000);
void Func029C shape#(0x29C) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
if (!(event == 0x0001)) goto labelFunc029C_015B;
if (!UI_is_readied(0xFE9C, 0x0001, 0x026F, 0xFE99)) goto labelFunc029C_0096;
var0000 = UI_find_nearest(item, 0x03DF, 0x0003);
if (!var0000) goto labelFunc029C_0096;
var0001 = UI_get_object_position(item);
var0002 = UI_get_object_position(var0000);
if (!(var0001[0x0001] == var0002[0x0001])) goto labelFunc029C_0096;
if (!(var0001[0x0002] == var0002[0x0002])) goto labelFunc029C_0096;
if (!(var0001[0x0003] == (var0002[0x0003] + 0x0001))) goto labelFunc029C_0096;
var0003 = UI_get_item_frame(item);
if (!((var0003 >= 0x000A) && (var0003 <= 0x000C))) goto labelFunc029C_0096;
var0000->Func026F();
return;
labelFunc029C_0096:
UI_close_gumps();
var0004 = UI_get_item_frame(item);
if (!((var0004 >= 0x0008) && (var0004 <= 0x000F))) goto labelFunc029C_015B;
if (!(!UI_get_container(item))) goto labelFunc029C_00F8;
var0005 = [0x0000, 0x0001, 0xFFFF, 0x0001];
var0006 = [0x0002, 0x0001, 0x0002, 0x0000];
Func0828(item, var0005, var0006, 0xFFFD, 0x029C, item, 0x0007);
goto labelFunc029C_015B;
labelFunc029C_00F8:
if (!(!Func0944(item))) goto labelFunc029C_0146;
var0007 = Func0945(item);
var0005 = [0x0000, 0x0001, 0xFFFF, 0x0001];
var0006 = [0x0002, 0x0001, 0x0002, 0x0000];
Func0828(var0007, var0005, var0006, 0xFFFD, 0x029C, var0007, 0x0007);
goto labelFunc029C_015B;
labelFunc029C_0146:
var0008 = UI_execute_usecode_array(item, [(byte)0x27, 0x0002, (byte)0x55, 0x029C]);
labelFunc029C_015B:
if (!(event == 0x0007)) goto labelFunc029C_01A3;
var0009 = Func092D(item);
var0008 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0009, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61, (byte)0x55, 0x029C]);
var0008 = UI_execute_usecode_array(item, [(byte)0x27, 0x0003, (byte)0x55, 0x0717]);
labelFunc029C_01A3:
if (!(event == 0x0002)) goto labelFunc029C_02A6;
var000A = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x029C, 0xFE99, 0xFE99);
if (!var000A) goto labelFunc029C_0297;
var000B = UI_click_on_item();
var000C = UI_get_item_shape(var000B);
if (!(var000C == 0x03DF)) goto labelFunc029C_0209;
if (!(UI_get_item_frame(var000B) == 0x0001)) goto labelFunc029C_0209;
Func0828(var000B, 0x0000, 0x0002, 0x0000, 0x029C, var000B, 0x0008);
labelFunc029C_0209:
if (!(var000C == 0x02E3)) goto labelFunc029C_0245;
if (!((UI_get_item_frame(var000B) >= 0x0004) && (UI_get_item_frame(var000B) <= 0x0007))) goto labelFunc029C_0245;
Func0828(var000B, 0x0001, 0x0000, 0x0000, 0x029C, var000B, 0x0009);
labelFunc029C_0245:
if (!(var000C == 0x02E5)) goto labelFunc029C_0294;
var0003 = UI_get_item_frame(var000A);
if (!((var0003 >= 0x0008) && (var0003 <= 0x000C))) goto labelFunc029C_0286;
Func0828(var000B, 0x0000, 0x0001, 0x0000, 0x029C, var000B, 0x000A);
goto labelFunc029C_0294;
labelFunc029C_0286:
UI_item_say(UI_get_npc_object(0xFE9C), "@The sword's not hot.@");
labelFunc029C_0294:
goto labelFunc029C_02A6;
labelFunc029C_0297:
UI_item_say(UI_get_npc_object(0xFE9C), "@I can't pick it up.@");
return;
labelFunc029C_02A6:
if (!(event == 0x0008)) goto labelFunc029C_0302;
var0009 = Func092D(item);
var0008 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0009, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61]);
var000A = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x029C, 0xFE99, 0xFE99);
var0008 = UI_execute_usecode_array(var000A, [(byte)0x27, 0x0003, (byte)0x55, 0x068B]);
labelFunc029C_0302:
if (!(event == 0x0009)) goto labelFunc029C_035E;
var0009 = Func092D(item);
var0008 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0009, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61]);
var000A = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x029C, 0xFE99, 0xFE99);
var0008 = UI_execute_usecode_array(var000A, [(byte)0x27, 0x0003, (byte)0x55, 0x068C]);
labelFunc029C_035E:
if (!(event == 0x000A)) goto labelFunc029C_039A;
var0009 = Func092D(item);
var0008 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0009, (byte)0x6C]);
var0008 = UI_execute_usecode_array(item, [(byte)0x27, 0x0005, (byte)0x55, 0x068D]);
labelFunc029C_039A:
return;
}
void Func02A3 shape#(0x2A3) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc02A3_0293;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0000)) goto labelFunc02A3_00B3;
var0001 = UI_click_on_item();
UI_play_sound_effect2(0x000F, item);
if (!UI_is_npc(var0001)) goto labelFunc02A3_003E;
UI_item_say(var0001, "@Hey, that hurt!@");
return;
labelFunc02A3_003E:
if (!(UI_get_item_shape(var0001) == 0x02A3)) goto labelFunc02A3_00B3;
if (!(UI_get_item_frame(var0001) == 0x000A)) goto labelFunc02A3_00B3;
var0002 = UI_execute_usecode_array(var0001, [(byte)0x23, (byte)0x52, "@I will tell!@"]);
var0002 = UI_delayed_execute_usecode_array(var0001, [(byte)0x23, (byte)0x52, "@The treasure is at@"], 0x0010);
var0002 = UI_delayed_execute_usecode_array(var0001, [(byte)0x23, (byte)0x52, "@169 South@"], 0x0020);
var0002 = UI_delayed_execute_usecode_array(var0001, [(byte)0x23, (byte)0x52, "@28 East@"], 0x0030);
labelFunc02A3_00B3:
if (!(var0000 == 0x000A)) goto labelFunc02A3_01D0;
var0003 = UI_die_roll(0x0001, 0x0007);
if (!(var0003 == 0x0001)) goto labelFunc02A3_00E6;
var0002 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@Squawk!@"]);
labelFunc02A3_00E6:
if (!(var0003 == 0x0002)) goto labelFunc02A3_0102;
var0002 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@Polly want a cracker?@"]);
labelFunc02A3_0102:
if (!((var0003 == 0x0003) || (var0003 == 0x0004))) goto labelFunc02A3_013B;
var0002 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@I know where@"]);
var0002 = UI_delayed_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@the treasure is!@"], 0x0010);
labelFunc02A3_013B:
if (!(var0003 == 0x0005)) goto labelFunc02A3_0157;
var0002 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@Gimmee a cracker!@"]);
labelFunc02A3_0157:
if (!((var0003 == 0x0006) || (var0003 == 0x0007))) goto labelFunc02A3_01D0;
var0002 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@Pretty bird!@"]);
if (!UI_npc_nearby(0xFFFE)) goto labelFunc02A3_01D0;
var0002 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFFE), [(byte)0x23, (byte)0x52, "@Ugly Bird!@"], 0x0010);
var0002 = UI_delayed_execute_usecode_array(item, [(byte)0x23, (byte)0x52, "@Ugly Boy!@"], 0x0020);
var0002 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFFE), [(byte)0x23, (byte)0x52, "@Hey!!@"], 0x0030);
labelFunc02A3_01D0:
if (!((var0000 == 0x0011) || ((var0000 == 0x0012) || (var0000 == 0x0013)))) goto labelFunc02A3_0242;
if (!(!UI_in_usecode(item))) goto labelFunc02A3_0242;
var0002 = UI_execute_usecode_array(item, [(byte)0x58, 0x0011, (byte)0x46, 0x0011, (byte)0x58, 0x0012, (byte)0x46, 0x0013, (byte)0x0B, 0xFFF8, 0x000C, (byte)0x46, 0x0012]);
if (!UI_npc_nearby(0xFFFE)) goto labelFunc02A3_0242;
var0002 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFFE), [(byte)0x52, "@That is really weird.@"], 0x0004);
labelFunc02A3_0242:
if (!(var0000 == 0x000B)) goto labelFunc02A3_0271;
var0004 = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
var0005 = ("Party gold: " + var0004);
UI_item_say(item, var0005);
labelFunc02A3_0271:
if (!(var0000 == 0x0014)) goto labelFunc02A3_0293;
var0002 = UI_execute_usecode_array(item, [(byte)0x58, 0x0017, (byte)0x0B, 0xFFFE, 0x0004]);
labelFunc02A3_0293:
return;
}
void Func02A6 shape#(0x2A6) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc02A6_003F;
var0000 = UI_get_item_frame(item);
if (!((var0000 % 0x0002) == 0x0000)) goto labelFunc02A6_0027;
var0001 = 0x0001;
goto labelFunc02A6_002D;
labelFunc02A6_0027:
var0001 = 0xFFFF;
labelFunc02A6_002D:
var0000 = (var0000 + var0001);
UI_set_item_frame(item, var0000);
labelFunc02A6_003F:
return;
}
void Func02B1 shape#(0x2B1) ()
{
if (!(event == 0x0001)) goto labelFunc02B1_0010;
UI_play_music(0x0039, item);
labelFunc02B1_0010:
return;
}
void Func02B2 shape#(0x2B2) ()
{
if (!(event == 0x0001)) goto labelFunc02B2_0010;
UI_play_music(0x0038, item);
labelFunc02B2_0010:
return;
}
void Func02B3 shape#(0x2B3) ()
{
if (!(event == 0x0001)) goto labelFunc02B3_0010;
UI_play_music(0x003A, item);
labelFunc02B3_0010:
return;
}
void Func02B4 shape#(0x2B4) ()
{
if (!(event == 0x0001)) goto labelFunc02B4_0010;
UI_play_music(0x003B, item);
labelFunc02B4_0010:
return;
}
void Func02B5 shape#(0x2B5) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc02B5_0043;
UI_play_music(0x0037, item);
if (!(UI_get_item_frame(item) == 0x0001)) goto labelFunc02B5_0043;
UI_close_gumps();
var0000 = UI_find_nearby_avatar(0x0216);
//enum();
labelFunc02B5_002B:
for (var0003 in var0000 with var0001 to var0002) atend labelFunc02B5_0043;
UI_set_schedule_type(var0003, 0x0003);
goto labelFunc02B5_002B;
labelFunc02B5_0043:
return;
}
// externs
extern void Func00FC shape#(0xFC) ();
void Func02B7 shape#(0x2B7) ()
{
if (!(event == 0x0001)) goto labelFunc02B7_000C;
item->Func00FC();
labelFunc02B7_000C:
return;
}
// externs
extern void Func0800 0x800 (var var0000);
void Func02B8 shape#(0x2B8) ()
{
if (!(event == 0x0001)) goto labelFunc02B8_000C;
Func0800(item);
labelFunc02B8_000C:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
void Func02BA shape#(0x2BA) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc02BA_004A;
var0000 = UI_click_on_item();
var0001 = UI_get_item_shape(var0000[0x0001]);
if (!(var0001 == 0x0353)) goto labelFunc02BA_0044;
UI_set_item_shape(var0000, 0x033B);
UI_set_item_frame(var0000, UI_die_roll(0x0000, 0x0002));
goto labelFunc02BA_004A;
labelFunc02BA_0044:
Func08FF("@Might not those come in handy for cutting cloth into bandages?@");
labelFunc02BA_004A:
return;
}
// externs
extern void Func0839 0x839 (var var0000, var var0001, var var0002);
extern var Func0827 0x827 (var var0000, var var0001);
extern void Func0905 0x905 (var var0000);
void Func02BD shape#(0x2BD) ()
{
var var0000;
var var0001;
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc02BD_0016;
Func0839(item, 0x0253, event);
labelFunc02BD_0016:
if (!(event == 0x0007)) goto labelFunc02BD_0048;
var0000 = Func0827(0xFE9C, item);
var0001 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0000, (byte)0x01, (byte)0x6A, (byte)0x61]);
Func0839(item, 0x0253, event);
labelFunc02BD_0048:
if (!(event == 0x0005)) goto labelFunc02BD_0054;
Func0905(item);
labelFunc02BD_0054:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
extern void Func0925 0x925 (var var0000);
extern var Func0932 0x932 (var var0000);
void Func02BE shape#(0x2BE) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
if (!(event == 0x0001)) goto labelFunc02BE_00F0;
UI_close_gumps();
var0000 = UI_find_nearby(item, 0x02C0, 0x000A, 0x0000);
var0001 = UI_find_nearby(item, 0x02BF, 0x000A, 0x0000);
if (!(!var0000)) goto labelFunc02BE_003C;
Func08FE("@It needs powder!@");
return;
labelFunc02BE_003C:
if (!(!var0001)) goto labelFunc02BE_004A;
Func08FE("@It needs cannon balls!@");
return;
labelFunc02BE_004A:
Func0925(var0000[0x0001]);
Func0925(var0001[0x0001]);
var0002 = UI_click_on_item();
var0003 = UI_get_object_position(item);
var0004 = (var0002[0x0002] - var0003[0x0001]);
var0005 = (var0002[0x0003] - var0003[0x0002]);
if (!(Func0932(var0004) > Func0932(var0005))) goto labelFunc02BE_00B7;
if (!(var0004 > 0x0000)) goto labelFunc02BE_00AE;
var0006 = 0x0002;
goto labelFunc02BE_00B4;
labelFunc02BE_00AE:
var0006 = 0x0006;
labelFunc02BE_00B4:
goto labelFunc02BE_00D0;
labelFunc02BE_00B7:
if (!(var0005 > 0x0000)) goto labelFunc02BE_00CA;
var0006 = 0x0004;
goto labelFunc02BE_00D0;
labelFunc02BE_00CA:
var0006 = 0x0000;
labelFunc02BE_00D0:
UI_set_item_frame(item, (var0006 / 0x0002));
UI_fire_projectile(item, var0006, 0x02BF, 0x001E, 0x02BE, 0x02BE);
labelFunc02BE_00F0:
if (!(event == 0x0004)) goto labelFunc02BE_01A6;
var0007 = UI_get_item_shape(item);
var0008 = UI_get_item_frame(item);
if (!(var0007 == 0x02C0)) goto labelFunc02BE_0128;
var0009 = UI_delayed_execute_usecode_array(item, [(byte)0x23, (byte)0x55, 0x02C0], 0x0001);
return;
labelFunc02BE_0128:
if (!((var0007 == 0x0178) || (var0007 == 0x010E))) goto labelFunc02BE_015B;
var000A = [0x0000, 0x0001, 0x0002, 0x0008, 0x0009, 0x000A, 0x0010, 0x0011, 0x0012];
labelFunc02BE_015B:
if (!((var0007 == 0x01B1) || (var0007 == 0x01B0))) goto labelFunc02BE_0185;
var000A = [0x0000, 0x0001, 0x0002, 0x0004, 0x0005, 0x0006];
labelFunc02BE_0185:
//enum();
labelFunc02BE_0186:
for (var000D in var000A with var000B to var000C) atend labelFunc02BE_01A6;
if (!(var0008 == var000D)) goto labelFunc02BE_01A3;
UI_remove_item(item);
goto labelFunc02BE_01A6;
labelFunc02BE_01A3:
goto labelFunc02BE_0186;
labelFunc02BE_01A6:
return;
}
void Func02C0 shape#(0x2C0) ()
{
var var0000;
var var0001;
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc02C0_0034;
var0000 = UI_get_container(item);
if (!(!UI_is_npc(var0000))) goto labelFunc02C0_0034;
UI_close_gumps();
var0001 = UI_attack_object(UI_get_avatar_ref(), item, 0x02C0);
labelFunc02C0_0034:
return;
}
// externs
extern void Func06F6 object#(0x6F6) ();
void Func02C3 shape#(0x2C3) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc02C3_000C;
item->Func06F6();
labelFunc02C3_000C:
if (!(event == 0x0002)) goto labelFunc02C3_0042;
if (!(UI_get_item_shape(item) == 0x03DE)) goto labelFunc02C3_0042;
UI_fade_palette(0x000C, 0x0001, 0x0000);
var0000 = UI_execute_usecode_array(item, [(byte)0x27, 0x0003, (byte)0x55, 0x03DE]);
labelFunc02C3_0042:
return;
}
void Func02C4 shape#(0x2C4) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc02C4_0046;
var0000 = UI_get_item_frame(item);
var0001 = var0000;
if (!(var0000 == 0x0001)) goto labelFunc02C4_0026;
var0001 = 0x0000;
labelFunc02C4_0026:
if (!(var0000 == 0x0000)) goto labelFunc02C4_0036;
var0001 = 0x0001;
labelFunc02C4_0036:
UI_play_sound_effect2(0x001C, item);
UI_set_item_frame(item, var0001);
labelFunc02C4_0046:
return;
}
// externs
extern void Func02DE shape#(0x2DE) ();
void Func02C5 shape#(0x2C5) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc02C5_004E;
var0000 = UI_get_object_position(item);
var0001 = UI_find_nearby(item, 0x02DE, 0x0004, 0x0000);
//enum();
labelFunc02C5_0022:
for (var0004 in var0001 with var0002 to var0003) atend labelFunc02C5_004E;
var0005 = UI_get_object_position(var0004);
if (!(var0005[0x0001] == var0000)) goto labelFunc02C5_004B;
var0004->Func02DE();
return;
labelFunc02C5_004B:
goto labelFunc02C5_0022;
labelFunc02C5_004E:
return;
}
// externs
extern var Func0908 0x908 ();
void Func02CB shape#(0x2CB) ()
{
var var0000;
var var0001;
if (!(event != 0x0001)) goto labelFunc02CB_0009;
return;
labelFunc02CB_0009:
var0000 = Func0908();
var0001 = UI_get_item_quality(item);
if (!(var0001 > 0x0066)) goto labelFunc02CB_0034;
UI_display_runes(0x0032, ["IS", "SIGN ZERO"]);
goto labelFunc02CB_0D71;
labelFunc02CB_0034:
if (!(var0001 == 0x0000)) goto labelFunc02CB_0057;
UI_display_runes(0x0032, ["here|lies", "john|doe", "buried", "where", "he|died"]);
labelFunc02CB_0057:
if (!(var0001 == 0x0001)) goto labelFunc02CB_0077;
UI_display_runes(0x0032, ["|garth|", "sorry", "about", "thy|(umb"]);
labelFunc02CB_0077:
if (!(var0001 == 0x0002)) goto labelFunc02CB_0097;
UI_display_runes(0x0032, ["LADY M:", "YOUTH IS", "HERS", "FOREVER"]);
labelFunc02CB_0097:
if (!(var0001 == 0x0003)) goto labelFunc02CB_00BA;
UI_display_runes(0x0032, ["|julius|", "may|his", "spirit", "re,", "forever"]);
labelFunc02CB_00BA:
if (!(var0001 == 0x0004)) goto labelFunc02CB_00DD;
UI_display_runes(0x0032, ["here", "lies", "argent", "died|a", "sargeant"]);
labelFunc02CB_00DD:
if (!(var0001 == 0x0005)) goto labelFunc02CB_0100;
UI_display_runes(0x0032, ["|darek|", "his", "days", "were", "numbered"]);
labelFunc02CB_0100:
if (!(var0001 == 0x0006)) goto labelFunc02CB_0123;
UI_display_runes(0x0032, ["|malc|", "his", "words", "remain", "wi(|us"]);
labelFunc02CB_0123:
if (!(var0001 == 0x0007)) goto labelFunc02CB_0146;
UI_display_runes(0x0032, ["|nina|", "may", "her", "spirit", "soar"]);
labelFunc02CB_0146:
if (!(var0001 == 0x0008)) goto labelFunc02CB_0166;
UI_display_runes(0x0032, ["|bart|", "he|never", "finished", "(e|joke"]);
labelFunc02CB_0166:
if (!(var0001 == 0x0009)) goto labelFunc02CB_0186;
UI_display_runes(0x0032, ["|ann|", "a", "delicate", "flower"]);
labelFunc02CB_0186:
if (!(var0001 == 0x000A)) goto labelFunc02CB_01A9;
UI_display_runes(0x0032, ["|dallas|", "went", "down", "wi(|(e", "ship"]);
labelFunc02CB_01A9:
if (!(var0001 == 0x000B)) goto labelFunc02CB_01C9;
UI_display_runes(0x0032, ["|alan|", "looked", "great|in", "pink"]);
labelFunc02CB_01C9:
if (!(var0001 == 0x000C)) goto labelFunc02CB_01EC;
UI_display_runes(0x0032, ["here", "lies", "ken", "killed|by", "a pen"]);
labelFunc02CB_01EC:
if (!(var0001 == 0x000D)) goto labelFunc02CB_020C;
UI_display_runes(0x0032, ["|jeff|d|", "died|wi(", "a|pencil", "in|hand"]);
labelFunc02CB_020C:
if (!(var0001 == 0x000E)) goto labelFunc02CB_022C;
UI_display_runes(0x0032, ["|martin|", "(e|notes", "were|too", "sharp"]);
labelFunc02CB_022C:
if (!(var0001 == 0x000F)) goto labelFunc02CB_024C;
UI_display_runes(0x0032, ["|tony|b|", "a|credit", "to|his", "name"]);
labelFunc02CB_024C:
if (!(var0001 == 0x0010)) goto labelFunc02CB_026C;
UI_display_runes(0x0032, ["|philip|", "spells", "ma,ered", "him"]);
labelFunc02CB_026C:
if (!(var0001 == 0x0011)) goto labelFunc02CB_028C;
UI_display_runes(0x0032, ["|chuckles|", "laughed", "till|(e", "end"]);
labelFunc02CB_028C:
if (!(var0001 == 0x0012)) goto labelFunc02CB_02AC;
UI_display_runes(0x0032, ["|art|d|", "bit|(e|rump", "of|a|big|", "bad|gump"]);
labelFunc02CB_02AC:
if (!(var0001 == 0x0013)) goto labelFunc02CB_02CC;
UI_display_runes(0x0032, ["|jim|g|", "he|was", "a|wonder", "to|us|all"]);
labelFunc02CB_02CC:
if (!(var0001 == 0x0014)) goto labelFunc02CB_02EC;
UI_display_runes(0x0032, ["|will|", "he|was|a", "rebel|and", "a|runner"]);
labelFunc02CB_02EC:
if (!(var0001 == 0x0015)) goto labelFunc02CB_030C;
UI_display_runes(0x0032, ["|mr|mike|", "lost|early", "from|a|bout", "with|gumps"]);
labelFunc02CB_030C:
if (!(var0001 == 0x0016)) goto labelFunc02CB_032F;
UI_display_runes(0x0032, ["|paul|", "odd|how", "awake", "sleep", "made|him"]);
labelFunc02CB_032F:
if (!(var0001 == 0x0017)) goto labelFunc02CB_0352;
UI_display_runes(0x0032, ["|zack|", "he", "demanded", "atomic", "d+("]);
labelFunc02CB_0352:
if (!(var0001 == 0x0018)) goto labelFunc02CB_0375;
UI_display_runes(0x0032, ["|phil|s|", "a|victim", "of", "venomous", "fate"]);
labelFunc02CB_0375:
if (!(var0001 == 0x0019)) goto labelFunc02CB_0392;
UI_display_runes(0x0032, ["|jeff|w|", "danger", "radiation"]);
labelFunc02CB_0392:
if (!(var0001 == 0x001A)) goto labelFunc02CB_03B2;
UI_display_runes(0x0032, ["|tony|z|", "a|good", "source", "for|gumps"]);
labelFunc02CB_03B2:
if (!(var0001 == 0x001B)) goto labelFunc02CB_03D2;
UI_display_runes(0x0032, ["|bill|b|", "we|(ought", "he|was|only", "winged"]);
labelFunc02CB_03D2:
if (!(var0001 == 0x001C)) goto labelFunc02CB_03EF;
UI_display_runes(0x0032, ["|charles|c|", "guest", "victim"]);
labelFunc02CB_03EF:
if (!(var0001 == 0x001D)) goto labelFunc02CB_040C;
UI_display_runes(0x0032, ["|danny|", "dearly", "depainted"]);
labelFunc02CB_040C:
if (!(var0001 == 0x001E)) goto labelFunc02CB_042C;
UI_display_runes(0x0032, ["|bob|", "he|makes", "(e|grass", "greener"]);
labelFunc02CB_042C:
if (!(var0001 == 0x001F)) goto labelFunc02CB_044C;
UI_display_runes(0x0032, ["here|lies", "donna", "she|is|a", "gonna"]);
labelFunc02CB_044C:
if (!(var0001 == 0x0020)) goto labelFunc02CB_046C;
UI_display_runes(0x0032, ["|karl|", "a|portrait", "of", "talent"]);
labelFunc02CB_046C:
if (!(var0001 == 0x0021)) goto labelFunc02CB_048C;
UI_display_runes(0x0032, ["|chris|d|", "an", "explosive", "character"]);
labelFunc02CB_048C:
if (!(var0001 == 0x0022)) goto labelFunc02CB_04AC;
UI_display_runes(0x0032, ["|glen|", "went", "with|a", "smile"]);
labelFunc02CB_04AC:
if (!(var0001 == 0x0023)) goto labelFunc02CB_04CC;
UI_display_runes(0x0032, ["|bruce|l|", "had|a", "fantastic", "ending"]);
labelFunc02CB_04CC:
if (!(var0001 == 0x0024)) goto labelFunc02CB_04EC;
UI_display_runes(0x0032, ["|loubet|", "his", "last", "br+("]);
labelFunc02CB_04EC:
if (!(var0001 == 0x0025)) goto labelFunc02CB_050C;
UI_display_runes(0x0032, ["|micael|p|", "lo*|time", "comi*|gone", "for|good"]);
labelFunc02CB_050C:
if (!(var0001 == 0x0026)) goto labelFunc02CB_052C;
UI_display_runes(0x0032, ["|jake|", "(e|party", "is", "over"]);
labelFunc02CB_052C:
if (!(var0001 == 0x0027)) goto labelFunc02CB_054C;
UI_display_runes(0x0032, ["|gary|w|", "man|of|a", "(ousand", "faces"]);
labelFunc02CB_054C:
if (!(var0001 == 0x0028)) goto labelFunc02CB_056C;
UI_display_runes(0x0032, ["|(e|b+,|", "it|was|a", "full", "life"]);
labelFunc02CB_056C:
if (!(var0001 == 0x0029)) goto labelFunc02CB_058C;
UI_display_runes(0x0032, ["here|lies", "kirk|died", "from|too", "much|work"]);
labelFunc02CB_058C:
if (!(var0001 == 0x002A)) goto labelFunc02CB_05AC;
UI_display_runes(0x0032, ["|targ|", "a", "wor(y", "opponent"]);
labelFunc02CB_05AC:
if (!(var0001 == 0x002B)) goto labelFunc02CB_05CF;
UI_display_runes(0x0032, ["here|lies", "my,ral", "shined", "like|a", "crystal"]);
labelFunc02CB_05CF:
if (!(var0001 == 0x002C)) goto labelFunc02CB_05EF;
UI_display_runes(0x0032, ["here|lies", "marc", "and|why", "not"]);
labelFunc02CB_05EF:
if (!(var0001 == 0x002D)) goto labelFunc02CB_060F;
UI_display_runes(0x0032, ["|nenad|", "(e", "music", "maker"]);
labelFunc02CB_060F:
if (!(var0001 == 0x002E)) goto labelFunc02CB_0632;
UI_display_runes(0x0032, ["here|lies", "john", "his", "work|was", "never|done"]);
labelFunc02CB_0632:
if (!(var0001 == 0x002F)) goto labelFunc02CB_0652;
UI_display_runes(0x0032, ["|bruce|a|", "we", "killed", "him"]);
labelFunc02CB_0652:
if (!(var0001 == 0x0030)) goto labelFunc02CB_0675;
UI_display_runes(0x0032, ["|eric|", "unaware", "(e|game", "was", "loaded"]);
labelFunc02CB_0675:
if (!(var0001 == 0x0031)) goto labelFunc02CB_0695;
UI_display_runes(0x0032, ["|raymond|", "(e|world", "is|not", "enough"]);
labelFunc02CB_0695:
if (!(var0001 == 0x0032)) goto labelFunc02CB_06B5;
UI_display_runes(0x0032, ["|Beth|", "died", "by", "garriot"]);
labelFunc02CB_06B5:
if (!(var0001 == 0x0033)) goto labelFunc02CB_06D5;
UI_display_runes(0x0032, ["|jack|", "+ten", "by", "di*os"]);
labelFunc02CB_06D5:
if (!(var0001 == 0x0034)) goto labelFunc02CB_06F5;
UI_display_runes(0x0032, ["|michelle|", "hu*|for", "poisoni*", "lover"]);
labelFunc02CB_06F5:
if (!(var0001 == 0x0035)) goto labelFunc02CB_0718;
UI_display_runes(0x0032, ["|scott|h|", "gone", "today", "gone", "tomorrow"]);
labelFunc02CB_0718:
if (!(var0001 == 0x0036)) goto labelFunc02CB_073B;
UI_display_runes(0x0032, ["|brian|", "swallowed", "by", "(e", "mon,er"]);
labelFunc02CB_073B:
if (!(var0001 == 0x0037)) goto labelFunc02CB_075B;
UI_display_runes(0x0032, ["|sherry|c|", "managed", "until", "(e|end"]);
labelFunc02CB_075B:
if (!(var0001 == 0x0038)) goto labelFunc02CB_077B;
UI_display_runes(0x0032, ["|karen|", "quality", "was|job", "one"]);
labelFunc02CB_077B:
if (!(var0001 == 0x0039)) goto labelFunc02CB_079B;
UI_display_runes(0x0032, ["|j|shelton", "here|i|lie", "but|,ill", "i|roam"]);
labelFunc02CB_079B:
if (!(var0001 == 0x003A)) goto labelFunc02CB_07BB;
UI_display_runes(0x0032, ["|marco|", "underfed", "under|gun", "undergrnd"]);
labelFunc02CB_07BB:
if (!(var0001 == 0x003B)) goto labelFunc02CB_07DB;
UI_display_runes(0x0032, ["|lynn|", "she|had", "(e|grace", "of|a|swan"]);
labelFunc02CB_07DB:
if (!(var0001 == 0x003C)) goto labelFunc02CB_07FB;
UI_display_runes(0x0032, ["|chenault|", "me|puergo", "canus|meus", "urit"]);
labelFunc02CB_07FB:
if (!(var0001 == 0x003D)) goto labelFunc02CB_081B;
UI_display_runes(0x0032, ["|j|crippen|", "to|dizzy", "and|tc", "cocopuff"]);
labelFunc02CB_081B:
if (!(var0001 == 0x003E)) goto labelFunc02CB_0838;
UI_display_runes(0x0032, ["|tim|", "(e|unknown", "tomb,one"]);
labelFunc02CB_0838:
if (!(var0001 == 0x003F)) goto labelFunc02CB_0858;
UI_display_runes(0x0032, ["|na(an|", "blown|away", "by|grogs", "fireball"]);
labelFunc02CB_0858:
if (!(var0001 == 0x0040)) goto labelFunc02CB_0878;
UI_display_runes(0x0032, ["|james|n|", "last|words", "i|drank", "what"]);
labelFunc02CB_0878:
if (!(var0001 == 0x0041)) goto labelFunc02CB_0898;
UI_display_runes(0x0032, ["here|lies", "Ben", "all|te,ed", "out"]);
labelFunc02CB_0898:
if (!(var0001 == 0x0042)) goto labelFunc02CB_08B8;
UI_display_runes(0x0032, ["|scott|", "buried|an", "axe|in", "his|h+d"]);
labelFunc02CB_08B8:
if (!(var0001 == 0x0043)) goto labelFunc02CB_08D8;
UI_display_runes(0x0032, ["|duke|", "veni", "vidi", "exii"]);
labelFunc02CB_08D8:
if (!(var0001 == 0x0044)) goto labelFunc02CB_08F8;
UI_display_runes(0x0032, ["|mike|h|", "every(i*", "fit|to", "print"]);
labelFunc02CB_08F8:
if (!(var0001 == 0x0045)) goto labelFunc02CB_0918;
UI_display_runes(0x0032, ["|robin|", "she|gave", "sunshine", "to|us|all"]);
labelFunc02CB_0918:
if (!(var0001 == 0x0046)) goto labelFunc02CB_093B;
UI_display_runes(0x0032, ["|andrew|", "|m|", "never", "got", "clued|in"]);
labelFunc02CB_093B:
if (!(var0001 == 0x0047)) goto labelFunc02CB_095B;
UI_display_runes(0x0032, ["|wayne|s|", "(e|food", "was", "gr+t"]);
labelFunc02CB_095B:
if (!(var0001 == 0x0048)) goto labelFunc02CB_0978;
UI_display_runes(0x0032, ["|craig|c|", "was", "delivered"]);
labelFunc02CB_0978:
if (!(var0001 == 0x0049)) goto labelFunc02CB_0998;
UI_display_runes(0x0032, ["|jeff|f|", "fed|but", "never", "ate"]);
labelFunc02CB_0998:
if (!(var0001 == 0x004A)) goto labelFunc02CB_09B8;
UI_display_runes(0x0032, ["|w|hagy", "food", "for", "(ought"]);
labelFunc02CB_09B8:
if (!(var0001 == 0x004B)) goto labelFunc02CB_09D8;
UI_display_runes(0x0032, ["|m|", "|stevens|", "arrived", "wi(|gifts"]);
labelFunc02CB_09D8:
if (!(var0001 == 0x004C)) goto labelFunc02CB_09FB;
UI_display_runes(0x0032, ["|michelle|", "|g|", "bringer", "of", "dinner"]);
labelFunc02CB_09FB:
if (!(var0001 == 0x004D)) goto labelFunc02CB_0A1B;
UI_display_runes(0x0032, ["|brian|s|", "food", "was", "him"]);
labelFunc02CB_0A1B:
if (!(var0001 == 0x004E)) goto labelFunc02CB_0A3E;
UI_display_runes(0x0032, ["|jackie|", "d|", "as|in|d|", "for", "dinner"]);
labelFunc02CB_0A3E:
if (!(var0001 == 0x004F)) goto labelFunc02CB_0A61;
UI_display_runes(0x0032, ["|b|adams|", "spained", "a", "perfect", "record"]);
labelFunc02CB_0A61:
if (!(var0001 == 0x0050)) goto labelFunc02CB_0A84;
UI_display_runes(0x0032, ["|hal|", "a|nice", "fellow", "who|is", "now|below"]);
labelFunc02CB_0A84:
if (!(var0001 == 0x0051)) goto labelFunc02CB_0AA7;
UI_display_runes(0x0032, ["|rover|", "mans|best", "friend", "over|and", "over"]);
labelFunc02CB_0AA7:
if (!(var0001 == 0x0052)) goto labelFunc02CB_0ACA;
UI_display_runes(0x0032, ["|felcore|", "age|old", "love", "never", "dies"]);
labelFunc02CB_0ACA:
if (!(var0001 == 0x0053)) goto labelFunc02CB_0AED;
UI_display_runes(0x0032, ["heres", "tony", "morse", "hes|d+d", "of|course"]);
labelFunc02CB_0AED:
if (!(var0001 == 0x0054)) goto labelFunc02CB_0B10;
UI_display_runes(0x0032, ["heres", "larry", "salamon", "|", "gross"]);
labelFunc02CB_0B10:
if (!(var0001 == 0x0055)) goto labelFunc02CB_0B30;
UI_display_runes(0x0032, ["darren", "mcdonald", "who|is", "faltran"]);
labelFunc02CB_0B30:
if (!(var0001 == 0x0056)) goto labelFunc02CB_0B53;
UI_display_runes(0x0032, ["|kevin|b|", "died", "away", "from|(e", "chiltons"]);
labelFunc02CB_0B53:
if (!(var0001 == 0x0057)) goto labelFunc02CB_0B76;
UI_display_runes(0x0032, ["|beth", "and", "michael|", "worm", "food"]);
labelFunc02CB_0B76:
if (!(var0001 == 0x0058)) goto labelFunc02CB_0B93;
UI_display_runes(0x0032, ["|a|h|", "died", "honorably"]);
labelFunc02CB_0B93:
if (!(var0001 == 0x0059)) goto labelFunc02CB_0BB3;
UI_display_runes(0x0032, ["|john|t|", "gone", "and", "went"]);
labelFunc02CB_0BB3:
if (!(var0001 == 0x005A)) goto labelFunc02CB_0BD3;
UI_display_runes(0x0032, ["|rey|", "", "installed", "here"]);
labelFunc02CB_0BD3:
if (!(var0001 == 0x005B)) goto labelFunc02CB_0BF6;
UI_display_runes(0x0032, ["|rhoode|", "a|more", "deservi*", "man|never", "died"]);
labelFunc02CB_0BF6:
if (!(var0001 == 0x005C)) goto labelFunc02CB_0C19;
UI_display_runes(0x0032, ["|jasner|", "every", "moment", "she|is", "missed"]);
labelFunc02CB_0C19:
if (!(var0001 == 0x005D)) goto labelFunc02CB_0C3C;
UI_display_runes(0x0032, ["|wampol|", "here|he", "lied", "now|here", "he|lays"]);
labelFunc02CB_0C3C:
if (!(var0001 == 0x005E)) goto labelFunc02CB_0C5F;
UI_display_runes(0x0032, ["|destra|", "wounded", "by|a", "lovers", "spurni*"]);
labelFunc02CB_0C5F:
if (!(var0001 == 0x005F)) goto labelFunc02CB_0C7F;
UI_display_runes(0x0032, ["|mendar|", "buried", "wi(|his", "boots|on"]);
labelFunc02CB_0C7F:
if (!(var0001 == 0x0060)) goto labelFunc02CB_0CA2;
UI_display_runes(0x0032, ["|greghim|", "old|age", "never", "looked|so", "good"]);
labelFunc02CB_0CA2:
if (!(var0001 == 0x0061)) goto labelFunc02CB_0CC5;
UI_display_runes(0x0032, ["|sarnan|", "was|not", "missed", "but|is", "now"]);
labelFunc02CB_0CC5:
if (!(var0001 == 0x0062)) goto labelFunc02CB_0CE8;
UI_display_runes(0x0032, ["|erlemar|", "gr+te,", "enchanter", "of|his", "day"]);
labelFunc02CB_0CE8:
if (!(var0001 == 0x0063)) goto labelFunc02CB_0D0B;
UI_display_runes(0x0032, ["|galler|", "came|", "saw|", "was", "conquered"]);
labelFunc02CB_0D0B:
if (!(var0001 == 0x0064)) goto labelFunc02CB_0D2E;
UI_display_runes(0x0032, ["|elgele(|", "queen", "for|a|day", "worm|food", "forever"]);
labelFunc02CB_0D2E:
if (!(var0001 == 0x0065)) goto labelFunc02CB_0D4E;
UI_display_runes(0x0032, ["|pantor|", "(e|si*i*", "never", "stops"]);
labelFunc02CB_0D4E:
if (!(var0001 == 0x0066)) goto labelFunc02CB_0D71;
UI_display_runes(0x0032, ["here|lies", "beloved", "fa(er", "and", "ma,er"]);
labelFunc02CB_0D71:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
void Func02CF shape#(0x2CF) ()
{
var var0000;
var var0001;
var var0002;
var0000 = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0x0001);
if (!var0000) goto labelFunc02CF_0072;
var0001 = [0x0001, 0x0001, 0xFFFE, 0xFFFE, 0x0000, 0xFFFF, 0x0000, 0xFFFF];
var0002 = [0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0x0001, 0x0001, 0xFFFC, 0xFFFC];
Func0828(item, var0001, var0002, 0x0000, 0x032A, var0000, 0x0007);
goto labelFunc02CF_00E1;
labelFunc02CF_0072:
var0000 = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0x0000);
if (!var0000) goto labelFunc02CF_00E1;
var0001 = [0x0001, 0x0001, 0xFFFE, 0xFFFE, 0x0000, 0xFFFF, 0x0000, 0xFFFF];
var0002 = [0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0x0001, 0x0001, 0xFFFC, 0xFFFC];
Func0828(item, var0001, var0002, 0x0000, 0x032A, var0000, 0x0007);
labelFunc02CF_00E1:
return;
}
// externs
extern var Func0908 0x908 ();
void Func02D3 shape#(0x2D3) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc02D3_0033;
var0000 = Func0908();
if (!UI_npc_nearby(0xFFFF)) goto labelFunc02D3_0033;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"");
message(var0000);
message(" dost thou notice the unique Iolo trademark on these bolts? They are designed for maximum performance with genuine IOLO crossbows, available at a location near Yew.\"");
say();
UI_remove_npc_face(0xFFFF);
labelFunc02D3_0033:
return;
}
// externs
extern var Func0937 0x937 (var var0000);
extern void Func0904 0x904 (var var0000, var var0001);
void Func02D5 shape#(0x2D5) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!((event == 0x0001) && (!UI_in_usecode(item)))) goto labelFunc02D5_0107;
var0000 = UI_die_roll(0x0001, 0x0010);
UI_halt_scheduled(item);
var0001 = UI_execute_usecode_array(item, [(byte)0x58, 0x001D, (byte)0x4E, (byte)0x01, (byte)0x4E, (byte)0x01, (byte)0x4E, (byte)0x01, (byte)0x0B, 0xFFF8, var0000, (byte)0x4E, (byte)0x01, (byte)0x4E, (byte)0x58, 0x001D, (byte)0x0B, 0xFFFB, var0000, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x58, 0x001D, (byte)0x0B, 0xFFF2, 0x0003, (byte)0x4E, (byte)0x27, 0x0003, (byte)0x4E, (byte)0x58, 0x001D, (byte)0x55, 0x060A]);
if (!((UI_game_hour() >= 0x000F) || (UI_game_hour() <= 0x0003))) goto labelFunc02D5_0107;
if (!Func0937(0xFF18)) goto labelFunc02D5_00C0;
Func0904(0xFF18, ["@Place your bets.@", "@Round she goes!@"]);
labelFunc02D5_00C0:
UI_set_schedule_type(0xFF18, 0x0009);
var0002 = UI_find_nearby(item, 0x0208, 0x0007, 0x0000);
var0003 = UI_find_nearby(var0002, 0x0284, 0x0005, 0x0000);
//enum();
labelFunc02D5_00EF:
for (var0006 in var0003 with var0004 to var0005) atend labelFunc02D5_0107;
UI_clear_item_flag(var0006, 0x000B);
goto labelFunc02D5_00EF;
labelFunc02D5_0107:
return;
}
void Func02D8 shape#(0x2D8) ()
{
if (!(event == 0x0001)) goto labelFunc02D8_0027;
if (!UI_npc_nearby(0xFFFE)) goto labelFunc02D8_0027;
UI_show_npc_face(0xFFFE, 0x0000);
message("\"Thou dost need a blacksmith to do that. I wager my dad could do it... I mean, could have... if he were still alive...\"");
say();
UI_remove_npc_face(0xFFFE);
labelFunc02D8_0027:
return;
}
// externs
extern void Func0940 0x940 (var var0000);
void Func02D9 shape#(0x2D9) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc02D9_0106;
UI_close_gumps();
var0000 = UI_get_item_quality(item);
if (!((var0000 == 0x0000) || (var0000 > 0x0007))) goto labelFunc02D9_002D;
Func0940(0x0019);
return;
labelFunc02D9_002D:
if (!(var0000 == 0x0001)) goto labelFunc02D9_005E;
if (!gflags[0x0157]) goto labelFunc02D9_004F;
var0001 = [0x0A82, 0x0970, 0x0003];
goto labelFunc02D9_005E;
labelFunc02D9_004F:
var0001 = [0x0A82, 0x09A0, 0x0003];
labelFunc02D9_005E:
if (!(var0000 == 0x0002)) goto labelFunc02D9_0077;
var0001 = [0x038F, 0x047D, 0x0003];
labelFunc02D9_0077:
if (!(var0000 == 0x0003)) goto labelFunc02D9_0090;
var0001 = [0x0A28, 0x0A25, 0x0003];
labelFunc02D9_0090:
if (!(var0000 == 0x0004)) goto labelFunc02D9_00A9;
var0001 = [0x0AF7, 0x00D7, 0x0003];
labelFunc02D9_00A9:
if (!(var0000 == 0x0005)) goto labelFunc02D9_00C2;
var0001 = [0x009F, 0x0540, 0x0003];
labelFunc02D9_00C2:
if (!(var0000 == 0x0006)) goto labelFunc02D9_00DB;
var0001 = [0x0609, 0x0773, 0x0003];
labelFunc02D9_00DB:
if (!(var0000 == 0x0007)) goto labelFunc02D9_00F4;
var0001 = [0x0928, 0x0597, 0x0003];
labelFunc02D9_00F4:
if (!(var0000 == 0x00FF)) goto labelFunc02D9_00FF;
return;
labelFunc02D9_00FF:
UI_display_area(var0001);
labelFunc02D9_0106:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern void Func0925 0x925 (var var0000);
extern void Func08FD 0x8FD (var var0000);
void Func02DA shape#(0x2DA) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0001)) goto labelFunc02DA_006C;
if (!(UI_get_item_frame(item) == 0x0002)) goto labelFunc02DA_0027;
var0000 = ("@Praise All! The child is still alive. He must" + " be returned to Lady Tory immediately!@");
Func08FF(var0000);
goto labelFunc02DA_006C;
labelFunc02DA_0027:
var0001 = UI_click_on_item();
var0002 = UI_get_item_shape(var0001);
if (!(var0002 == 0x03DB)) goto labelFunc02DA_004B;
Func08FF("@Pardon me my friend, dost thou not think that would be a little crowded?@");
goto labelFunc02DA_006C;
labelFunc02DA_004B:
if (!(var0002 == 0x03E0)) goto labelFunc02DA_0066;
UI_set_item_shape(var0001, 0x03DB);
Func0925(item);
goto labelFunc02DA_006C;
labelFunc02DA_0066:
Func08FD(0x003C);
labelFunc02DA_006C:
return;
}
void Func02DE shape#(0x2DE) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc02DE_00BE;
if (!(!UI_in_usecode(item))) goto labelFunc02DE_00BE;
if (!(UI_get_item_frame(item) < 0x0005)) goto labelFunc02DE_0042;
UI_set_item_frame(item, 0x0000);
var0000 = UI_execute_usecode_array(item, [(byte)0x58, 0x0023, (byte)0x4E, (byte)0x0B, 0xFFFD, 0x0004]);
goto labelFunc02DE_00BE;
labelFunc02DE_0042:
UI_play_sound_effect2(0x0023, item);
var0001 = UI_get_item_frame(item);
if (!(var0001 < 0x000B)) goto labelFunc02DE_007B;
var0000 = UI_execute_usecode_array(item, [(byte)0x58, 0x0022, (byte)0x4E, (byte)0x0B, 0xFFFD, 0x0001, (byte)0x58, 0x0023]);
labelFunc02DE_007B:
if (!(var0001 == 0x000B)) goto labelFunc02DE_00A4;
var0000 = UI_execute_usecode_array(item, [(byte)0x58, 0x0023, (byte)0x46, 0x000C, (byte)0x58, 0x0023, (byte)0x46, 0x0000]);
labelFunc02DE_00A4:
if (!(var0001 == 0x000C)) goto labelFunc02DE_00BE;
UI_play_sound_effect2(0x0023, item);
UI_set_item_frame(item, 0x0000);
labelFunc02DE_00BE:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
void Func02DF shape#(0x2DF) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc02DF_001C;
var0000 = (("@I believe those are for the trainers to use.*" + "If thou art in need of practice, why not ") + "seek out a trainer?@");
Func08FF(var0000);
labelFunc02DF_001C:
return;
}
void Func02E3 shape#(0x2E3) ()
{
return;
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
void Func02E4 shape#(0x2E4) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var0000 = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0x0000);
if (!var0000) goto labelFunc02E4_0061;
var0001 = [0xFFFB, 0xFFFB];
var0002 = [0xFFFF, 0xFFFF];
var0003 = UI_find_nearest(item, 0x01D6, 0x0005);
if (!var0003) goto labelFunc02E4_0061;
Func0828(var0003, var0001, var0002, 0x0000, 0x032A, var0000, 0x0009);
labelFunc02E4_0061:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
void Func02E5 shape#(0x2E5) ()
{
var var0000;
var var0001;
var var0002;
var0000 = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0x0001);
if (!var0000) goto labelFunc02E5_0072;
var0001 = [0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0x0001, 0x0001, 0xFFFC, 0xFFFC];
var0002 = [0x0001, 0x0001, 0xFFFE, 0xFFFE, 0x0000, 0xFFFF, 0x0000, 0xFFFF];
Func0828(item, var0001, var0002, 0x0000, 0x032A, var0000, 0x0007);
goto labelFunc02E5_00E1;
labelFunc02E5_0072:
var0000 = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0x0000);
if (!var0000) goto labelFunc02E5_00E1;
var0001 = [0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0x0001, 0x0001, 0xFFFC, 0xFFFC];
var0002 = [0x0001, 0x0001, 0xFFFE, 0xFFFE, 0x0000, 0xFFFF, 0x0000, 0xFFFF];
Func0828(item, var0001, var0002, 0x0000, 0x032A, var0000, 0x0007);
labelFunc02E5_00E1:
return;
}
// externs
extern var Func0937 0x937 (var var0000);
void Func02E6 shape#(0x2E6) ()
{
if (!(event == 0x0001)) goto labelFunc02E6_0023;
if (!(UI_npc_nearby(0xFFFE) && Func0937(0xFFFE))) goto labelFunc02E6_0023;
UI_item_say(0xFFFE, "@Gee, is that neat.@");
labelFunc02E6_0023:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func0827 0x827 (var var0000, var var0001);
extern var Func0937 0x937 (var var0000);
void Func02E7 shape#(0x2E7) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc02E7_0044;
UI_close_gumps();
var0000 = [0x0000, 0xFFFF, 0x0001];
var0001 = [0x0001, 0x0001, 0x0001];
var0002 = 0xFFFF;
Func0828(item, var0000, var0001, var0002, 0x02E7, item, 0x0007);
labelFunc02E7_0044:
if (!(event == 0x0007)) goto labelFunc02E7_0203;
var0003 = Func0827(0xFE9C, item);
var0004 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0003, (byte)0x01, (byte)0x6C, (byte)0x61]);
var0005 = UI_get_npc_prop(0xFE9C, 0x0000);
if (!((var0005 >= 0x0000) && (var0005 < 0x0004))) goto labelFunc02E7_0093;
var0005 = 0x0000;
labelFunc02E7_0093:
if (!((var0005 >= 0x0004) && (var0005 < 0x0008))) goto labelFunc02E7_00AB;
var0005 = 0x0001;
labelFunc02E7_00AB:
if (!((var0005 >= 0x0008) && (var0005 < 0x000C))) goto labelFunc02E7_00C3;
var0005 = 0x0002;
labelFunc02E7_00C3:
if (!((var0005 >= 0x000C) && (var0005 < 0x000F))) goto labelFunc02E7_00DB;
var0005 = 0x0003;
labelFunc02E7_00DB:
if (!((var0005 >= 0x000F) && (var0005 < 0x0012))) goto labelFunc02E7_00F3;
var0005 = 0x0004;
labelFunc02E7_00F3:
if (!((var0005 >= 0x0012) && (var0005 < 0x0017))) goto labelFunc02E7_010B;
var0005 = 0x0005;
labelFunc02E7_010B:
if (!((var0005 >= 0x0017) && (var0005 < 0x001B))) goto labelFunc02E7_0123;
var0005 = 0x0006;
labelFunc02E7_0123:
if (!((var0005 >= 0x001B) && (var0005 < 0x001E))) goto labelFunc02E7_013B;
var0005 = 0x0007;
labelFunc02E7_013B:
if (!(var0005 >= 0x001E)) goto labelFunc02E7_014B;
var0005 = 0x0008;
labelFunc02E7_014B:
if (!(var0005 > 0x0003)) goto labelFunc02E7_0166;
var0005 = (var0005 - UI_die_roll(0x0000, 0x0002));
labelFunc02E7_0166:
if (!(var0005 == 0x0007)) goto labelFunc02E7_0176;
var0005 = 0x0006;
labelFunc02E7_0176:
if (!(var0005 > 0x0007)) goto labelFunc02E7_01D5;
var0004 = UI_delayed_execute_usecode_array(item, [(byte)0x23, (byte)0x58, 0x0018], (var0005 + 0x0001));
if (!(UI_npc_nearby(0xFFD4) && Func0937(0xFFD4))) goto labelFunc02E7_01D5;
var0004 = UI_delayed_execute_usecode_array(0xFFD4, [(byte)0x23, (byte)0x52, "@Avatar wins a Dragon!@"], 0x000F);
var0004 = UI_add_party_items(0x0001, 0x02E6, 0xFE99, 0x0000, false);
labelFunc02E7_01D5:
var0004 = UI_execute_usecode_array(item, [(byte)0x46, 0x0000, (byte)0x58, 0x0004, (byte)0x4D, (byte)0x0B, 0xFFFF, var0005, (byte)0x4F, (byte)0x0B, 0xFFFF, var0005, (byte)0x46, 0x0000]);
labelFunc02E7_0203:
return;
}
void Func02E8 shape#(0x2E8) ()
{
if (!(event == 0x0001)) goto labelFunc02E8_0012;
UI_wizard_eye(0x2710, 0x03E8);
labelFunc02E8_0012:
return;
}
void Func02E9 shape#(0x2E9) ()
{
if (!(event == 0x0001)) goto labelFunc02E9_0010;
UI_play_music(0x003A, item);
labelFunc02E9_0010:
return;
}
void Func02EB shape#(0x2EB) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc02EB_00B6;
var0000 = UI_get_item_frame(item);
var0001 = UI_click_on_item();
if (!(var0000 == 0x0000)) goto labelFunc02EB_0096;
if (!(UI_get_item_shape(var0001) == 0x0207)) goto labelFunc02EB_0096;
var0002 = UI_find_nearest(0xFF73, 0x03F3, 0x0001);
if (!((UI_get_item_frame(var0002) == 0x0001) && ((UI_get_schedule_type(0xFF73) == 0x000E) && (UI_get_item_frame(0xFF73) == 0x000D)))) goto labelFunc02EB_0096;
UI_halt_scheduled(0xFF73);
var0003 = UI_set_last_created(item);
if (!var0003) goto labelFunc02EB_0096;
var0003 = UI_update_last_created(UI_get_object_position(0xFF73));
UI_set_schedule_type(0xFF73, 0x000F);
gflags[0x01AF] = true;
labelFunc02EB_0096:
if (!(var0000 == 0x0001)) goto labelFunc02EB_00B6;
if (!(UI_get_item_shape(var0001) == 0x02EC)) goto labelFunc02EB_00B6;
UI_set_item_frame(item, 0x0000);
labelFunc02EB_00B6:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern void Func0490 object#(0x490) ();
void Func02F0 shape#(0x2F0) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc02F0_0054;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0000)) goto labelFunc02F0_0044;
UI_set_item_frame(item, 0x0001);
UI_play_music(0x0029, item);
if (!Func08F7(0xFF70)) goto labelFunc02F0_0041;
gflags[0x01A7] = true;
UI_get_npc_object(0xFF70)->Func0490();
labelFunc02F0_0041:
goto labelFunc02F0_0054;
labelFunc02F0_0044:
UI_set_item_frame(item, 0x0000);
UI_play_music(0x00FF, item);
labelFunc02F0_0054:
return;
}
// externs
extern void Func08AD 0x8AD ();
void Func02F2 shape#(0x2F2) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
if (!(event == 0x0001)) goto labelFunc02F2_00D1;
if (!(UI_get_item_frame(item) == 0x0005)) goto labelFunc02F2_00D1;
var0000 = UI_click_on_item();
var0001 = UI_get_item_shape(var0000);
if (!gflags[0x01AF]) goto labelFunc02F2_00D1;
if (!((var0001 == 0x0207) || (var0001 == 0x02EB))) goto labelFunc02F2_00D1;
var0002 = UI_find_nearby(item, 0x02EB, 0x0028, 0x0000);
if (!var0002) goto labelFunc02F2_00BA;
var0003 = UI_execute_usecode_array(var0002, [(byte)0x46, 0x0001, (byte)0x58, 0x002D, (byte)0x27, 0x0002, (byte)0x58, 0x0025, (byte)0x0B, 0xFFFC, 0x0007, (byte)0x58, 0x0009, (byte)0x2D]);
var0004 = UI_get_object_position(var0002);
UI_sprite_effect(0x000C, (var0004[0x0001] - 0x0002), (var0004[0x0002] - 0x0003), 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_remove_item(item);
labelFunc02F2_00BA:
var0003 = UI_execute_usecode_array(0xFE9C, [(byte)0x27, 0x001C, (byte)0x55, 0x02F2]);
labelFunc02F2_00D1:
if (!(event == 0x0002)) goto labelFunc02F2_012C;
gflags[0x01AA] = true;
var0005 = [0xFF71, 0xFF70, 0xFF74, 0xFF6F, 0xFF6E, 0xFF6D, 0xFF73];
//enum();
labelFunc02F2_00F9:
for (var0008 in var0005 with var0006 to var0007) atend labelFunc02F2_011B;
UI_clear_item_flag(var0008, 0x0001);
UI_set_schedule_type(var0008, 0x000F);
goto labelFunc02F2_00F9;
labelFunc02F2_011B:
UI_show_npc_face(0xFF73, 0x0001);
message("As the Soul Cage dissolves into dust, a great transformation comes upon the Liche. Where the evil spirit was caged you see the form of a familiar person. It's Horance! He's a ghost, but he much more resembles a man than an undead terror. ");
say();
Func08AD();
labelFunc02F2_012C:
return;
}
// externs
extern void Func0809 0x809 (var var0000);
void Func02F5 shape#(0x2F5) ()
{
if (!(event == 0x0001)) goto labelFunc02F5_000C;
Func0809(item);
labelFunc02F5_000C:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern var Func08E7 0x8E7 ();
extern void Func06F6 object#(0x6F6) ();
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func092D 0x92D (var var0000);
void Func02F8 shape#(0x2F8) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var0000 = UI_get_item_frame(item);
if (!(event == 0x0001)) goto labelFunc02F8_00CD;
if (!(var0000 <= 0x000B)) goto labelFunc02F8_002D;
var0001 = ("@Those are beautiful. I am sure that they would fetch " + "a high price at the jewelers' in Britain.@");
Func08FF(var0001);
goto labelFunc02F8_00CD;
labelFunc02F8_002D:
if (!(var0000 == 0x000E)) goto labelFunc02F8_0064;
if (!(!Func08E7())) goto labelFunc02F8_0058;
var0002 = [0x088F, 0x0610, 0x0006];
UI_display_area(var0002);
return;
goto labelFunc02F8_0064;
labelFunc02F8_0058:
UI_remove_item(item);
UI_play_sound_effect(0x0025);
labelFunc02F8_0064:
if (!gflags[0x032F]) goto labelFunc02F8_0078;
if (!(!gflags[0x0330])) goto labelFunc02F8_0078;
item->Func06F6();
goto labelFunc02F8_01B0;
labelFunc02F8_0078:
if (!gflags[0x0333]) goto labelFunc02F8_00CD;
if (!(var0000 == 0x000D)) goto labelFunc02F8_008F;
item->Func06F6();
goto labelFunc02F8_01B0;
labelFunc02F8_008F:
if (!(var0000 == 0x000C)) goto labelFunc02F8_00CD;
if (!(!UI_is_readied(0xFE9C, 0x0001, 0x02F8, 0x000C))) goto labelFunc02F8_00B4;
Func08FF("@I believe the gem must be held in the weapon hand to break the mirror.@");
return;
labelFunc02F8_00B4:
UI_close_gumps();
var0003 = UI_execute_usecode_array(item, [(byte)0x27, 0x0002, (byte)0x55, 0x02F8]);
labelFunc02F8_00CD:
if (!(event == 0x0002)) goto labelFunc02F8_011C;
var0004 = UI_click_on_item();
var0005 = UI_get_item_shape(var0004);
var0006 = UI_get_item_frame(var0004);
if (!(var0005 == 0x0350)) goto labelFunc02F8_011C;
if (!(var0006 == 0x0003)) goto labelFunc02F8_011C;
Func0828(var0004, 0x0000, 0x0002, 0xFFFE, 0x02F8, var0004, 0x0007);
labelFunc02F8_011C:
if (!(event == 0x0007)) goto labelFunc02F8_01B0;
var0007 = Func092D(item);
var0003 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0007, (byte)0x27, 0x0002, (byte)0x65, (byte)0x27, 0x0002, (byte)0x66, (byte)0x27, 0x0002, (byte)0x67, (byte)0x58, 0x0025]);
var0003 = UI_execute_usecode_array(item, [(byte)0x27, 0x000A, (byte)0x46, 0x0009]);
var0008 = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x02F8, 0xFE99, 0x000C);
var0003 = UI_execute_usecode_array(var0008, [(byte)0x27, 0x000A, (byte)0x46, 0x000D, (byte)0x27, 0x0002, (byte)0x55, 0x0350]);
gflags[0x0313] = false;
gflags[0x0333] = false;
labelFunc02F8_01B0:
return;
}
// externs
extern void Func082F 0x82F ();
void Func02FB shape#(0x2FB) ()
{
if (!((!UI_in_usecode(item)) && (event == 0x0001))) goto labelFunc02FB_0030;
if (!((UI_game_hour() >= 0x000F) || (UI_game_hour() <= 0x0003))) goto labelFunc02FB_002D;
UI_set_schedule_type(0xFF18, 0x0009);
labelFunc02FB_002D:
Func082F();
labelFunc02FB_0030:
return;
}
void Func0301 shape#(0x301) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!((event == 0x0001) || (event == 0x0004))) goto labelFunc0301_0179;
UI_close_gumps();
var0000 = UI_find_nearby(item, 0x01EE, 0x012C, 0x0000);
//enum();
labelFunc0301_0024:
for (var0003 in var0000 with var0001 to var0002) atend labelFunc0301_0050;
UI_set_schedule_type(var0003, 0x0000);
UI_set_attack_mode(var0003, 0x0007);
UI_set_oppressor(var0003, 0xFE9C);
goto labelFunc0301_0024;
labelFunc0301_0050:
var0004 = UI_get_object_position(item);
UI_halt_scheduled(item);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0x0000, 0x0000, 0x0000, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0x0002, 0x0000, 0x0001, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0xFFFE, 0x0000, 0x0002, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0x0000, 0x0002, 0x0003, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0x0000, 0xFFFE, 0x0004, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0x0002, 0x0002, 0x0001, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0x0002, 0xFFFE, 0x0002, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0xFFFE, 0x0002, 0x0003, 0x0019);
UI_sprite_effect(0x0003, var0004[0x0001], var0004[0x0002], 0xFFFE, 0xFFFE, 0x0004, 0x0019);
UI_remove_item(item);
labelFunc0301_0179:
return;
}
// externs
extern var Func0906 0x906 ();
extern void Func06E1 object#(0x6E1) ();
void Func0302 shape#(0x302) ()
{
if (!((event == 0x0001) && Func0906())) goto labelFunc0302_0037;
UI_close_gumps();
UI_view_tile([0x0B4C, 0x058C]);
event = 0x0003;
0x0000->Func06E1();
UI_display_area([0x0B4C, 0x058C, 0x0003]);
labelFunc0302_0037:
return;
}
// externs
extern var Func092D 0x92D (var var0000);
void Func0303 shape#(0x303) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0004)) goto labelFunc0303_000F;
var0000 = item;
goto labelFunc0303_0016;
labelFunc0303_000F:
var0000 = UI_click_on_item();
labelFunc0303_0016:
if (!var0000) goto labelFunc0303_00E0;
UI_close_gumps();
var0001 = UI_get_item_shape(var0000);
if (!(var0001 == 0x0392)) goto labelFunc0303_007B;
var0002 = Func092D(var0000);
var0003 = UI_execute_usecode_array(var0000, [(byte)0x27, 0x0005, (byte)0x2D]);
var0003 = UI_set_to_attack(0xFE9C, var0000, 0x02C0);
var0003 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0002, (byte)0x01, (byte)0x67, (byte)0x61, (byte)0x7A]);
labelFunc0303_007B:
if (!(var0001 == 0x0131)) goto labelFunc0303_00D5;
var0004 = UI_find_nearby(item, 0x00A8, 0x000C, 0x00B0);
var0005 = UI_find_nearby(0xFE9C, 0x0193, 0x0050, 0x0000);
if (!(!var0005)) goto labelFunc0303_00BF;
if (!(!var0004)) goto labelFunc0303_00BC;
UI_run_endgame(true);
labelFunc0303_00BC:
goto labelFunc0303_00D5;
labelFunc0303_00BF:
UI_show_npc_face(0xFFE6, 0x0000);
message("The wand glows faintly. Batlin smirks. \"Not yet, Avatar.\"");
say();
UI_remove_npc_face(0xFFE6);
abort;
labelFunc0303_00D5:
UI_play_sound_effect(0x003E);
UI_lightning();
labelFunc0303_00E0:
return;
}
// externs
extern void Func0809 0x809 (var var0000);
void Func0305 shape#(0x305) ()
{
if (!(event == 0x0001)) goto labelFunc0305_000C;
Func0809(item);
labelFunc0305_000C:
return;
}
// externs
extern void Func0809 0x809 (var var0000);
void Func0306 shape#(0x306) ()
{
if (!(event == 0x0001)) goto labelFunc0306_000C;
Func0809(item);
labelFunc0306_000C:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern var Func0829 0x829 (var var0000);
void Func030D shape#(0x30D) ()
{
if (!(event == 0x0001)) goto labelFunc030D_002A;
if (!UI_get_item_flag(item, 0x000A)) goto labelFunc030D_001C;
Func08FF("@The sails must be furled before the planks can be lowered.@");
goto labelFunc030D_002A;
labelFunc030D_001C:
if (!(!Func0829(item))) goto labelFunc030D_002A;
Func08FF("@I think the gangplank is blocked.@");
labelFunc030D_002A:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern void Func0925 0x925 (var var0000);
void Func030E shape#(0x30E) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc030E_000E;
Func08FF("@Perhaps thou shouldst attack with it.@");
labelFunc030E_000E:
if (!(event == 0x0004)) goto labelFunc030E_00C3;
var0000 = UI_click_on_item();
var0001 = [var0000[0x0002], var0000[0x0003], var0000[0x0004]];
var0002 = UI_create_new_object(0x037F);
if (!var0002) goto labelFunc030E_00A4;
UI_set_item_flag(var0002, 0x0012);
var0003 = UI_update_last_created(var0001);
if (!var0003) goto labelFunc030E_0073;
var0003 = UI_delayed_execute_usecode_array(var0002, [(byte)0x23, (byte)0x2D], 0x0064);
labelFunc030E_0073:
if (!(var0000[0x0004] == 0x0000)) goto labelFunc030E_00A4;
var0004 = UI_create_new_object(0x00E0);
if (!var0004) goto labelFunc030E_00A4;
UI_set_item_flag(var0004, 0x0012);
var0003 = UI_update_last_created(var0001);
labelFunc030E_00A4:
var0005 = UI_find_nearby(var0000, 0x030E, 0x0002, 0x0000);
if (!var0005) goto labelFunc030E_00C3;
Func0925(var0005);
labelFunc030E_00C3:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
extern var Func093E 0x93E ();
extern var Func0822 0x822 (var var0000);
extern void Func0821 0x821 (var var0000);
extern var Func0826 0x826 (var var0000);
extern void Func0824 0x824 (var var0000);
void Func0311 shape#(0x311) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
if (!(event == 0x0001)) goto labelFunc0311_0295;
if (!gflags[0x0004]) goto labelFunc0311_001B;
Func08FE(["@How odd!@", "@It work before.@"]);
return;
labelFunc0311_001B:
if (!(gflags[0x0057] || (!Func093E()))) goto labelFunc0311_0295;
var0000 = UI_click_on_item();
var0001 = Func0822(var0000);
var0002 = UI_find_direction(0xFE9C, var0001);
if (!((var0002 == 0x0000) || (var0002 == 0x0004))) goto labelFunc0311_0064;
var0003 = 0x0001;
var0004 = 0x030B;
goto labelFunc0311_0070;
labelFunc0311_0064:
var0003 = 0x0002;
var0004 = 0x009D;
labelFunc0311_0070:
var0001[var0003] = (var0001[var0003] + 0x0002);
if (!(!UI_is_not_blocked(var0001, var0004, 0x0000))) goto labelFunc0311_00DA;
var0005 = [0x0001, 0x0002, 0x0003];
//enum();
labelFunc0311_00A1:
for (var0008 in var0005 with var0006 to var0007) atend labelFunc0311_00D2;
var0001[0x0003] = (var0001[0x0003] + 0x0001);
if (!UI_is_not_blocked(var0001, var0004, 0x0000)) goto labelFunc0311_00CF;
goto labelFunc0311_00DA;
labelFunc0311_00CF:
goto labelFunc0311_00A1;
labelFunc0311_00D2:
UI_flash_mouse(0x0000);
return;
labelFunc0311_00DA:
UI_close_gumps();
var0009 = UI_create_new_object(var0004);
if (!var0009) goto labelFunc0311_0295;
UI_close_gumps();
var000A = UI_update_last_created(var0001);
var0001[var0003] = (var0001[var0003] - 0x0002);
UI_play_music(0x0033, 0x0000);
UI_set_item_flag(var0009, 0x0012);
var000A = UI_set_item_quality(var0009, var0002);
var000A = UI_execute_usecode_array(var0009, [(byte)0x46, 0x0000, (byte)0x4E, (byte)0x0B, 0xFFFF, 0x000A, (byte)0x46, 0x0004, (byte)0x4E, (byte)0x0C, 0xFFFF, 0x0005, 0x0005, (byte)0x0B, 0xFFF9, 0x0005, (byte)0x46, 0x0004, (byte)0x50, (byte)0x0B, 0xFFFF, 0x0003, (byte)0x2D]);
var000B = (0x0005 - UI_get_distance(0xFE9C, var0009));
var000C = [(byte)0x59, ((byte)0x30 + var0002)];
if (!(var000B > 0x0000)) goto labelFunc0311_01AC;
var000C = (var000C & [(byte)0x27, var000B]);
labelFunc0311_01AC:
var000A = UI_execute_usecode_array(0xFE9C, var000C);
var000D = UI_get_object_position(0xFE9C);
if (!(var0003 == 0x0001)) goto labelFunc0311_01D6;
var0003 = 0x0002;
goto labelFunc0311_01DC;
labelFunc0311_01D6:
var0003 = 0x0001;
labelFunc0311_01DC:
if (!(var0001[var0003] < var000D[var0003])) goto labelFunc0311_01F5;
var000E = 0x0001;
goto labelFunc0311_01FB;
labelFunc0311_01F5:
var000E = 0xFFFF;
labelFunc0311_01FB:
var0001[var0003] = (var0001[var0003] + var000E);
var000A = UI_path_run_usecode(var0001, 0x0311, var0009, 0x0007);
if (!var000A) goto labelFunc0311_028F;
UI_set_path_failure(0x0311, var0009, 0x0008);
var000F = UI_get_container(item);
var0010 = UI_get_party_list();
labelFunc0311_0240:
if (!(0x0001 > 0x0000)) goto labelFunc0311_028C;
if (!var000F) goto labelFunc0311_026D;
if (!(var000F in var0010)) goto labelFunc0311_0260;
goto labelFunc0311_028C;
goto labelFunc0311_026A;
labelFunc0311_0260:
var000F = UI_get_container(var000F);
labelFunc0311_026A:
goto labelFunc0311_0289;
labelFunc0311_026D:
UI_remove_item(item);
var000A = UI_add_party_items(0x0001, 0x0311, 0x0000, 0x0000, false);
goto labelFunc0311_028C;
labelFunc0311_0289:
goto labelFunc0311_0240;
labelFunc0311_028C:
goto labelFunc0311_0295;
labelFunc0311_028F:
Func0821(var0009);
labelFunc0311_0295:
if (!(event == 0x0008)) goto labelFunc0311_02B4;
if (!Func0826(item)) goto labelFunc0311_02B4;
Func0821(item);
Func08FE(["@No, Avatar.@", "@Let thyself enter.@"]);
labelFunc0311_02B4:
if (!(event == 0x0007)) goto labelFunc0311_02CB;
if (!Func0826(item)) goto labelFunc0311_02CB;
Func0821(item);
Func0824(item);
labelFunc0311_02CB:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func0827 0x827 (var var0000, var var0001);
extern void Func0816 0x816 (var var0000);
void Func0313 shape#(0x313) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc0313_0032;
UI_close_gumps();
var0000 = 0xFFFF;
var0001 = 0xFFFF;
var0002 = 0xFFFD;
Func0828(item, var0000, var0001, var0002, 0x0313, item, 0x0007);
labelFunc0313_0032:
if (!(event == 0x0007)) goto labelFunc0313_0060;
var0003 = Func0827(0xFE9C, item);
var0004 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0003, (byte)0x01, (byte)0x6C, (byte)0x61]);
Func0816(item);
labelFunc0313_0060:
if (!(event == 0x0002)) goto labelFunc0313_006C;
Func0816(item);
labelFunc0313_006C:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func0827 0x827 (var var0000, var var0001);
extern var Func080E 0x80E (var var0000);
extern void Func0836 0x836 (var var0000, var var0001);
void Func0314 shape#(0x314) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
if (!(event == 0x0001)) goto labelFunc0314_0032;
UI_close_gumps();
var0000 = 0xFFFF;
var0001 = 0xFFFF;
var0002 = 0xFFFD;
Func0828(item, var0000, var0001, var0002, 0x0314, item, 0x0007);
labelFunc0314_0032:
if (!((event == 0x0007) || (event == 0x0002))) goto labelFunc0314_0114;
if (!(event != 0x0002)) goto labelFunc0314_006A;
var0003 = Func0827(0xFE9C, item);
var0004 = UI_execute_usecode_array(0xFE9C, [(byte)0x59, var0003, (byte)0x01, (byte)0x67, (byte)0x61]);
labelFunc0314_006A:
var0005 = UI_get_item_frame(item);
if (!((var0005 % 0x0002) == 0x0000)) goto labelFunc0314_008F;
UI_set_item_frame(item, (var0005 + 0x0001));
goto labelFunc0314_009B;
labelFunc0314_008F:
UI_set_item_frame(item, (var0005 - 0x0001));
labelFunc0314_009B:
UI_play_sound_effect2(0x001C, item);
var0006 = UI_get_item_quality(item);
var0007 = UI_find_nearby(item, 0x0366, 0x000F, 0x0000);
var0008 = UI_find_nearby(item, 0x0203, 0x000F, 0x0000);
var0007 = (var0007 & var0008);
var0008 = [];
//enum();
labelFunc0314_00DE:
for (var000B in var0007 with var0009 to var000A) atend labelFunc0314_0104;
if (!(UI_get_item_quality(var000B) == var0006)) goto labelFunc0314_0101;
var0008 = (var0008 & var000B);
labelFunc0314_0101:
goto labelFunc0314_00DE;
labelFunc0314_0104:
var0004 = Func080E(var0008);
Func0836(item, 0xFE99);
labelFunc0314_0114:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
extern void Func0925 0x925 (var var0000);
void Func0316 shape#(0x316) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0316_004F;
var0000 = UI_click_on_item();
if (!UI_is_npc(var0000)) goto labelFunc0316_0026;
UI_set_item_flag(var0000, 0x0000);
goto labelFunc0316_0043;
labelFunc0316_0026:
if (!UI_get_item_flag(var0000, 0x0012)) goto labelFunc0316_003D;
UI_set_item_flag(var0000, 0x0000);
labelFunc0316_003D:
Func08FE("@Do not waste that!@");
labelFunc0316_0043:
UI_play_sound_effect2(0x0043, item);
Func0925(item);
labelFunc0316_004F:
return;
}
// externs
extern void Func0809 0x809 (var var0000);
void Func031C shape#(0x31C) ()
{
if (!(event == 0x0001)) goto labelFunc031C_000C;
Func0809(item);
labelFunc031C_000C:
return;
}
// externs
extern void Func0710 object#(0x710) ();
extern var Func0908 0x908 ();
void Func031D shape#(0x31D) ()
{
var var0000;
var var0001;
var0000 = UI_get_item_quality(item);
if (!(var0000 == 0x002D)) goto labelFunc031D_0017;
item->Func0710();
return;
labelFunc031D_0017:
UI_play_sound_effect2(0x000E, item);
UI_book_mode(item);
if (!(var0000 > 0x0033)) goto labelFunc031D_0035;
message("This is not a valid scroll");
say();
goto labelFunc031D_0487;
labelFunc031D_0035:
if (!(var0000 == 0x0000)) goto labelFunc031D_0046;
message("From the Desk of Lord British");
say();
goto labelFunc031D_0487;
labelFunc031D_0046:
if (!(var0000 == 0x0001)) goto labelFunc031D_008B;
message("How to keep the Avatar busy for hours looking for a clue--");
say();
message("(please scroll forward)*");
say();
message("How to keep the Avatar very busy for hours looking for a clue--");
say();
message("(please scroll forward)*");
say();
message("How to keep the Avatar very very busy for hours looking for a clue --");
say();
message("(please scroll forward)*");
say();
message("How to keep the Avatar very -very- very busy for hours looking for a clue --");
say();
message("(please scroll forward)*");
say();
message("How to keep the Avatar so very -very- very incredibly busy for hours looking for a clue --");
say();
message("(please scroll forward)*");
say();
message("How to keep the Avatar so very -very- absolutely unbelievably and incredibly busy for hours looking for a clue --");
say();
message("(please scroll forward)*");
say();
message("When thou art not so busy, thou shouldst seek out Margareta the gypsy in Minoc and have thy fortune told!");
say();
message("Signed - Chuckles");
say();
goto labelFunc031D_0487;
labelFunc031D_008B:
if (!(var0000 == 0x0002)) goto labelFunc031D_009C;
message("KEEP BRITANNIA CLEAN -- SEND THE GARGOYLES BACK! ~~ ~~ ~~ Paid for by the Britannian Purity League");
say();
goto labelFunc031D_0487;
labelFunc031D_009C:
if (!(var0000 == 0x0003)) goto labelFunc031D_00BA;
if (!gflags[0x012B]) goto labelFunc031D_00B3;
message("The cutting down of Silverleaf Trees will be done no longer by you. Your compliance is desired. You are thanked, Woodsman.~~Salamon~~ ~~Ben, the logger");
say();
goto labelFunc031D_00B7;
labelFunc031D_00B3:
message("The cutting down of Silverleaf Trees will be done no longer by you. Your compliance is desired. You are thanked, Woodsman.~~Salamon");
say();
labelFunc031D_00B7:
goto labelFunc031D_0487;
labelFunc031D_00BA:
if (!(var0000 == 0x0004)) goto labelFunc031D_00CF;
message("Bill of Punative Action for the Distribution of Waste Products in Lock Lake~~78934979.S3, section 835~~");
say();
message("Whereby the members of the offending party shall be immersed in the lake, heretofore refered to as Lock Lake, up to their necks for not more than three consecutive days and not fewer than...");
say();
goto labelFunc031D_0487;
labelFunc031D_00CF:
if (!(var0000 == 0x0005)) goto labelFunc031D_00E0;
message("\"Thou hast received payment. Make the delivery tonight.\"");
say();
goto labelFunc031D_0487;
labelFunc031D_00E0:
if (!(var0000 == 0x0006)) goto labelFunc031D_00F1;
message("Once the construction is complete, store the blackrock in the hold of The Crown Jewel.");
say();
goto labelFunc031D_0487;
labelFunc031D_00F1:
if (!(var0000 == 0x0007)) goto labelFunc031D_0127;
var0001 = Func0908();
message("Finster - Britain (x)");
say();
message("Duncan - Buccaneer's Den (x)");
say();
message("Christopher - Trinsic (x)");
say();
message("Frederico - Minoc (x)");
say();
message("Tania - Minoc (x)");
say();
message("Alagner - New Magincia (x)");
say();
message("Lord British - Britain ( )");
say();
message(var0001);
message(", the Avatar - ( )");
say();
goto labelFunc031D_0487;
labelFunc031D_0127:
if (!(var0000 == 0x0008)) goto labelFunc031D_0138;
message("The stone pedestal should be four feet high, three feet wide and two feet deep. Atop each of the three pedestals shall be set the three receptacles: the tetrahedron, the sphere, and the cube.~~All of these items for the defense mechanism of the portal have already been constructed by the Trinsic blacksmith.");
say();
goto labelFunc031D_0487;
labelFunc031D_0138:
if (!(var0000 == 0x0009)) goto labelFunc031D_0149;
message("Crown Jewel~~Sunrise tomorrow - sail for the Isle of the Avatar!");
say();
goto labelFunc031D_0487;
labelFunc031D_0149:
if (!(var0000 == 0x000A)) goto labelFunc031D_015E;
gflags[0x023F] = true;
message("To tell you the amount of explosives is quite adequate to destroy the altars. To remind you of the need for silence, and of the punishment it will help you avoid.~~--Runeb");
say();
goto labelFunc031D_0487;
labelFunc031D_015E:
if (!(var0000 == 0x000B)) goto labelFunc031D_016F;
message("The Narwhal shall be a fine, fine vessel, measuring 100 cubits from bow to stern. She shall be constructed of the finest Yew wood, with a ballast of thirty-seven cubits. After the planks are retrograded, I shall preceriprocate the bottom decks to insure their verbosity.~Each bunk shall fit exactly within the 3 foot by four 14 cubit cabin, except for the first mate and sergeant's quarters, which will be octagnal the size...~~ ~~Owen of Minoc");
say();
goto labelFunc031D_0487;
labelFunc031D_016F:
if (!(var0000 == 0x000C)) goto labelFunc031D_0188;
message("BRITANNIAN TAX COUNCIL");
say();
message("TAX DECLARATION");
say();
message("To insure the proper record-keeping of thine income and spending, first replicate in triplicate the files numbered 37-A through 1204-W of the forms. Following each copy, compile the aggregate number of expenditures and multiply by tables 3, 69, 106. The next involves...");
say();
goto labelFunc031D_0487;
labelFunc031D_0188:
if (!(var0000 == 0x000D)) goto labelFunc031D_0199;
message("First thou must needs fill a crucible with metal. Then, using the bellows, make the fire as hot as possible. When the flame no longer continues to glow, thou art ready to proceed by setting the crucible on the fire to melt the metal.~~ Afterwards, pour the molten metal into the blade mold and let it cool. Be warned! The crucible is at an extremely high temperature. Do not burn thyself.~~ With the tongs, lift the cooled blade from the mold. Again heat up the fire and set the blade within. Be careful not to let it lose its shape though. Just set it in there long enough to become malleable.~~ When it is ready, take it to the anvil and finish shaping it with the hammer. When thou hast the desired blade, find the quenching barrel and plunge the sword in the cool water. It will quickly harden.~~ All that thou must needs do now is to put the pommel over the tang. It takes some doing to make a fine, sturdy sword, but the finished weapon is well worth it!");
say();
goto labelFunc031D_0487;
labelFunc031D_0199:
if (!(var0000 == 0x000E)) goto labelFunc031D_01AE;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: The Scaly Eel~~COMPLETION DATE: 7-21-0355~~ INSPECTION DATE: 8-2-0355~~SHIPWRIGHT: Gargan of Trinsic");
say();
goto labelFunc031D_0487;
labelFunc031D_01AE:
if (!(var0000 == 0x000F)) goto labelFunc031D_01C3;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: The Beast~~COMPLETION DATE: 3-12-0358~~ INSPECTION DATE: 3-19-0358~~SHIPWRIGHT: Clint of Britain");
say();
goto labelFunc031D_0487;
labelFunc031D_01C3:
if (!(var0000 == 0x0010)) goto labelFunc031D_01D8;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: The Excellencia~~COMPLETION DATE:~~ INSPECTION DATE:~~SHIPWRIGHT: Owen of Minoc");
say();
goto labelFunc031D_0487;
labelFunc031D_01D8:
if (!(var0000 == 0x0011)) goto labelFunc031D_01ED;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: The Nymphet~~COMPLETION DATE: 12-22-0357~~ INSPECTION DATE: 1-3-0358~~SHIPWRIGHT: Russell of New Magincia");
say();
goto labelFunc031D_0487;
labelFunc031D_01ED:
if (!(var0000 == 0x0012)) goto labelFunc031D_0202;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: The Lusty Wench~~COMPLETION DATE: 6-14-0327~~ INSPECTION DATE: 6-24-0359~~SHIPWRIGHT: Kethron of Moonglow");
say();
goto labelFunc031D_0487;
labelFunc031D_0202:
if (!(var0000 == 0x0013)) goto labelFunc031D_0217;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: The Dragon's Breath~~COMPLETION DATE: 5-18-0342~~ INSPECTION DATE: 5-23-0342~~SHIPWRIGHT: Rohden of Britain");
say();
goto labelFunc031D_0487;
labelFunc031D_0217:
if (!(var0000 == 0x0014)) goto labelFunc031D_0228;
message(" ZARA's DANCE~For the lute.");
say();
goto labelFunc031D_0487;
labelFunc031D_0228:
if (!(var0000 == 0x0015)) goto labelFunc031D_0239;
message(" WINDY NIGHT~For the harp.");
say();
goto labelFunc031D_0487;
labelFunc031D_0239:
if (!(var0000 == 0x0016)) goto labelFunc031D_024A;
message(" ONE OF THE BEAST~For the harpsichord.");
say();
goto labelFunc031D_0487;
labelFunc031D_024A:
if (!(var0000 == 0x0017)) goto labelFunc031D_025B;
message(" SPRING FIRE~For the xylophone.");
say();
goto labelFunc031D_0487;
labelFunc031D_025B:
if (!(var0000 == 0x0018)) goto labelFunc031D_0270;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME:~~COMPLETION DATE:~~INSPECTION DATE:~~ SHIPWRIGHT:");
say();
goto labelFunc031D_0487;
labelFunc031D_0270:
if (!(var0000 == 0x0019)) goto labelFunc031D_0281;
message("Bill of Underwater Scavenging and Cricket Playing~~23568976.Y7, section 069~~Whereby the participants belonging to the first party of the first team may also engage in supplementary treasure seeking within the bounds of two-hundred and thirty-nine feet from the docks. ~~Whereby the participants belonging to the second party of the second team may follow accordingly provided they use no handkerchiefs within the bounds of seven and one-half feet of the first party of the first part. ~~Be it known the second party of the first part may not involve outside...");
say();
goto labelFunc031D_0487;
labelFunc031D_0281:
if (!(var0000 == 0x001A)) goto labelFunc031D_0292;
message(" G.J.'S SKETCH PAD");
say();
goto labelFunc031D_0487;
labelFunc031D_0292:
if (!(var0000 == 0x001B)) goto labelFunc031D_02A3;
message("~~Between these columns, upon this pedestal, once sat the CODEX OF ULTIMATE WISDOM.~~Now it lies in the infinite darkness of the Void, forever shining as a beacon of knowledge to the races of man and gargoyle.~~Those who would seek the wisdom contained therein must unite the mystic lenses in the same manner as the Avatar did more than two hundred years ago.~Lord British~~To search for Singularity through Control, Passion, and Dilligence.~~Lord Draxinusom");
say();
goto labelFunc031D_0487;
labelFunc031D_02A3:
if (!(var0000 == 0x001C)) goto labelFunc031D_02B4;
message("~ Ownership of Horse and Carriage~~This writ entitles the bearer to ownership and use of the wagon and its accompanying horse, Fletcher. Misuse of this writ by those not in full ownership of aforementioned wagon and horse is punishable under section 7890.3D5 of the Private Ownership of Goods and Livestock Act, as enforced by the Britannian Tax Council.");
say();
goto labelFunc031D_0487;
labelFunc031D_02B4:
if (!(var0000 == 0x001D)) goto labelFunc031D_02C5;
message("~ Ownership of Horse and Carriage~~This writ entitles the bearer to ownership and use of the wagon and its accompanying horse, Brikabrak. Misuse of this writ by those not in full ownership of aforementioned wagon and horse is punishable under section 7890.3D5 of the Private Ownership of Goods and Livestock Act, as enforced by the Britannian Tax Council.");
say();
goto labelFunc031D_0487;
labelFunc031D_02C5:
if (!(var0000 == 0x001E)) goto labelFunc031D_02DA;
message("Bill of Indoor Animal Housing~~89634510.P4, section 402~~");
say();
message("Whereby the participants belonging to the owning party are permitted to store both animal and goods related to the care of said animal indoors, providing...");
say();
goto labelFunc031D_0487;
labelFunc031D_02DA:
if (!(var0000 == 0x001F)) goto labelFunc031D_02EF;
message("Bill of Carriage Construction ~~48382745.F3, section 058~~");
say();
message("Whereby wood-builders and metal-workers may cross skills without the need for guild officiation limited by the following principles...");
say();
goto labelFunc031D_0487;
labelFunc031D_02EF:
if (!(var0000 == 0x0020)) goto labelFunc031D_0304;
message("Bill of Cabin Construction Near Granite Zoned Districts~~ 48923013.Q4, section 193~~");
say();
message("Whereby the participants belonging to the Stone Masons's Guild may register compliants unto the party of the Cabin Builders, represented here as and/or by members for the Wood-Builders Guild with the intent of...");
say();
goto labelFunc031D_0487;
labelFunc031D_0304:
if (!(var0000 == 0x0021)) goto labelFunc031D_0319;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: Anne's Revenge~~COMPLETION DATE:11-23-0198 ~~INSPECTION DATE: 1-17-0199~~SHIPWRIGHT: Alluria of New Magincia");
say();
goto labelFunc031D_0487;
labelFunc031D_0319:
if (!(var0000 == 0x0022)) goto labelFunc031D_032E;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: Golden Hinde~~COMPLETION DATE: 7-08-0105 ~~INSPECTION DATE: 7-12-0105~~SHIPWRIGHT: Gendra of Trinsic");
say();
goto labelFunc031D_0487;
labelFunc031D_032E:
if (!(var0000 == 0x0023)) goto labelFunc031D_0343;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: Bounty~~COMPLETION DATE: 5-27-0185 ~~INSPECTION DATE: 6-04-0185~~SHIPWRIGHT: Gibson of Minoc");
say();
goto labelFunc031D_0487;
labelFunc031D_0343:
if (!(var0000 == 0x0024)) goto labelFunc031D_0360;
var0001 = Func0908();
message("Dearest Iolo,~ In Buccaneer's Den I came across an old pirate who told me he had sailed across the waters of Britannia more times than I was summers old. On a gamble, I asked if he had ever heard of the legendary Serpent Isle. He had! And he even had a map that would tell how to locate the island. I bought the map and have already begun my search. However, I made a copy so that thou mayest follow me after thy current adventures have ended. I have left the copy with Lord British, but he promised he wouldst not give it to thee until thou hast completed thy explorations with ");
message(var0001);
message(".~~ 'Til I see thee again, my love!~ Gwenno");
say();
goto labelFunc031D_0487;
labelFunc031D_0360:
if (!(var0000 == 0x0025)) goto labelFunc031D_0371;
message("~~All is not as it seems...");
say();
goto labelFunc031D_0487;
labelFunc031D_0371:
if (!(var0000 == 0x0026)) goto labelFunc031D_0382;
message("~ Ownership of Horse and Carriage~~This writ entitles the bearer to ownership and use of the wagon and its accompanying horse, ____________. Misuse of this writ by those not in full ownership of aforementioned wagon and horse is punishable under section 7890.3D5 of the Private Ownership of Goods and Livestock Act, as enforced by the Britannian Tax Council.");
say();
goto labelFunc031D_0487;
labelFunc031D_0382:
if (!(var0000 == 0x0027)) goto labelFunc031D_0393;
message("~Very well. It is agreed that we attack Lord British's castle at the dawning of the seventh day.~~Fransisa~Corwin~ Brax~Athelas");
say();
goto labelFunc031D_0487;
labelFunc031D_0393:
if (!(var0000 == 0x0028)) goto labelFunc031D_03B0;
message("~ Selwyn's Last Will:~~");
say();
message(" I do hearby bequeath my firedoom staff to anyone who is mighty and cunning enough to penetrate the defenses of my fortress and slay my pet.~~");
say();
message(" May all who read this rot in death!~");
say();
message(" Selwyn");
say();
goto labelFunc031D_0487;
labelFunc031D_03B0:
if (!(var0000 == 0x0029)) goto labelFunc031D_03C1;
message(" Throne of `Change' keeps thee at bay, but `Virtue' shall show the way!");
say();
goto labelFunc031D_0487;
labelFunc031D_03C1:
if (!(var0000 == 0x002A)) goto labelFunc031D_03D3;
message(" I have been here for more days than I am able to remember, though I have not forgotten the day I entered this forsaken cave which has become my tomb. That was 2-29-0227. But my food ran out long ago, and the rats are more interested in eating me than letting me eat them. My strength is gone, as is my will. If thou dost find this, please tell Mythra I love her.");
say();
message(" --Denyel");
say();
labelFunc031D_03D3:
if (!(var0000 == 0x002B)) goto labelFunc031D_03EC;
message("~ Lord British's Last Will and Testament:~~");
say();
message(" Being of sound mind and body, I hereby bequeath all of my belongings to... Nell, my beloved chambermaid. She has kept me warm so many nights, which is more than I can say for most of my bloody subjects! And to our unborn child, I bequeath my crown. Long live the king. Or queen, whichever it shall be!~~");
say();
message(" Lord British");
say();
goto labelFunc031D_0487;
labelFunc031D_03EC:
if (!(var0000 == 0x002C)) goto labelFunc031D_0401;
message("By proclamation of Lord British this is an official document denoting ownership of the heretofore mentioned sailing vessel. Forgery of this title is prohibited under law no. 1989832.A5, section 809.");
say();
message(" DEED~~SHIP NAME: Golden Ankh~~COMPLETION DATE: 3-8-0338~~ INSPECTION DATE: 3-18-0338~~SHIPWRIGHT: Clint of Britain");
say();
goto labelFunc031D_0487;
labelFunc031D_0401:
if (!(var0000 == 0x002D)) goto labelFunc031D_0412;
item->Func0710();
goto labelFunc031D_0487;
labelFunc031D_0412:
if (!(var0000 == 0x002F)) goto labelFunc031D_0437;
message("Day 1: I circumvented the living statues and made it through the gate. Despite the long boat ride, I feel no weakness. I suspect the excitement of the quest gives my strength. I will rest soon.");
say();
message("Day 2: In the large room I encountered the lightening at the \"X.\" Very clever that -- predicting I would not trust the marking. I will not be so foolish again.");
say();
message("Day 3: I found a large chamber, one in which I can see fully its entire contents. Yet, there are invisible barriers that prevent me from entering.");
say();
message("Day 4: The barriers are not what I first suspected. They are walls. I can see the exit, and yet I cannot reach it. This is maddening!");
say();
message("Day 5: I wish I had brought more rations. I did not expect to be caught like this. I will starve soon if I do not find the way out... and food and water!");
say();
message("Day: I am still without food and whales... I seee but cannot... well hilp arrive in time!? I think but am thoughtful...");
say();
goto labelFunc031D_0487;
labelFunc031D_0437:
if (!(var0000 == 0x0030)) goto labelFunc031D_0448;
message("... I have been in this wretched place for more weeks than I care to remember -- than I COULD remember were I to try. I have seen far too much in the way of deception and falsehood. I am forced to wonder how this maze of tunnels can demonstrate Truth. There is one lesson I can claim to have learned, thou I wonder with whom I can ever share it: I am not the Avatar. I wish with my last breath good luck to he... or she... who can truly claim the Avatarhood. As I lay here dying, I ask but one request of the finder: remember well my strug...");
say();
goto labelFunc031D_0487;
labelFunc031D_0448:
if (!(var0000 == 0x0031)) goto labelFunc031D_045D;
message("... I write this with what little hope I have left. Frenke has now died -- killed by shooting balls of flame. I will attempt to navigate the treacherous tunnel of fire alone. Should my quest succeed, I will emerge the Avatar. I relflect not upon my other destiny...");
say();
message(" This will be my last entry. My ink is all but gone, much like my will. I no longer marvel at how a man can give up, like the poor fool we found at the end of the invisible maze. But I refuse to succumb to the call of my weary bones. I will trudge on.");
say();
goto labelFunc031D_0487;
labelFunc031D_045D:
if (!(var0000 == 0x0032)) goto labelFunc031D_046E;
message(" SCROLL OF INFINITY~~ artifact TalismanOfInfinity -~ if Reality is Magic -~ if Locale(Artifact) is Void -~ Convex is FindInBritannia(ConvexLens)~ Concave is FindInBritannia(ConcaveLens)~ ~ if DoLightTest(Concave, Convex) -~ TalismanList is BritanniaSearch(Talisman)~ ~~ Counter is 0~ foreach Talisman in TalismanList -~ if KnowType(Talisman) is Truth -~ Counter is Counter and 1~ --~ if KnowType(Talisman) is Love -~ Counter is Counter and 1~ --~ if KnowType(Talisman) is Courage -~ Counter is Counter and 1~ --~ ~ if Counter is 3 -~ DoVoidAccess()~ ~~ InifinityAction is Action(Instance,~ aPlanarTravel, Britannia,~ aCallBack, TalismanOfInfinity)~ --~ if Reality is PseudoScience -~ EvilEntity is EntitySearch(All, Powerful, Evil)~ if EvilEntity -~ Check is PushReality(EvilEntity)~ if not Check -~ Test(\"Thou shalt never see this!\")");
say();
goto labelFunc031D_0487;
labelFunc031D_046E:
if (!(var0000 == 0x0033)) goto labelFunc031D_0487;
message("The Diary of Erethian:~~");
say();
message("Entry #1:");
say();
message(" Perhaps someday I shall have the time and inclination to write on this parchment, but for now it pleases me not to.");
say();
goto labelFunc031D_0487;
labelFunc031D_0487:
return;
}
void Func031E shape#(0x31E) ()
{
if (!(event == 0x0001)) goto labelFunc031E_0018;
UI_set_item_shape(item, 0x031F);
UI_play_sound_effect2(0x000E, item);
labelFunc031E_0018:
return;
}
// externs
extern var Func090B 0x90B (var var0000);
extern var Func0834 0x834 ();
void Func0326 shape#(0x326) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0000)) goto labelFunc0326_0009;
abort;
labelFunc0326_0009:
var0000 = UI_get_schedule_type(UI_get_npc_object(item));
UI_show_npc_face(0xFEFD, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x003D]) goto labelFunc0326_003C;
UI_add_answer("password");
labelFunc0326_003C:
message("You see a tough-looking guard who takes his job -very- seriously.");
say();
labelFunc0326_0040:
converse (0) atend labelFunc0326_00D5;
case "name" atend labelFunc0326_0056:
message("\"My name is not important.\"");
say();
UI_remove_answer("name");
labelFunc0326_0056:
case "job" atend labelFunc0326_0069:
message("\"I keep villains and knaves out of Trinsic and keep a record of all who leave. Thou must have a password to leave.\"");
say();
UI_add_answer("password");
labelFunc0326_0069:
case "password" atend labelFunc0326_00C7:
message("\"What is the password?\"");
say();
var0001 = ["Uhh, I don't know", "Long live the king", "Please"];
if (!gflags[0x003D]) goto labelFunc0326_0094;
var0001 = (var0001 & "Blackbird");
labelFunc0326_0094:
var0002 = Func090B(var0001);
if (!(var0002 == "Blackbird")) goto labelFunc0326_00BF;
var0003 = Func0834();
var0003 = true;
if (!var0003) goto labelFunc0326_00BC;
message("\"Very well, thou mayest pass.\"*");
say();
abort;
labelFunc0326_00BC:
goto labelFunc0326_00C7;
labelFunc0326_00BF:
message("\"Thou dost not know the password. Sorry. The Mayor can give thee the proper password.\"");
say();
gflags[0x0042] = true;
labelFunc0326_00C7:
case "bye" atend labelFunc0326_00D2:
goto labelFunc0326_00D5;
labelFunc0326_00D2:
goto labelFunc0326_0040;
labelFunc0326_00D5:
break;
message("\"Goodbye.\"*");
say();
return;
}
DID NOT FIND ALL OPCODE PARAMETERS.
// externs
extern var Func083A 0x83A ();
extern var Func083C 0x83C (var var0000);
extern void Func0933 0x933 (var var0000, var var0001, var var0002);
void Func0329 shape#(0x329) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
if (!((event == 0x0001) && (!UI_in_usecode(item)))) goto labelFunc0329_010A;
UI_close_gumps();
Func083C(0x0000/*stack underflow*/);
var0000 = Func083A();
if (!((UI_game_hour() >= 0x000F) || (UI_game_hour() <= 0x0003))) goto labelFunc0329_0053;
//enum();
labelFunc0329_0031:
for (var0003 in var0000 with var0001 to var0002) atend labelFunc0329_0049;
UI_clear_item_flag(var0003, 0x000B);
goto labelFunc0329_0031;
labelFunc0329_0049:
UI_set_schedule_type(0xFF18, 0x0009);
labelFunc0329_0053:
var0004 = UI_find_nearby_avatar(0x032E);
var0005 = UI_find_nearby_avatar(0x0329);
var0006 = UI_find_nearby_avatar(0x0332);
if (!(UI_get_array_size(var0006) > 0x0000)) goto labelFunc0329_010A;
if (!(UI_get_array_size(var0005) == 0x0003)) goto labelFunc0329_010A;
if (!(UI_get_array_size(var0004) >= 0x0001)) goto labelFunc0329_010A;
gflags[0x001F] = false;
gflags[0x0020] = false;
gflags[0x0021] = false;
Func0933(0xFE9C, "@Spin baby!@", 0x0000);
//enum();
labelFunc0329_00B4:
for (var0009 in var0005 with var0007 to var0008) atend labelFunc0329_010A;
var000A = (UI_die_roll(0x0000, 0x0002) * 0x0008);
UI_halt_scheduled(var0009);
var000B = UI_execute_usecode_array(var0009, [(byte)0x4E, (byte)0x58, 0x001D, (byte)0x0B, 0xFFFD, 0x0016, (byte)0x4E, (byte)0x58, 0x001D, (byte)0x0B, 0xFFFD, var000A, (byte)0x55, 0x060B]);
goto labelFunc0329_00B4;
labelFunc0329_010A:
return;
}
// externs
extern void Func0828 0x828 (var var0000, var var0001, var var0002, var var0003, var var0004, var var0005, var var0006);
extern var Func0944 0x944 (var var0000);
extern var Func0945 0x945 (var var0000);
extern var Func092D 0x92D (var var0000);
extern var Func093C 0x93C (var var0000, var var0001);
void Func032A shape#(0x32A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
var var0013;
var var0014;
var var0015;
var var0016;
var var0017;
var var0018;
var var0019;
var var001A;
var var001B;
var var001C;
var var001D;
var var001E;
var var001F;
var var0020;
var var0021;
var var0022;
if (!(event == 0x0001)) goto labelFunc032A_00E4;
UI_close_gumps();
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0006)) goto labelFunc032A_001F;
return;
labelFunc032A_001F:
if (!(!UI_get_container(item))) goto labelFunc032A_007B;
var0001 = [0x0000, 0x0001, 0x0001, 0x0001, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF];
var0002 = [0x0001, 0x0001, 0x0000, 0xFFFF, 0x0001, 0x0000, 0xFFFF, 0xFFFF];
Func0828(item, var0001, var0002, 0xFFFD, 0x032A, item, 0x0003);
goto labelFunc032A_00E4;
labelFunc032A_007B:
if (!(!Func0944(item))) goto labelFunc032A_00CB;
UI_close_gumps();
var0003 = Func0945(item);
var0001 = [0x0000, 0x0001, 0xFFFF, 0x0001];
var0002 = [0x0002, 0x0001, 0x0002, 0x0000];
Func0828(var0003, var0001, var0002, 0xFFFD, 0x032A, item, 0x0003);
goto labelFunc032A_00E4;
labelFunc032A_00CB:
UI_close_gumps();
var0004 = UI_execute_usecode_array(item, [(byte)0x27, 0x0002, (byte)0x55, 0x032A]);
labelFunc032A_00E4:
if (!(event == 0x0003)) goto labelFunc032A_0185;
var0003 = Func0945(item);
var0005 = Func092D(var0003);
if (!UI_is_npc(var0003)) goto labelFunc032A_0147;
var0004 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x64, (byte)0x27, 0x0003, (byte)0x61]);
var0004 = UI_execute_usecode_array(item, [(byte)0x27, 0x0003, (byte)0x55, 0x0692, (byte)0x27, 0x0002, (byte)0x55, 0x032A]);
goto labelFunc032A_0185;
labelFunc032A_0147:
var0004 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61]);
var0004 = UI_execute_usecode_array(item, [(byte)0x27, 0x0003, (byte)0x55, 0x0692, (byte)0x27, 0x0002, (byte)0x55, 0x032A]);
labelFunc032A_0185:
if (!(event == 0x0002)) goto labelFunc032A_05F3;
var0000 = UI_get_item_frame(item);
var0006 = UI_click_on_item();
var0007 = UI_get_item_shape(var0006);
if (!((var0007 == 0x02D1) || (var0007 == 0x03DD))) goto labelFunc032A_020D;
if (!(var0000 == 0x0002)) goto labelFunc032A_01D3;
UI_item_say(UI_get_npc_object(0xFE9C), "@No, thank thee.@");
goto labelFunc032A_020C;
labelFunc032A_01D3:
if (!(var0000 == 0x0000)) goto labelFunc032A_01EE;
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is empty.@");
goto labelFunc032A_020C;
labelFunc032A_01EE:
UI_item_say(UI_get_npc_object(0xFE9C), "@Ahhh, how refreshing.@");
var0004 = UI_execute_usecode_array(item, [(byte)0x46, 0x0000]);
labelFunc032A_020C:
return;
labelFunc032A_020D:
if (!UI_is_npc(var0006)) goto labelFunc032A_0288;
var0001 = [0x0000, 0x0002, 0x0000, 0xFFFE];
var0002 = [0x0002, 0x0000, 0xFFFE, 0x0000];
if (!(var0000 == 0x0000)) goto labelFunc032A_0256;
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is empty.@");
goto labelFunc032A_0288;
labelFunc032A_0256:
var0004 = UI_execute_usecode_array(var0006, [(byte)0x27, 0x0001, (byte)0x0B, 0xFFFE, 0x0032]);
Func0828(var0006, var0001, var0002, 0x0000, 0x032A, var0006, 0x0004);
labelFunc032A_0288:
if (!(var0007 == 0x02E5)) goto labelFunc032A_02E4;
var0001 = [0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0x0001, 0x0001, 0xFFFC, 0xFFFC];
var0002 = [0x0001, 0x0001, 0xFFFE, 0xFFFE, 0x0000, 0xFFFF, 0x0000, 0xFFFF];
Func0828(var0006, var0001, var0002, 0x0000, 0x032A, item, 0x0007);
labelFunc032A_02E4:
if (!(var0007 == 0x02CF)) goto labelFunc032A_0340;
var0001 = [0x0001, 0x0001, 0xFFFE, 0xFFFE, 0x0000, 0xFFFF, 0x0000, 0xFFFF];
var0002 = [0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0x0001, 0x0001, 0xFFFC, 0xFFFC];
Func0828(var0006, var0001, var0002, 0x0000, 0x032A, item, 0x0007);
labelFunc032A_0340:
if (!(var0007 == 0x02E3)) goto labelFunc032A_03E9;
if (!((UI_get_item_frame(var0006) >= 0x0004) && (UI_get_item_frame(var0006) <= 0x0007))) goto labelFunc032A_03E8;
var0001 = [0xFFFF, 0xFFFE, 0x0001, 0x0001, 0xFFFF, 0xFFFE, 0xFFFC, 0xFFFC];
var0002 = [0x0001, 0x0001, 0xFFFF, 0xFFFE, 0xFFFC, 0xFFFC, 0xFFFF, 0xFFFE];
if (!(var0000 == 0x0000)) goto labelFunc032A_03B8;
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is empty.@");
labelFunc032A_03B8:
if (!(var0000 > 0x0001)) goto labelFunc032A_03C3;
return;
labelFunc032A_03C3:
if (!(var0000 == 0x0001)) goto labelFunc032A_03E5;
Func0828(var0006, var0001, var0002, 0x0000, 0x032A, var0006, 0x0008);
labelFunc032A_03E5:
goto labelFunc032A_03E9;
labelFunc032A_03E8:
return;
labelFunc032A_03E9:
if (!((var0007 == 0x0152) || ((var0007 == 0x01B3) || ((var0007 == 0x02BD) || ((var0007 == 0x0292) || (var0007 == 0x0339)))))) goto labelFunc032A_047C;
var0001 = [0x0002, 0x0000, 0xFFFE, 0x0000];
var0002 = [0x0000, 0x0002, 0x0000, 0xFFFE];
if (!(var0000 == 0x0000)) goto labelFunc032A_044F;
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is empty.@");
labelFunc032A_044F:
if (!(var0000 > 0x0001)) goto labelFunc032A_045A;
return;
labelFunc032A_045A:
if (!(var0000 == 0x0001)) goto labelFunc032A_047C;
Func0828(var0006, var0001, var0002, 0xFFFB, 0x032A, var0006, 0x0008);
labelFunc032A_047C:
if (!(var0007 == 0x02E4)) goto labelFunc032A_04E5;
if (!(var0000 == 0x0000)) goto labelFunc032A_04D7;
var0008 = UI_find_nearest(var0006, 0x01D6, 0x0003);
if (!var0008) goto labelFunc032A_04D4;
var0001 = [0xFFFB, 0xFFFB];
var0002 = [0xFFFF, 0xFFFF];
Func0828(var0008, var0001, var0002, 0x0000, 0x032A, item, 0x0009);
labelFunc032A_04D4:
goto labelFunc032A_04E5;
labelFunc032A_04D7:
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is full.@");
labelFunc032A_04E5:
if (!(var0007 == 0x01D6)) goto labelFunc032A_0538;
if (!(var0000 == 0x0000)) goto labelFunc032A_052A;
var0001 = [0xFFFB, 0xFFFB];
var0002 = [0xFFFF, 0xFFFF];
Func0828(var0006, var0001, var0002, 0x0000, 0x032A, item, 0x0009);
goto labelFunc032A_0538;
labelFunc032A_052A:
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is full.@");
labelFunc032A_0538:
if (!(var0007 == 0x014B)) goto labelFunc032A_059A;
if (!(var0000 == 0x0000)) goto labelFunc032A_055E;
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is empty.@");
return;
goto labelFunc032A_059A;
labelFunc032A_055E:
var0006 = Func093C(var0006[0x0001], var0006);
var0006[0x0001] = var0006[0x0001];
var0006[0x0002] = (var0006[0x0002] + 0x0001);
var0009 = UI_path_run_usecode(var0006, 0x032A, item, 0x000A);
labelFunc032A_059A:
if (!(var0006[0x0001] == 0x0000)) goto labelFunc032A_05F3;
if (!(var0000 == 0x0000)) goto labelFunc032A_05C3;
UI_item_say(UI_get_npc_object(0xFE9C), "@The bucket is empty.@");
return;
goto labelFunc032A_05F3;
labelFunc032A_05C3:
var0006 = Func093C(var0006[0x0001], var0006);
var0006[0x0002] = (var0006[0x0002] + 0x0001);
var0009 = UI_path_run_usecode(var0006, 0x032A, item, 0x000A);
labelFunc032A_05F3:
if (!(event == 0x0004)) goto labelFunc032A_06AF;
var000A = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0xFE99);
var0000 = UI_get_item_frame(var000A);
var000B = Func092D(item);
var000C = ((var000B + 0x0004) % 0x0008);
if (!(var0000 == 0x0002)) goto labelFunc032A_065D;
var000D = UI_execute_usecode_array(item, [(byte)0x59, var000C, (byte)0x27, 0x0002, (byte)0x52, "@Foul miscreant!@", (byte)0x27, 0x0005]);
goto labelFunc032A_067C;
labelFunc032A_065D:
var000D = UI_execute_usecode_array(item, [(byte)0x59, var000C, (byte)0x27, 0x0002, (byte)0x52, "@Hey, stop that!@", (byte)0x27, 0x0005]);
labelFunc032A_067C:
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var000B, (byte)0x67, (byte)0x64, (byte)0x61]);
var000F = UI_execute_usecode_array(var000A, [(byte)0x27, 0x0002, (byte)0x46, 0x0000]);
labelFunc032A_06AF:
if (!(event == 0x0007)) goto labelFunc032A_07DD;
var0010 = false;
var0010 = UI_find_nearest(UI_get_npc_object(0xFE9C), 0x02E5, 0x0005);
if (!(!var0010)) goto labelFunc032A_06EA;
var0010 = UI_find_nearest(UI_get_npc_object(0xFE9C), 0x02CF, 0x0005);
labelFunc032A_06EA:
if (!var0010) goto labelFunc032A_07DD;
var0000 = UI_get_item_frame(item);
var0011 = UI_get_item_frame(var0010);
if (!(var0000 > 0x0001)) goto labelFunc032A_070D;
return;
labelFunc032A_070D:
if (!(var0000 == 0x0001)) goto labelFunc032A_074E;
if (!((var0011 == 0x0003) || (var0011 == 0x0007))) goto labelFunc032A_073B;
UI_item_say(UI_get_npc_object(0xFE9C), "@The trough is full.@");
return;
goto labelFunc032A_074B;
labelFunc032A_073B:
var0012 = (var0011 + 0x0001);
var0013 = 0x0000;
labelFunc032A_074B:
goto labelFunc032A_0782;
labelFunc032A_074E:
if (!((var0011 == 0x0000) || (var0011 == 0x0004))) goto labelFunc032A_0772;
UI_item_say(UI_get_npc_object(0xFE9C), "@The trough is empty.@");
return;
goto labelFunc032A_0782;
labelFunc032A_0772:
var0012 = (var0011 - 0x0001);
var0013 = 0x0001;
labelFunc032A_0782:
var0005 = Func092D(var0010);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x6C, (byte)0x27, 0x0002, (byte)0x61]);
var0014 = UI_execute_usecode_array(var0010, [(byte)0x27, 0x0002, (byte)0x46, var0012, (byte)0x01, (byte)0x58, 0x0028]);
var000F = UI_execute_usecode_array(item, [(byte)0x27, 0x0002, (byte)0x46, var0013]);
labelFunc032A_07DD:
if (!(event == 0x0008)) goto labelFunc032A_0B93;
var000A = UI_get_cont_items(UI_get_npc_object(0xFE9C), 0x032A, 0xFE99, 0x0001);
var0000 = UI_get_item_frame(var000A);
var0007 = UI_get_item_shape(item);
var0015 = UI_get_item_frame(item);
if (!(var0007 == 0x02E3)) goto labelFunc032A_08C2;
if (!(var0015 == 0x0004)) goto labelFunc032A_083C;
UI_item_say(UI_get_npc_object(0xFE9C), "@There are only coals.@");
return;
goto labelFunc032A_08C2;
labelFunc032A_083C:
if (!(var0015 == 0x0007)) goto labelFunc032A_085E;
var0016 = UI_execute_usecode_array(item, [(byte)0x55, 0x0693, (byte)0x01, (byte)0x50, (byte)0x50, (byte)0x50]);
labelFunc032A_085E:
if (!(var0015 == 0x0006)) goto labelFunc032A_087E;
var0016 = UI_execute_usecode_array(item, [(byte)0x55, 0x0693, (byte)0x01, (byte)0x50, (byte)0x50]);
labelFunc032A_087E:
if (!(var0015 == 0x0005)) goto labelFunc032A_089C;
var0016 = UI_execute_usecode_array(item, [(byte)0x55, 0x0693, (byte)0x01, (byte)0x50]);
labelFunc032A_089C:
var0005 = Func092D(item);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x6C, (byte)0x27, 0x0002, (byte)0x61]);
labelFunc032A_08C2:
if (!((var0007 == 0x0152) || ((var0007 == 0x01B3) || (var0007 == 0x02BD)))) goto labelFunc032A_0AC7;
var0017 = UI_get_object_position(item);
if (!(var0015 == 0x0010)) goto labelFunc032A_0924;
var0018 = 0x0002;
var0005 = Func092D(item);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x67, (byte)0x64, (byte)0x61, (byte)0x27, 0x0001, (byte)0x52, "@I can't douse it.@"]);
goto labelFunc032A_09B5;
labelFunc032A_0924:
var0018 = 0x0003;
var0019 = UI_get_item_quality(item);
if (!(var0007 == 0x0152)) goto labelFunc032A_0942;
var001A = 0x0150;
labelFunc032A_0942:
if (!(var0007 == 0x01B3)) goto labelFunc032A_0952;
var001A = 0x01E1;
labelFunc032A_0952:
if (!(var0007 == 0x02BD)) goto labelFunc032A_0962;
var001A = 0x0253;
labelFunc032A_0962:
UI_remove_item(item);
var001B = UI_create_new_object(var001A);
var0004 = UI_set_item_quality(var001B, var0019);
UI_set_item_frame(var001B, var0015);
var001C = UI_update_last_created(var0017);
var0005 = Func092D(item);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x67, (byte)0x64, (byte)0x61]);
labelFunc032A_09B5:
if (!((var0017[0x0003] == 0x0002) || (var0017[0x0003] == 0x0003))) goto labelFunc032A_09D7;
var0018 = (var0018 + 0x0001);
labelFunc032A_09D7:
if (!((var0017[0x0003] == 0x0004) || (var0017[0x0003] == 0x0005))) goto labelFunc032A_09F9;
var0018 = (var0018 + 0x0002);
labelFunc032A_09F9:
if (!((var0017[0x0003] == 0x0006) || (var0017[0x0003] == 0x0007))) goto labelFunc032A_0A1B;
var0018 = (var0018 + 0x0003);
labelFunc032A_0A1B:
if (!((var0017[0x0003] == 0x0008) || (var0017[0x0003] == 0x0009))) goto labelFunc032A_0A3D;
var0018 = (var0018 + 0x0004);
labelFunc032A_0A3D:
if (!((var0017[0x0003] == 0x000A) || (var0017[0x0003] == 0x000B))) goto labelFunc032A_0A5F;
var0018 = (var0018 + 0x0005);
labelFunc032A_0A5F:
if (!((var0017[0x0003] == 0x000C) || (var0017[0x0003] == 0x000D))) goto labelFunc032A_0A81;
var0018 = (var0018 + 0x0006);
labelFunc032A_0A81:
var001D[0x0001] = (var0017[0x0001] - var0018);
var001D[0x0002] = (var0017[0x0002] - var0018);
UI_sprite_effect(0x0009, var001D[0x0001], var001D[0x0002], 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x002E);
labelFunc032A_0AC7:
if (!(var0007 == 0x0339)) goto labelFunc032A_0B51;
if (!(var0015 == 0x0000)) goto labelFunc032A_0AED;
UI_item_say(UI_get_npc_object(0xFE9C), "@There are only coals.@");
return;
goto labelFunc032A_0B51;
labelFunc032A_0AED:
var001E = UI_execute_usecode_array(item, [(byte)0x46, 0x0000]);
var0005 = Func092D(item);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x6C, (byte)0x27, 0x0002, (byte)0x61]);
var001F = UI_get_object_position(item);
UI_sprite_effect(0x0009, var001F[0x0001], var001F[0x0002], 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x002E);
labelFunc032A_0B51:
if (!(var0007 == 0x0292)) goto labelFunc032A_0B93;
if (!(var0015 == 0x0000)) goto labelFunc032A_0B93;
var0005 = Func092D(item);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var0005, (byte)0x6C, (byte)0x27, 0x0002, (byte)0x61]);
UI_set_item_frame(item, 0x0002);
labelFunc032A_0B93:
if (!(event == 0x0009)) goto labelFunc032A_0C7B;
var0020 = UI_find_nearest(UI_get_npc_object(0xFE9C), 0x02E4, 0x000A);
var0021 = UI_get_item_frame(var0020);
if (!((var0021 >= 0x0000) && (var0021 <= 0x000B))) goto labelFunc032A_0BD1;
var0021 = 0x0001;
labelFunc032A_0BD1:
if (!((var0021 >= 0x000C) && (var0021 <= 0x0017))) goto labelFunc032A_0BE9;
var0021 = 0x000D;
labelFunc032A_0BE9:
var0022 = UI_execute_usecode_array(var0020, [(byte)0x27, 0x0001, (byte)0x46, var0021, (byte)0x27, 0x0002, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x4E, (byte)0x27, 0x0001, (byte)0x4E]);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, 0x0002, (byte)0x67, (byte)0x27, 0x0002, (byte)0x59, 0x0004, (byte)0x27, 0x0001, (byte)0x65, (byte)0x27, 0x0001, (byte)0x66, (byte)0x27, 0x0001, (byte)0x64, (byte)0x27, 0x0001, (byte)0x67, (byte)0x27, 0x0004]);
var000F = UI_execute_usecode_array(item, [(byte)0x27, 0x0011, (byte)0x55, 0x0695]);
labelFunc032A_0C7B:
if (!(event == 0x000A)) goto labelFunc032A_0CB7;
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, 0x0000, (byte)0x6C, (byte)0x27, 0x0003, (byte)0x61]);
var000F = UI_execute_usecode_array(item, [(byte)0x27, 0x0003, (byte)0x55, 0x0694]);
labelFunc032A_0CB7:
return;
}
// externs
extern var Func093D 0x93D (var var0000, var var0001);
extern var Func0908 0x908 ();
extern void Func08FF 0x8FF (var var0000);
extern var Func0932 0x932 (var var0000);
extern void Func08FE 0x8FE (var var0000);
void Func0334 shape#(0x334) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var0000 = item;
var0001 = UI_get_item_quality(var0000);
if (!(event == 0x0003)) goto labelFunc0334_0154;
if (!(UI_get_item_shape(item) != 0x0334)) goto labelFunc0334_0049;
var0000 = UI_find_nearby(var0000, 0x0334, 0x0005, 0x00B0);
var0000 = Func093D(var0000, var0000);
if (!(!var0000)) goto labelFunc0334_0049;
abort;
labelFunc0334_0049:
var0001 = UI_get_item_quality(var0000);
var0002 = [];
if (!(var0001 == 0x0007)) goto labelFunc0334_0072;
var0002 = [0x0258, 0x026F, 0x022D];
labelFunc0334_0072:
if (!(var0001 == 0x0008)) goto labelFunc0334_0082;
var0002 = 0x0273;
labelFunc0334_0082:
if (!(var0001 == 0x0009)) goto labelFunc0334_0092;
var0002 = 0x0280;
labelFunc0334_0092:
if (!(var0001 == 0x000A)) goto labelFunc0334_00A2;
var0002 = 0x028E;
labelFunc0334_00A2:
if (!(var0001 == 0x000B)) goto labelFunc0334_00BB;
var0002 = [0x0284, 0x0285, 0x0286];
labelFunc0334_00BB:
var0003 = false;
//enum();
labelFunc0334_00C0:
for (var0006 in var0002 with var0004 to var0005) atend labelFunc0334_014C;
if (!UI_find_nearby(var0000, var0006, 0x0005, 0x00B0)) goto labelFunc0334_0149;
if (!(var0001 < 0x000B)) goto labelFunc0334_010D;
var0001 = (var0001 + 0x0001);
var0007 = UI_set_item_quality(var0000, var0001);
UI_close_gumps();
var0003 = true;
goto labelFunc0334_014C;
goto labelFunc0334_0149;
labelFunc0334_010D:
var0008 = UI_get_object_position(var0000);
UI_sprite_effect(0x0007, var0008[0x0001], var0008[0x0002], 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x0044);
UI_remove_item(var0000);
UI_close_gumps();
abort;
labelFunc0334_0149:
goto labelFunc0334_00C0;
labelFunc0334_014C:
if (!(!var0003)) goto labelFunc0334_0154;
abort;
labelFunc0334_0154:
if (!(event == 0x0002)) goto labelFunc0334_0172;
UI_kill_npc(0xFFE9);
UI_halt_scheduled(0xFFE9);
UI_remove_npc(0xFFE9);
return;
labelFunc0334_0172:
var0009 = Func0908();
if (!(var0001 > 0x0041)) goto labelFunc0334_018B;
var000A = "This is not a valid plaque ";
goto labelFunc0334_09FA;
labelFunc0334_018B:
if (!(var0001 == 0x0000)) goto labelFunc0334_01AD;
var000A = ["important", "event", "to|be", "recorded", "here"];
goto labelFunc0334_09FA;
labelFunc0334_01AD:
if (!(var0001 == 0x0001)) goto labelFunc0334_01CF;
var000A = ["tomb|of", "kronos", "forgotten", "but|not", "forgiven"];
goto labelFunc0334_09FA;
labelFunc0334_01CF:
if (!(var0001 == 0x0002)) goto labelFunc0334_01E8;
var000A = ["royal", "(+tre"];
goto labelFunc0334_09FA;
labelFunc0334_01E8:
if (!(var0001 == 0x0003)) goto labelFunc0334_0201;
var000A = ["FELLOWSHIP", "HALL"];
goto labelFunc0334_09FA;
labelFunc0334_0201:
if (!(var0001 == 0x0004)) goto labelFunc0334_021D;
var000A = ["TEST", "OF", "STRENGTH"];
goto labelFunc0334_09FA;
labelFunc0334_021D:
if (!(var0001 == 0x0005)) goto labelFunc0334_0236;
var000A = ["MEDITATION", "RETREAT"];
goto labelFunc0334_09FA;
labelFunc0334_0236:
if (!(var0001 == 0x0006)) goto labelFunc0334_024F;
var000A = ["SHRINE OF", "THE CODEX"];
goto labelFunc0334_09FA;
labelFunc0334_024F:
if (!(var0001 == 0x0007)) goto labelFunc0334_026E;
var000A = ["hammer", "here", "to", "enter"];
goto labelFunc0334_09FA;
labelFunc0334_026E:
if (!(var0001 == 0x0008)) goto labelFunc0334_029C;
var000A = ["pick|item", "carefully", "to|k)p", "goi*"];
Func08FF(["By Jove, I think thou art on the right track!", "The sign appears to have changed!", "Look at it now!"]);
goto labelFunc0334_09FA;
labelFunc0334_029C:
if (!(var0001 == 0x0009)) goto labelFunc0334_02BB;
var000A = ["a|golden", "ring|of", "tru(", "faces|()"];
goto labelFunc0334_09FA;
labelFunc0334_02BB:
if (!(var0001 == 0x000A)) goto labelFunc0334_02DA;
var000A = ["grasp", "not", "at", "(r+ds"];
goto labelFunc0334_09FA;
labelFunc0334_02DA:
if (!(var0001 == 0x000B)) goto labelFunc0334_02FC;
var000A = ["(e", "royal|mint", "shall|not", "hold|()", "back"];
goto labelFunc0334_09FA;
labelFunc0334_02FC:
if (!(var0001 == 0x000C)) goto labelFunc0334_030F;
var000A = "GO THIS WAY";
goto labelFunc0334_09FA;
labelFunc0334_030F:
if (!(var0001 == 0x000D)) goto labelFunc0334_032B;
var000A = ["DO NOT", "GO", "THIS WAY"];
goto labelFunc0334_09FA;
labelFunc0334_032B:
if (!(var0001 == 0x000E)) goto labelFunc0334_034A;
var000A = ["DO NOT GO", "IN", "THE", "WOODEN DOOR"];
goto labelFunc0334_09FA;
labelFunc0334_034A:
if (!(var0001 == 0x000F)) goto labelFunc0334_036C;
var000A = ["DO NOT", "GO IN", "THE", "WINDOWED", "DOOR"];
goto labelFunc0334_09FA;
labelFunc0334_036C:
if (!(var0001 == 0x0010)) goto labelFunc0334_038E;
var000A = ["GO", "IN", "THE", "STEEL", "DOOR"];
goto labelFunc0334_09FA;
labelFunc0334_038E:
if (!(var0001 == 0x0011)) goto labelFunc0334_03AD;
var000A = ["DO NOT", "GO", "IN THE", "GREEN DOOR"];
goto labelFunc0334_09FA;
labelFunc0334_03AD:
if (!(var0001 == 0x0012)) goto labelFunc0334_03CF;
var000A = ["ONLY", "ONE", "OF THESE", "SIGNS", "IS TRUE"];
goto labelFunc0334_09FA;
labelFunc0334_03CF:
if (!(var0001 == 0x0013)) goto labelFunc0334_03EE;
var000A = ["AT LEAST", "TWO SIGNS", "ARE", "FALSE"];
goto labelFunc0334_09FA;
labelFunc0334_03EE:
if (!(var0001 == 0x0014)) goto labelFunc0334_0407;
var000A = ["NATIONAL", "BRANCH"];
goto labelFunc0334_09FA;
labelFunc0334_0407:
if (!(var0001 == 0x0015)) goto labelFunc0334_0423;
var000A = ["ART THOU", "AN", "AVATAR?"];
goto labelFunc0334_09FA;
labelFunc0334_0423:
if (!(var0001 == 0x0016)) goto labelFunc0334_0442;
var000A = ["RESERVE", "THY", "SEATS", "NOW!"];
goto labelFunc0334_09FA;
labelFunc0334_0442:
if (!(var0001 == 0x0017)) goto labelFunc0334_0464;
var000A = ["THE BONES OF", "ZOG:", "EARLIEST", "BRITANNIAN", "FOSSIL"];
goto labelFunc0334_09FA;
labelFunc0334_0464:
if (!(var0001 == 0x0018)) goto labelFunc0334_0483;
var000A = ["SWAMP BOOTS", "ONCE WORN", "BY THE", "AVATAR"];
goto labelFunc0334_09FA;
labelFunc0334_0483:
if (!(var0001 == 0x0019)) goto labelFunc0334_04A2;
var000A = ["MANITTZI'S", "HARPSICORD", "USED WHILE", "COMPOSING"];
goto labelFunc0334_09FA;
labelFunc0334_04A2:
if (!(var0001 == 0x001A)) goto labelFunc0334_04BE;
var000A = ["|ANIA", "OF", "SPRING|"];
goto labelFunc0334_09FA;
labelFunc0334_04BE:
if (!(var0001 == 0x001B)) goto labelFunc0334_04DD;
var000A = ["|marney|", "skara|braes", "fine,", "flower"];
goto labelFunc0334_09FA;
labelFunc0334_04DD:
if (!(var0001 == 0x001C)) goto labelFunc0334_04F9;
var000A = ["(e", "wayfarers", "inn"];
goto labelFunc0334_09FA;
labelFunc0334_04F9:
if (!(var0001 == 0x001D)) goto labelFunc0334_0515;
var000A = ["(e", "blue", "boar"];
goto labelFunc0334_09FA;
labelFunc0334_0515:
if (!(var0001 == 0x001E)) goto labelFunc0334_052E;
var000A = ["royal", "museum"];
goto labelFunc0334_09FA;
labelFunc0334_052E:
if (!(var0001 == 0x001F)) goto labelFunc0334_054A;
var000A = ["(e", "music", "hall"];
goto labelFunc0334_09FA;
labelFunc0334_054A:
if (!(var0001 == 0x0020)) goto labelFunc0334_0563;
var000A = ["town", "hall"];
goto labelFunc0334_09FA;
labelFunc0334_0563:
if (!(var0001 == 0x0021)) goto labelFunc0334_057C;
var000A = ["royal", "mint"];
goto labelFunc0334_09FA;
labelFunc0334_057C:
if (!(var0001 == 0x0022)) goto labelFunc0334_059E;
var000A = ["THE", "THRONE", "OF", "MANY", "CHANGES"];
goto labelFunc0334_09FA;
labelFunc0334_059E:
if (!(var0001 == 0x0023)) goto labelFunc0334_05BD;
var000A = ["THE", "THRONE", "OF", "VIRTUE"];
goto labelFunc0334_09FA;
labelFunc0334_05BD:
if (!(var0001 == 0x0024)) goto labelFunc0334_05D9;
var000A = ["LORD", "BRITISH'S", "MUSKET"];
goto labelFunc0334_09FA;
labelFunc0334_05D9:
if (!(var0001 == 0x0025)) goto labelFunc0334_05F8;
var000A = ["THE", "STONES", "OF", "VIRTUE"];
goto labelFunc0334_09FA;
labelFunc0334_05F8:
if (!(var0001 == 0x0026)) goto labelFunc0334_061A;
var000A = ["SILVER", "HORN", "ONCE USED", "BY THE", "GARGOYLES"];
goto labelFunc0334_09FA;
labelFunc0334_061A:
if (!(var0001 == 0x0027)) goto labelFunc0334_0639;
var000A = ["TO SUMMON", "THE", "SILVER", "SNAKES"];
goto labelFunc0334_09FA;
labelFunc0334_0639:
if (!(var0001 == 0x0028)) goto labelFunc0334_065B;
var000A = ["THE ANKH", "", "SYMBOL OF", "THE", "VIRTUES"];
goto labelFunc0334_09FA;
labelFunc0334_065B:
if (!(var0001 == 0x0029)) goto labelFunc0334_0674;
var000A = ["LORD", "BRITISH"];
goto labelFunc0334_09FA;
labelFunc0334_0674:
if (!(var0001 == 0x002A)) goto labelFunc0334_068D;
var000A = ["THE", "AVATAR"];
goto labelFunc0334_09FA;
labelFunc0334_068D:
if (!(var0001 == 0x002B)) goto labelFunc0334_06A9;
var000A = ["THE", "VORTEX", "CUBE"];
goto labelFunc0334_09FA;
labelFunc0334_06A9:
if (!(var0001 == 0x002C)) goto labelFunc0334_06CB;
var000A = ["THE", "RUNES", "OF", "THE", "VIRTUES"];
goto labelFunc0334_09FA;
labelFunc0334_06CB:
if (!(var0001 == 0x002D)) goto labelFunc0334_06ED;
var000A = ["(e", "game", "of", "knights", "bridge"];
goto labelFunc0334_09FA;
labelFunc0334_06ED:
if (!(var0001 == 0x002E)) goto labelFunc0334_0706;
var000A = ["DO NOT", "ENTER"];
goto labelFunc0334_09FA;
labelFunc0334_0706:
if (!(var0001 == 0x002F)) goto labelFunc0334_0728;
var000A = ["blow", "horn", "to", "summon", "ferry"];
goto labelFunc0334_09FA;
labelFunc0334_0728:
if (!(var0001 == 0x0030)) goto labelFunc0334_07F7;
var0008 = UI_get_object_position(item);
var000B = UI_get_object_position(0xFFE9);
if (!((Func0932((var0008[0x0001] - var000B[0x0001])) <= 0x0002) && (Func0932((var0008[0x0002] - var000B[0x0002])) <= 0x0002))) goto labelFunc0334_07DC;
var0007 = UI_execute_usecode_array(item, [(byte)0x55, 0x0609, (byte)0x55, 0x0609, (byte)0x55, 0x0609, (byte)0x2D]);
var0007 = UI_execute_usecode_array(0xFFE9, [(byte)0x27, 0x0003, (byte)0x58, 0x0013, (byte)0x61, (byte)0x6D, (byte)0x58, 0x0056, (byte)0x01, (byte)0x6E, (byte)0x55, 0x0334]);
Func08FE(["", "@He's dead, Avatar!@", "@Yancey-Hausman will pay!@"]);
var0007 = UI_execute_usecode_array(0xFE9C, [(byte)0x23, (byte)0x56, 0x001A]);
return;
goto labelFunc0334_07F7;
labelFunc0334_07DC:
var000A = ["THE", "THRONE", "ROOM", "OF", "LORD", "BRITISH"];
goto labelFunc0334_09FA;
labelFunc0334_07F7:
if (!(var0001 == 0x0031)) goto labelFunc0334_0819;
var000A = ["SEE IF", "THOU ART", "THE NEXT", "LORD OF", "BRITANNIA"];
goto labelFunc0334_09FA;
labelFunc0334_0819:
if (!(var0001 == 0x0032)) goto labelFunc0334_083B;
var000A = ["in", "lovi*", "memory", "of", "mama"];
goto labelFunc0334_09FA;
labelFunc0334_083B:
if (!(var0001 == 0x0033)) goto labelFunc0334_0857;
var000A = ["BEWARE", "THE", "DRAGON"];
goto labelFunc0334_09FA;
labelFunc0334_0857:
if (!(var0001 == 0x0034)) goto labelFunc0334_0879;
var000A = ["for", "(e", "love", "of", "marney"];
goto labelFunc0334_09FA;
labelFunc0334_0879:
if (!(var0001 == 0x0035)) goto labelFunc0334_089B;
var000A = ["|j|r|r|t|", "a|gr+t", "man", "a|gr+t", "writer"];
goto labelFunc0334_09FA;
labelFunc0334_089B:
if (!(var0001 == 0x0036)) goto labelFunc0334_08B7;
var000A = ["THE", "BRITANNIAN", "LENS"];
goto labelFunc0334_09FA;
labelFunc0334_08B7:
if (!(var0001 == 0x0037)) goto labelFunc0334_08D3;
var000A = ["THE", "GARGOYLE", "LENS"];
goto labelFunc0334_09FA;
labelFunc0334_08D3:
if (!(var0001 == 0x0038)) goto labelFunc0334_08EC;
var000A = ["EX", "POR"];
goto labelFunc0334_09FA;
labelFunc0334_08EC:
if (!(var0001 == 0x0039)) goto labelFunc0334_090B;
var000A = ["(e", "te,", "of", "love"];
goto labelFunc0334_09FA;
labelFunc0334_090B:
if (!(var0001 == 0x003A)) goto labelFunc0334_092A;
var000A = ["(e", "te,", "of", "courage"];
goto labelFunc0334_09FA;
labelFunc0334_092A:
if (!(var0001 == 0x003B)) goto labelFunc0334_0949;
var000A = ["nor(", "is", "(e", "way"];
goto labelFunc0334_09FA;
labelFunc0334_0949:
if (!(var0001 == 0x003C)) goto labelFunc0334_0965;
var000A = ["tru(", "is", "tru("];
goto labelFunc0334_09FA;
labelFunc0334_0965:
if (!(var0001 == 0x003D)) goto labelFunc0334_0984;
var000A = ["only", "app+rances", "are", "deceptive"];
goto labelFunc0334_09FA;
labelFunc0334_0984:
if (!(var0001 == 0x003E)) goto labelFunc0334_099D;
var000A = ["well", "done"];
goto labelFunc0334_09FA;
labelFunc0334_099D:
if (!(var0001 == 0x003F)) goto labelFunc0334_09BC;
var000A = ["(e", "keys", "of", "tru("];
goto labelFunc0334_09FA;
labelFunc0334_09BC:
if (!(var0001 == 0x0040)) goto labelFunc0334_09DB;
var000A = ["tru,|not", "always|(e", "obvious", "path"];
goto labelFunc0334_09FA;
labelFunc0334_09DB:
if (!(var0001 == 0x0041)) goto labelFunc0334_09FA;
var000A = ["(ou", "do,|not", "wish|to", "see|(is"];
goto labelFunc0334_09FA;
labelFunc0334_09FA:
UI_display_runes(0x0033, var000A);
return;
}
// externs
extern void Func0925 0x925 (var var0000);
extern void Func08FE 0x8FE (var var0000);
void Func0336 shape#(0x336) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0001)) goto labelFunc0336_00E1;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0000)) goto labelFunc0336_0071;
var0001 = UI_click_on_item();
var0002 = UI_get_item_shape(var0001);
if (!((var0002 == 0x02DA) || (var0002 == 0x0360))) goto labelFunc0336_0048;
UI_set_item_frame(item, 0x0001);
goto labelFunc0336_0071;
labelFunc0336_0048:
if (!(UI_get_item_shape(var0001) == 0x0336)) goto labelFunc0336_006B;
if (!(UI_get_item_frame(var0001) == 0x0002)) goto labelFunc0336_0068;
Func0925(item);
labelFunc0336_0068:
goto labelFunc0336_0071;
labelFunc0336_006B:
Func08FE("@Those are for babies.@");
labelFunc0336_0071:
if (!(var0000 == 0x0001)) goto labelFunc0336_00D1;
var0001 = UI_click_on_item();
if (!UI_is_npc(var0001)) goto labelFunc0336_00B1;
UI_set_schedule_type(var0001, 0x0000);
UI_set_attack_mode(var0001, 0x0007);
UI_set_oppressor(var0001, 0xFE9C);
Func0925(item);
goto labelFunc0336_00D1;
labelFunc0336_00B1:
if (!(UI_get_item_shape(var0001) == 0x0336)) goto labelFunc0336_00D1;
if (!(UI_get_item_frame(var0001) == 0x0002)) goto labelFunc0336_00D1;
Func0925(item);
labelFunc0336_00D1:
if (!(var0000 == 0x0002)) goto labelFunc0336_00E1;
Func08FE("@That is for dirty diapers.@");
labelFunc0336_00E1:
return;
}
// externs
extern void Func08FE 0x8FE (var var0000);
void Func0337 shape#(0x337) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0337_011E;
var0000 = UI_get_item_frame(item);
if (!(var0000 < 0x0002)) goto labelFunc0337_0023;
Func08FE("@Finger-painting again?@");
goto labelFunc0337_011E;
labelFunc0337_0023:
var0001 = UI_click_on_item();
var0002 = UI_get_item_shape(var0001);
if (!(var0002 == 0x0337)) goto labelFunc0337_0117;
if (!(UI_get_item_frame(var0001) < 0x0002)) goto labelFunc0337_0114;
var0001 = UI_click_on_item();
if (!(UI_get_item_shape(var0001) == 0x0345)) goto labelFunc0337_00F5;
var0003 = (UI_get_item_frame(var0001) % 0x0008);
var0004 = UI_die_roll(0x0001, 0x000A);
if (!(var0004 == 0x0001)) goto labelFunc0337_008C;
var0005 = "@Looks great!@";
labelFunc0337_008C:
if (!(var0004 == 0x0002)) goto labelFunc0337_009C;
var0005 = "@Do not quit your day job.@";
labelFunc0337_009C:
if (!(var0004 == 0x0003)) goto labelFunc0337_00B0;
var0005 = ("@I can barely" & "see the numbers.@");
labelFunc0337_00B0:
if (!(var0004 == 0x0004)) goto labelFunc0337_00C0;
var0005 = "@Stay within the lines.@";
labelFunc0337_00C0:
if (!(var0004 == 0x0005)) goto labelFunc0337_00D0;
var0005 = "@What is it?@";
labelFunc0337_00D0:
Func08FE(var0005);
if (!(var0003 < 0x0007)) goto labelFunc0337_00F2;
UI_set_item_frame(var0001, (UI_get_item_frame(var0001) + 0x0001));
labelFunc0337_00F2:
goto labelFunc0337_0114;
labelFunc0337_00F5:
if (!UI_is_npc(var0001)) goto labelFunc0337_0108;
Func08FE("@Tattooing?@");
goto labelFunc0337_0114;
labelFunc0337_0108:
Func08FE(["@The stain will", "never come out.@"]);
labelFunc0337_0114:
goto labelFunc0337_011E;
labelFunc0337_0117:
Func08FE("@Use pigments!@");
return;
labelFunc0337_011E:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern void Func08FE 0x8FE (var var0000);
extern var Func0937 0x937 (var var0000);
extern void Func0925 0x925 (var var0000);
void Func033B shape#(0x33B) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc033B_00F1;
var0000 = UI_click_on_item();
if (!UI_is_npc(var0000)) goto labelFunc033B_00EB;
var0001 = UI_get_npc_prop(var0000, 0x0000);
var0002 = UI_get_npc_prop(var0000, 0x0003);
if (!(var0002 == var0001)) goto labelFunc033B_0046;
Func08FF("@It does not appear as though a bandage is needed.@");
goto labelFunc033B_00E8;
labelFunc033B_0046:
if (!(UI_get_npc_number(var0000) == 0xFE9C)) goto labelFunc033B_005D;
Func08FE("@Much better.@");
goto labelFunc033B_00AF;
labelFunc033B_005D:
if (!Func0937(var0000)) goto labelFunc033B_00AF;
var0003 = UI_die_roll(0x0001, 0x0003);
if (!(var0003 == 0x0001)) goto labelFunc033B_0087;
UI_item_say(var0000, "@Ah, much better!@");
labelFunc033B_0087:
if (!(var0003 == 0x0002)) goto labelFunc033B_009B;
UI_item_say(var0000, "@Thank thee!@");
labelFunc033B_009B:
if (!(var0003 == 0x0003)) goto labelFunc033B_00AF;
UI_item_say(var0000, "@That looks better.@");
labelFunc033B_00AF:
var0003 = UI_die_roll(0x0001, 0x0004);
if (!((var0002 + var0003) > var0001)) goto labelFunc033B_00D4;
var0003 = (var0001 - var0002);
labelFunc033B_00D4:
var0003 = UI_set_npc_prop(var0000, 0x0003, var0003);
Func0925(item);
labelFunc033B_00E8:
goto labelFunc033B_00F1;
labelFunc033B_00EB:
Func08FE("@Do not soil the bandages.@");
labelFunc033B_00F1:
return;
}
// externs
extern var Func081F 0x81F (var var0000);
void Func033C shape#(0x33C) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc033C_0009;
return;
labelFunc033C_0009:
if (!(UI_get_item_quality(item) == 0x0000)) goto labelFunc033C_001C;
var0000 = Func081F(item);
labelFunc033C_001C:
return;
}
// externs
extern var Func0908 0x908 ();
extern void Func08FF 0x8FF (var var0000);
void Func0345 shape#(0x345) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0345_001C;
var0000 = (("@Thou shouldst use the brush and pigments, " + Func0908()) + ".@");
Func08FF(var0000);
labelFunc0345_001C:
return;
}
// externs
extern void Func0269 shape#(0x269) ();
void Func0347 shape#(0x347) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0347_0032;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0001)) goto labelFunc0347_0032;
if (!gflags[0x0004]) goto labelFunc0347_0032;
UI_get_npc_object(0x0269)->Func0269();
UI_play_sound_effect2(0x0043, item);
labelFunc0347_0032:
return;
}
// externs
extern var Func080D 0x80D ();
extern void Func0812 0x812 (var var0000);
extern var Func08B3 0x8B3 (var var0000);
extern void Func08FF 0x8FF (var var0000);
void Func0348 shape#(0x348) ()
{
var var0000;
var var0001;
var0000 = UI_get_barge(item);
if (!((event == 0x0001) && (!(var0000 == 0x0000)))) goto labelFunc0348_008B;
if (!(!UI_get_item_flag(item, 0x000A))) goto labelFunc0348_0042;
if (!Func080D()) goto labelFunc0348_0034;
Func0812(var0000);
goto labelFunc0348_003F;
labelFunc0348_0034:
if (!Func08B3(item)) goto labelFunc0348_003F;
UI_close_gumps();
labelFunc0348_003F:
goto labelFunc0348_008B;
labelFunc0348_0042:
if (!UI_get_item_flag(var0000, 0x0015)) goto labelFunc0348_0085;
UI_clear_item_flag(item, 0x000A);
UI_clear_item_flag(item, 0x001A);
var0001 = UI_execute_usecode_array(var0000, [(byte)0x38, (byte)0x21, (byte)0x0B, 0xFFFE, 0x000A]);
UI_play_music(0x00FF, 0x0000);
goto labelFunc0348_008B;
labelFunc0348_0085:
Func08FF("@I do not believe that we can land here safely.@");
labelFunc0348_008B:
return;
}
// externs
extern void Func0813 0x813 (var var0000, var var0001, var var0002);
void Func034A shape#(0x34A) ()
{
if (!(UI_get_item_frame(item) == 0x0004)) goto labelFunc034A_0016;
Func0813(item, 0x0002, 0x005B);
labelFunc034A_0016:
return;
}
// externs
extern var Func0820 0x820 (var var0000);
void Func034D shape#(0x34D) ()
{
var var0000;
if (!(event != 0x0001)) goto labelFunc034D_0009;
return;
labelFunc034D_0009:
if (!(UI_get_item_quality(item) == 0x0000)) goto labelFunc034D_001C;
var0000 = Func0820(item);
labelFunc034D_001C:
return;
}
// externs
extern void Func06F6 object#(0x6F6) ();
void Func0350 shape#(0x350) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0350_0045;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0003)) goto labelFunc0350_0045;
var0001 = UI_execute_usecode_array(item, [(byte)0x58, 0x0043, (byte)0x01, (byte)0x4E, (byte)0x27, 0x0004, (byte)0x0B, 0xFFFD, 0x0004, (byte)0x27, 0x0002, (byte)0x55, 0x06F6]);
labelFunc0350_0045:
if (!(event == 0x0002)) goto labelFunc0350_0055;
gflags[0x032F] = true;
item->Func06F6();
labelFunc0350_0055:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
void Func0353 shape#(0x353) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0353_001C;
var0000 = (("@That appears to be fine cloth, no doubt it would fetch " + "a fair price in Minoc. Or, perhapse, thou couldst cut ") + "it into bandages with shears.@");
Func08FF(var0000);
labelFunc0353_001C:
return;
}
// externs
extern var Func090A 0x90A ();
void Func0356 shape#(0x356) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!(event == 0x0001)) goto labelFunc0356_0100;
if (!gflags[0x0317]) goto labelFunc0356_000F;
abort;
labelFunc0356_000F:
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0010)) goto labelFunc0356_007E;
UI_show_npc_face(0xFEE1, 0x0000);
if (!gflags[0x030C]) goto labelFunc0356_0036;
message("\"Our gratitude is thine, Avatar. Thou hast saved Britannia from what might have become a second Age of Darkness. Again, thou dost prove thy worthiness to be the instrument of Lord British.\"");
say();
abort;
labelFunc0356_0036:
if (!gflags[0x0318]) goto labelFunc0356_0041;
message("\"Salutations, Avatar. I can assist thee no more, but remember my words: the Psyche returns to the Core...\"*");
say();
abort;
labelFunc0356_0041:
if (!(!gflags[0x0316])) goto labelFunc0356_0053;
message("Suddenly, your mind is filled with the crystal-clear resonance of an authoritative voice.~\"Greeting to thee. I am the keeper of Truth. Dost thou seek the wisdom and boon of Truth?\"");
say();
gflags[0x0316] = true;
goto labelFunc0356_0057;
labelFunc0356_0053:
message("The Shrine of Truth speaks. \"Greetings, seeker. Once again I ask thee, Dost thou seek my enlightenment?\"");
say();
labelFunc0356_0057:
if (!Func090A()) goto labelFunc0356_0079;
message("\"Very well. Prepare thyself.\" The voice falls silent.*");
say();
var0001 = UI_execute_usecode_array(item, [(byte)0x27, 0x0001, (byte)0x55, 0x06F9]);
goto labelFunc0356_007E;
labelFunc0356_0079:
message("\"I wish thee well, then.\"*");
say();
abort;
labelFunc0356_007E:
if (!(var0000 == 0x000E)) goto labelFunc0356_00BF;
UI_show_npc_face(0xFEE1, 0x0001);
if (!gflags[0x030C]) goto labelFunc0356_009D;
message("\"Thy Love for life is boundless. Thine heart-felt actions are a shining example to all of Britannia.\"*");
say();
abort;
labelFunc0356_009D:
if (!gflags[0x0327]) goto labelFunc0356_00A8;
message("\"Welcome, Avatar. I can help thee no further, save to offer the advice I gave before: A great evil stirs in Britannia...\"*");
say();
abort;
labelFunc0356_00A8:
if (!(!gflags[0x031A])) goto labelFunc0356_00BA;
message("An unearthly beautiful voice sighs gently into your conciousness. \"Greetings, Avatar. I represent the embodiment of Love. If thou dost seek enlightenment , thou must take the Test of Love. Its path lies through the glowing, blue portal to the south.\"*");
say();
gflags[0x031A] = true;
goto labelFunc0356_00BE;
labelFunc0356_00BA:
message("\"I welcome thee again, seeker. I cannot aid thee until thy successful completion of the Test of Love.\"*");
say();
labelFunc0356_00BE:
abort;
labelFunc0356_00BF:
if (!(var0000 == 0x000F)) goto labelFunc0356_0100;
UI_show_npc_face(0xFEE1, 0x0002);
if (!gflags[0x030C]) goto labelFunc0356_00DE;
message("\"Thine onus is abated and Britannia is free of Exodus' grasp once more. Thy deeds will long be rembered as the most courageous in the history of this land.\"*");
say();
abort;
labelFunc0356_00DE:
if (!gflags[0x0341]) goto labelFunc0356_00E9;
message("\"Hail, mighty Avatar! Thou must not fail in thy quest to find the Talisman of Infinity. Remember: the scroll that will unlock its secret lies within this castle.\"*");
say();
abort;
labelFunc0356_00E9:
if (!(!gflags[0x0329])) goto labelFunc0356_00FB;
message("A strong, vibrant voice rings out in your mind. \"Greetings seeker! I am the Keeper of Courage. If thou hast the will to seek my reward, thou must enter the portal to the south.\"*");
say();
gflags[0x0329] = true;
goto labelFunc0356_00FF;
labelFunc0356_00FB:
message("\"Again I say to thee, my path lies through the portal to the south. Enter if thou hast the Courage, seeker...\"*");
say();
labelFunc0356_00FF:
abort;
labelFunc0356_0100:
if (!(event == 0x0004)) goto labelFunc0356_01A1;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0010)) goto labelFunc0356_0128;
UI_show_npc_face(0xFEE1, 0x0000);
message("\"Thou hast mastered the Test of Truth, and so a boon of great intellect and magical ability will be bestowed upon thee. Use -- and respect -- thy powers well, Avatar.\"");
say();
labelFunc0356_0128:
if (!(var0000 == 0x000E)) goto labelFunc0356_0140;
UI_show_npc_face(0xFEE1, 0x0001);
message("\"My heart is gladdened to learn that Love is a Principle thou dost hold dear, evident by thy successful completion of the Test of Love. Now, then, shall a blessing of quickness and skill be thine.\"");
say();
labelFunc0356_0140:
if (!(var0000 == 0x000F)) goto labelFunc0356_0158;
UI_show_npc_face(0xFEE1, 0x0002);
message("\"Well done, mighty warrior! The unsurpassed Courage which flows through thy veins could be none other than that of the Avatar. Thou hast proven thyself worthy of the reward of Courage with Valor, Sacrifice, Honor, and Spirituality... Receive it now in Humility.\"*");
say();
labelFunc0356_0158:
UI_remove_npc_face(0xFEE1);
var0002 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x27, 0x0002, (byte)0x6C, (byte)0x27, 0x0002, (byte)0x6D, (byte)0x27, 0x000A, (byte)0x6C, (byte)0x27, 0x0002, (byte)0x61]);
var0001 = UI_execute_usecode_array(item, [(byte)0x27, 0x0008, (byte)0x55, 0x0356]);
labelFunc0356_01A1:
if (!(event == 0x0002)) goto labelFunc0356_04C5;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0010)) goto labelFunc0356_02D9;
if (!(!gflags[0x0318])) goto labelFunc0356_02C2;
var0003 = UI_get_object_position(UI_get_npc_object(0xFE9C));
UI_sprite_effect(0x0007, (var0003[0x0001] - 0x0001), (var0003[0x0002] - 0x0001), 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x0043);
var0004 = UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0002);
var0004 = (var0004 & UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0006));
var0004 = (var0004 & UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0005));
if (!(!(var0004[0x0001] >= 0x001E))) goto labelFunc0356_0262;
var0005 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0002, (0x001E - var0004[0x0001]));
labelFunc0356_0262:
if (!(!(var0004[0x0002] >= 0x001E))) goto labelFunc0356_02A6;
var0005 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0006, (0x001E - var0004[0x0002]));
var0005 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0005, (0x001E - var0004[0x0003]));
labelFunc0356_02A6:
gflags[0x0318] = true;
var0006 = UI_execute_usecode_array(item, [(byte)0x27, 0x000F, (byte)0x55, 0x0356]);
goto labelFunc0356_02D9;
labelFunc0356_02C2:
UI_show_npc_face(0xFEE1, 0x0000);
message("\"Thou hast now experienced the full meaning of the Principle of Truth. The value of such is beyond measure, for truth shall guide thee throughout thy life's endeavors.\"");
say();
message("The statue's voice takes on a warning tone. \"Know this Truth: the Psyche returns to the Core...\" With that said, the statue becomes quiet once more.*");
say();
gflags[0x0317] = false;
abort;
labelFunc0356_02D9:
if (!(var0000 == 0x000E)) goto labelFunc0356_03D1;
if (!(!gflags[0x0327])) goto labelFunc0356_03BA;
var0003 = UI_get_object_position(UI_get_npc_object(0xFE9C));
UI_sprite_effect(0x0007, (var0003[0x0001] - 0x0001), (var0003[0x0002] - 0x0001), 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x0043);
var0004 = UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0001);
var0004 = (var0004 & UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0004));
if (!(!(var0004[0x0001] >= 0x001E))) goto labelFunc0356_0375;
var0005 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0001, (0x001E - var0004[0x0001]));
labelFunc0356_0375:
if (!(!(var0004[0x0002] >= 0x001E))) goto labelFunc0356_039E;
var0005 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0004, (0x001E - var0004[0x0002]));
labelFunc0356_039E:
gflags[0x0327] = true;
var0006 = UI_execute_usecode_array(item, [(byte)0x27, 0x000F, (byte)0x55, 0x0356]);
goto labelFunc0356_03D1;
labelFunc0356_03BA:
UI_show_npc_face(0xFEE1, 0x0001);
message("\"Now hast thou earnestly experienced all that is Love. 'Tis a benefit never to be taken lightly, for Love is a formidible motivator. Remember always the lessons in Compassion, Sacrifice, and Justice thou hast mastered.\"");
say();
message("The voice of the Keeper of Love fills with compassion as she speaks. \"Do have a care, Avatar. For a great evil stirs within Britannia, I know not the source.\"*");
say();
gflags[0x0317] = false;
abort;
labelFunc0356_03D1:
if (!(var0000 == 0x000F)) goto labelFunc0356_04C5;
if (!(!gflags[0x0341])) goto labelFunc0356_04B2;
var0003 = UI_get_object_position(UI_get_npc_object(0xFE9C));
UI_sprite_effect(0x0007, (var0003[0x0001] - 0x0001), (var0003[0x0002] - 0x0001), 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x0043);
var0004 = UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0000);
var0004 = (var0004 & UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0003));
if (!(!(var0004[0x0001] >= 0x001E))) goto labelFunc0356_046D;
var0005 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0000, (0x001E - var0004[0x0001]));
labelFunc0356_046D:
if (!(!(var0004[0x0002] >= 0x001E))) goto labelFunc0356_0496;
var0005 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0003, (0x001E - var0004[0x0002]));
labelFunc0356_0496:
gflags[0x0341] = true;
var0006 = UI_execute_usecode_array(item, [(byte)0x27, 0x000F, (byte)0x55, 0x0356]);
goto labelFunc0356_04C5;
labelFunc0356_04B2:
UI_show_npc_face(0xFEE1, 0x0002);
message("Urgency breaks into the voice of the statue. \"I lay upon thee a geas, and as thou art the Avatar, thou art bound to respond. Thy quest is to seek the Talisman of Infinity. Within this castle there lies a scroll which can tell thee of its use. Go now, for time grows short.*");
say();
gflags[0x0317] = false;
abort;
labelFunc0356_04C5:
return;
}
// externs
extern void Func08FF 0x8FF (var var0000);
extern void Func0933 0x933 (var var0000, var var0001, var var0002);
void Func035F shape#(0x35F) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
if (!(event == 0x0001)) goto labelFunc035F_0152;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0000)) goto labelFunc035F_00ED;
var0001 = UI_click_on_item();
var0002 = UI_get_object_position(var0001);
var0003 = UI_get_item_shape(var0001);
var0004 = 0xFFFF;
if (!(var0003 == 0x03FA)) goto labelFunc035F_006F;
var0004 = (var0002[0x0001] - UI_die_roll(0x0000, 0x0003));
var0005 = var0002[0x0002];
var0006 = (var0002[0x0003] + 0x0002);
labelFunc035F_006F:
if (!(var0003 == 0x03EB)) goto labelFunc035F_00A3;
var0004 = var0002[0x0001];
var0005 = (var0002[0x0002] - UI_die_roll(0x0000, 0x0002));
var0006 = (var0002[0x0003] + 0x0002);
labelFunc035F_00A3:
if (!(var0004 == 0xFFFF)) goto labelFunc035F_00B6;
Func08FF("@Why not put the flour on the table first?@");
goto labelFunc035F_00ED;
labelFunc035F_00B6:
var0007 = UI_create_new_object(0x0292);
if (!var0007) goto labelFunc035F_00ED;
UI_set_item_flag(var0007, 0x0012);
UI_set_item_frame(var0007, 0x0000);
var0008 = UI_update_last_created([var0004, var0005, var0006]);
labelFunc035F_00ED:
if (!((var0000 == 0x0008) || (var0000 == 0x0009))) goto labelFunc035F_0138;
var0001 = UI_click_on_item();
if (!(UI_get_item_shape(var0001) == 0x0292)) goto labelFunc035F_012C;
if (!(UI_get_item_frame(var0001) == 0x0002)) goto labelFunc035F_012C;
UI_set_item_frame(var0001, 0x0001);
labelFunc035F_012C:
Func0933(var0001, "@Hey! That really hurt!@", 0x0000);
labelFunc035F_0138:
if (!((var0000 == 0x000D) || (var0000 == 0x000E))) goto labelFunc035F_0152;
UI_set_item_frame(item, 0x0000);
labelFunc035F_0152:
return;
}
// externs
extern void Func080A 0x80A (var var0000, var var0001);
void Func0369 shape#(0x369) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0369_001E;
var0000 = UI_get_container(item);
if (!var0000) goto labelFunc0369_0017;
return;
labelFunc0369_0017:
Func080A(item, 0x0369);
labelFunc0369_001E:
return;
}
// externs
extern void Func0833 0x833 (var var0000, var var0001);
void Func036C shape#(0x36C) ()
{
if (!(event == 0x0002)) goto labelFunc036C_0011;
UI_set_item_shape(item, 0x036C);
abort;
labelFunc036C_0011:
if (!(event == 0x0001)) goto labelFunc036C_0021;
UI_flash_mouse(0x0000);
return;
labelFunc036C_0021:
Func0833(item, 0x03A7);
return;
}
// externs
extern var Func093C 0x93C (var var0000, var var0001);
extern void Func061C object#(0x61C) ();
void Func0378 shape#(0x378) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0378_00BC;
if (!(UI_get_item_frame(item) == 0x0001)) goto labelFunc0378_00B4;
UI_play_music(0x0030, item);
var0000 = Func093C(item, UI_find_nearby(item, 0x0378, 0x007D, 0x0000));
if (!(UI_get_array_size(var0000) == 0x0001)) goto labelFunc0378_00B1;
var0001 = UI_get_object_position(item);
var0002 = UI_get_object_position(var0000);
if (!(var0001[0x0001] < var0002[0x0001])) goto labelFunc0378_0068;
var0003 = true;
goto labelFunc0378_006C;
labelFunc0378_0068:
var0003 = false;
labelFunc0378_006C:
if (!gflags[0x0197]) goto labelFunc0378_0079;
var0004 = false;
goto labelFunc0378_007D;
labelFunc0378_0079:
var0004 = true;
labelFunc0378_007D:
if (!(var0003 == var0004)) goto labelFunc0378_00B1;
var0005 = UI_find_nearby(0xFE9C, 0x009B, 0x0064, 0x0000);
if (!var0005) goto labelFunc0378_00B1;
UI_set_camera(var0005);
UI_get_barge(var0005)->Func061C();
labelFunc0378_00B1:
goto labelFunc0378_00BC;
labelFunc0378_00B4:
UI_play_music(0x0018, item);
labelFunc0378_00BC:
return;
}
void Func0379 shape#(0x379) ()
{
var var0000;
var var0001;
if (!((event == 0x0001) || (event == 0x0002))) goto labelFunc0379_0071;
var0000 = UI_create_new_object(0x01B8);
if (!var0000) goto labelFunc0379_0071;
var0001 = UI_get_object_position(item);
var0001[0x0001] = (var0001[0x0001] + 0x0003);
var0001[0x0002] = (var0001[0x0002] + 0x0003);
UI_set_item_frame(var0000, UI_die_roll(0x0000, 0x0007));
if (!UI_update_last_created(var0001)) goto labelFunc0379_0071;
UI_set_item_shape(item, 0x020E);
UI_play_sound_effect2(0x006A, item);
labelFunc0379_0071:
return;
}
// externs
extern void Func092A 0x92A (var var0000, var var0001);
void Func037D shape#(0x37D) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc037D_00FA;
var0000 = UI_get_item_quality(item);
var0001 = UI_click_on_item();
UI_play_sound_effect2(0x005A, item);
if (!(var0000 == 0x0001)) goto labelFunc037D_0033;
UI_set_item_flag(var0001, 0x0001);
labelFunc037D_0033:
if (!(var0000 == 0x0002)) goto labelFunc037D_005D;
var0002 = UI_die_roll(0x0001, 0x000A);
var0003 = (0x000D - var0002);
Func092A(var0001, var0003);
labelFunc037D_005D:
if (!(var0000 == 0x0003)) goto labelFunc037D_0099;
UI_clear_item_flag(var0001, 0x0008);
UI_clear_item_flag(var0001, 0x0007);
UI_clear_item_flag(var0001, 0x0001);
UI_clear_item_flag(var0001, 0x0002);
UI_clear_item_flag(var0001, 0x0003);
labelFunc037D_0099:
if (!(var0000 == 0x0004)) goto labelFunc037D_00AD;
UI_set_item_flag(var0001, 0x0008);
labelFunc037D_00AD:
if (!(var0000 == 0x0005)) goto labelFunc037D_00C1;
UI_clear_item_flag(var0001, 0x0001);
labelFunc037D_00C1:
if (!(var0000 == 0x0006)) goto labelFunc037D_00D5;
UI_set_item_flag(var0001, 0x0009);
labelFunc037D_00D5:
if (!(var0000 == 0x0007)) goto labelFunc037D_00E6;
UI_cause_light(0x0064);
labelFunc037D_00E6:
if (!(var0000 == 0x0008)) goto labelFunc037D_00FA;
UI_set_item_flag(var0001, 0x0000);
labelFunc037D_00FA:
return;
}
// externs
extern void Func0832 0x832 (var var0000, var var0001);
void Func03A7 shape#(0x3A7) ()
{
if (!(event == 0x0002)) goto labelFunc03A7_0011;
UI_set_item_shape(item, 0x03A7);
abort;
labelFunc03A7_0011:
if (!(event == 0x0001)) goto labelFunc03A7_0021;
UI_flash_mouse(0x0000);
return;
labelFunc03A7_0021:
Func0832(item, 0x036C);
return;
}
// externs
extern void Func0832 0x832 (var var0000, var var0001);
void Func03A8 shape#(0x3A8) ()
{
if (!(event == 0x0002)) goto labelFunc03A8_0011;
UI_set_item_shape(item, 0x03A8);
abort;
labelFunc03A8_0011:
if (!(event == 0x0001)) goto labelFunc03A8_0021;
UI_flash_mouse(0x0000);
return;
labelFunc03A8_0021:
Func0832(item, 0x012F);
return;
}
// externs
extern var Func0937 0x937 (var var0000);
void Func03B0 shape#(0x3B0) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc03B0_003E;
if (!UI_get_item_frame(item)) goto labelFunc03B0_003E;
if (!Func0937(0xFE9C)) goto labelFunc03B0_003E;
UI_item_say(0xFE9C, "ptui!");
if (!(!UI_in_gump_mode())) goto labelFunc03B0_003E;
var0000 = UI_delayed_execute_usecode_array(item, [(byte)0x58, 0x0018], 0x0003);
labelFunc03B0_003E:
return;
}
void Func03B2 shape#(0x3B2) ()
{
var var0000;
var0000 = UI_get_schedule_type(UI_get_npc_object(item));
if (!(event == 0x0000)) goto labelFunc03B2_0015;
abort;
labelFunc03B2_0015:
UI_show_npc_face(0xFEFE, 0x0000);
UI_add_answer(["name", "job", "bye"]);
message("You see a tough-looking guard who takes his job -very- seriously.");
say();
labelFunc03B2_0033:
converse (0) atend labelFunc03B2_0063;
case "name" atend labelFunc03B2_0049:
message("\"I am a guard.\"");
say();
UI_remove_answer("name");
labelFunc03B2_0049:
case "job" atend labelFunc03B2_0055:
message("The man looks at you like you are an ignoramus. \"I am a guard, idiot. Thou shouldst go about thy business.\"");
say();
labelFunc03B2_0055:
case "bye" atend labelFunc03B2_0060:
goto labelFunc03B2_0063;
labelFunc03B2_0060:
goto labelFunc03B2_0033;
labelFunc03B2_0063:
break;
message("\"Goodbye.\"*");
say();
return;
}
// externs
extern void Func083E 0x83E (var var0000, var var0001);
void Func03B5 shape#(0x3B5) ()
{
UI_close_gumps();
Func083E(item, event);
return;
}
// externs
extern void Func083E 0x83E (var var0000, var var0001);
void Func03B6 shape#(0x3B6) ()
{
UI_close_gumps();
Func083E(item, event);
return;
}
// externs
extern void Func0805 0x805 (var var0000);
extern void Func0807 0x807 (var var0000);
extern void Func0803 0x803 (var var0000);
void Func03C8 shape#(0x3C8) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc03C8_003A;
var0000 = UI_get_item_frame(item);
if (!(var0000 == 0x0000)) goto labelFunc03C8_001E;
Func0805(item);
labelFunc03C8_001E:
if (!(var0000 == 0x0001)) goto labelFunc03C8_002C;
Func0807(item);
labelFunc03C8_002C:
if (!(var0000 == 0x0002)) goto labelFunc03C8_003A;
Func0803(item);
labelFunc03C8_003A:
if (!(event == 0x0002)) goto labelFunc03C8_0071;
var0001 = UI_get_object_position(item);
UI_sprite_effect(0x0007, (var0001[0x0001] - 0x0003), (var0001[0x0002] - 0x0003), 0x0000, 0x0000, 0x0000, 0xFFFF);
labelFunc03C8_0071:
return;
}
// externs
extern var Func082E 0x82E (var var0000);
void Func03D5 shape#(0x3D5) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc03D5_0074;
var0000 = UI_click_on_item();
var0001 = UI_get_item_shape(var0000);
var0002 = UI_get_object_position(var0000);
if (!((var0001 == 0x0241) && (UI_get_item_frame(var0000) == UI_get_item_frame(item)))) goto labelFunc03D5_0066;
var0003 = UI_set_last_created(item);
if (!var0003) goto labelFunc03D5_0063;
var0002[0x0003] = (var0002[0x0003] + 0x0002);
var0003 = UI_update_last_created(var0002);
labelFunc03D5_0063:
goto labelFunc03D5_006D;
labelFunc03D5_0066:
UI_flash_mouse(0x0000);
labelFunc03D5_006D:
var0003 = Func082E(item);
labelFunc03D5_0074:
return;
}
void Func03DB shape#(0x3DB) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc03DB_00C9;
UI_close_gumps();
var0000 = [(byte)0x46, 0x0000, (byte)0x46, 0x0001, (byte)0x46, 0x0002, (byte)0x58, 0x0011, (byte)0x46, 0x0002, (byte)0x46, 0x0001, (byte)0x46, 0x0000, (byte)0x46, 0x0003, (byte)0x46, 0x0004, (byte)0x58, 0x0011, (byte)0x46, 0x0004, (byte)0x46, 0x0003, (byte)0x46, 0x0000];
var0001 = UI_execute_usecode_array(item, (var0000 & [(byte)0x0B, 0xFFE6, 0x0002]));
if (!(UI_die_roll(0x0001, 0x000A) == 0x0001)) goto labelFunc03DB_00C9;
var0002 = UI_get_object_position(item);
UI_set_item_shape(item, 0x03E0);
var0003 = UI_create_new_object(0x02DA);
UI_set_item_flag(var0003, 0x0012);
UI_set_item_flag(var0003, 0x000B);
if (!var0003) goto labelFunc03DB_00C9;
var0001 = UI_update_last_created(var0002);
if (!var0001) goto labelFunc03DB_00C9;
UI_item_say(var0003, "@Whaaahh!!@");
labelFunc03DB_00C9:
return;
}
void Func03DE shape#(0x3DE) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc03DE_007E;
if (!(!gflags[0x0301])) goto labelFunc03DE_006F;
gflags[0x0301] = true;
UI_show_npc_face(0xFE9C, UI_is_pc_female());
message("You feel as if your mind is being probed, delicately at first, then with more insistance. Images of long past memories flit before your eyes and old emotions resurface. At one point, the images pause as you remember the words Love, Sol, Moons, and Death then a strange sense of deja vu comes over you as the vision comes up to the current time. The images cease and a vast wave of power overwhelms you. A wall of darkness falls...");
say();
UI_remove_npc_face(0xFE9C);
var0000 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x6C, (byte)0x27, 0x0001, (byte)0x6D, (byte)0x27, 0x0001, (byte)0x6E, (byte)0x27, 0x0001, (byte)0x0B, 0xFFFE, 0x0005]);
var0000 = UI_execute_usecode_array(item, [(byte)0x27, 0x0005, (byte)0x55, 0x02C3]);
goto labelFunc03DE_007E;
labelFunc03DE_006F:
UI_show_npc_face(0xFE9C, UI_is_pc_female());
message("Your mind is quickly probed, then cast aside, leaving you feeling slightly ill and filled with an irrational sense of forboding.");
say();
labelFunc03DE_007E:
if (!(event == 0x0002)) goto labelFunc03DE_00B9;
UI_fade_palette(0x000C, 0x0001, 0x0001);
var0000 = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x27, 0x0003, (byte)0x6D, (byte)0x27, 0x0002, (byte)0x6C, (byte)0x27, 0x0001, (byte)0x61]);
labelFunc03DE_00B9:
return;
}
// externs
extern void Func026F shape#(0x26F) ();
void Func03DF shape#(0x3DF) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc03DF_0096;
if (!UI_is_readied(0xFE9C, 0x0001, 0x026F, 0xFE99)) goto labelFunc03DF_0096;
var0000 = UI_find_nearest(item, 0x029C, 0x0003);
if (!var0000) goto labelFunc03DF_0096;
var0001 = UI_get_object_position(var0000);
var0002 = UI_get_object_position(item);
if (!(var0001[0x0001] == var0002[0x0001])) goto labelFunc03DF_0096;
if (!(var0001[0x0002] == var0002[0x0002])) goto labelFunc03DF_0096;
if (!(var0001[0x0003] == (var0002[0x0003] + 0x0001))) goto labelFunc03DF_0096;
var0003 = UI_get_item_frame(var0000);
if (!((var0003 >= 0x000A) && (var0003 <= 0x000C))) goto labelFunc03DF_0096;
item->Func026F();
return;
labelFunc03DF_0096:
return;
}
void Func03E0 shape#(0x3E0) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc03E0_006A;
UI_close_gumps();
var0000 = [(byte)0x46, 0x0000, (byte)0x46, 0x0001, (byte)0x46, 0x0002, (byte)0x58, 0x0011, (byte)0x46, 0x0002, (byte)0x46, 0x0001, (byte)0x46, 0x0000, (byte)0x46, 0x0003, (byte)0x46, 0x0004, (byte)0x58, 0x0011, (byte)0x46, 0x0004, (byte)0x46, 0x0003, (byte)0x46, 0x0000];
var0001 = UI_execute_usecode_array(item, (var0000 & [(byte)0x0B, 0xFFE6, 0x0002]));
labelFunc03E0_006A:
return;
}
// externs
extern void Func0800 0x800 (var var0000);
void Func03F3 shape#(0x3F3) ()
{
if (!(event == 0x0001)) goto labelFunc03F3_000C;
Func0800(item);
labelFunc03F3_000C:
return;
}
void Func03F5 shape#(0x3F5) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc03F5_0074;
if (!(!UI_in_usecode(item))) goto labelFunc03F5_0074;
var0000 = [(byte)0x46, 0x0000, (byte)0x46, 0x0001, (byte)0x46, 0x0002, (byte)0x58, 0x0011, (byte)0x46, 0x0002, (byte)0x46, 0x0001, (byte)0x46, 0x0000, (byte)0x46, 0x0003, (byte)0x46, 0x0004, (byte)0x58, 0x0011, (byte)0x46, 0x0004, (byte)0x46, 0x0003, (byte)0x46, 0x0000];
UI_halt_scheduled(item);
var0001 = UI_execute_usecode_array(item, (var0000 & [(byte)0x0B, 0xFFE6, 0x0002]));
labelFunc03F5_0074:
return;
}
// externs
extern void Func0893 0x893 ();
extern void Func0892 0x892 ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern var Func090A 0x90A ();
extern void Func0891 0x891 ();
extern void Func0890 0x890 ();
extern void Func0894 0x894 (var var0000);
void Func03F7 shape#(0x3F7) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc03F7_0138;
if (!UI_get_cont_items(item, 0x031D, 0x00F3, 0x0004)) goto labelFunc03F7_010C;
UI_show_npc_face(0xFEE0, 0x0000);
if (!gflags[0x0328]) goto labelFunc03F7_002C;
Func0893();
labelFunc03F7_002C:
if (!(!gflags[0x031C])) goto labelFunc03F7_0036;
Func0892();
labelFunc03F7_0036:
if (!gflags[0x031F]) goto labelFunc03F7_0076;
if (!(!gflags[0x0322])) goto labelFunc03F7_0076;
var0000 = Func0931(0xFE9B, 0x0001, 0x0282, 0x0090, 0xFE99);
if (!var0000) goto labelFunc03F7_0076;
message("\"Hast thou in thy possesion the book on the Stone of Castambre?\"");
say();
if (!Func090A()) goto labelFunc03F7_0072;
message("His eyes reveal his hope. As he takes the book from you, it almost appears as if he is smiling.\"");
say();
Func0891();
goto labelFunc03F7_0076;
labelFunc03F7_0072:
message("\"That is, indeed, a pity,\" he says, shaking his head in sadness.");
say();
labelFunc03F7_0076:
if (!(!gflags[0x0314])) goto labelFunc03F7_00DC;
message("\"Greetings to thee, honorable one. I can but assume that my presence here was thy doing.\" It becomes quickly apparent that this creature possesses a greater capability for speech than his fallen companion.");
say();
if (!gflags[0x031C]) goto labelFunc03F7_00D0;
var0001 = UI_find_nearby(0xFE9C, 0x019E, 0x0028, 0x0000);
//enum();
labelFunc03F7_009B:
for (var0004 in var0001 with var0002 to var0003) atend labelFunc03F7_00CD;
var0005 = UI_get_item_frame(var0004);
if (!((var0005 == 0x0004) || (var0005 == 0x0005))) goto labelFunc03F7_00CA;
message("The recently raised golem stares down at the prone, lifeless body of Bollux. Quickly he looks up at you.~\"Wh-what has happened?\"");
say();
Func0890();
return;
labelFunc03F7_00CA:
goto labelFunc03F7_009B;
labelFunc03F7_00CD:
goto labelFunc03F7_00D9;
labelFunc03F7_00D0:
message("\"Now thou must excuse me, for I am off to find my fellow sentry.\"*");
say();
gflags[0x0314] = true;
abort;
labelFunc03F7_00D9:
goto labelFunc03F7_0109;
labelFunc03F7_00DC:
if (!gflags[0x031E]) goto labelFunc03F7_00EC;
message("\"Hail, friend. I hope that I may assist thee in some way.\"");
say();
Func0890();
goto labelFunc03F7_0109;
labelFunc03F7_00EC:
message("\"Art thou here to aid me in healing my brother?\"");
say();
if (!Func090A()) goto labelFunc03F7_0104;
message("\"Very good. I am pleased to call thee friend.\"");
say();
gflags[0x031E] = true;
Func0890();
goto labelFunc03F7_0109;
labelFunc03F7_0104:
message("\"Then begone, for I have work to do!\"*");
say();
abort;
labelFunc03F7_0109:
goto labelFunc03F7_0138;
labelFunc03F7_010C:
if (!(UI_get_cont_items(item, 0x031D, 0x00F4, 0x0004) || (UI_get_item_quality(UI_find_nearby(item, 0x031D, 0x0001, 0x00B0)) == 0x00F4))) goto labelFunc03F7_0138;
Func0894(item);
labelFunc03F7_0138:
return;
}
// externs
extern void Func0269 shape#(0x269) ();
void Func03FD shape#(0x3FD) ()
{
UI_get_npc_object(0x0269)->Func0269();
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0909 0x909 ();
extern void Func08DD 0x8DD ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern var Func090B 0x90B (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0401 object#(0x401) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
gflags[0x0014] = true;
var0000 = Func0908();
var0001 = UI_get_party_list();
var0002 = UI_get_npc_object(0xFFFF);
var0003 = Func0909();
var0004 = UI_is_pc_female();
if (!(event == 0x0003)) goto labelFunc0401_0173;
if (!((!gflags[0x003B]) && ((!gflags[0x005C]) && UI_get_item_flag(0xFE9C, 0x0010)))) goto labelFunc0401_016C;
UI_play_music(0x0023, 0x0000);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x23, (byte)0x55, 0x06AA], 0x007D);
var0005 = UI_execute_usecode_array(UI_get_npc_object(0xFFFF), [(byte)0x23, (byte)0x54, 0x0023, 0x0001, (byte)0x52, "@There, there...@"]);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFF5), [(byte)0x23, (byte)0x52, "@'Tis horrible!@"], 0x0010);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFFF), [(byte)0x23, (byte)0x52, "@I know, 'tis shocking!@"], 0x0021);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFF5), [(byte)0x23, (byte)0x52, "@Who could have done it?@"], 0x0031);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFFF), [(byte)0x23, (byte)0x52, "@I know not...@"], 0x0041);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFF5), [(byte)0x23, (byte)0x52, "@He had no enemies...@"], 0x0051);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFFF), [(byte)0x23, (byte)0x52, "@Poor man.@"], 0x0061);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFF5), [(byte)0x23, (byte)0x52, "@What is to be done?@"], 0x0071);
var0005 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFFFF), [(byte)0x23, (byte)0x52, "@I know not...@"], 0x0081);
gflags[0x005C] = true;
abort;
goto labelFunc0401_0173;
labelFunc0401_016C:
UI_add_to_party(0xFFFF);
labelFunc0401_0173:
if (!((gflags[0x003B] == false) && (event == 0x0002))) goto labelFunc0401_0268;
UI_show_npc_face(0xFFFF, 0x0000);
message("A rather large, familiar man looks up and sees you. The shock that is evident from his dumbfounded expression quickly evolves into delight. He smiles broadly.~~\"");
message(var0000);
message("! If I did not trust the infallibility of mine own eyes, I would not believe it! I was just thinking to myself, 'If only the Avatar were here!' Then...~~\"Lo and behold! Who says that magic is dying! Here is living proof that it is not!~~ \"Dost thou realize, ");
message(var0000);
message(", that it hath been 200 Britannian years since we last met? Why, thou hast not aged at all!\"");
say();
message("Iolo winks conspiratorially. He whispers, \"Due no doubt to the difference in the structure of time in our original homeland and that of Britannia?\"~~He resumes speaking aloud. \"I have aged a little, as thou canst see. But of course, I have stayed here in Britannia all this time.~~\"Oh, but Avatar! Wait until I tell the others! They will be happy to see thee! Welcome to Trinsic!\"*");
say();
UI_show_npc_face(0xFFF5, 0x0000);
if (!var0004) goto labelFunc0401_01B8;
var0006 = "her";
goto labelFunc0401_01BE;
labelFunc0401_01B8:
var0006 = "him";
labelFunc0401_01BE:
message("The distraught peasant interrupts Iolo. \"Show ");
message(var0006);
message(" the stables, milord. 'Tis horrible!\"*");
say();
UI_remove_npc_face(0xFFF5);
UI_show_npc_face(0xFFFF, 0x0000);
message("Iolo nods, his joy fading quickly as he is reminded of the reason he was standing there in the first place.~~ \"Ah, yes. Our friend Petre here discovered something truly ghastly this morning. Take a look inside the stables. I shall accompany thee.\"");
say();
if (!(!UI_mouse_exists())) goto labelFunc0401_01E9;
message("Iolo takes you aside and whispers, \"Avatar, for the sake of our mutual sanity, I strongly suggest that thou shouldst purchase a mouse.\"");
say();
labelFunc0401_01E9:
var0007 = UI_delayed_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x23, (byte)0x2C, (byte)0x27, 0x0014, (byte)0x55, 0x06FA], 0x0005);
Func08DD();
UI_add_to_party(0xFFFF);
UI_set_schedule_type(UI_get_npc_object(0xFFF5), 0x0007);
UI_set_schedule_type(UI_get_npc_object(0xFFF4), 0x0003);
UI_halt_scheduled(UI_get_npc_object(0xFFFF));
UI_halt_scheduled(UI_get_npc_object(0xFFF5));
if (!(!gflags[0x003B])) goto labelFunc0401_0267;
var0005 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x54, 0x0000, 0x0000]);
gflags[0x003B] = true;
labelFunc0401_0267:
abort;
labelFunc0401_0268:
if (!(event == 0x0001)) goto labelFunc0401_0733;
var0000 = Func0908();
var0001 = UI_get_party_list();
var0002 = UI_get_npc_object(0xFFFF);
var0003 = Func0909();
UI_show_npc_face(0xFFFF, 0x0000);
var0008 = Func08F7(0xFFF5);
var0009 = Func08F7(0xFFFD);
var000A = false;
var000B = false;
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x02EA]) goto labelFunc0401_02ED;
if (!(UI_get_timer(0x000B) < 0x0001)) goto labelFunc0401_02DD;
message("\"I am sorry, I do not join thieves.\"");
say();
abort;
goto labelFunc0401_02ED;
labelFunc0401_02DD:
message("\"All right, I suppose thou hast learned thy lesson. I shall rejoin.\"");
say();
UI_add_to_party(0xFFFF);
gflags[0x02EA] = false;
abort;
labelFunc0401_02ED:
if (!(!gflags[0x0057])) goto labelFunc0401_02FB;
UI_add_answer("Trinsic");
labelFunc0401_02FB:
if (!(var0002 in var0001)) goto labelFunc0401_030C;
UI_add_answer("leave");
labelFunc0401_030C:
if (!(!(var0002 in var0001))) goto labelFunc0401_031E;
UI_add_answer("join");
labelFunc0401_031E:
if (!gflags[0x003F]) goto labelFunc0401_032B;
UI_add_answer("Fellowship");
labelFunc0401_032B:
if (!var0008) goto labelFunc0401_0338;
UI_add_answer("Petre");
labelFunc0401_0338:
if (!(gflags[0x003C] && (!gflags[0x0057]))) goto labelFunc0401_034D;
UI_add_answer("murder");
goto labelFunc0401_0354;
labelFunc0401_034D:
UI_add_answer("stables");
labelFunc0401_0354:
if (!gflags[0x003C]) goto labelFunc0401_0361;
UI_remove_answer("stables");
labelFunc0401_0361:
message("\"Yes, my friend?\" Iolo asks.");
say();
labelFunc0401_0365:
converse (0) atend labelFunc0401_072E;
case "name" atend labelFunc0401_0381:
message("Your friend snorts. \"What, art thou joking, ");
message(var0003);
message("? Thou dost not know thine old friend Iolo?\"");
say();
UI_remove_answer("name");
labelFunc0401_0381:
case "stables" atend labelFunc0401_0394:
message("\"Thou must see for thyself, ");
message(var0000);
message(". Brace thyself, my friend. 'Tis truly a horrible sight.\"*");
say();
abort;
labelFunc0401_0394:
case "job" atend labelFunc0401_03AE:
message("\"Why, right now 'tis adventuring with that most courageous of all legendary heroes, the Avatar!\"");
say();
UI_add_answer("Avatar");
UI_remove_answer("job");
labelFunc0401_03AE:
case "Avatar" atend labelFunc0401_03D4:
message("\"Why, there is no doubt -thou- art the Avatar, ");
message(var0000);
message("! However, thou mayest have some trouble convincing those who do not know thy face.~~\"Of course, thou -shouldst- be safe around thy friends!\"");
say();
UI_remove_answer("Avatar");
UI_add_answer(["trouble", "friends"]);
labelFunc0401_03D4:
case "trouble" atend labelFunc0401_03E7:
message("\"Well, after all, thou hast been gone for 200 years! Most of those who would recognize thee are long gone! Sorry to be blunt and all, my friend, but there it is.\"");
say();
UI_remove_answer("trouble");
labelFunc0401_03E7:
case "murder" atend labelFunc0401_0415:
if (!(!gflags[0x003D])) goto labelFunc0401_040A;
message("\"Ugly, is it not? From what I have heard, neither Christopher nor Inamo deserved so grisly a death. Thou shouldst certainly ask everyone in town about it.\"");
say();
UI_add_answer(["Christopher", "Inamo"]);
goto labelFunc0401_040E;
labelFunc0401_040A:
message("\"I wish thee luck in determining what is going on. I haven't a clue!\" Iolo grins broadly, patting you on the back.");
say();
labelFunc0401_040E:
UI_remove_answer("murder");
labelFunc0401_0415:
case "Lord British" atend labelFunc0401_0452:
var000A = true;
if (!gflags[0x0065]) goto labelFunc0401_0432;
message("\"Well, between thee and me, I think that he hath aged much more than I!\"");
say();
message("\"Full of information, that chap. But he never seems to leave Britain anymore.\"");
say();
goto labelFunc0401_0436;
labelFunc0401_0432:
message("\"My liege will be enormously pleased to see thee. We should travel to Britain post haste. I am sure he can give thee some valuable information and update thee on much of what thou hast missed in the 200 years of thine absence.\"");
say();
labelFunc0401_0436:
if (!(!var000B)) goto labelFunc0401_0444;
UI_add_answer("Britain");
labelFunc0401_0444:
UI_add_answer("information");
UI_remove_answer("Lord British");
labelFunc0401_0452:
case "information" atend labelFunc0401_0473:
message("\"Certainly. LB is always a repository of the most amazing facts, eh? Probably something to do with listening and not always talking.\"");
say();
if (!var0009) goto labelFunc0401_0468;
message("\"Right, Shamino?\"~~Shamino grunts and turns away as Iolo grins mischievously.");
say();
labelFunc0401_0468:
message("\"Speaking of information, reminds me of something! I have a little item which might be useful to thee. 'Tis an abacus. Use it to tally up all of our gold.\"");
say();
UI_remove_answer("information");
labelFunc0401_0473:
case "friends" atend labelFunc0401_0493:
message("\"Thou must mean Shamino and Dupre.\"");
say();
UI_remove_answer("friends");
UI_add_answer(["Shamino", "Dupre"]);
labelFunc0401_0493:
case "Dupre" atend labelFunc0401_050A:
var000C = Func08F7(0xFFFC);
if (!var000C) goto labelFunc0401_04E0;
message("\"Why, he is right there, ");
message(var0003);
message(".\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"I am right here, ");
message(var0003);
message(".\"*");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFFF, 0x0000);
message("\"See? I told thee!\"");
say();
goto labelFunc0401_0503;
labelFunc0401_04E0:
message("\"I am sure we shall find him somewhere. Last I heard, he was in Jhelom. Didst thou know he was knighted?\"");
say();
if (!Func090A()) goto labelFunc0401_04F1;
message("\"Hard to believe, is it not?\"");
say();
goto labelFunc0401_0503;
labelFunc0401_04F1:
message("\"It's true! Lord British knighted him recently. Why he did so, I cannot imagine!\"");
say();
if (!(!var000A)) goto labelFunc0401_0503;
UI_add_answer("Lord British");
labelFunc0401_0503:
UI_remove_answer("Dupre");
labelFunc0401_050A:
case "Shamino" atend labelFunc0401_0567:
if (!var0009) goto labelFunc0401_054E;
message("\"Why, he is right there, ");
message(var0003);
message(".\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"I am right here, ");
message(var0003);
message(".\"*");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFFF, 0x0000);
message("\"See? I told thee!\"");
say();
goto labelFunc0401_0560;
labelFunc0401_054E:
message("\"Thy best bet in finding that rascal is to look in Britain. He has a girlfriend employed as an actress at the Royal Theatre.\"");
say();
if (!(!var000B)) goto labelFunc0401_0560;
UI_add_answer("Britain");
labelFunc0401_0560:
UI_remove_answer("Shamino");
labelFunc0401_0567:
case "Trinsic" atend labelFunc0401_0587:
message("\"The town has changed little, has it not? Everyone seems a little defensive, though. When we ran into each other, I was passing through and had stopped to visit my friend Finnigan.\"");
say();
UI_remove_answer("Trinsic");
UI_add_answer(["defensive", "Finnigan"]);
labelFunc0401_0587:
case "defensive" atend labelFunc0401_059A:
message("\"I think it best for thee to speak with them thyself. There have been many changes since last thou didst visit, Avatar. I think thou wilt feel at times a bit... well, old-fashioned.\"");
say();
UI_remove_answer("defensive");
labelFunc0401_059A:
case "Britain" atend labelFunc0401_05C6:
var000B = true;
message("\"It has grown since thou last saw it. Paws is now a virtual township of Britain! It dominates the east coast of Britannia.~~\"Lord British's castle is still the overwhelming feature.\"");
say();
UI_remove_answer("Britain");
if (!(!var000A)) goto labelFunc0401_05BF;
UI_add_answer("Lord British");
labelFunc0401_05BF:
UI_add_answer("Paws");
labelFunc0401_05C6:
case "Paws" atend labelFunc0401_05D9:
message("\"It still lies between Britain and Trinsic, but it has grown further into Britain itself.\"");
say();
UI_remove_answer("Paws");
labelFunc0401_05D9:
case "Finnigan" atend labelFunc0401_05EC:
message("\"He is a good man. The Mayor of Trinsic, he is. I have known him for years.\"");
say();
UI_remove_answer("Finnigan");
labelFunc0401_05EC:
case "Christopher" atend labelFunc0401_0605:
message("\"I did not know him, ");
message(var0003);
message(".\"");
say();
UI_remove_answer("Christopher");
labelFunc0401_0605:
case "Inamo" atend labelFunc0401_061F:
message("\"I never spoke with him. It is truly a shame. There are not many gargoyles living amongst the humans. This will only discourage the practice even more.\"");
say();
UI_remove_answer("Inamo");
UI_add_answer("gargoyles");
labelFunc0401_061F:
case "leave" atend labelFunc0401_0696:
message("Iolo looks hurt. \"Thou dost really want me to leave?\"");
say();
var000D = Func090A();
if (!var000D) goto labelFunc0401_0692;
message("\"Dost thou want me to wait here or dost thou want me to go home to Yew?\"");
say();
UI_clear_answers();
var000E = Func090B(["wait here", "go home"]);
if (!(var000E == "wait here")) goto labelFunc0401_0675;
message("\"Very well. I shall wait here until thou dost return and ask me to rejoin.\"*");
say();
UI_remove_from_party(0xFFFF);
UI_set_schedule_type(UI_get_npc_object(0xFFFF), 0x000F);
abort;
goto labelFunc0401_068F;
labelFunc0401_0675:
message("\"Farewell, then. I shall always rejoin if thou dost so desire.\" Iolo turns away from you.*");
say();
UI_remove_from_party(0xFFFF);
UI_set_schedule_type(UI_get_npc_object(0xFFFF), 0x000B);
abort;
labelFunc0401_068F:
goto labelFunc0401_0696;
labelFunc0401_0692:
message("\"Whew. Thou didst frighten me!\"");
say();
labelFunc0401_0696:
case "join" atend labelFunc0401_06E7:
message("\"I was waiting until thou didst ask me!\"");
say();
var000F = 0x0000;
//enum();
labelFunc0401_06A9:
for (var0012 in var0001 with var0010 to var0011) atend labelFunc0401_06C1;
var000F = (var000F + 0x0001);
goto labelFunc0401_06A9;
labelFunc0401_06C1:
if (!(var000F < 0x0008)) goto labelFunc0401_06E3;
UI_add_to_party(0xFFFF);
UI_remove_answer("join");
UI_add_answer("leave");
goto labelFunc0401_06E7;
labelFunc0401_06E3:
message("\"It seems that thou hast enough members travelling with thee already! I shall wait until someone leaves the group.\"");
say();
labelFunc0401_06E7:
case "gargoyles" atend labelFunc0401_06FA:
message("\"Since thou wert last in Britannia, the Gargoyles have begun to integrate with the humans. Most of them live on Sutek's old island, which was renamed 'Terfin'. However, thou mayest see one here and there throughout the land.\"");
say();
UI_remove_answer("gargoyles");
labelFunc0401_06FA:
case "Fellowship" atend labelFunc0401_070D:
message("\"I do not know much about them, except that they originated about twenty Britannian years ago. They seem to do good deeds and are looked at with favor by most everyone. They have branch offices all over Britannia. I have not personally had any dealings with them.\"");
say();
UI_remove_answer("Fellowship");
labelFunc0401_070D:
case "Petre" atend labelFunc0401_0720:
message("\"He is just an acquaintance.\"");
say();
UI_remove_answer("Petre");
labelFunc0401_0720:
case "bye" atend labelFunc0401_072B:
goto labelFunc0401_072E;
labelFunc0401_072B:
goto labelFunc0401_0365;
labelFunc0401_072E:
break;
message("\"'Tis always a pleasure to speak with thee, my friend.\"*");
say();
labelFunc0401_0733:
if (!(event == 0x0000)) goto labelFunc0401_0741;
Func092E(0xFFFF);
labelFunc0401_0741:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0909 0x909 ();
extern var Func090B 0x90B (var var0000);
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
void Func0402 object#(0x402) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
if (!(event == 0x0001)) goto labelFunc0402_0659;
var0000 = Func0908();
var0001 = "Avatar";
var0002 = UI_get_party_list();
var0003 = UI_is_pc_female();
var0004 = UI_get_npc_object(0xFFFE);
var0005 = false;
var0006 = false;
var0007 = false;
if (!(!gflags[0x0015])) goto labelFunc0402_004C;
UI_show_npc_face(0xFFFE, 0x0001);
goto labelFunc0402_006D;
labelFunc0402_004C:
if (!(var0004 in var0002)) goto labelFunc0402_0063;
UI_show_npc_face(0xFFFE, 0x0000);
goto labelFunc0402_006D;
labelFunc0402_0063:
UI_show_npc_face(0xFFFE, 0x0001);
labelFunc0402_006D:
if (!gflags[0x0046]) goto labelFunc0402_0079;
var0008 = var0000;
labelFunc0402_0079:
if (!gflags[0x0047]) goto labelFunc0402_0085;
var0008 = var0001;
labelFunc0402_0085:
var0009 = Func0909();
if (!(!gflags[0x0015])) goto labelFunc0402_012B;
message("You see a boy who appears to be a young teen. He is dirty and unkempt. He looks as if he has been crying, but he sits up straight and looks sharp when he sees you.");
say();
message("\"Who art thou and what dost thou want?\" You realize the boy has a sling in hand.");
say();
message("You face the boy and tell him who you are.");
say();
var000A = Func090B([var0000, var0001]);
if (!(var000A == var0000)) goto labelFunc0402_00C8;
message("\"So? What makes thee so special?\"*");
say();
var0008 = var0000;
gflags[0x0046] = true;
goto labelFunc0402_00D6;
labelFunc0402_00C8:
message("\"The last time I heard -that- one I fell off a prehistoric creature from Eodon!\"");
say();
var0008 = var0001;
gflags[0x0047] = true;
labelFunc0402_00D6:
var000B = Func08F7(0xFFFF);
if (!var000B) goto labelFunc0402_0116;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Boy, this is the Avatar! ");
say();
if (!(!var0003)) goto labelFunc0402_0101;
message("Upon my word he is! He has come to help thee!\"*");
say();
goto labelFunc0402_0105;
labelFunc0402_0101:
message("Upon my word she is! She has come to help thee!\"*");
say();
labelFunc0402_0105:
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFE, 0x0001);
labelFunc0402_0116:
message("Then the boy narrows his eyes, studying you. He slowly lowers his weapon, ready to act in case it's a trap. You admire the boy's obvious experience in dealing with strangers.");
say();
message("You and Spark stare at each other. He is not sure what to do. Finally, he nods his head. \"All right. I believe thee. Thou dost look like paintings I have seen. I am sorry, ");
message(var0009);
message(".\"");
say();
gflags[0x0015] = true;
goto labelFunc0402_0135;
labelFunc0402_012B:
message("\"Yes, ");
message(var0008);
message("?\" Spark asks. \"What dost thou want?\"");
say();
labelFunc0402_0135:
UI_add_answer(["name", "job", "murder", "bye"]);
if (!gflags[0x0048]) goto labelFunc0402_0155;
UI_add_answer("key");
labelFunc0402_0155:
if (!gflags[0x003E]) goto labelFunc0402_0162;
UI_remove_answer("key");
labelFunc0402_0162:
if (!(var0004 in var0002)) goto labelFunc0402_0173;
UI_add_answer("leave");
labelFunc0402_0173:
if (!(gflags[0x0049] && (!(var0004 in var0002)))) goto labelFunc0402_0189;
UI_add_answer("join");
labelFunc0402_0189:
if (!(gflags[0x003E] && (!gflags[0x0064]))) goto labelFunc0402_01A4;
UI_add_answer(["gold", "medallion", "scroll"]);
labelFunc0402_01A4:
converse (0) atend labelFunc0402_0642;
case "name" atend labelFunc0402_01BA:
message("\"I have always been called Spark.\"");
say();
UI_remove_answer("name");
labelFunc0402_01BA:
case "job" atend labelFunc0402_01D6:
message("\"I have no job. I am only fourteen, so I am just learning how to best help Father in the smithy,\" he says, proudly. But then he suddenly realizes something which terrifies him. \"And now that Father is dead, I am an orphan!\"");
say();
UI_add_answer(["smithy", "Father", "orphan"]);
labelFunc0402_01D6:
case "smithy" atend labelFunc0402_01E9:
message("\"Father was the best blacksmith in Britannia. People were always coming from everywhere to get him to make this and that.\"");
say();
UI_remove_answer("smithy");
labelFunc0402_01E9:
case "orphan" atend labelFunc0402_01FC:
message("\"My mother died a long time ago. I can just barely remember her.\"");
say();
UI_remove_answer("orphan");
labelFunc0402_01FC:
case "murder" atend labelFunc0402_0252:
if (!(!gflags[0x0043])) goto labelFunc0402_0222;
message("\"I cannot believe Father is dead. And poor Inamo, too. It is so strange. I -dreamed- it was happening. Well, in a way.~~\"Last night I was having a nightmare about Father. I dreamed that he screamed, and it woke me up. I looked around the house, but he was not in his bed. I was wide awake, so I went out to find him.\"");
say();
UI_add_answer(["Inamo", "nightmare", "find"]);
goto labelFunc0402_024B;
labelFunc0402_0222:
message("\"I am sure thou canst find the man who killed Father!\"");
say();
message("\"Dost thou want me to repeat everything I know about the murder?\"");
say();
if (!Func090A()) goto labelFunc0402_0247;
message("\"What dost thou want to know about?\"");
say();
UI_add_answer(["my story", "key", "chest"]);
goto labelFunc0402_024B;
labelFunc0402_0247:
message("\"All right.\"");
say();
labelFunc0402_024B:
UI_remove_answer("murder");
labelFunc0402_0252:
case "chest" atend labelFunc0402_0272:
if (!gflags[0x003E]) goto labelFunc0402_0267;
message("\"I am not sure if it's the same one, but I think I saw Father with a scroll just like the one in the chest one or two days ago. I know he was making something special for someone. I am fairly certain it was at his shop. As for the medallion, he usually wore it. I do not know why it was in the chest. And the gold-- I have never seen so much gold in my life. I cannot imagine why father had it.\"");
say();
goto labelFunc0402_026B;
labelFunc0402_0267:
message("\"Thou shouldst try opening the chest.\"");
say();
labelFunc0402_026B:
UI_remove_answer("chest");
labelFunc0402_0272:
case "my story" atend labelFunc0402_0292:
message("\"It is so strange. I -dreamed- it was happening. Well, in a way.~~\"Last night I was having a nightmare about Father. I dreamed that he screamed, and it woke me up. I looked around the house, but he was not in his bed. I was wide awake, so I went out to find him.\"");
say();
UI_remove_answer("my story");
UI_add_answer(["find", "nightmare"]);
labelFunc0402_0292:
case "nightmare" atend labelFunc0402_02A5:
message("\"I know it sounds witless, but... I dreamed that a big red-faced man was watching down on everything and... He looked down... And he noticed Father... That is all I remember.\"");
say();
UI_remove_answer("nightmare");
labelFunc0402_02A5:
case "find" atend labelFunc0402_02BF:
message("\"No, I did not find him. At least, not right away. But I did see something.\"");
say();
UI_add_answer("something");
UI_remove_answer("find");
labelFunc0402_02BF:
case "something" atend labelFunc0402_02DF:
message("\"I was in front of the stables. I saw a man and a wingless gargoyle running from behind the building. They ran toward the dock. Then I went inside and found... Father.\"~~Spark's voice falters, and he begins to sob a little.");
say();
UI_add_answer(["man", "gargoyle"]);
UI_remove_answer("something");
labelFunc0402_02DF:
case "man" atend labelFunc0402_02F9:
message("\"All I saw of him was that the man had a hook for a right hand.\"");
say();
UI_add_answer("hook");
UI_remove_answer("man");
labelFunc0402_02F9:
case "gargoyle" atend labelFunc0402_030C:
message("\"I cannot tell one gargoyle from another. I could not identify him, except that he had no wings.\"");
say();
UI_remove_answer("gargoyle");
labelFunc0402_030C:
case "hook" atend labelFunc0402_03DD:
if (!(!gflags[0x0043])) goto labelFunc0402_03D2;
if (!(!(var0004 in var0002))) goto labelFunc0402_03CB;
message("\"Wilt thou go find the Man with the Hook? Let me help thee!\" the boy pleads. His tears cease, and his face takes on a determined, forceful look.");
say();
gflags[0x0043] = true;
message("\"Take me with thee! Please! I must avenge Father's death! If thou dost not take me with thee, I will follow thee anyway!\"");
say();
message("The boy is all excited now. \"I am an expert with a slingshot! I can strike sewer rats with almost every shot! And I am small -- I do not eat much! Please take me! Please ask me to join thee!\"*");
say();
var000B = Func08F7(0xFFFF);
if (!var000B) goto labelFunc0402_0378;
UI_show_npc_face(0xFFFF, 0x0000);
message("Iolo whispers to you. \"I do not know about taking a child on the road with us, ");
message(var0009);
message(".\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFE, 0x0001);
message("Suddenly, Spark lets his sling fly. His target, a small fly hovering above Iolo's head, is smacked out of the air. You laugh as Iolo yelps, jumps away, curses and runs his fingers through his hair. ");
say();
UI_play_sound_effect(0x0001);
goto labelFunc0402_037C;
labelFunc0402_0378:
message("Suddenly, Spark lets his sling fly. His target, a small fly hovering above your head, is smacked out of the air. ");
say();
labelFunc0402_037C:
message("\"I told thee I am good! May I join?\"");
say();
var000C = Func090A();
if (!var000C) goto labelFunc0402_03B2;
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFFE, 0x0000);
message("\"Hooray!\" the boy leaps with delight.");
say();
UI_add_answer("leave");
UI_add_to_party(0xFFFE);
goto labelFunc0402_03C4;
labelFunc0402_03B2:
message("\"Fine.\" The boy looks angry. \"But I'll follow thee anyway.\"");
say();
UI_add_to_party(0xFFFE);
UI_add_answer("leave");
labelFunc0402_03C4:
gflags[0x0049] = true;
goto labelFunc0402_03CF;
labelFunc0402_03CB:
message("\"I know thou wilt find that man.\"");
say();
labelFunc0402_03CF:
goto labelFunc0402_03D6;
labelFunc0402_03D2:
message("\"I know thou wilt find that man.\"");
say();
labelFunc0402_03D6:
UI_remove_answer("hook");
labelFunc0402_03DD:
case "join" atend labelFunc0402_0443:
message("\"'Tis about time thou didst ask again!\"");
say();
var000D = 0x0000;
//enum();
labelFunc0402_03F0:
for (var0010 in var0002 with var000E to var000F) atend labelFunc0402_0408;
var000D = (var000D + 0x0001);
goto labelFunc0402_03F0;
labelFunc0402_0408:
if (!(var000D < 0x0008)) goto labelFunc0402_0431;
UI_add_to_party(0xFFFE);
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFFE, 0x0000);
message("\"Hooray!\"");
say();
goto labelFunc0402_0435;
labelFunc0402_0431:
message("\"Well, on second thought, it looks like too big of a crowd. I do not like crowds.\"");
say();
labelFunc0402_0435:
UI_remove_answer("join");
UI_add_answer("leave");
labelFunc0402_0443:
case "leave" atend labelFunc0402_04CB:
message("\"Don't make me go!\" Spark cries. \"Dost thou really want me to go?\" He looks at you with puppy-dog eyes.");
say();
var0011 = Func090A();
if (!var0011) goto labelFunc0402_04C7;
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFFE, 0x0001);
message("\"Well, should I just wait here or dost thou want me to go home to Trinsic?\"");
say();
UI_clear_answers();
var000A = Func090B(["wait here", "go home"]);
if (!(var000A == "wait here")) goto labelFunc0402_04AA;
message("\"All right. I shall wait here until thou dost return and ask me to rejoin.\"*");
say();
UI_remove_from_party(0xFFFE);
UI_set_schedule_type(UI_get_npc_object(0xFFFE), 0x000F);
abort;
goto labelFunc0402_04C4;
labelFunc0402_04AA:
message("Spark bows his head and murmurs, \"Goodbye, then.\"*");
say();
UI_remove_from_party(0xFFFE);
UI_set_schedule_type(UI_get_npc_object(0xFFFE), 0x000B);
abort;
labelFunc0402_04C4:
goto labelFunc0402_04CB;
labelFunc0402_04C7:
message("\"Thou wilt not be sorry!\"");
say();
labelFunc0402_04CB:
case "Father" atend labelFunc0402_04E5:
message("\"Father was the blacksmith. I cannot believe that he has been murdered! He had no enemies that I know of. Unless it was The Fellowship.\"");
say();
UI_add_answer("Fellowship");
UI_remove_answer("Father");
labelFunc0402_04E5:
case "Fellowship" atend labelFunc0402_0503:
message("\"Well, at first they harassed Father and me when they came around asking us to join. I suppose they do good things. Many people like them. Father eventually joined the group after he went to Britain and took one of their tests.\"");
say();
UI_add_answer("tests");
gflags[0x003F] = true;
UI_remove_answer("Fellowship");
labelFunc0402_0503:
case "tests" atend labelFunc0402_0523:
message("\"I do not know anything about them. I never took one. Maybe thou shouldst ask the man at the Fellowship Branch. Klog.\"");
say();
UI_add_answer(["branch", "Klog"]);
UI_remove_answer("tests");
labelFunc0402_0523:
case "branch" atend labelFunc0402_0536:
message("\"The Fellowship has branches all over Britannia.\"");
say();
UI_remove_answer("branch");
labelFunc0402_0536:
case "Klog" atend labelFunc0402_0556:
message("\"He is the head of the Fellowship Branch here in Trinsic. He and Father got into an argument a week ago when Klog and two of his friends came over to talk with Father.\"");
say();
UI_add_answer(["argument", "friends"]);
UI_remove_answer("Klog");
labelFunc0402_0556:
case "argument" atend labelFunc0402_0569:
message("\"I don't know what it was about. Perhaps thou shouldst ask Klog.\"");
say();
UI_remove_answer("argument");
labelFunc0402_0569:
case "friends" atend labelFunc0402_057C:
message("\"I do not remember what they look like. I did not recognize them. They were most likely some other members of The Fellowship.\"");
say();
UI_remove_answer("friends");
labelFunc0402_057C:
case "key" atend labelFunc0402_05BE:
if (!gflags[0x003E]) goto labelFunc0402_0591;
message("\"That key opened my Father's chest, did it not?\"");
say();
goto labelFunc0402_05B7;
labelFunc0402_0591:
var0012 = Func0931(0xFE9B, 0x0001, 0x0281, 0x00FD, 0xFE99);
if (!var0012) goto labelFunc0402_05B3;
message("\"That looks like the key to Father's chest. I wondered where it was!\"");
say();
goto labelFunc0402_05B7;
labelFunc0402_05B3:
message("\"What key? Dost thou have the key to Father's chest? Where is it?\"");
say();
labelFunc0402_05B7:
UI_remove_answer("key");
labelFunc0402_05BE:
case "gold" atend labelFunc0402_05D9:
message("The boy's eyes widen. \"I had no idea that Father had that much money hidden away!\"");
say();
message("\"I suppose I could give it to thee if thou art going to look for those who killed my Father!\"");
say();
UI_remove_answer("gold");
var0006 = true;
labelFunc0402_05D9:
case "medallion" atend labelFunc0402_05F0:
message("\"Father was a member of The Fellowship. I don't know why the medallion was in the chest -- he usually wore it.\"");
say();
UI_remove_answer("medallion");
var0007 = true;
labelFunc0402_05F0:
case "scroll" atend labelFunc0402_060E:
message("\"I am not sure if it's the same one, but I think I saw Father with a scroll just like that one or two days ago. I know he was making something special for someone. I am fairly certain it was at his shop.\"");
say();
UI_add_answer("shop");
UI_remove_answer("scroll");
var0005 = true;
labelFunc0402_060E:
case "shop" atend labelFunc0402_0621:
message("\"It's in the southwest corner of town.\"");
say();
UI_remove_answer("shop");
labelFunc0402_0621:
case "Inamo" atend labelFunc0402_0634:
message("\"He was a very nice gargoyle. He helped Father a lot and did tasks in the stables. I cannot think why anyone would want to kill him!\"");
say();
UI_remove_answer("Inamo");
labelFunc0402_0634:
case "bye" atend labelFunc0402_063F:
goto labelFunc0402_0642;
labelFunc0402_063F:
goto labelFunc0402_01A4;
labelFunc0402_0642:
break;
message("\"All right, I will speak with thee later.\"*");
say();
if (!(var0005 && (var0006 && var0007))) goto labelFunc0402_0659;
gflags[0x0064] = true;
labelFunc0402_0659:
if (!(event == 0x0000)) goto labelFunc0402_0662;
abort;
labelFunc0402_0662:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090B 0x90B (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0403 object#(0x403) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
if (!(event == 0x0001)) goto labelFunc0403_04B2;
UI_show_npc_face(0xFFFD, 0x0000);
var0000 = UI_is_pc_female();
var0001 = UI_get_party_list();
var0002 = UI_get_npc_object(0xFFFD);
var0003 = Func0908();
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x02EC]) goto labelFunc0403_006C;
if (!(UI_get_timer(0x000B) < 0x0001)) goto labelFunc0403_005C;
message("\"I am sorry, I do not join thieves.\"");
say();
abort;
goto labelFunc0403_006C;
labelFunc0403_005C:
message("\"All right, I suppose thou hast learned thy lesson. I shall rejoin.\"");
say();
UI_add_to_party(0xFFFD);
gflags[0x02EC] = false;
abort;
labelFunc0403_006C:
if (!gflags[0x006D]) goto labelFunc0403_0079;
UI_add_answer("Amber");
labelFunc0403_0079:
if (!gflags[0x006E]) goto labelFunc0403_0086;
UI_add_answer("settle down");
labelFunc0403_0086:
if (!(var0002 in var0001)) goto labelFunc0403_0097;
UI_add_answer("leave");
labelFunc0403_0097:
if (!(!(var0002 in var0001))) goto labelFunc0403_00A9;
UI_add_answer("join");
labelFunc0403_00A9:
if (!(!gflags[0x0016])) goto labelFunc0403_00BB;
message("Your old friend Shamino stands before you and you marvel that he has finally progressed into what some might call 'middle age'.");
say();
gflags[0x0016] = true;
goto labelFunc0403_00C5;
labelFunc0403_00BB:
message("\"Yes, ");
message(var0003);
message("?\" Shamino asks.");
say();
labelFunc0403_00C5:
converse (0) atend labelFunc0403_04AD;
case "name" atend labelFunc0403_00DB:
message("Your friend looks at you like you have lost your head. \"'Tis Shamino. -Sha-mi-no-.\"");
say();
UI_remove_answer("name");
labelFunc0403_00DB:
case "job" atend labelFunc0403_0106:
message("\"I should hope 'twould be adventuring with thee! I am weary of loitering about Britain. There is much we could be accomplishing! Where hast thou been, anyway?\"");
say();
if (!(!gflags[0x00D5])) goto labelFunc0403_00F9;
message("\"But please tell me what brings thee here!\"");
say();
UI_add_answer("murder in Trinsic");
labelFunc0403_00F9:
UI_add_answer(["Britain", "accomplishing"]);
labelFunc0403_0106:
case "accomplishing" atend labelFunc0403_0126:
message("\"Well, I do not know if thou art aware, but we are having many problems with magic in general, and with the Moongates.\"");
say();
UI_remove_answer("accomplishing");
UI_add_answer(["magic", "Moongates"]);
labelFunc0403_0126:
case "Britain" atend labelFunc0403_0146:
message("\"Yes, I have been in Britain as of late, attempting to find work. Thou dost know that adventuring comes around too infrequently. One must find -other- diversions. Which reminds me... I have thy pocketwatch.\"");
say();
UI_remove_answer("Britain");
UI_add_answer(["diversions", "pocketwatch"]);
labelFunc0403_0146:
case "pocketwatch" atend labelFunc0403_0196:
if (!(!gflags[0x00D9])) goto labelFunc0403_0185;
message("\"Thou didst leave it when thou didst last visit Britannia. Here it is.\"");
say();
var0004 = UI_add_party_items(0x0001, 0x009F, 0xFE99, 0xFE99, false);
if (!var0004) goto labelFunc0403_017E;
message("Shamino hands you the pocketwatch.");
say();
gflags[0x00D9] = true;
goto labelFunc0403_0182;
labelFunc0403_017E:
message("\"Oops. Thine hands are too full to take it. Ask me about it later.\"");
say();
labelFunc0403_0182:
goto labelFunc0403_018F;
labelFunc0403_0185:
message("\"I already gave thee the pocketwatch, ");
message(var0003);
message(". I hope thou didst not lose it again!\"");
say();
labelFunc0403_018F:
UI_remove_answer("pocketwatch");
labelFunc0403_0196:
case "diversions" atend labelFunc0403_0214:
message("\"The usual. I do not see our old friends often, and Lord British rarely finds work for me. I certainly have no time for wenching or drinking -- I have grown up a bit.\"*");
say();
UI_remove_answer("diversions");
var0005 = Func08F7(0xFFFF);
if (!var0005) goto labelFunc0403_0214;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Ahem, I have heard something about an actress, no?\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFD, 0x0000);
message("\"What dost thou know of it?\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"");
message(var0003);
message(", ask him about 'Amber'.\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Thou art a swine, Iolo.\"");
say();
UI_add_answer(["Amber", "friends", "Lord British"]);
labelFunc0403_0214:
case "Lord British" atend labelFunc0403_0236:
if (!(!gflags[0x0098])) goto labelFunc0403_022B;
message("\"I suggest that thou proceed immediately to see him!\"*");
say();
abort;
goto labelFunc0403_022F;
labelFunc0403_022B:
message("\"I am glad I do not look as aged as -he- does!\"");
say();
labelFunc0403_022F:
UI_remove_answer("Lord British");
labelFunc0403_0236:
case "friends" atend labelFunc0403_0256:
message("\"Thou dost mean Iolo and Dupre, I presume?\"");
say();
UI_remove_answer("friends");
UI_add_answer(["Iolo", "Dupre"]);
labelFunc0403_0256:
case "Iolo" atend labelFunc0403_02A2:
var0005 = Func08F7(0xFFFF);
if (!var0005) goto labelFunc0403_0297;
message("\"Dost thou mean that miserable excuse for an archer?\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Watch what thou dost say, scoundrel!\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Yes, that's Iolo!\"");
say();
goto labelFunc0403_029B;
labelFunc0403_0297:
message("\"Surely he is around somewhere. Where didst thou last leave him?\"");
say();
labelFunc0403_029B:
UI_remove_answer("Iolo");
labelFunc0403_02A2:
case "Dupre" atend labelFunc0403_034C:
var0006 = Func08F7(0xFFFC);
if (!var0006) goto labelFunc0403_0333;
message("\"Dost thou mean that incorrigible wencher and drunkard?\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Do not forget that my mere thumb can squash in thy face like a marshmallow.\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Yes, that's Dupre!\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"That's -Sir- Dupre to thee!\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Sir Dupuke? Didst thou say Sir Dupuke?\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Du-pre-!\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Pardon -me-, Sir Dupuke!\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"I'm not going to listen to this anymore.\"*");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFFD, 0x0000);
goto labelFunc0403_0345;
labelFunc0403_0333:
if (!(!gflags[0x0017])) goto labelFunc0403_0341;
message("\"I believe he is in Jhelom.\"");
say();
goto labelFunc0403_0345;
labelFunc0403_0341:
message("\"He must be around somewhere!\"");
say();
labelFunc0403_0345:
UI_remove_answer("Dupre");
labelFunc0403_034C:
case "join" atend labelFunc0403_03A4:
var0007 = 0x0000;
var0001 = UI_get_party_list();
//enum();
labelFunc0403_0362:
for (var000A in var0001 with var0008 to var0009) atend labelFunc0403_037A;
var0007 = (var0007 + 0x0001);
goto labelFunc0403_0362;
labelFunc0403_037A:
if (!(var0007 < 0x0008)) goto labelFunc0403_0392;
message("Shamino looks relieved. \"I am -so- glad thou didst ask me that.\" He gathers his gear and prepares to follow you.");
say();
UI_add_to_party(0xFFFD);
goto labelFunc0403_0396;
labelFunc0403_0392:
message("\"Hmmm. I do not like big crowds. I shall wait until thy group is smaller before joining.\"");
say();
labelFunc0403_0396:
UI_add_answer("leave");
UI_remove_answer("join");
labelFunc0403_03A4:
case "leave" atend labelFunc0403_0404:
message("\"Hmmm. Dost thou merely want me to wait here or dost thou want me to go home?\"");
say();
UI_clear_answers();
var000B = Func090B(["wait here", "go home"]);
if (!(var000B == "wait here")) goto labelFunc0403_03EA;
message("\"Very well. I shall await thy return.\"*");
say();
UI_remove_from_party(0xFFFD);
UI_set_schedule_type(UI_get_npc_object(0xFFFD), 0x000F);
abort;
goto labelFunc0403_0404;
labelFunc0403_03EA:
message("\"I really hate to, but if thou dost insist.\" Shamino grudgingly gathers his belongings.*");
say();
UI_remove_from_party(0xFFFD);
UI_set_schedule_type(UI_get_npc_object(0xFFFD), 0x000B);
abort;
labelFunc0403_0404:
case "murder in Trinsic" atend labelFunc0403_041B:
message("Shamino listens as you tell him the story. \"I would be honored to join and help thee in investigating this matter.\"");
say();
gflags[0x00D5] = true;
UI_remove_answer("murder in Trinsic");
labelFunc0403_041B:
case "Moongates" atend labelFunc0403_043C:
if (!(!gflags[0x0004])) goto labelFunc0403_0431;
message("\"I am confounded by their inability to function properly.\"");
say();
goto labelFunc0403_0435;
labelFunc0403_0431:
message("\"'Tis a pity that thou art marooned here.\"");
say();
labelFunc0403_0435:
UI_remove_answer("Moongates");
labelFunc0403_043C:
case "magic" atend labelFunc0403_0475:
if (!(!gflags[0x0003])) goto labelFunc0403_0464;
if (!(!gflags[0x006C])) goto labelFunc0403_045D;
message("\"Magic all over Britannia seems to be disturbed. Say, dost thou remember Nicodemus in the great forest? He has gone mad and is terribly silly. Perhaps we should visit him.\"");
say();
gflags[0x006C] = true;
goto labelFunc0403_0461;
labelFunc0403_045D:
message("\"It does not work well. I do not understand it.\"");
say();
labelFunc0403_0461:
goto labelFunc0403_046E;
labelFunc0403_0464:
message("\"It will probably work extremely well now, ");
message(var0003);
message(".\"");
say();
labelFunc0403_046E:
UI_remove_answer("magic");
labelFunc0403_0475:
case "Amber" atend labelFunc0403_048C:
message("You see a light shine in Shamino's eyes as you mention her name. He is obviously smitten.~~\"She is an actress I know.\"");
say();
UI_remove_answer("Amber");
gflags[0x006B] = true;
labelFunc0403_048C:
case "settle down" atend labelFunc0403_049F:
message("\"That woman! She cannot understand that I must have mine adventuring! I cannot settle down. -Yet-! Soon maybe.\"~~Shamino looks concerned. \"I have grown up. A bit.\"");
say();
UI_remove_answer("settle down");
labelFunc0403_049F:
case "bye" atend labelFunc0403_04AA:
goto labelFunc0403_04AD;
labelFunc0403_04AA:
goto labelFunc0403_00C5;
labelFunc0403_04AD:
break;
message("Shamino bows slightly.*");
say();
labelFunc0403_04B2:
if (!(event == 0x0000)) goto labelFunc0403_04C0;
Func092E(0xFFFD);
labelFunc0403_04C0:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090B 0x90B (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0404 object#(0x404) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
var var0013;
if (!(event == 0x0001)) goto labelFunc0404_0508;
UI_show_npc_face(0xFFFC, 0x0000);
if (!gflags[0x02EB]) goto labelFunc0404_003E;
if (!(UI_get_timer(0x000B) < 0x0001)) goto labelFunc0404_002E;
message("\"I am sorry, I do not join thieves.\"");
say();
abort;
goto labelFunc0404_003E;
labelFunc0404_002E:
message("\"All right, I suppose thou hast learned thy lesson. I shall rejoin.\"");
say();
UI_add_to_party(0xFFFC);
gflags[0x02EB] = false;
abort;
labelFunc0404_003E:
var0000 = Func0909();
var0001 = UI_get_party_list();
var0002 = UI_get_npc_object(0xFFFC);
var0003 = Func0908();
var0004 = Func08F7(0xFFFF);
var0005 = Func08F7(0xFFFD);
var0006 = Func08F7(0xFFFE);
var0007 = UI_is_dead(UI_get_npc_object(0xFFFF));
var0008 = UI_is_dead(UI_get_npc_object(0xFFFD));
var0009 = UI_is_dead(UI_get_npc_object(0xFFFE));
var000A = UI_is_dead(UI_get_npc_object(0xFF84));
var000B = UI_is_dead(UI_get_npc_object(0xFF83));
var000C = UI_is_dead(UI_get_npc_object(0xFF82));
var000D = UI_is_dead(UI_get_npc_object(0xFF81));
var000E = UI_wearing_fellowship();
UI_add_answer(["name", "job", "bye"]);
if (!(var0002 in var0001)) goto labelFunc0404_0100;
UI_add_answer("leave");
labelFunc0404_0100:
if (!gflags[0x0006]) goto labelFunc0404_010D;
UI_add_answer("Fellowship");
labelFunc0404_010D:
if (!var0006) goto labelFunc0404_011A;
UI_add_answer("Spark");
labelFunc0404_011A:
if (!(!gflags[0x0017])) goto labelFunc0404_012C;
message("You see the familiar face of your good friend, Dupre. While somewhat older, he still seems full of his usual casual good humor.");
say();
gflags[0x0017] = true;
goto labelFunc0404_0136;
labelFunc0404_012C:
message("\"How may I assist thee, ");
message(var0003);
message("?\" asks Sir Dupre.");
say();
labelFunc0404_0136:
converse (0) atend labelFunc0404_0503;
case "name" atend labelFunc0404_01A7:
message("\"Why, dost thou not recognize me? It is I, Lord British!\" he laughs. \"Dost thou not know thy friend Dupre when thou seest him, ");
message(var0003);
message("?\"");
say();
if (!var0005) goto labelFunc0404_0177;
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Do not be so modest, Sir Dupre. Thou shouldst tell the Avatar that thou hast been knighted since last you met.\"*");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFFC, 0x0000);
message("Sir Dupre looks quite embarrassed. \"Well, yes, I would have gotten around to that.\"");
say();
goto labelFunc0404_01A0;
labelFunc0404_0177:
if (!var0004) goto labelFunc0404_01A0;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Do not be so modest, Sir Dupre. Thou shouldst tell the Avatar that thou hast been knighted since last you met.\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFC, 0x0000);
message("Sir Dupre looks quite embarrassed. \"Well, yes, I would have gotten around to that.\"");
say();
labelFunc0404_01A0:
UI_remove_answer("name");
labelFunc0404_01A7:
case "job" atend labelFunc0404_01DE:
if (!(!gflags[0x016D])) goto labelFunc0404_01D3;
message("\"I have not seen our old friends in some time. Currently I am conducting a study of all of the various drinking establishments of Britannia. At present I am about halfway through. But it is nothing that could keep me from adventuring with thee, ");
message(var0003);
message(".\"");
say();
UI_add_answer(["friends", "Jhelom", "join"]);
goto labelFunc0404_01DE;
labelFunc0404_01D3:
message("\"My job is currently to try and keep thee and thy friends out of trouble as much as possible!\" He winks and gives you a good-natured grin.");
say();
UI_add_answer("friends");
labelFunc0404_01DE:
case "friends" atend labelFunc0404_01FE:
message("\"Our old friends -- Iolo and Shamino.\"");
say();
UI_remove_answer("friends");
UI_add_answer(["Iolo", "Shamino"]);
labelFunc0404_01FE:
case "join" atend labelFunc0404_025A:
var000F = 0x0000;
var0001 = UI_get_party_list();
//enum();
labelFunc0404_0214:
for (var0012 in var0001 with var0010 to var0011) atend labelFunc0404_022C;
var000F = (var000F + 0x0001);
goto labelFunc0404_0214;
labelFunc0404_022C:
if (!(var000F < 0x0008)) goto labelFunc0404_024F;
message("\"It would be both an honor and a pleasure to join thee on thine adventures once again.\"");
say();
gflags[0x016D] = true;
UI_add_to_party(0xFFFC);
UI_add_answer("leave");
goto labelFunc0404_0253;
labelFunc0404_024F:
message("\"Hmm. Too crowded for my liking. Come back if thou shouldst diminish thy group by a member or two.\"");
say();
labelFunc0404_0253:
UI_remove_answer("join");
labelFunc0404_025A:
case "leave" atend labelFunc0404_02D0:
message("\"Dost thou want me to wait here or dost thou truly want me to leave and go home?\"");
say();
UI_clear_answers();
var0013 = Func090B(["wait here", "go home"]);
if (!(var0013 == "wait here")) goto labelFunc0404_02A4;
message("\"Very well. I shall await thy return.\"*");
say();
UI_remove_from_party(0xFFFC);
UI_set_schedule_type(UI_get_npc_object(0xFFFC), 0x000F);
gflags[0x016D] = false;
abort;
goto labelFunc0404_02D0;
labelFunc0404_02A4:
message("\"I shall depart thy company if that is truly thy wish. If thou shouldst ever need me again, thou hast only to ask.\" He turns away from you, obviously disappointed.*");
say();
UI_remove_from_party(0xFFFC);
gflags[0x016D] = false;
UI_set_schedule_type(UI_get_npc_object(0xFFFC), 0x000B);
abort;
UI_add_answer("join");
UI_remove_answer("leave");
labelFunc0404_02D0:
case "Jhelom" atend labelFunc0404_02F0:
message("\"It is something like the old times of Britannia, during the days of thy last visit, only more bloodthirsty. The local sport in Jhelom is duelling.\"");
say();
UI_remove_answer("Jhelom");
UI_add_answer(["old times", "duelling"]);
labelFunc0404_02F0:
case "old times" atend labelFunc0404_0303:
message("\"These people still believe that any problem can be solved by hitting something or stabbing someone. They remind me of a more primitive but less complicated time. Perhaps that is why people live here-- to escape their modern problems.\"");
say();
UI_remove_answer("old times");
labelFunc0404_0303:
case "duelling" atend labelFunc0404_0347:
if (!(!gflags[0x016A])) goto labelFunc0404_033C;
if (!(!(var000B && (var000C && var000D)))) goto labelFunc0404_0335;
message("\"Right now the town is buzzing about three local fighters, all of whom have challenged another man to a duel. The challenged one's name is Sprellic.\"");
say();
UI_add_answer(["fighters", "Sprellic"]);
goto labelFunc0404_0339;
labelFunc0404_0335:
message("\"Perhaps now that several of Jhelom's local ruffians have been well smited things in that town will calm down. Although I doubt they will for long.\"");
say();
labelFunc0404_0339:
goto labelFunc0404_0340;
labelFunc0404_033C:
message("\"Perhaps since thou hast shown the town that disagreements can be settled without bloodshed things will calm down for a while in Jhelom. But I doubt it.\"");
say();
labelFunc0404_0340:
UI_remove_answer("duelling");
labelFunc0404_0347:
case "Sprellic" atend labelFunc0404_0391:
if (!var000A) goto labelFunc0404_035C;
message("\"I feel a bit sorry that we never did intercede on behalf of that innkeeper fellow, Sprellic. He did need our help, desperately.\" Dupre eyes look a bit sad.");
say();
goto labelFunc0404_038A;
labelFunc0404_035C:
if (!(!gflags[0x016A])) goto labelFunc0404_038A;
if (!(!(var000B && (var000C && var000D)))) goto labelFunc0404_0386;
message("\"I doubt he has ever held a sword in his life. When I bet I usually bet on the underdog, but not even I am so foolhardy with my money as to bet on him. The man is no fighter, he is the innkeeper!\"");
say();
UI_add_answer(["foolhardy", "innkeeper"]);
goto labelFunc0404_038A;
labelFunc0404_0386:
message("\"Thou didst save the life of that poor little man Sprellic. He certainly got himself in a lot of trouble.\" Dupre cannot keep himself from grinning. \"Still, all's well that ends well.\"");
say();
labelFunc0404_038A:
UI_remove_answer("Sprellic");
labelFunc0404_0391:
case "foolhardy" atend labelFunc0404_03B1:
message("\"To this Sprellic fellow, foolhardy would be a compliment! He looks like he has never been in a fight in his entire life. I do not know why he would provoke someone into a duel. It is a puzzlement.\"");
say();
UI_remove_answer("foolhardy");
if (!gflags[0x0186]) goto labelFunc0404_03B1;
UI_add_answer("misunderstanding");
labelFunc0404_03B1:
case "misunderstanding" atend labelFunc0404_03C4:
message("You tell Dupre what Sprellic told you. \"Hmmm. I suppose I judged the man too harshly. I think thou, er, we shouldst do something about this!\"");
say();
UI_remove_answer("misunderstanding");
labelFunc0404_03C4:
case "innkeeper" atend labelFunc0404_03E5:
if (!(!gflags[0x0186])) goto labelFunc0404_03DA;
message("\"I know not the specifics of his story but thou mayest ask him for thyself. He went back to his house about an hour ago and has not come out. He must be having a very hard time finding something.\"");
say();
goto labelFunc0404_03DE;
labelFunc0404_03DA:
message("\"The poor man has been hiding in his house and will not come out.\"");
say();
labelFunc0404_03DE:
UI_remove_answer("innkeeper");
labelFunc0404_03E5:
case "Iolo" atend labelFunc0404_0445:
if (!var0007) goto labelFunc0404_03FA;
message("\"Terrible what happened to our poor friend Iolo. We must try and get his body to a healer while there may still be time to revive him. I do miss him so.\"");
say();
goto labelFunc0404_043E;
labelFunc0404_03FA:
if (!var0004) goto labelFunc0404_043A;
message("\"");
message(var0003);
message(", there is a strange old man following thee, and he bears a vague resemblance to Iolo! It is most odd.\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Thy drinking must have blurred thy vision, Sir Dupre.\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Then thou hadst better join me for one later. It will give thee the chance to catch up to me.\"");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFC, 0x0000);
goto labelFunc0404_043E;
labelFunc0404_043A:
message("\"We should find that rascal Iolo and have him join us as well.\"");
say();
labelFunc0404_043E:
UI_remove_answer("Iolo");
labelFunc0404_0445:
case "fighters" atend labelFunc0404_0458:
message("\"Two men and a woman. Their names are Timmons, Vokes, and Syria. Respectively.\"");
say();
UI_remove_answer("fighters");
labelFunc0404_0458:
case "Shamino" atend labelFunc0404_04B2:
if (!var0008) goto labelFunc0404_046D;
message("\"A sad fate to befall our fine comrade Shamino. He will be sorely missed. We must try and get his remains to a healer. Perhaps he may still be revived.\"");
say();
goto labelFunc0404_04AB;
labelFunc0404_046D:
if (!var0005) goto labelFunc0404_04A7;
message("Sir Dupre snorts, \"From what I had heard Shamino was all but settled down and retired from the adventuring life.\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"I still have a few wild oats left to sow, thank thee very much.\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Then it is good to see another member of our old sowing circle once again!\"");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFFC, 0x0000);
goto labelFunc0404_04AB;
labelFunc0404_04A7:
message("\"Let us go and find Shamino and make this a proper reunion!\"");
say();
labelFunc0404_04AB:
UI_remove_answer("Shamino");
labelFunc0404_04B2:
case "Fellowship" atend labelFunc0404_04CF:
if (!var000E) goto labelFunc0404_04C4;
message("Sir Dupre stares at the Fellowship medallion around your neck for a long moment. \"Thou must be joking,\" he snorts.");
say();
labelFunc0404_04C4:
message("\"I still cannot believe that thou hast joined The Fellowship. If thou didst wish to prove that thou wouldst do anything, no matter how ridiculous to fulfill thy quest, then thou hast succeeded.\"");
say();
UI_remove_answer("Fellowship");
labelFunc0404_04CF:
case "Spark" atend labelFunc0404_04F5:
if (!var0009) goto labelFunc0404_04E4;
message("\"Spark, the poor brave lad, is no longer with us. We should endeavor to get his body to a healer so he may be revived.\"");
say();
goto labelFunc0404_04EE;
labelFunc0404_04E4:
message("Dupre points a thumb at Spark. \"He is joining us, as well?\" He mutters at you, \"Art thou trying to make me feel old, ");
message(var0003);
message("?\"");
say();
labelFunc0404_04EE:
UI_remove_answer("Spark");
labelFunc0404_04F5:
case "bye" atend labelFunc0404_0500:
goto labelFunc0404_0503;
labelFunc0404_0500:
goto labelFunc0404_0136;
labelFunc0404_0503:
break;
message("\"I shall speak with thee later, then.\"*");
say();
labelFunc0404_0508:
if (!(event == 0x0000)) goto labelFunc0404_0516;
Func092E(0xFFFC);
labelFunc0404_0516:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern void Func089E 0x89E (var var0000, var var0001, var var0002);
extern var Func090B 0x90B (var var0000);
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func0405 object#(0x405) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
if (!(event == 0x0001)) goto labelFunc0405_041C;
UI_show_npc_face(0xFFFB, 0x0000);
var0000 = Func0909();
var0001 = UI_get_npc_object(0xFFFB);
var0002 = Func0908();
UI_add_answer(["name", "job", "bye"]);
if (!(var0001 in UI_get_party_list())) goto labelFunc0405_004A;
UI_add_answer("leave");
labelFunc0405_004A:
if (!(!((var0001 in UI_get_party_list()) && gflags[0x0018]))) goto labelFunc0405_0061;
UI_add_answer("join");
labelFunc0405_0061:
if (!gflags[0x00E4]) goto labelFunc0405_0074;
if (!gflags[0x00EF]) goto labelFunc0405_0074;
UI_add_answer("Lord Heather");
labelFunc0405_0074:
if (!gflags[0x0028]) goto labelFunc0405_0081;
UI_add_answer("heal");
labelFunc0405_0081:
if (!(!gflags[0x0018])) goto labelFunc0405_0093;
message("You are surprised to see your old companion Jaana, looking only slightly aged since your last visit.");
say();
gflags[0x0018] = true;
goto labelFunc0405_009D;
labelFunc0405_0093:
message("\"Yes, ");
message(var0002);
message("?\" Jaana asks.");
say();
labelFunc0405_009D:
converse (0) atend labelFunc0405_0411;
case "name" atend labelFunc0405_00C4:
message("\"Why, I am Jaana. Thou shouldst remember me!\"");
say();
UI_remove_answer("name");
if (!gflags[0x00E4]) goto labelFunc0405_00C0;
UI_add_answer("Lord Heather");
labelFunc0405_00C0:
gflags[0x00EF] = true;
labelFunc0405_00C4:
case "job" atend labelFunc0405_00F7:
message("\"I have been the Cove Healer for some time now, and can provide thee with mine healing services. Since magic is not reliable, I have been yearning to join a party of adventurers, such as mine old friends. I miss the old life!\"");
say();
UI_add_answer(["heal", "friends", "magic"]);
gflags[0x0028] = true;
if (!(!(var0001 in UI_get_party_list()))) goto labelFunc0405_00F7;
UI_add_answer("join");
labelFunc0405_00F7:
case "heal" atend labelFunc0405_014F:
if (!(var0001 in UI_get_party_list())) goto labelFunc0405_0143;
if (!gflags[0x0029]) goto labelFunc0405_011D;
var0003 = UI_get_timer(0x000A);
goto labelFunc0405_0123;
labelFunc0405_011D:
var0003 = 0x0005;
labelFunc0405_0123:
if (!(var0003 < 0x0004)) goto labelFunc0405_0134;
message("\"I am sorry, I must wait a while before I can heal again.\"");
say();
goto labelFunc0405_0140;
labelFunc0405_0134:
Func089E(0x0000, 0x0000, 0x0000);
labelFunc0405_0140:
goto labelFunc0405_014F;
labelFunc0405_0143:
Func089E(0x001E, 0x000F, 0x0190);
labelFunc0405_014F:
case "friends" atend labelFunc0405_0175:
message("\"Our old friends -- Iolo, Shamino, and Dupre. The men who conquer evil in the name of Lord British!\"");
say();
UI_remove_answer("friends");
UI_add_answer(["Iolo", "Shamino", "Dupre", "Lord British"]);
labelFunc0405_0175:
case "join" atend labelFunc0405_01D3:
var0004 = 0x0000;
var0005 = UI_get_party_list();
//enum();
labelFunc0405_018B:
for (var0008 in var0005 with var0006 to var0007) atend labelFunc0405_01A3;
var0004 = (var0004 + 0x0001);
goto labelFunc0405_018B;
labelFunc0405_01A3:
if (!(var0004 < 0x0008)) goto labelFunc0405_01CF;
message("\"I would be honored to join thee, ");
message(var0000);
message("!\"");
say();
UI_add_to_party(0xFFFB);
UI_add_answer("leave");
UI_remove_answer("join");
goto labelFunc0405_01D3;
labelFunc0405_01CF:
message("\"I do believe thou dost have too many members travelling in thy group. I shall wait until someone leaves and thou dost ask me again.\"");
say();
labelFunc0405_01D3:
case "leave" atend labelFunc0405_0233:
message("\"Dost thou want me to wait here or should I go home?\"");
say();
UI_clear_answers();
var0009 = Func090B(["wait here", "go home"]);
if (!(var0009 == "wait here")) goto labelFunc0405_0219;
message("\"Very well. I shall wait until thou dost return.\"*");
say();
UI_remove_from_party(0xFFFB);
UI_set_schedule_type(UI_get_npc_object(0xFFFB), 0x000F);
abort;
goto labelFunc0405_0233;
labelFunc0405_0219:
message("\"I shall obey thy wish. I would be happy to re-join if thou shouldst ask. Goodbye.\"*");
say();
UI_remove_from_party(0xFFFB);
UI_set_schedule_type(UI_get_npc_object(0xFFFB), 0x000B);
abort;
labelFunc0405_0233:
case "magic" atend labelFunc0405_0254:
if (!(!gflags[0x0003])) goto labelFunc0405_0249;
message("\"My magic has been affected by something in the air, but I have found that my senses are still with me. Hast thou noticed that the mages in the land are afflicted in the head? It is most disconcerting. Nevertheless, I can manage to cast a spell or two most of the time.\"");
say();
goto labelFunc0405_024D;
labelFunc0405_0249:
message("\"I feel that the ether is flowing smoothly now. Magic is alive again!\"");
say();
labelFunc0405_024D:
UI_remove_answer("magic");
labelFunc0405_0254:
case "Lord Heather" atend labelFunc0405_02CD:
message("Jaana blushes. \"Yes, I have been seeing our Town Mayor for some time now.\"");
say();
UI_remove_answer("Lord Heather");
var000A = Func08F7(0xFFB3);
if (!var000A) goto labelFunc0405_02CD;
UI_show_npc_face(0xFFB3, 0x0000);
message("\"I see that thou art leaving Cove for a while, my dear?\"*");
say();
UI_show_npc_face(0xFFFB, 0x0000);
message("\"Yes, milord. But I shall return. I promise thee.\"*");
say();
UI_show_npc_face(0xFFB3, 0x0000);
message("\"I shall try not to worry about thee, but it will be difficult.\"*");
say();
UI_show_npc_face(0xFFFB, 0x0000);
message("\"Do not worry. I shall be safe with the Avatar.\"*");
say();
UI_show_npc_face(0xFFB3, 0x0000);
message("\"I do hope so.\" The Mayor embraces Jaana.*");
say();
UI_remove_npc_face(0xFFB3);
UI_show_npc_face(0xFFFB, 0x0000);
labelFunc0405_02CD:
case "Iolo" atend labelFunc0405_031A:
var000B = Func08F7(0xFFFF);
if (!(!var000B)) goto labelFunc0405_02EC;
message("\"Where is he? 'Twould be good to see him!\"");
say();
goto labelFunc0405_0313;
labelFunc0405_02EC:
message("\"He looks the same to me! Perhaps he has a little more waistline than before... but that is to be expected if one stays away from adventuring for too long!\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"What dost thou mean? 'Little more waistline' indeed!\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFB, 0x0000);
message("\"No offense intended, Iolo!\"");
say();
labelFunc0405_0313:
UI_remove_answer("Iolo");
labelFunc0405_031A:
case "Shamino" atend labelFunc0405_0367:
var000C = Func08F7(0xFFFD);
if (!(!var000C)) goto labelFunc0405_0339;
message("\"Oh, I would love to see him. I wonder where he might be.\"");
say();
goto labelFunc0405_0360;
labelFunc0405_0339:
message("\"Shamino, thou dost not look like a 'kid' anymore! What didst happen? Didst thou reach the venerable age of thirty?\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Hmph. I am still a kid at heart.\"*");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFFB, 0x0000);
message("\"That is a relief.\" She grins cheekily.");
say();
labelFunc0405_0360:
UI_remove_answer("Shamino");
labelFunc0405_0367:
case "Dupre" atend labelFunc0405_03F0:
var000D = Func08F7(0xFFFC);
if (!(!var000D)) goto labelFunc0405_0386;
message("\"I miss having a drink or two with that rogue! Let's go find that knight!\"");
say();
goto labelFunc0405_03DF;
labelFunc0405_0386:
message("\"For someone recently knighted, he has retained his good looks and boyish charm, hasn't he?\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Thou dost mean 'mannish' charm, dost thou not?\"*");
say();
UI_show_npc_face(0xFFFB, 0x0000);
message("\"Oh, pardon -me-, sir. Thine immaturity confused me for a moment.\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Art thou going to let her get away with that, ");
message(var0002);
message("?\"");
say();
var000E = Func090A();
if (!var000E) goto labelFunc0405_03D4;
message("Dupre is speechless and turns away in a huff.*");
say();
UI_remove_npc_face(0xFFFC);
goto labelFunc0405_03DF;
labelFunc0405_03D4:
message("\"Good!\" Jaana winks at you from behind his back.*");
say();
UI_remove_npc_face(0xFFFC);
labelFunc0405_03DF:
UI_remove_answer("Dupre");
UI_show_npc_face(0xFFFB, 0x0000);
labelFunc0405_03F0:
case "Lord British" atend labelFunc0405_0403:
message("\"I have not seen our liege in many years.\"");
say();
UI_remove_answer("Lord British");
labelFunc0405_0403:
case "bye" atend labelFunc0405_040E:
goto labelFunc0405_0411;
labelFunc0405_040E:
goto labelFunc0405_009D;
labelFunc0405_0411:
break;
message("\"Goodbye, ");
message(var0000);
message(".\"*");
say();
labelFunc0405_041C:
if (!(event == 0x0000)) goto labelFunc0405_042A;
Func092E(0xFFFB);
labelFunc0405_042A:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func08EE 0x8EE ();
extern var Func090B 0x90B (var var0000);
extern var Func090A 0x90A ();
extern void Func0911 0x911 (var var0000);
void Func0406 object#(0x406) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
if (!(event == 0x0001)) goto labelFunc0406_03C6;
var0000 = Func0908();
var0001 = "Avatar";
var0002 = UI_get_party_list();
var0003 = false;
var0004 = UI_get_npc_object(0xFFFA);
var0005 = UI_get_npc_object(0xFFF6);
var0006 = Func0931(0xFE9B, 0x0001, 0x0304, 0xFE99, 0xFE99);
UI_show_npc_face(0xFFFA, 0x0000);
if (!(!gflags[0x0154])) goto labelFunc0406_006B;
if (!(!var0006)) goto labelFunc0406_0068;
message("The creature ignores you.*");
say();
abort;
goto labelFunc0406_006B;
labelFunc0406_0068:
Func08EE();
labelFunc0406_006B:
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0136]) goto labelFunc0406_0087;
var0007 = var0000;
labelFunc0406_0087:
if (!gflags[0x0137]) goto labelFunc0406_0093;
var0007 = var0001;
labelFunc0406_0093:
if (!(!gflags[0x0019])) goto labelFunc0406_0121;
if (!(!gflags[0x013C])) goto labelFunc0406_00DB;
message("The ape-like creature peers at you intently for a few minutes. Then, shrugging, it walks cautiously up to you. \"I am Trellek. Your name is?\"");
say();
var0008 = Func090B([var0000, var0001]);
if (!(var0008 == var0000)) goto labelFunc0406_00C2;
gflags[0x0136] = true;
labelFunc0406_00C2:
if (!(var0008 == var0001)) goto labelFunc0406_00D0;
gflags[0x0137] = true;
labelFunc0406_00D0:
gflags[0x013C] = true;
gflags[0x0019] = true;
goto labelFunc0406_011A;
labelFunc0406_00DB:
message("The Emp peers at you intensely for a few minutes. Then, shrugging, it walks cautiously up to you. \"I am Trellek. Your name is?\"");
say();
var0008 = Func090B([var0000, var0001]);
if (!(var0008 == var0000)) goto labelFunc0406_0102;
gflags[0x0136] = true;
var0007 = var0000;
labelFunc0406_0102:
if (!(var0008 == var0001)) goto labelFunc0406_0116;
gflags[0x0137] = true;
var0007 = var0001;
labelFunc0406_0116:
gflags[0x0019] = true;
labelFunc0406_011A:
message("\"You are greeted.\"");
say();
goto labelFunc0406_012B;
labelFunc0406_0121:
message("\"You are greeted, ");
message(var0007);
message(".\"");
say();
labelFunc0406_012B:
if (!(gflags[0x0138] && (!gflags[0x0156]))) goto labelFunc0406_016B;
if (!gflags[0x0158]) goto labelFunc0406_015D;
if (!gflags[0x0155]) goto labelFunc0406_0153;
if (!(!gflags[0x0156])) goto labelFunc0406_0150;
UI_add_answer("Saralek's idea");
labelFunc0406_0150:
goto labelFunc0406_015A;
labelFunc0406_0153:
UI_add_answer("No permission");
labelFunc0406_015A:
goto labelFunc0406_016B;
labelFunc0406_015D:
if (!(!gflags[0x0132])) goto labelFunc0406_016B;
UI_add_answer("wisps");
labelFunc0406_016B:
if (!gflags[0x00E2]) goto labelFunc0406_0178;
UI_add_answer("Julius");
labelFunc0406_0178:
if (!(gflags[0x0151] && (!gflags[0x0132]))) goto labelFunc0406_018A;
UI_add_answer("join");
labelFunc0406_018A:
converse (0) atend labelFunc0406_03C1;
case "name" atend labelFunc0406_01A0:
message("\"My name is still Trellek.\"");
say();
UI_remove_answer("name");
labelFunc0406_01A0:
case "job" atend labelFunc0406_01CA:
message("He gives you a puzzled look.~~\"The meaning of `job' is not clear to me. Is `work' the word meant by you?\"");
say();
var0009 = Func090A();
if (!var0009) goto labelFunc0406_01C6;
message("\"I am a gatherer of food.\"");
say();
UI_add_answer("gatherer");
goto labelFunc0406_01CA;
labelFunc0406_01C6:
message("\"No job is had by me.\"");
say();
labelFunc0406_01CA:
case "gatherer" atend labelFunc0406_01EA:
message("\"All Emps are food-gatherers. Mainly fruits are sought by us.\"");
say();
UI_remove_answer("gatherer");
UI_add_answer(["fruits", "Emps"]);
labelFunc0406_01EA:
case "fruits" atend labelFunc0406_01FD:
message("\"Fruits are pleasant-tasting, like the honey you gave us!\"");
say();
UI_remove_answer("fruits");
labelFunc0406_01FD:
case "Emps" atend labelFunc0406_021D:
message("\"I am an Emp. Saralek is an Emp. Salamon is an Emp. You,\" he smiles, \"are a human.\"");
say();
UI_remove_answer("Emps");
UI_add_answer(["Saralek", "Salamon"]);
labelFunc0406_021D:
case "Saralek" atend labelFunc0406_0237:
message("\"Saralek is my bonded-one. `Wife' is what you would call her. My home is her home.\"");
say();
UI_add_answer("home");
UI_remove_answer("Saralek");
labelFunc0406_0237:
case "home" atend labelFunc0406_0251:
message("\"Silverleaf trees are our homes,\" he nods.");
say();
UI_remove_answer("home");
UI_add_answer("Silverleaf trees");
labelFunc0406_0251:
case "Silverleaf trees" atend labelFunc0406_0264:
message("\"Silverleaf trees cannot be explained by me in human terms. I am sorry. Another human should be asked by you?\" he shrugs, imitating the human gesture rather well.");
say();
UI_remove_answer("Silverleaf trees");
labelFunc0406_0264:
case "Salamon" atend labelFunc0406_0277:
message("\"Salamon is the wisest Emp. Humans have been met by her. -Many- things have been seen by her. She is very experienced and knowledgeable.\"");
say();
UI_remove_answer("Salamon");
labelFunc0406_0277:
case "wisps" atend labelFunc0406_0297:
message("\"Wisps are known to me,\" he nods. \"Wisps are found in the woods. What is your concern?\"");
say();
UI_add_answer(["woods", "talk to wisps"]);
UI_remove_answer("wisps");
labelFunc0406_0297:
case "No permission" atend labelFunc0406_02B1:
message("\"For you to talk to wisps is still your wish? Then helping you is my goal. A whistle can be made by me.\"");
say();
UI_remove_answer("No permission");
UI_add_answer("whistle");
labelFunc0406_02B1:
case "Saralek's idea" atend labelFunc0406_02CB:
message("\"Correct was my bonded-one. A whistle can be made by me.\"");
say();
UI_add_answer("whistle");
UI_remove_answer("Saralek's idea");
labelFunc0406_02CB:
case "woods" atend labelFunc0406_02DE:
message("\"The residence of the wisps is a stone building in a mountain in the middle of the forest.\"");
say();
UI_remove_answer("woods");
labelFunc0406_02DE:
case "whistle" atend labelFunc0406_0320:
message("\"A whistling sound is made by Emps when talking is done by us. An imitation of that sound can be created by a special whistle,\" he says enthusiastically.~~He begins quickly searching around for a dead, hollow, fallen tree branch. Shortly he finds one that meets his satisfaction. Apparently embarrassed, he turns his back to you, and makes motions similar to one twisting a cork from a flagon.~~After a few minutes of this, he turns around and presents the whistle to you.");
say();
var000A = UI_add_party_items(0x0001, 0x02B5, 0xFE99, 0x0001, false);
if (!var000A) goto labelFunc0406_0315;
message("\"Here is your whistle.\"");
say();
Func0911(0x0032);
gflags[0x0156] = true;
goto labelFunc0406_0319;
labelFunc0406_0315:
message("\"Fewer items must be carried by you to take this whistle.\"");
say();
labelFunc0406_0319:
UI_remove_answer("whistle");
labelFunc0406_0320:
case "talk to wisps" atend labelFunc0406_0351:
message("\"Your statement is a mystery. For me to talk to wisps is what you want?\"");
say();
var000B = Func090A();
if (!var000B) goto labelFunc0406_0346;
message("He looks around, apparently surveying the area.~~ \"No wisps are here for conversation.\"");
say();
UI_add_answer("go there");
goto labelFunc0406_034A;
labelFunc0406_0346:
message("\"Your want is not conveyed to me.\" He shrugs.");
say();
labelFunc0406_034A:
UI_remove_answer("talk to wisps");
labelFunc0406_0351:
case "Julius" atend labelFunc0406_0372:
UI_play_music(0x001A, 0x0000);
message("\"Julius was a good human. His great deed was saving Emp family from big fire years ago.\" He stares at you directly.~~\"But, his story is sad, being about his death from too much smoke in his body. His body is in the cemetery near the Abbey. He is one human that Emps call 'hero'.\"");
say();
gflags[0x0129] = true;
UI_remove_answer("Julius");
labelFunc0406_0372:
case "join", "go there" atend labelFunc0406_03B3:
message("\"Your wish is for me to travel with you?\"");
say();
var0003 = Func090A();
if (!var0003) goto labelFunc0406_0398;
message("\"My wish is that also. But that is not the wish of Saralek, my wife. Permission from her must first be gained.\"");
say();
gflags[0x0132] = true;
goto labelFunc0406_03A2;
labelFunc0406_0398:
message("\"You are very odd, ");
message(var0007);
message(".\"");
say();
labelFunc0406_03A2:
var0003 = true;
UI_remove_answer(["go there", "join"]);
labelFunc0406_03B3:
case "bye" atend labelFunc0406_03BE:
goto labelFunc0406_03C1;
labelFunc0406_03BE:
goto labelFunc0406_018A;
labelFunc0406_03C1:
break;
message("\"Good luck is hoped for you.\"*");
say();
labelFunc0406_03C6:
if (!(event == 0x0000)) goto labelFunc0406_046F;
var000C = UI_part_of_day();
var000D = UI_get_schedule_type(UI_get_npc_object(0xFFFA));
var000E = UI_die_roll(0x0001, 0x0004);
var0006 = Func0931(0xFE9B, 0x0001, 0x0304, 0xFE99, 0xFE99);
if (!(var000D == 0x000B)) goto labelFunc0406_0455;
if (!var0006) goto labelFunc0406_0455;
if (!(var000E == 0x0001)) goto labelFunc0406_0425;
var000F = "@You are greeted.@";
labelFunc0406_0425:
if (!(var000E == 0x0002)) goto labelFunc0406_0435;
var000F = "@Hello is said to you.@";
labelFunc0406_0435:
if (!(var000E == 0x0003)) goto labelFunc0406_0445;
var000F = "@A good day is hoped for you.@";
labelFunc0406_0445:
if (!(var000E == 0x0004)) goto labelFunc0406_0455;
var000F = "@The day is nice.@";
labelFunc0406_0455:
if (!(var000D == 0x000E)) goto labelFunc0406_0465;
var000F = "@Zzzzz...@";
labelFunc0406_0465:
UI_item_say(0xFFFA, var000F);
labelFunc0406_046F:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func090B 0x90B (var var0000);
extern var Func090A 0x90A ();
extern void Func08E5 0x8E5 (var var0000, var var0001);
extern var Func08F7 0x8F7 (var var0000);
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func092E 0x92E (var var0000);
void Func0407 object#(0x407) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
if (!(event == 0x0001)) goto labelFunc0407_040E;
UI_show_npc_face(0xFFF9, 0x0000);
var0000 = UI_part_of_day();
var0001 = UI_is_pc_female();
var0002 = UI_get_party_list();
var0003 = UI_get_npc_object(0xFFF9);
var0004 = Func0908();
var0005 = UI_get_schedule_type(UI_get_npc_object(0xFFF9));
UI_add_answer(["name", "job", "bye"]);
if (!(var0003 in var0002)) goto labelFunc0407_0066;
UI_add_answer("leave");
labelFunc0407_0066:
if (!(!gflags[0x001A])) goto labelFunc0407_0078;
message("You see a dashing, slender man, stylishly dressed, with a lot of flair.");
say();
gflags[0x001A] = true;
goto labelFunc0407_0082;
labelFunc0407_0078:
message("\"How may I help thee, ");
message(var0004);
message("?\" Sentri asks.");
say();
labelFunc0407_0082:
converse (0) atend labelFunc0407_0409;
case "name" atend labelFunc0407_0098:
message("\"Thou dost not remember me? I am Sentri! We have gone adventuring together in the past!\"");
say();
UI_remove_answer("name");
labelFunc0407_0098:
case "job" atend labelFunc0407_00D4:
message("\"When I am not adventuring with old friends, I am a trainer in Britain. I specialize in combat involving swordsmanship. I am quite good at that, as thou dost remember.\"");
say();
var0002 = UI_get_party_list();
if (!(!(var0003 in var0002))) goto labelFunc0407_00C1;
message("\"But I would drop everything to join thy group if thou art not too encumbered.\"");
say();
UI_add_answer("join");
labelFunc0407_00C1:
UI_add_answer(["Britain", "swordsmanship", "train", "friends"]);
labelFunc0407_00D4:
case "friends" atend labelFunc0407_00F7:
message("\"I do not see our old friends Iolo, Shamino, or Dupre much.\"");
say();
UI_remove_answer("friends");
UI_add_answer(["Iolo", "Shamino", "Dupre"]);
labelFunc0407_00F7:
case "swordsmanship" atend labelFunc0407_010A:
message("Sentri draws his sword so quickly it is like a flash of lightning. He does a few fancy moves, slashing the air with the blade. \"No foe shall stand after I am finished with him!\"");
say();
UI_remove_answer("swordsmanship");
labelFunc0407_010A:
case "join" atend labelFunc0407_0166:
var0006 = 0x0000;
var0002 = UI_get_party_list();
//enum();
labelFunc0407_0120:
for (var0009 in var0002 with var0007 to var0008) atend labelFunc0407_0138;
var0006 = (var0006 + 0x0001);
goto labelFunc0407_0120;
labelFunc0407_0138:
if (!(var0006 < 0x0006)) goto labelFunc0407_015B;
message("Sentri bows. \"I am very pleased to join thy group.\"");
say();
gflags[0x00DB] = true;
UI_add_to_party(0xFFF9);
UI_add_answer("leave");
goto labelFunc0407_015F;
labelFunc0407_015B:
message("\"I like small crowds, Avatar. Thou art travelling with a group too large for my tastes. If thou shouldst lose someone along the way, return and I shall be happy to join thee.\"");
say();
labelFunc0407_015F:
UI_remove_answer("join");
labelFunc0407_0166:
case "leave" atend labelFunc0407_01D4:
message("\"Dost thou want me to wait here or go home?\"");
say();
UI_clear_answers();
var000A = Func090B(["wait here", "go home"]);
if (!(var000A == "wait here")) goto labelFunc0407_01B0;
message("\"Very good. I shall wait here until thou dost return.\"*");
say();
gflags[0x00DB] = false;
UI_remove_from_party(0xFFF9);
UI_set_schedule_type(UI_get_npc_object(0xFFF9), 0x000F);
abort;
goto labelFunc0407_01D4;
labelFunc0407_01B0:
message("\"Farewell, ");
message(var0004);
message(". If thou dost need my services again, I shall be only too happy to comply.\"*");
say();
gflags[0x00DB] = false;
UI_remove_from_party(0xFFF9);
UI_set_schedule_type(UI_get_npc_object(0xFFF9), 0x000B);
abort;
labelFunc0407_01D4:
case "Britain" atend labelFunc0407_01EE:
message("\"I am becoming weary of the place. It is having growth pains of which the bourgeoisie are unaware. All is not as serene as the noblemen present it.\"");
say();
UI_remove_answer("Britain");
UI_add_answer("not serene");
labelFunc0407_01EE:
case "not serene" atend labelFunc0407_0208:
message("\"Well, for example, try going to one of the smaller towns, say, Paws. It is a poor man's place. It reeks, too. And 'tis only just beyond the Britain town limits. More money should be put into improving the land as a whole, not just in building new buildings in the capitol city. I do not know what Lord British is thinking!\"");
say();
UI_remove_answer("not serene");
UI_add_answer("Lord British");
labelFunc0407_0208:
case "train" atend labelFunc0407_0277:
if (!(!gflags[0x00DB])) goto labelFunc0407_026A;
var0005 = UI_get_schedule_type(UI_get_npc_object(0xFFF9));
if (!((var0005 == 0x001B) || ((var0005 == 0x000B) || (var0005 == 0x000F)))) goto labelFunc0407_025C;
message("\"My fee is 30 gold for a training session. Is this all right?\"");
say();
if (!Func090A()) goto labelFunc0407_0255;
Func08E5(0x0001, 0x001E);
goto labelFunc0407_0259;
labelFunc0407_0255:
message("\"Then I shall rob someone else!\" Sentri laughs aloud.");
say();
labelFunc0407_0259:
goto labelFunc0407_0267;
labelFunc0407_025C:
message("\"I am afraid I must adhere to my policy of training only during my business hours. This applies to -all- of my friends.\"");
say();
UI_remove_answer("train");
labelFunc0407_0267:
goto labelFunc0407_0277;
labelFunc0407_026A:
message("\"Since I am a member of thy group, I shall train thee for free!\"");
say();
Func08E5(0x0001, 0x0000);
labelFunc0407_0277:
case "Iolo" atend labelFunc0407_02C3:
var000B = Func08F7(0xFFFF);
if (!var000B) goto labelFunc0407_02B8;
message("\"How art thou, friend? Thou dost look like thou couldst use a little training thyself!\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"What is this? Everyone doth make fun of my physique!\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFF9, 0x0000);
message("\"I am not making fun, Iolo. I am serious!\" Sentri laughs.");
say();
goto labelFunc0407_02BC;
labelFunc0407_02B8:
message("\"I miss that fellow!\"");
say();
labelFunc0407_02BC:
UI_remove_answer("Iolo");
labelFunc0407_02C3:
case "Shamino" atend labelFunc0407_0335:
var000C = Func08F7(0xFFFD);
if (!var000C) goto labelFunc0407_032A;
message("\"Say, Shamino, art thou still spending thy time dressing in women's clothes?\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"-What-?!?!\"*");
say();
UI_show_npc_face(0xFFF9, 0x0000);
message("\"Or art thou wasting away thy life in a healer's den, now that thou art in thy middle ages?\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Careful, friend. Those are fighting words!\"*");
say();
UI_show_npc_face(0xFFF9, 0x0000);
message("Sentri punches Shamino good-naturedly. \"And that is all they are, my dear friend. Words! 'Tis good to see thee!\"");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFF9, 0x0000);
goto labelFunc0407_032E;
labelFunc0407_032A:
message("\"'Twould be good to share a joke or two with him!\"");
say();
labelFunc0407_032E:
UI_remove_answer("Shamino");
labelFunc0407_0335:
case "Dupre" atend labelFunc0407_03E8:
var000D = Func08F7(0xFFFC);
if (!var000D) goto labelFunc0407_03DD;
message("\"Ah, my good friend Dupre! Hast thou some good ale on thee?\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
var000E = Func0931(0xFFFC, 0x0001, 0x0268, 0xFE99, 0x0003);
if (!var000E) goto labelFunc0407_03B7;
message("\"Art thou joking? I -always- have ale!\"*");
say();
UI_show_npc_face(0xFFF9, 0x0000);
message("\"Then we should have some before someone else does!\"");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"'Twould be a pleasure. However, I must be prudent and save the ale for when we need it.\"*");
say();
UI_show_npc_face(0xFFF9, 0x0000);
message("Sentri feels of Dupre's head. \"Art thou feeling all right, Dupre? Or has knighthood done something to thy brain?\"");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFF9, 0x0000);
goto labelFunc0407_03DA;
labelFunc0407_03B7:
message("\"No, but I would be glad to stop in a pub and share a few pints with thee!\"*");
say();
UI_show_npc_face(0xFFF9, 0x0000);
message("\"Mmmm! Sounds good to me! Next time we pass a place, let us stop!\"");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFF9, 0x0000);
labelFunc0407_03DA:
goto labelFunc0407_03E1;
labelFunc0407_03DD:
message("\"I want to see that no-good trouble-maker! He is a knight now, I hear! Sir Dupre indeed!\"");
say();
labelFunc0407_03E1:
UI_remove_answer("Dupre");
labelFunc0407_03E8:
case "Lord British" atend labelFunc0407_03FB:
message("\"I never see him much. He stays in that castle of his all the time. He never gets out. No wonder he hasn't a clue what is going on in this country.\"");
say();
UI_remove_answer("Lord British");
labelFunc0407_03FB:
case "bye" atend labelFunc0407_0406:
goto labelFunc0407_0409;
labelFunc0407_0406:
goto labelFunc0407_0082;
labelFunc0407_0409:
break;
message("\"Until later.\"*");
say();
labelFunc0407_040E:
if (!(event == 0x0000)) goto labelFunc0407_041C;
Func092E(0xFFF9);
labelFunc0407_041C:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern var Func090B 0x90B (var var0000);
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func092E 0x92E (var var0000);
void Func0408 object#(0x408) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
if (!(event == 0x0001)) goto labelFunc0408_0482;
UI_show_npc_face(0xFFF8, 0x0000);
var0000 = Func0909();
var0001 = UI_get_party_list();
var0002 = UI_get_npc_object(0xFFF8);
var0003 = Func0908();
var0004 = Func08F7(0xFFFE);
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x010B]) goto labelFunc0408_0055;
UI_add_answer("plans");
labelFunc0408_0055:
if (!var0004) goto labelFunc0408_0069;
if (!(!gflags[0x0121])) goto labelFunc0408_0069;
UI_add_answer("Spark");
labelFunc0408_0069:
if (!(var0002 in var0001)) goto labelFunc0408_007A;
UI_add_answer("leave");
labelFunc0408_007A:
if (!gflags[0x0101]) goto labelFunc0408_0087;
UI_add_answer("join");
labelFunc0408_0087:
if (!(!gflags[0x001B])) goto labelFunc0408_0099;
message("You see Julia, a member of your party of adventurers from one of your previous visits to Britannia.");
say();
gflags[0x001B] = true;
goto labelFunc0408_00A3;
labelFunc0408_0099:
message("\"It is good to speak with thee again, ");
message(var0003);
message(",\" Julia greets you.");
say();
labelFunc0408_00A3:
converse (0) atend labelFunc0408_0477;
case "name" atend labelFunc0408_00BF:
message("\"Has it really been that long, ");
message(var0003);
message("? 'Tis I, Julia!\"");
say();
UI_remove_answer("name");
labelFunc0408_00BF:
case "job" atend labelFunc0408_010E:
if (!gflags[0x011F]) goto labelFunc0408_00F3;
message("\"Since accompanying thee on thine adventures when thou wast last in Britannia, I have become the tinker of Minoc. I repair things for the people of the town. But my duties and obligations are not so pressing as to prevent me from joining thee again shouldst thou wish it. After all, when thou art in Britannia, thou hast usually come to repair very important things and help put the world to rights.\"");
say();
UI_add_answer(["tinker", "Minoc"]);
if (!(!(var0002 in var0001))) goto labelFunc0408_00F0;
UI_add_answer("join");
labelFunc0408_00F0:
goto labelFunc0408_010E;
labelFunc0408_00F3:
message("\"Now is not the proper time for a joyous reunion, ");
message(var0003);
message(". This town has been touched by a mysterious evil. There have been murders committed in Minoc.\"");
say();
gflags[0x011F] = true;
UI_add_answer(["murders", "Minoc"]);
labelFunc0408_010E:
case "tinker" atend labelFunc0408_0121:
message("\"It is not really what I wish to do with the rest of my life. I do not have the patience to be a proper tinkerer. If thou didst ask me, I would say I have sacrificed enough!\"");
say();
UI_remove_answer("tinker");
labelFunc0408_0121:
case "join" atend labelFunc0408_019D:
var0005 = 0x0000;
var0001 = UI_get_party_list();
//enum();
labelFunc0408_0137:
for (var0008 in var0001 with var0006 to var0007) atend labelFunc0408_014F;
var0005 = (var0005 + 0x0001);
goto labelFunc0408_0137;
labelFunc0408_014F:
if (!(var0005 < 0x0006)) goto labelFunc0408_0192;
if (!gflags[0x0101]) goto labelFunc0408_0166;
message("\"Well... All right. But I did not like thee telling me to leave!\"");
say();
goto labelFunc0408_016A;
labelFunc0408_0166:
message("\"Aye! It would be my pleasure!\"");
say();
labelFunc0408_016A:
gflags[0x0108] = true;
UI_add_to_party(0xFFF8);
UI_add_answer(["Iolo", "Shamino", "Dupre", "leave"]);
UI_remove_answer("join");
goto labelFunc0408_0196;
labelFunc0408_0192:
message("\"I believe thou hast enough travellers for one group.\"");
say();
labelFunc0408_0196:
UI_remove_answer("join");
labelFunc0408_019D:
case "leave" atend labelFunc0408_0225:
message("\"Art thou sure thou dost want me to leave?\"");
say();
if (!Func090A()) goto labelFunc0408_021A;
message("\"Dost thou want me to wait here or should I go home?\"");
say();
UI_clear_answers();
var0009 = Func090B(["wait here", "go home"]);
if (!(var0009 == "wait here")) goto labelFunc0408_01F5;
message("\"Very well. I shall wait here until thou dost return.\"*");
say();
gflags[0x0101] = true;
gflags[0x0108] = false;
UI_remove_from_party(0xFFF8);
UI_set_schedule_type(UI_get_npc_object(0xFFF8), 0x000F);
abort;
goto labelFunc0408_0217;
labelFunc0408_01F5:
message("\"Well! Fine, if that is thy wish, I shall leave!\"*");
say();
gflags[0x0101] = true;
gflags[0x0108] = false;
UI_remove_from_party(0xFFF8);
UI_set_schedule_type(UI_get_npc_object(0xFFF8), 0x000B);
abort;
labelFunc0408_0217:
goto labelFunc0408_021E;
labelFunc0408_021A:
message("\"Then I shall stay.\"");
say();
labelFunc0408_021E:
UI_remove_answer("leave");
labelFunc0408_0225:
case "Minoc" atend labelFunc0408_0245:
message("\"'Tis a terrible thing to be happening in our town, these murders. Minoc was once a safe and quiet place.\"");
say();
UI_remove_answer("Minoc");
UI_add_answer(["safe and quiet", "murders"]);
labelFunc0408_0245:
case "safe and quiet" atend labelFunc0408_0265:
message("\"Well, at least safe, if not necessarily quiet. Especially with all the commotion caused by Owen and his monument.\"");
say();
UI_remove_answer("safe and quiet");
UI_add_answer(["Owen", "monument"]);
labelFunc0408_0265:
case "Owen" atend labelFunc0408_0278:
message("\"Owen is our local shipwright. Frankly, I think he is something of a fool.\"");
say();
UI_remove_answer("Owen");
labelFunc0408_0278:
case "monument" atend labelFunc0408_0295:
message("\"The Fellowship wanted to build a statue of Owen. That way they can use him as an example of the success of the Fellowship philosophy. It would also increase Owen's business to the point of upsetting the local economy and driving the Artist's Guild out of business!\"");
say();
if (!gflags[0x00F7]) goto labelFunc0408_028E;
message("\"And it would have worked if thou hadst not put a stop to their plans.\"");
say();
labelFunc0408_028E:
UI_remove_answer("monument");
labelFunc0408_0295:
case "murders" atend labelFunc0408_02B5:
message("\"Frederico and Tania were killed at the Minoc sawmill in a manner most gruesome.\"");
say();
UI_remove_answer("murders");
UI_add_answer(["Frederico and Tania", "gruesome"]);
labelFunc0408_02B5:
case "Frederico and Tania" atend labelFunc0408_02C8:
message("\"Frederico was the leader of the Gypsies, and Tania was his wife. They lived outside of town. I know nothing more about them.\"");
say();
UI_remove_answer("Frederico and Tania");
labelFunc0408_02C8:
case "gruesome" atend labelFunc0408_02DB:
message("\"The manner in which Frederico and Tania were murdered suggests a ritual killing. From what I have been hearing it is similar to one that thou hast run across in Trinsic and one that occurred in Britain a while ago. 'Tis a most puzzling mystery.\"");
say();
UI_remove_answer("gruesome");
labelFunc0408_02DB:
case "plans" atend labelFunc0408_0314:
var000A = Func0931(0xFE9B, 0x0001, 0x031D, 0x000B, 0xFE99);
if (!var000A) goto labelFunc0408_0309;
message("\"May I see them?\" She examines every line of the plans carefully. \"These designs are unsound. Ships built to these specifications will easily capsize and sink. Thou shouldst show these plans to the Mayor.\"");
say();
gflags[0x00FD] = true;
goto labelFunc0408_030D;
labelFunc0408_0309:
message("\"Karl has the plans to the ships Owen built that sank?! I would very much like see them. Perhaps I could help discover why those tragedies occurred.\"");
say();
labelFunc0408_030D:
UI_remove_answer("plans");
labelFunc0408_0314:
case "Iolo" atend labelFunc0408_035D:
var000B = Func08F7(0xFFFF);
if (!(!var000B)) goto labelFunc0408_0333;
message("\"Perhaps we should go find Iolo and have him join us as well.\"");
say();
goto labelFunc0408_0356;
labelFunc0408_0333:
message("\"Hello, Iolo.\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"'Tis a pleasure to see thee again, Julia.\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFF8, 0x0000);
labelFunc0408_0356:
UI_remove_answer("Iolo");
labelFunc0408_035D:
case "Shamino" atend labelFunc0408_03A6:
var000C = Func08F7(0xFFFD);
if (!(!var000C)) goto labelFunc0408_037C;
message("\"Perhaps we should go find Shamino and have him join us as well.\"");
say();
goto labelFunc0408_039F;
labelFunc0408_037C:
message("\"Hello, Shamino!\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Oh, Julia! Good of thee to be joining us again!\"*");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFF8, 0x0000);
labelFunc0408_039F:
UI_remove_answer("Shamino");
labelFunc0408_03A6:
case "Dupre" atend labelFunc0408_0411:
var000D = Func08F7(0xFFFC);
if (!(!var000D)) goto labelFunc0408_03C5;
message("\"Perhaps we should go find Sir Dupre and have him join us as well.\"");
say();
goto labelFunc0408_040A;
labelFunc0408_03C5:
message("\"Once again our paths cross, Sir Dupre!\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Julia! I was just wondering if we would ever see thee again!\"*");
say();
UI_show_npc_face(0xFFF8, 0x0000);
message("\"Well, thou canst wonder no more, Dupre.\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"");
message(var0003);
message(", just between thou, myself and the lamppost, thou hadst better watch Julia. She hath a temper.\"*");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFF8, 0x0000);
labelFunc0408_040A:
UI_remove_answer("Dupre");
labelFunc0408_0411:
case "Spark" atend labelFunc0408_0469:
message("\"And who is this fine young lad?\"");
say();
if (!var0004) goto labelFunc0408_0462;
UI_show_npc_face(0xFFFE, 0x0000);
message("\"My name is Spark, milady.\"*");
say();
UI_show_npc_face(0xFFF8, 0x0000);
message("\"He is a cute one! And so well-mannered!\"");
say();
UI_show_npc_face(0xFFFE, 0x0000);
message("Spark turns beet red.");
say();
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFF8, 0x0000);
gflags[0x0121] = true;
labelFunc0408_0462:
UI_remove_answer("Spark");
labelFunc0408_0469:
case "bye" atend labelFunc0408_0474:
goto labelFunc0408_0477;
labelFunc0408_0474:
goto labelFunc0408_00A3;
labelFunc0408_0477:
break;
message("\"Goodbye, ");
message(var0003);
message(".\"*");
say();
labelFunc0408_0482:
if (!(event == 0x0000)) goto labelFunc0408_0490;
Func092E(0xFFF8);
labelFunc0408_0490:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090B 0x90B (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0409 object#(0x409) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
if (!(event == 0x0001)) goto labelFunc0409_043C;
UI_show_npc_face(0xFFF7, 0x0000);
var0000 = Func0909();
var0001 = UI_get_party_list();
var0002 = UI_get_npc_object(0xFFF7);
var0003 = Func0908();
var0004 = Func08F7(0xFFFD);
var0005 = Func08F7(0xFFFF);
var0006 = Func08F7(0xFFFC);
UI_add_answer(["name", "job", "bye"]);
if (!(var0002 in var0001)) goto labelFunc0409_006B;
UI_add_answer("leave");
labelFunc0409_006B:
if (!gflags[0x018D]) goto labelFunc0409_0078;
UI_add_answer("Henry");
labelFunc0409_0078:
if (!gflags[0x017D]) goto labelFunc0409_0085;
UI_add_answer("locket");
labelFunc0409_0085:
if (!gflags[0x0180]) goto labelFunc0409_0092;
UI_add_answer("strangers");
labelFunc0409_0092:
if (!(!gflags[0x001C])) goto labelFunc0409_00A4;
message("You see your old companion Katrina looking only slightly older than when you saw her during your last visit.");
say();
gflags[0x001C] = true;
goto labelFunc0409_00AE;
labelFunc0409_00A4:
message("\"Hello again, ");
message(var0003);
message("!\" Katrina greets you with a smile.");
say();
labelFunc0409_00AE:
converse (0) atend labelFunc0409_0431;
case "name" atend labelFunc0409_00D5:
message("\"Why,\" she blinks at you, \"I know it has been a long time, but surely thou cannot have forgotten me. I am Katrina. One of thine old companions.\"");
say();
message("You share a friendly laugh at your reunion.");
say();
UI_add_answer(["old companions", "time"]);
UI_remove_answer("name");
labelFunc0409_00D5:
case "old companions" atend labelFunc0409_00F8:
message("\"Ah, yes, Iolo, Shamino, and Dupre.\"");
say();
UI_remove_answer("old companions");
UI_add_answer(["Iolo", "Shamino", "Dupre"]);
labelFunc0409_00F8:
case "time" atend labelFunc0409_010B:
message("\"Although there is a vast difference in how time passes in our world and in this one, I am certain I have aged at least a bit,\" she says pleasantly.");
say();
UI_remove_answer("time");
labelFunc0409_010B:
case "job" atend labelFunc0409_0159:
if (!(!(var0002 in var0001))) goto labelFunc0409_0148;
message("\"Why, after last accompanying thee on thine adventures I settled down to the peaceful life of a shepherd in New Magincia.\"");
say();
UI_add_answer(["shepherd", "New Magincia"]);
if (!(!(var0002 in var0001))) goto labelFunc0409_0145;
message("\"If thou dost have need of me I could join thy party again.\"");
say();
UI_add_answer("join");
labelFunc0409_0145:
goto labelFunc0409_0159;
labelFunc0409_0148:
message("\"Following thee around, ");
message(var0000);
message("! I shall never miss New Magincia!\"");
say();
UI_add_answer("New Magincia");
labelFunc0409_0159:
case "shepherd" atend labelFunc0409_016C:
message("\"I watch over my flock, and the townspeople as well, when they need me.\"");
say();
UI_remove_answer("shepherd");
labelFunc0409_016C:
case "join" atend labelFunc0409_01D1:
var0007 = 0x0000;
var0001 = UI_get_party_list();
//enum();
labelFunc0409_0182:
for (var000A in var0001 with var0008 to var0009) atend labelFunc0409_019A;
var0007 = (var0007 + 0x0001);
goto labelFunc0409_0182;
labelFunc0409_019A:
if (!(var0007 < 0x0006)) goto labelFunc0409_01C6;
message("\"It would be an honor, ");
message(var0000);
message("!\"");
say();
UI_add_to_party(0xFFF7);
UI_add_answer("leave");
UI_remove_answer("join");
goto labelFunc0409_01CA;
labelFunc0409_01C6:
message("\"I prefer smaller crowds, Avatar. Perhaps later.\"");
say();
labelFunc0409_01CA:
UI_remove_answer("join");
labelFunc0409_01D1:
case "leave" atend labelFunc0409_0231:
message("\"Dost thou want me to wait here or shall I go on home?\"");
say();
UI_clear_answers();
var000B = Func090B(["wait here", "go home"]);
if (!(var000B == "wait here")) goto labelFunc0409_0217;
message("\"I shall be happy to wait here until thou dost return.\"*");
say();
UI_remove_from_party(0xFFF7);
UI_set_schedule_type(UI_get_npc_object(0xFFF7), 0x000F);
abort;
goto labelFunc0409_0231;
labelFunc0409_0217:
message("\"If thou dost think it best, I shall. If thou dost need me again thou dost have but to ask.\"*");
say();
UI_remove_from_party(0xFFF7);
UI_set_schedule_type(UI_get_npc_object(0xFFF7), 0x000B);
abort;
labelFunc0409_0231:
case "New Magincia" atend labelFunc0409_024B:
message("\"We are isolated here. We get no news from the world outside. Life is much the same as it was the last time thou didst visit Britannia two hundred years ago. I have many friends here.\"");
say();
UI_add_answer("isolated");
UI_remove_answer("New Magincia");
labelFunc0409_024B:
case "isolated" atend labelFunc0409_0271:
message("\"That is the way we like it here. Now we have three other strangers on the island -- besides thee. Of course, thou couldst hardly be called a stranger. This is the largest number of visitors we have had in years.~~\"But, never fear, ");
message(var0003);
message(", I am seldom lonely.\"");
say();
UI_remove_answer("isolated");
UI_add_answer(["lonely", "visitors"]);
labelFunc0409_0271:
case "lonely" atend labelFunc0409_0294:
message("\"I have many friends here. When I am lonely, I speak with Alagner the Sage, Russell the shipwright, or Henry the peddler.\"");
say();
UI_remove_answer("lonely");
UI_add_answer(["Alagner", "Russell", "Henry"]);
labelFunc0409_0294:
case "Alagner" atend labelFunc0409_02A7:
message("\"He is a wise man who knows many things and tells wonderful stories. Alagner came here to retreat from the outside world. I know not why.\"");
say();
UI_remove_answer("Alagner");
labelFunc0409_02A7:
case "Russell" atend labelFunc0409_02BA:
message("\"He has a sailor's heart, an artist's soul and a craftsman's hands. He never lived his dream of sailing the world. His ships do that for him.\"");
say();
UI_remove_answer("Russell");
labelFunc0409_02BA:
case "Henry" atend labelFunc0409_02D4:
message("\"Henry has been a very dear friend for years. He is a simple but good man who does not have an ounce of hate in his heart for anyone. I am so fond of him that I gave him a valuable heirloom.\"");
say();
UI_remove_answer("Henry");
UI_add_answer("heirloom");
labelFunc0409_02D4:
case "locket", "heirloom" atend labelFunc0409_02F8:
message("\"Since he does not have much money, I gave Henry my gold locket so he could present it to his sweetheart Constance. I have not talked to him lately, but I must confess I am worried about him.\"");
say();
UI_remove_answer("locket");
UI_remove_answer("heirloom");
UI_add_answer("worried");
labelFunc0409_02F8:
case "worried" atend labelFunc0409_030B:
message("\"Soon after Henry left carrying the locket, I saw the three strangers on the island, wandering off in the same direction.\"");
say();
UI_remove_answer("worried");
labelFunc0409_030B:
case "visitors", "strangers" atend labelFunc0409_032B:
message("\"The three visitors come from Buccaneer's Den. I met them shortly after their arrival and we spoke briefly. Robin is the one dressed like a gambler and the other two, Battles and Leavell, appear to be bullies.\"");
say();
UI_remove_answer(["strangers", "visitors"]);
gflags[0x0180] = true;
labelFunc0409_032B:
case "Iolo" atend labelFunc0409_0379:
if (!(!var0005)) goto labelFunc0409_0341;
message("\"Iolo should be in our party adventuring with us.\"");
say();
goto labelFunc0409_0372;
labelFunc0409_0341:
message("\"How hast thou been keeping thyself all these years, Iolo?\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"The years have not been as kind to me as they obviously have been to thee, milady.\"*");
say();
UI_show_npc_face(0xFFF7, 0x0000);
message("\"Ha! I see thou art still a scallywag, Iolo.\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFF7, 0x0000);
labelFunc0409_0372:
UI_remove_answer("Iolo");
labelFunc0409_0379:
case "Shamino" atend labelFunc0409_03C7:
if (!(!var0004)) goto labelFunc0409_038F;
message("\"Shamino should be here with us.\"");
say();
goto labelFunc0409_03C0;
labelFunc0409_038F:
message("\"Is that a gray hair I see in thine hair, Shamino?\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"It is not! Where?\"*");
say();
UI_show_npc_face(0xFFF7, 0x0000);
message("\"Perhaps it is but a trick of the light.\"*");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFF7, 0x0000);
labelFunc0409_03C0:
UI_remove_answer("Shamino");
labelFunc0409_03C7:
case "Dupre" atend labelFunc0409_0423:
if (!(!var0006)) goto labelFunc0409_03DD;
message("\"I cannot help but miss Dupre a little. I have not seen him since he was knighted.\"");
say();
goto labelFunc0409_041C;
labelFunc0409_03DD:
message("\"Sir Dupre, hast thou finished thy studies yet?\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("Dupre looks confounded. \"My studies, milady?\"*");
say();
UI_show_npc_face(0xFFF7, 0x0000);
message("\"Of all the various drinking establishments in Britannia!\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Oh, yes, of course, my studies! Continuing mine education has always been of the utmost importance to me.\"*");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFF7, 0x0000);
labelFunc0409_041C:
UI_remove_answer("Dupre");
labelFunc0409_0423:
case "bye" atend labelFunc0409_042E:
goto labelFunc0409_0431;
labelFunc0409_042E:
goto labelFunc0409_00AE;
labelFunc0409_0431:
break;
message("\"Pleasant days, ");
message(var0003);
message(".\"*");
say();
labelFunc0409_043C:
if (!(event == 0x0000)) goto labelFunc0409_044A;
Func092E(0xFFF7);
labelFunc0409_044A:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0909 0x909 ();
extern var Func093C 0x93C (var var0000, var var0001);
extern var Func08F7 0x8F7 (var var0000);
extern void Func08F2 0x8F2 (var var0000, var var0001);
extern void Func08F4 0x8F4 (var var0000, var var0001);
extern var Func08F5 0x8F5 (var var0000, var var0001);
extern var Func090A 0x90A ();
extern var Func090B 0x90B (var var0000);
extern void Func08F3 0x8F3 (var var0000);
void Func040A object#(0x40A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
var var0013;
var var0014;
var var0015;
var var0016;
var var0017;
var var0018;
var var0019;
var var001A;
var var001B;
var var001C;
var var001D;
var var001E;
var var001F;
var var0020;
var var0021;
var var0022;
var var0023;
var var0024;
var var0025;
var var0026;
var var0027;
var var0028;
var var0029;
var var002A;
if (!(event == 0x0001)) goto labelFunc040A_0A8C;
UI_show_npc_face(0xFFF6, 0x0000);
var0000 = Func0908();
var0001 = Func0909();
var0002 = UI_get_party_list();
var0003 = Func093C(UI_get_npc_object(0xFE9C), var0002);
var0004 = UI_get_npc_object(0xFFF6);
var0005 = UI_get_npc_object(0xFFFA);
if (!(UI_is_pc_female() == 0x0000)) goto labelFunc040A_005D;
var0006 = "Abraham";
goto labelFunc040A_0063;
labelFunc040A_005D:
var0006 = "Elizabeth";
labelFunc040A_0063:
var0007 = UI_get_array_size(var0002);
var0008 = "";
if (!(var0007 > 0x0001)) goto labelFunc040A_0083;
var0008 = "s";
labelFunc040A_0083:
var0009 = 0x0000;
var000A = false;
var000B = false;
var000C = false;
var000D = false;
var000E = false;
var000F = false;
var0010 = false;
var0011 = false;
var0012 = false;
var0013 = false;
var0014 = false;
var0015 = false;
var0016 = false;
var0017 = UI_find_nearby(var0004, 0x0211, 0x000D, 0x0000);
var0018 = UI_find_nearby(var0004, 0x01FE, 0x000D, 0x0000);
var0019 = UI_find_nearby(var0004, 0x0214, 0x000D, 0x0000);
var001A = UI_find_nearby(var0004, 0x01EE, 0x0014, 0x0000);
var001B = false;
if (!(Func08F7(0x00E5) || Func08F7(0x00E4))) goto labelFunc040A_0121;
var001B = true;
labelFunc040A_0121:
var001C = "valiant warrior";
if (!gflags[0x015E]) goto labelFunc040A_0133;
var001C = "noble enchanter";
labelFunc040A_0133:
if (!((!gflags[0x001D]) && gflags[0x015D])) goto labelFunc040A_0148;
Func08F2(var0000, var0006);
abort;
labelFunc040A_0148:
if (!(var0004 in var0002)) goto labelFunc040A_01AE;
Func08F4(var0000, var0007);
if (!var001B) goto labelFunc040A_0168;
UI_add_answer("hermits");
labelFunc040A_0168:
if (!var0017) goto labelFunc040A_0175;
UI_add_answer("slime");
labelFunc040A_0175:
if (!var0018) goto labelFunc040A_0182;
UI_add_answer("foxes");
labelFunc040A_0182:
if (!var0019) goto labelFunc040A_018F;
UI_add_answer("harpies");
labelFunc040A_018F:
if (!var001A) goto labelFunc040A_01A0;
message("\"We need not be concerned about these bees, so long as we have a number of my trusty arrows.\"");
say();
UI_add_answer("bees");
labelFunc040A_01A0:
UI_add_answer("Fellowship");
var0013 = true;
goto labelFunc040A_01B8;
labelFunc040A_01AE:
message("\"Greetings, traveller");
message(var0008);
message(".\"");
say();
labelFunc040A_01B8:
if (!gflags[0x015D]) goto labelFunc040A_01C4;
var001C = "lowly deceiver";
labelFunc040A_01C4:
UI_add_answer(["name", "job", "bye"]);
if (!(gflags[0x001D] && (var0007 == 0x0001))) goto labelFunc040A_01E6;
gflags[0x015F] = true;
labelFunc040A_01E6:
if (!(gflags[0x0162] && (!(var0004 in var0002)))) goto labelFunc040A_01FC;
UI_add_answer(var0006);
labelFunc040A_01FC:
if (!((!gflags[0x015F]) && ((var0007 > 0x0001) && gflags[0x001D]))) goto labelFunc040A_0216;
UI_add_answer("introduce");
labelFunc040A_0216:
converse (0) atend labelFunc040A_0A8B;
var0002 = UI_get_party_list();
var001D = "";
case "name" atend labelFunc040A_0277:
UI_remove_answer("name");
if (!(gflags[0x001D] == true)) goto labelFunc040A_024A;
message("\"I am Tseramed the woodsman. Thou art a ");
message(var001C);
message(".\"");
say();
goto labelFunc040A_0277;
labelFunc040A_024A:
message("\"I am called Tseramed. Art thou Fellowship members? How art thou called?\"");
say();
UI_push_answers();
var0009 = (var0009 + 0x0001);
UI_add_answer([var0000, "Fellowship"]);
if (!(!gflags[0x0161])) goto labelFunc040A_0277;
UI_add_answer("Avatar");
labelFunc040A_0277:
case "Avatar" atend labelFunc040A_028E:
UI_remove_answer("Avatar");
gflags[0x0161] = true;
message("\"The Avatar! This is a strange chance. Tell me Avatar, by what name art thou called?\"");
say();
labelFunc040A_028E:
case var0000 atend labelFunc040A_02D9:
UI_remove_answer(var0000);
gflags[0x001D] = true;
message("\"Well met, ");
message(var0000);
message("\"");
say();
if (!gflags[0x0161]) goto labelFunc040A_02B5;
message("Thy demeanor is noble.");
say();
labelFunc040A_02B5:
if (!(var0007 == 0x0001)) goto labelFunc040A_02C3;
gflags[0x015F] = true;
labelFunc040A_02C3:
UI_pop_answers();
if (!(!gflags[0x015F])) goto labelFunc040A_02D9;
message("Perhaps thou couldst introduce me to thy companions?\"");
say();
UI_add_answer("introduce");
labelFunc040A_02D9:
case "Fellowship" atend labelFunc040A_0328:
UI_remove_answer("Fellowship");
if (!gflags[0x001D]) goto labelFunc040A_0317;
if (!((var0004 in var0002) || gflags[0x0162])) goto labelFunc040A_0310;
message("\"I do not trust The Fellowship, and most especially ");
message(var0006);
message(".\"");
say();
UI_add_answer(var0006);
goto labelFunc040A_0314;
labelFunc040A_0310:
message("\"I have no love for The Fellowship. We shall speak of it when I know thee better.\"");
say();
labelFunc040A_0314:
goto labelFunc040A_0328;
labelFunc040A_0317:
message("\"Yes. Perhaps I am addressing the illustrious ");
message(var0006);
message("?\"");
say();
UI_add_answer(var0006);
labelFunc040A_0328:
case var0006 atend labelFunc040A_03AC:
UI_remove_answer(var0006);
if (!gflags[0x001D]) goto labelFunc040A_037A;
message("\"Not long ago The Fellowship began to spread its influence throughout Britannia.");
say();
message("\"In their early days they attracted many bright and enthusiastic young people, among them my love, Lady M.");
say();
message("A woman so intelligent could not help but rise in their ranks. Her direct superior was ");
message(var0006);
message(".");
say();
message("One black evening she fell gravely ill. According to friends of mine, ");
message(var0006);
message(" forbade her to visit the local healer. By the time I learned of this, she had already passed away.");
say();
message("She rests now forever in the Yew graveyard, may her sleep be peaceful. I searched the land for ");
message(var0006);
message(", but never found my quarry. In fact, it seems that every time I near my prey, they have already vanished! My search shall never be truly over.\"");
say();
UI_remove_answer(var0006);
UI_add_answer(["Yew", "Lady M."]);
goto labelFunc040A_03AC;
labelFunc040A_037A:
UI_pop_answers();
gflags[0x015D] = true;
var001E = "";
if (!gflags[0x0161]) goto labelFunc040A_0394;
var001E = "thou dost tarnish the title of Avatar!";
labelFunc040A_0394:
message("\"Knave, ");
message(var001E);
message(" I have not forgotten thy wrong doing, nor the evil crime that followed it.");
say();
message("Oh soul as black as pitch!\"");
say();
Func08F2(var0000, var0006);
abort;
labelFunc040A_03AC:
case "Lady M." atend labelFunc040A_03BF:
UI_remove_answer("Lady M.");
message("\"Youth is hers forever.\"");
say();
labelFunc040A_03BF:
case "job" atend labelFunc040A_041B:
if (!(!var000A)) goto labelFunc040A_0409;
var000A = true;
if (!(var0004 in var0002)) goto labelFunc040A_03F0;
message("\"I travel with thee, ");
message(var001C);
message(", to aid thee with my wood craft.\"");
say();
UI_add_answer("forest");
goto labelFunc040A_0406;
labelFunc040A_03F0:
message("\"I am but a humble woodsman. I garner my living from the forest and find knowledge in its depths.");
say();
message("I have explored all this region.\"");
say();
UI_add_answer("knowledge");
UI_add_answer("forest");
labelFunc040A_0406:
goto labelFunc040A_041B;
labelFunc040A_0409:
message("\"As I said, my woodcraft encompasses all this forest, even the caves in the mountain.\"");
say();
UI_add_answer("forest");
UI_add_answer("caves");
labelFunc040A_041B:
case "introduce" atend labelFunc040A_0436:
var0003 = Func08F5(var0002, var0003);
UI_remove_answer("introduce");
labelFunc040A_0436:
if (!(gflags[0x001D] && (!var0013))) goto labelFunc040A_0462;
if (!((var0004 in var0002) || (UI_get_array_size(var0003) == 0x0000))) goto labelFunc040A_0462;
UI_add_answer("Fellowship");
var0013 = true;
labelFunc040A_0462:
var001F = 0x0000;
case "forest" atend labelFunc040A_0476:
var001F = 0x0001;
labelFunc040A_0476:
case "caves", "secret places" atend labelFunc040A_0487:
var001F = 0x0002;
labelFunc040A_0487:
case "knowledge" atend labelFunc040A_0495:
var001F = 0x0003;
labelFunc040A_0495:
if (!(var001F > 0x0000)) goto labelFunc040A_04E2;
if (!((!gflags[0x015F]) || (!gflags[0x001D]))) goto labelFunc040A_04E2;
var0020 = ["We may speak more after introductions...", "Perhaps introductions are in order first."];
var0021 = var0020[UI_die_roll(0x0001, UI_get_array_size(var0020))];
message("\"");
message(var0021);
message("\"");
say();
var001F = 0x0000;
UI_add_answer("introduce");
labelFunc040A_04E2:
if (!(var001F == 0x0001)) goto labelFunc040A_0501;
var000D = true;
message("\"The forest is a wild place, but tamed somewhat in recent years. Within, ");
message(var001C);
message(", thou mayest still find creatures spoken of only in legend.\"");
say();
UI_add_answer("creatures");
labelFunc040A_0501:
if (!(var001F == 0x0002)) goto labelFunc040A_0527;
var000C = true;
message("\"North of my hut is a deep bore-hole into the mountains. Within live bees of a size to rival sheep, or hounds. Their wings stir up leaves as they fly, and they humm with a noise to make men flee in fear.\"");
say();
message("\"Some have entered, never to return. Perhaps they are there still... Death is greedy, and holds a fate for those of like intent.\"");
say();
UI_add_answer(["mountains", "bees", "death"]);
labelFunc040A_0527:
if (!(var001F == 0x0003)) goto labelFunc040A_054C;
UI_remove_answer("knowledge");
message("\"Many years have I dwelt by the mountains. Many spans have vanished under my roaming feet. Into the depths of the dark swamp I have gone, and to the heights of the mountains. I know the trees of the forest, and the secret places in the earth.\"");
say();
UI_add_answer(["mountains", "swamp", "secret places"]);
labelFunc040A_054C:
case "swamp" atend labelFunc040A_057A:
UI_remove_answer("swamp");
message("\"North of the mountain spur is a dense swamp. Killing slime [lurk within, guarding a clear spring. All about the water is foul and noisome.");
say();
message("Into thy boots the foul concoction will seep, bringing on nausea and dizziness. The wise traveller wears swamp boots in such places.");
say();
message("East, North, and West that mire is drained. Through Yew and past the Abbey the westward river flows. The others both bend north into the sea.\"");
say();
UI_add_answer(["slime", "Yew", "Abbey", "sea"]);
labelFunc040A_057A:
case "Abbey" atend labelFunc040A_059A:
UI_remove_answer("Abbey");
message("\"Empath Abbey is its proper name ");
message(var0001);
message(". They practice ancient arts there, the eldest being the fermentation and distillation of spirits. Demand for their products is high in Yew.\"");
say();
UI_add_answer("Yew");
labelFunc040A_059A:
case "Yew" atend labelFunc040A_05B1:
UI_remove_answer("Yew");
message("\"Citizens of a reclusive nature feel at peace there. Within the forest lie its buildings, many so grown-over as to seem a part of the wood.\"");
say();
message("\"East of my dwelling the wood is thick, but a woodcrafty traveller may find the houses there.\"");
say();
labelFunc040A_05B1:
case "sea" atend labelFunc040A_05E0:
UI_remove_answer("sea");
message("\"The sea! Its waves sooth a rough mood, but its fury is unrivaled. Ask those who live upon it! A gift it is, to live by it and reap its natural harvest. I cast in a line when I may.");
say();
message("Dost thou wonder what mysteries the sea must hold?\"");
say();
if (!Func090A()) goto labelFunc040A_05DC;
message("\"I also wonder. But the doings of those who travel upon it are more familiar to me. I have seen pirates land upon the northern coast.\"");
say();
UI_add_answer("pirates");
goto labelFunc040A_05E0;
labelFunc040A_05DC:
message("\"Perhaps thou art not as fond of the sea as I...\"");
say();
labelFunc040A_05E0:
case "pirates" atend labelFunc040A_05F3:
UI_remove_answer("pirates");
message("\"Perhaps they land to cache their booty in the forest. I have never followed them.\"");
say();
labelFunc040A_05F3:
case "mountains" atend labelFunc040A_0610:
var000B = true;
message("\"Vaulting in from the coast looms a narrow spine. Dangerous and sharp rear the crags of those mountains. Caves there hold danger, and death for the unwary.\"");
say();
UI_add_answer(["caves", "death"]);
labelFunc040A_0610:
case "death" atend labelFunc040A_062A:
UI_remove_answer("death");
message("\"Death for the greedy. Death for any who steal from the dwellers in the caves.\"");
say();
UI_add_answer("caves");
labelFunc040A_062A:
case "creatures" atend labelFunc040A_0654:
UI_remove_answer("creatures");
message("\"Aye. Such as would devour the unwary and pick bones dry. In the forest are harpies, and slime on the margins of the swamp, and bees in the caves.");
say();
message("\"Good game live also in the forest: Foxes and the like.\"");
say();
UI_add_answer(["slime", "foxes", "harpies", "bees"]);
labelFunc040A_0654:
case "harpies" atend labelFunc040A_0674:
UI_remove_answer("harpies");
if (!var0019) goto labelFunc040A_0670;
message("\"Harpies! To battle! Let us slay them at once!\"");
say();
goto labelFunc040A_0674;
labelFunc040A_0670:
message("\"A malformed flying horror. Thou wouldst not want to meet one.\"");
say();
labelFunc040A_0674:
case "slime" atend labelFunc040A_0692:
var000E = true;
message("\"A dangerous organism is the greenish slime. Acidic to touch, it will hurl pseudopods at its prey from three paces.");
say();
message("\"Never sleeping, it has no mind and is composed in the main of poisonous substances. It engulfs and devours hapless animals voraciously.\"");
say();
if (!var0017) goto labelFunc040A_0692;
message("\"Attack it with flame! Slime has no defense against it.\"");
say();
labelFunc040A_0692:
case "foxes" atend labelFunc040A_06C1:
var000F = true;
if (!UI_find_nearby(var0004, 0x01FE, 0x000A, 0x0000)) goto labelFunc040A_06B7;
var001D = " See how lustrous is the coat of that fox.";
labelFunc040A_06B7:
message("\"Cunning is the fox, and shy of humans. We shall never belong to the forest as they do.");
message(var001D);
message("\"");
say();
labelFunc040A_06C1:
case "bees" atend labelFunc040A_0705:
var0011 = true;
if (!var001A) goto labelFunc040A_06E1;
message("\"Bees such as these may be tamed with my special arrows!\"");
say();
UI_add_answer("arrows");
goto labelFunc040A_0705;
labelFunc040A_06E1:
message("\"Such bees as thou hast never seen! Large as a wolf they are, with wings stretching over a span in length.");
say();
message("A creature stung by them will pass into a deep, death-like sleep.\"");
say();
if (!(!(var0004 in var0002))) goto labelFunc040A_0705;
message("\"I have hunted them on many occasions, for I use their poison on my arrows. And I like their honey. Perhaps together we might journey into the cave for some?\"");
say();
UI_add_answer(["join", "arrows"]);
labelFunc040A_0705:
case "arrows" atend labelFunc040A_0818:
UI_remove_answer("arrows");
message("\"I fashion my arrows from the stingers of giant bees. With them one may put a foe to sleep.\"");
say();
var0022 = "";
var0023 = 0x0000;
if (!gflags[0x0153]) goto labelFunc040A_0783;
var0023 = UI_count_objects(0xFE9B, 0x03B3, 0xFE99, 0xFE99);
if (!(var0023 > 0x0006)) goto labelFunc040A_074D;
var0023 = 0x0006;
labelFunc040A_074D:
var0024 = UI_count_objects(0xFE9B, 0x0238, 0xFE99, 0xFE99);
if (!((var0004 in var0002) && ((var0024 < 0x0006) && (var0023 > 0x0000)))) goto labelFunc040A_0780;
var0022 = "Shall I fashion these stingers into arrows?";
labelFunc040A_0780:
goto labelFunc040A_078F;
labelFunc040A_0783:
var0022 = "If thou wouldst like, I would be happy to give thee a dozen of my special arrows. Art thou interested?";
var0023 = 0x000C;
labelFunc040A_078F:
if (!(var0022 != "")) goto labelFunc040A_0818;
message(var0022);
message("");
say();
if (!Func090A()) goto labelFunc040A_080E;
var0025 = UI_add_party_items(var0023, 0x0238, 0xFE99, 0xFE99, false);
if (!var0025) goto labelFunc040A_0807;
var0026 = "";
if (!(var0023 > 0x0001)) goto labelFunc040A_07D6;
var0026 = "s";
labelFunc040A_07D6:
message("\"Use them with care, for even a scratch may put one to sleep!\" he says, handing you ");
message(var0023);
message(" arrow");
message(var0026);
message(".");
say();
if (!gflags[0x0153]) goto labelFunc040A_0800;
var001F = UI_remove_party_items(var0023, 0x03B3, 0xFE99, 0xFE99, true);
labelFunc040A_0800:
gflags[0x0153] = true;
goto labelFunc040A_080B;
labelFunc040A_0807:
message("\"Perhaps when thou art carrying less I can give them to thee.\"");
say();
labelFunc040A_080B:
goto labelFunc040A_0818;
labelFunc040A_080E:
message("\"Very well, ");
message(var0001);
message(".\"");
say();
labelFunc040A_0818:
case "join" atend labelFunc040A_0856:
UI_remove_answer("join");
if (!(var0007 < 0x0008)) goto labelFunc040A_084C;
UI_add_to_party(0xFFF6);
message("\"I would be honored, ");
message(var0001);
message(".\"");
say();
UI_add_answer("Fellowship");
goto labelFunc040A_0856;
labelFunc040A_084C:
message("\"'Twould appear, ");
message(var0001);
message(", that thou already hast more than enough travelling companions.\"");
say();
labelFunc040A_0856:
case "leave" atend labelFunc040A_08C0:
var0027 = true;
message("\"Dost thou want me to wait here or should I go home?\"");
say();
UI_clear_answers();
var0028 = Func090B(["wait here", "go home"]);
if (!(var0028 == "wait here")) goto labelFunc040A_08A0;
message("\"Very well! I shall wait for thee!\"*");
say();
UI_remove_from_party(0xFFF6);
UI_set_schedule_type(UI_get_npc_object(0xFFF6), 0x000F);
abort;
goto labelFunc040A_08C0;
labelFunc040A_08A0:
message("\"Very well, ");
message(var0001);
message(". Fare thee well.\"*");
say();
UI_remove_from_party(0xFFF6);
UI_set_schedule_type(UI_get_npc_object(0xFFF6), 0x000B);
abort;
labelFunc040A_08C0:
var0029 = false;
case "hermits" atend labelFunc040A_08D0:
var0029 = true;
labelFunc040A_08D0:
if (!((var000C && var000B) && (!var0012))) goto labelFunc040A_08F2;
message("\"Speaking of caves and mountains, there are some who dwell near, or perhaps in, the cave of bees. They are hermits.\"");
say();
var0029 = true;
var0012 = true;
UI_add_answer("bees");
labelFunc040A_08F2:
if (!var0029) goto labelFunc040A_0937;
UI_remove_answer("hermits");
if (!(!gflags[0x0152])) goto labelFunc040A_0922;
message("\"One day I glimpsed a man and a woman deep within the cave as I was hunting. Since then I have seen them twice. I believe they are former citizens of Yew, though I do not know how they live in harmony with the bees.\"");
say();
if (!var001B) goto labelFunc040A_0914;
message("\"These are the people I saw!\"");
say();
labelFunc040A_0914:
gflags[0x0152] = true;
UI_add_answer("bees");
goto labelFunc040A_0933;
labelFunc040A_0922:
if (!var001B) goto labelFunc040A_092F;
message("\"These people are the hermits I spoke of before.\"");
say();
goto labelFunc040A_0933;
labelFunc040A_092F:
message("\"Perhaps those hermits are still living in the cave.\"");
say();
labelFunc040A_0933:
var0012 = true;
labelFunc040A_0937:
if (!((var000E && var000F) && (!var0010))) goto labelFunc040A_0967;
message("\"This puts me in mind of a story. Wouldst thou like to hear it?\"");
say();
if (!Func090A()) goto labelFunc040A_095F;
message("\"One day while walking along the edge of the swamp I happened upon a strange sight. A fox was held at bay on a small hillock in the midst of the swamp, and all about the hillock writhed green slime.");
say();
message("Slowly the slime crept up toward the fox, when suddenly the fox trotted directly across the surface of the ooze!");
say();
message("Unharmed, the fox dashed off into the wood, leaving the slime writhing behind. By this I guess that the victims of slime are those caught sleeping, or unaware.\"");
say();
goto labelFunc040A_0963;
labelFunc040A_095F:
message("\"Perhaps another time.\"");
say();
labelFunc040A_0963:
var0010 = true;
labelFunc040A_0967:
if (!var000E) goto labelFunc040A_0974;
UI_remove_answer("slime");
labelFunc040A_0974:
if (!var000F) goto labelFunc040A_0981;
UI_remove_answer("foxes");
labelFunc040A_0981:
if (!var0011) goto labelFunc040A_098E;
UI_remove_answer("bees");
labelFunc040A_098E:
if (!var000C) goto labelFunc040A_09A9;
UI_remove_answer("caves");
UI_remove_answer("secret places");
UI_remove_answer("death");
labelFunc040A_09A9:
if (!var000B) goto labelFunc040A_09B6;
UI_remove_answer("mountains");
labelFunc040A_09B6:
if (!var000D) goto labelFunc040A_09C3;
UI_remove_answer("forest");
labelFunc040A_09C3:
if (!(gflags[0x0161] && ((var0004 in var0002) && (!gflags[0x0162])))) goto labelFunc040A_09E0;
Func08F3(var0002);
gflags[0x0162] = true;
labelFunc040A_09E0:
if (!(var0004 in var0002)) goto labelFunc040A_09F1;
UI_remove_answer("join");
labelFunc040A_09F1:
case "bye" atend labelFunc040A_0A88:
if (!((var0004 in var0002) || var0027)) goto labelFunc040A_0A0B;
var0016 = true;
labelFunc040A_0A0B:
if (!(gflags[0x001D] && (!var0016))) goto labelFunc040A_0A7B;
if (!(!gflags[0x0161])) goto labelFunc040A_0A63;
message("\"Thy pardon, ");
message(var0001);
message(", but thy visage brings to my mind a statue that I once saw. 'Twas a likeness of the ancient hero known as the Avatar.");
say();
message("Art thou not that same honorable soul?\"");
say();
if (!Func090A()) goto labelFunc040A_0A59;
var002A = "That sculptor did thee justice.";
if (!(UI_is_pc_female() == 0x0001)) goto labelFunc040A_0A48;
var002A = "Thou art more fair by far than any likeness in stone could portray.";
labelFunc040A_0A48:
message("\"Noble hero, it is an honor to make thine aquaintance. ");
message(var002A);
message("\"");
say();
gflags[0x0161] = true;
goto labelFunc040A_0A60;
labelFunc040A_0A59:
message("\"I must be mistaken. Farewell.\"");
say();
goto labelFunc040A_0A8B;
labelFunc040A_0A60:
goto labelFunc040A_0A78;
labelFunc040A_0A63:
message("\"^");
message(var0001);
message(", if it pleases thee, I would be honored to travel with thee. I have skill in arms, and I can offer my knowledge and wood craft to thee...\"");
say();
UI_add_answer("join");
var0016 = true;
labelFunc040A_0A78:
goto labelFunc040A_0A88;
labelFunc040A_0A7B:
message("\"'Til next time, ");
message(var0001);
message(".\"*");
say();
goto labelFunc040A_0A8B;
labelFunc040A_0A88:
goto labelFunc040A_0216;
labelFunc040A_0A8B:
break;
labelFunc040A_0A8C:
if (!(event == 0x0000)) goto labelFunc040A_0A95;
abort;
labelFunc040A_0A95:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func040B object#(0x40B) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
if (!(event == 0x0001)) goto labelFunc040B_026C;
var0000 = Func0909();
var0001 = UI_get_party_list();
var0002 = UI_is_pc_female();
UI_add_answer(["name", "job", "bye"]);
UI_show_npc_face(0xFFF5, 0x0000);
if (!(!gflags[0x0014])) goto labelFunc040B_005D;
if (!var0002) goto labelFunc040B_004C;
var0003 = "woman";
goto labelFunc040B_0052;
labelFunc040B_004C:
var0003 = "man";
labelFunc040B_0052:
message("The peasant looks at you as if he has seen a ghost! \"Iolo! This ");
message(var0003);
message(" did appear from thin air! Help me!\"*");
say();
abort;
labelFunc040B_005D:
if (!(!gflags[0x004B])) goto labelFunc040B_009B;
message("You see a distraught peasant. \"Art thou really the Avatar?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc040B_008F;
message("Petre bows before you. \"^");
message(var0000);
message(".\"");
say();
gflags[0x004B] = true;
UI_set_schedule_type(0xFFF5, 0x000B);
goto labelFunc040B_0098;
labelFunc040B_008F:
message("Petre looks confused. \"Thou shouldst not make fun of me!\" He turns away.*");
say();
gflags[0x004B] = true;
abort;
labelFunc040B_0098:
goto labelFunc040B_00A5;
labelFunc040B_009B:
message("\"What is it, ");
message(var0000);
message("?\" Petre asks.");
say();
labelFunc040B_00A5:
if (!gflags[0x003C]) goto labelFunc040B_00B8;
UI_add_answer(["murder", "footprints"]);
labelFunc040B_00B8:
if (!gflags[0x003F]) goto labelFunc040B_00CE;
UI_add_answer(["Fellowship", "Klog", "Spark"]);
labelFunc040B_00CE:
converse (0) atend labelFunc040B_0267;
if (!(!gflags[0x003C])) goto labelFunc040B_00E0;
message("\"Look in the stables! 'Tis horrible! I will answer thy questions, but first look in the stables!\"*");
say();
abort;
goto labelFunc040B_0264;
labelFunc040B_00E0:
case "name" atend labelFunc040B_00F3:
message("\"I am called Petre,\" the man sniffs.");
say();
UI_remove_answer("name");
labelFunc040B_00F3:
case "job" atend labelFunc040B_0106:
message("\"I am the stables caretaker.\"");
say();
UI_add_answer("stables");
labelFunc040B_0106:
case "stables" atend labelFunc040B_0132:
message("\"I have worked here for years. I can sell thee a nice horse and carriage if thou dost want one. The animal and the carriage are located in a small shelter just outside the north gate of the town.\"");
say();
if (!(!gflags[0x0057])) goto labelFunc040B_0120;
message("\"Right now the place gives me the creeps!\"~~His eyes are wild with fright.");
say();
goto labelFunc040B_0124;
labelFunc040B_0120:
message("\"The Mayor did not let me clean in there until twenty-four hours after thou didst leave Trinsic. He thought we had to keep the place of the crime unsullied. Well, if thou dost ask me, I can tell thee that it still stinks like the end of the world in there!\"");
say();
labelFunc040B_0124:
UI_remove_answer("stables");
UI_add_answer("carriage");
labelFunc040B_0132:
case "murder" atend labelFunc040B_0152:
message("\"I discovered poor Christopher and Inamo earlier this morning. I did not touch a thing. Made me sick, it did!\"");
say();
UI_remove_answer("murder");
UI_add_answer(["Christopher", "Inamo"]);
labelFunc040B_0152:
case "Christopher" atend labelFunc040B_0165:
message("\"Nice man. He made the shoes for mine horses.\"");
say();
UI_remove_answer("Christopher");
labelFunc040B_0165:
case "Inamo" atend labelFunc040B_0178:
message("\"He worked for very little money. Did basic chores around the stables and the pub. I let him sleep in the little back room. He must have been in the wrong place at the wrong time.\"");
say();
UI_remove_answer("Inamo");
labelFunc040B_0178:
case "carriage" atend labelFunc040B_01FB:
message("\"The horse and carriage combination sells for 60 gold. Dost thou want a title?\"");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc040B_01F0;
var0006 = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
if (!(var0006 >= 0x003C)) goto labelFunc040B_01E9;
var0007 = UI_add_party_items(0x0001, 0x031D, 0x001C, 0xFE99, false);
if (!var0007) goto labelFunc040B_01E2;
message("\"Very good. Nothing like a little business transaction to take my mind off the ghastly scene in the stables.\"");
say();
var0008 = UI_remove_party_items(0x003C, 0x0284, 0xFE99, 0xFE99, true);
goto labelFunc040B_01E6;
labelFunc040B_01E2:
message("\"Oh, my. Thine hands are too full to take the title!\"");
say();
labelFunc040B_01E6:
goto labelFunc040B_01ED;
labelFunc040B_01E9:
message("\"Oh. Thou dost not have enough gold to buy the title.\"");
say();
labelFunc040B_01ED:
goto labelFunc040B_01F4;
labelFunc040B_01F0:
message("\"Some other time, then.\"");
say();
labelFunc040B_01F4:
UI_remove_answer("carriage");
labelFunc040B_01FB:
case "footprints" atend labelFunc040B_020E:
message("\"They doth lead out the back way, yes? They must be the tracks of the murderer!\"~~His eyes widen a bit more.~~\"Or... murderers!\"");
say();
UI_remove_answer("footprints");
labelFunc040B_020E:
case "Fellowship" atend labelFunc040B_0221:
message("\"I do not want to join them, but they seem all right.\"");
say();
UI_remove_answer("Fellowship");
labelFunc040B_0221:
case "Klog" atend labelFunc040B_0234:
message("\"I do not know the man too well. I have no dealings with him.\"");
say();
UI_remove_answer("Klog");
labelFunc040B_0234:
case "Spark" atend labelFunc040B_0259:
if (!(!(0xFFFE in var0001))) goto labelFunc040B_024E;
message("\"That be Christopher's son. Nice lad.\"");
say();
goto labelFunc040B_0252;
labelFunc040B_024E:
message("Petre ruffles the boy's hair.~~\"This here is Christopher's son. He's a good lad, is Spark, when he's not pilfering things from honest shopkeepers.\"");
say();
labelFunc040B_0252:
UI_remove_answer("Spark");
labelFunc040B_0259:
case "bye" atend labelFunc040B_0264:
goto labelFunc040B_0267;
labelFunc040B_0264:
goto labelFunc040B_00CE;
labelFunc040B_0267:
break;
message("\"Goodbye,\" the man sniffs.*");
say();
labelFunc040B_026C:
if (!(event == 0x0000)) goto labelFunc040B_027A;
Func092E(0xFFF5);
labelFunc040B_027A:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern var Func090B 0x90B (var var0000);
extern void Func0883 0x883 ();
extern void Func0885 0x885 ();
extern void Func0884 0x884 ();
extern var Func0886 0x886 ();
extern void Func0911 0x911 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func040C object#(0x40C) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
if (!(event == 0x0001)) goto labelFunc040C_04FE;
UI_show_npc_face(0xFFF4, 0x0000);
var0000 = Func0909();
var0001 = Func0908();
var0002 = Func08F7(0xFFFE);
var0003 = UI_is_pc_female();
if (!((gflags[0x005A] == true) && (gflags[0x0048] == false))) goto labelFunc040C_00CE;
message("\"Hast thou properly searched the stables?\"");
say();
if (!Func090A()) goto labelFunc040C_00C9;
message("\"What didst thou find?\"");
say();
UI_clear_answers();
var0004 = ["nothing", "a bucket", "a body"];
if (!gflags[0x003C]) goto labelFunc040C_006D;
var0004 = (var0004 & "a key");
labelFunc040C_006D:
var0005 = Func090B(var0004);
if (!(var0005 == "a key")) goto labelFunc040C_0099;
if (!(!var0002)) goto labelFunc040C_008E;
message("\"Hmmm, a key. Perhaps if thou dost ask Christopher's son about it, he may know what it is for.\"");
say();
goto labelFunc040C_0092;
labelFunc040C_008E:
message("\"Ask Spark about it. He may know something.\"");
say();
labelFunc040C_0092:
gflags[0x0048] = true;
goto labelFunc040C_0226;
labelFunc040C_0099:
if (!(var0005 == "a body")) goto labelFunc040C_00A8;
message("\"I know that! What ELSE didst thou find? Thou shouldst look again, Avatar!\"*");
say();
abort;
labelFunc040C_00A8:
if (!(var0005 == "a bucket")) goto labelFunc040C_00B7;
message("\"Yes, obviously it is filled with poor Christopher's own blood. But surely there was something else that might point us in the direction of the killer or killers - thou shouldst look again, Avatar.\"*");
say();
abort;
labelFunc040C_00B7:
if (!(var0005 == "nothing")) goto labelFunc040C_00C6;
message("\"Thou shouldst look again, 'Avatar'!\"*");
say();
abort;
labelFunc040C_00C6:
goto labelFunc040C_00CE;
labelFunc040C_00C9:
message("\"Well, do so, then come speak with me!\"*");
say();
abort;
labelFunc040C_00CE:
if (!gflags[0x0059]) goto labelFunc040C_011F;
message("\"Hmmm. Hast thou reconsidered mine offer to investigate the murder?\"");
say();
if (!Func090A()) goto labelFunc040C_00EF;
message("\"Splendid. Then thou must really be the Avatar after all!\"");
say();
gflags[0x0059] = false;
Func0883();
goto labelFunc040C_0226;
goto labelFunc040C_011F;
labelFunc040C_00EF:
message("\"Then leave our people to work it out for themselves.\"*");
say();
UI_remove_npc_face(0xFFF4);
var0006 = Func08F7(0xFFFF);
if (!var0006) goto labelFunc040C_011E;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Avatar! I am ashamed of thee! Thou shouldst reconsider!\"*");
say();
UI_remove_npc_face(0xFFFF);
labelFunc040C_011E:
abort;
labelFunc040C_011F:
if (!(!gflags[0x004C])) goto labelFunc040C_0222;
UI_halt_scheduled(item);
UI_set_schedule_type(UI_get_npc_object(0xFFF4), 0x000B);
message("You see a middle-aged nobleman.");
say();
gflags[0x004C] = true;
var0006 = Func08F7(0xFFFF);
if (!var0006) goto labelFunc040C_01A9;
message("\"Iolo! Who is this stranger?\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Why, this is the Avatar!\" Iolo proudly proclaims. \"Canst thou believe it? May I introduce thee? This is Finnigan, the Town Mayor. And this is ");
message(var0001);
message(", the Avatar!");
say();
if (!var0003) goto labelFunc040C_0175;
message("\"I simply cannot believe she is here!\"*");
say();
goto labelFunc040C_0179;
labelFunc040C_0175:
message("\"I simply cannot believe he is here!\"*");
say();
labelFunc040C_0179:
UI_show_npc_face(0xFFF4, 0x0000);
message("The Mayor looks you up and down, not sure if he believes Iolo or not. He looks at Iolo skeptically.");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"I swear to thee, it is the Avatar!\"");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFF4, 0x0000);
goto labelFunc040C_01AD;
labelFunc040C_01A9:
message("\"I have heard that thou art the Avatar. I am not certain that I believe it.");
say();
labelFunc040C_01AD:
message("The mayor looks at you again as if he were studying every pore on your face. Finally, he smiles.");
say();
message("\"Welcome, Avatar.\"");
say();
message("But just as suddenly, Finnigan's face becomes stern.");
say();
message("\"A horrible murder has occurred. If thou art truly the Avatar, perhaps thou canst help us solve it. I would feel better if thou takest this matter into thine hands. Thou shalt be handsomely rewarded if thou dost discover the name of the killer. Dost thou accept?\"");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc040C_0216;
var0007 = Func08F7(0xFFF5);
if (!var0007) goto labelFunc040C_01F4;
message("\"Petre here knows something about all of this.\"*");
say();
UI_show_npc_face(0xFFF5, 0x0000);
message("The peasant interjects. \"I discovered poor Christopher and the Gargoyle Inamo early this morning.\"*");
say();
UI_remove_npc_face(0xFFF5);
goto labelFunc040C_0202;
labelFunc040C_01F4:
UI_show_npc_face(0xFFF4, 0x0000);
message("\"Petre, the stables caretaker, discovered poor Christopher and Inamo early this morning.\"");
say();
labelFunc040C_0202:
UI_show_npc_face(0xFFF4, 0x0000);
message("The Mayor continues. \"Hast thou searched the stables?\"");
say();
Func0885();
goto labelFunc040C_021F;
labelFunc040C_0216:
message("\"Well, thou could not be the real Avatar then!\"*");
say();
gflags[0x0059] = true;
abort;
labelFunc040C_021F:
goto labelFunc040C_0226;
labelFunc040C_0222:
message("\"Yes, Avatar?\" Finnigan asks.");
say();
labelFunc040C_0226:
UI_add_answer(["name", "job", "murder", "bye"]);
if (!gflags[0x005B]) goto labelFunc040C_0246;
UI_add_answer("report");
labelFunc040C_0246:
if (!gflags[0x003F]) goto labelFunc040C_0259;
UI_add_answer(["Fellowship", "Klog"]);
labelFunc040C_0259:
if (!(gflags[0x0042] && (!gflags[0x003D]))) goto labelFunc040C_026B;
UI_add_answer("password");
labelFunc040C_026B:
if (!(gflags[0x0045] && (!gflags[0x0044]))) goto labelFunc040C_027D;
UI_add_answer("Pay me now, please");
labelFunc040C_027D:
converse (0) atend labelFunc040C_04F9;
case "name" atend labelFunc040C_0293:
message("\"My name is Finnigan.\"");
say();
UI_remove_answer("name");
labelFunc040C_0293:
case "job" atend labelFunc040C_02A6:
message("\"I am the Mayor of Trinsic and have been since I arrived here three years ago.\"");
say();
UI_add_answer("Trinsic");
labelFunc040C_02A6:
case "Trinsic" atend labelFunc040C_02DF:
if (!var0003) goto labelFunc040C_02BD;
var0008 = "by one who claimed she was the Avatar.";
goto labelFunc040C_02C3;
labelFunc040C_02BD:
var0008 = "by one who claimed he was the Avatar.";
labelFunc040C_02C3:
message("\"Trinsic was once the city of Honor. I suppose it still is. Our Rune of Honor was taken many years ago ");
message(var0008);
message(" I believe it now resides in the Royal Museum in Britain, yet the empty pedestal still remains in the center of town. I feel this is symbolic of the town itself. It is rather empty -- of people, of life, and of honor. 'Tis sad, really.\"");
say();
message("\"Then there is this murder, of course. We have temporarily closed the gates of the city and require a password to get in or out.\"");
say();
UI_remove_answer("Trinsic");
UI_add_answer("password");
labelFunc040C_02DF:
case "Pay me now, please" atend labelFunc040C_032C:
message("\"Of course, ");
message(var0001);
message(". Here is thy gold.\"");
say();
var0009 = UI_add_party_items(0x0064, 0x0284, 0xFE99, 0xFE99, true);
if (!(!var0009)) goto labelFunc040C_0319;
message("\"Oh, I am sorry, ");
message(var0001);
message(". Thou still cannot carry this amount. Thou must return to me later.\"");
say();
goto labelFunc040C_0325;
labelFunc040C_0319:
message("\"Here thou art.\"");
say();
gflags[0x0045] = false;
gflags[0x0044] = true;
labelFunc040C_0325:
UI_remove_answer("Pay me now, please");
labelFunc040C_032C:
case "murder" atend labelFunc040C_036F:
if (!(!gflags[0x003D])) goto labelFunc040C_036B;
message("\"A crime like this has never happened in Trinsic before. I cannot believe this happened to Christopher and Inamo. Please -- explore the town! I would appreciate it if thou wouldst bring me a report on thy progress. Be sure to ask everyone in town about the murder. After speaking with Christopher's son, thou mightest next want to speak with Gilberto, the guard on watch at the dock last night.\"");
say();
message("The mayor hesitates, then leans in to speak quietly.");
say();
message("\"Actually, I have seen something like this before. It was about four years ago, in Britain.\"");
say();
UI_add_answer(["Gilberto", "Christopher", "Inamo", "Britain", "report"]);
gflags[0x005B] = true;
UI_remove_answer("murder");
goto labelFunc040C_036F;
labelFunc040C_036B:
message("\"I hope thou art progressing on the murder investigation.\"");
say();
labelFunc040C_036F:
case "Britain" atend labelFunc040C_0382:
message("\"'Twas before I came to Trinsic. There was a murder with strikingly similar aspects. A body was found mutilated exactly like poor Christopher. It appeared to be a ritualistic killing. I would wager that whoever was responsible for that murder is the culprit behind this one.\"");
say();
UI_remove_answer("Britain");
labelFunc040C_0382:
case "son" atend labelFunc040C_0395:
message("\"Christopher's son is called Spark. Their house is in the northwest area of town.\"");
say();
UI_remove_answer("son");
labelFunc040C_0395:
case "Gilberto" atend labelFunc040C_03B5:
message("\"He was struck from behind early this morning and was knocked senseless. Johnson, the morning watch, found him unconscious. He is recuperating at Chantu the Healer's house on the west side of town.\"");
say();
UI_remove_answer("Gilberto");
UI_add_answer(["Johnson", "Chantu"]);
labelFunc040C_03B5:
case "Chantu" atend labelFunc040C_03C8:
message("\"He is our town healer. He hath been here for years. Nice fellow.\"");
say();
UI_remove_answer("Chantu");
labelFunc040C_03C8:
case "report" atend labelFunc040C_0426:
if (!gflags[0x0044]) goto labelFunc040C_03DD;
message("\"I am satisfied with thy report. Please carry on thine investigation, Avatar.\"");
say();
goto labelFunc040C_041F;
labelFunc040C_03DD:
if (!(!gflags[0x005D])) goto labelFunc040C_0405;
message("\"Art thou ready to answer some questions concerning the investigation?\"");
say();
var000A = Func090A();
if (!var000A) goto labelFunc040C_03FE;
gflags[0x005D] = true;
Func0884();
goto labelFunc040C_0402;
labelFunc040C_03FE:
message("\"Oh. Well, carry on with thine investigation.\"");
say();
labelFunc040C_0402:
goto labelFunc040C_041F;
labelFunc040C_0405:
message("\"Shall we continue thy report?\"");
say();
var000B = Func090A();
if (!var000B) goto labelFunc040C_041B;
Func0884();
goto labelFunc040C_041F;
labelFunc040C_041B:
message("\"Oh. Well, carry on with thine investigation.\"");
say();
labelFunc040C_041F:
UI_remove_answer("report");
labelFunc040C_0426:
case "Fellowship" atend labelFunc040C_0439:
message("\"Why, they are an extremely helpful group. Their branch office is just east of mine. Very optimistic group of people.\"");
say();
UI_remove_answer("Fellowship");
labelFunc040C_0439:
case "Klog" atend labelFunc040C_044C:
message("\"He is the Fellowship branch leader. Kind man.\"");
say();
UI_remove_answer("Klog");
labelFunc040C_044C:
case "Johnson" atend labelFunc040C_045F:
message("\"He is probably at the dock right now.\"");
say();
UI_remove_answer("Johnson");
labelFunc040C_045F:
case "Christopher" atend labelFunc040C_0479:
message("\"Christopher was the local blacksmith. He lives, or rather -lived-, with his son in the northwest part of town. The blacksmith's shop is in the southwest corner. Christopher was not a rich man by any means -- he barely kept himself and his son alive. But he certainly enjoyed his work.\"");
say();
UI_remove_answer("Christopher");
UI_add_answer("son");
labelFunc040C_0479:
case "Inamo" atend labelFunc040C_048C:
message("\"The Gargoyle Inamo slept in the stables, as I understand it. I believe he emigrated here from Terfin a few months ago. It seems that he was merely a chance victim of someone intent on violence.\"");
say();
UI_remove_answer("Inamo");
labelFunc040C_048C:
case "password" atend labelFunc040C_04EB:
if (!(gflags[0x0044] && (!gflags[0x003D]))) goto labelFunc040C_04D5;
message("\"Oh, dost thou want the password now?\"");
say();
if (!Func090A()) goto labelFunc040C_04CD;
if (!Func0886()) goto labelFunc040C_04C5;
message("\"Excellent! I have no doubts now that thou art the one true Avatar!\"");
say();
message("\"Oh-- I almost forgot! The password to leave or enter the town is `Blackbird'!\"*");
say();
gflags[0x003D] = true;
Func0911(0x0064);
abort;
goto labelFunc040C_04CA;
labelFunc040C_04C5:
message("\"Hmmm. I am afraid that I still have my doubts about thou being the Avatar. My public duty disallows me to give thee the password. I am sorry.\"");
say();
abort;
labelFunc040C_04CA:
goto labelFunc040C_04D2;
labelFunc040C_04CD:
message("The Mayor shrugs and looks at you as if you were mad.*");
say();
abort;
labelFunc040C_04D2:
goto labelFunc040C_04E4;
labelFunc040C_04D5:
message("\"I will give thee the password when thou hast given me a report on the progress of thine investigation.\"");
say();
UI_add_answer("report");
gflags[0x0042] = true;
labelFunc040C_04E4:
UI_remove_answer("password");
labelFunc040C_04EB:
case "bye" atend labelFunc040C_04F6:
goto labelFunc040C_04F9;
labelFunc040C_04F6:
goto labelFunc040C_027D;
labelFunc040C_04F9:
break;
message("The Mayor nods his head at you and goes on about his business.*");
say();
labelFunc040C_04FE:
if (!(event == 0x0000)) goto labelFunc040C_057E;
var000C = UI_get_schedule_type(UI_get_npc_object(0xFFF4));
var000D = UI_die_roll(0x0001, 0x0004);
if (!(var000C == 0x000B)) goto labelFunc040C_0578;
if (!(var000D == 0x0001)) goto labelFunc040C_053B;
var000E = "@What a day...@";
labelFunc040C_053B:
if (!(var000D == 0x0002)) goto labelFunc040C_054B;
var000E = "@Another day, another gold coin...@";
labelFunc040C_054B:
if (!(var000D == 0x0003)) goto labelFunc040C_055B;
var000E = "@I shall search the area here...@";
labelFunc040C_055B:
if (!(var000D == 0x0004)) goto labelFunc040C_056B;
var000E = "@I am too old for this...@";
labelFunc040C_056B:
UI_item_say(0xFFF4, var000E);
goto labelFunc040C_057E;
labelFunc040C_0578:
Func092E(0xFFF4);
labelFunc040C_057E:
return;
}
// externs
extern var Func090B 0x90B (var var0000);
extern var Func0834 0x834 ();
void Func040D object#(0x40D) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0000)) goto labelFunc040D_0009;
abort;
labelFunc040D_0009:
UI_show_npc_face(0xFFF3, 0x0000);
var0000 = UI_part_of_day();
UI_add_answer(["name", "job", "murder", "bye"]);
if (!gflags[0x003D]) goto labelFunc040D_003A;
UI_add_answer("password");
labelFunc040D_003A:
if (!gflags[0x003F]) goto labelFunc040D_004D;
UI_add_answer(["Fellowship", "Klog"]);
labelFunc040D_004D:
if (!((var0000 == 0x0007) || ((var0000 == 0x0000) || (var0000 == 0x0001)))) goto labelFunc040D_006E;
UI_add_answer("ship");
labelFunc040D_006E:
if (!gflags[0x0043]) goto labelFunc040D_007B;
UI_add_answer("Hook");
labelFunc040D_007B:
if (!(!gflags[0x004D])) goto labelFunc040D_009B;
message("You see a grumpy fellow with a bloody bandage on his head.");
say();
gflags[0x004D] = true;
UI_set_schedule_type(UI_get_npc_object(0xFFF3), 0x0010);
goto labelFunc040D_009F;
labelFunc040D_009B:
message("\"Dost thou need something else?\" Gilberto asks. You notice his wound is healing nicely.");
say();
labelFunc040D_009F:
converse (0) atend labelFunc040D_0249;
case "name" atend labelFunc040D_00B5:
message("\"I am Gilberto.\"");
say();
UI_remove_answer("name");
labelFunc040D_00B5:
case "job" atend labelFunc040D_00C1:
message("\"I have the night watch at the dock gate.\"");
say();
labelFunc040D_00C1:
case "murder" atend labelFunc040D_00DB:
message("\"It must have occurred shortly before I was knocked out.\"");
say();
UI_add_answer("knocked");
UI_remove_answer("murder");
labelFunc040D_00DB:
case "knocked" atend labelFunc040D_00FB:
message("\"It was just about sunrise. I was looking out to the sea. All of a sudden, I felt a blow on the back of mine head.\"~~ He winces in pain.");
say();
UI_add_answer(["blow", "pain"]);
UI_remove_answer("knocked");
labelFunc040D_00FB:
case "pain" atend labelFunc040D_010E:
message("Gilberto still seems a little wobbly, but his gesture indicates that he does not desire your aid.~\"My skull is still ringing, but I shall be all right momentarily.\"");
say();
UI_remove_answer("pain");
labelFunc040D_010E:
case "blow" atend labelFunc040D_012E:
message("\"The next thing I knew, I was on the ground. Johnson, the guard for the next watch, was shaking me. I had been out about ten minutes. I knew that because the sun had just peeked over the horizon. And 'The Crown Jewel' had gone and sailed!\"");
say();
UI_add_answer(["Johnson", "Crown Jewel"]);
UI_remove_answer("blow");
labelFunc040D_012E:
case "Crown Jewel" atend labelFunc040D_0152:
message("\"Did I forget to say? That is a ship that was docked here all night. I believe it was about to sail for Britain. Thou couldst ask Gargan the Shipwright to make sure. Anyway, I did not see mine attackers,\" the guard grumbles.");
say();
gflags[0x0040] = true;
UI_add_answer(["attackers", "Gargan"]);
UI_remove_answer("Crown Jewel");
labelFunc040D_0152:
case "attackers" atend labelFunc040D_0165:
message("\"Hmmm. I wonder if they jumped onto the ship! They could be all the way to Britain by now!\"");
say();
UI_remove_answer("attackers");
labelFunc040D_0165:
case "Gargan" atend labelFunc040D_0178:
message("\"He is a good man but thou mayest not wish to stand too close to him. Thou mayest catch something.\"");
say();
UI_remove_answer("Gargan");
labelFunc040D_0178:
case "ship" atend labelFunc040D_0192:
message("\"If thou dost want a ship, thou must get a deed from the shipwright. Thou must also have the password to leave town.\"");
say();
UI_remove_answer("ship");
UI_add_answer("password");
labelFunc040D_0192:
case "password" atend labelFunc040D_01EF:
message("\"What is it?\"");
say();
var0001 = ["Uhh, I don't know", "Long live the king", "Please"];
if (!gflags[0x003D]) goto labelFunc040D_01BD;
var0001 = (var0001 & "Blackbird");
labelFunc040D_01BD:
var0002 = Func090B(var0001);
if (!(var0002 == "Blackbird")) goto labelFunc040D_01EB;
var0003 = Func0834();
if (!var0003) goto labelFunc040D_01E3;
message("\"All right. Thou mayest pass.\"*");
say();
goto labelFunc040D_01E7;
labelFunc040D_01E3:
message("\"Thou mayest not pass.\"*");
say();
labelFunc040D_01E7:
abort;
goto labelFunc040D_01EF;
labelFunc040D_01EB:
message("\"Thou dost not know the password. The Mayor can give thee the proper password.\"");
say();
labelFunc040D_01EF:
case "Johnson" atend labelFunc040D_0202:
message("\"He takes the morning watch at the dock.\"");
say();
UI_remove_answer("Johnson");
labelFunc040D_0202:
case "Fellowship" atend labelFunc040D_0215:
message("He shrugs.~~\"Thou art asking the wrong man. I suppose they are all right. I have never had trouble with them.\"");
say();
UI_remove_answer("Fellowship");
labelFunc040D_0215:
case "Hook" atend labelFunc040D_0228:
message("The guard thinks a moment.~~\"No. I cannot say that I saw a man with a hook.\"");
say();
UI_remove_answer("Hook");
labelFunc040D_0228:
case "Klog" atend labelFunc040D_023B:
message("\"I have not had many dealings with him.\"");
say();
UI_remove_answer("Klog");
labelFunc040D_023B:
case "bye" atend labelFunc040D_0246:
goto labelFunc040D_0249;
labelFunc040D_0246:
goto labelFunc040D_009F;
labelFunc040D_0249:
break;
message("\"Goodbye. Watch thy back.\"*");
say();
return;
}
// externs
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func090A 0x90A ();
extern var Func090B 0x90B (var var0000);
extern var Func0834 0x834 ();
void Func040E object#(0x40E) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0000)) goto labelFunc040E_0009;
abort;
labelFunc040E_0009:
UI_show_npc_face(0xFFF2, 0x0000);
var0000 = UI_part_of_day();
if (!(var0000 == 0x0007)) goto labelFunc040E_0042;
var0001 = Func08FC(0xFFF2, 0xFFF0);
if (!var0001) goto labelFunc040E_003D;
message("\"I will speak with thee after the Fellowship meeting.\"*");
say();
goto labelFunc040E_0041;
labelFunc040E_003D:
message("\"I must get to the Fellowship meeting! I am late! May we speak tomorrow?\"*");
say();
labelFunc040E_0041:
abort;
labelFunc040E_0042:
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x003D]) goto labelFunc040E_005F;
UI_add_answer("password");
labelFunc040E_005F:
if (!gflags[0x003C]) goto labelFunc040E_006C;
UI_add_answer("murder");
labelFunc040E_006C:
if (!gflags[0x003F]) goto labelFunc040E_0082;
UI_add_answer(["Fellowship", "Klog", "Hook"]);
labelFunc040E_0082:
if (!gflags[0x0040]) goto labelFunc040E_008F;
UI_add_answer("Crown Jewel");
labelFunc040E_008F:
if (!(!gflags[0x004E])) goto labelFunc040E_00A1;
message("You see an alert and no-nonsense guard.");
say();
gflags[0x004E] = true;
goto labelFunc040E_00A5;
labelFunc040E_00A1:
message("\"What is it?\" Johnson asks, sternly.");
say();
labelFunc040E_00A5:
converse (0) atend labelFunc040E_01E6;
case "name" atend labelFunc040E_00BB:
message("\"Johnson.\"");
say();
UI_remove_answer("name");
labelFunc040E_00BB:
case "job" atend labelFunc040E_00CE:
message("\"I have the morning watch guarding the dock. I authorize the comings and goings of every ship.\"");
say();
UI_add_answer("ship");
labelFunc040E_00CE:
case "murder" atend labelFunc040E_00E1:
message("\"I did hear of this. When I arrived at my post at sunrise, I found Gilberto lying felled on the ground. If thou art asking if I saw anything -- I did not. No one hath passed by me since I arrived at the dock.\"");
say();
UI_remove_answer("murder");
labelFunc040E_00E1:
case "Crown Jewel" atend labelFunc040E_00F4:
message("\"The boat left just after sunrise. It did sail to Britain, I believe. Thou canst ask Gargan the Shipwright about that.\"");
say();
UI_remove_answer("Crown Jewel");
labelFunc040E_00F4:
case "Fellowship" atend labelFunc040E_011E:
message("\"Yes, I am a member. Wouldst thou like to join?\"");
say();
var0002 = Func090A();
if (!var0002) goto labelFunc040E_0113;
message("\"Then thou shouldst go to see Batlin in Britain.\"");
say();
goto labelFunc040E_0117;
labelFunc040E_0113:
message("\"'Tis thy loss.\"");
say();
labelFunc040E_0117:
UI_remove_answer("Fellowship");
labelFunc040E_011E:
case "Klog" atend labelFunc040E_0131:
message("\"Good man. He is our branch leader here in Trinsic.\"");
say();
UI_remove_answer("Klog");
labelFunc040E_0131:
case "ship" atend labelFunc040E_0151:
message("\"If thou dost want a ship, thou must get a deed from the shipwright. Thou must also have the password to leave town.\"");
say();
UI_add_answer(["password", "deed"]);
UI_remove_answer("ship");
labelFunc040E_0151:
case "password" atend labelFunc040E_01B2:
message("\"What is it?\"");
say();
var0003 = ["Uhh, I don't know", "Long live the king", "Please"];
if (!gflags[0x003D]) goto labelFunc040E_017C;
var0003 = (var0003 & "Blackbird");
labelFunc040E_017C:
var0002 = Func090B(var0003);
if (!(var0002 == "Blackbird")) goto labelFunc040E_01AA;
var0004 = Func0834();
if (!var0004) goto labelFunc040E_01A2;
message("\"Very well, thou mayest pass.\"*");
say();
goto labelFunc040E_01A6;
labelFunc040E_01A2:
message("\"Thou mayest not pass.\"*");
say();
labelFunc040E_01A6:
abort;
goto labelFunc040E_01B2;
labelFunc040E_01AA:
message("\"Thou dost not know the password. I am sorry. The Mayor may give thee the proper password.\"");
say();
gflags[0x0042] = true;
labelFunc040E_01B2:
case "Hook" atend labelFunc040E_01C5:
message("\"A man with a hook? No, I saw no one all night or all morning.\"");
say();
UI_remove_answer("Hook");
labelFunc040E_01C5:
case "deed" atend labelFunc040E_01D8:
message("\"Thou canst purchase that from Gargan the Shipwright.\"");
say();
UI_remove_answer("deed");
labelFunc040E_01D8:
case "bye" atend labelFunc040E_01E3:
goto labelFunc040E_01E6;
labelFunc040E_01E3:
goto labelFunc040E_00A5;
labelFunc040E_01E6:
break;
message("\"Good day.\"*");
say();
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08F7 0x8F7 (var var0000);
void Func040F object#(0x40F) ()
{
var var0000;
var var0001;
if (!(event == 0x0000)) goto labelFunc040F_0009;
abort;
labelFunc040F_0009:
UI_show_npc_face(0xFFF1, 0x0000);
var0000 = Func0909();
var0001 = Func08F7(0xFFD0);
if (!(!gflags[0x02C4])) goto labelFunc040F_0034;
message("You see a stunningly attractive oriental woman. She is armed to the teeth.");
say();
gflags[0x02C4] = true;
goto labelFunc040F_0038;
labelFunc040F_0034:
message("\"Thou dost wish to speak with me again?\" asks Eiko.");
say();
labelFunc040F_0038:
if (!(gflags[0x02DC] && (!gflags[0x02DD]))) goto labelFunc040F_004A;
UI_add_answer("Stay thine hand!");
labelFunc040F_004A:
UI_add_answer(["name", "job", "bye"]);
labelFunc040F_005A:
converse (0) atend labelFunc040F_019F;
case "name" atend labelFunc040F_0070:
message("\"My name is Eiko.\"");
say();
UI_remove_answer("name");
labelFunc040F_0070:
case "job" atend labelFunc040F_0098:
if (!(!gflags[0x02DD])) goto labelFunc040F_008D;
message("\"I have no job. I have a quest. My quest is shared with mine half-sister, Amanda.\"");
say();
UI_add_answer("quest");
goto labelFunc040F_0091;
labelFunc040F_008D:
message("\"We are leaving this dungeon now that our quest is over.\"");
say();
labelFunc040F_0091:
UI_add_answer("Amanda");
labelFunc040F_0098:
case "quest" atend labelFunc040F_00BC:
message("\"Eighteen years ago my father was murdered by a cyclops called Iskander Ironheart. Mine half-sister Amanda and I are his only surviving kin and we have vowed to avenge him.\"");
say();
gflags[0x02DB] = true;
UI_remove_answer("quest");
UI_add_answer(["father", "Iskander"]);
labelFunc040F_00BC:
case "father" atend labelFunc040F_00FF:
message("\"Our father was a mage named Kalideth. He was working to find a cause of the disturbances of the ethereal waves that have been preventing magic from working for the past twenty years and more, as well as the madness that has afflicted all mages since then.\"");
say();
if (!var0001) goto labelFunc040F_00F8;
UI_show_npc_face(0xFFD0, 0x0000);
message("\"Our father was a wise and kind man. His death was a loss for all of Britannia.\" She sniffs.");
say();
if (!(!gflags[0x02DD])) goto labelFunc040F_00E7;
message("\"His killer deserves to die.\"");
say();
labelFunc040F_00E7:
UI_remove_npc_face(0xFFD0);
UI_show_npc_face(0xFFF1, 0x0000);
labelFunc040F_00F8:
UI_remove_answer("father");
labelFunc040F_00FF:
case "Amanda" atend labelFunc040F_0137:
message("\"Neither one of us knew that the other existed until after the death of our father.\"");
say();
if (!var0001) goto labelFunc040F_0130;
UI_show_npc_face(0xFFD0, 0x0000);
message("\"I had always felt like I had a sister somewhere. But I attributed those feelings to the natural loneliness a child feels upon losing a father. Learning about each other has been the only good thing that has happened to me since father's death.\"");
say();
UI_remove_npc_face(0xFFD0);
UI_show_npc_face(0xFFF1, 0x0000);
labelFunc040F_0130:
UI_remove_answer("Amanda");
labelFunc040F_0137:
case "Iskander" atend labelFunc040F_014A:
message("\"Yes, I know I am not pronouncing it correctly. I understand he has a more human nickname that is actually a translation from the ancient cyclops language. But I do not know what it is.\"");
say();
UI_remove_answer("Iskander");
labelFunc040F_014A:
case "Stay thine hand!" atend labelFunc040F_0191:
message("You explain to Eiko what you have learned. Kalideth had gone mad when he fought with Iskander and the source of what is causing the problems with magic and the mage's minds was the thing that really killed Kalideth!");
say();
message("\"Then if thou hast discovered the true force that killed my father, my vengeance against Kalideth would be unjust.\"");
say();
if (!var0001) goto labelFunc040F_018A;
UI_show_npc_face(0xFFD0, 0x0000);
if (!(!gflags[0x02DE])) goto labelFunc040F_018A;
message("\"How canst thou say that? I thought that thou wert my sister? Thou art a traitor!\"");
say();
UI_remove_npc_face(0xFFD0);
UI_show_npc_face(0xFFF1, 0x0000);
gflags[0x02DD] = true;
labelFunc040F_018A:
UI_remove_answer("Stay thine hand!");
labelFunc040F_0191:
case "bye" atend labelFunc040F_019C:
goto labelFunc040F_019F;
labelFunc040F_019C:
goto labelFunc040F_005A;
labelFunc040F_019F:
break;
message("\"Farewell.\"");
say();
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func08AB 0x8AB ();
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func092E 0x92E (var var0000);
void Func0410 object#(0x410) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc0410_02A5;
var0000 = Func0908();
var0001 = UI_part_of_day();
var0002 = false;
var0003 = Func0931(0xFE9B, 0x0001, 0x03D5, 0xFE99, 0x0001);
if (!(var0001 == 0x0007)) goto labelFunc0410_003B;
Func08AB();
labelFunc0410_003B:
UI_add_answer(["name", "job", "murder", "bye"]);
if (!gflags[0x003F]) goto labelFunc0410_0065;
UI_add_answer(["argument", "test"]);
var0002 = true;
labelFunc0410_0065:
if (!gflags[0x0043]) goto labelFunc0410_0072;
UI_add_answer("Hook");
labelFunc0410_0072:
if (!gflags[0x003E]) goto labelFunc0410_0088;
UI_add_answer(["gold", "medallion", "scroll"]);
labelFunc0410_0088:
if (!gflags[0x0040]) goto labelFunc0410_0095;
UI_add_answer("Crown Jewel");
labelFunc0410_0095:
UI_show_npc_face(0xFFF0, 0x0000);
if (!(!gflags[0x004F])) goto labelFunc0410_00B1;
message("This man exudes kindness and geniality. \"Ah, Avatar! I recognized thee at once! Word has moved through town quickly. I had heard thou wert here.\"");
say();
gflags[0x004F] = true;
goto labelFunc0410_00BB;
labelFunc0410_00B1:
message("\"Hello again, ");
message(var0000);
message(",\" Klog asks. \"How may I help thee?\"");
say();
labelFunc0410_00BB:
converse (0) atend labelFunc0410_029A;
case "name" atend labelFunc0410_00D1:
message("\"My name is Klog.\"");
say();
UI_remove_answer("name");
labelFunc0410_00D1:
case "job" atend labelFunc0410_00EA:
message("\"I am the Trinsic branch leader for The Fellowship. I work here with my wife Ellen.\"");
say();
UI_add_answer(["Fellowship", "Ellen"]);
labelFunc0410_00EA:
case "murder" atend labelFunc0410_0117:
if (!var0003) goto labelFunc0410_00FF;
message("The Cube vibrates. \"Hook did a splendid job, did he not? Too bad I missed it. Had to keep up appearances and remain at home. Had to have an alibi.\"");
say();
goto labelFunc0410_0103;
labelFunc0410_00FF:
message("\"Well,\" the man says, reflecting, \"I was home all night, and my wife Ellen will certainly verify that. But, as we say in The Fellowship, 'Worthiness Precedes Reward'. Christopher must have done something bad. And the poor gargoyle Inamo! 'Tis a pity.\"");
say();
labelFunc0410_0103:
UI_remove_answer("murder");
UI_add_answer(["Christopher", "Inamo"]);
labelFunc0410_0117:
case "Fellowship" atend labelFunc0410_0142:
if (!(!gflags[0x0006])) goto labelFunc0410_0137;
message("\"The Fellowship meets here at the branch office in Trinsic every night at nine. Thou art welcome to attend.");
say();
Func0919();
UI_add_answer("philosophy");
goto labelFunc0410_013B;
labelFunc0410_0137:
message("\"Why, thou shouldst know all about our little family by now!\"");
say();
labelFunc0410_013B:
UI_remove_answer("Fellowship");
labelFunc0410_0142:
case "Ellen" atend labelFunc0410_0155:
message("\"She is my wife and bookkeeper for our branch.\"");
say();
UI_remove_answer("Ellen");
labelFunc0410_0155:
case "philosophy" atend labelFunc0410_0167:
Func091A();
UI_remove_answer("philosophy");
labelFunc0410_0167:
case "Christopher" atend labelFunc0410_0188:
message("\"Christopher was a valued member of The Fellowship for some time. Unfortunately, we got into a petty argument last week.\"");
say();
UI_remove_answer("Christopher");
if (!(!var0002)) goto labelFunc0410_0188;
UI_add_answer("argument");
labelFunc0410_0188:
case "Inamo" atend labelFunc0410_019B:
message("\"I did not know the gargoyle. It sounds as if he was in the wrong place at the wrong time. 'Tis a pity.\"");
say();
UI_remove_answer("Inamo");
labelFunc0410_019B:
case "argument" atend labelFunc0410_01B5:
message("\"Last week Christopher stated that he wanted to leave The Fellowship! Canst thou imagine? Well, we simply attempted to speak with him and alter his decision. The man verbally assaulted me and my companions with no provocation!\"");
say();
UI_remove_answer("argument");
UI_add_answer("companions");
labelFunc0410_01B5:
case "test" atend labelFunc0410_01C8:
message("\"Batlin in Britain will be happy to administer our test to thee. Thou shouldst certainly take it. Who knows? Thou mayest find something within thee that needs improving.\"");
say();
UI_remove_answer("test");
labelFunc0410_01C8:
case "companions" atend labelFunc0410_01DF:
message("\"They have gone to Fellowship Headquarters in Britain. They were here delivering Fellowship funds. Their names are Elizabeth and Abraham.\"");
say();
gflags[0x0041] = true;
UI_remove_answer("companions");
labelFunc0410_01DF:
case "gold" atend labelFunc0410_0206:
if (!var0003) goto labelFunc0410_01FB;
message("The Cube vibrates. \"That was payment for delivery of the plans for the Black Gate pedestals.\"");
say();
UI_add_answer("Black Gate");
goto labelFunc0410_01FF;
labelFunc0410_01FB:
message("\"I do not know what thou art talking about.\"");
say();
labelFunc0410_01FF:
UI_remove_answer("gold");
labelFunc0410_0206:
case "Black Gate" atend labelFunc0410_0219:
message("\"All I know is that it is being built on the Isle of the Avatar.\"");
say();
UI_remove_answer("Black Gate");
labelFunc0410_0219:
case "medallion" atend labelFunc0410_022C:
message("\"Christopher had expressed interest in leaving The Fellowship. Perhaps he had stored it for safekeeping.\"");
say();
UI_remove_answer("medallion");
labelFunc0410_022C:
case "scroll" atend labelFunc0410_024C:
if (!var0003) goto labelFunc0410_0241;
message("The Cube vibrates. \"Christopher received his reward prior to showing his worthiness. He reneged on delivery of the plans for the pedestal. It was merely a warning.\"");
say();
goto labelFunc0410_0245;
labelFunc0410_0241:
message("\"I do not know anything about that.\"");
say();
labelFunc0410_0245:
UI_remove_answer("scroll");
labelFunc0410_024C:
case "Crown Jewel" atend labelFunc0410_026C:
if (!var0003) goto labelFunc0410_0261;
message("The Cube vibrates. \"That is Hook's ship.\"");
say();
goto labelFunc0410_0265;
labelFunc0410_0261:
message("\"I do not know that ship.\"");
say();
labelFunc0410_0265:
UI_remove_answer("Crown Jewel");
labelFunc0410_026C:
case "Hook" atend labelFunc0410_028C:
if (!var0003) goto labelFunc0410_0281;
message("The Cube vibrates. \"He is the one who was assigned to kill Christopher. I do not know where he is now.\"");
say();
goto labelFunc0410_0285;
labelFunc0410_0281:
message("\"I am afraid I do not know a man of that description.\"");
say();
labelFunc0410_0285:
UI_remove_answer("Hook");
labelFunc0410_028C:
case "bye" atend labelFunc0410_0297:
goto labelFunc0410_029A;
labelFunc0410_0297:
goto labelFunc0410_00BB;
labelFunc0410_029A:
break;
message("\"If there is anything else I may help thee with, ");
message(var0000);
message(", let me know.\"*");
say();
labelFunc0410_02A5:
if (!(event == 0x0000)) goto labelFunc0410_02B3;
Func092E(0xFFF0);
labelFunc0410_02B3:
return;
}
// externs
extern var Func0909 0x909 ();
extern void Func0860 0x860 (var var0000, var var0001, var var0002);
extern void Func092E 0x92E (var var0000);
void Func0411 object#(0x411) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc0411_00F4;
UI_show_npc_face(0xFFEF, 0x0000);
var0000 = Func0909();
var0001 = UI_wearing_fellowship();
UI_add_answer(["name", "job", "murder", "services", "bye"]);
if (!gflags[0x003F]) goto labelFunc0411_0048;
UI_add_answer(["Fellowship", "Klog"]);
labelFunc0411_0048:
if (!(!gflags[0x0052])) goto labelFunc0411_005A;
message("You see a solemn fellow in healer's robes.");
say();
gflags[0x0052] = true;
goto labelFunc0411_005E;
labelFunc0411_005A:
message("\"Hello, again,\" Chantu says. \"How may I help thee?\"");
say();
labelFunc0411_005E:
converse (0) atend labelFunc0411_00EF;
case "name" atend labelFunc0411_0074:
message("\"My name is Chantu,\" he says with a slight bow.");
say();
UI_remove_answer("name");
labelFunc0411_0074:
case "job" atend labelFunc0411_0080:
message("\"I am the Trinsic healer. I can perform a heal, a poison cure, or a resurrection on any of thy friends. Or on thee, of course.\"");
say();
labelFunc0411_0080:
case "murder" atend labelFunc0411_0093:
message("\"'Tis a sad state for Britannia when events such as these happen. Christopher was a good man. I hope that the villain is caught.\"");
say();
UI_remove_answer("murder");
labelFunc0411_0093:
case "services" atend labelFunc0411_00A7:
Func0860(0x001E, 0x0032, 0x0190);
labelFunc0411_00A7:
case "Fellowship" atend labelFunc0411_00CE:
message("The healer frowns. \"The Fellowship does not appreciate the efforts of healers in Britannia. Although they do admirable things, The Fellowship is short-sighted when evaluating the need for healers. They believe that our work can be done through their so-called 'Triad of Inner Strength'.\"");
say();
if (!var0001) goto labelFunc0411_00C7;
message("Chantu notices your medallion and his eyes widen.");
say();
message("\"Excuse me, ");
message(var0000);
message(", I did not mean to offend thee.\"");
say();
labelFunc0411_00C7:
UI_remove_answer("Fellowship");
labelFunc0411_00CE:
case "Klog" atend labelFunc0411_00E1:
message("The healer shrugs. \"He does his duty as he sees fit. And I do mine.\"");
say();
UI_remove_answer("Klog");
labelFunc0411_00E1:
case "bye" atend labelFunc0411_00EC:
goto labelFunc0411_00EF;
labelFunc0411_00EC:
goto labelFunc0411_005E;
labelFunc0411_00EF:
break;
message("\"Goodbye.\"*");
say();
labelFunc0411_00F4:
if (!(event == 0x0000)) goto labelFunc0411_0174;
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFEF));
var0003 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x001D)) goto labelFunc0411_016E;
if (!(var0003 == 0x0001)) goto labelFunc0411_0131;
var0004 = "@Feeling better?@";
labelFunc0411_0131:
if (!(var0003 == 0x0002)) goto labelFunc0411_0141;
var0004 = "@How are we today?@";
labelFunc0411_0141:
if (!(var0003 == 0x0003)) goto labelFunc0411_0151;
var0004 = "@Thy fever has lessened.@";
labelFunc0411_0151:
if (!(var0003 == 0x0004)) goto labelFunc0411_0161;
var0004 = "@Try to sleep...@";
labelFunc0411_0161:
UI_item_say(0xFFEF, var0004);
goto labelFunc0411_0174;
labelFunc0411_016E:
Func092E(0xFFEF);
labelFunc0411_0174:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func090B 0x90B (var var0000);
extern var Func08F7 0x8F7 (var var0000);
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func0872 0x872 ();
extern void Func0873 0x873 ();
extern void Func0874 0x874 ();
extern void Func092E 0x92E (var var0000);
void Func0412 object#(0x412) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc0412_01EB;
UI_show_npc_face(0xFFEE, 0x0000);
var0000 = UI_part_of_day();
var0001 = Func0909();
var0002 = Func0908();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFEE));
var0004 = "Avatar";
if (!(var0000 == 0x0007)) goto labelFunc0412_0061;
var0005 = Func08FC(0xFFEE, 0xFFF0);
if (!var0005) goto labelFunc0412_005C;
message("Dell frowns at you for distracting him during the Fellowship meeting.*");
say();
goto labelFunc0412_0060;
labelFunc0412_005C:
message("\"I do not have time to talk with thee! I must get to the meeting of The Fellowship! Come to my shop tomorrow!\"*");
say();
labelFunc0412_0060:
abort;
labelFunc0412_0061:
UI_add_answer(["name", "job", "murder", "bye"]);
if (!(!gflags[0x0053])) goto labelFunc0412_00BC;
message("You see a stern shopkeeper who might once have been a strong fighter.");
say();
if (!(var0003 == 0x0007)) goto labelFunc0412_008D;
message("\"Thou hast entered my shop, so thou had best buy something.\"");
say();
labelFunc0412_008D:
message("\"Who might I be addressing?\"");
say();
var0006 = Func090B([var0002, var0004]);
if (!(var0006 == var0002)) goto labelFunc0412_00B1;
message("\"Hmph. My name is Dell.\"");
say();
goto labelFunc0412_00B5;
labelFunc0412_00B1:
message("\"Oh, art thou really? I did not know there were so many of thee! Why, only last week did an 'Avatar' come through here! He took me for 20 gold, too! An expert trickster, he was!\"~~Dell looks you up and down. \"Avatar, indeed! I do not like Avatars. But never mind that. I am called Dell. What dost thou want?\"");
say();
labelFunc0412_00B5:
gflags[0x0053] = true;
goto labelFunc0412_00C0;
labelFunc0412_00BC:
message("\"How may I help thee?\" Dell asks.");
say();
labelFunc0412_00C0:
converse (0) atend labelFunc0412_01D8;
case "name" atend labelFunc0412_00D6:
message("\"My name is Dell. Did I not say that already?\"");
say();
UI_remove_answer("name");
labelFunc0412_00D6:
case "job" atend labelFunc0412_00FE:
message("Dell looks disgruntled. \"I sell weapons, armour, and provisions when I am not doing work for The Fellowship.\"");
say();
UI_add_answer("buy");
if (!(var0003 == 0x0007)) goto labelFunc0412_00F7;
message("\"If thou art not going to buy anything, then get thy face out of my sight!\"");
say();
labelFunc0412_00F7:
UI_add_answer("Fellowship");
labelFunc0412_00FE:
case "murder" atend labelFunc0412_013F:
message("\"I am afraid I know nothing about it save for what is being said in the street, so do not ask me. If thou art not going to buy anything, then thou art wasting my time. Go away.\"");
say();
UI_remove_answer("murder");
var0007 = Func08F7(0xFFFF);
if (!var0007) goto labelFunc0412_013F;
UI_show_npc_face(0xFFFF, 0x0000);
message("Iolo whispers to you, \"Pleasant chap, is he not?\"");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFEE, 0x0000);
labelFunc0412_013F:
case "Fellowship" atend labelFunc0412_0151:
Func0919();
UI_remove_answer("Fellowship");
labelFunc0412_0151:
case "philosophy" atend labelFunc0412_0163:
Func091A();
UI_remove_answer("philosophy");
labelFunc0412_0163:
case "buy" atend labelFunc0412_019D:
if (!(var0003 == 0x0007)) goto labelFunc0412_0199;
message("\"Certainly, ");
message(var0001);
message(". What type of ware wouldst thou wish to see?\"");
say();
UI_push_answers();
UI_add_answer(["nothing", "weapons", "armour", "provisions"]);
goto labelFunc0412_019D;
labelFunc0412_0199:
message("\"Come to my shop during business hours.\"");
say();
labelFunc0412_019D:
case "weapons" atend labelFunc0412_01A8:
Func0872();
labelFunc0412_01A8:
case "armour" atend labelFunc0412_01B3:
Func0873();
labelFunc0412_01B3:
case "provisions" atend labelFunc0412_01BE:
Func0874();
labelFunc0412_01BE:
case "nothing" atend labelFunc0412_01CA:
UI_pop_answers();
labelFunc0412_01CA:
case "bye" atend labelFunc0412_01D5:
goto labelFunc0412_01D8;
labelFunc0412_01D5:
goto labelFunc0412_00C0;
labelFunc0412_01D8:
break;
message("\"Hmpf.\"");
say();
if (!(var0003 == 0x0007)) goto labelFunc0412_01EB;
message("\"Spend more money next time thou dost come in.\"*");
say();
labelFunc0412_01EB:
if (!(event == 0x0000)) goto labelFunc0412_0272;
var0000 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFEE));
var0008 = UI_die_roll(0x0001, 0x0004);
if (!(var0003 == 0x0007)) goto labelFunc0412_026C;
if (!(var0008 == 0x0001)) goto labelFunc0412_022F;
var0009 = "@Buy something!@";
labelFunc0412_022F:
if (!(var0008 == 0x0002)) goto labelFunc0412_023F;
var0009 = "@Armour! Weapons!@";
labelFunc0412_023F:
if (!(var0008 == 0x0003)) goto labelFunc0412_024F;
var0009 = "@Swamp boots? Bedrolls?@";
labelFunc0412_024F:
if (!(var0008 == 0x0004)) goto labelFunc0412_025F;
var0009 = "@Finest goods here!@";
labelFunc0412_025F:
UI_item_say(0xFFEE, var0009);
goto labelFunc0412_0272;
labelFunc0412_026C:
Func092E(0xFFEE);
labelFunc0412_0272:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func0842 0x842 ();
extern void Func092E 0x92E (var var0000);
void Func0413 object#(0x413) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
if (!(event == 0x0001)) goto labelFunc0413_024E;
var0000 = UI_part_of_day();
var0001 = Func0908();
var0002 = Func0909();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFED));
var0004 = UI_is_pc_female();
UI_show_npc_face(0xFFED, 0x0000);
UI_add_answer(["name", "job", "murder", "bye"]);
if (!(var0003 == 0x0017)) goto labelFunc0413_006A;
UI_add_answer(["food", "drink", "room", "buy"]);
labelFunc0413_006A:
if (!(!gflags[0x0051])) goto labelFunc0413_007C;
message("You see a gorgeous and voluptuous woman in her thirties.");
say();
gflags[0x0051] = true;
goto labelFunc0413_0080;
labelFunc0413_007C:
message("\"Hello again!\" Apollonia says, her eyes twinkling.");
say();
labelFunc0413_0080:
converse (0) atend labelFunc0413_023B;
case "name" atend labelFunc0413_00B2:
if (!(!var0004)) goto labelFunc0413_009B;
var0005 = "as her tongue licks her upper lip.";
goto labelFunc0413_00A1;
labelFunc0413_009B:
var0005 = "as she sizes you up.";
labelFunc0413_00A1:
message("\"My name is Apollonia,\" she says, ");
message(var0005);
message("");
say();
UI_remove_answer("name");
labelFunc0413_00B2:
case "job" atend labelFunc0413_00EF:
message("\"Why, I run the Honorable Hound Pub and Inn,\" she purrs.");
say();
if (!(var0003 == 0x0017)) goto labelFunc0413_00E1;
message("\"Wouldst thou like a room? Or wouldst thou like something to eat or drink? Just say so and I shall try and please thee with my delicacies.\"");
say();
if (!(!var0004)) goto labelFunc0413_00DE;
message("~~You realize she is flirting with you.");
say();
UI_add_answer("flirt");
labelFunc0413_00DE:
goto labelFunc0413_00E5;
labelFunc0413_00E1:
message("\"I shall be happy to serve thee during business hours!\"");
say();
labelFunc0413_00E5:
UI_add_answer(["Honorable Hound"]);
labelFunc0413_00EF:
case "Honorable Hound" atend labelFunc0413_0102:
message("\"I can think of no better place in all of Trinsic to lay thine head to rest or to nibble upon treats to satisfy thine appetite.\"");
say();
UI_remove_answer("Honorable Hound");
labelFunc0413_0102:
case "murder" atend labelFunc0413_0115:
message("Apollonia shuts her eyes and shakes her head as if she had just bitten into a very sour lemon. \"Oooh. That was so... hideous! How could anyone do something so horrible? Art thou searching for information? I do hope thou dost find the person responsible.\"");
say();
UI_remove_answer("murder");
labelFunc0413_0115:
case "food" atend labelFunc0413_012F:
message("\"We serve the finest meat, fish, and cake. Our specialty is a Silverleaf meal. If thou wouldst like to buy something, please say so!\"");
say();
UI_add_answer("Silverleaf");
UI_remove_answer("food");
labelFunc0413_012F:
case "drink" atend labelFunc0413_0142:
message("\"I can offer thee mead, wine and ale.\"");
say();
UI_remove_answer("drink");
labelFunc0413_0142:
case "room" atend labelFunc0413_01F6:
message("\"Our rooms are cheap. Only 6 gold per person per night. Want a room?\"");
say();
if (!Func090A()) goto labelFunc0413_01EB;
var0006 = UI_get_party_list();
var0007 = 0x0000;
//enum();
labelFunc0413_0162:
for (var000A in var0006 with var0008 to var0009) atend labelFunc0413_017A;
var0007 = (var0007 + 0x0001);
goto labelFunc0413_0162;
labelFunc0413_017A:
var000B = (var0007 * 0x0006);
var000C = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
if (!(var000C >= var000B)) goto labelFunc0413_01DE;
var000D = UI_add_party_items(0x0001, 0x0281, 0x00FF, 0xFE99, true);
if (!(!var000D)) goto labelFunc0413_01C3;
message("\"Oh dear. Thou art carrying too much to take the room key.\"");
say();
goto labelFunc0413_01DB;
labelFunc0413_01C3:
message("\"Here is thy room key. It is good only until thou dost leave.\"");
say();
var000E = UI_remove_party_items(var000B, 0x0284, 0xFE99, 0xFE99, true);
labelFunc0413_01DB:
goto labelFunc0413_01E8;
labelFunc0413_01DE:
message("\"Thou dost not have enough gold, ");
message(var0002);
message(".\"");
say();
labelFunc0413_01E8:
goto labelFunc0413_01EF;
labelFunc0413_01EB:
message("\"Some other night, then.\"");
say();
labelFunc0413_01EF:
UI_remove_answer("room");
labelFunc0413_01F6:
case "Silverleaf" atend labelFunc0413_0209:
message("\"Mmmm. What a delicacy! It is the most wonderful delicacy that thou shalt ever eat! It is worth every gold piece spent.\"");
say();
UI_remove_answer("Silverleaf");
labelFunc0413_0209:
case "flirt" atend labelFunc0413_0222:
message("Apollonia blushes and bats her eyelashes. \"Oh, ");
message(var0001);
message("! I would wager that thou dost say that to all the barmaids!\"");
say();
UI_remove_answer("flirt");
labelFunc0413_0222:
case "buy" atend labelFunc0413_022D:
Func0842();
labelFunc0413_022D:
case "bye" atend labelFunc0413_0238:
goto labelFunc0413_023B;
labelFunc0413_0238:
goto labelFunc0413_0080;
labelFunc0413_023B:
break;
if (!(!var0004)) goto labelFunc0413_024A;
message("Apollonia blows a kiss at you. \"Do come again!\"*");
say();
goto labelFunc0413_024E;
labelFunc0413_024A:
message("Apollonia waves at you. \"Do come again!\"*");
say();
labelFunc0413_024E:
if (!(event == 0x0000)) goto labelFunc0413_025C;
Func092E(0xFFED);
labelFunc0413_025C:
return;
}
// externs
extern var Func090A 0x90A ();
extern void Func08BD 0x8BD (var var0000, var var0001);
extern void Func092E 0x92E (var var0000);
void Func0414 object#(0x414) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0414_00F3;
UI_show_npc_face(0xFFEC, 0x0000);
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFEC));
UI_add_answer(["name", "job", "murder", "bye"]);
if (!(!gflags[0x0054])) goto labelFunc0414_004C;
message("You see a solid-looking but seemingly bored fighter.");
say();
gflags[0x0054] = true;
goto labelFunc0414_0050;
labelFunc0414_004C:
message("\"Yes?\" Markus asks.");
say();
labelFunc0414_0050:
converse (0) atend labelFunc0414_00EE;
case "name" atend labelFunc0414_0066:
message("\"I am Markus the trainer.\"");
say();
UI_remove_answer("name");
labelFunc0414_0066:
case "job" atend labelFunc0414_007F:
message("\"I am a trainer here in Trinsic,\" he says gruffly. \"If thou dost wish to increase thy skill in combat I can help thee.\"");
say();
UI_add_answer(["Trinsic", "train"]);
labelFunc0414_007F:
case "murder" atend labelFunc0414_0092:
message("\"I heard about it, but I assure thee I know nothing of the details.\" Markus yawns.");
say();
UI_remove_answer("murder");
labelFunc0414_0092:
case "Trinsic" atend labelFunc0414_00A5:
message("The fighter shrugs. \"The town is all right.\" He sniffs.");
say();
UI_remove_answer("Trinsic");
labelFunc0414_00A5:
case "train" atend labelFunc0414_00E0:
if (!(var0001 == 0x0007)) goto labelFunc0414_00D5;
message("\"The cost to train with me is 20 gold. Too costly, right?\"");
say();
if (!(!Func090A())) goto labelFunc0414_00CE;
Func08BD(0x0004, 0x0014);
goto labelFunc0414_00D2;
labelFunc0414_00CE:
message("Markus yawns. \"Very well.\"");
say();
labelFunc0414_00D2:
goto labelFunc0414_00E0;
labelFunc0414_00D5:
message("\"Please come to my place of business during normal daylight hours.\"");
say();
UI_remove_answer("train");
labelFunc0414_00E0:
case "bye" atend labelFunc0414_00EB:
goto labelFunc0414_00EE;
labelFunc0414_00EB:
goto labelFunc0414_0050;
labelFunc0414_00EE:
break;
message("\"Goodbye,\" the fighter bows.*");
say();
labelFunc0414_00F3:
if (!(event == 0x0000)) goto labelFunc0414_0101;
Func092E(0xFFEC);
labelFunc0414_0101:
return;
}
// externs
extern var Func0909 0x909 ();
extern void Func088D 0x88D ();
extern var Func090A 0x90A ();
extern var Func08F7 0x8F7 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0415 object#(0x415) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
if (!(event == 0x0001)) goto labelFunc0415_03B4;
UI_show_npc_face(0xFFEB, 0x0000);
var0000 = Func0909();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFEB));
UI_add_answer(["name", "job", "murder", "bye"]);
if (!gflags[0x0040]) goto labelFunc0415_0046;
UI_add_answer("Crown Jewel");
labelFunc0415_0046:
if (!gflags[0x003F]) goto labelFunc0415_0053;
UI_add_answer("Fellowship");
labelFunc0415_0053:
if (!gflags[0x0043]) goto labelFunc0415_0060;
UI_add_answer("Hook");
labelFunc0415_0060:
var0002 = 0x0000;
if (!(!gflags[0x0055])) goto labelFunc0415_0078;
message("You see a salty old sailor who reeks of tobacco.");
say();
gflags[0x0055] = true;
goto labelFunc0415_007C;
labelFunc0415_0078:
message("\"Yes, matey?\" Gargan asks, coughing.");
say();
labelFunc0415_007C:
converse (0) atend labelFunc0415_03AF;
case "name" atend labelFunc0415_00A9:
message("\"My name is Gargan.\"~He sniffs loudly.");
say();
UI_remove_answer("name");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_00A9;
Func088D();
labelFunc0415_00A9:
case "job" atend labelFunc0415_00DD:
message("\"I am the Trinsic shipwright. If thou wouldst like to know about a ship or a sextant, just say so.\"");
say();
message("Gargan coughs.");
say();
UI_add_answer(["ship", "sextant"]);
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_00DD;
Func088D();
labelFunc0415_00DD:
case "ship" atend labelFunc0415_0118:
message("\"Thou dost want to buy a ship?\" the old man asks, smiling. (Apparently not too many folks buy ships these days.)~\"My ships are sturdy and well built. They may not be built by Owen, but they are fine vessels! But thou must first purchase a deed.\"");
say();
message("Gargan wipes his runny nose on his sleeve.");
say();
UI_remove_answer("ship");
UI_add_answer(["Owen", "deed"]);
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_0118;
Func088D();
labelFunc0415_0118:
case "sextant" atend labelFunc0415_01A8:
if (!(!(var0001 == 0x001E))) goto labelFunc0415_0132;
message("\"Well, ye'll have to come to the shop when it is is open.\"");
say();
goto labelFunc0415_01A8;
labelFunc0415_0132:
message("\"I sell sextants for 80 gold. Want one?\"~Gargan clears his throat.");
say();
if (!Func090A()) goto labelFunc0415_0186;
var0003 = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
if (!(var0003 >= 0x0050)) goto labelFunc0415_017F;
var0004 = UI_add_party_items(0x0001, 0x028A, 0xFE99, 0xFE99, true);
message("\"Here ye are!\"");
say();
if (!(!var0004)) goto labelFunc0415_017C;
message("\"Thine arms are too full to carry the sextant!\"~Gargan sneezes.");
say();
labelFunc0415_017C:
goto labelFunc0415_0183;
labelFunc0415_017F:
message("\"Thou dost not have enough gold, sailor.\" ~Gargan sneezes.");
say();
labelFunc0415_0183:
goto labelFunc0415_018A;
labelFunc0415_0186:
message("\"Suit thyself.\"~Gargan sneezes.");
say();
labelFunc0415_018A:
UI_remove_answer("sextant");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_01A8;
Func088D();
labelFunc0415_01A8:
case "Owen" atend labelFunc0415_01D2:
message("\"Thou hast not heard of Owen? Finest shipwright in the land. He lives in Minoc.\"~Gargan coughs.");
say();
UI_remove_answer("Owen");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_01D2;
Func088D();
labelFunc0415_01D2:
case "deed" atend labelFunc0415_0299:
if (!(!(var0001 == 0x001E))) goto labelFunc0415_01EC;
message("\"Well, ye'll have to come to the shop when it is open.\"");
say();
goto labelFunc0415_0299;
labelFunc0415_01EC:
if (!gflags[0x0058]) goto labelFunc0415_01FD;
message("\"I already sold thee the deed to 'The Scaly Eel'! It was the only ship I had!\"");
say();
message("Gargan coughs loudly.");
say();
goto labelFunc0415_027B;
labelFunc0415_01FD:
message("\"The deed I can sell thee is for the ship 'The Scaly Eel.' It goes for 600 gold. Interested?\"");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc0415_0277;
var0003 = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
if (!(var0003 >= 0x0258)) goto labelFunc0415_0270;
var0006 = UI_add_party_items(0x0001, 0x031D, 0x000E, 0xFE99, true);
if (!var0006) goto labelFunc0415_0263;
message("\"All right, then!\" the sailor replies. He hands you the deed and takes your gold.~Gargan sneezes.");
say();
var0007 = UI_remove_party_items(0x0258, 0x0284, 0xFE99, 0xFE99, true);
gflags[0x0058] = true;
goto labelFunc0415_026D;
labelFunc0415_0263:
message("\"Thou'rt already carrying enough to sink a galleon, ");
message(var0000);
message("! If thou wilt leave something behind, mayhaps thou wilt be able to sail, and I will be glad, indeed, to sell thee the deed.\"~Gargan sneezes.");
say();
labelFunc0415_026D:
goto labelFunc0415_0274;
labelFunc0415_0270:
message("\"Sorry, matey,\" Gargan says. \"Thou dost not have enough gold!\"~Gargan sneezes.");
say();
labelFunc0415_0274:
goto labelFunc0415_027B;
labelFunc0415_0277:
message("\"Some other time, then,\" the sailor shrugs, disappointed.~Gargan sneezes.");
say();
labelFunc0415_027B:
UI_remove_answer("deed");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_0299;
Func088D();
labelFunc0415_0299:
case "murder" atend labelFunc0415_02F1:
message("\"I heard about that. Terrible thing to happen. Can't say I saw or heard anything, though.\"~Gargan coughs, clears his throat loudly, then spits.");
say();
var0008 = Func08F7(0xFFFE);
if (!var0008) goto labelFunc0415_02D3;
UI_show_npc_face(0xFFFE, 0x0000);
message("\"Ooooh, yuck!\"");
say();
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFEB, 0x0000);
labelFunc0415_02D3:
UI_remove_answer("murder");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_02F1;
Func088D();
labelFunc0415_02F1:
case "Crown Jewel" atend labelFunc0415_031B:
message("\"Yes, that ship was docked overnight.\" He consults his log. \"She sailed for Britain at sunrise. I do not recall seeing anyone get on or off.\"~Gargan snorts and coughs a couple of times.");
say();
UI_remove_answer("Crown Jewel");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_031B;
Func088D();
labelFunc0415_031B:
case "Hook" atend labelFunc0415_0377:
message("\"Matey, I have always seen pirates and sailors with peglegs and hooks. If thou hast seen one, thou hast seen another.\" But the man suddenly frowns. \"Hmm. Now that thou dost mention it, I -did- see a man with a hook late last night after sundown. I was leaving the shop and saw him outside. There was a wingless gargoyle with him. They were walking east.\"");
say();
message("Gargan sneezes, then coughs a couple of times.");
say();
var0008 = Func08F7(0xFFFE);
if (!var0008) goto labelFunc0415_0359;
UI_show_npc_face(0xFFFE, 0x0000);
message("\"I told thee! It was him!\"");
say();
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFEB, 0x0000);
labelFunc0415_0359:
UI_remove_answer("Hook");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_0377;
Func088D();
labelFunc0415_0377:
case "Fellowship" atend labelFunc0415_03A1:
message("\"I am too old to pay attention to them.\"~Gargan wipes his runny nose on his sleeve.");
say();
UI_remove_answer("Fellowship");
var0002 = (var0002 + 0x0001);
if (!(var0002 == 0x0006)) goto labelFunc0415_03A1;
Func088D();
labelFunc0415_03A1:
case "bye" atend labelFunc0415_03AC:
goto labelFunc0415_03AF;
labelFunc0415_03AC:
goto labelFunc0415_007C;
labelFunc0415_03AF:
break;
message("\"May thy day have smooth sailing,\" the sailor starts to say, but a coughing spasm interrupts him.*");
say();
labelFunc0415_03B4:
if (!(event == 0x0000)) goto labelFunc0415_03C2;
Func092E(0xFFEB);
labelFunc0415_03C2:
return;
}
// externs
extern var Func08FC 0x8FC (var var0000, var var0001);
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func092E 0x92E (var var0000);
void Func0416 object#(0x416) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc0416_0117;
UI_show_npc_face(0xFFEA, 0x0000);
var0000 = UI_part_of_day();
if (!(var0000 == 0x0007)) goto labelFunc0416_0041;
var0001 = Func08FC(0xFFEA, 0xFFF0);
if (!var0001) goto labelFunc0416_003C;
message("Caroline asks you to keep your voice down. The Fellowship meeting is in progress.*");
say();
goto labelFunc0416_0040;
labelFunc0416_003C:
message("\"Oh! I cannot stop to speak with thee now! I am late for the Fellowship meeting!\"*");
say();
labelFunc0416_0040:
abort;
labelFunc0416_0041:
UI_add_answer(["name", "job", "murder", "bye"]);
if (!(!gflags[0x0056])) goto labelFunc0416_0066;
message("You see a young woman with a bright smile.");
say();
gflags[0x0056] = true;
goto labelFunc0416_006A;
labelFunc0416_0066:
message("\"Hello again!\" Caroline says brightly.");
say();
labelFunc0416_006A:
converse (0) atend labelFunc0416_0112;
case "name" atend labelFunc0416_0080:
message("\"My parents named me Caroline,\" she says proudly.");
say();
UI_remove_answer("name");
labelFunc0416_0080:
case "job" atend labelFunc0416_0093:
message("\"I have no 'job' per se. I have devoted mine energies to helping The Fellowship. I hope to recruit new members.\"");
say();
UI_add_answer("Fellowship");
labelFunc0416_0093:
case "murder" atend labelFunc0416_00AD:
message("She looks concerned. \"'Tis awful! Christopher was a nice man. Didst thou know he was one of our members? I cannot believe he is dead...\"");
say();
UI_remove_answer("murder");
UI_add_answer("members");
labelFunc0416_00AD:
case "members" atend labelFunc0416_00C0:
message("\"Of The Fellowship. We meet every night at the hall. Thou shouldst visit!\"");
say();
UI_remove_answer("members");
labelFunc0416_00C0:
case "Fellowship" atend labelFunc0416_00DF:
Func0919();
UI_remove_answer("Fellowship");
UI_add_answer(["society", "philosophy"]);
labelFunc0416_00DF:
case "society" atend labelFunc0416_00F2:
message("\"Every night at nine o'clock we have a meeting in the Fellowship hall. Thou mayest consider thyself invited to attend.\"");
say();
UI_remove_answer("society");
labelFunc0416_00F2:
case "philosophy" atend labelFunc0416_0104:
Func091A();
UI_remove_answer("philosophy");
labelFunc0416_0104:
case "bye" atend labelFunc0416_010F:
goto labelFunc0416_0112;
labelFunc0416_010F:
goto labelFunc0416_006A;
labelFunc0416_0112:
break;
message("\"Goodbye!\"*");
say();
labelFunc0416_0117:
if (!(event == 0x0000)) goto labelFunc0416_0197;
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFEA));
var0003 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x000C)) goto labelFunc0416_0191;
if (!(var0003 == 0x0001)) goto labelFunc0416_0154;
var0004 = "@Come to Fellowship Hall!@";
labelFunc0416_0154:
if (!(var0003 == 0x0002)) goto labelFunc0416_0164;
var0004 = "@Strive For Unity!@";
labelFunc0416_0164:
if (!(var0003 == 0x0003)) goto labelFunc0416_0174;
var0004 = "@Trust Thy Brother!@";
labelFunc0416_0174:
if (!(var0003 == 0x0004)) goto labelFunc0416_0184;
var0004 = "@Worthiness Precedes Reward!@";
labelFunc0416_0184:
UI_item_say(0xFFEA, var0004);
goto labelFunc0416_0197;
labelFunc0416_0191:
Func092E(0xFFEA);
labelFunc0416_0197:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern void Func0911 0x911 (var var0000);
extern void Func08B4 0x8B4 (var var0000, var var0001, var var0002);
extern void Func08B5 0x8B5 ();
extern void Func092E 0x92E (var var0000);
extern var Func092D 0x92D (var var0000);
void Func0417 object#(0x417) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var0000 = false;
if (!(event == 0x0001)) goto labelFunc0417_0735;
labelFunc0417_000C:
var0001 = Func0908();
if (!gflags[0x001E]) goto labelFunc0417_0027;
UI_show_npc_face(0xFFE9, 0x0000);
message("\"Fool!! What possessed thee to cast that damned Armageddon Spell? I knew it was dangerous! Thou didst know it was dangerous!! Now look at us! We are all alone on the entire planet! Britannia is ruined! What kind of Avatar art thou!?! Now, with no Moongates working, we are both forced to spend eternity in this blasted wasteland!~~\"Of course, it could be viewed as a clever solution to all of our problems. After all, not even this so-called Guardian would want Britannia now!\"*");
say();
abort;
labelFunc0417_0027:
if (!gflags[0x030C]) goto labelFunc0417_004C;
if (!(!gflags[0x030D])) goto labelFunc0417_0049;
var0000 = true;
UI_show_npc_face(0xFFE9, 0x0000);
message("\"I felt the passing of the remains of Exodus from this realm. It has lifted a great weight from my shoulders. And so Avatar, I cannot let this accomplishment go unrewarded. Please kneel, my friend.\" Lord British holds out his hands as you obey his command.");
say();
goto labelFunc0417_0743;
labelFunc0417_0049:
goto labelFunc0417_005A;
labelFunc0417_004C:
if (!(!gflags[0x02FE])) goto labelFunc0417_005A;
UI_add_answer("rumble");
labelFunc0417_005A:
var0002 = UI_get_party_list();
var0003 = Func08F7(0xFFFF);
var0004 = Func08F7(0xFFFC);
var0005 = Func08F7(0xFFFD);
UI_show_npc_face(0xFFE9, 0x0000);
var0006 = false;
var0007 = false;
var0008 = false;
UI_add_answer(["name", "job", "bye", "Fellowship"]);
if (!(!gflags[0x00DD])) goto labelFunc0417_00B3;
UI_add_answer("Orb of the Moons");
labelFunc0417_00B3:
if (!(gflags[0x00CD] && (!gflags[0x00CC]))) goto labelFunc0417_00C5;
UI_add_answer("Weston");
labelFunc0417_00C5:
if (!gflags[0x00D3]) goto labelFunc0417_00D2;
UI_add_answer("heal");
labelFunc0417_00D2:
if (!gflags[0x0127]) goto labelFunc0417_00DF;
UI_add_answer("The Guardian");
labelFunc0417_00DF:
if (!gflags[0x00D4]) goto labelFunc0417_00EC;
UI_remove_answer("The Guardian");
labelFunc0417_00EC:
if (!(!gflags[0x0098])) goto labelFunc0417_010B;
message("You see your old friend Lord British, looking a bit older than when you last saw him. His eyes gleam at the sight of you.~~\"Welcome, my friend,\" he says, embracing you. \"Please. Tell me what brings thee to Britannia! Or, more importantly, what 'brought' thee here?\"");
say();
gflags[0x0098] = true;
UI_add_answer(["red Moongate", "Orb of the Moons"]);
goto labelFunc0417_0115;
labelFunc0417_010B:
message("\"Yes, ");
message(var0001);
message("?\" Lord British asks.");
say();
labelFunc0417_0115:
converse (0) atend labelFunc0417_072A;
case "name" atend labelFunc0417_012B:
message("Lord British laughs. \"What, art thou joking, Avatar? Dost thou not recognize thine old friend?\"");
say();
UI_remove_answer("name");
labelFunc0417_012B:
case "job" atend labelFunc0417_0148:
message("Lord British rolls his eyes. \"Must we go through this formality?\" He laughs, shaking his head.");
say();
message("\"Very well. As thou well knowest, I am sovereign of Britannia and have been for some time now. Even though I come from thine homeland, I have chosen to live my life here.\"");
say();
UI_add_answer(["Britannia", "homeland"]);
labelFunc0417_0148:
case "homeland" atend labelFunc0417_0162:
message("\"I know that it has been many a year since I visited our Earth, but surely thou dost remember that the two of us hail from the same time and place? And, as brothers in origin, thou shouldst also remember that thou canst ask me for aid at any time thou mightest require it.\"");
say();
UI_remove_answer("homeland");
UI_add_answer("aid");
labelFunc0417_0162:
case "aid" atend labelFunc0417_0194:
message("\"Do not forget, Avatar, that I have the power to heal thee. That is one bit of magic that still seems to work for me. And I could probably provide thee with some equipment and a spellbook.\"");
say();
UI_add_answer(["equipment", "spellbook"]);
if (!(!gflags[0x00D3])) goto labelFunc0417_0189;
UI_add_answer("heal");
labelFunc0417_0189:
gflags[0x00D3] = true;
UI_remove_answer("aid");
labelFunc0417_0194:
case "Britannia" atend labelFunc0417_01C5:
message("\"The state of the land could not be more prosperous. Dost thou realize that thou hast been away for 200 Britannian years?\" Lord British wags a finger at you.~~ \"I am certain that thy friends have rued thine absence. 'Tis a shame thou didst stay away so long! But... I am so very happy to see thee. Britannia is prosperous and abundant. Look around thee. Explore the newly refurbished castle. Travel the land. Peace is prominent in all quarters.~~\"Yes, Britannia has never been better. Well, almost never.\"");
say();
UI_remove_answer("Britannia");
UI_add_answer(["friends", "castle", "almost never"]);
if (!(!gflags[0x0066])) goto labelFunc0417_01C5;
UI_add_answer("magic");
labelFunc0417_01C5:
case "almost never" atend labelFunc0417_01D8:
message("\"Well, 'things' are indeed fine. It is the 'people' I am concerned about.~~\"There is something wrong in Britannia, but I do not know what it is. Something is hanging over the heads of the Britannian people. They are unhappy. One can see it in their eyes. There is nothing that is unifying the population, since there has been peace for so long.~~\"Perhaps thou couldst determine what is happening. I implore thee to go out amongst the people. Watch them in their daily tasks. Speak with them. Work with them. Break bread with them. Perhaps they need someone like the Avatar to take an interest in their lives.\"");
say();
UI_remove_answer("almost never");
labelFunc0417_01D8:
case "red Moongate" atend labelFunc0417_0207:
message("You relate the story of how a red Moongate appeared behind your house and mysteriously took you to Trinsic.~~Lord British's brow creases as you speak. Finally he says, \"I did not send the red Moongate to fetch thee. Someone or something must have activated that Moongate. And that is strange indeed, because we have been having a bit of trouble with Moongates as of late. In fact, we have been having trouble with magic in general!\"");
say();
UI_remove_answer("red Moongate");
if (!(!var0007)) goto labelFunc0417_01F9;
UI_add_answer("Moongates");
labelFunc0417_01F9:
if (!(!var0008)) goto labelFunc0417_0207;
UI_add_answer("magic");
labelFunc0417_0207:
case "Orb of the Moons" atend labelFunc0417_0278:
message("\"Mine has not worked since the troubles with magic began. In fact, none of the Moongates have been working reliably for quite a while!");
say();
message("\"Didst thou bring thine Orb of the Moons?\"");
say();
if (!Func090A()) goto labelFunc0417_0224;
message("\"Really? Where is it? Thou dost not have it on thee! ");
say();
goto labelFunc0417_0228;
labelFunc0417_0224:
message("\"I see. ");
say();
labelFunc0417_0228:
message("\"Hmmm. Thou might be stranded in Britannia. Here. Why not try mine? I shall let thee borrow it. Perhaps it will work for thee. Be careful, though. The Moongates have become dangerous.\"");
say();
var0009 = UI_add_party_items(0x0001, 0x0311, 0xFE99, 0xFE99, false);
if (!var0009) goto labelFunc0417_0251;
message("Lord British hands you his Orb of the Moons.");
say();
gflags[0x00DD] = true;
goto labelFunc0417_0255;
labelFunc0417_0251:
message("\"Thine hands are too full to take the Orb!\"");
say();
labelFunc0417_0255:
UI_remove_answer("Orb of the Moons");
if (!(!var0007)) goto labelFunc0417_026A;
UI_add_answer("Moongates");
labelFunc0417_026A:
if (!(!var0008)) goto labelFunc0417_0278;
UI_add_answer("magic");
labelFunc0417_0278:
case "castle" atend labelFunc0417_0292:
message("\"Yes, it has been redecorated since thy last visit. The architects and workers did a splendid job.\"~~The ruler leans toward you with a sour look on his face.~~ \"The only mar in the entire complex is that damn nursery!\"");
say();
UI_remove_answer("castle");
UI_add_answer("nursery");
labelFunc0417_0292:
case "nursery" atend labelFunc0417_02A5:
message("\"I will not go near the place! Kings and dirty diapers do not mix. The Great Council talked me into implementing the nursery after several of my staff started having families. Although it was probably a necessity, I shall pretend it does not exist!\"");
say();
UI_remove_answer("nursery");
labelFunc0417_02A5:
case "Trinsic" atend labelFunc0417_02C9:
message("\"I have not been down there in many years. Has something happened there?\"");
say();
UI_remove_answer("Trinsic");
UI_push_answers();
UI_add_answer(["a murder", "nothing much"]);
labelFunc0417_02C9:
case "nothing much" atend labelFunc0417_02E0:
message("\"Indeed. Then it seems that Trinsic has not changed much since I saw it last.\" His eyes twinkle.");
say();
UI_pop_answers();
UI_remove_answer("nothing much");
labelFunc0417_02E0:
case "a murder" atend labelFunc0417_031F:
message("\"Murder? In Trinsic?\" The ruler looks concerned.~~\"I have heard nothing about it. Art thou investigating it?\"");
say();
var000A = Func090A();
if (!var000A) goto labelFunc0417_02FF;
message("\"Very good. It pleases me that thou art concerned about my people.\"");
say();
goto labelFunc0417_0303;
labelFunc0417_02FF:
message("\"Ah, but perhaps thou shouldst!\"");
say();
labelFunc0417_0303:
message("The king pauses a moment. \"Now that thou dost mention it, I have had reports of other similar murders in the past few months. In fact, there was one here in Britain three or four years ago. The body was mutilated in a ritualistic fashion. Apparently there is a maddened killer on the loose. But I have no doubt that someone such as thee, Avatar, can find him!\"");
say();
UI_remove_answer("a murder");
UI_pop_answers();
UI_add_answer(["ritualistic", "killer"]);
labelFunc0417_031F:
case "ritualistic" atend labelFunc0417_0336:
message("\"I do not recall many details. Thou shouldst ask Patterson, the town mayor, about it. He may remember more.\"");
say();
UI_remove_answer("ritualistic");
gflags[0x00D1] = true;
labelFunc0417_0336:
case "killer" atend labelFunc0417_0363:
message("\"That is, of course, only an assumption on my part. But that is all we have had to work with. Unless thou hast already uncovered some useful information?\"");
say();
UI_remove_answer("killer");
if (!gflags[0x0043]) goto labelFunc0417_0356;
UI_add_answer("Hook");
labelFunc0417_0356:
if (!gflags[0x0040]) goto labelFunc0417_0363;
UI_add_answer("Crown Jewel");
labelFunc0417_0363:
case "Fellowship" atend labelFunc0417_0383:
message("\"They are an extremely useful and productive group of citizens. Thou shouldst most certainly visit the Fellowship Headquarters here in Britain and speak with Batlin. The Fellowship has done many good deeds throughout Britannia, including feeding the poor, educating and helping those in need, and promoting general good will and peace.\"");
say();
UI_remove_answer("Fellowship");
UI_add_answer(["Batlin", "Headquarters"]);
labelFunc0417_0383:
case "Headquarters" atend labelFunc0417_0396:
message("\"Yes, it is not far from the castle, to the southwest. It is just south of the theatre.\"");
say();
UI_remove_answer("Headquarters");
labelFunc0417_0396:
case "Batlin" atend labelFunc0417_03A9:
message("\"He is a druid who began The Fellowship about twenty years ago. He is highly intelligent, and is a warm and gentle human being.\"");
say();
UI_remove_answer("Batlin");
labelFunc0417_03A9:
case "Hook" atend labelFunc0417_03BC:
message("\"A man with a hook?\" The king rubs his chin.~~\"No, I do not recall ever meeting a man with a hook.\"");
say();
UI_remove_answer("Hook");
labelFunc0417_03BC:
case "Crown Jewel" atend labelFunc0417_03CF:
message("\"I am afraid I cannot possibly know of every ship that comes through our ports. Thou shouldst check with Clint the Shipwright if thou hast not done so.\"");
say();
UI_remove_answer("Crown Jewel");
labelFunc0417_03CF:
case "friends" atend labelFunc0417_03F2:
message("\"Thou must mean Iolo, Shamino, and Dupre, of course.\"");
say();
UI_remove_answer("friends");
UI_add_answer(["Iolo", "Shamino", "Dupre"]);
labelFunc0417_03F2:
case "Iolo" atend labelFunc0417_0435:
message("\"I have seen our friend rarely over the years. I understand he has been spending most of his time in Trinsic.\"");
say();
if (!var0003) goto labelFunc0417_0427;
message("\"Hello, Iolo! How art thou?\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"I am well, my liege! 'Tis good to see thee!\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFE9, 0x0000);
labelFunc0417_0427:
UI_remove_answer("Iolo");
UI_add_answer("Trinsic");
labelFunc0417_0435:
case "Shamino" atend labelFunc0417_049B:
message("\"That rascal does not come around very often, though I understand he spends most of his time in Britain these days!\"");
say();
if (!var0005) goto labelFunc0417_0494;
message("\"What dost thou have to say for thyself, Shamino?\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Mine apologies, milord,\" Shamino says.*");
say();
UI_show_npc_face(0xFFE9, 0x0000);
message("\"What's this I hear of a woman? An actress? Hmmmm?\"*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("Shamino blushes and shuffles his feet.*");
say();
UI_show_npc_face(0xFFE9, 0x0000);
message("\"I suspected as much!\" the ruler says, laughing.");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFE9, 0x0000);
labelFunc0417_0494:
UI_remove_answer("Shamino");
labelFunc0417_049B:
case "Dupre" atend labelFunc0417_04FA:
message("\"I have not seen that one since I knighted him. Typical -- I do the man a favor and he disappears! I heard he might be in Jhelom.\"");
say();
if (!var0004) goto labelFunc0417_04EC;
message("\"Where hast thou been, Sir Dupre?\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Oh, here and there, milord,\" the fighter replies.*");
say();
UI_show_npc_face(0xFFE9, 0x0000);
message("\"I have very few friends from our homeland here in Britannia. Thou must make a point to visit more often! Especially since thou art a knight!\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"If thou dost wish it, milord,\" Dupre says, bowing.*");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFE9, 0x0000);
labelFunc0417_04EC:
UI_remove_answer("Dupre");
UI_add_answer("Jhelom");
labelFunc0417_04FA:
case "Jhelom" atend labelFunc0417_050D:
message("\"A rather violent place, by all accounts. I have not had the pleasure of a visit in quite a while.\"");
say();
UI_remove_answer("Jhelom");
labelFunc0417_050D:
case "magic" atend labelFunc0417_054E:
message("\"Something is awry. Magic has not been working for the longest time. I even have trouble creating food with magic! It must be something to do with the magical ether.~~\"There are those who say that magic is dying, what with the trouble with the Moongates and the situation with Nystul. I am beginning to suspect that they might be right!\"");
say();
message("Lord British studies you a moment.");
say();
message("\"Perhaps magic will work much better for thee. Thou hast not been in Britannia long. It is possible that whatever has affected magic has not made its mark upon thee yet. Please try it. A spellbook is stored with the rest of thine equipment.\"");
say();
gflags[0x0066] = true;
UI_remove_answer("magic");
UI_add_answer(["Nystul", "spellbook", "equipment"]);
var0008 = true;
if (!(!var0007)) goto labelFunc0417_054E;
UI_add_answer("Moongates");
labelFunc0417_054E:
case "Nystul" atend labelFunc0417_057D:
if (!(!gflags[0x0003])) goto labelFunc0417_0572;
if (!(!gflags[0x0099])) goto labelFunc0417_056B;
message("\"Er... try talking to him.\"");
say();
goto labelFunc0417_056F;
labelFunc0417_056B:
message("The king lowers his voice.~~\"He is acting oddly, isn't he? Something has happened to his mind. He doesn't seem to be able to concentrate on magic anymore.\"");
say();
labelFunc0417_056F:
goto labelFunc0417_0576;
labelFunc0417_0572:
message("\"He is beginning to act much more normally.\"");
say();
labelFunc0417_0576:
UI_remove_answer("Nystul");
labelFunc0417_057D:
case "Moongates" atend labelFunc0417_05A1:
message("\"The Moongates are not functioning! We cannot use them as we have in the past. Not only are they dysfunctional, they are, in fact, dangerous! One of my trusted sages used mine own Orb of the Moons to travel to the Shrine of Humility, and his body did shatter upon entering the gate! If only that mage in Cove hadn't gone mad!\"");
say();
UI_remove_answer("Moongates");
UI_add_answer(["mad mage", "Cove"]);
var0007 = true;
labelFunc0417_05A1:
case "mad mage" atend labelFunc0417_05C5:
message("The ruler leans forward and speaks quietly.~~\"There is a mad mage in Cove by the name of Rudyom. Dost thou remember him? Rudyom was working with a magical substance called 'blackrock'. Before he went mad, he claimed that this mineral could solve the problems of the Moongates. I suggest that thou shouldst go to Cove and find him. Try to learn what it was he was doing with this blackrock material. It could be our only hope.\"");
say();
gflags[0x0065] = true;
Func0911(0x0014);
UI_remove_answer("mad mage");
UI_add_answer("Rudyom");
labelFunc0417_05C5:
case "Rudyom" atend labelFunc0417_05E2:
message("\"He was a brilliant and respected mage. But something happened to him in recent years. He seemed to go completely senile.\"");
say();
if (!gflags[0x0099]) goto labelFunc0417_05DB;
message("Suddenly, something jars Lord British's memory. \"I wonder if there is a connection with what happened to Rudyom and what has befallen Nystul!\"");
say();
labelFunc0417_05DB:
UI_remove_answer("Rudyom");
labelFunc0417_05E2:
case "Cove" atend labelFunc0417_05F5:
message("\"Surely thou dost remember Cove. It is a very pleasant town to the east of Britain. Quite relaxing.\"");
say();
UI_remove_answer("Cove");
labelFunc0417_05F5:
case "The Guardian" atend labelFunc0417_060C:
message("\"I do not know of a 'Guardian'. Art thou sure he really exists? Thou shouldst investigate further.\"");
say();
gflags[0x00D4] = true;
UI_remove_answer("The Guardian");
labelFunc0417_060C:
case "spellbook" atend labelFunc0417_061F:
message("\"Yes, I have a spellbook stored away with the rest of the equipment.\"");
say();
UI_remove_answer("spellbook");
labelFunc0417_061F:
case "equipment" atend labelFunc0417_063F:
message("\"Thou art welcome to any of mine equipment. I keep it in a locked storeroom here in the castle. Thou wilt find the key in my study.\"");
say();
UI_remove_answer("equipment");
UI_add_answer(["storeroom", "study"]);
labelFunc0417_063F:
case "storeroom" atend labelFunc0417_0652:
message("\"I am sure thou canst find it.\"~~The ruler smiles slyly. \"Consider it something of a game!\"");
say();
UI_remove_answer("storeroom");
labelFunc0417_0652:
case "study" atend labelFunc0417_0665:
message("\"'Tis in the western end of the castle.\"");
say();
UI_remove_answer("study");
labelFunc0417_0665:
case "heal" atend labelFunc0417_067D:
Func08B4(0x0000, 0x0000, 0x0000);
var0006 = true;
labelFunc0417_067D:
case "Weston" atend labelFunc0417_06A1:
message("Lord British listens to your story about Weston. He looks concerned.~~\"I do not recall this case. Let me check... Hmmm...\" He quickly scans a large scroll.~~\"Imprisoned for the theft of one apple from the Royal Orchards... Ludicrous! Someone must have usurped mine authority. Thou mayest consider this man pardoned. An investigation will commence immediately into the circumstances surrounding his arrest, and into this fellow, Figg. My thanks to thee, Avatar.\"");
say();
gflags[0x00CC] = true;
Func0911(0x0014);
UI_remove_npc(0xFFBB);
UI_remove_answer("Weston");
labelFunc0417_06A1:
case "rumble" atend labelFunc0417_06BB:
message("Lord British looks at you gravely, \"The foundation of Britannia was shaken with the rising of an island. This event was no random disaster, it was one of sorcerous intent.\"");
say();
UI_add_answer("island");
UI_remove_answer("rumble");
labelFunc0417_06BB:
case "island" atend labelFunc0417_06E1:
message("\"Yes, ");
message(var0001);
message(". I felt a great disturbance in the ether when this island arose from the sea. The island is none other than the Isle of Fire where thou defeated the Hellspawn Exodus.\"");
say();
UI_add_answer(["Isle of Fire", "Exodus"]);
UI_remove_answer("island");
labelFunc0417_06E1:
case "Isle of Fire" atend labelFunc0417_0709:
message("\"");
message(var0001);
message(", thou shouldst know that when I created the shrines of the Virtues, I also set upon this island three great shrines, dedicated to the Priciples of Truth, Love, and Courage.");
say();
message("They reside within the walls of the Castle of Fire. I never revealed this to thee before as I thought them forever lost when the Isle of Fire mysteriously sank beneath the waves.");
say();
message("The shrines are meant for the use of an Avatar only, and therefore a talisman will be necessary to use one.");
say();
message("The talismans are guarded by tests that thou shouldst have no problem passing if thou wishest to seek thier counsel.\"");
say();
Func08B5();
UI_remove_answer("Isle of Fire");
labelFunc0417_0709:
case "Exodus" atend labelFunc0417_071C:
message("\"Thy battle with that strange mixture of machine and spirit is now legendary. Do be careful if thou art going to the isle, for the remains of that being now reside in one of the chambers of the Castle of Fire.\"");
say();
UI_remove_answer("Exodus");
labelFunc0417_071C:
case "bye" atend labelFunc0417_0727:
goto labelFunc0417_072A;
labelFunc0417_0727:
goto labelFunc0417_0115;
labelFunc0417_072A:
break;
message("\"Goodbye, ");
message(var0001);
message(". Do come back soon.\"*");
say();
labelFunc0417_0735:
if (!(event == 0x0000)) goto labelFunc0417_0743;
Func092E(0xFFE9);
labelFunc0417_0743:
if (!(var0000 == true)) goto labelFunc0417_07CA;
var000B = Func092D(item);
var000C = ((var000B + 0x0004) % 0x0008);
var000D = UI_execute_usecode_array(item, [(byte)0x59, var000C, (byte)0x27, 0x0001, (byte)0x27, 0x0002, (byte)0x27, 0x0003, (byte)0x55, 0x0417, (byte)0x27, 0x0003, (byte)0x27, 0x0002, (byte)0x27, 0x000B, (byte)0x55, 0x0417]);
var000E = UI_execute_usecode_array(UI_get_npc_object(0xFE9C), [(byte)0x59, var000B, (byte)0x27, 0x0001, (byte)0x6C, (byte)0x27, 0x0001, (byte)0x6D, (byte)0x27, 0x0006, (byte)0x6C, (byte)0x27, 0x0001, (byte)0x61]);
labelFunc0417_07CA:
if (!(event == 0x0002)) goto labelFunc0417_08BD;
if (!gflags[0x001E]) goto labelFunc0417_07E0;
event = 0x0001;
goto labelFunc0417_000C;
abort;
labelFunc0417_07E0:
if (!(!gflags[0x030D])) goto labelFunc0417_08A2;
gflags[0x030D] = true;
var000F = UI_get_object_position(UI_get_npc_object(0xFE9C));
UI_sprite_effect(0x0007, (var000F[0x0001] - 0x0001), (var000F[0x0002] - 0x0001), 0x0000, 0x0000, 0x0000, 0xFFFF);
UI_play_sound_effect(0x0043);
var0010 = UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0000);
var0010 = (var0010 & UI_get_npc_prop(UI_get_npc_object(0xFE9C), 0x0003));
if (!(!(var0010[0x0001] >= 0x003C))) goto labelFunc0417_0876;
var0011 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0000, (0x003C - var0010[0x0001]));
labelFunc0417_0876:
if (!(!(var0010[0x0002] >= 0x003C))) goto labelFunc0417_089F;
var0011 = UI_set_npc_prop(UI_get_npc_object(0xFE9C), 0x0003, (0x003C - var0010[0x0002]));
labelFunc0417_089F:
goto labelFunc0417_08BD;
labelFunc0417_08A2:
UI_show_npc_face(0xFFE9, 0x0000);
var0001 = Func0908();
message("\"I congratulate and thank thee, ");
message(var0001);
message(". Thy deeds continue to speak well of thee.\"");
say();
abort;
labelFunc0417_08BD:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern void Func08C5 0x8C5 ();
extern void Func08C6 0x8C6 ();
void Func0418 object#(0x418) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0000)) goto labelFunc0418_0009;
abort;
labelFunc0418_0009:
UI_show_npc_face(0xFFE8, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x0099])) goto labelFunc0418_0035;
message("You see your old friend Nystul, now a decrepit old man in mage's robes. He seems lost in thought, far away.");
say();
gflags[0x0099] = true;
goto labelFunc0418_0047;
labelFunc0418_0035:
if (!(!gflags[0x0003])) goto labelFunc0418_0043;
message("\"Do I know thee?\" Nystul asks.");
say();
goto labelFunc0418_0047;
labelFunc0418_0043:
message("\"Yes, Avatar?\" Nystul asks.");
say();
labelFunc0418_0047:
converse (0) atend labelFunc0418_0165;
case "name" atend labelFunc0418_006B:
if (!(!gflags[0x0003])) goto labelFunc0418_0060;
message("The mage looks confused a moment. \"My name is Nystul? Yes, that is it!\"");
say();
goto labelFunc0418_0064;
labelFunc0418_0060:
message("\"Why, 'tis Nystul!\"");
say();
labelFunc0418_0064:
UI_remove_answer("name");
labelFunc0418_006B:
case "job" atend labelFunc0418_0092:
if (!(!gflags[0x0003])) goto labelFunc0418_0081;
message("\"Well, I used to perform quite a bit of magic,\" he says apologetically. \"At least... I -think- I used to do so. There is a man named Lord British, I think. I work for him.\"");
say();
goto labelFunc0418_0085;
labelFunc0418_0081:
message("\"I am Lord British's personal mage!\"");
say();
labelFunc0418_0085:
UI_add_answer(["magic", "Lord British"]);
labelFunc0418_0092:
case "magic" atend labelFunc0418_00F2:
if (!(!gflags[0x0003])) goto labelFunc0418_00DA;
message("\"Sometimes the magic works, sometimes it doth not.\" He waves his hand, and drops his wand. \"Oops!\" he cries, as he bends to pick it up.");
say();
var0000 = Func08F7(0xFFFE);
if (!var0000) goto labelFunc0418_00D7;
UI_show_npc_face(0xFFFE, 0x0000);
message("\"Art thou sure this man is not really the jester?\"");
say();
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFE8, 0x0000);
message("\"Anyway, as I was saying, uhm, what was I saying? Oh yes. Magic. I can still sell thee some spells or reagents if thou wouldst like.\"");
say();
labelFunc0418_00D7:
goto labelFunc0418_00DE;
labelFunc0418_00DA:
message("\"The magic is much better now. My spells all work very nicely. I thank thee, Avatar, for clearing the ether. Interested in any spells or reagents?\"");
say();
labelFunc0418_00DE:
UI_remove_answer("magic");
UI_add_answer(["spells", "reagents"]);
labelFunc0418_00F2:
case "spells" atend labelFunc0418_0114:
message("\"Dost thou wish to buy some spells?\"");
say();
var0001 = Func090A();
if (!var0001) goto labelFunc0418_0110;
Func08C5();
goto labelFunc0418_0114;
labelFunc0418_0110:
message("\"Oh. Never mind, then.\"");
say();
labelFunc0418_0114:
case "reagents" atend labelFunc0418_0136:
message("\"Dost thou wish to buy some reagents?\"");
say();
var0002 = Func090A();
if (!var0002) goto labelFunc0418_0132;
Func08C6();
goto labelFunc0418_0136;
labelFunc0418_0132:
message("\"Oh. Never mind, then.\"");
say();
labelFunc0418_0136:
case "Lord British" atend labelFunc0418_0157:
if (!(!gflags[0x0003])) goto labelFunc0418_014C;
message("\"Lord who? Dost thou mean that old man who sometimes sits on the throne?\"");
say();
goto labelFunc0418_0150;
labelFunc0418_014C:
message("\"He is the greatest ruler this land has ever known and I am proud to serve him.\"");
say();
labelFunc0418_0150:
UI_remove_answer("Lord British");
labelFunc0418_0157:
case "bye" atend labelFunc0418_0162:
goto labelFunc0418_0165;
labelFunc0418_0162:
goto labelFunc0418_0047;
labelFunc0418_0165:
break;
if (!(!gflags[0x0003])) goto labelFunc0418_0174;
message("\"Are we going somewhere?\"*");
say();
goto labelFunc0418_0178;
labelFunc0418_0174:
message("\"Goodbye, Avatar. Do come see us again soon.\"*");
say();
labelFunc0418_0178:
return;
}
// externs
extern var Func090A 0x90A ();
extern void Func0862 0x862 ();
extern void Func0861 0x861 ();
extern var Func090B 0x90B (var var0000);
void Func0419 object#(0x419) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0419_026D;
UI_show_npc_face(0xFFE7, 0x0000);
if (!(!gflags[0x009A])) goto labelFunc0419_0034;
message("You are wary of conversing with that trickster Chuckles, but decide to anyway.");
say();
gflags[0x009A] = true;
UI_add_answer(["name", "job", "bye"]);
goto labelFunc0419_0048;
labelFunc0419_0034:
message("\"I will speak if thou dost play The Game, friend,\" Chuckles says.");
say();
UI_add_answer(["job", "bye", "Game"]);
labelFunc0419_0048:
converse (0) atend labelFunc0419_025B;
case "name" atend labelFunc0419_0065:
message("\"I must not say my name, lest I break the rule of The Game!\"");
say();
UI_remove_answer("name");
UI_add_answer("Game");
labelFunc0419_0065:
case "job" atend labelFunc0419_0078:
message("\"I was, am, and shall be the Court...Fool! I could give thee a clue if I wish, but for now my job is to play The Game.\"");
say();
UI_add_answer("Game");
labelFunc0419_0078:
case "clue" atend labelFunc0419_00AF:
if (!(!gflags[0x006F])) goto labelFunc0419_00A4;
message("\"Art thou sure thou canst play The Game?\"");
say();
var0000 = Func090A();
if (!var0000) goto labelFunc0419_009D;
Func0862();
goto labelFunc0419_00A1;
labelFunc0419_009D:
message("\"Thou must play The Game to get the clue!\"");
say();
labelFunc0419_00A1:
goto labelFunc0419_00AF;
labelFunc0419_00A4:
message("\"Oops. I did give thee one!\"");
say();
UI_remove_answer("clue");
labelFunc0419_00AF:
case "Game" atend labelFunc0419_00DD:
message("\"Thou must play The Game if thou dost want to speak with me.\"");
say();
UI_clear_answers();
UI_add_answer(["I don't understand", "What are the rules?", "I know The Game", "Explain it"]);
UI_remove_answer("Game");
gflags[0x0073] = true;
labelFunc0419_00DD:
case "I don't understand" atend labelFunc0419_00EF:
Func0861();
UI_remove_answer("I don't understand");
labelFunc0419_00EF:
case "Explain it" atend labelFunc0419_0101:
Func0861();
UI_remove_answer("Explain it");
labelFunc0419_0101:
case "What are the rules?" atend labelFunc0419_0114:
message("\"Thou must just learn The Game and then jump in and play it!\"");
say();
UI_remove_answer("What are the rules?");
labelFunc0419_0114:
case "I know The Game" atend labelFunc0419_0168:
message("\"Then just play it!\"");
say();
UI_remove_answer("I know the Game");
UI_clear_answers();
var0001 = Func090B(["What do we converse about?", "About what do we talk?", "Of what do we speak?"]);
if (!(var0001 == "Of what do we speak?")) goto labelFunc0419_0165;
message("\"Of what thou wouldst like.\"");
say();
UI_clear_answers();
UI_add_answer(["the weather", "Lord British", "thou", "a joke"]);
goto labelFunc0419_0168;
labelFunc0419_0165:
Func0861();
labelFunc0419_0168:
case "the weather" atend labelFunc0419_017A:
Func0861();
UI_remove_answer("weather");
labelFunc0419_017A:
case "Lord British" atend labelFunc0419_018C:
Func0861();
UI_remove_answer("Lord British");
labelFunc0419_018C:
case "thou" atend labelFunc0419_01B6:
message("\"Why dost thou want to speak of me? Canst thou not think of a thing much more fun of which to speak?\"");
say();
UI_remove_answer("thou");
UI_clear_answers();
UI_add_answer(["women", "girls", "food", "supper"]);
labelFunc0419_01B6:
case "a joke" atend labelFunc0419_01C9:
message("\"I do not think I can tell a good joke whilst I play The Game! 'Twould be hard! Hmm. Ah! I have one! Why did the hen cross the road? To get to the side she was not on!\"");
say();
UI_remove_answer("a joke");
labelFunc0419_01C9:
case "women" atend labelFunc0419_01DB:
Func0861();
UI_remove_answer("women");
labelFunc0419_01DB:
case "girls" atend labelFunc0419_01EE:
message("\"There be a lot of fine girls in our fair town! Or is it 'fair girls in our fine town'?\" Chuckles shrugs his shoulders.");
say();
UI_remove_answer("girls");
labelFunc0419_01EE:
case "food" atend labelFunc0419_023B:
message("\"There is good food at the pub! As for me, I like to eat on the floor of my room!\"");
say();
UI_clear_answers();
var0002 = Func090B(["Where is the tavern?", "Where is the Blue Boar?", "The pub serves mutton?", "Is there liquor?"]);
if (!(var0002 == "Where is the Blue Boar?")) goto labelFunc0419_0238;
message("\"Thou canst get a good meal there! But I could give thee a good -clue-!\"");
say();
UI_clear_answers();
UI_add_answer(["clue", "job", "bye"]);
goto labelFunc0419_023B;
labelFunc0419_0238:
Func0861();
labelFunc0419_023B:
case "supper" atend labelFunc0419_024D:
Func0861();
UI_remove_answer("supper");
labelFunc0419_024D:
case "bye" atend labelFunc0419_0258:
goto labelFunc0419_025B;
labelFunc0419_0258:
goto labelFunc0419_0048;
labelFunc0419_025B:
break;
if (!gflags[0x0073]) goto labelFunc0419_0269;
message("\"So long, my friend! Do not forg... I mean, do not lose how to play The Game!\"*");
say();
goto labelFunc0419_026D;
labelFunc0419_0269:
message("\"Bye for now!\"*");
say();
labelFunc0419_026D:
if (!(event == 0x0000)) goto labelFunc0419_02E4;
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFE7));
if (!(var0003 == 0x0004)) goto labelFunc0419_02E4;
var0004 = UI_die_roll(0x0001, 0x0004);
if (!(var0004 == 0x0001)) goto labelFunc0419_02AA;
var0005 = "@Hi!@";
labelFunc0419_02AA:
if (!(var0004 == 0x0002)) goto labelFunc0419_02BA;
var0005 = "@Want to play The Game?@";
labelFunc0419_02BA:
if (!(var0004 == 0x0003)) goto labelFunc0419_02CA;
var0005 = "@Let us play The Game!@";
labelFunc0419_02CA:
if (!(var0004 == 0x0004)) goto labelFunc0419_02DA;
var0005 = "Shall we dance?@";
labelFunc0419_02DA:
UI_item_say(0xFFE7, var0005);
labelFunc0419_02E4:
return;
}
// externs
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern var Func090A 0x90A ();
extern void Func0852 0x852 ();
extern void Func0911 0x911 (var var0000);
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern void Func084F 0x84F ();
extern void Func0850 0x850 ();
extern void Func084D 0x84D ();
extern void Func0851 0x851 ();
extern void Func092E 0x92E (var var0000);
void Func041A object#(0x41A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
if (!(event == 0x0001)) goto labelFunc041A_0695;
UI_show_npc_face(0xFFE6, 0x0000);
var0000 = UI_get_schedule_type(UI_get_npc_object(0xFFE6));
var0001 = Func0931(0xFE9B, 0x0001, 0x03D5, 0xFE99, 0x0001);
if (!var0001) goto labelFunc041A_0057;
message("Batlin's eyes narrow to red slits as he peers practically through you.");
say();
message("\"Thou hast the Cube! Thou cannot use it against -me-!\"");
say();
message("With that, Batlin turns with a flourish, and vanishes before your eyes!*");
say();
gflags[0x00DA] = true;
UI_remove_npc(UI_get_npc_object(0xFFE6));
abort;
labelFunc041A_0057:
if (!gflags[0x001E]) goto labelFunc041A_0066;
message("Batlin looks at you and his gaze returns to the Armageddon winter storm. \"Many years ago, Avatar, I went to Skara Brae, the ghost city. The way the world is now reminds me of that dead place. In Skara Brae I had a spiritual experience so profound that I have never spoken of to another soul. I would like to share that experience with thee now, Avatar.");
say();
message("\"There at Skara Brae I saw a man who was called The Tortured One. I asked this dead man, pray tell, what is the answer to the question of Life and Death? He gave me no reply, and I asked him again. I beseeched him to impart some small parcel of wisdom upon me. What is the answer to the question of Life and Death?! He said nothing, but in his eyes... In his eyes I could see, Avatar, that he could not answer me for there was no answer to give. No answers to the question of Life and Death! It was then I understood. No meanings! No virtues! No values!!!... I commend thee, Avatar, for reaching that same liberating illumination!\"*");
say();
abort;
labelFunc041A_0066:
if (!gflags[0x0038]) goto labelFunc041A_0103;
message("\"Art thou ready to answer questions from the Book of Fellowship?\"");
say();
if (!Func090A()) goto labelFunc041A_00FE;
Func0852();
if (!(!gflags[0x0038])) goto labelFunc041A_00EA;
if (!(var0000 == 0x001C)) goto labelFunc041A_0099;
message("\"Excellent, Avatar!\"");
say();
message("Fighting a tremble of hesitation you take a long deep drink from the goblet. Batlin steps up to you. \"May the news spread far and wide that our newest member is none other than the Avatar!\"");
say();
message("The other Fellowship members cheer with pleasure.");
say();
goto labelFunc041A_009D;
labelFunc041A_0099:
message("\"Very good, Avatar.\"");
say();
labelFunc041A_009D:
var0002 = UI_add_party_items(0x0001, 0x03BB, 0xFE99, 0x0001, false);
gflags[0x0091] = true;
gflags[0x0006] = true;
Func0911(0x01F4);
if (!var0002) goto labelFunc041A_00D0;
message("\"Allow me to present thee with thy Fellowship medallion.\" Batlin gives you the medallion. \"Please -- wear thy medallion at all times for it shall be a symbol to all who see it that thou dost walk with the Fellowship. Ready it to thy neck immediately! Oh, and... welcome to The Fellowship, Avatar.\"*");
say();
gflags[0x0090] = true;
goto labelFunc041A_00D4;
labelFunc041A_00D0:
message("\"Thou art too encumbered to receive thy Fellowship medallion. Thou must lighten thy load.\"*");
say();
labelFunc041A_00D4:
var0003 = UI_execute_usecode_array(item, [(byte)0x23, (byte)0x56, 0x0017]);
abort;
goto labelFunc041A_00FB;
labelFunc041A_00EA:
message("\"My dear Avatar. Thou must realize that thou must know everything there is to know about The Fellowship before I can induct thee. Please study thy Book of Fellowship and return to me.");
say();
message("Your mind seems unclear. I would not be surprised if thou dost not understand another soul with whom thou dost speak.\"");
say();
UI_set_item_flag(item, 0x0019);
abort;
labelFunc041A_00FB:
goto labelFunc041A_0103;
labelFunc041A_00FE:
message("\"Come back when thou art ready.\"*");
say();
abort;
labelFunc041A_0103:
var0004 = Func0909();
var0005 = UI_wearing_fellowship();
var0006 = UI_part_of_day();
var0000 = UI_get_schedule_type(UI_get_npc_object(0xFFE6));
var0007 = Func0908();
if (!(var0000 == 0x001C)) goto labelFunc041A_0149;
if (!(gflags[0x008D] && (!gflags[0x0091]))) goto labelFunc041A_0146;
Func084F();
goto labelFunc041A_0149;
labelFunc041A_0146:
Func0850();
labelFunc041A_0149:
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0041]) goto labelFunc041A_0166;
UI_add_answer("Elizabeth and Abraham");
labelFunc041A_0166:
if (!gflags[0x0096]) goto labelFunc041A_017A;
if (!(!gflags[0x0006])) goto labelFunc041A_017A;
UI_add_answer("join");
labelFunc041A_017A:
if (!(gflags[0x00D7] || (gflags[0x00D6] && (!gflags[0x0109])))) goto labelFunc041A_0190;
UI_add_answer("package");
labelFunc041A_0190:
if (!gflags[0x0109]) goto labelFunc041A_01A4;
UI_add_answer("delivered package");
UI_remove_answer("package");
labelFunc041A_01A4:
if (!gflags[0x0102]) goto labelFunc041A_01B1;
UI_add_answer("package delivered");
labelFunc041A_01B1:
if (!gflags[0x011E]) goto labelFunc041A_01BE;
UI_add_answer("package delivered");
labelFunc041A_01BE:
if (!gflags[0x008E]) goto labelFunc041A_01DE;
UI_remove_answer(["delivered package", "package delivered"]);
if (!gflags[0x0097]) goto labelFunc041A_01DE;
UI_add_answer("chest");
labelFunc041A_01DE:
if (!gflags[0x008D]) goto labelFunc041A_01EB;
UI_remove_answer("chest");
labelFunc041A_01EB:
if (!gflags[0x0091]) goto labelFunc041A_01FF;
if (!(!gflags[0x0090])) goto labelFunc041A_01FF;
UI_add_answer("medallion");
labelFunc041A_01FF:
if (!gflags[0x0094]) goto labelFunc041A_020C;
UI_add_answer("apples");
labelFunc041A_020C:
if (!(gflags[0x008A] || (gflags[0x008C] || gflags[0x000A]))) goto labelFunc041A_0221;
UI_add_answer("voice");
labelFunc041A_0221:
if (!gflags[0x008B]) goto labelFunc041A_022E;
UI_add_answer("Meditation Retreat");
labelFunc041A_022E:
if (!(!gflags[0x009B])) goto labelFunc041A_0254;
message("You see a rotund older gentleman, who is at once humble yet dignified. His gentle eyes exude caring for his fellow person.");
say();
gflags[0x009B] = true;
if (!(var0005 && (!gflags[0x0006]))) goto labelFunc041A_0251;
message("The man's eyes focus on the Fellowship medallion around your neck.");
say();
message("\"My dear friend, thou art falsely impersonating a Fellowship member! Remove that medallion at once!\"*");
say();
abort;
labelFunc041A_0251:
goto labelFunc041A_0271;
labelFunc041A_0254:
if (!(var0005 && (!gflags[0x0006]))) goto labelFunc041A_0267;
message("\"I shall not speak to thee unless thou dost remove that Fellowship medallion. Thou art falsely impersonating a Fellowship member!\"*");
say();
abort;
goto labelFunc041A_0271;
labelFunc041A_0267:
message("\"");
message(var0007);
message(", my dear, dear friend! How wonderful to see thee again!\" says Batlin.");
say();
labelFunc041A_0271:
converse (0) atend labelFunc041A_0690;
case "name" atend labelFunc041A_0287:
message("\"My name, good friend, is Batlin. And indeed it is truly a privilege to meet the Avatar in the flesh.\"");
say();
UI_remove_answer("name");
labelFunc041A_0287:
case "job" atend labelFunc041A_029A:
message("\"I was once a druid. Now I am the leader and the originator of The Fellowship. It is rapidly growing throughout Britannia and keeps me very busy, as thou canst well imagine. Ha! Ha! Ha!\"");
say();
UI_add_answer("Fellowship");
labelFunc041A_029A:
case "Fellowship" atend labelFunc041A_02B4:
message("\"The Fellowship was formed twenty years ago with the full approval and support of Lord British. It is a society of spiritual seekers who strive to reach the highest levels of human potential and to share this knowledge freely with all people.\"");
say();
UI_remove_answer("Fellowship");
UI_add_answer("spiritual");
labelFunc041A_02B4:
case "spiritual" atend labelFunc041A_02D4:
message("\"The Fellowship advances the philosophy of sanguine cognition, a way to apply a positive order of thought to one's life through what is called the Triad of Inner Strength.\"");
say();
UI_remove_answer("spiritual");
UI_add_answer(["sanguine cognition", "Triad"]);
labelFunc041A_02D4:
case "sanguine cognition" atend labelFunc041A_02EE:
message("\"We strive to avoid the mistakes made by mystics and sages since the dawn of time. They apply the standards of the past, such as the virtues, for example, to qualify the present, and thus they do not perceive it correctly. We seek to examine our present lives each on our own terms and see the world the way it is.\"");
say();
UI_remove_answer("sanguine cognition");
UI_add_answer("virtues");
labelFunc041A_02EE:
case "virtues" atend labelFunc041A_0301:
message("\"They are perfectly adequate for those who feel that they still need them for whatever reason. But no one, not even thyself, thou must admit, Avatar, can fulfill them perfectly. Therefore they are a philosophy that is ultimately based upon failure. We have never claimed that our teachings are a substitute for the virtues. However, ours is a belief that is based upon success, not failure.\"");
say();
UI_remove_answer("virtues");
labelFunc041A_0301:
case "Triad" atend labelFunc041A_031B:
message("\"The Triad of Inner Strength is simply three basic values that, when applied in unison, enable one to be more creative, satisfied and successful in life.\"");
say();
UI_remove_answer("Triad");
UI_add_answer("values");
labelFunc041A_031B:
case "values" atend labelFunc041A_033E:
message("\"The three values of the Triad of Inner Strength are Strive For Unity, Trust Thy Brother and Worthiness Precedes Reward.\"");
say();
UI_remove_answer("values");
UI_add_answer(["Unity", "Trust", "Worthiness"]);
labelFunc041A_033E:
case "Unity" atend labelFunc041A_0358:
message("\"When we say Strive For Unity, it is simply our way of expressing how the people of Britannia should all cooperate and work together. A worthwhile sentiment, I am certain thou wouldst concur.\"");
say();
UI_remove_answer("Unity");
UI_add_answer("join");
labelFunc041A_0358:
case "Trust" atend labelFunc041A_0372:
message("\"What The Fellowship means by this is that people are all the same and the world is, generally speaking, a supportive, nurturing place. The trust we place in each other is like the pinions that hold our society together. Quite true, wouldst thou not say?\"");
say();
UI_remove_answer("Trust");
UI_add_answer("join");
labelFunc041A_0372:
case "Worthiness" atend labelFunc041A_038C:
message("\"Allow me to explain the meaning of Worthiness Precedes Reward. Each one of us seeks something which we desire from life and we must strive to be worthy of that which we seek. It would be difficult for thee to disagree I am quite sure.\"");
say();
UI_remove_answer("Worthiness");
UI_add_answer("join");
labelFunc041A_038C:
case "Elizabeth and Abraham" atend labelFunc041A_03E5:
if (!(!gflags[0x0105])) goto labelFunc041A_03A3;
message("\"Ah, my good colleagues Elizabeth and Abraham were just here. They left this morning for Minoc on Fellowship business. They deal with the distribution and collection of funds.\"");
say();
gflags[0x0087] = true;
labelFunc041A_03A3:
if (!(gflags[0x0105] && (!gflags[0x016B]))) goto labelFunc041A_03B2;
message("\"I have not seen my colleagues since they were last here. They are busy folk.\"");
say();
labelFunc041A_03B2:
if (!(gflags[0x0217] && (!gflags[0x016B]))) goto labelFunc041A_03C1;
message("\"I have not seen my colleagues since they were last here. They are busy folk.\"");
say();
labelFunc041A_03C1:
if (!(gflags[0x016B] && (!gflags[0x0284]))) goto labelFunc041A_03D4;
message("Batlin smiles and shakes his head. \"Thou art not having much luck tracking them down, art thou? They were here, having done some work in Jhelom, but now they have gone to Vesper to see about starting a branch there.\"");
say();
gflags[0x0088] = true;
labelFunc041A_03D4:
if (!gflags[0x0284]) goto labelFunc041A_03DE;
message("\"I have not seen my colleagues since they were last here. They are busy folk.\"");
say();
labelFunc041A_03DE:
UI_remove_answer("Elizabeth and Abraham");
labelFunc041A_03E5:
case "join" atend labelFunc041A_0416:
if (!gflags[0x0006]) goto labelFunc041A_03FA;
message("\"But thou art already a member, Avatar! One can only join once!\"");
say();
goto labelFunc041A_040F;
labelFunc041A_03FA:
if (!(gflags[0x0096] && (!gflags[0x0097]))) goto labelFunc041A_040C;
message("\"Thou hast not completed thy tasks. Remember that Worthiness Precedes Reward. Once thou hast completed the missions, thou mayest join.\"");
say();
goto labelFunc041A_040F;
labelFunc041A_040C:
Func084D();
labelFunc041A_040F:
UI_remove_answer("join");
labelFunc041A_0416:
case "package" atend labelFunc041A_0478:
if (!(gflags[0x00D7] && (!gflags[0x008F]))) goto labelFunc041A_0475;
message("\"Ah! I do hope thine hands are not too full to take the package.\"");
say();
var0008 = UI_find_object(0xFFE6, 0x031E, 0xFE99, 0xFE99);
var0009 = UI_set_last_created(var0008);
var000A = UI_give_last_created(0xFE9C);
if (!var000A) goto labelFunc041A_0463;
message("\"Excellent! Here it is. Thou must now be on thy way!\"*");
say();
gflags[0x008F] = true;
abort;
labelFunc041A_0463:
var000A = UI_give_last_created(0xFFE6);
message("\"Avatar! I am tired of this! Please make room in thine inventory for the package!\"*");
say();
abort;
goto labelFunc041A_0478;
labelFunc041A_0475:
Func0851();
labelFunc041A_0478:
case "delivered package" atend labelFunc041A_0492:
message("\"Congratulations, Avatar, and our thanks to thee for successfully delivering our package to Elynor of Minoc. Now we have another task at hand before thou canst join The Fellowship. Because thou didst deliver the package thou hast proven thyself worthy of performing another mission.\"");
say();
UI_remove_answer("delivered package");
UI_add_answer("mission");
labelFunc041A_0492:
case "package delivered" atend labelFunc041A_0512:
message("\"Avatar, didst thou deliver the package to Elynor of Minoc?\"");
say();
var000B = Func090A();
if (!var000B) goto labelFunc041A_04E4;
message("\"Didst thou open the package?\"");
say();
var000C = Func090A();
if (!var000C) goto labelFunc041A_04C8;
message("\"Thou knew that thou wast instructed not to open it. We put trust in thee to carry out our instructions to the letter and that trust was broken.\"");
say();
UI_add_answer("mission");
goto labelFunc041A_04CC;
labelFunc041A_04C8:
message("\"That is not what Elynor of Minoc tells us. We put trust in thee to carry out our instructions to the letter and that trust was broken.");
say();
labelFunc041A_04CC:
if (!gflags[0x011E]) goto labelFunc041A_04D6;
message("\"I understand that the contents of the package were missing as well, and this is very serious indeed!");
say();
labelFunc041A_04D6:
message("\"I am afraid that thou must carry out a mission for us as a test of trust if thou art to begin truly walking with The Fellowship.\"");
say();
UI_add_answer("mission");
goto labelFunc041A_050B;
labelFunc041A_04E4:
message("Batlin's eyes open wide in surprise.");
say();
message("\"What has happened? Hast thou lost the package?\"");
say();
var000D = Func090A();
if (!var000D) goto labelFunc041A_0506;
message("\"Tsk. Tsk. Tsk. That is most unfortunate. We put trust in thee to deliver the package and that trust was broken. I am afraid that thou must carry out a mission for us as a test of trust if thou art to begin truly walking with The Fellowship.\"");
say();
UI_add_answer("mission");
goto labelFunc041A_050B;
labelFunc041A_0506:
message("\"Please deliver our package, Avatar. We have more business to discuss once thou art finished.\"*");
say();
abort;
labelFunc041A_050B:
UI_remove_answer("package delivered");
labelFunc041A_0512:
case "mission" atend labelFunc041A_0530:
message("\"Thou shalt visit the dungeon of Destard, which is in the mountains just west of Trinsic. Do not worry, it is completely deserted. There thou shalt find a chest of Fellowship funds which was hidden for safekeeping just a few days ago. Thou wilt know the chest because it will contain not only gold but two Fellowship medallions. The site is also most likely marked with a Fellowship staff. Bring these funds back to us without losing a single coin and thou wilt have successfully completed thy mission. No need to bring the chest, just the gold. Now, thou must be on thy way!\"*");
say();
gflags[0x008E] = true;
Func0911(0x0064);
UI_remove_answer("mission");
abort;
labelFunc041A_0530:
case "chest" atend labelFunc041A_0556:
message("\"Ah yes, thou hast returned from Dungeon Destard! But wait! I do not see the Fellowship funds that thou wast to bring back! What has happened?!\"");
say();
UI_add_answer(["a highwayman", "monsters", "pirates", "ship sunk"]);
UI_remove_answer("chest");
labelFunc041A_0556:
case "a highwayman" atend labelFunc041A_0570:
message("\"Why, thy tale is outlandish! I refuse to believe it!\" Batlin sniffs in irritation.");
say();
UI_remove_answer("a highwayman");
UI_add_answer("join");
labelFunc041A_0570:
case "monsters" atend labelFunc041A_0596:
message("\"Monsters! There are monsters lurking in dungeon Destard?! Well then, I do apologize for thine inconvenience.\"");
say();
UI_remove_answer(["monsters", "a highwayman", "ship sunk", "pirates"]);
UI_add_answer("join");
labelFunc041A_0596:
case "pirates" atend labelFunc041A_05B0:
message("\"Surely thou canst do better than that! If thou simply dost not wish to answer my question why dost thou not say so?\"");
say();
UI_remove_answer("pirates");
UI_add_answer("join");
labelFunc041A_05B0:
case "ship sunk" atend labelFunc041A_05CA:
message("Batlin slowly rolls his eyes. \"Thou ought to have been a bard, thou dost regale me with such stories!\"");
say();
UI_remove_answer("ship sunk");
UI_add_answer("join");
labelFunc041A_05CA:
case "medallion" atend labelFunc041A_0605:
var0002 = UI_add_party_items(0x0001, 0x03BB, 0xFE99, 0x0001, false);
if (!var0002) goto labelFunc041A_05FE;
message("\"Allow me to present thee with thy Fellowship medallion.\" Batlin gives you the medallion. \"Please -- wear the medallion at all times. Ready it to thy neck immediately! Oh, and... welcome to The Fellowship, Avatar.\"");
say();
gflags[0x0090] = true;
UI_remove_answer("medallion");
goto labelFunc041A_0605;
labelFunc041A_05FE:
message("\"Thou cannot receive thy Fellowship medallion. Thou art too encumbered!\"*");
say();
goto labelFunc041A_0690;
labelFunc041A_0605:
case "apples" atend labelFunc041A_0618:
message("\"While thou art here, please feel free to enjoy an apple. The finest in all of Britannia, I am certain thou wilt find. They are provided to The Fellowship by the Royal Orchards.\"");
say();
UI_remove_answer("apples");
labelFunc041A_0618:
case "voice" atend labelFunc041A_0645:
if (!gflags[0x0096]) goto labelFunc041A_0633;
message("\"Once a person has walked with The Fellowship long enough and applied the Triad of Inner Strength to his life, he has cleared his mind of all conflicting, counterproductive thoughts to the point where he may actually hear his internal voice of reason. This voice of reason is the core of thine inner mind which guides thee through pure instinct, wisdom and irreproachable logic. Once one starts to listen to it and follow its guidance, one has achieved the height of enlightenment. Perhaps thou shalt hear it one day.\"");
say();
Func0911(0x0014);
goto labelFunc041A_063E;
labelFunc041A_0633:
message("\"Only active or potential Fellowship members are privy to the concept of 'the voice'. I can tell thee more when thou dost take the Fellowship test.\"");
say();
UI_add_answer("test");
labelFunc041A_063E:
UI_remove_answer("voice");
labelFunc041A_0645:
case "test" atend labelFunc041A_066F:
message("\"Oh, art thou ready to join The Fellowship?\"");
say();
if (!Func090A()) goto labelFunc041A_065D;
Func084D();
goto labelFunc041A_0668;
labelFunc041A_065D:
message("\"Until thou art ready to join, I cannot tell thee any more about the test.\"");
say();
UI_add_answer("join");
labelFunc041A_0668:
UI_remove_answer("test");
labelFunc041A_066F:
case "Meditation Retreat" atend labelFunc041A_0682:
message("\"It is a retreat from the pressures and distractions of everyday life where new members of The Fellowship may go and study the philosophies of The Fellowship. It is located on an island east of Serpent's Hold.\"");
say();
UI_remove_answer("Meditation Retreat");
labelFunc041A_0682:
case "bye" atend labelFunc041A_068D:
goto labelFunc041A_0690;
labelFunc041A_068D:
goto labelFunc041A_0271;
labelFunc041A_0690:
break;
message("\"Until we meet again, Avatar.\"*");
say();
labelFunc041A_0695:
if (!(event == 0x0000)) goto labelFunc041A_06A3;
Func092E(0xFFE6);
labelFunc041A_06A3:
return;
}
// externs
extern var Func090A 0x90A ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func08D1 0x8D1 ();
extern void Func092E 0x92E (var var0000);
void Func041B object#(0x41B) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc041B_024E;
UI_show_npc_face(0xFFE5, 0x0000);
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFE5));
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0068]) goto labelFunc041B_0044;
UI_add_answer("audition");
labelFunc041B_0044:
if (!gflags[0x0069]) goto labelFunc041B_0057;
UI_add_answer(["Miranda", "Max"]);
labelFunc041B_0057:
if (!(!gflags[0x009C])) goto labelFunc041B_0069;
message("You can see the creativity literally flowing in abundance from this fellow. He looks at you with interest.");
say();
gflags[0x009C] = true;
goto labelFunc041B_006D;
labelFunc041B_0069:
message("\"Yes, yes?\" Raymundo snaps. \"What dost thou want? I'm busy!\"");
say();
labelFunc041B_006D:
converse (0) atend labelFunc041B_0249;
case "name" atend labelFunc041B_0083:
message("\"I am Raymundo.\"");
say();
UI_remove_answer("name");
labelFunc041B_0083:
case "job" atend labelFunc041B_00CC:
message("\"Why, I am famous throughout the land! Hast thou not heard of me?\"");
say();
var0002 = Func090A();
if (!var0002) goto labelFunc041B_00A2;
message("\"I told thee so!");
say();
goto labelFunc041B_00A6;
labelFunc041B_00A2:
message("\"-Really-!? I am surprised! But never mind...");
say();
labelFunc041B_00A6:
message("\"I am the Director of the Royal Theatre here in Britain. I am also Playwright-in-Residence. I compose a tune now and then as well. I sometimes act, but it is not wise to act in something that one directs.~");
say();
if (!(var0001 == 0x0007)) goto labelFunc041B_00BB;
message("\"We are working on a play at the moment.\"");
say();
goto labelFunc041B_00BF;
labelFunc041B_00BB:
message("\"Come by the theatre during the day and watch the rehearsals for our play.\"");
say();
labelFunc041B_00BF:
UI_add_answer(["Royal Theatre", "play"]);
labelFunc041B_00CC:
case "play" atend labelFunc041B_0114:
message("\"It's a little something I wrote entitled 'The Trials of the Avatar'. It's about a legendary figure in Britannian history.\" The artist looks you up and down.");
say();
message("\"Hmmm. Thou dost have a certain quality... hast thou ever acted on stage?\"");
say();
var0003 = Func090A();
if (!var0003) goto labelFunc041B_00EF;
message("\"I thought so!");
say();
goto labelFunc041B_00F3;
labelFunc041B_00EF:
message("\"Well, it does not matter. I am sure thou couldst quickly adapt.");
say();
labelFunc041B_00F3:
message("\"Officially, auditions have closed and the play is already cast. However, we need someone to understudy the role of the Avatar. Wouldst thou like to audition?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc041B_010F;
message("\"Excellent! What thou needest to do is to visit Gaye's Clothier Shoppe and purchase an Avatar costume. I can audition thee once I see thee in -proper- attire. Run along and do that, quickly now, I'm a busy man.\"*");
say();
gflags[0x0067] = true;
abort;
goto labelFunc041B_0114;
labelFunc041B_010F:
message("\"No? Thou hast never dreamed of performing on the stage? Seeing thy name in torches? Donning the olde grease paint and wig? Bowing to thunderous applause? Well, begone then, I have not the time for chatting with the public.\"*");
say();
abort;
labelFunc041B_0114:
case "Royal Theatre" atend labelFunc041B_0134:
message("\"'Tis a wonderful space, dost thou not think? 'Twas opened only last year, thanks to the sponsorship of a few wealthy citizens of our great city.\"");
say();
UI_remove_answer("Royal Theatre");
UI_add_answer(["sponsorship", "citizens"]);
labelFunc041B_0134:
case "sponsorship" atend labelFunc041B_017F:
message("\"The construction of the actual theatre building was paid for by the Royal Mint, but the theatre company relies solely on the support of individuals such as thyself. Wouldst thou like to make a modest contribution of, say, ten gold pieces to our theatre company?\"");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc041B_0174;
var0006 = UI_remove_party_items(0x000A, 0x0284, 0xFE99, 0xFE99, true);
if (!var0006) goto labelFunc041B_016D;
message("\"I thank thee. Thou hast shown thyself to be a true patron of the arts and a person of culture and refinement.\"");
say();
goto labelFunc041B_0171;
labelFunc041B_016D:
message("\"Thine unconvincing performance gave thy game away! Thou dost not have ten gold pieces!\"");
say();
labelFunc041B_0171:
goto labelFunc041B_0178;
labelFunc041B_0174:
message("\"Give a man a loaf of bread and thou hast fed him for a day, give a man a play and perhaps thou hast fed his soul for a lifetime! Once thou hast seen one of our productions I am certain thou shalt reconsider.\"");
say();
labelFunc041B_0178:
UI_remove_answer("sponsorship");
labelFunc041B_017F:
case "audition" atend labelFunc041B_01C3:
if (!(var0001 == 0x0007)) goto labelFunc041B_01BE;
var0007 = Func0931(0xFE9C, 0x0001, 0x0346, 0xFE99, 0xFE99);
if (!var0007) goto labelFunc041B_01B6;
message("\"I see thou art ready? Very well. Take center stage, wouldst thou?\"");
say();
Func08D1();
goto labelFunc041B_01BB;
labelFunc041B_01B6:
message("\"Where is thy costume? Thou cannot audition without a costume!\"*");
say();
abort;
labelFunc041B_01BB:
goto labelFunc041B_01C3;
labelFunc041B_01BE:
message("\"Come to the theatre during rehearsal hours, wouldst thou?\"*");
say();
abort;
labelFunc041B_01C3:
case "Miranda" atend labelFunc041B_01DA:
message("Raymundo takes a deep breath and smiles.");
say();
message("\"Ah, lovely woman. 'Tis a pity she is more interested in politics than the stage. But I must say that we get along famously!\"");
say();
UI_remove_answer("Miranda");
labelFunc041B_01DA:
case "Max" atend labelFunc041B_01F1:
message("\"He is quite a character, is he not?\" Raymundo's face fills with pride.");
say();
message("\"Takes after his old man, I must say. He is sure to be a great actor. Or writer. Or director. Or producer.\"");
say();
UI_remove_answer("Max");
labelFunc041B_01F1:
case "citizens" atend labelFunc041B_0211:
message("\"Well, I am really not at liberty to divulge the names of our patrons. But most of them belong to The Fellowship.\"");
say();
UI_remove_answer("citizens");
UI_add_answer(["patrons", "Fellowship"]);
labelFunc041B_0211:
case "patrons" atend labelFunc041B_0224:
message("\"These are people who contribute to our theatre. They come from all walks of life and have little in common besides a love of fine theatre.\"");
say();
UI_remove_answer("patrons");
labelFunc041B_0224:
case "Fellowship" atend labelFunc041B_023B:
message("\"For non-artists, they have given generous contributions to the theatre. They are -fine- people in my book!\" He rubs his hands with glee.");
say();
message("\"I am not a member, though.\"");
say();
UI_remove_answer("Fellowship");
labelFunc041B_023B:
case "bye" atend labelFunc041B_0246:
goto labelFunc041B_0249;
labelFunc041B_0246:
goto labelFunc041B_006D;
labelFunc041B_0249:
break;
message("\"Leaving? Sorry, I do not give autographs.\"*");
say();
labelFunc041B_024E:
if (!(event == 0x0000)) goto labelFunc041B_02D5;
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFE5));
var0008 = UI_die_roll(0x0001, 0x0004);
if (!(var0001 == 0x0007)) goto labelFunc041B_02CF;
if (!(var0008 == 0x0001)) goto labelFunc041B_0292;
var0009 = "@Louder! I can't hear thee!@";
labelFunc041B_0292:
if (!(var0008 == 0x0002)) goto labelFunc041B_02A2;
var0009 = "@Move stage right, please.@";
labelFunc041B_02A2:
if (!(var0008 == 0x0003)) goto labelFunc041B_02B2;
var0009 = "@Try that scene again.@";
labelFunc041B_02B2:
if (!(var0008 == 0x0004)) goto labelFunc041B_02C2;
var0009 = "@From the top, please.@";
labelFunc041B_02C2:
UI_item_say(0xFFE5, var0009);
goto labelFunc041B_02D5;
labelFunc041B_02CF:
Func092E(0xFFE5);
labelFunc041B_02D5:
return;
}
// externs
extern void Func092E 0x92E (var var0000);
void Func041C object#(0x41C) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc041C_0159;
var0000 = UI_is_pc_female();
if (!var0000) goto labelFunc041C_0022;
UI_show_npc_face(0xFFE4, 0x0001);
goto labelFunc041C_002C;
labelFunc041C_0022:
UI_show_npc_face(0xFFE4, 0x0000);
labelFunc041C_002C:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x009D])) goto labelFunc041C_0058;
message("This is a tall, skinny actor with knobby knees.");
say();
if (!var0000) goto labelFunc041C_0051;
message("He wears a woman's wig and is dressed in drag.");
say();
labelFunc041C_0051:
gflags[0x009D] = true;
goto labelFunc041C_0077;
labelFunc041C_0058:
if (!var0000) goto labelFunc041C_0067;
var0001 = " he says in falsetto.";
goto labelFunc041C_006D;
labelFunc041C_0067:
var0001 = "";
labelFunc041C_006D:
message("Jesse clears his throat. \"Hello again!\"");
message(var0001);
message("");
say();
labelFunc041C_0077:
converse (0) atend labelFunc041C_0154;
case "name" atend labelFunc041C_00A1:
if (!var0000) goto labelFunc041C_008C;
message("The actor speaks in falsetto.");
say();
labelFunc041C_008C:
message("\"I am Jesse and I am a star.\"");
say();
UI_remove_answer("name");
if (!var0000) goto labelFunc041C_00A1;
message("He slaps his own face and speaks in a normal register, \"Oops, sorry! I am so entrenched in the role that I sometimes forget that I am not a woman!\"");
say();
labelFunc041C_00A1:
case "job" atend labelFunc041C_00BA:
message("\"I work at the Royal Theatre as an actor. I have played -all- the great roles in my career. I now have the chance to play the part of a lifetime -- the Avatar!\"");
say();
UI_add_answer(["Royal Theatre", "Avatar"]);
labelFunc041C_00BA:
case "Royal Theatre" atend labelFunc041C_00DA:
message("\"Because it must cater to the masses, we never have the opportunity to do experimental works -- only the traditional gruel of mediocrity. But 'tis a wonderful space and it has marvelous acoustics.\"");
say();
UI_add_answer(["masses", "experimental works"]);
UI_remove_answer("Royal Theatre");
labelFunc041C_00DA:
case "masses" atend labelFunc041C_00ED:
message("\"People like to see tales of heroic adventures, knights in armour, beautiful princesses, wise kings, wizards, evil monsters. All that rot.\"");
say();
UI_remove_answer("masses");
labelFunc041C_00ED:
case "Avatar" atend labelFunc041C_010D:
message("\"The role is very challenging. I have a plethora of lines and I had to work with a trainer for weeks to prepare for the enormous amount of activity required. This role will make 'Jesse' a household name!\"");
say();
UI_add_answer(["challenging", "lines"]);
UI_remove_answer("Avatar");
labelFunc041C_010D:
case "challenging" atend labelFunc041C_0120:
message("\"It is easily the most ambitious theatrical production ever conceived. There is over a hundred hours of play time. That is a long time for an audience.\"");
say();
UI_remove_answer("challenging");
labelFunc041C_0120:
case "lines" atend labelFunc041C_0133:
message("\"My biggest lines are:~~\"Name!\"~~\"Job!\"~~\"Bye!\"");
say();
UI_remove_answer("lines");
labelFunc041C_0133:
case "experimental works" atend labelFunc041C_0146:
message("\"My favorite piece is something Raymundo wrote for me entitled 'Three on a Codpiece'. I stand on stage and invite the audience to join me in tearing an undergarment into tiny pieces, after which they are placed in funeral urns and mixed with wheat paste. The pieces of cloth, not the audience members. Then the audience may glue the pieces anywhere on my body that they wish.\"");
say();
UI_remove_answer("experimental works");
labelFunc041C_0146:
case "bye" atend labelFunc041C_0151:
goto labelFunc041C_0154;
labelFunc041C_0151:
goto labelFunc041C_0077;
labelFunc041C_0154:
break;
message("\"Goodbye. Be sure to come to the show when it opens!\"*");
say();
labelFunc041C_0159:
if (!(event == 0x0000)) goto labelFunc041C_01E0;
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFE4));
var0004 = UI_die_roll(0x0001, 0x0004);
if (!(var0003 == 0x001D)) goto labelFunc041C_01DA;
if (!(var0004 == 0x0001)) goto labelFunc041C_019D;
var0005 = "@Name!@";
labelFunc041C_019D:
if (!(var0004 == 0x0002)) goto labelFunc041C_01AD;
var0005 = "@Job!@";
labelFunc041C_01AD:
if (!(var0004 == 0x0003)) goto labelFunc041C_01BD;
var0005 = "@Yes! Er, I mean No!@";
labelFunc041C_01BD:
if (!(var0004 == 0x0004)) goto labelFunc041C_01CD;
var0005 = "@Bye!@";
labelFunc041C_01CD:
UI_item_say(0xFFE4, var0005);
goto labelFunc041C_01E0;
labelFunc041C_01DA:
Func092E(0xFFE4);
labelFunc041C_01E0:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func041D object#(0x41D) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc041D_0154;
UI_show_npc_face(0xFFE3, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x009E])) goto labelFunc041D_0034;
message("This actor has much stage presence and a booming voice.");
say();
gflags[0x009E] = true;
goto labelFunc041D_0038;
labelFunc041D_0034:
message("Stuart looks down his nose at you. \"Yes?\"");
say();
labelFunc041D_0038:
converse (0) atend labelFunc041D_014F;
case "name" atend labelFunc041D_0055:
message("\"My real name is Stuart. My stage name is Laurence.\"");
say();
UI_remove_answer("name");
UI_add_answer("Laurence");
labelFunc041D_0055:
case "job" atend labelFunc041D_0068:
message("\"I am the greatest actor who ever lived,\" he proclaims with absolutely no modesty. \"I am playing the character 'Iolo' in the new play.\"");
say();
UI_add_answer("Iolo");
labelFunc041D_0068:
case "Laurence" atend labelFunc041D_007B:
message("\"'Tis the name of a particular hero of mine.\"");
say();
UI_remove_answer("Laurence");
labelFunc041D_007B:
case "Iolo" atend labelFunc041D_0101:
message("Stuart's feathers are obviously ruffled. \"Yes. I have been cast as second banana yet again! I am much more suited to play the Avatar, but did Raymundo cast me? Noooo!\"");
say();
var0000 = Func08F7(0xFFFF);
if (!var0000) goto labelFunc041D_00ED;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"But thou art nothing like me!\"*");
say();
UI_show_npc_face(0xFFE3, 0x0000);
message("\"And who art thou, pray tell?\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Why, I am the -real- Iolo!\"*");
say();
UI_show_npc_face(0xFFE3, 0x0000);
message("\"Of course thou art. And I am really Lord British. Thou must take me for an ass to think I would believe that.\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("Your friend whispers to you. \"These actor types. A touchy bunch, eh?\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFE3, 0x0000);
labelFunc041D_00ED:
UI_add_answer(["Raymundo", "Avatar"]);
UI_remove_answer("Iolo");
labelFunc041D_0101:
case "Raymundo" atend labelFunc041D_0114:
message("\"I suppose he's a good director. He never casts me in the right roles, though. And to think I went to school with him! We were on our first stage crew together!\"");
say();
UI_remove_answer("Raymundo");
labelFunc041D_0114:
case "Avatar" atend labelFunc041D_012E:
message("Stuart whispers to you, \"Jesse is all wrong! Why, -thou- wouldst make a better Avatar than he! And -thou- probably couldst not act thy way out of a reagent bag! That is not a reflection on thee, but on Jesse.\"");
say();
UI_add_answer("act");
UI_remove_answer("Avatar");
labelFunc041D_012E:
case "act" atend labelFunc041D_0141:
message("\"Acting is the highest form of art. It allows one to step outside oneself and become another person. 'Tis like a game!\"");
say();
UI_remove_answer("act");
labelFunc041D_0141:
case "bye" atend labelFunc041D_014C:
goto labelFunc041D_014F;
labelFunc041D_014C:
goto labelFunc041D_0038;
labelFunc041D_014F:
break;
message("\"Goodbye. Be sure to come to the show when it opens!\"*");
say();
labelFunc041D_0154:
if (!(event == 0x0000)) goto labelFunc041D_01DB;
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFE3));
var0003 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x001D)) goto labelFunc041D_01D5;
if (!(var0003 == 0x0001)) goto labelFunc041D_0198;
var0004 = "@I am Iolo, my liege!@";
labelFunc041D_0198:
if (!(var0003 == 0x0002)) goto labelFunc041D_01A8;
var0004 = "@I hear something to the east!@";
labelFunc041D_01A8:
if (!(var0003 == 0x0003)) goto labelFunc041D_01B8;
var0004 = "@This is Dungeon Despise!@";
labelFunc041D_01B8:
if (!(var0003 == 0x0004)) goto labelFunc041D_01C8;
var0004 = "@Ready the bow to use it!@";
labelFunc041D_01C8:
UI_item_say(0xFFE3, var0004);
goto labelFunc041D_01DB;
labelFunc041D_01D5:
Func092E(0xFFE3);
labelFunc041D_01DB:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func041E object#(0x41E) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc041E_0191;
UI_show_npc_face(0xFFE2, 0x0000);
var0000 = UI_part_of_day();
UI_add_answer(["name", "job", "bye"]);
var0001 = Func08F7(0xFFFD);
if (!(gflags[0x006B] || var0001)) goto labelFunc041E_0043;
UI_add_answer("Shamino");
labelFunc041E_0043:
if (!(!gflags[0x009F])) goto labelFunc041E_0055;
message("This lovely actress is dressed in a mouse costume.");
say();
gflags[0x009F] = true;
goto labelFunc041E_0059;
labelFunc041E_0055:
message("\"Hello, there!\" Amber says.");
say();
labelFunc041E_0059:
converse (0) atend labelFunc041E_018C;
case "name" atend labelFunc041E_006F:
message("\"I am Amber.\"");
say();
UI_remove_answer("name");
labelFunc041E_006F:
case "job" atend labelFunc041E_008B:
message("\"I am an actress at the Royal Theatre. I am playing the role of Sherry the Mouse in the new play.\"");
say();
UI_add_answer(["Royal Theatre", "Sherry", "play"]);
labelFunc041E_008B:
case "Royal Theatre" atend labelFunc041E_00AB:
message("\"'Tis a lovely space in which to perform. I have dedicated my life to acting, thou knowest.\"");
say();
UI_remove_answer("Royal Theatre");
UI_add_answer(["space", "dedicated"]);
labelFunc041E_00AB:
case "space" atend labelFunc041E_00BE:
message("\"Raymundo himself had a hand in the design of the theatre.\"");
say();
UI_remove_answer("space");
labelFunc041E_00BE:
case "dedicated" atend labelFunc041E_00D1:
message("\"Actually, this will be my debut theatrical performance. I have been working as a barmaid waiting for my first chance to be in the theatre.\"");
say();
UI_remove_answer("dedicated");
labelFunc041E_00D1:
case "play" atend labelFunc041E_00E4:
message("\"Between thee and me, methinks the play stinks.\" She winks at you.");
say();
UI_remove_answer("play");
labelFunc041E_00E4:
case "Sherry" atend labelFunc041E_0104:
message("\"Canst thou imagine such drivel? I do not believe there ever was a Sherry the Mouse. Who ever heard of a mouse that could talk! Especially these lines! I would rather play a queen. Much more fitting for me, I would say.\"");
say();
UI_remove_answer("Sherry");
UI_add_answer(["lines", "queen"]);
labelFunc041E_0104:
case "lines" atend labelFunc041E_0117:
message("\"I have to memorize this preposterous children's story called 'Hubert's Hair-Raising Adventure'.");
say();
UI_remove_answer("lines");
labelFunc041E_0117:
case "queen" atend labelFunc041E_012A:
message("\"I asked Raymundo about this and he threw a tantrum. He said that it would not be historically accurate. Ha! As if that were something of any significance!\"");
say();
UI_remove_answer("queen");
labelFunc041E_012A:
case "Shamino" atend labelFunc041E_017E:
var0001 = Func08F7(0xFFFD);
if (!var0001) goto labelFunc041E_016B;
message("\"Poo Poo Head!\" she cries. She then rushes to him and kisses him full on the mouth. Shamino turns red and shuffles his feet.*");
say();
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Not in front of the Avatar, Poo!\"*");
say();
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFE2, 0x0000);
message("\"To blazes with the Avatar!\" She kisses him again. \"The Avatar is the last one who will convince thee to settle down.\"");
say();
goto labelFunc041E_016F;
labelFunc041E_016B:
message("\"Dost thou know my beau? He is probably drowning his sorrows at the Blue Boar. The lazy knave! I will not let him go about adventuring. It is time for him to settle down. Thou canst tell him I said so!\"");
say();
labelFunc041E_016F:
gflags[0x006D] = true;
gflags[0x006E] = true;
UI_remove_answer("Shamino");
labelFunc041E_017E:
case "bye" atend labelFunc041E_0189:
goto labelFunc041E_018C;
labelFunc041E_0189:
goto labelFunc041E_0059;
labelFunc041E_018C:
break;
message("\"Adieu!\"*");
say();
labelFunc041E_0191:
if (!(event == 0x0000)) goto labelFunc041E_0211;
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFE2));
var0003 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x001D)) goto labelFunc041E_020B;
if (!(var0003 == 0x0001)) goto labelFunc041E_01CE;
var0004 = "@Hubert the Lion was...@";
labelFunc041E_01CE:
if (!(var0003 == 0x0002)) goto labelFunc041E_01DE;
var0004 = "@Why do I say that?@";
labelFunc041E_01DE:
if (!(var0003 == 0x0003)) goto labelFunc041E_01EE;
var0004 = "@My costume is too big.@";
labelFunc041E_01EE:
if (!(var0003 == 0x0004)) goto labelFunc041E_01FE;
var0004 = "@I -hate- my lines!@";
labelFunc041E_01FE:
UI_item_say(0xFFE2, var0004);
goto labelFunc041E_0211;
labelFunc041E_020B:
Func092E(0xFFE2);
labelFunc041E_0211:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
void Func041F object#(0x41F) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc041F_013F;
UI_show_npc_face(0xFFE1, 0x0000);
var0000 = Func08F7(0xFFDE);
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A0])) goto labelFunc041F_003D;
message("This is a cute toddler holding a baby doll.");
say();
gflags[0x00A0] = true;
goto labelFunc041F_0041;
labelFunc041F_003D:
message("\"Hi!\" Kristy exclaims.");
say();
labelFunc041F_0041:
converse (0) atend labelFunc041F_013A;
case "name" atend labelFunc041F_007C:
message("\"Kwisty.\"");
say();
if (!var0000) goto labelFunc041F_0075;
UI_show_npc_face(0xFFDE, 0x0000);
message("\"Kristy, like Nicholas, is one of our orphans. She was found in an abandoned home in Paws by one of the Great Council members.\"");
say();
UI_remove_npc_face(0xFFDE);
UI_show_npc_face(0xFFE1, 0x0000);
labelFunc041F_0075:
UI_remove_answer("name");
labelFunc041F_007C:
case "job" atend labelFunc041F_00BB:
var0001 = UI_get_schedule_type(0xFFE1);
if (!(var0001 == 0x0019)) goto labelFunc041F_00A4;
message("\"Tag! Playing tag!\"");
say();
message("The toddler runs off in search of a nursery-mate.*");
say();
abort;
goto labelFunc041F_00BB;
labelFunc041F_00A4:
message("Kristy looks confused. \"Sing. Horsey. Rosa. Winner.\"");
say();
UI_add_answer(["sing", "horsey", "Rosa", "winner"]);
labelFunc041F_00BB:
case "sing" atend labelFunc041F_00CE:
message("Kristy is more than happy to do so. \"A-B-C-D-E-F-G! H-I-K-M-M-M-O-P! Q-T-W-Y-X-Z!\" She is proud of her song, although she didn't get it quite right.");
say();
UI_remove_answer("sing");
labelFunc041F_00CE:
case "horsey" atend labelFunc041F_00E1:
message("\"I love horsey!\" She rocks hard on the rocking horse.");
say();
UI_remove_answer("horsey");
labelFunc041F_00E1:
case "Rosa" atend labelFunc041F_00F4:
message("Kristy hugs her baby doll tight. \"Rosa!\"");
say();
UI_remove_answer("Rosa");
labelFunc041F_00F4:
case "winner" atend labelFunc041F_012C:
message("\"I am winner!\" she proclaims loudly.");
say();
if (!var0000) goto labelFunc041F_0125;
UI_show_npc_face(0xFFDE, 0x0000);
message("\"She keeps saying that. I am not sure what it means. Something to do with a competition.\"");
say();
UI_remove_npc_face(0xFFDE);
UI_show_npc_face(0xFFE1, 0x0000);
labelFunc041F_0125:
UI_remove_answer("winner");
labelFunc041F_012C:
case "bye" atend labelFunc041F_0137:
goto labelFunc041F_013A;
labelFunc041F_0137:
goto labelFunc041F_0041;
labelFunc041F_013A:
break;
message("\"Bye bye!\"*");
say();
labelFunc041F_013F:
if (!(event == 0x0000)) goto labelFunc041F_01B6;
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFE1));
if (!(var0001 == 0x0019)) goto labelFunc041F_01B6;
var0002 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0001)) goto labelFunc041F_017C;
var0003 = "@Tag! Thou art it!@";
labelFunc041F_017C:
if (!(var0002 == 0x0002)) goto labelFunc041F_018C;
var0003 = "@Cannot catch me!@";
labelFunc041F_018C:
if (!(var0002 == 0x0003)) goto labelFunc041F_019C;
var0003 = "@Nyah nyah! Thou art it!@";
labelFunc041F_019C:
if (!(var0002 == 0x0004)) goto labelFunc041F_01AC;
var0003 = "@Catch me if thou can!@";
labelFunc041F_01AC:
UI_item_say(0xFFE1, var0003);
labelFunc041F_01B6:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
void Func0420 object#(0x420) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc0420_0108;
UI_show_npc_face(0xFFE0, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A1])) goto labelFunc0420_0034;
message("This toddler is full of energy and is playing hard when he sees you. He stops what he is doing.");
say();
gflags[0x00A1] = true;
goto labelFunc0420_0038;
labelFunc0420_0034:
message("\"Hi!\" Max grins at you.");
say();
labelFunc0420_0038:
converse (0) atend labelFunc0420_0103;
case "name" atend labelFunc0420_007C:
message("\"Makth.\"");
say();
var0000 = Func08F7(0xFFDE);
if (!var0000) goto labelFunc0420_0075;
UI_show_npc_face(0xFFDE, 0x0000);
message("\"He says his name is Max.\"");
say();
UI_remove_npc_face(0xFFDE);
UI_show_npc_face(0xFFE0, 0x0000);
labelFunc0420_0075:
UI_remove_answer("name");
labelFunc0420_007C:
case "job" atend labelFunc0420_00B5:
var0001 = UI_get_schedule_type(0xFFE0);
if (!(var0001 == 0x0019)) goto labelFunc0420_00A4;
message("\"Playing tag!\"");
say();
message("The boy runs away from you to catch another child.*");
say();
abort;
goto labelFunc0420_00B5;
labelFunc0420_00A4:
message("\"I'm a funny boy!\" Max laughs hysterically. \"Makth sing too!\"");
say();
UI_add_answer(["funny boy", "sing"]);
labelFunc0420_00B5:
case "funny boy" atend labelFunc0420_00CF:
message("\"Thou funny boy, -too-!\" Max laughs madly as he throws his pacifier at you. He points at it and says, \"Binky!\"");
say();
UI_add_answer("Binky");
UI_remove_answer("funny boy");
labelFunc0420_00CF:
case "Binky" atend labelFunc0420_00E2:
message("Max nods furiously. \"Binky! Get Binky! Get Binky!\" ~~You realize that the boy wants you to pick it up. Apparently it is some kind of game that only toddlers understand. You pick it up and hand it to him. He immediately plugs it into his mouth.");
say();
UI_remove_answer("Binky");
labelFunc0420_00E2:
case "sing" atend labelFunc0420_00F5:
message("Max stands upright and bellows, \"Old Lord British had a farm, -e-i-e-i-o-! On this farm he had a drake, -e-i-e-i-o-! With a -roar- -roar- here, a -roar- -roar- there, here a -roar-, there a -roar-, everywhere a -roar- -roar-! Old Lord British had a farm, -e-i-e-i-o-!\"");
say();
UI_remove_answer("sing");
labelFunc0420_00F5:
case "bye" atend labelFunc0420_0100:
goto labelFunc0420_0103;
labelFunc0420_0100:
goto labelFunc0420_0038;
labelFunc0420_0103:
break;
message("\"Bye bye!\"*");
say();
labelFunc0420_0108:
if (!(event == 0x0000)) goto labelFunc0420_017F;
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFE0));
if (!(var0001 == 0x0019)) goto labelFunc0420_017F;
var0002 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0001)) goto labelFunc0420_0145;
var0003 = "@Tag! Thou art it!@";
labelFunc0420_0145:
if (!(var0002 == 0x0002)) goto labelFunc0420_0155;
var0003 = "@Cannot catch me!@";
labelFunc0420_0155:
if (!(var0002 == 0x0003)) goto labelFunc0420_0165;
var0003 = "@Nyah nyah! Thou art it!@";
labelFunc0420_0165:
if (!(var0002 == 0x0004)) goto labelFunc0420_0175;
var0003 = "@Catch me if thou can!@";
labelFunc0420_0175:
UI_item_say(0xFFE0, var0003);
labelFunc0420_017F:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
void Func0421 object#(0x421) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc0421_016E;
UI_show_npc_face(0xFFDF, 0x0000);
var0000 = Func08F7(0xFFDE);
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A2])) goto labelFunc0421_003D;
message("You see a child that has recently grown into toddlerhood.");
say();
gflags[0x00A2] = true;
goto labelFunc0421_0041;
labelFunc0421_003D:
message("\"Whee! Yoooo!\" intones Nicholas.");
say();
labelFunc0421_0041:
converse (0) atend labelFunc0421_0169;
case "name" atend labelFunc0421_007F:
if (!var0000) goto labelFunc0421_0074;
UI_show_npc_face(0xFFDE, 0x0000);
message("\"His name is Nicholas.\"");
say();
UI_remove_npc_face(0xFFDE);
UI_show_npc_face(0xFFDF, 0x0000);
goto labelFunc0421_0078;
labelFunc0421_0074:
message("\"Nick-las\".");
say();
labelFunc0421_0078:
UI_remove_answer("name");
labelFunc0421_007F:
case "job" atend labelFunc0421_00F8:
var0001 = UI_get_schedule_type(0xFFDF);
if (!(var0001 == 0x0019)) goto labelFunc0421_00A3;
message("The toddler is obviously deeply engaged in a game of tag and will not stop to speak.*");
say();
abort;
goto labelFunc0421_00F8;
labelFunc0421_00A3:
if (!var0000) goto labelFunc0421_00E7;
UI_show_npc_face(0xFFDE, 0x0000);
message("\"Why, his job is to wet his diaper! Is that not right, Nicholas?\" Nanna says in baby-talk.");
say();
UI_show_npc_face(0xFFDF, 0x0000);
message("\"Whee! Dia-per!\"");
say();
UI_show_npc_face(0xFFDE, 0x0000);
message("\"Nicholas is one of our orphans. He was left in front of the castle one morning. 'Tis a sad state of affairs when this kind of thing happens.\"");
say();
UI_remove_npc_face(0xFFDE);
UI_show_npc_face(0xFFDF, 0x0000);
goto labelFunc0421_00EB;
labelFunc0421_00E7:
message("\"Whee! Dia-per!\"");
say();
labelFunc0421_00EB:
UI_add_answer(["wet", "diaper"]);
labelFunc0421_00F8:
case "wet" atend labelFunc0421_012A:
message("You notice that Nicholas' diaper is wet.");
say();
if (!var0000) goto labelFunc0421_011F;
UI_show_npc_face(0xFFDE, 0x0000);
message("\"Oh, my. He's wet, is he not? Couldst thou be a dear and change him for me? I would appreciate it!\"");
say();
UI_remove_npc_face(0xFFDE);
labelFunc0421_011F:
message("\"Yeeee! Dia-per! Geeee!\" Nicholas says happily.");
say();
UI_remove_answer("wet");
labelFunc0421_012A:
case "diaper" atend labelFunc0421_015B:
if (!var0000) goto labelFunc0421_0150;
UI_show_npc_face(0xFFDE, 0x0000);
message("\"The diapers are there on that table. If thou wouldst just use one on Nicholas....\"");
say();
UI_remove_npc_face(0xFFDE);
goto labelFunc0421_0154;
labelFunc0421_0150:
message("Nicholas points to the diapers on the table.");
say();
labelFunc0421_0154:
UI_remove_answer("diaper");
labelFunc0421_015B:
case "bye" atend labelFunc0421_0166:
goto labelFunc0421_0169;
labelFunc0421_0166:
goto labelFunc0421_0041;
labelFunc0421_0169:
break;
message("\"Bye bye!\"*");
say();
labelFunc0421_016E:
if (!(event == 0x0000)) goto labelFunc0421_01E5;
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFDF));
if (!(var0001 == 0x0019)) goto labelFunc0421_01E5;
var0002 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0001)) goto labelFunc0421_01AB;
var0003 = "@Tag! Thou it!@";
labelFunc0421_01AB:
if (!(var0002 == 0x0002)) goto labelFunc0421_01BB;
var0003 = "@Catch me! Catch me!@";
labelFunc0421_01BB:
if (!(var0002 == 0x0003)) goto labelFunc0421_01CB;
var0003 = "@Nyah nyah!@";
labelFunc0421_01CB:
if (!(var0002 == 0x0004)) goto labelFunc0421_01DB;
var0003 = "@Tag! Whee!@";
labelFunc0421_01DB:
UI_item_say(0xFFDF, var0003);
labelFunc0421_01E5:
return;
}
// externs
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func08F7 0x8F7 (var var0000);
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func092E 0x92E (var var0000);
void Func0422 object#(0x422) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!(event == 0x0001)) goto labelFunc0422_0271;
UI_show_npc_face(0xFFDE, 0x0000);
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFDE));
var0002 = UI_wearing_fellowship();
if (!(var0000 == 0x0007)) goto labelFunc0422_0067;
var0003 = Func08FC(0xFFDE, 0xFFE6);
if (!var0003) goto labelFunc0422_0052;
message("Nanna gives you a stern look for bothering her during The Fellowship meeting, much like the look of an elementary school teacher you once had.*");
say();
abort;
goto labelFunc0422_0067;
labelFunc0422_0052:
if (!gflags[0x00DA]) goto labelFunc0422_0062;
message("\"I cannot imagine where Batlin may be. He has never missed a Fellowship meeting!\"");
say();
goto labelFunc0422_0067;
goto labelFunc0422_0067;
labelFunc0422_0062:
message("\"Oh! Hello! I must not stop to speak now. I am on my way to The Fellowship meeting!\"*");
say();
abort;
labelFunc0422_0067:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A3])) goto labelFunc0422_0089;
message("You see a working-class elderly woman who exudes sweetness.");
say();
gflags[0x00A3] = true;
goto labelFunc0422_008D;
labelFunc0422_0089:
message("\"Yes, may I help thee?\" Nanna asks.");
say();
labelFunc0422_008D:
converse (0) atend labelFunc0422_026C;
case "name" atend labelFunc0422_00A3:
message("\"Oh, everyone simply calls me 'Nanna'.\"");
say();
UI_remove_answer("name");
labelFunc0422_00A3:
case "job" atend labelFunc0422_00BF:
message("\"I watch over the Royal Nursery. I am the nanny of these wonderful children.\"");
say();
UI_add_answer(["Royal Nursery", "nanny", "children"]);
labelFunc0422_00BF:
case "Royal Nursery" atend labelFunc0422_013C:
message("\"There have been a great number of babies born in Britannia in recent years, so Lord British established this nursery. It is nice that the noblemen and noblewomen have this luxury so that they may attend to their daily duties.\"");
say();
UI_remove_answer("Royal Nursery");
UI_add_answer("luxury");
var0004 = Func08F7(0xFFFE);
if (!(var0001 == 0x0007)) goto labelFunc0422_0135;
if (!var0004) goto labelFunc0422_0107;
UI_show_npc_face(0xFFFE, 0x0000);
message("\"Whew! Dost thou smell what I smell, Avatar?\"*");
say();
UI_remove_npc_face(0xFFFE);
labelFunc0422_0107:
var0005 = Func08F7(0xFFFF);
if (!var0005) goto labelFunc0422_012B;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"I believe that is the smell of diapers, boy. When thou art a father one day, thou wilt come to know that smell quite well.\"*");
say();
UI_remove_npc_face(0xFFFF);
labelFunc0422_012B:
UI_show_npc_face(0xFFDE, 0x0000);
labelFunc0422_0135:
UI_remove_answer("Royal Nursery");
labelFunc0422_013C:
case "nanny" atend labelFunc0422_015C:
message("\"Well, I feed them and change their diapers and read aloud all the books thou dost see lying around. Luckily, I have Sherry to help me.\"");
say();
UI_remove_answer("nanny");
UI_add_answer(["books", "Sherry"]);
labelFunc0422_015C:
case "books" atend labelFunc0422_016F:
message("\"Lord British brought them from his homeland. They are very foreign to us here in Britannia, but the children enjoy them just the same.\"");
say();
UI_remove_answer("books");
labelFunc0422_016F:
case "Sherry" atend labelFunc0422_0182:
message("\"Sherry is a special mouse who has lived here in the castle for many, many years. She recites stories for the children.\"");
say();
UI_remove_answer("Sherry");
labelFunc0422_0182:
case "children" atend labelFunc0422_01B8:
message("\"They are lovely, are they not? Every day they seem to learn more and more. Most of the time they are a joy.\" Nanna whispers to you conspiratorially, \"And other times I could happily throw them out with the bathwater!\"");
say();
var0006 = UI_get_schedule_type(UI_get_npc_object(0xFFE0));
if (!(var0006 == 0x0019)) goto labelFunc0422_01B1;
message("\"The children must be outside playing with Sherry now.\"");
say();
UI_add_answer("Sherry");
labelFunc0422_01B1:
UI_remove_answer("children");
labelFunc0422_01B8:
case "luxury" atend labelFunc0422_01D2:
message("\"Yes, I suppose it really is a luxury. The poorer people in Britannia certainly do not have such a service for caring for their children. The rich do have an advantage.\" You detect a hint of bitterness in her voice.");
say();
UI_remove_answer("luxury");
UI_add_answer("advantage");
labelFunc0422_01D2:
case "advantage" atend labelFunc0422_01F2:
message("\"I do not mean to complain by any means. I adore my work. But contrary to the thinking of many of the noblemen and women, a class structure exists in Britannia more than ever before. Taxes are unbearable. The rich get richer, and the poor get poorer, as the saying goes.\"");
say();
UI_remove_answer("advantage");
UI_add_answer(["class structure", "taxes"]);
labelFunc0422_01F2:
case "taxes" atend labelFunc0422_0205:
message("\"The Britannian Tax Council drains us all dry. Especially the lower and middle classes.\"");
say();
UI_remove_answer("taxes");
labelFunc0422_0205:
case "class structure" atend labelFunc0422_0229:
message("\"Well, look around! There are rich men who live in opulent castles. And right outside are poor people who live in hovels. Thou dost know how there are winged gargoyles and wingless gargoyles? Well, it seems the human race is getting to be just as divided. There is no unity in the land anymore. It is why I have joined The Fellowship.\"");
say();
UI_remove_answer("class structure");
UI_add_answer(["Fellowship", "philosophy"]);
gflags[0x0082] = true;
labelFunc0422_0229:
case "Fellowship" atend labelFunc0422_023B:
Func0919();
UI_remove_answer("Fellowship");
labelFunc0422_023B:
case "philosophy" atend labelFunc0422_025E:
if (!var0002) goto labelFunc0422_0250;
message("She notices your medallion. \"But thou dost know all that already!");
say();
goto labelFunc0422_0257;
labelFunc0422_0250:
message("\"Thou shouldst really come to a meeting. Thou wouldst learn a lot!\"");
say();
Func091A();
labelFunc0422_0257:
UI_remove_answer("philosophy");
labelFunc0422_025E:
case "bye" atend labelFunc0422_0269:
goto labelFunc0422_026C;
labelFunc0422_0269:
goto labelFunc0422_008D;
labelFunc0422_026C:
break;
message("\"Good day! Do come back and visit again soon!\"*");
say();
labelFunc0422_0271:
if (!(event == 0x0000)) goto labelFunc0422_027F;
Func092E(0xFFDE);
labelFunc0422_027F:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern void Func0870 0x870 (var var0000, var var0001, var var0002);
extern void Func092E 0x92E (var var0000);
void Func0423 object#(0x423) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc0423_01DF;
UI_show_npc_face(0xFFDD, 0x0000);
var0000 = UI_get_schedule_type(UI_get_npc_object(0xFFDD));
UI_add_answer(["name", "job", "services", "bye"]);
if (!(!gflags[0x00A4])) goto labelFunc0423_0049;
message("You see a healer who looks wise and honest.");
say();
message("\"I have been looking forward to thine arrival, Avatar. Word spreads quickly. I am pleased to meet thee!\"");
say();
gflags[0x00A4] = true;
goto labelFunc0423_004D;
labelFunc0423_0049:
message("\"Hello again, Avatar!\" Csil says with a smile.");
say();
labelFunc0423_004D:
converse (0) atend labelFunc0423_01DA;
case "name" atend labelFunc0423_006A:
message("\"I am Csil the Healer, although in a past life I was known as Abrams. I became Csil when I was advanced.\"");
say();
UI_remove_answer("name");
UI_add_answer("advanced");
labelFunc0423_006A:
case "job" atend labelFunc0423_0076:
message("\"I am Britain's healer, and have been for many years. If thou wishest to employ my services, please say so. I shall be only too happy to help.\"");
say();
labelFunc0423_0076:
case "advanced" atend labelFunc0423_0096:
message("\"When my name was Abrams, I lived on the island of New Magincia and did mine apprentice work there. My practice grew, and soon I was travelling by ship to Moonglow to see patients there.\"");
say();
UI_remove_answer("advanced");
UI_add_answer(["patients", "practice"]);
labelFunc0423_0096:
case "patients" atend labelFunc0423_00B0:
message("\"Soon I had patients on three islands. It was then that Lord British received word of my practice.\"");
say();
UI_remove_answer("patients");
UI_add_answer("Lord British");
labelFunc0423_00B0:
case "practice" atend labelFunc0423_012A:
message("\"My practice grew swiftly. I am a modest man, but I do not mind saying that I was a popular healer.\"");
say();
UI_remove_answer("practice");
var0001 = Func08F7(0xFFFD);
if (!var0001) goto labelFunc0423_012A;
UI_show_npc_face(0xFFFD, 0x0000);
message("\"He is probably the best healer in all Britannia. Why, he cured a, er, particular problem I had in no time at all.\"*");
say();
var0002 = Func08F7(0xFFFF);
if (!var0002) goto labelFunc0423_0119;
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Oh? What problem was that?\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFFD, 0x0000);
message("\"Never mind. The whole world does not need to know about it.\"*");
say();
labelFunc0423_0119:
UI_remove_npc_face(0xFFFD);
UI_show_npc_face(0xFFDD, 0x0000);
labelFunc0423_012A:
case "Lord British" atend labelFunc0423_014A:
message("\"Well, Lord British himself was struck down with some sort of malady. He sent for me. I arrived at the castle as soon as I could leave my patients, and I examined the king. It appeared to me that something had infested his blood. I have a theory about it, which I am convinced is correct. Others, however, do not share my view.\"");
say();
UI_remove_answer("Lord British");
UI_add_answer(["theory", "others"]);
labelFunc0423_014A:
case "theory" atend labelFunc0423_0174:
message("\"I believe that most sicknesses are caused by tiny living things. We cannot see these things with the naked eye. However, I am working on developing an instrument which -can- see these creatures. I believe that someday, healing will not depend on magic at all, but on some form of treatment which makes one less vulnerable to these living creatures. Since these animals are biological, I call this theorized treatment 'antibiotics'. What dost thou think, Avatar? Am I on the right track?\"");
say();
UI_remove_answer("theory");
var0003 = Func090A();
if (!var0003) goto labelFunc0423_0170;
message("\"Good. I thought so.\"");
say();
goto labelFunc0423_0174;
labelFunc0423_0170:
message("\"No? Hmmm.\" Csil looks concerned. \"Well, I cannot believe in the archaic tradition of bleeding a person until the sickness has left his body. There must be another way...\"~~Csil looks at his notes, worried that his theory is invalid.");
say();
labelFunc0423_0174:
case "others" atend labelFunc0423_01A5:
message("\"There is a group of people who do not encourage my studies. We do not get along at all. I think they have something against healers which goes beyond simple distrust. Dost thou know whom I mean?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc0423_0193;
message("Csil nods. \"I thought so. The Fellowship is not... quite what they seem.\"");
say();
goto labelFunc0423_0197;
labelFunc0423_0193:
message("\"No?\" Csil lowers his voice. \"The Fellowship.\"");
say();
labelFunc0423_0197:
UI_remove_answer("others");
UI_add_answer("Fellowship");
labelFunc0423_01A5:
case "Fellowship" atend labelFunc0423_01B8:
message("\"They have a doctrine which outlines their beliefs. They believe if one is faced with pain, then he has no choice but to go through it in order to be a 'better person'. I do not agree with this. No one should ever go through needless pain. But... they are entitled to their own opinions.\"");
say();
UI_remove_answer("Fellowship");
labelFunc0423_01B8:
case "services" atend labelFunc0423_01CC:
Func0870(0x0028, 0x001E, 0x01C2);
labelFunc0423_01CC:
case "bye" atend labelFunc0423_01D7:
goto labelFunc0423_01DA;
labelFunc0423_01D7:
goto labelFunc0423_004D;
labelFunc0423_01DA:
break;
message("\"Goodbye, Avatar.\"*");
say();
labelFunc0423_01DF:
if (!(event == 0x0000)) goto labelFunc0423_01ED;
Func092E(0xFFDD);
labelFunc0423_01ED:
return;
}
// externs
extern var Func090A 0x90A ();
extern void Func0950 0x950 (var var0000, var var0001);
extern void Func092E 0x92E (var var0000);
void Func0424 object#(0x424) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0424_0148;
UI_show_npc_face(0xFFDC, 0x0000);
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFDC));
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A5])) goto labelFunc0424_0049;
message("You see a lean, young fighter with a rather dashing flair.");
say();
gflags[0x00A5] = true;
goto labelFunc0424_004D;
labelFunc0424_0049:
message("\"Hello again!\" Zella says.");
say();
labelFunc0424_004D:
converse (0) atend labelFunc0424_0143;
case "name" atend labelFunc0424_0063:
message("\"My name is Zella.\"");
say();
UI_remove_answer("name");
labelFunc0424_0063:
case "job" atend labelFunc0424_007C:
message("\"I am a trainer. I specialize in hand-to-hand combat. After all, a fighter never knows when he might encounter an adversary and suddenly realize he is unarmed. I call it 'boxing'. Boxing is not only a method of fighting -- it is an art.\"");
say();
UI_add_answer(["combat", "train"]);
labelFunc0424_007C:
case "combat" atend labelFunc0424_009C:
message("\"The field of battle contains many arenas. Almost any situation could arise. Every fighter should be knowledgeable and adept at many forms of combat. I have mine own theory of fighting.\"");
say();
UI_remove_answer("combat");
UI_add_answer(["arenas", "theory"]);
labelFunc0424_009C:
case "arenas" atend labelFunc0424_00AF:
message("\"All the various arenas of combat, all the various styles one may learn in fighting with various weapons, are not fighting in its purest form. To truly be a great fighter one must go to the source of all fighting knowledge.\"");
say();
UI_remove_answer("arenas");
labelFunc0424_00AF:
case "theory" atend labelFunc0424_00CF:
message("\"Just as a castle is built from the foundation up, so must a fighter. One cannot simply begin by learning to fight with weapons. Weapons are merely an extension of a person's extremities. A true fighter learns by using those extremities first.\"");
say();
UI_remove_answer("theory");
UI_add_answer(["fighter", "extremities"]);
labelFunc0424_00CF:
case "fighter" atend labelFunc0424_00E2:
message("\"Make no mistake. Fighters are made, not born. All the natural talent in the world will avail thee naught if one does not have the heart and the will to win. Part of that will is the courage to seek out thine own limitations and strive to better them.\"");
say();
UI_remove_answer("fighter");
labelFunc0424_00E2:
case "extremities" atend labelFunc0424_00F5:
message("\"Thine arms. Thy legs. Thy fists. This is what makes 'boxing'.\"");
say();
UI_remove_answer("extremities");
labelFunc0424_00F5:
case "train" atend labelFunc0424_0135:
if (!(var0001 == 0x001D)) goto labelFunc0424_012A;
message("\"My price for training is 45 gold. Is this all right?\"");
say();
if (!Func090A()) goto labelFunc0424_0123;
Func0950([0x0001, 0x0004], 0x002D);
goto labelFunc0424_0127;
labelFunc0424_0123:
message("\"Then mayest thou find more inexpensive training elsewhere.\"");
say();
labelFunc0424_0127:
goto labelFunc0424_0135;
labelFunc0424_012A:
message("\"Be so kind as to return during normal training hours, wouldst thou?\"");
say();
UI_remove_answer("train");
labelFunc0424_0135:
case "bye" atend labelFunc0424_0140:
goto labelFunc0424_0143;
labelFunc0424_0140:
goto labelFunc0424_004D;
labelFunc0424_0143:
break;
message("\"Good day to thee.\"*");
say();
labelFunc0424_0148:
if (!(event == 0x0000)) goto labelFunc0424_0156;
Func092E(0xFFDC);
labelFunc0424_0156:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0909 0x909 ();
extern var Func090B 0x90B (var var0000);
extern var Func08F7 0x8F7 (var var0000);
extern void Func08B7 0x8B7 ();
extern void Func092E 0x92E (var var0000);
void Func0425 object#(0x425) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
if (!(event == 0x0001)) goto labelFunc0425_02BA;
UI_show_npc_face(0xFFDB, 0x0000);
var0000 = Func0908();
var0001 = "Avatar";
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFDB));
var0004 = Func0909();
if (!gflags[0x0083]) goto labelFunc0425_0045;
var0005 = var0000;
labelFunc0425_0045:
if (!gflags[0x0084]) goto labelFunc0425_0051;
var0005 = var0001;
labelFunc0425_0051:
UI_add_answer(["name", "job", "bye"]);
if (!(var0003 == 0x0017)) goto labelFunc0425_007B;
UI_add_answer(["drink", "food", "buy"]);
labelFunc0425_007B:
if (!(!gflags[0x00A6])) goto labelFunc0425_011D;
message("You see an attractive woman in her fifties. She has a warm smile. \"Welcome! Who art thou, stranger?\"");
say();
var0006 = Func090B([var0000, var0001]);
if (!(var0006 == var0000)) goto labelFunc0425_00B3;
message("\"Well, hello, ");
message(var0000);
message(".\"");
say();
gflags[0x0083] = true;
var0005 = var0000;
labelFunc0425_00B3:
if (!(var0006 == var0001)) goto labelFunc0425_0116;
if (!(var0003 == 0x0017)) goto labelFunc0425_0108;
message("\"Whoa! Hey everyone! This here is the Avatar!\"");
say();
message("Everyone in the Blue Boar laughs.");
say();
message("\"And I'd bet thou dost need a drink, right?\"");
say();
gflags[0x0084] = true;
var0007 = Func08F7(0xFFFC);
if (!var0007) goto labelFunc0425_0105;
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Damn! How did she know?\"");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFDB, 0x0000);
labelFunc0425_0105:
goto labelFunc0425_0110;
labelFunc0425_0108:
message("\"Oh, really?\" she says in mock surprise. \"Why, I have always wanted to meet the Avatar!\"");
say();
gflags[0x0084] = true;
labelFunc0425_0110:
var0005 = var0001;
labelFunc0425_0116:
gflags[0x00A6] = true;
goto labelFunc0425_0146;
labelFunc0425_011D:
if (!((var0002 < 0x0001) || (var0002 > 0x0002))) goto labelFunc0425_013C;
message("\"What will it be, ");
message(var0005);
message("?\" Lucy asks.");
say();
goto labelFunc0425_0146;
labelFunc0425_013C:
message("\"What can I do for thee, ");
message(var0005);
message("?\" Lucy asks.");
say();
labelFunc0425_0146:
converse (0) atend labelFunc0425_02B5;
case "name" atend labelFunc0425_015C:
message("\"I'm Lucy!\"");
say();
UI_remove_answer("name");
labelFunc0425_015C:
case "job" atend labelFunc0425_01C0:
message("\"I run The Blue Boar. Oldest tavern in Britannia.\"");
say();
if (!(var0003 == 0x0017)) goto labelFunc0425_01BC;
message("\"If thou dost want anything to eat or drink, just say so!\"");
say();
UI_add_answer("Blue Boar");
var0007 = Func08F7(0xFFFC);
if (!var0007) goto labelFunc0425_01B9;
message("She addresses Dupre. \"How about thou, handsome? Want something to eat?\" She bats her eyelashes.*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"My dear, thou wouldst make any man hungry!\"*");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFDB, 0x0000);
message("\"I like thy friends, ");
message(var0005);
message(".\"");
say();
labelFunc0425_01B9:
goto labelFunc0425_01C0;
labelFunc0425_01BC:
message("\"I shall be happy to serve thee something if thou dost come to the pub during open hours!\"");
say();
labelFunc0425_01C0:
case "Blue Boar" atend labelFunc0425_01E6:
message("\"Smashing place for a revel! It hath been here for ages! I inherited it from my grandfather. I enjoy it because I love to cook. And eat.\" She laughs. \"And drink!\" She laughs again.~~\"But mostly I like it because I meet so many interesting people. Just like thee, ");
message(var0005);
message("!\"");
say();
UI_remove_answer("Blue Boar");
UI_add_answer(["revel", "people"]);
labelFunc0425_01E6:
case "revel" atend labelFunc0425_021D:
message("\"Thou dost look like the kind of person who doth enjoy a fair bit of revelry!");
say();
if (!(!(var0002 == 0x0007))) goto labelFunc0425_020B;
message("\"Come back to the pub in the evening to hear our house band, The Avatars!\"");
say();
UI_add_answer("The Avatars");
goto labelFunc0425_020F;
labelFunc0425_020B:
message("\"Our house band The Avatars is performing in the other room!\"");
say();
labelFunc0425_020F:
UI_remove_answer("revel");
UI_add_answer("revelry");
labelFunc0425_021D:
case "revelry" atend labelFunc0425_0230:
message("Lucy laughs. \"Revelry! Singing! Dancing! Eating! Drinking! All in a time and place where one may stop and enjoy life! I can see it hath been too long since thou hast sampled the simple pleasures of life in Britannia!\"");
say();
UI_remove_answer("revelry");
labelFunc0425_0230:
case "The Avatars" atend labelFunc0425_0249:
message("\"They are a popular local singing group. I am sure thou wilt like them, ");
message(var0005);
message("!\"");
say();
UI_remove_answer("The Avatars");
labelFunc0425_0249:
case "people" atend labelFunc0425_025C:
message("\"Oh, I so enjoy meeting men who like to go out and 'kill' things!\"");
say();
UI_remove_answer("people");
labelFunc0425_025C:
case "food" atend labelFunc0425_0276:
message("\"Everything I serve is delicious. I highly recommend that thou tasteth the Silverleaf dish. Worth every gold piece spent!\"");
say();
UI_remove_answer("food");
UI_add_answer("Silverleaf");
labelFunc0425_0276:
case "drink" atend labelFunc0425_0289:
message("\"I serve Britain's finest ale and wine.\"");
say();
UI_remove_answer("drink");
labelFunc0425_0289:
case "Silverleaf" atend labelFunc0425_029C:
message("\"It's made from the root of a very rare tree. Quite superb, it is!\"");
say();
UI_remove_answer("Silverleaf");
labelFunc0425_029C:
case "buy" atend labelFunc0425_02A7:
Func08B7();
labelFunc0425_02A7:
case "bye" atend labelFunc0425_02B2:
goto labelFunc0425_02B5;
labelFunc0425_02B2:
goto labelFunc0425_0146;
labelFunc0425_02B5:
break;
message("\"Talk to thee later!\"*");
say();
labelFunc0425_02BA:
if (!(event == 0x0000)) goto labelFunc0425_02C8;
Func092E(0xFFDB);
labelFunc0425_02C8:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func0899 0x899 ();
extern void Func092E 0x92E (var var0000);
void Func0426 object#(0x426) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!(event == 0x0001)) goto labelFunc0426_0223;
UI_show_npc_face(0xFFDA, 0x0000);
var0000 = Func0909();
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFDA));
var0003 = UI_wearing_fellowship();
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A7])) goto labelFunc0426_0056;
message("You see a gleeful-looking merchant with an enthusiastic voice and manner.");
say();
gflags[0x00A7] = true;
goto labelFunc0426_0060;
labelFunc0426_0056:
message("\"Why, what can I do for thee, ");
message(var0000);
message("?\" asks Greg.");
say();
labelFunc0426_0060:
converse (0) atend labelFunc0426_0218;
case "name" atend labelFunc0426_0076:
message("\"Why, my name is Greg. It is good to see thee.\"");
say();
UI_remove_answer("name");
labelFunc0426_0076:
case "job" atend labelFunc0426_0092:
message("\"Why, I run the Provisioner's Shop here in Britain. A second home to the intrepid, it is.\"");
say();
UI_add_answer(["Provisioner's Shop", "Britain", "buy"]);
labelFunc0426_0092:
case "Provisioner's Shop" atend labelFunc0426_00AC:
message("\"Why, thou dost look to be a person to whom adventure is no stranger. Whether thou art climbing a mountain, sailing the ocean, crossing a desert, exploring a dungeon or sleeping under the stars I have just what thou mayest need.\"");
say();
UI_remove_answer("Provisioner's Shop");
UI_add_answer("need");
labelFunc0426_00AC:
case "Britain" atend labelFunc0426_00CC:
message("\"I have moved my store here as a service to Lord British, who uses me exclusively to outfit all of his various expeditions. It is true!\"");
say();
UI_remove_answer("Britain");
UI_add_answer(["moved", "Lord British"]);
labelFunc0426_00CC:
case "moved" atend labelFunc0426_00DF:
message("\"I used to have my shop in Paws. But no one in Paws has the money to buy much of anything.\"");
say();
UI_remove_answer("moved");
labelFunc0426_00DF:
case "need" atend labelFunc0426_00FF:
message("\"What every adventurer needs is good luck! There is just something about this shop, about the items bought here, something about me and my shop that is simply very lucky. I can give thee an example of what I mean.\"");
say();
UI_remove_answer("need");
UI_add_answer(["lucky", "example"]);
labelFunc0426_00FF:
case "example" atend labelFunc0426_011F:
message("\"A fighting man named Gorn once bought a shovel from me and he told me that it saved his life.\"");
say();
UI_add_answer(["Gorn", "saved his life"]);
UI_remove_answer("example");
labelFunc0426_011F:
case "Gorn" atend labelFunc0426_0132:
message("\"Perhaps thou knowest of Gorn. He speaks with a most peculiar accent!\"");
say();
UI_remove_answer("Gorn");
labelFunc0426_0132:
case "saved his life" atend labelFunc0426_0145:
message("\"Gorn wanted to dig for some buried treasure somewhere, when he heard some noises behind him. Upon turning, he was horrified to see a swarm of undead skeletons rushing toward him! In his haste to dig up the treasure, he had unbuckled his belt and laid down his sword. The only thing in his hands was the shovel. He immediately began swinging it and ended up knocking all the skeletons to bits! He now considers it his 'lucky shovel'!\"");
say();
UI_remove_answer("saved his life");
labelFunc0426_0145:
case "Lord British" atend labelFunc0426_0196:
message("\"This is Lord British's favorite provisionary shop. He told me so himself. All sorts of famous adventurers pass through these doors. Why, just last week, we had the Avatar himself in this, my very own store!\"");
say();
var0004 = Func0931(0xFE9C, 0x0001, 0x0346, 0xFE99, 0xFE99);
if (!var0004) goto labelFunc0426_0177;
message("\"Why, now that I mention it, he was dressed a lot like thou art. Yes, he was.\"");
say();
UI_add_answer("dressed like Avatar");
labelFunc0426_0177:
if (!var0003) goto labelFunc0426_0188;
message("\"Why, I seem to remember that Avatar was also wearing a Fellowship medallion like the one thou dost possess. Hmmmm. And he nearly robbed me blind. I shall have to keep a careful eye on thee, I will.\"");
say();
UI_add_answer("robbed you blind?");
labelFunc0426_0188:
UI_add_answer("another Avatar?");
UI_remove_answer("Lord British");
labelFunc0426_0196:
case "another Avatar?" atend labelFunc0426_01A9:
message("\"Well, he said he was the Avatar. But then it is not all that unusual encountering some loon or fool who claims to be the Avatar!\" He looks at you and for a moment appears a little embarrassed.");
say();
UI_remove_answer("another Avatar?");
labelFunc0426_01A9:
case "dressed like Avatar" atend labelFunc0426_01BC:
message("\"He was dressed like the Avatar, similarly to how thou art presently attired. At first I thought it was Jesse, the actor who is playing the Avatar in the play by that director... What is his name again?~~\"Oh, well. It was not him.\"");
say();
UI_remove_answer("dressed like Avatar");
labelFunc0426_01BC:
case "robbed you blind?" atend labelFunc0426_01CF:
message("\"Thou wouldst think that one who appears to be like the Avatar would be worthy of trust. But, no. In this day and age there is no telling what to expect!\"");
say();
UI_remove_answer("robbed you blind?");
labelFunc0426_01CF:
case "lucky" atend labelFunc0426_01E2:
message("\"My customers are all people who go out and perform dangerous feats of bravery and derring-do. But most keep returning to buy more provisions time and again. With all the dangerous things my customers do, it is a wonder I have not lost them all and gone out of business!\"");
say();
UI_remove_answer("lucky");
labelFunc0426_01E2:
case "buy" atend labelFunc0426_020A:
if (!(!(var0002 == 0x0007))) goto labelFunc0426_01FC;
message("\"I am dreadfully sorry but the Provisioner's Shop is currently closed. Do return at noon when it shall be open once again.\"");
say();
goto labelFunc0426_0203;
labelFunc0426_01FC:
message("\"As I say, we have everything thou dost need to have a jolly splendid adventure!\"");
say();
Func0899();
labelFunc0426_0203:
UI_remove_answer("buy");
labelFunc0426_020A:
case "bye" atend labelFunc0426_0215:
goto labelFunc0426_0218;
labelFunc0426_0215:
goto labelFunc0426_0060;
labelFunc0426_0218:
break;
message("\"Good day to thee, ");
message(var0000);
message(".\"*");
say();
labelFunc0426_0223:
if (!(event == 0x0000)) goto labelFunc0426_02AA;
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFDA));
var0005 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0007)) goto labelFunc0426_02A4;
if (!(var0005 == 0x0001)) goto labelFunc0426_0267;
var0006 = "@Provisions here!@";
labelFunc0426_0267:
if (!(var0005 == 0x0002)) goto labelFunc0426_0277;
var0006 = "@Step right in!@";
labelFunc0426_0277:
if (!(var0005 == 0x0003)) goto labelFunc0426_0287;
var0006 = "@Thou art welcome!@";
labelFunc0426_0287:
if (!(var0005 == 0x0004)) goto labelFunc0426_0297;
var0006 = "@Fine goods here!@";
labelFunc0426_0297:
UI_item_say(0xFFDA, var0006);
goto labelFunc0426_02AA;
labelFunc0426_02A4:
Func092E(0xFFDA);
labelFunc0426_02AA:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0427 object#(0x427) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0427_0101;
UI_show_npc_face(0xFFD9, 0x0000);
var0000 = UI_part_of_day();
if (!(var0000 == 0x0007)) goto labelFunc0427_003F;
var0001 = Func08F7(0xFFCA);
if (!var0001) goto labelFunc0427_003A;
message("Neno is busy performing with The Avatars and cannot speak at the moment.*");
say();
abort;
goto labelFunc0427_003F;
labelFunc0427_003A:
message("\"I must get to my performance at The Blue Boar! The Avatars are playing tonight!\"*");
say();
abort;
labelFunc0427_003F:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A8])) goto labelFunc0427_0061;
message("You see a handsome and flamboyant musician.");
say();
gflags[0x00A8] = true;
goto labelFunc0427_0065;
labelFunc0427_0061:
message("\"Hello,\" Neno says.");
say();
labelFunc0427_0065:
converse (0) atend labelFunc0427_00FC;
case "name" atend labelFunc0427_007B:
message("The musician nods at you. \"I am Neno.\"");
say();
UI_remove_answer("name");
labelFunc0427_007B:
case "job" atend labelFunc0427_0094:
message("\"I am studying to be the greatest bard that Britannia has ever known. I probably already -am- the greatest bard Britannia has ever known.\" You note that Neno is not at all modest.");
say();
UI_add_answer(["bard", "studying"]);
labelFunc0427_0094:
case "bard" atend labelFunc0427_00AE:
message("\"It is a great honor to be a bard. Thou art someone who gives pleasure to other people, while at the same time fulfilling a creative urge within thyself. It is truly magical. I know this from mine experience playing with The Avatars.\"");
say();
UI_remove_answer("bard");
UI_add_answer("The Avatars");
labelFunc0427_00AE:
case "studying" atend labelFunc0427_00C8:
message("\"The Music Hall provides a great environment for study. Judith is a wonderful teacher, and the opportunities here are of the highest quality. One day I shall travel the world and entertain the common folk and nobles alike.\"");
say();
UI_remove_answer("studying");
UI_add_answer("entertain");
labelFunc0427_00C8:
case "entertain" atend labelFunc0427_00DB:
message("\"It is my dream to be famous throughout the land. I shall tour the country every year, and play in the largest pubs in every town.\" He winks at you. \"I shall be assured of wooing the women, dost thou not think?\"");
say();
UI_remove_answer("entertain");
labelFunc0427_00DB:
case "The Avatars" atend labelFunc0427_00EE:
message("\"'Tis a singing group I play with. We play at The Blue Boar every evening. Please, come listen to us.\" Neno leans in to whisper, \"But I plan to begin performing alone very soon. I am obviously the most talented member of the quartet.\"");
say();
UI_remove_answer("The Avatars");
labelFunc0427_00EE:
case "bye" atend labelFunc0427_00F9:
goto labelFunc0427_00FC;
labelFunc0427_00F9:
goto labelFunc0427_0065;
labelFunc0427_00FC:
break;
message("\"Farewell! Thou must watch the postings for our performance dates!\"*");
say();
labelFunc0427_0101:
if (!(event == 0x0000)) goto labelFunc0427_010F;
Func092E(0xFFD9);
labelFunc0427_010F:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0428 object#(0x428) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0428_0182;
UI_show_npc_face(0xFFD8, 0x0000);
var0000 = UI_part_of_day();
if (!(var0000 == 0x0007)) goto labelFunc0428_003F;
var0001 = Func08F7(0xFFCA);
if (!var0001) goto labelFunc0428_003A;
message("Judith is busy performing with The Avatars and cannot speak at the moment.*");
say();
abort;
goto labelFunc0428_003F;
labelFunc0428_003A:
message("\"I must run! I am late for my performance with The Avatars! I shall talk with thee later!\"*");
say();
abort;
labelFunc0428_003F:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00A9])) goto labelFunc0428_0061;
message("You see an attractive middle-aged woman with music in her eyes.");
say();
gflags[0x00A9] = true;
goto labelFunc0428_0065;
labelFunc0428_0061:
message("\"Hello!\" Judith says.");
say();
labelFunc0428_0065:
converse (0) atend labelFunc0428_017D;
case "name" atend labelFunc0428_007B:
message("\"I am Judith. And I already know who thou art!\"");
say();
UI_remove_answer("name");
labelFunc0428_007B:
case "job" atend labelFunc0428_0097:
message("\"I teach music at The Music Hall. I also fatten my purse a bit by playing with The Avatars!\"");
say();
UI_add_answer(["music", "Music Hall", "The Avatars"]);
labelFunc0428_0097:
case "music" atend labelFunc0428_00B1:
message("\"Music is my life. I know I will never be a famous bard, but I receive great pleasure from playing and performing. I enjoy teaching as well.\"");
say();
UI_remove_answer("music");
UI_add_answer("teaching");
labelFunc0428_00B1:
case "Music Hall" atend labelFunc0428_00C4:
message("\"Lord British appointed me music teacher a couple of years ago. It is a wonderful job!\"");
say();
UI_remove_answer("Music Hall");
labelFunc0428_00C4:
case "The Avatars" atend labelFunc0428_00D7:
message("\"We are a singing group. We play at the Blue Boar every evening. Please come and hear us! My pupil, Neno, is in the group. We hope to tour the country next year, if we can raise the funds.\"");
say();
UI_remove_answer("The Avatars");
labelFunc0428_00D7:
case "teaching" atend labelFunc0428_00F1:
message("\"It fulfills my life's purpose to teach others. It also gives me time away from home.\"");
say();
UI_remove_answer("teaching");
UI_add_answer("home");
labelFunc0428_00F1:
case "home" atend labelFunc0428_010B:
message("\"Oh, I do not want to speak about mine home. Mine husband and I... well, we are not altogether... happy.\"");
say();
UI_remove_answer("home");
UI_add_answer("husband");
labelFunc0428_010B:
case "husband" atend labelFunc0428_0125:
message("\"Thou mightest know him. He is Patterson, the Town Mayor. He is an intelligent and honest man, but we have our differences.~~\"I do not know why I am telling thee all of this!\"");
say();
UI_remove_answer("husband");
UI_add_answer("differences");
labelFunc0428_0125:
case "differences" atend labelFunc0428_0149:
message("\"Well, for one thing, he is a member of that group, The Fellowship. Another thing is that he does not spend too much time at home. I cannot believe he works so much.\"");
say();
gflags[0x0081] = true;
UI_remove_answer("differences");
UI_add_answer(["Fellowship", "works"]);
labelFunc0428_0149:
case "Fellowship" atend labelFunc0428_015C:
message("\"They seem to have taken over our lives. They seem to have taken over our country!\"");
say();
UI_remove_answer("Fellowship");
labelFunc0428_015C:
case "works" atend labelFunc0428_016F:
message("\"He is always saying he has to work late. Some nights he comes home before dawn. Other nights he is out the entire night.~~\"Well, I must not think about it. I only become saddened. I must concentrate on my music.\"");
say();
UI_remove_answer("works");
labelFunc0428_016F:
case "bye" atend labelFunc0428_017A:
goto labelFunc0428_017D;
labelFunc0428_017A:
goto labelFunc0428_0065;
labelFunc0428_017D:
break;
message("Judith goes back to her instrument after a smile and a wave.*");
say();
labelFunc0428_0182:
if (!(event == 0x0000)) goto labelFunc0428_0190;
Func092E(0xFFD8);
labelFunc0428_0190:
return;
}
// externs
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func08F7 0x8F7 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0429 object#(0x429) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0429_023D;
UI_show_npc_face(0xFFD7, 0x0000);
var0000 = UI_get_schedule_type(UI_get_npc_object(0xFFD7));
var0001 = UI_wearing_fellowship();
var0002 = UI_part_of_day();
if (!(var0002 == 0x0007)) goto labelFunc0429_0067;
var0003 = Func08FC(0xFFD7, 0xFFE6);
if (!var0003) goto labelFunc0429_0052;
message("Candice is listening intently to the Fellowship meeting.*");
say();
abort;
goto labelFunc0429_0067;
labelFunc0429_0052:
if (!gflags[0x00DA]) goto labelFunc0429_0062;
message("\"Hast thou seen Batlin? He has not shown up for the Fellowship meeting!\"");
say();
goto labelFunc0429_0067;
goto labelFunc0429_0067;
labelFunc0429_0062:
message("\"Oh! I must not stop to speak with thee! I am late for a Fellowship meeting!\"*");
say();
abort;
labelFunc0429_0067:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00AA])) goto labelFunc0429_008D;
message("This is a bright woman who looks much younger than she actually is.");
say();
message("\"Well! Thy reputation precedes thee! The Avatar in person! Word has spread that thou wert in Britain!\"");
say();
gflags[0x00AA] = true;
goto labelFunc0429_00B9;
labelFunc0429_008D:
if (!(var0002 == 0x0000)) goto labelFunc0429_00B5;
var0004 = Func08F7(0xFFD5);
if (!var0004) goto labelFunc0429_00AE;
message("Candice looks guilty about something. She gives you a little wave, but says nothing. She looks at Patterson, hoping that he will do the talking.*");
say();
abort;
goto labelFunc0429_00B2;
labelFunc0429_00AE:
message("\"Yes, Avatar?\" Candice says.");
say();
labelFunc0429_00B2:
goto labelFunc0429_00B9;
labelFunc0429_00B5:
message("\"Yes, Avatar?\" Candice says.");
say();
labelFunc0429_00B9:
converse (0) atend labelFunc0429_0238;
case "name" atend labelFunc0429_00CF:
message("\"My name is Candice,\" she says brightly. \"I must say I am honored to meet the Avatar!\" She curtsies.");
say();
UI_remove_answer("name");
labelFunc0429_00CF:
case "job" atend labelFunc0429_0104:
message("\"I am the curator of the Royal Museum.");
say();
if (!(var0000 == 0x0007)) goto labelFunc0429_00EC;
message("\"Feel free to ask about any of the exhibits.");
say();
goto labelFunc0429_00F0;
labelFunc0429_00EC:
message("\"I hope to see thee there when the museum is open.");
say();
labelFunc0429_00F0:
message("\"I spend the rest of my time working with The Fellowship.\"");
say();
UI_add_answer(["Royal Museum", "exhibits", "Fellowship"]);
labelFunc0429_0104:
case "Royal Museum" atend labelFunc0429_0124:
message("\"It has been in Britain for many, many years. It contains historical artifacts, as well as works of art.\"");
say();
UI_remove_answer("Royal Museum");
UI_add_answer(["artifacts", "works of art"]);
labelFunc0429_0124:
case "exhibits" atend labelFunc0429_014F:
if (!(var0000 == 0x0007)) goto labelFunc0429_0144;
message("\"We have just opened a special section in which thou might be interested -- an exhibit of 'Avatar artifacts'!\"");
say();
UI_add_answer("Avatar artifacts");
goto labelFunc0429_0148;
labelFunc0429_0144:
message("\"Come to the museum when it is open!\"");
say();
labelFunc0429_0148:
UI_remove_answer("exhibits");
labelFunc0429_014F:
case "artifacts" atend labelFunc0429_0162:
message("\"There are relics from early Britannia and even from the Three Ages of Darkness -- back when Britannia was known as Sosaria.\"");
say();
UI_remove_answer("artifacts");
labelFunc0429_0162:
case "Avatar artifacts" atend labelFunc0429_01A3:
message("\"Well, thou surely must recognize them. They are supposed to be authentic! Things like the Silver Horn and the eight stones. I understand the stones were used for teleportation, and if mages were not so sick in the head these days, they could cast a 'Recall' spell on them to teleport to specific places around Britannia. I believe if one casts a 'Mark' spell on one, thou canst re-assign the teleportation location! But I suppose none of that works anymore.\"");
say();
var0005 = Func08F7(0xFFFF);
if (!var0005) goto labelFunc0429_019C;
UI_show_npc_face(0xFFFF, 0x0000);
message("Iolo whispers to you, \"Er, Avatar, thou dost know that I do not condone stealing. But, er, I do believe these stones may be useful to us. Perhaps we should come back later when the museum is closed, if thou dost know what I mean? After all, these items technically belong to thee!\"");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFD7, 0x0000);
labelFunc0429_019C:
UI_remove_answer("Avatar artifacts");
labelFunc0429_01A3:
case "works of art" atend labelFunc0429_01B6:
message("\"Britannia is proud of the artists who donate their works to the museum. Thou wilt see pieces all over the country by Britannian artists Watson, Richard Fox, Randi Frank, Glen Johnson, and Denis Loubet.\"");
say();
UI_remove_answer("works of art");
labelFunc0429_01B6:
case "Fellowship" atend labelFunc0429_01E8:
if (!(!var0001)) goto labelFunc0429_01CC;
message("\"We meet every evening at the Hall. Thou must come and visit!");
say();
goto labelFunc0429_01D0;
labelFunc0429_01CC:
message("\"Thou must know all about it by now! I hope to see thee at an evening meeting!");
say();
labelFunc0429_01D0:
message("\"The Fellowship has given me a great purpose in life. I have made new friends, and have even found love!\" She giggles. \"Ooops! I gave away my secret! I must not speak of it. Do forget I said that, please?\"");
say();
UI_remove_answer("Fellowship");
UI_add_answer(["purpose", "secret"]);
labelFunc0429_01E8:
case "purpose" atend labelFunc0429_0202:
message("\"I want to attain a higher level of acceptance in The Fellowship. I want to hear the 'voice'. That is mine one true goal.\"");
say();
UI_remove_answer("purpose");
UI_add_answer("voice");
labelFunc0429_0202:
case "voice" atend labelFunc0429_0219:
message("\"Dost thou not know? The longer one is a member of The Fellowship, the greater the chances that one will hear the 'voice'. Supposedly, it is a man's voice that thou wilt hear -- perhaps in thy dreams, perhaps while thou art concentrating on something else -- it is a voice that tells thee things, suggests things. I do not know, really. I have not heard it yet, so I am only speaking of what I have heard from others more fortunate than I.\"");
say();
UI_remove_answer("voice");
gflags[0x008C] = true;
labelFunc0429_0219:
case "secret" atend labelFunc0429_022A:
message("\"What secret? I do -not- have a secret! It was a slip of the tongue. I cannot really speak to anyone about it. Why, if word got out that the Mayor and I... I mean, uhm, -may- I... er, ask thee to forget that I said anything?\"~~Candice turns beet red and turns away.*");
say();
gflags[0x0080] = true;
abort;
labelFunc0429_022A:
case "bye" atend labelFunc0429_0235:
goto labelFunc0429_0238;
labelFunc0429_0235:
goto labelFunc0429_00B9;
labelFunc0429_0238:
break;
message("\"Good day, Avatar.\"*");
say();
labelFunc0429_023D:
if (!(event == 0x0000)) goto labelFunc0429_024B;
Func092E(0xFFD7);
labelFunc0429_024B:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func092E 0x92E (var var0000);
void Func042A object#(0x42A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
if (!(event == 0x0001)) goto labelFunc042A_0302;
UI_show_npc_face(0xFFD6, 0x0000);
var0000 = Func0909();
var0001 = UI_part_of_day();
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x00DC]) goto labelFunc042A_003C;
UI_add_answer("exchange");
labelFunc042A_003C:
if (!gflags[0x00AF]) goto labelFunc042A_0049;
UI_add_answer("James");
labelFunc042A_0049:
if (!(!gflags[0x00AB])) goto labelFunc042A_005B;
message("You see a helpful and efficient-looking woman.");
say();
gflags[0x00AB] = true;
goto labelFunc042A_005F;
labelFunc042A_005B:
message("\"How may I help thee?\" asks Cynthia.");
say();
labelFunc042A_005F:
converse (0) atend labelFunc042A_02F7;
case "name" atend labelFunc042A_0075:
message("\"My name is Cynthia.\"");
say();
UI_remove_answer("name");
labelFunc042A_0075:
case "job" atend labelFunc042A_008E:
message("\"I am the teller at the Mint. I am also a member of the Britannian Tax Council.\"");
say();
UI_add_answer(["Mint", "Britannian Tax Council"]);
labelFunc042A_008E:
case "Mint" atend labelFunc042A_00BD:
message("\"Here at the Mint we store gold, oversee production of coins and keep an accurate count of how much money the kingdom has available for such things as farming, building the roads, developing sources of fresh water, seeing to the health of the citizenry, maintaining the estates of nobles, raising the guard militia and carrying out the decrees of Lord British.\"");
say();
UI_remove_answer("Mint");
UI_add_answer(["money", "farms", "roads", "water", "health", "estates", "guards"]);
labelFunc042A_00BD:
case "Britannian Tax Council" atend labelFunc042A_00F5:
message("\"The Britannian Tax Council is in charge of the accounting, assessment and collection of the taxes. If thou wilt be earning any money here in Britannia thou wilt need to take this paper.\"");
say();
var0002 = UI_add_party_items(0x0001, 0x031D, 0x000C, 0xFE99, true);
if (!var0002) goto labelFunc042A_00EA;
message("\"Fill it out and return it here at the end of the year when thou dost come back to pay thy taxes.\"");
say();
goto labelFunc042A_00EE;
labelFunc042A_00EA:
message("\"Thou art carrying too much. Come back and I will give thee thy paper when thou art not so greatly encumbered.\"");
say();
labelFunc042A_00EE:
UI_remove_answer("Britannian Tax Council");
labelFunc042A_00F5:
case "money" atend labelFunc042A_0119:
message("\"In order to keep the standard of money constant, we also operate as an exchange for those who possess quantities of gold.~~We supply the equivalent value of their gold in spendable coin of the realm and then transform the gold we receive into more money. So, as thou canst see, it is a very efficient system.\"");
say();
gflags[0x00DC] = true;
UI_remove_answer("money");
UI_add_answer(["exchange", "system"]);
labelFunc042A_0119:
case "farms" atend labelFunc042A_012C:
message("\"As I am certain thou dost know, the seven year drought, which thankfully ended several years ago, has left much of the farming in the Kingdom in disarray. That is why the cost of food is so expensive. But without the support of the Royal Treasury, the prices would be even higher.\"");
say();
UI_remove_answer("farms");
labelFunc042A_012C:
case "roads" atend labelFunc042A_013F:
message("\"The increased use of wagons has caused many of the roads throughout Britannia to rapidly deteriorate. It costs a lot of money to build new roads and keep them all repaired.\"");
say();
UI_remove_answer("roads");
labelFunc042A_013F:
case "water" atend labelFunc042A_0152:
message("\"It is of the utmost importance to the Kingdom to insure its populous a clean water supply, and that requires a regular supply of new and fresh wells.\"");
say();
UI_remove_answer("water");
labelFunc042A_0152:
case "health" atend labelFunc042A_0165:
message("\"As Britannia's population has greatly increased in the last two hundred years, so has the risk of infectious diseases, such as the mysterious skin deterioration that afflicts those who partake in the venom of the silver serpent. The number of healers that the Kingdom needs has risen dramatically.\"");
say();
UI_remove_answer("health");
labelFunc042A_0165:
case "estates" atend labelFunc042A_0178:
message("\"The local Lords and Mayors all have residences that are maintained through the auspices of the Kingdom.\"");
say();
UI_remove_answer("estates");
labelFunc042A_0178:
case "guards" atend labelFunc042A_018B:
message("\"The military training is conducted at Serpent's Hold, where the guards that protect all of the towns and cities of Britannia are instructed. 'Tis funded by the Royal Treasury.\"");
say();
UI_remove_answer("guards");
labelFunc042A_018B:
case "system" atend labelFunc042A_019E:
message("\"It not only applies to gold but it also applies to all minerals. We oversee the sale and rate of exchange for precious ores extracted by the Britannian Mining Company. But we do not handle the sale of gems. There is a jeweler in town who handles that.\"");
say();
UI_remove_answer("system");
labelFunc042A_019E:
case "exchange" atend labelFunc042A_02D2:
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFD6));
if (!(var0003 == 0x001E)) goto labelFunc042A_02C7;
message("\"Dost thou have some gold that thou wouldst like to exchange?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc042A_02C0;
var0005 = Func0931(0xFE9B, 0x0001, 0x0285, 0xFE99, 0xFE99);
var0006 = Func0931(0xFE9B, 0x0001, 0x0286, 0xFE99, 0xFE99);
if (!(var0005 || var0006)) goto labelFunc042A_0209;
var0007 = true;
goto labelFunc042A_020D;
labelFunc042A_0209:
var0007 = false;
labelFunc042A_020D:
if (!(!var0007)) goto labelFunc042A_021B;
message("\"I can see thou hast no nuggets or bars of gold. Whatever gold thou mayest possess is already the coin of the realm. I cannot help thee anymore than that.\"");
say();
goto labelFunc042A_02BD;
labelFunc042A_021B:
message("\"We can exchange thy gold nuggets and bars into spendable coin for thee. I will give thee ten gold coins for each gold nugget and one-hundred gold coins for each gold bar.\"");
say();
var0008 = UI_count_objects(0xFE9B, 0x0285, 0xFE99, 0xFE99);
var0009 = UI_count_objects(0xFE9B, 0x0286, 0xFE99, 0xFE99);
var000A = (0x000A * var0008);
var000B = (0x0064 * var0009);
var000C = (var000A + var000B);
var000D = UI_add_party_items(var000C, 0x0284, 0xFE99, 0xFE99, true);
if (!(!var000D)) goto labelFunc042A_0285;
message("\"Oh, my. Thou canst not possibly carry that many gold coins. Thou must return when thou dost have more space in thy pack.\"");
say();
goto labelFunc042A_02BD;
labelFunc042A_0285:
var000E = UI_remove_party_items(var0008, 0x0285, 0xFE99, 0xFE99, true);
var000F = UI_remove_party_items(var0009, 0x0286, 0xFE99, 0xFE99, true);
message("\"And here are ");
message(var000C);
message(" gold coins for thee in return, ");
message(var0000);
message(". I thank thee for thy business.\"");
say();
labelFunc042A_02BD:
goto labelFunc042A_02C4;
labelFunc042A_02C0:
message("\"Very well. Mayhaps another time.\"");
say();
labelFunc042A_02C4:
goto labelFunc042A_02CB;
labelFunc042A_02C7:
message("\"Please come to The Mint during regular daytime hours.\"");
say();
labelFunc042A_02CB:
UI_remove_answer("exchange");
labelFunc042A_02D2:
case "James" atend labelFunc042A_02E9:
message("\"James is mine husband and I am very worried about him. I know he is feeling very unhappy lately and he dislikes his job. If thou dost speak to him please tell him that even though we have not been speaking very much lately, that I am still thinking of him and that I still care about him.\"");
say();
UI_remove_answer("James");
gflags[0x0092] = true;
labelFunc042A_02E9:
case "bye" atend labelFunc042A_02F4:
goto labelFunc042A_02F7;
labelFunc042A_02F4:
goto labelFunc042A_005F;
labelFunc042A_02F7:
break;
message("\"Good day, ");
message(var0000);
message(".\"*");
say();
labelFunc042A_0302:
if (!(event == 0x0000)) goto labelFunc042A_0310;
Func092E(0xFFD6);
labelFunc042A_0310:
return;
}
// externs
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func08F7 0x8F7 (var var0000);
extern void Func0911 0x911 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func042B object#(0x42B) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc042B_02F0;
UI_show_npc_face(0xFFD5, 0x0000);
var0000 = UI_part_of_day();
if (!(var0000 == 0x0007)) goto labelFunc042B_0052;
var0001 = Func08FC(0xFFD5, 0xFFE6);
if (!var0001) goto labelFunc042B_003D;
message("Patterson is concentrating on the Fellowship meeting and does not wish to speak.*");
say();
abort;
goto labelFunc042B_0052;
labelFunc042B_003D:
if (!gflags[0x00DA]) goto labelFunc042B_004D;
message("\"I wonder where Batlin could be! 'Tis not like him to miss a meeting.\"");
say();
goto labelFunc042B_0052;
goto labelFunc042B_0052;
labelFunc042B_004D:
message("\"I cannot stop to speak right now. I am late for the Fellowship meeting!\"*");
say();
abort;
labelFunc042B_0052:
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0080]) goto labelFunc042B_006F;
UI_add_answer("Candice");
labelFunc042B_006F:
if (!gflags[0x00D1]) goto labelFunc042B_007C;
UI_add_answer("body");
labelFunc042B_007C:
if (!(!gflags[0x00AC])) goto labelFunc042B_0092;
message("You see a nobleman in his forties who looks like either a politician or a well-dressed merchant.");
say();
message("\"Avatar! I was just alerted of thy presence in our fair city! I have been expecting thee!\"");
say();
gflags[0x00AC] = true;
goto labelFunc042B_010D;
labelFunc042B_0092:
if (!((var0000 == 0x0000) || ((var0000 == 0x0001) || (var0000 == 0x0002)))) goto labelFunc042B_0109;
var0002 = Func08F7(0xFFD7);
var0003 = Func08F7(0xFFFF);
if (!var0002) goto labelFunc042B_0102;
message("\"Avatar! Er, uhm, how art thee? Oh, dost thou know Candice, the curator at the Royal Museum? She is a 'brother' at The Fellowship. I was, er, just seeing her home!\"");
say();
if (!var0003) goto labelFunc042B_00E6;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Hmmm. And does thy wife know thou art seeing Candice home?\"");
say();
UI_remove_npc_face(0xFFFF);
goto labelFunc042B_00EA;
labelFunc042B_00E6:
message("You ask if Judith knows about this.");
say();
labelFunc042B_00EA:
UI_show_npc_face(0xFFD5, 0x0000);
message("\"Why, she doth not need to know! It does not matter! 'Tis nothing, really!\"~~The Mayor is sweating profusely. He looks at you with beady eyes. He knows he has been found out. His body slumps. He is mortified and ashamed.~~\"Thou hast discovered my... our secret. Please do not tell Judith. I... will end this. I swear. Candice -- we must stop meeting. I... I'm sorry.\"~~You decide to leave Patterson and Candice to work out what has happened, and you hope that the Mayor has learned something about honesty.*");
say();
Func0911(0x0014);
abort;
goto labelFunc042B_0106;
labelFunc042B_0102:
message("\"How may I help thee?\" Patterson asks.");
say();
labelFunc042B_0106:
goto labelFunc042B_010D;
labelFunc042B_0109:
message("\"How may I help thee?\" Patterson asks.");
say();
labelFunc042B_010D:
converse (0) atend labelFunc042B_02EB;
case "name" atend labelFunc042B_0123:
message("\"I am Patterson. Named after my father.\" He holds his hand out, takes yours, and shakes it firmly. \"It is such a pleasure to meet the Avatar!\"");
say();
UI_remove_answer("name");
labelFunc042B_0123:
case "job" atend labelFunc042B_013F:
message("\"Why, I am the Town Mayor! The Town Mayor of Britain, that is! I would have thee know that mine election was an overwhelming victory! Mine opponent never had a chance!~~ \"I am also President of the Britannian Tax Council.\"");
say();
UI_add_answer(["election", "opponent", "Tax Council"]);
labelFunc042B_013F:
case "election" atend labelFunc042B_0159:
message("\"It was held two years ago. I received 84 percent of the votes. It was an impressive victory, I must admit.~~ \"Of course, when one has a group like The Fellowship behind them...\"");
say();
UI_remove_answer("election");
UI_add_answer("Fellowship");
labelFunc042B_0159:
case "opponent" atend labelFunc042B_0177:
message("\"He was an old farmer named Brownie. Didn't have much money to put into a campaign. Even the peasants didn't support him.\"");
say();
UI_remove_answer("opponent");
UI_add_answer("peasants");
gflags[0x007F] = true;
labelFunc042B_0177:
case "Fellowship" atend labelFunc042B_01A9:
message("\"My life has improved greatly since I joined. I find that mine honesty is impeccable, my leadership is unchallengeable, and my love for my wife is irreproachable.");
say();
if (!(!gflags[0x0006])) goto labelFunc042B_0191;
message("\"Thou shouldst consider attending one of our meetings in the evening.\"");
say();
goto labelFunc042B_0195;
labelFunc042B_0191:
message("\"I would wager that thy life has improved as well!\"");
say();
labelFunc042B_0195:
UI_remove_answer("Fellowship");
UI_add_answer(["honesty", "wife"]);
labelFunc042B_01A9:
case "peasants" atend labelFunc042B_01C3:
message("\"Did I say that? I certainly did not mean it. There is no class system in Britain anymore, nor in the entire country, for that matter! What I meant is that the 'peasantry', that is, those people who are not of superior lineage -- which is the type of man Brownie is -- -they- did not support him either. They knew who would be the best leader!\"");
say();
UI_remove_answer("peasants");
UI_add_answer("superior");
labelFunc042B_01C3:
case "superior" atend labelFunc042B_01E3:
message("\"Did I say that? I do not think I really meant that the way it sounded. What I meant to say was that there are people who come from families of better standing than others. And Brownie is not one of them! But do not misunderstand me -- I still maintain that the class system in Britannia has been abolished!\"");
say();
UI_remove_answer("superior");
if (!gflags[0x0082]) goto labelFunc042B_01E3;
UI_add_answer("Nanna");
labelFunc042B_01E3:
case "Nanna" atend labelFunc042B_01F6:
message("\"She said what? Well, she's wrong! And to think she is a 'brother'. One of The Fellowship! I shall have to speak to Batlin about her.\"~~You notice that Patterson seems ill-at-ease.");
say();
UI_remove_answer("Nanna");
labelFunc042B_01F6:
case "honesty" atend labelFunc042B_0216:
message("\"I am obviously the most honest person in Britain! Perhaps I should move to Moonglow! Ha!\"");
say();
UI_remove_answer("honesty");
if (!gflags[0x0081]) goto labelFunc042B_0216;
UI_add_answer("Judith suspicious");
labelFunc042B_0216:
case "wife" atend labelFunc042B_0229:
message("\"Her name is Judith. She's the music teacher at The Music Hall. Perhaps thou hast met her. We have a wonderful relationship.\"");
say();
UI_remove_answer("wife");
labelFunc042B_0229:
case "Tax Council" atend labelFunc042B_023C:
message("\"The land must have some way of generating income. Taxes are the only solution. Every merchant and farmer is taxed. Anyone who works for a living is taxed.\"~~ \"The Britannian Tax Council has its main office in the Royal Mint.\"");
say();
UI_remove_answer("Tax Council");
labelFunc042B_023C:
case "Judith suspicious" atend labelFunc042B_027D:
message("\"Why, I do not know what she is talking about! I work late, that is all!\"");
say();
var0003 = Func08F7(0xFFFF);
if (!var0003) goto labelFunc042B_0276;
UI_show_npc_face(0xFFFF, 0x0000);
message("Iolo whispers to you, \"This man seems very defensive, dost thou not think? I say we should observe him and see where he goes after The Fellowship meeting tonight.\"");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFD5, 0x0000);
labelFunc042B_0276:
UI_remove_answer("Judith suspicious");
labelFunc042B_027D:
case "Candice" atend labelFunc042B_0290:
message("Patterson's eyes widen and for a moment looks very nervous. But very quickly he regains his composure.~~ \"Candice? Why, she is a friend! A 'brother' at The Fellowship! That is all!\"");
say();
UI_remove_answer("Candice");
labelFunc042B_0290:
case "body" atend labelFunc042B_02AA:
message("You relate what Lord British said about the murder in Britain a few years ago. Patterson nods.~~\"I remember it well. Quite gruesome, it was. There was a man named Finster who was running for public office. He was quite outspoken in his opinions, and I suppose this got him into trouble.\"");
say();
UI_remove_answer("body");
UI_add_answer("opinions");
labelFunc042B_02AA:
case "opinions" atend labelFunc042B_02C4:
message("\"He was trying to make many social changes. He wanted more power for the Great Council and the Britannian Tax Council, and he wanted to disband The Fellowship. Finster was a nobleman with too much ambition. Anyway, his beliefs must have provided him with a few enemies.\"");
say();
UI_remove_answer("opinions");
UI_add_answer("enemies");
labelFunc042B_02C4:
case "enemies" atend labelFunc042B_02DD:
message("\"How should I know? Anyway, his body was found in an abandoned building which is no longer standing. It used to be a storehouse of some kind, up near the castle. It was torn down a couple of years ago. The body was mutilated beyond belief. It was as if someone tied the poor man down with stakes and cut off all of his limbs. Finster was then beheaded. It was almost... what is the word... ritualistic!~~\"And that is all I remember. No one was ever arrested for the crime.\"");
say();
Func0911(0x0014);
UI_remove_answer("enemies");
labelFunc042B_02DD:
case "bye" atend labelFunc042B_02E8:
goto labelFunc042B_02EB;
labelFunc042B_02E8:
goto labelFunc042B_010D;
labelFunc042B_02EB:
break;
message("Patterson nods his head at you.*");
say();
labelFunc042B_02F0:
if (!(event == 0x0000)) goto labelFunc042B_02FE;
Func092E(0xFFD5);
labelFunc042B_02FE:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func042C object#(0x42C) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc042C_0287;
UI_show_npc_face(0xFFD4, 0x0000);
var0000 = Func0909();
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFD4));
var0003 = UI_is_pc_female();
var0004 = Func08F7(0xFFFE);
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x007A]) goto labelFunc042C_005A;
UI_add_answer("Nell with child");
labelFunc042C_005A:
if (!gflags[0x0089]) goto labelFunc042C_0067;
UI_add_answer("Charles is angry");
labelFunc042C_0067:
if (!(!gflags[0x00AD])) goto labelFunc042C_0079;
message("You see a flamboyant-looking gentleman. He is very cheerful and outgoing, greeting you with a smile and a wave.");
say();
gflags[0x00AD] = true;
goto labelFunc042C_008B;
labelFunc042C_0079:
if (!(!var0003)) goto labelFunc042C_0087;
message("\"In a wink, in a word,~\"I do greet thee, Milord.\"");
say();
goto labelFunc042C_008B;
labelFunc042C_0087:
message("\"To greet thee, On this day,~\"'Tis my pleasure, Milady.\"");
say();
labelFunc042C_008B:
converse (0) atend labelFunc042C_0282;
case "name" atend labelFunc042C_00A1:
message("\"From out the dawn, when sun doth rise,~\"Until next morn when moon must go,~\"I answer to thy beck and cries,~\"thine humble servant, Carrocio!\"");
say();
UI_remove_answer("name");
labelFunc042C_00A1:
case "job" atend labelFunc042C_00CC:
message("\"The puppet's curtain I unfurl,~\"And from mine hands the story's told,~\"For pleasure of a boy or girl,~\"To see doth cost one coin of gold.~\"To take good measure of thy power,~\"Forged in fire of virtue's heart,~\"To ring the bell this very hour,~\"Do test thy strength 'til thy muscles smart.\"");
say();
if (!(!var0003)) goto labelFunc042C_00B8;
message("\"And perhaps impress thine own sweetheart!\" Carrocio winks at you.");
say();
labelFunc042C_00B8:
message("\"Or dost thou wish to be a king?~\"Yonder sticks a sword in stone.~\"If thou canst only pull it out~ \"Thou wilt be the next upon the throne!\"");
say();
UI_add_answer(["puppet show", "see", "strength test"]);
labelFunc042C_00CC:
case "puppet show" atend labelFunc042C_00EC:
message("\"My childhood's eye spied father's toil,~\"A puppet's show of splendor royal.~\"Time's breeze has blown, My father's gone,~\"His child has grown, Regrets anon,~\"Gears and wheels move the moppets now, in need of no one,~\"And so I keep his carnival song playing on and on alone.\"");
say();
UI_remove_answer("puppet show");
UI_add_answer(["regrets", "gears and wheels"]);
labelFunc042C_00EC:
case "strength test" atend labelFunc042C_0111:
if (!(!(var0002 == 0x0007))) goto labelFunc042C_0106;
message("\"I am sorry to say~\"I have called it a day.~\"Come to the grounds to test thy fitness~\"when I am, yea verily, open for business.\"");
say();
goto labelFunc042C_010A;
labelFunc042C_0106:
message("\"Take the hammer in thine hands and strike a blow upon the ground,~\"If thine arms be possessed of might then thou shalt hear a ringing sound.~\"Once thou hast struck if thou hearest naught then thou dost know thy strength is flagging.~\"But if thou dost win the strength test game thou shalt receive a stuffed dragon.\"");
say();
labelFunc042C_010A:
UI_remove_answer("strength test");
labelFunc042C_0111:
case "gears and wheels" atend labelFunc042C_0124:
message("\"I fear an end to my family craft, where the show is run by human heart,~\"But bones do age, not so machines, and we cannot simply replace a part.~\"I carry on as best I can, A machine to play my father's role,~\"Control the marionettes unseen, struggling to imbue them with a soul.\"");
say();
UI_remove_answer("gears and wheels");
labelFunc042C_0124:
case "regrets" atend labelFunc042C_0147:
message("\"The faces pressed before me, fleeting moments chance of glee, From the lowly mongrel beggar to the resident of throne,~\"Each know their place and gave me chase to find the one for me, Woman whom my life may share, this heart that waits alone.\"");
say();
UI_remove_answer("regrets");
UI_add_answer(["mongrel beggar", "resident of throne", "woman"]);
labelFunc042C_0147:
case "mongrel beggar" atend labelFunc042C_015A:
message("\"A beggar man called Snaz will come to watch my show, ~\"to steal and sell all my best jokes, mine own personal foe.\"");
say();
UI_remove_answer("mongrel beggar");
labelFunc042C_015A:
case "resident of throne" atend labelFunc042C_016D:
message("\"Thine ignorance doth make me skittish,~\"surely thou hast heard of wise Lord British.\"");
say();
UI_remove_answer("resident of throne");
labelFunc042C_016D:
case "woman" atend labelFunc042C_0187:
message("\"The awakening of mine heart's idyll,~\"Lies 'neath me for I see her still,~\"No bard could e'er describe nor tell,~\"the tenderness of my fair Nell.\"");
say();
UI_remove_answer("woman");
UI_add_answer("Nell");
labelFunc042C_0187:
case "Nell" atend labelFunc042C_01A7:
message("\"'Tis said love is a fiery angel,~\"Riding soft silk wings of pure redemption,~\"My puppet's heart still as an anvil,~\"At the wicked thrill of her attention.~\"By mine angel Nell I am anointed,~\"Humble cowardice felled by Passion's blade,~\"As her beloved I was hence appointed,~\"Perchance through destiny a marriage made.\"");
say();
UI_remove_answer("Nell");
UI_add_answer(["wicked thrill", "marriage"]);
labelFunc042C_01A7:
case "wicked thrill" atend labelFunc042C_01BA:
message("Carrocio looks as if he is lost in a memory. After a moment he returns to reality.~~\"I would not be a gentleman if I spoke of this more, Forgive me the candor of mine heart's open door.\"~He appears somewhat embarrassed and clears his throat loudly several times.");
say();
UI_remove_answer("wicked thrill");
labelFunc042C_01BA:
case "marriage" atend labelFunc042C_01DA:
message("\"My coins are arrows rushing to make good,~\"'Til the day when the jeweller sells his ring,~\"For my sure heart is not but carved from wood,~\"And she doth tend to the bed of a king.\"");
say();
UI_remove_answer("marriage");
if (!gflags[0x007A]) goto labelFunc042C_01DA;
UI_add_answer("Nell with child");
labelFunc042C_01DA:
case "Nell with child" atend labelFunc042C_0215:
message("Carrocio gives you a shocked look and drops to his knees before you. \"I beseech thee, ");
message(var0000);
message(", ~\"Keep still thy tongue,~\"My Nell has ne'er harmed anyone,~\"It would cause grievous injury to her reputation,~\"Through the town's wagging lips our secret to spread,~\"'Twould make a permanent end of mine occupation,~\"And kill our hope of a happy life dead.\" He looks you in the eyes, pleadingly. \"In thee I must place mine hope and trust,~\"Part, parcel and whole.~\"To ne'er again speak of the spoils of my lust, ~\"Thou must not tell a soul!\"");
say();
if (!(!gflags[0x0089])) goto labelFunc042C_020E;
message("He looks at you awaiting some sort of indication. Will you keep his secret?");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc042C_020A;
message("\"Thou dost walk with honor,~\"I know thou wilt not tell,~\"Of dignity's stains I do not bother,~\"My concerns are none save for Nell.\"");
say();
goto labelFunc042C_020E;
labelFunc042C_020A:
message("\"Reconsider, I must insist of thee, Thou art too thin of hide,~\"If he knew, Nell's brother would murder me,~\"And I would not see Nell widowed before having the chance to become a bride.\"");
say();
labelFunc042C_020E:
UI_remove_answer("Nell with child");
labelFunc042C_0215:
case "Charles is angry" atend labelFunc042C_0222:
message("\"I am grateful for thine honesty about thy lack of care,~\"But why hast thou placed thyself in the center of our affair?~\"For Nell's sake I could not bring myself to cause harm to her brother,~\"I shall convince him of mine intentions,~\"I love Nell and no other.~\"Leave me now for I must use this time to properly prepare.\"");
say();
abort;
labelFunc042C_0222:
case "see" atend labelFunc042C_0274:
if (!(!(var0002 == 0x0007))) goto labelFunc042C_023C;
message("\"I am sorry to say~\"I have called it a day.~\"Come to the grounds at daybreak~\"when the puppets are, yea verily, up and awake.\"");
say();
goto labelFunc042C_026C;
labelFunc042C_023C:
message("\"See foolish pride and love, brutality and sin, Carrocio's tiny world of moving dolls,~\"Enough to make thee gasp, or cry or grin,~\"All who wish to see 'tis time to hear my calls,~\"For now the puppet show is about to begin!\"*");
say();
var0006 = UI_find_nearby_avatar(0x01F7);
UI_halt_scheduled(var0006[0x0001]);
var0007 = UI_delayed_execute_usecode_array(var0006[0x0001], [(byte)0x55, 0x01F7], 0x000F);
labelFunc042C_026C:
UI_remove_answer("see");
abort;
labelFunc042C_0274:
case "bye" atend labelFunc042C_027F:
goto labelFunc042C_0282;
labelFunc042C_027F:
goto labelFunc042C_008B;
labelFunc042C_0282:
break;
message("\"Perchance to find in mercy's ear, A voice to know as gentle friend,~\"I bid thee well, but hark return, If thou wouldst see the puppet's play or test thy strength again.\"");
say();
labelFunc042C_0287:
if (!(event == 0x0000)) goto labelFunc042C_0330;
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFD4));
var0008 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0007)) goto labelFunc042C_032A;
if (!((var0001 == 0x0003) || ((var0001 == 0x0004) || ((var0001 == 0x0005) || (var0001 == 0x0006))))) goto labelFunc042C_0327;
if (!(var0008 == 0x0001)) goto labelFunc042C_02ED;
var0009 = "@See the puppets!@";
labelFunc042C_02ED:
if (!(var0008 == 0x0002)) goto labelFunc042C_02FD;
var0009 = "@Canst thou ring the bell?@";
labelFunc042C_02FD:
if (!(var0008 == 0x0003)) goto labelFunc042C_030D;
var0009 = "@Next show starts soon!@";
labelFunc042C_030D:
if (!(var0008 == 0x0004)) goto labelFunc042C_031D;
var0009 = "@Measure thy might!@";
labelFunc042C_031D:
UI_item_say(0xFFD4, var0009);
labelFunc042C_0327:
goto labelFunc042C_0330;
labelFunc042C_032A:
Func092E(0xFFD4);
labelFunc042C_0330:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func090A 0x90A ();
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func092E 0x92E (var var0000);
void Func042D object#(0x42D) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc042D_02E6;
UI_show_npc_face(0xFFD3, 0x0000);
var0000 = UI_part_of_day();
var0001 = Func0909();
var0002 = UI_wearing_fellowship();
var0003 = Func08FC(0xFFD3, 0xFFE6);
if (!(var0000 == 0x0007)) goto labelFunc042D_005F;
if (!var0003) goto labelFunc042D_004A;
message("Figg is too intent on listening to the Fellowship meeting to acknowledge your attempts to converse with him.*");
say();
abort;
goto labelFunc042D_005F;
labelFunc042D_004A:
if (!gflags[0x00DA]) goto labelFunc042D_005A;
message("\"Hast thou seen Batlin? Where is he? He needs to lead our meeting!\"");
say();
goto labelFunc042D_005F;
goto labelFunc042D_005F;
labelFunc042D_005A:
message("\"My goodness! It is nine o'clock! Excuse me, I must get to tonight's Fellowship meeting.\"*");
say();
abort;
labelFunc042D_005F:
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x00C6]) goto labelFunc042D_007C;
UI_add_answer("Weston");
labelFunc042D_007C:
if (!gflags[0x0094]) goto labelFunc042D_0089;
UI_add_answer("Fellowship");
labelFunc042D_0089:
if (!(!gflags[0x00AE])) goto labelFunc042D_009B;
message("You see a man whose wrinkled face forms a caricature of grumpiness.");
say();
gflags[0x00AE] = true;
goto labelFunc042D_00A5;
labelFunc042D_009B:
message("\"Thou dost wish words with me, ");
message(var0001);
message("?\" asks Figg.");
say();
labelFunc042D_00A5:
converse (0) atend labelFunc042D_02E1;
case "name" atend labelFunc042D_00BB:
message("\"I am Figg.\"");
say();
UI_remove_answer("name");
labelFunc042D_00BB:
case "job" atend labelFunc042D_00D4:
message("\"I am the caretaker of the Royal Orchards here in Britain.\"");
say();
UI_add_answer(["caretaker", "Royal Orchards"]);
labelFunc042D_00D4:
case "caretaker" atend labelFunc042D_00F7:
message("\"My responsibilities include caring for the trees, watching over the pickers at harvest time and protecting the Royal Orchard from thieves.\"");
say();
UI_add_answer(["trees", "pickers", "thieves"]);
UI_remove_answer("caretaker");
labelFunc042D_00F7:
case "trees" atend labelFunc042D_010A:
message("\"Apple trees require constant care. I must make sure the trees all have enough water but not too much. I must keep all trees properly trimmed and be watchful so that the crop does not get infested by bugs or worms. I am also required to pick up all of the fallen apples, which is a job in itself.\"");
say();
UI_remove_answer("trees");
labelFunc042D_010A:
case "pickers" atend labelFunc042D_011D:
message("\"Most of them are migrant farmers from Paws. Because they were once farmers, they are convinced they know more about the upkeep of the orchard than I! Of course that is preposterous. Also the pickers do not take orders very well.\"");
say();
UI_remove_answer("pickers");
labelFunc042D_011D:
case "thieves" atend labelFunc042D_0137:
message("\"They would rob us down to the last twig if I gave them the chance! I should be awarded a medal from Lord British himself the way I risk my very life and limb protecting this orchard. Why, I just caught another thief recently. His name was Weston.\"");
say();
UI_remove_answer("thieves");
UI_add_answer("Weston");
labelFunc042D_0137:
case "Royal Orchards" atend labelFunc042D_014A:
message("\"Here are grown the finest apples in all of Britannia. I would let thee sample one but it would be against the law as thou art obviously not of noble stock.\"");
say();
UI_remove_answer("Royal Orchards");
labelFunc042D_014A:
case "Weston" atend labelFunc042D_0177:
message("\"He now resides in the prison, thanks to me! I knew what he was up to from the moment I saw him! He had the look of a hardened apple thief so I had him nicked by the town guard.\"");
say();
UI_add_answer(["prison", "apple thief"]);
if (!gflags[0x0094]) goto labelFunc042D_0170;
UI_add_answer("Fellowship");
labelFunc042D_0170:
UI_remove_answer("Weston");
labelFunc042D_0177:
case "prison" atend labelFunc042D_018A:
message("\"Yes, Weston is now living in our local prison. If thou dost not believe me, thou canst go there and see for thyself!\"");
say();
UI_remove_answer("prison");
labelFunc042D_018A:
case "apple thief" atend labelFunc042D_01AA:
message("\"Oh, he came here with some sob story. But when one is as astute an observer of human behavior as I am, one can tell the true intent of people, which is often contrary to what they will say to thee!\"");
say();
UI_remove_answer("apple thief");
UI_add_answer(["sob story", "observer"]);
labelFunc042D_01AA:
case "sob story" atend labelFunc042D_01BD:
message("\"I do not recall, exactly. Something about his impoverished wife and family starving to death in Paws or some load of rubbish.\"");
say();
UI_remove_answer("sob story");
labelFunc042D_01BD:
case "observer" atend labelFunc042D_01EA:
message("\"Yes, I do consider myself to be a more than passable judge of character. And dost thou know how I became so?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc042D_01DC;
message("\"Oh, then art thou not the clever one!\"");
say();
goto labelFunc042D_01E3;
labelFunc042D_01DC:
message("\"Then I shall tell thee! I am a member of The Fellowship!\"");
say();
Func0919();
labelFunc042D_01E3:
UI_remove_answer("observer");
labelFunc042D_01EA:
case "philosophy" atend labelFunc042D_01FC:
Func091A();
UI_remove_answer("philosophy");
labelFunc042D_01FC:
case "Fellowship" atend labelFunc042D_024C:
message("\"I am a member of the Fellowship, yes. But it would be a crime for me to give apples from the Royal Orchard to The Fellowship, and it would be a violation of my sacred duty. While selling apples is also a violation, I was only trying to do this man Weston a favor. And I suppose these accusations are the thanks I get? Hmph!\"");
say();
if (!var0002) goto labelFunc042D_023A;
message("He leans in close to you and speaks lower. \"Thou art also a member of The Fellowship, after all. Am I not thy brother? Shouldst thou not trust me?\" He gives you a crooked wink.");
say();
var0005 = UI_add_party_items(0x0001, 0x0179, 0xFE99, 0x0010, true);
if (!var0005) goto labelFunc042D_0233;
message("\"Thou seest? I am thy brother!\" He hands you an apple.");
say();
goto labelFunc042D_0237;
labelFunc042D_0233:
message("\"I would give thee an apple to show thee my sincerity, but it seems thou art too encumbered.\"");
say();
labelFunc042D_0237:
goto labelFunc042D_0245;
labelFunc042D_023A:
message("\"But enough of these desperate accusations from a known criminal.\"");
say();
UI_add_answer("buy");
labelFunc042D_0245:
UI_remove_answer("Fellowship");
labelFunc042D_024C:
case "buy" atend labelFunc042D_02D3:
message("\"I can do thee a favor as well. Wouldst thou like to buy one of these beautiful apples for the merest pittance of five gold coins?\"");
say();
var0006 = Func090A();
if (!var0006) goto labelFunc042D_02B0;
var0007 = UI_remove_party_items(0x0005, 0x0284, 0xFE99, 0xFE99, 0xFE99);
if (!var0007) goto labelFunc042D_02A8;
var0008 = UI_add_party_items(0x0001, 0x0179, 0xFE99, 0x0010, true);
if (!var0008) goto labelFunc042D_02A1;
message("Figg takes an apple from a nearby basket. After polishing it slightly on his shirt, he hands it to you.");
say();
goto labelFunc042D_02A5;
labelFunc042D_02A1:
message("\"Thou cannot take thine apple! Thou art carrying too much!\"");
say();
labelFunc042D_02A5:
goto labelFunc042D_02AD;
labelFunc042D_02A8:
message("\"Thou dost not even have enough gold to buy one apple! Thou hast wasted the time of the King's Caretaker of the Royal Orchard. Away, peasant! Away before I call the guard!\"");
say();
abort;
labelFunc042D_02AD:
goto labelFunc042D_02CC;
labelFunc042D_02B0:
message("\"Very well. But thou art passing up an opportunity that few are offered. In fact, eh, I would appreciate it if thou wouldst not mention our little chat to anyone. Agreed?\"");
say();
var0009 = Func090A();
if (!var0009) goto labelFunc042D_02C7;
message("\"Ah, I knew thou wert a good 'un.\"");
say();
goto labelFunc042D_02CC;
labelFunc042D_02C7:
message("\"No! Well, fine, then.\"*");
say();
abort;
labelFunc042D_02CC:
UI_remove_answer("buy");
labelFunc042D_02D3:
case "bye" atend labelFunc042D_02DE:
goto labelFunc042D_02E1;
labelFunc042D_02DE:
goto labelFunc042D_00A5;
labelFunc042D_02E1:
break;
message("\"I can see that thou shouldst be on thy way.\"*");
say();
labelFunc042D_02E6:
if (!(event == 0x0000)) goto labelFunc042D_02F4;
Func092E(0xFFD3);
labelFunc042D_02F4:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func042E object#(0x42E) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
if (!(event == 0x0001)) goto labelFunc042E_0305;
UI_show_npc_face(0xFFD2, 0x0000);
var0000 = Func0909();
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFD2));
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0092]) goto labelFunc042E_004A;
UI_add_answer("Cynthia said");
labelFunc042E_004A:
if (!(!gflags[0x00AF])) goto labelFunc042E_005C;
message("You see a sour-faced innkeeper who looks at you as if all of his problems were your fault.");
say();
gflags[0x00AF] = true;
goto labelFunc042E_0066;
labelFunc042E_005C:
message("\"What must I do for thee now, ");
message(var0000);
message("?\" asks James.");
say();
labelFunc042E_0066:
converse (0) atend labelFunc042E_0300;
case "name" atend labelFunc042E_007C:
message("\"My name is James.\"");
say();
UI_remove_answer("name");
labelFunc042E_007C:
case "job" atend labelFunc042E_0095:
message("\"I am the proprietor of the inn.\"");
say();
UI_add_answer(["proprietor", "inn"]);
labelFunc042E_0095:
case "proprietor" atend labelFunc042E_00B5:
message("\"It is just another way of saying that I am the man who is the desk clerk. Which thou mayest think is an easy job although it is not, I can assure thee.\"");
say();
UI_remove_answer("proprietor");
UI_add_answer(["desk clerk", "not easy"]);
labelFunc042E_00B5:
case "inn" atend labelFunc042E_00C8:
message("\"This place is called the Wayfarer's Inn. It has a long and substantial history in Britain. If thy grandparents ever came to town this is probably where they stayed.\"");
say();
UI_remove_answer("inn");
labelFunc042E_00C8:
case "desk clerk" atend labelFunc042E_00E8:
message("\"Of course, being desk clerk is not all I do. I must spend all day listening to people talk about their problems as if I am supposed to solve them!\"");
say();
UI_remove_answer("desk clerk");
UI_add_answer(["listening", "solve"]);
labelFunc042E_00E8:
case "listening" atend labelFunc042E_0101:
message("\"That is correct, ");
message(var0000);
message(". So if thou dost have a problem, allow me the courtesy of not having to hear all about it. Now what was it that I was saying again?\"");
say();
UI_remove_answer("listening");
labelFunc042E_0101:
case "solve" atend labelFunc042E_011B:
message("\"Maybe solving people's problems is an easy task for other innkeepers, but, not only am I bad at it, I have mine own problems as well.\"");
say();
UI_remove_answer("solve");
UI_add_answer("problems");
labelFunc042E_011B:
case "problems" atend labelFunc042E_013B:
message("\"I do not like my job! I never wanted to be an innkeeper, I just wanted to keep the place going after my father passed on. Now that I am married to Cynthia, I am more tied down than ever!\"");
say();
UI_remove_answer("problems");
UI_add_answer(["innkeeper", "Cynthia"]);
labelFunc042E_013B:
case "innkeeper" atend labelFunc042E_015B:
message("\"Instead of being an innkeeper I always secretly wanted to be a pirate! When I was not sailing the seas I would be living in Buccaneer's Den.\"");
say();
UI_remove_answer("innkeeper");
UI_add_answer(["pirate", "Buccaneer's Den"]);
labelFunc042E_015B:
case "Buccaneer's Den" atend labelFunc042E_016E:
message("\"As I understand it they have an excellent House of Games there as well as opulent baths. Or at least so I have heard from Gordon, the man who sells fish and chips.\"");
say();
UI_remove_answer("Buccaneer's Den");
labelFunc042E_016E:
case "Cynthia" atend labelFunc042E_018E:
message("\"Do not mistake my words, ");
message(var0000);
message(". I love Cynthia with all mine heart. But there are I times I feel I am too young to be married. Besides, I know I cannot be a good husband for her.\"");
say();
UI_remove_answer("Cynthia");
UI_add_answer("good husband");
labelFunc042E_018E:
case "pirate" atend labelFunc042E_01A1:
message("\"Thou knowest for certain that few if any people would pour their troubles out to pirates. If I were a pirate I could get this bad foot replaced with a peg, too!\"");
say();
UI_remove_answer("pirate");
labelFunc042E_01A1:
case "good husband" atend labelFunc042E_01C1:
message("\"How can I make Cynthia happy on the pittance an innkeeper makes when all day long she is counting all that money in the mint? I know I cannot.\"");
say();
UI_remove_answer("good husband");
UI_add_answer(["happy", "mint"]);
labelFunc042E_01C1:
case "mint" atend labelFunc042E_01D4:
message("\"I know the nature of the heart, my good friend. After being exposed to such large sums of money she shall begin to covet it. As I cannot provide it, she shall leave me to give her heart to a wealthy man. Perhaps a merchant or a nobleman. The thought of it makes my blood boil.\"");
say();
UI_remove_answer("mint");
labelFunc042E_01D4:
case "not easy" atend labelFunc042E_01F4:
message("\"When one is an innkeeper one must run around all day long. If anyone wants anything thou art the one who must take care of it for them!\"");
say();
UI_remove_answer("not easy");
UI_add_answer(["run around", "room"]);
labelFunc042E_01F4:
case "run around" atend labelFunc042E_0207:
message("\"I spend so much time running around that I have gotten a bad foot.\"");
say();
UI_remove_answer("run around");
labelFunc042E_0207:
case "happy" atend labelFunc042E_021A:
message("\"Already I can sense she is worried about our marriage. I know that there is something wrong between us.\"");
say();
UI_remove_answer("happy");
labelFunc042E_021A:
case "room" atend labelFunc042E_02DF:
if (!(var0002 == 0x0007)) goto labelFunc042E_02CE;
message("\"Oh, I suppose thou wouldst like a room now! There, that is just what I mean! It is ten gold pieces per person for a night. Thou dost want a room, dost thou not?\"");
say();
if (!Func090A()) goto labelFunc042E_02C7;
var0003 = UI_get_party_list();
var0004 = 0x0000;
//enum();
labelFunc042E_0244:
for (var0007 in var0003 with var0005 to var0006) atend labelFunc042E_025C;
var0004 = (var0004 + 0x0001);
goto labelFunc042E_0244;
labelFunc042E_025C:
var0008 = (var0004 * 0x000A);
var0009 = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
if (!(var0009 >= var0008)) goto labelFunc042E_02C0;
var000A = UI_add_party_items(0x0001, 0x0281, 0x00FF, 0xFE99, true);
if (!(!var000A)) goto labelFunc042E_02A5;
message("\"Thou art carrying too much to take the room key!\"");
say();
goto labelFunc042E_02BD;
labelFunc042E_02A5:
message("\"Here is thy room key. It is only good until thou leavest the inn.\"");
say();
var000B = UI_remove_party_items(var0008, 0x0284, 0xFE99, 0xFE99, true);
labelFunc042E_02BD:
goto labelFunc042E_02C4;
labelFunc042E_02C0:
message("\"Thou dost not have enough gold to get a room here. Now I suppose thou shalt be telling me all about how such a sorry state befell thee. Well, I shall not listen to thee!\"");
say();
labelFunc042E_02C4:
goto labelFunc042E_02CB;
labelFunc042E_02C7:
message("James wipes his brow. \"Phew! That was a close call!\"");
say();
labelFunc042E_02CB:
goto labelFunc042E_02D8;
labelFunc042E_02CE:
message("\"Please, ");
message(var0000);
message(". Do allow me some time to myself! Presently I am not doing the business of the inn and I do wish to keep it that way. Thou must attend to the inn during business hours.\"");
say();
labelFunc042E_02D8:
UI_remove_answer("room");
labelFunc042E_02DF:
case "Cynthia said" atend labelFunc042E_02F2:
message("You repeat the words that Cynthia had said to you about him. A smile comes across his face. \"Aww, who wants to be a pirate anyway? I would hate that!\" With that he goes back to wiping the bar, but you notice that the smile is still there.");
say();
UI_remove_answer("Cynthia");
labelFunc042E_02F2:
case "bye" atend labelFunc042E_02FD:
goto labelFunc042E_0300;
labelFunc042E_02FD:
goto labelFunc042E_0066;
labelFunc042E_0300:
break;
message("\"Oh, thou shalt just come back again wanting something else from me! I just know it!\"*");
say();
labelFunc042E_0305:
if (!(event == 0x0000)) goto labelFunc042E_0313;
Func092E(0xFFD2);
labelFunc042E_0313:
return;
}
// externs
extern var Func08F7 0x8F7 (var var0000);
extern void Func08A0 0x8A0 ();
extern void Func0911 0x911 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func042F object#(0x42F) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
if (!(event == 0x0001)) goto labelFunc042F_01D0;
UI_show_npc_face(0xFFD1, 0x0000);
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFD1));
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x007B]) goto labelFunc042F_0044;
UI_add_answer("Charles");
labelFunc042F_0044:
if (!(!gflags[0x00B0])) goto labelFunc042F_0056;
message("This young, lovely tavern wench is sexy and sweet.");
say();
gflags[0x00B0] = true;
goto labelFunc042F_005A;
labelFunc042F_0056:
message("\"Hello again!\" bubbly Jeanette says.");
say();
labelFunc042F_005A:
converse (0) atend labelFunc042F_01CB;
case "name" atend labelFunc042F_0070:
message("\"Jeanette, at thy service!\"");
say();
UI_remove_answer("name");
labelFunc042F_0070:
case "job" atend labelFunc042F_00E1:
message("\"I work for Lucy at the Blue Boar. I serve food and drinks.");
say();
if (!(var0001 == 0x0017)) goto labelFunc042F_00DD;
message("\"If there is anything thou wouldst like, please say so! And, er, I shall give thee a discount if thou dost buy from me!\"");
say();
var0002 = Func08F7(0xFFFC);
if (!var0002) goto labelFunc042F_00CA;
message("\"Why, Sir Dupre! How good to see thee again!\"*");
say();
UI_show_npc_face(0xFFFC, 0x0000);
message("\"Hello milady! I thought I might re-sample The Blue Boar's fine beverages!\"*");
say();
UI_show_npc_face(0xFFD1, 0x0000);
message("\"Any time, milord! Any time!\"*");
say();
UI_remove_npc_face(0xFFFC);
UI_show_npc_face(0xFFD1, 0x0000);
labelFunc042F_00CA:
UI_add_answer(["food", "drink", "buy"]);
goto labelFunc042F_00E1;
labelFunc042F_00DD:
message("\"I work during the day and evening hours. Thou shouldst come by the pub then and we shall talk more!\"");
say();
labelFunc042F_00E1:
case "food" atend labelFunc042F_00FB:
message("\"Lucy is a good cook. I recommend everything. Especially Silverleaf.\"");
say();
UI_add_answer("Silverleaf");
UI_remove_answer("food");
labelFunc042F_00FB:
case "Silverleaf" atend labelFunc042F_010E:
message("\"Wonderful dish. Try it!\"");
say();
UI_remove_answer("Silverleaf");
labelFunc042F_010E:
case "drink" atend labelFunc042F_0121:
message("\"Thou dost look like thou dost need a good drink!\"");
say();
UI_remove_answer("drink");
labelFunc042F_0121:
case "buy" atend labelFunc042F_012C:
Func08A0();
labelFunc042F_012C:
case "Charles" atend labelFunc042F_0150:
message("\"He spoke of me, did he? Well, he may think again! I cannot bring myself to socialize with the upper class. Those bourgeoisie rich men are obnoxious and egotistical. Besides, I am in love with another.\"");
say();
gflags[0x007D] = true;
UI_remove_answer("Charles");
UI_add_answer(["upper class", "another"]);
labelFunc042F_0150:
case "upper class" atend labelFunc042F_0163:
message("\"They are all alike. They work in castles and have piles of gold and can have any woman they want! On the other hand, a humble merchant is the perfect man.\"");
say();
UI_remove_answer("upper class");
labelFunc042F_0163:
case "another" atend labelFunc042F_01BD:
message("\"'Tis Willy the Baker! But he does not know it yet!\" she giggles.");
say();
gflags[0x0085] = true;
var0003 = Func08F7(0xFFDB);
if (!var0003) goto labelFunc042F_01A4;
UI_show_npc_face(0xFFDB, 0x0000);
message("\"A moment, Jeanette! Thou hast it all wrong! Charles is a -servant-! Thou art an ignoramus! Charles is not 'upper class'! He is as working class as thee! 'Tis Willy who is the rich merchant! If thou dost ask me, 'tis Willy who is obnoxious and egotistical. Charles is a dream!\"");
say();
UI_remove_npc_face(0xFFDB);
UI_show_npc_face(0xFFD1, 0x0000);
goto labelFunc042F_01A8;
labelFunc042F_01A4:
message("You point out to Jeanette that Charles is a servant.");
say();
labelFunc042F_01A8:
message("Jeanette thinks about what was said. \"Thou art right! I cannot believe I have been so blind! Oh, Charles! I can actually consider Charles! And he is... so handsome!\" Jeanette squeals with delight. \"I shall have to flirt with him in earnest next time he is in the pub!\"");
say();
gflags[0x007E] = true;
Func0911(0x0014);
UI_remove_answer("another");
labelFunc042F_01BD:
case "bye" atend labelFunc042F_01C8:
goto labelFunc042F_01CB;
labelFunc042F_01C8:
goto labelFunc042F_005A;
labelFunc042F_01CB:
break;
message("\"Farewell!\"*");
say();
labelFunc042F_01D0:
if (!(event == 0x0000)) goto labelFunc042F_01DE;
Func092E(0xFFD1);
labelFunc042F_01DE:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08F7 0x8F7 (var var0000);
void Func0430 object#(0x430) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0000)) goto labelFunc0430_0009;
abort;
labelFunc0430_0009:
UI_show_npc_face(0xFFD0, 0x0000);
var0000 = Func0909();
var0001 = Func08F7(0xFFF1);
if (!(!gflags[0x02C5])) goto labelFunc0430_0034;
message("You see an attractive woman dressed in armour and carrying a small arsenal of weapons with her.");
say();
gflags[0x02C5] = true;
goto labelFunc0430_0038;
labelFunc0430_0034:
message("\"How may I help thee?\" asks Amanda.");
say();
labelFunc0430_0038:
if (!gflags[0x02DC]) goto labelFunc0430_004C;
if (!(!gflags[0x02DE])) goto labelFunc0430_004C;
UI_add_answer("Stay thine hand!");
labelFunc0430_004C:
UI_add_answer(["name", "job", "bye"]);
labelFunc0430_005C:
converse (0) atend labelFunc0430_0213;
case "name" atend labelFunc0430_0072:
message("\"My name is Amanda.\"");
say();
UI_remove_answer("name");
labelFunc0430_0072:
case "job" atend labelFunc0430_00A0:
if (!gflags[0x02DE]) goto labelFunc0430_008E;
message("\"Mine half-sister and I have no job at this time. We are journeying to seek inner peace, now that our quest has been aborted.\"");
say();
UI_add_answer("inner peace");
goto labelFunc0430_0099;
labelFunc0430_008E:
message("\"Mine half-sister and I have no job but to serve our quest.\"");
say();
UI_add_answer("quest");
labelFunc0430_0099:
UI_add_answer("half-sister");
labelFunc0430_00A0:
case "half-sister" atend labelFunc0430_00F3:
if (!gflags[0x02DE]) goto labelFunc0430_00B7;
var0002 = "would have been";
goto labelFunc0430_00BD;
labelFunc0430_00B7:
var0002 = "will be";
labelFunc0430_00BD:
message("\"Mine half-sister is Eiko. She, like myself, is a warrior trained by Karenna in the ways of combat. We studied long and hard together to master the skills that ");
message(var0002);
message(" required to achieve our vengeance.\"");
say();
if (!var0001) goto labelFunc0430_00EC;
UI_show_npc_face(0xFFF1, 0x0000);
message("\"The two of us had not even met before our father's death. But we bonded like sisters in the rigorous disciplines we learned from our trainer, Karenna of Minoc.\"*");
say();
UI_remove_npc_face(0xFFF1);
UI_show_npc_face(0xFFD0, 0x0000);
labelFunc0430_00EC:
UI_remove_answer("half-sister");
labelFunc0430_00F3:
case "inner peace" atend labelFunc0430_00FF:
message("\"Yes. Our lives have been dedicated to vengeance for so long that we feel adrift, aimless without it. We must find a new reason for living.~~\"We are considering joining The Fellowship, as they offer guidance for lost souls. But we must consider this longer. We are still unsure.\"");
say();
labelFunc0430_00FF:
case "quest" atend labelFunc0430_0119:
message("\"We are on the trail of our father's murderer.\"");
say();
UI_remove_answer("quest");
UI_add_answer("killer");
labelFunc0430_0119:
case "killer" atend labelFunc0430_013F:
message("\"Our father was slain in a most violent manner by a vicious and terrible cyclops. He was impaled on a spear. It took several hours for him to die.\"~~She looks up, eyes glittering. \"Hast thou ever watched anyone die from a belly wound, ");
message(var0000);
message("? The agony cannot be imagined.\"");
say();
UI_remove_answer("killer");
UI_add_answer(["cyclops", "impaled"]);
labelFunc0430_013F:
case "cyclops" atend labelFunc0430_0177:
message("\"We have been tracking this creature for years, ever since we completed our training. We have followed him from one end of Britannia to another. Sometimes he was just one step ahead of us. But now we know that we are nearer to him than we have ever been before.\"");
say();
if (!var0001) goto labelFunc0430_0170;
UI_show_npc_face(0xFFF1, 0x0000);
message("\"When we find him there shall be no escape. We want vengeance and we mean to have it!\"*");
say();
UI_remove_npc_face(0xFFF1);
UI_show_npc_face(0xFFD0, 0x0000);
labelFunc0430_0170:
UI_remove_answer("cyclops");
labelFunc0430_0177:
case "impaled" atend labelFunc0430_01AF:
message("\"Our father fought bravely for his life. He did not die easily. He died a hero's death. Although we may both die in the effort, we intend to give his murderer a death fit for a true villain.\"");
say();
if (!var0001) goto labelFunc0430_01A8;
UI_show_npc_face(0xFFF1, 0x0000);
message("Eiko smiles wickedly.*");
say();
UI_remove_npc_face(0xFFF1);
UI_show_npc_face(0xFFD0, 0x0000);
labelFunc0430_01A8:
UI_remove_answer("impaled");
labelFunc0430_01AF:
case "Stay thine hand!" atend labelFunc0430_0205:
message("You explain to Amanda what you have learned. Kalideth had gone mad when he fought with Iskander and the source of what is causing the problems with magic and the mage's minds - the thing that really killed Kalideth - has been destroyed.~~\"Thou hast robbed me of my rightful vengeance! How dare thee!\"");
say();
if (!var0001) goto labelFunc0430_01F5;
UI_show_npc_face(0xFFF1, 0x0000);
message("Eiko sighs, and her shoulders slump. \"Come now, sister. With the matter of our father's untimely death now settled we can at last let it go. Now we can devote our lives to ourselves rather than remain trapped in the past. It is for the best, thou must trust me.\"*");
say();
UI_show_npc_face(0xFFD0, 0x0000);
message("Amanda shakes her head, dazed and confused. \"Perhaps thou art correct, Eiko. I must think.\"*");
say();
UI_remove_npc_face(0xFFF1);
UI_show_npc_face(0xFFD0, 0x0000);
gflags[0x02DE] = true;
goto labelFunc0430_01FD;
labelFunc0430_01F5:
message("Amanda turns and slams her fist into the wall, then collapses onto it with a sob. After a moment, she straightens, but does not turn to face you.~~\"Have no fear that I will continue my vengeance against the cyclops. I am not so far gone that I would kill a creature for acting in self-defense.~\"But I must have some time to myself now. Please, go. I must think.\"");
say();
gflags[0x02DE] = true;
labelFunc0430_01FD:
abort;
UI_remove_answer("Stay thine hand!");
labelFunc0430_0205:
case "bye" atend labelFunc0430_0210:
goto labelFunc0430_0213;
labelFunc0430_0210:
goto labelFunc0430_005C;
labelFunc0430_0213:
break;
message("\"Good journey to thee, ");
message(var0000);
message(".\"*");
say();
return;
}
// externs
extern var Func090A 0x90A ();
extern void Func0875 0x875 (var var0000, var var0001);
extern void Func092E 0x92E (var var0000);
void Func0431 object#(0x431) ()
{
var var0000;
var var0001;
if (!(event == 0x0001)) goto labelFunc0431_0106;
UI_show_npc_face(0xFFCF, 0x0000);
UI_add_answer(["name", "job", "bye"]);
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFCF));
if (!(!gflags[0x00B2])) goto labelFunc0431_0049;
message("You see a fighter with intense eyes and a serious disposition.");
say();
gflags[0x00B2] = true;
goto labelFunc0431_004D;
labelFunc0431_0049:
message("\"Yes, Avatar?\" Denby asks.");
say();
labelFunc0431_004D:
converse (0) atend labelFunc0431_0101;
case "name" atend labelFunc0431_0063:
message("\"I am Denby.\"");
say();
UI_remove_answer("name");
labelFunc0431_0063:
case "job" atend labelFunc0431_007F:
message("\"I am a trainer. I specialize in a form of combat which relies on one's ability to use intelligence and physical ability to activate minor magical effects. But I am not a mage. I am a fighter.\"");
say();
UI_add_answer(["magical effects", "fighter", "train"]);
labelFunc0431_007F:
case "magical effects" atend labelFunc0431_009D:
message("\"For example, I simply teach a combination of physical and mental exercises which increases one's intelligence. This, in turn, gives one an advantage if one desires to practice magic.\"");
say();
if (!(!gflags[0x0003])) goto labelFunc0431_0096;
message("\"Thou shouldst be aware, however, that magic is not working in Britannia these days. It is a dying phenomenon. No one understands why. Nevertheless, my training should increase any magic user's primary chances for casting a spell, as well as their fighting skill.\"");
say();
labelFunc0431_0096:
UI_remove_answer("magical effects");
labelFunc0431_009D:
case "fighter" atend labelFunc0431_00B0:
message("\"Although I am a fighter, I have dedicated my life to peace. There has been too much fighting in the world as it is. Let history take care of the adversarial qualities which exist in man. I believe in using my skills as a deterrent.\"");
say();
UI_remove_answer("fighter");
labelFunc0431_00B0:
case "train" atend labelFunc0431_00F3:
if (!(var0001 == 0x0007)) goto labelFunc0431_00E8;
message("\"My fee for training is 75 gold. Does this meet with the approval of thy purse strings?\"");
say();
if (!Func090A()) goto labelFunc0431_00E1;
Func0875([0x0001, 0x0002, 0x0006], 0x004B);
goto labelFunc0431_00E5;
labelFunc0431_00E1:
message("Denby bows. \"I am sorry my fee is too high for thee. Perhaps at another time thou wilt realize the value of my services.\"");
say();
labelFunc0431_00E5:
goto labelFunc0431_00F3;
labelFunc0431_00E8:
message("\"Please return during daylight hours if thou dost wish to train.\"");
say();
UI_remove_answer("train");
labelFunc0431_00F3:
case "bye" atend labelFunc0431_00FE:
goto labelFunc0431_0101;
labelFunc0431_00FE:
goto labelFunc0431_004D;
labelFunc0431_0101:
break;
message("Denby puts his palms together and bows.*");
say();
labelFunc0431_0106:
if (!(event == 0x0000)) goto labelFunc0431_0114;
Func092E(0xFFCF);
labelFunc0431_0114:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func088C 0x88C ();
extern void Func092E 0x92E (var var0000);
void Func0432 object#(0x432) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0432_0179;
UI_show_npc_face(0xFFCE, 0x0000);
var0000 = Func0909();
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFCE));
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00B3])) goto labelFunc0432_004F;
message("You see a friendly-looking farmer who waves at you as you approach.");
say();
gflags[0x00B3] = true;
goto labelFunc0432_0059;
labelFunc0432_004F:
message("\"Hello again, ");
message(var0000);
message(".\" says Fred.");
say();
labelFunc0432_0059:
converse (0) atend labelFunc0432_016E;
case "name" atend labelFunc0432_006F:
message("\"My name is Fred.\"");
say();
UI_remove_answer("name");
labelFunc0432_006F:
case "job" atend labelFunc0432_0088:
message("\"I sell meats here at the Farmer's Market in Britain.\"");
say();
UI_add_answer(["meats", "Farmer's Market"]);
labelFunc0432_0088:
case "meats" atend labelFunc0432_00A2:
message("\"They are the tastiest meats that thou canst buy. Do thyself a favor and try some.\"");
say();
UI_remove_answer("meats");
UI_add_answer("buy");
labelFunc0432_00A2:
case "Farmer's Market" atend labelFunc0432_00C2:
message("\"Here at the Farmer's Market we sell vegetables bought from the farmers just outside of town, as well as meats from the slaughterhouse in Paws.\"");
say();
UI_remove_answer("Farmer's Market");
UI_add_answer(["slaughterhouse", "Paws"]);
labelFunc0432_00C2:
case "slaughterhouse" atend labelFunc0432_00E2:
message("\"It is run by a man named Morfin, a very successful merchant from Buccaneer's Den.\"");
say();
UI_remove_answer("slaughterhouse");
UI_add_answer(["Morfin", "Buccaneer's Den"]);
labelFunc0432_00E2:
case "Morfin" atend labelFunc0432_00F5:
message("\"Morfin is an unusual character. If I did not know any better I would say he was involved with a number of shady business activities.\"");
say();
UI_remove_answer("Morfin");
labelFunc0432_00F5:
case "Buccaneer's Den" atend labelFunc0432_0108:
message("\"Morfin left that place because he saw all of the commerce that was developing there as competition to his own business activities and moved to Paws.\"");
say();
UI_remove_answer("Buccaneer's Den");
labelFunc0432_0108:
case "Paws" atend labelFunc0432_011B:
message("\"Paws is a good place to go to buy things for low prices. Many of the people are rather poor, I am sorry to say. There is little active commerce there, however. In Paws, one must deal with people on a more personal level.\"");
say();
UI_remove_answer("Paws");
labelFunc0432_011B:
case "buy" atend labelFunc0432_0160:
if (!(!(var0002 == 0x0007))) goto labelFunc0432_0135;
message("\"Thou must return when the Farmer's Market is open.\"");
say();
goto labelFunc0432_0159;
labelFunc0432_0135:
message("\"Wouldst thou like to buy some meats?\"");
say();
var0003 = Func090A();
if (!var0003) goto labelFunc0432_0155;
message("\"We have a fine selection of meats for thee today, ");
message(var0000);
message(".\"");
say();
Func088C();
goto labelFunc0432_0159;
labelFunc0432_0155:
message("\"Come back when thou art hungry and we shall serve thee then.\"");
say();
labelFunc0432_0159:
UI_remove_answer("buy");
labelFunc0432_0160:
case "bye" atend labelFunc0432_016B:
goto labelFunc0432_016E;
labelFunc0432_016B:
goto labelFunc0432_0059;
labelFunc0432_016E:
break;
message("\"Goodbye, ");
message(var0000);
message(".\"*");
say();
labelFunc0432_0179:
if (!(event == 0x0000)) goto labelFunc0432_0200;
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFCE));
var0004 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0007)) goto labelFunc0432_01FA;
if (!(var0004 == 0x0001)) goto labelFunc0432_01BD;
var0005 = "@Get thy vegetables here!@";
labelFunc0432_01BD:
if (!(var0004 == 0x0002)) goto labelFunc0432_01CD;
var0005 = "@Get thy meats here!@";
labelFunc0432_01CD:
if (!(var0004 == 0x0003)) goto labelFunc0432_01DD;
var0005 = "@Eggs for sale!@";
labelFunc0432_01DD:
if (!(var0004 == 0x0004)) goto labelFunc0432_01ED;
var0005 = "@Best prices in Britannia!@";
labelFunc0432_01ED:
UI_item_say(0xFFCE, var0005);
goto labelFunc0432_0200;
labelFunc0432_01FA:
Func092E(0xFFCE);
labelFunc0432_0200:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func08A7 0x8A7 ();
extern void Func092E 0x92E (var var0000);
void Func0433 object#(0x433) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
if (!(event == 0x0001)) goto labelFunc0433_01A1;
UI_show_npc_face(0xFFCD, 0x0000);
var0000 = Func0909();
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFCD));
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00B4])) goto labelFunc0433_004F;
message("You see a sturdy-looking farmer's wife. She gives you a hospitable smile before returning to her chores.");
say();
gflags[0x00B4] = true;
goto labelFunc0433_0059;
labelFunc0433_004F:
message("\"What brings us the pleasure of having thee back on this day, ");
message(var0000);
message("?\" says Kelly.");
say();
labelFunc0433_0059:
converse (0) atend labelFunc0433_0196;
case "name" atend labelFunc0433_0075:
message("\"I am called Kelly, ");
message(var0000);
message(".\"");
say();
UI_remove_answer("name");
labelFunc0433_0075:
case "job" atend labelFunc0433_0091:
message("\"Mine husband Fred and I run the Farmer's Market.\"");
say();
UI_add_answer(["Fred", "Farmer's Market", "buy"]);
labelFunc0433_0091:
case "Fred" atend labelFunc0433_00B7:
message("\"My Fred is one of the most respected merchants in Britain. He sells the eggs and vegetables grown by Brownie and Mack, as well as exotic imported fruits.\"");
say();
UI_remove_answer("Fred");
UI_add_answer(["eggs", "fruits and vegetables", "Brownie", "Mack"]);
labelFunc0433_00B7:
case "Farmer's Market" atend labelFunc0433_00D7:
message("\"The Farmer's Market is where most of Britain buys its food. Why even the people in Paws will come here to buy eggs and vegetables. Fred has never raised the price of anything since opening this market many years ago.\"");
say();
UI_remove_answer("Farmer's Market");
UI_add_answer(["Britain", "Paws"]);
labelFunc0433_00D7:
case "eggs" atend labelFunc0433_00EA:
message("\"Farmer Mack's chickens lay plenty of eggs. It is a good thing the people here have such healthy appetites!\"");
say();
UI_remove_answer("eggs");
labelFunc0433_00EA:
case "fruits and vegetables" atend labelFunc0433_00FD:
message("\"We sell those mostly to older people. Thou dost know, I am sure, how children do not like to eat their vegetables. Some people do not want to keep a lot of fruit in their home as they are afraid of attracting fruit flies.\"");
say();
UI_remove_answer("fruits and vegetables");
labelFunc0433_00FD:
case "Brownie" atend labelFunc0433_0110:
message("\"Brownie is a good man. I do hope he runs for the mayorship again. If he does thou must be sure to vote for him.\"");
say();
UI_remove_answer("Brownie");
labelFunc0433_0110:
case "Mack" atend labelFunc0433_0123:
message("\"I do believe that poor old Mack has been cooped up with his chickens for too long. He is a good person. Do not be put off by the strange stories he doth tell. He rarely ever sleeps as he spends most of the night staring at the sky. Of course his rooster crows at dawn and no farmer can afford to sleep past the dawn. So his mind is a bit ragged.\"");
say();
UI_remove_answer("Mack");
labelFunc0433_0123:
case "Britain" atend labelFunc0433_0136:
message("\"Oh, in Britain they look for quality produce. I see the people who buy here look over every egg for cracks and every vegetable for any sign of spoilage.\"");
say();
UI_remove_answer("Britain");
labelFunc0433_0136:
case "Paws" atend labelFunc0433_0149:
message("\"The people of Paws are always short of money. Mine heart goes out to them. They are always looking to buy the least expensive items for it is all they can afford.\"");
say();
UI_remove_answer("Paws");
labelFunc0433_0149:
case "buy" atend labelFunc0433_0188:
if (!(!(var0002 == 0x0007))) goto labelFunc0433_0163;
message("\"The market is now closed. Thou must return when we are open for business.\"");
say();
goto labelFunc0433_0181;
labelFunc0433_0163:
message("\"Wouldst thou like to buy some eggs, fruits or vegetables? We have plenty of delicious fresh eggs here for thee. And our vegetables are sure to keep thee in good health.\"");
say();
var0003 = Func090A();
if (!var0003) goto labelFunc0433_017D;
message("\"I am sure we have something here that will be to thy liking.\"");
say();
Func08A7();
goto labelFunc0433_0181;
labelFunc0433_017D:
message("\"Perhaps another time then.\"");
say();
labelFunc0433_0181:
UI_remove_answer("buy");
labelFunc0433_0188:
case "bye" atend labelFunc0433_0193:
goto labelFunc0433_0196;
labelFunc0433_0193:
goto labelFunc0433_0059;
labelFunc0433_0196:
break;
message("\"Good day to thee, ");
message(var0000);
message(".\"*");
say();
labelFunc0433_01A1:
if (!(event == 0x0000)) goto labelFunc0433_0228;
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFCD));
var0004 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0007)) goto labelFunc0433_0222;
if (!(var0004 == 0x0001)) goto labelFunc0433_01E5;
var0005 = "@Come to the Farmer's Market!@";
labelFunc0433_01E5:
if (!(var0004 == 0x0002)) goto labelFunc0433_01F5;
var0005 = "@The Market is open!@";
labelFunc0433_01F5:
if (!(var0004 == 0x0003)) goto labelFunc0433_0205;
var0005 = "@Vegetables! Meats!@";
labelFunc0433_0205:
if (!(var0004 == 0x0004)) goto labelFunc0433_0215;
var0005 = "@Come one, come all!@";
labelFunc0433_0215:
UI_item_say(0xFFCD, var0005);
goto labelFunc0433_0228;
labelFunc0433_0222:
Func092E(0xFFCD);
labelFunc0433_0228:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern var Func090A 0x90A ();
extern void Func0946 0x946 ();
extern void Func0947 0x947 ();
extern void Func0948 0x948 ();
extern void Func092E 0x92E (var var0000);
void Func0434 object#(0x434) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
if (!(event == 0x0001)) goto labelFunc0434_037C;
UI_show_npc_face(0xFFCC, 0x0000);
var0000 = Func0909();
var0001 = Func0908();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFCC));
var0003 = UI_part_of_day();
var0004 = Func08F7(0xFFFE);
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0085]) goto labelFunc0434_0059;
UI_add_answer("Jeanette");
labelFunc0434_0059:
if (!gflags[0x00CB]) goto labelFunc0434_0066;
UI_add_answer("made bread");
labelFunc0434_0066:
var0005 = Func0931(0xFE9B, 0x0001, 0x035F, 0xFE99, 0x000E);
var0006 = Func0931(0xFE9B, 0x0001, 0x035F, 0xFE99, 0x000F);
if (!(var0005 || var0006)) goto labelFunc0434_00A1;
UI_add_answer("sell flour");
labelFunc0434_00A1:
if (!(!gflags[0x00B5])) goto labelFunc0434_00B3;
message("You see a very clean-looking, portly young man who waves at you frantically.");
say();
gflags[0x00B5] = true;
goto labelFunc0434_00B7;
labelFunc0434_00B3:
message("\"Ah, hello there! Good to see thee again!\" says Willy.");
say();
labelFunc0434_00B7:
converse (0) atend labelFunc0434_0371;
case "name" atend labelFunc0434_00CD:
message("\"My given name is Wilhelm, although no one calls me that. I prefer to be addressed as Willy. Thank thee very much.\"");
say();
UI_remove_answer("name");
labelFunc0434_00CD:
case "job" atend labelFunc0434_0190:
message("\"I am the baker here in Britain and I make the sweetest bread thou hast ever tasted! ");
say();
if (!(var0002 == 0x0012)) goto labelFunc0434_018C;
message("\"Hast thou had a chance to sample any of my bread yet?\"");
say();
var0007 = Func090A();
if (!var0007) goto labelFunc0434_0161;
message("\"Ah, then thou dost agree it is the sweetest, dost thou not?\"");
say();
var0008 = Func090A();
if (!var0008) goto labelFunc0434_015A;
message("\"Ha! Thou dost see, then? Everyone agrees! That should be proof enough!\"");
say();
var0004 = Func08F7(0xFFFE);
if (!var0004) goto labelFunc0434_0157;
UI_show_npc_face(0xFFFE, 0x0000);
message("\"I want some!\"*");
say();
UI_show_npc_face(0xFFCC, 0x0000);
message("\"Here thou art, laddie.\" Willy hands Spark a pastry and the boy devours it in one gulp.*");
say();
UI_show_npc_face(0xFFFE, 0x0000);
message("\"Mmmmm! I say, ");
message(var0001);
message(", I think we need a lot of this for the road. We had best buy some, all right?\"*");
say();
UI_remove_npc_face(0xFFFE);
UI_show_npc_face(0xFFCC, 0x0000);
labelFunc0434_0157:
goto labelFunc0434_015E;
labelFunc0434_015A:
message("\"Thou dost not?! Why, do not be ridiculous! Of course thou dost!\"");
say();
labelFunc0434_015E:
goto labelFunc0434_017C;
labelFunc0434_0161:
message("\"Then here, thou must have some!\" He tears a piece of bread off of one of several loaves he is carrying and stuffs it into your mouth. \"There! Is it not the sweetest bread thou hast ever tasted? It is, is it not?!\" You chew as fast as you can in order to answer him.");
say();
var0009 = Func090A();
if (!var0009) goto labelFunc0434_0178;
message("He grabs your face by the cheeks and plants a big kiss on your forehead. \"Thou art truly a person of good palate and refined taste!\"");
say();
goto labelFunc0434_017C;
labelFunc0434_0178:
message("Dejectedly Willy looks down at the loaf of bread he is carrying. He sniffs at it twice and tosses it out of sight.");
say();
labelFunc0434_017C:
UI_add_answer(["baker", "bread"]);
goto labelFunc0434_0190;
labelFunc0434_018C:
message("\"Please come to the bakery when it is open in daytime hours and thou shalt sample some!\"");
say();
labelFunc0434_0190:
case "baker" atend labelFunc0434_01BA:
message("He nods. \"Yes, I am a baker and I have many secret recipes passed down to me by my father and mother. Why, there are even those who say I am a master baker!");
say();
message("\"And there are those who call me a... doughnut,\" he says with a frown.");
say();
UI_remove_answer("baker");
UI_add_answer(["secret recipes", "father and mother", "master baker", "doughnut"]);
labelFunc0434_01BA:
case "secret recipes" atend labelFunc0434_01CD:
message("\"Oh, dear. Do not tell me that thou art yet another person who is trying to pry one of my secret recipes out of me! If that is what thou art after then thou wilt just be disappointed!\"");
say();
UI_remove_answer("secret recipes");
labelFunc0434_01CD:
case "father and mother" atend labelFunc0434_01E7:
message("Willy wipes away a tear. \"Gone. Both of them. Gone to join mine ancestors in that great kitchen in the sky. I will never be able to cook as they did. Still I plod along, trying to keep the family name alive, and that is why I am a baker. But I suppose it is not the only reason.\"");
say();
UI_remove_answer("father and mother");
UI_add_answer("why");
labelFunc0434_01E7:
case "master baker" atend labelFunc0434_01FE:
message("\"Yes, many people tell me that. Now thou dost say it, too. If thou dost say so, then it must be true!\"");
say();
message("Willy takes a bite of his own bread. \"Mmmm. I -am- a master baker!\"");
say();
UI_remove_answer("master baker");
labelFunc0434_01FE:
case "doughnut" atend labelFunc0434_0211:
message("He gives you a long puzzled look. After a moment he takes one of his loaves of bread and swats you over the head with it.");
say();
UI_remove_answer("doughnut");
labelFunc0434_0211:
case "why" atend labelFunc0434_022B:
message("\"Actually, there is a very good reason why I am a baker.\"");
say();
UI_remove_answer("why");
UI_add_answer("reason");
labelFunc0434_022B:
case "reason" atend labelFunc0434_0245:
message("\"Because the way to a woman's heart is through her stomach. Why, I have two women in love with me right now and I did not even have to pursue either one.\"");
say();
UI_remove_answer("reason");
UI_add_answer("two women");
labelFunc0434_0245:
case "two women" atend labelFunc0434_0265:
message("He sighs. \"If thou must know, their names are Jeanette and Gaye.\"");
say();
UI_remove_answer("two women");
UI_add_answer(["Jeanette", "Gaye"]);
labelFunc0434_0265:
case "Jeanette" atend labelFunc0434_0278:
message("\"Jeanette is a pleasant enough girl, but to be honest I cannot see myself with a tavern wench. She thinks I have not noticed how she feels about me. Frankly, I wish she would just leave me alone.\"");
say();
UI_remove_answer("Jeanette");
labelFunc0434_0278:
case "Gaye" atend labelFunc0434_028B:
message("\"Gaye, who runs the costume shoppe, is of more interest to me. But she is a Fellowship member and I have no wish to become one. I hope that it does not prevent us from courting.\"");
say();
UI_remove_answer("Gaye");
labelFunc0434_028B:
case "bread" atend labelFunc0434_02AB:
message("\"My bread is the finest in Britannia. It is renown for both its pleasant taste and its very reasonable price. But it is a lot of work making enough to satisfy the constant demand for it. I need to hire someone to help me.\"");
say();
UI_remove_answer("bread");
UI_add_answer(["buy", "hire"]);
labelFunc0434_02AB:
case "buy" atend labelFunc0434_02E5:
if (!(var0002 == 0x0012)) goto labelFunc0434_02DA;
message("\"I not only have bread for sale, but pastries, cakes and rolls as well. The most delicious baked goods thou couldst ever wish to pop into thy mouth! Wouldst thou like to buy some?\"");
say();
var000A = Func090A();
if (!var000A) goto labelFunc0434_02D3;
Func0946();
goto labelFunc0434_02D7;
labelFunc0434_02D3:
message("\"If thou wert a person of truly refined taste, thou wouldst buy some!\"");
say();
labelFunc0434_02D7:
goto labelFunc0434_02DE;
labelFunc0434_02DA:
message("\"I am afraid the bakery is closed. Please come back during normal business hours.\"");
say();
labelFunc0434_02DE:
UI_remove_answer("buy");
labelFunc0434_02E5:
case "hire" atend labelFunc0434_033F:
if (!(var0002 == 0x0012)) goto labelFunc0434_0334;
message("\"Thou couldst work for me here in the shoppe making bread. Or I will buy sacks of flour from thee. Thou couldst buy them wholesale in Paws, and I will pay thee 4 gold per sack.\"");
say();
message("\"Dost thou wish to work here in the shoppe for me?\" Willy asks hopefully.");
say();
var000B = Func090A();
if (!var000B) goto labelFunc0434_032D;
message("\"Excellent! Thou canst start work immediately! I shall pay thee 5 gold for every five loaves of bread thou dost make. All right?\"");
say();
var000C = Func090A();
if (!var000C) goto labelFunc0434_0326;
gflags[0x00CB] = true;
message("\"First thou must make dough from the flour. Simply spread some flour out on the table, add some water to make it thick and, well, doughy. Then use the dough in the oven to bake it. Wait a bit, then-- voila! Thou dost have bread!\"");
say();
goto labelFunc0434_032A;
labelFunc0434_0326:
message("\"Very well. But I warn thee that employment is hard to obtain in these times!\"");
say();
labelFunc0434_032A:
goto labelFunc0434_0331;
labelFunc0434_032D:
message("\"'Tis a pity thou art unavailable. Thou dost look like one who doth know their way around a kitchen.\"");
say();
labelFunc0434_0331:
goto labelFunc0434_0338;
labelFunc0434_0334:
message("\"I would be happy to talk with thee about employment at my shoppe during normal business hours.\"");
say();
labelFunc0434_0338:
UI_remove_answer("hire");
labelFunc0434_033F:
case "made bread" atend labelFunc0434_0351:
Func0947();
UI_remove_answer("made bread");
labelFunc0434_0351:
case "sell flour" atend labelFunc0434_0363:
Func0948();
UI_remove_answer("sell flour");
labelFunc0434_0363:
case "bye" atend labelFunc0434_036E:
goto labelFunc0434_0371;
labelFunc0434_036E:
goto labelFunc0434_00B7;
labelFunc0434_0371:
break;
message("\"Good day to thee, ");
message(var0000);
message(", and bon appetit!\"*");
say();
labelFunc0434_037C:
if (!(event == 0x0000)) goto labelFunc0434_0403;
var0003 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFCC));
var000D = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0012)) goto labelFunc0434_03FD;
if (!(var000D == 0x0001)) goto labelFunc0434_03C0;
var000E = "@Luscious bread!@";
labelFunc0434_03C0:
if (!(var000D == 0x0002)) goto labelFunc0434_03D0;
var000E = "@Delicious pastries!@";
labelFunc0434_03D0:
if (!(var000D == 0x0003)) goto labelFunc0434_03E0;
var000E = "@Bread fit for a king!@";
labelFunc0434_03E0:
if (!(var000D == 0x0004)) goto labelFunc0434_03F0;
var000E = "@Fresh pastries!@";
labelFunc0434_03F0:
UI_item_say(0xFFCC, var000E);
goto labelFunc0434_0403;
labelFunc0434_03FD:
Func092E(0xFFCC);
labelFunc0434_0403:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func090A 0x90A ();
extern void Func088E 0x88E ();
extern void Func0919 0x919 ();
extern void Func092E 0x92E (var var0000);
void Func0435 object#(0x435) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
if (!(event == 0x0001)) goto labelFunc0435_01FD;
UI_show_npc_face(0xFFCB, 0x0000);
var0000 = Func0909();
var0001 = UI_wearing_fellowship();
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFCB));
if (!(var0002 == 0x0007)) goto labelFunc0435_006D;
var0004 = Func08FC(0xFFCB, 0xFFE6);
if (!var0004) goto labelFunc0435_0058;
message("Gaye is watching the Fellowship meeting. She turns to you brusquely and puts a finger to her lips, gesturing for you to be silent.*");
say();
abort;
goto labelFunc0435_006D;
labelFunc0435_0058:
if (!gflags[0x00DA]) goto labelFunc0435_0068;
message("\"I cannot imagine where Batlin is. I am worried about him...\"");
say();
goto labelFunc0435_006D;
goto labelFunc0435_006D;
labelFunc0435_0068:
message("\"I cannot speak now! I am on my way to the Fellowship meeting at the Hall!\"*");
say();
abort;
labelFunc0435_006D:
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x00B5]) goto labelFunc0435_008A;
UI_add_answer("Willy");
labelFunc0435_008A:
if (!(!gflags[0x00B6])) goto labelFunc0435_009C;
message("You see a woman who oozes partially sincere friendliness.");
say();
gflags[0x00B6] = true;
goto labelFunc0435_00A0;
labelFunc0435_009C:
message("\"Hello again, and what may I do for thee today?\" asks Gaye.");
say();
labelFunc0435_00A0:
converse (0) atend labelFunc0435_01F2;
case "name" atend labelFunc0435_00B6:
message("\"My name is Gaye.\"");
say();
UI_remove_answer("name");
labelFunc0435_00B6:
case "job" atend labelFunc0435_00D2:
message("\"I oversee the clothier's here in Britain when I am not pursuing the teachings of The Fellowship.\"");
say();
UI_add_answer(["clothiers", "buy", "Fellowship"]);
labelFunc0435_00D2:
case "clothiers" atend labelFunc0435_00E5:
message("\"At our clothier's shop we have the finest silks and garments to buy that thou hast ever seen, imported from every corner of Britannia to cater to all tastes.\"");
say();
UI_remove_answer("clothiers");
labelFunc0435_00E5:
case "buy" atend labelFunc0435_01AD:
if (!(!(var0003 == 0x0013))) goto labelFunc0435_00FF;
message("\"I am so sorry, the clothier's shop is closed. Please return during our regular business hours. We are open from nine until six every day.\"");
say();
goto labelFunc0435_01A6;
labelFunc0435_00FF:
if (!gflags[0x0067]) goto labelFunc0435_0188;
message("\"Do not tell me! Raymundo sent thee to get an Avatar costume! They cost thirty gold coins. Dost thou want one?\"");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc0435_017E;
message("She looks you up and down. \"Yes, I think we might be able to find something for thee.\"~~After several minutes of rummaging through the store, Gaye returns. \"Here it is! Not many left-- we have had a run on them recently!\"");
say();
var0006 = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
if (!(var0006 < 0x001E)) goto labelFunc0435_013D;
message("\"Um. Perhaps thou couldst return when thou dost have enough gold.\" She lays the costume down and smiles.");
say();
goto labelFunc0435_017B;
labelFunc0435_013D:
var0007 = UI_add_party_items(0x0001, 0x0346, 0xFE99, 0xFE99, false);
if (!(!var0007)) goto labelFunc0435_015F;
message("\"Oh. Thou canst not carry this with what thou art already carrying. Mayhaps thou couldst dispose of something and return for the costume.\"");
say();
goto labelFunc0435_017B;
labelFunc0435_015F:
message("\"It is, indeed, a pleasure to do business with thee, O great Avatar!\" She grins and hands you the costume.");
say();
var0008 = UI_remove_party_items(0x001E, 0x0284, 0xFE99, 0xFE99, true);
gflags[0x0068] = true;
labelFunc0435_017B:
goto labelFunc0435_0185;
labelFunc0435_017E:
message("\"'Tis strange! I thought for certain that thou wert the theatrical type!\"");
say();
Func088E();
labelFunc0435_0185:
goto labelFunc0435_01A6;
labelFunc0435_0188:
message("\"Wouldst thou like to buy some clothing today?\"");
say();
var0009 = Func090A();
if (!var0009) goto labelFunc0435_01A2;
message("\"We have many nice clothes to choose from.\"");
say();
Func088E();
goto labelFunc0435_01A6;
labelFunc0435_01A2:
message("\"Thou mayest look around for thyself. If thou dost change thy mind be sure to let me know.\"");
say();
labelFunc0435_01A6:
UI_remove_answer("buy");
labelFunc0435_01AD:
case "Fellowship" atend labelFunc0435_01D1:
if (!(!var0001)) goto labelFunc0435_01BF;
Func0919();
labelFunc0435_01BF:
message("\"Thou wouldst want to attend the Fellowship meeting tonight at nine o'clock. It is always a moving experience to hear the words of Batlin, our founder.\"");
say();
UI_remove_answer("Fellowship");
UI_remove_answer("philosophy");
labelFunc0435_01D1:
case "Willy" atend labelFunc0435_01E4:
message("\"Yes, he is a very amusing fellow. I am quite taken with him and I do see him against my better judgment. He does not seem like the type to join The Fellowship, though. Since The Fellowship is my whole life, I do not know if there is a place in it for him. I have not made up my mind about that yet.\"");
say();
UI_remove_answer("Willy");
labelFunc0435_01E4:
case "bye" atend labelFunc0435_01EF:
goto labelFunc0435_01F2;
labelFunc0435_01EF:
goto labelFunc0435_00A0;
labelFunc0435_01F2:
break;
message("\"Good day, ");
message(var0000);
message(".\"*");
say();
labelFunc0435_01FD:
if (!(event == 0x0000)) goto labelFunc0435_0284;
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFCB));
var000A = UI_die_roll(0x0001, 0x0004);
if (!(var0003 == 0x0013)) goto labelFunc0435_027E;
if (!(var000A == 0x0001)) goto labelFunc0435_0241;
var000B = "@Clothing? Boots?@";
labelFunc0435_0241:
if (!(var000A == 0x0002)) goto labelFunc0435_0251;
var000B = "@Swamp boots?@";
labelFunc0435_0251:
if (!(var000A == 0x0003)) goto labelFunc0435_0261;
var000B = "@Tunic? Dress?@";
labelFunc0435_0261:
if (!(var000A == 0x0004)) goto labelFunc0435_0271;
var000B = "@Fine clothes here!@";
labelFunc0435_0271:
UI_item_say(0xFFCB, var000B);
goto labelFunc0435_0284;
labelFunc0435_027E:
Func092E(0xFFCB);
labelFunc0435_0284:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0909 0x909 ();
extern var Func08F7 0x8F7 (var var0000);
extern void Func0863 0x863 ();
extern void Func092E 0x92E (var var0000);
void Func0436 object#(0x436) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
if (!(event == 0x0001)) goto labelFunc0436_0289;
UI_show_npc_face(0xFFCA, 0x0000);
var0000 = Func0908();
var0001 = Func0909();
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFCA));
if (!(var0002 == 0x0007)) goto labelFunc0436_00C2;
var0004 = Func08F7(0xFFD9);
var0005 = Func08F7(0xFFD8);
if (!(var0004 && var0005)) goto labelFunc0436_00BD;
message("Coop is onstage with The Avatars. He sees you and says, \"Uhm, there is someone special listening tonight, and this next tune is dedicated to them.\"");
say();
message("He signals to his partners and they begin to play. He sings the following lyrics:");
say();
message("\"Across the country we do fly -- ~Best to heed our battle cry!");
say();
message("\"We fight for virtues, far and wide, ~And we cause the damsel's sigh.\"");
say();
message("Then Neno and Judith join in on the chorus:");
say();
message("\"Oh, Avatars are we ~And virtuous we doth be!");
say();
message("\"Beware ye ogre and ye beast ~Lest thou be served at our next feast!");
say();
message("\"We rescue damsels, oh so fair, ~And battle pirates on a dare!");
say();
message("\"No evil liche doth daunt or sway! ~Against them all we win the day!");
say();
message("\"We are the Av-atars! ~We are the Av-atars! ~We are the Aaaa-Vaaa-Taaars!\"");
say();
message("The applause is tumultuous.*");
say();
var0006 = Func08F7(0xFFFF);
if (!var0006) goto labelFunc0436_00BA;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Hmmm. They must have seen thee coming, ");
message(var0001);
message(".\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFCA, 0x0000);
abort;
labelFunc0436_00BA:
goto labelFunc0436_00C2;
labelFunc0436_00BD:
message("\"Must not stop to speak now! I am late for a performance of The Avatars! Come and hear us play at The Blue Boar!\"*");
say();
abort;
labelFunc0436_00C2:
UI_add_answer(["name", "job", "bye"]);
var0006 = Func08F7(0xFFFF);
if (!var0006) goto labelFunc0436_00E8;
UI_add_answer("Iolo");
labelFunc0436_00E8:
if (!(!gflags[0x00B7])) goto labelFunc0436_0141;
message("You see a young, wiry teen.");
say();
if (!var0006) goto labelFunc0436_013A;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Hello, lad! This is ");
message(var0000);
message(", the Avatar! This is my young apprentice, Coop. How go things, Coop?\"*");
say();
UI_show_npc_face(0xFFCA, 0x0000);
message("\"Not too badly, milord. I sold a triple crossbow this morning.\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Lovely! Lovely! Keep that gold coming in, that's what I always say!\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFCA, 0x0000);
labelFunc0436_013A:
gflags[0x00B7] = true;
goto labelFunc0436_0145;
labelFunc0436_0141:
message("\"Hello!\" Coop says.");
say();
labelFunc0436_0145:
converse (0) atend labelFunc0436_0284;
case "name" atend labelFunc0436_015B:
message("\"My name is Coop.\"");
say();
UI_remove_answer("name");
labelFunc0436_015B:
case "job" atend labelFunc0436_0196:
message("\"I am the manager of Iolo's Bows! Master Iolo has entrusted me with this responsibility!");
say();
if (!(var0003 == 0x0007)) goto labelFunc0436_0185;
message("\"If there is anything thou dost want in the way of bows and arrows, please say so!\"");
say();
UI_add_answer(["bows and arrows", "buy"]);
goto labelFunc0436_0189;
labelFunc0436_0185:
message("\"Thou must come by the shoppe when it is open!\"");
say();
labelFunc0436_0189:
UI_add_answer(["Iolo's Bows", "responsibility"]);
labelFunc0436_0196:
case "Iolo's Bows" atend labelFunc0436_01A9:
message("\"Iolo opened this shoppe many, many years ago. He opened Iolo's South in Serpent's Hold more recently. He is becoming quite an entrepreneur!\"");
say();
UI_remove_answer("Iolo's Bows");
labelFunc0436_01A9:
case "responsibility" atend labelFunc0436_01F5:
message("\"I sell many goods but I also plan to perpetuate the good name of Iolo by becoming a master archer! Iolo has taught me well!\"*");
say();
var0006 = Func08F7(0xFFFF);
if (!var0006) goto labelFunc0436_01E3;
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Yes, the lad is good! He was good before I taught him the first lesson.\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFCA, 0x0000);
labelFunc0436_01E3:
message("\"What I would not give to join thy group and go adventuring! But, then there would be no one to run the shoppe. So I cannot go. But someday... Anyway, I please myself in the evenings by singing with a musical group.\"");
say();
UI_remove_answer("responsibility");
UI_add_answer("singing");
labelFunc0436_01F5:
case "Iolo" atend labelFunc0436_022B:
message("\"Hello, boss!\"*");
say();
UI_show_npc_face(0xFFFF, 0x0000);
message("\"Greetings, lad. Thou art looking well.\"*");
say();
UI_remove_npc_face(0xFFFF);
UI_show_npc_face(0xFFCA, 0x0000);
message("\"The same to thee, milord!\"*");
say();
UI_remove_answer("Iolo");
labelFunc0436_022B:
case "singing" atend labelFunc0436_0245:
message("\"My group is called... well, it is called 'The Avatars'. I hope that does not offend thee.\"");
say();
UI_remove_answer("singing");
UI_add_answer("The Avatars");
labelFunc0436_0245:
case "The Avatars" atend labelFunc0436_0258:
message("\"The band is just me and two musicians from The Music Hall. We play at the Blue Boar every night. I sing and write lyrics. The other two play the instruments. Please come to hear us!\"");
say();
UI_remove_answer("The Avatars");
labelFunc0436_0258:
case "bows and arrows" atend labelFunc0436_026B:
message("\"We sell all kinds of bows, along with arrows and bolts. If thou dost wish to buy something, please say so!\"");
say();
UI_remove_answer("bows and arrows");
labelFunc0436_026B:
case "buy" atend labelFunc0436_0276:
Func0863();
labelFunc0436_0276:
case "bye" atend labelFunc0436_0281:
goto labelFunc0436_0284;
labelFunc0436_0281:
goto labelFunc0436_0145;
labelFunc0436_0284:
break;
message("\"Goodbye!\"*");
say();
labelFunc0436_0289:
if (!(event == 0x0000)) goto labelFunc0436_0310;
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFCA));
var0007 = UI_die_roll(0x0001, 0x0004);
if (!(var0003 == 0x0007)) goto labelFunc0436_030A;
if (!(var0007 == 0x0001)) goto labelFunc0436_02CD;
var0008 = "@Arrows? Bows?@";
labelFunc0436_02CD:
if (!(var0007 == 0x0002)) goto labelFunc0436_02DD;
var0008 = "@Iolo's is open!@";
labelFunc0436_02DD:
if (!(var0007 == 0x0003)) goto labelFunc0436_02ED;
var0008 = "@Bolts? Arrows?@";
labelFunc0436_02ED:
if (!(var0007 == 0x0004)) goto labelFunc0436_02FD;
var0008 = "@Archery equipment!@";
labelFunc0436_02FD:
UI_item_say(0xFFCA, var0008);
goto labelFunc0436_0310;
labelFunc0436_030A:
Func092E(0xFFCA);
labelFunc0436_0310:
return;
}
// externs
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func0897 0x897 ();
extern void Func0898 0x898 ();
extern void Func092E 0x92E (var var0000);
void Func0437 object#(0x437) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!(event == 0x0001)) goto labelFunc0437_01CB;
UI_show_npc_face(0xFFC9, 0x0000);
var0000 = UI_wearing_fellowship();
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFC9));
if (!(var0001 == 0x0007)) goto labelFunc0437_0067;
var0003 = Func08FC(0xFFC9, 0xFFE6);
if (!var0003) goto labelFunc0437_0052;
message("Grayson shushes you, as you are disturbing the Fellowship meeting.*");
say();
abort;
goto labelFunc0437_0067;
labelFunc0437_0052:
if (!gflags[0x00DA]) goto labelFunc0437_0062;
message("\"Now where could that Batlin be? I suppose we shall have to have the meeting without him!\"");
say();
goto labelFunc0437_006D;
goto labelFunc0437_0067;
labelFunc0437_0062:
message("\"I must run! I must run! I must! I must! I am late for the Fellowship meeting!\"*");
say();
abort;
labelFunc0437_0067:
var0004 = Func0909();
labelFunc0437_006D:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00B8])) goto labelFunc0437_008F;
message("You see a shrewd-looking man who smiles as if he has just seen his next customer.");
say();
gflags[0x00B8] = true;
goto labelFunc0437_0093;
labelFunc0437_008F:
message("\"Hello again, my good friend,\" says Grayson.");
say();
labelFunc0437_0093:
converse (0) atend labelFunc0437_01C0;
case "name" atend labelFunc0437_00AF:
message("\"I am Grayson, ");
message(var0004);
message(". A humble and honest man.\"");
say();
UI_remove_answer("name");
labelFunc0437_00AF:
case "job" atend labelFunc0437_00C8:
message("\"Why, here in Britain I sell the best armour and weapons that money can buy. In my spare time, I do deeds for The Fellowship.\"");
say();
UI_add_answer(["buy", "Fellowship"]);
labelFunc0437_00C8:
case "armour" atend labelFunc0437_00EF:
message("Grayson looks you up and down. \"Dost thou truly believe that thou art sufficiently protected in what thou art wearing? In truth I fear for thy safety if thou shouldst become involved in combat. Are thou interested in buying something today?\"");
say();
if (!Func090A()) goto labelFunc0437_00E0;
Func0897();
goto labelFunc0437_00E8;
labelFunc0437_00E0:
message("\"Another time, then.\"");
say();
UI_pop_answers();
labelFunc0437_00E8:
UI_remove_answer("armour");
labelFunc0437_00EF:
case "weapons" atend labelFunc0437_0116:
message("After looking at you, Grayson says, \"I can see that thou art in sore need of weaponry. Dost thou want to buy something today?\"");
say();
if (!Func090A()) goto labelFunc0437_0107;
Func0898();
goto labelFunc0437_010F;
labelFunc0437_0107:
message("\"Another time, then.\"");
say();
UI_pop_answers();
labelFunc0437_010F:
UI_remove_answer("weapons");
labelFunc0437_0116:
case "buy" atend labelFunc0437_0148:
message("\"I sell a complete line of armour and weapons.\"");
say();
if (!(var0002 == 0x0007)) goto labelFunc0437_0144;
message("\"Which wouldst thou care to inspect?\"");
say();
UI_push_answers();
UI_add_answer(["armour", "weapons"]);
goto labelFunc0437_0148;
labelFunc0437_0144:
message("\"Please come to the shop when it is open.\"");
say();
labelFunc0437_0148:
case "Fellowship" atend labelFunc0437_0172:
if (!var0000) goto labelFunc0437_015A;
message("\"I see that thou art a member of The Fellowship!\"");
say();
labelFunc0437_015A:
message("\"It has been very beneficial in my life. I was on the verge of going out of business before I joined and now I am more prosperous than ever before.\"");
say();
UI_remove_answer("Fellowship");
UI_add_answer(["beneficial", "out of business"]);
labelFunc0437_0172:
case "beneficial" atend labelFunc0437_018C:
message("\"I was never sufficiently forward or aggressive enough to be successful as a merchant but The Fellowship changed all that for me.\"");
say();
UI_remove_answer("beneficial");
UI_add_answer("changed");
labelFunc0437_018C:
case "changed" atend labelFunc0437_019F:
message("\"By applying the values of the Triad of Inner Strength to my life I have accomplished what I have set out to do with my life. Mine armour and weapon shop is successful and I have a place where I belong in The Fellowship.\"");
say();
UI_remove_answer("changed");
labelFunc0437_019F:
case "out of business" atend labelFunc0437_01B2:
message("\"Thou dost see, I am convinced that my failures were all due to my bad attitude. It took the teachings of The Fellowship to change the way I used my mind and to turn me in the proper direction.\"");
say();
UI_remove_answer("out of business");
labelFunc0437_01B2:
case "bye" atend labelFunc0437_01BD:
goto labelFunc0437_01C0;
labelFunc0437_01BD:
goto labelFunc0437_0093;
labelFunc0437_01C0:
break;
message("\"Goodbye and farewell, ");
message(var0004);
message(".\"*");
say();
labelFunc0437_01CB:
if (!(event == 0x0000)) goto labelFunc0437_0252;
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFC9));
var0005 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0007)) goto labelFunc0437_024C;
if (!(var0005 == 0x0001)) goto labelFunc0437_020F;
var0006 = "@Weapons?@";
labelFunc0437_020F:
if (!(var0005 == 0x0002)) goto labelFunc0437_021F;
var0006 = "@Armour?@";
labelFunc0437_021F:
if (!(var0005 == 0x0003)) goto labelFunc0437_022F;
var0006 = "@Something to equip thee?@";
labelFunc0437_022F:
if (!(var0005 == 0x0004)) goto labelFunc0437_023F;
var0006 = "@Need a weapon?@";
labelFunc0437_023F:
UI_item_say(0xFFC9, var0006);
goto labelFunc0437_0252;
labelFunc0437_024C:
Func092E(0xFFC9);
labelFunc0437_0252:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func0438 object#(0x438) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
if (!(event == 0x0001)) goto labelFunc0438_01D8;
UI_show_npc_face(0xFFC8, 0x0000);
var0000 = Func0909();
var0001 = UI_wearing_fellowship();
var0002 = UI_part_of_day();
UI_add_answer(["name", "job", "bye"]);
if (!var0001) goto labelFunc0438_0043;
UI_add_answer("Fellowship");
labelFunc0438_0043:
if (!(!gflags[0x00B9])) goto labelFunc0438_0055;
message("You see a pleasant-looking young peasant woman.");
say();
gflags[0x00B9] = true;
goto labelFunc0438_005F;
labelFunc0438_0055:
message("\"Greetings to thee, ");
message(var0000);
message(",\" says Diane.");
say();
labelFunc0438_005F:
converse (0) atend labelFunc0438_01CD;
case "name" atend labelFunc0438_0075:
message("\"My name is Diane.\"");
say();
UI_remove_answer("name");
labelFunc0438_0075:
case "job" atend labelFunc0438_0091:
message("\"My job is to oversee the stables here in Britain and sell thee a horse and carriage if thou dost want one.\"");
say();
UI_add_answer(["stables", "Britain", "carriage"]);
labelFunc0438_0091:
case "stables" atend labelFunc0438_00A4:
message("\"Here thou wilt find a selection of the finest horses produced by Lord British's personal horse breeder. If thou dost wish to buy one, I am sure we can come to some sort of arrangement. They come with a carriage, of course.\"");
say();
UI_remove_answer("stables");
labelFunc0438_00A4:
case "Britain" atend labelFunc0438_00BE:
message("\"Britain is such a grand city, but it can be somewhat disconcerting if thou dost not know anyone. Fortunately, I know many people here.\"");
say();
UI_remove_answer("Britain");
UI_add_answer("people");
labelFunc0438_00BE:
case "carriage" atend labelFunc0438_0141:
message("\"The horse and carriage combination sells for 120 gold. Thou shalt find it in a small shelter just south of the stables, across the street. Dost thou want a title?\"");
say();
var0003 = Func090A();
if (!var0003) goto labelFunc0438_0136;
var0004 = UI_count_objects(0xFE9B, 0x0284, 0xFE99, 0xFE99);
if (!(var0004 >= 0x0078)) goto labelFunc0438_012F;
var0005 = UI_add_party_items(0x0001, 0x031D, 0x001D, 0xFE99, false);
if (!var0005) goto labelFunc0438_0128;
message("\"Very good. Here is thy title.\"");
say();
var0006 = UI_remove_party_items(0x0078, 0x0284, 0xFE99, 0xFE99, true);
goto labelFunc0438_012C;
labelFunc0438_0128:
message("\"Oh, my. Thine hands are too full to take the title!\"");
say();
labelFunc0438_012C:
goto labelFunc0438_0133;
labelFunc0438_012F:
message("\"Oh. Thou dost not have enough gold to buy the title.\"");
say();
labelFunc0438_0133:
goto labelFunc0438_013A;
labelFunc0438_0136:
message("\"Some other time, then.\"");
say();
labelFunc0438_013A:
UI_remove_answer("carriage");
labelFunc0438_0141:
case "people" atend labelFunc0438_0167:
message("\"I have many friends in Britannia. Among them are Greg, James, Brownie and Mack.\"");
say();
UI_remove_answer("people");
UI_add_answer(["Greg", "James", "Brownie", "Mack"]);
labelFunc0438_0167:
case "Greg" atend labelFunc0438_017A:
message("\"Greg runs a shop that sells provisions. If thou art planning any sort of expedition he is just the person to see. He seems to be lucky. Perhaps some of it will rub off on thee.\"");
say();
UI_remove_answer("Greg");
labelFunc0438_017A:
case "James" atend labelFunc0438_018D:
message("\"James, who runs an inn not far from here, wanted a life of adventure. His family wanted him to run the inn after his father died and he has been discontent ever since. Still, I think he fancies Cynthia who works at the Mint.\"");
say();
UI_remove_answer("James");
labelFunc0438_018D:
case "Brownie" atend labelFunc0438_01A0:
message("\"Brownie is a decent and honest man who would have made a much better mayor than Patterson if thou dost want mine opinion. He uses our horses to plow his fields in the spring.\"");
say();
UI_remove_answer("Brownie");
labelFunc0438_01A0:
case "Mack" atend labelFunc0438_01B3:
message("\"One word of warning about Mack. Do not let him start talking about the sky. Other than that he is perfectly fine, I can assure thee.\"");
say();
UI_remove_answer("Mack");
labelFunc0438_01B3:
case "Fellowship" atend labelFunc0438_01BF:
message("Diane notices your Fellowship medallion. \"It is odd. If thou dost not mind me saying so, thou dost not seem like a Fellowship member. There is something about thee. I cannot place it.\"");
say();
labelFunc0438_01BF:
case "bye" atend labelFunc0438_01CA:
goto labelFunc0438_01CD;
labelFunc0438_01CA:
goto labelFunc0438_005F;
labelFunc0438_01CD:
break;
message("\"Good day to thee, ");
message(var0000);
message(".\"*");
say();
labelFunc0438_01D8:
if (!(event == 0x0000)) goto labelFunc0438_01E6;
Func092E(0xFFC8);
labelFunc0438_01E6:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func0439 object#(0x439) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
if (!(event == 0x0001)) goto labelFunc0439_0260;
UI_show_npc_face(0xFFC7, 0x0000);
var0000 = UI_part_of_day();
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFC7));
var0002 = Func0909();
var0003 = UI_wearing_fellowship();
UI_add_answer(["name", "job", "bye"]);
if (!(gflags[0x004A] || gflags[0x0040])) goto labelFunc0439_0055;
UI_add_answer("Crown Jewel");
labelFunc0439_0055:
if (!(!gflags[0x00BA])) goto labelFunc0439_0067;
message("Before you stands an old sailing man whose determined face appears to have weathered many a storm.");
say();
gflags[0x00BA] = true;
goto labelFunc0439_0071;
labelFunc0439_0067:
message("\"And what be thy business with me this time, ");
message(var0002);
message("?\" says Clint.");
say();
labelFunc0439_0071:
converse (0) atend labelFunc0439_025B;
case "name" atend labelFunc0439_0087:
message("\"I be Clint.\"");
say();
UI_remove_answer("name");
labelFunc0439_0087:
case "job" atend labelFunc0439_00A0:
message("\"In my youth I was a sailor who sailed across the sea in tall ships. Now I must content myself solely with selling ships and sextants to others.\"");
say();
UI_add_answer(["sailor", "buy"]);
labelFunc0439_00A0:
case "sailor" atend labelFunc0439_00BA:
message("\"Of course this was in the day when it took mighty men to be a sailor. Nowadays those who set out to sea would not have lasted a day. But I suppose it is the nature of the universe that everything slowly becomes more tame.\"");
say();
UI_remove_answer("sailor");
UI_add_answer("tame");
labelFunc0439_00BA:
case "tame" atend labelFunc0439_00D4:
message("\"Soon all the monsters will die off and the whole world will join together in trust and worthiness and unity like all those Fellowship people say. Bah! The world was a better place when everybody fought everybody else, I say.\"");
say();
UI_remove_answer("tame");
UI_add_answer("Fellowship");
labelFunc0439_00D4:
case "Fellowship" atend labelFunc0439_00FB:
if (!var0003) goto labelFunc0439_00F0;
message("\"No offense intended, of course. I did not realize that thou art a member.\" Clint reacts as if he has just touched a leper.");
say();
UI_remove_answer("Fellowship");
goto labelFunc0439_00FB;
labelFunc0439_00F0:
message("\"It is always the best thing to make thine own way in the world and not listen to what thou art told to believe. Thou hast better remember that!\"");
say();
UI_remove_answer("Fellowship");
labelFunc0439_00FB:
case "buy" atend labelFunc0439_0132:
if (!(var0001 == 0x0007)) goto labelFunc0439_0121;
message("\"If thou art in need of a ship I hold the deed to a fine one. Thou wilt also need a sextant to help steer her true.\"");
say();
UI_add_answer(["buy ship deed", "buy sextant"]);
goto labelFunc0439_012B;
labelFunc0439_0121:
message("\"My business is now closed. Return another time and I will be happy to serve thee, ");
message(var0002);
message(".\"");
say();
labelFunc0439_012B:
UI_remove_answer("buy");
labelFunc0439_0132:
case "buy ship deed" atend labelFunc0439_01B5:
if (!gflags[0x00D2]) goto labelFunc0439_0147;
message("\"I do believe I sold thee the deed to 'The Beast'! What happened to it? Hast thou lost the ship? If so, then thou must find another shipwright!\"");
say();
goto labelFunc0439_01AE;
labelFunc0439_0147:
message("\"The deed to the ship 'The Beast' costs eight hundred gold pieces. Dost thou wish to purchase her?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc0439_01AA;
var0005 = UI_remove_party_items(0x0320, 0x0284, 0xFE99, 0xFE99, true);
if (!var0005) goto labelFunc0439_01A3;
var0006 = UI_add_party_items(0x0001, 0x031D, 0x000F, 0xFE99, false);
if (!var0006) goto labelFunc0439_019C;
message("\"Here is thy deed, ");
message(var0002);
message(".\"");
say();
gflags[0x00D2] = true;
goto labelFunc0439_01A0;
labelFunc0439_019C:
message("\"I would give thee thy deed but thou art carrying too much to take it from me!\"");
say();
labelFunc0439_01A0:
goto labelFunc0439_01A7;
labelFunc0439_01A3:
message("\"Thou dost not have enough gold to buy a ship!\"");
say();
labelFunc0439_01A7:
goto labelFunc0439_01AE;
labelFunc0439_01AA:
message("\"If thou dost need a ship be sure to come back here.\"");
say();
labelFunc0439_01AE:
UI_remove_answer("buy ship deed");
labelFunc0439_01B5:
case "buy sextant" atend labelFunc0439_0221:
message("\"A sextant costs one hundred gold pieces. Does thou wish to buy one?\"");
say();
var0007 = Func090A();
if (!var0007) goto labelFunc0439_0216;
var0008 = UI_remove_party_items(0x0064, 0x0284, 0xFE99, 0xFE99, true);
if (!var0008) goto labelFunc0439_020F;
var0009 = UI_add_party_items(0x0001, 0x028A, 0xFE99, 0xFE99, false);
if (!var0009) goto labelFunc0439_0208;
message("\"Here is thy sextant. She shall steer thee true, to be sure.\"");
say();
goto labelFunc0439_020C;
labelFunc0439_0208:
message("\"I would give thee thy sextant, but thou art carrying too much to take it from me.\"");
say();
labelFunc0439_020C:
goto labelFunc0439_0213;
labelFunc0439_020F:
message("\"Thou dost not have enough money to buy a sextant!\"");
say();
labelFunc0439_0213:
goto labelFunc0439_021A;
labelFunc0439_0216:
message("\"If thou shouldst ever need a sextant be sure to come back.\"");
say();
labelFunc0439_021A:
UI_remove_answer("buy sextant");
labelFunc0439_0221:
case "Crown Jewel" atend labelFunc0439_024D:
if (!(!gflags[0x0086])) goto labelFunc0439_023B;
message("\"The Crown Jewel came to Britain? Not anytime recently. Most certainly not. I remember the Crown Jewel and it has not been to Britain for a long time.\"");
say();
gflags[0x0086] = true;
goto labelFunc0439_0246;
labelFunc0439_023B:
message("\"As I have told thee before, the Crown Jewel has not been here in a long time.\"");
say();
UI_remove_answer("Crown Jewel");
labelFunc0439_0246:
UI_remove_answer("Crown Jewel");
labelFunc0439_024D:
case "bye" atend labelFunc0439_0258:
goto labelFunc0439_025B;
labelFunc0439_0258:
goto labelFunc0439_0071;
labelFunc0439_025B:
break;
message("\"May thy travels do well.\" *");
say();
labelFunc0439_0260:
if (!(event == 0x0000)) goto labelFunc0439_02E0;
var0001 = UI_get_schedule_type(UI_get_npc_object(0xFFC7));
var000A = UI_die_roll(0x0001, 0x0004);
if (!(var0001 == 0x0007)) goto labelFunc0439_02DA;
if (!(var000A == 0x0001)) goto labelFunc0439_029D;
var000B = "@Where's that spanner?@";
labelFunc0439_029D:
if (!(var000A == 0x0002)) goto labelFunc0439_02AD;
var000B = "@Where's mine hammer?@";
labelFunc0439_02AD:
if (!(var000A == 0x0003)) goto labelFunc0439_02BD;
var000B = "@Ahh, smell that sea breeze...@";
labelFunc0439_02BD:
if (!(var000A == 0x0004)) goto labelFunc0439_02CD;
var000B = "@Need a ship or sextant?@";
labelFunc0439_02CD:
UI_item_say(0xFFC7, var000B);
goto labelFunc0439_02E0;
labelFunc0439_02DA:
Func092E(0xFFC7);
labelFunc0439_02E0:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func090A 0x90A ();
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func092E 0x92E (var var0000);
void Func043A object#(0x43A) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
if (!(event == 0x0001)) goto labelFunc043A_0258;
UI_show_npc_face(0xFFC6, 0x0000);
var0000 = Func0909();
var0001 = UI_wearing_fellowship();
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFC6));
if (!(var0002 == 0x0007)) goto labelFunc043A_006D;
var0004 = Func08FC(0xFFC6, 0xFFE6);
if (!var0004) goto labelFunc043A_0058;
message("Gordon is too involved in listening to the Fellowship meeting to hear you.*");
say();
abort;
goto labelFunc043A_006D;
labelFunc043A_0058:
if (!gflags[0x00DA]) goto labelFunc043A_0068;
message("\"Where oh where is Batlin? He is late for the meeting!\"");
say();
goto labelFunc043A_006D;
goto labelFunc043A_006D;
labelFunc043A_0068:
message("\"Oh, my! I must leave immediately! I am late for the Fellowship meeting!\"*");
say();
abort;
labelFunc043A_006D:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00BB])) goto labelFunc043A_008F;
message("You see a friendly face looking back at you.");
say();
gflags[0x00BB] = true;
goto labelFunc043A_0099;
labelFunc043A_008F:
message("\"How art thou this fine day, ");
message(var0000);
message("?\" asks Gordon.");
say();
labelFunc043A_0099:
converse (0) atend labelFunc043A_024D;
case "name" atend labelFunc043A_00AF:
message("\"My name is Gordon.\"");
say();
UI_remove_answer("name");
labelFunc043A_00AF:
case "job" atend labelFunc043A_00C8:
message("\"I sell fish and chips from my wagon.\"");
say();
UI_add_answer(["fish and chips", "wagon"]);
labelFunc043A_00C8:
case "fish and chips" atend labelFunc043A_014B:
if (!(!(var0003 == 0x0007))) goto labelFunc043A_00E3;
message("\"Come back later when I am open for business.\"*");
say();
abort;
goto labelFunc043A_0144;
labelFunc043A_00E3:
message("\"I have the best fish and chips thou shalt taste in all of Britannia. My price is only 8 gold coins per serving. Wouldst thou like to have some?\"");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc043A_0140;
var0006 = UI_remove_party_items(0x0008, 0x0284, 0xFE99, 0xFE99, true);
if (!var0006) goto labelFunc043A_0139;
var0007 = UI_add_party_items(0x0001, 0x0179, 0xFE99, 0x001E, true);
if (!var0007) goto labelFunc043A_0132;
message("He hands you a plate.");
say();
message("\"They are indeed the best fish and chips in all of Britannia.\"");
say();
goto labelFunc043A_0136;
labelFunc043A_0132:
message("\"Thou art carrying too many things to take thy fish and chips from me!\"");
say();
labelFunc043A_0136:
goto labelFunc043A_013D;
labelFunc043A_0139:
message("\"Thou dost not have enough gold to get any fish and chips. Sorry!\"");
say();
labelFunc043A_013D:
goto labelFunc043A_0144;
labelFunc043A_0140:
message("\"Come back again when thou art hungry and I am sure thou shalt change thy mind.\"");
say();
labelFunc043A_0144:
UI_remove_answer("fish and chips");
labelFunc043A_014B:
case "wagon" atend labelFunc043A_016B:
message("\"I just painted my wagon recently. It receives more attention. Business is much better now. I am saving my money to travel to Buccaneer's Den.\"");
say();
UI_remove_answer("wagon");
UI_add_answer(["business", "Buccaneer's Den"]);
labelFunc043A_016B:
case "business" atend labelFunc043A_018B:
message("\"Ever since I became a member of The Fellowship, business has been increasing steadily. I have refined and improved the recipe for my fish batter and it has since become a favorite meal of nearly everyone in Britain. I have even served my fish and chips to Lord British himself.\"");
say();
UI_add_answer(["Fellowship", "Lord British"]);
UI_remove_answer("business");
labelFunc043A_018B:
case "Lord British" atend labelFunc043A_019E:
message("\"Thou dost know-- the bloke who wears a crown and acts like a king.\"");
say();
UI_remove_answer("Lord British");
labelFunc043A_019E:
case "Fellowship" atend labelFunc043A_01D4:
if (!var0001) goto labelFunc043A_01CA;
message("\"I am glad to see that thou art a member. Will I see thee at the next meeting?\"");
say();
var0008 = Func090A();
if (!var0008) goto labelFunc043A_01C3;
message("\"Then I shall see thee at nine o'clock sharp!\"");
say();
goto labelFunc043A_01C7;
labelFunc043A_01C3:
message("\"Thou shouldst apply thyself more stringently to the ways of The Fellowship! Our meeting is at nine o'clock. I can see thou dost certainly need to attend.\"");
say();
labelFunc043A_01C7:
goto labelFunc043A_01CD;
labelFunc043A_01CA:
Func0919();
labelFunc043A_01CD:
UI_remove_answer("Fellowship");
labelFunc043A_01D4:
case "philosophy" atend labelFunc043A_01E6:
Func091A();
UI_remove_answer("philosophy");
labelFunc043A_01E6:
case "Buccaneer's Den" atend labelFunc043A_0206:
message("\"I wish to win some money at Buccaneer's Den. It is a pirate resort and they have a fabulous House of Games there.\"");
say();
UI_add_answer(["pirate resort", "House of Games"]);
UI_remove_answer("Buccaneer's Den");
labelFunc043A_0206:
case "pirate resort" atend labelFunc043A_0219:
message("\"As I am certain thou knowest, Buccaneer's Den was once a den of thieves and villains. As such, it held a romantic appeal for those who longed for a taste of such an adventurous existence. I confess, I am one of those people. When thou dost spend thy life selling fish from a wagon, thou art in need of excitement. The pirates eventually realized just how much they are secretly envied, and so they have turned their island into a place of thrilling amusements.\"");
say();
UI_remove_answer("pirate resort");
labelFunc043A_0219:
case "House of Games" atend labelFunc043A_022C:
message("\"It is said they have several games of chance there! Gold can be won wagering on the outcome of a race of fine stallions.\"");
say();
UI_remove_answer("House of Games");
labelFunc043A_022C:
case "Fellowship" atend labelFunc043A_023F:
message("\"I saw thee receive thy medallion. I can certainly say the Fellowship has done wonders for my life and I know it will be the same for thee as well.\" He gives thee a knowing grin.");
say();
UI_remove_answer("Fellowship");
labelFunc043A_023F:
case "bye" atend labelFunc043A_024A:
goto labelFunc043A_024D;
labelFunc043A_024A:
goto labelFunc043A_0099;
labelFunc043A_024D:
break;
message("\"Have a pleasant day, ");
message(var0000);
message(".\" *");
say();
labelFunc043A_0258:
if (!(event == 0x0000)) goto labelFunc043A_02DF;
var0002 = UI_part_of_day();
var0003 = UI_get_schedule_type(UI_get_npc_object(0xFFC6));
var0009 = UI_die_roll(0x0001, 0x0004);
if (!(var0003 == 0x0007)) goto labelFunc043A_02D9;
if (!(var0009 == 0x0001)) goto labelFunc043A_029C;
var000A = "@Fish 'n' chips!@";
labelFunc043A_029C:
if (!(var0009 == 0x0002)) goto labelFunc043A_02AC;
var000A = "@Hot fish 'n' chips!@";
labelFunc043A_02AC:
if (!(var0009 == 0x0003)) goto labelFunc043A_02BC;
var000A = "@Fish 'n' chippies!@";
labelFunc043A_02BC:
if (!(var0009 == 0x0004)) goto labelFunc043A_02CC;
var000A = "@Fish 'n' chips here!@";
labelFunc043A_02CC:
UI_item_say(0xFFC6, var000A);
goto labelFunc043A_02DF;
labelFunc043A_02D9:
Func092E(0xFFC6);
labelFunc043A_02DF:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func090A 0x90A ();
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func08E3 0x8E3 ();
extern void Func092E 0x92E (var var0000);
void Func043B object#(0x43B) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
if (!(event == 0x0001)) goto labelFunc043B_030F;
UI_show_npc_face(0xFFC5, 0x0000);
var0000 = Func0909();
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFC5));
var0003 = UI_wearing_fellowship();
var0001 = UI_part_of_day();
if (!(var0001 == 0x0007)) goto labelFunc043B_0074;
var0004 = Func08FC(0xFFC5, 0xFFE6);
if (!var0004) goto labelFunc043B_005F;
message("Sean is deep in concentration, listening to the Fellowship meeting.*");
say();
abort;
goto labelFunc043B_0074;
labelFunc043B_005F:
if (!gflags[0x00DA]) goto labelFunc043B_006F;
message("\"I cannot imagine where Batlin is. He never misses Fellowship meeting!\"");
say();
goto labelFunc043B_0074;
goto labelFunc043B_0074;
labelFunc043B_006F:
message("\"I must not stop to speak now! I am late for the Fellowship meeting!\"*");
say();
abort;
labelFunc043B_0074:
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00BC])) goto labelFunc043B_0096;
message("You see a man whose boyish face is set with scrutinizing eyes that look as if they have seen much.");
say();
gflags[0x00BC] = true;
goto labelFunc043B_00A0;
labelFunc043B_0096:
message("\"And what may I do for thee, ");
message(var0000);
message("?\" asks Sean.");
say();
labelFunc043B_00A0:
converse (0) atend labelFunc043B_030A;
case "name" atend labelFunc043B_00B6:
message("\"My name is Sean.\"");
say();
UI_remove_answer("name");
labelFunc043B_00B6:
case "job" atend labelFunc043B_00D5:
message("\"When not tending to Fellowship affairs, I am a jeweller here in Britain. If thou dost wish to buy something, say so!\"");
say();
UI_add_answer(["Fellowship", "jeweller", "Britain", "buy"]);
labelFunc043B_00D5:
case "jeweller" atend labelFunc043B_00F5:
message("\"It is very delicate work. It requires a special touch that only a few have. Thou must know precisely how to handle precious materials. Only the finest of craftsmen become jewellers and they receive the highest compensation.\"");
say();
UI_remove_answer("jeweller");
UI_add_answer(["precious materials", "finest craftsmen"]);
labelFunc043B_00F5:
case "precious materials" atend labelFunc043B_010F:
message("\"I constantly require new materials with which to create my very special jewelry. I am always in the market to buy gems. If thou dost ever come across any, I am the man to come to if thou shouldst want to sell them and make money.\"");
say();
UI_remove_answer("precious materials");
UI_add_answer("gems");
labelFunc043B_010F:
case "finest craftsmen" atend labelFunc043B_0122:
message("\"As I have told thee, only the finest of craftsmen become jewellers, and I am the finest of jewellers. Does that not tell thee something?\" Sean sniffs. \"My business makes more money than the mint!\" He laughs forcibly.");
say();
UI_remove_answer("finest craftsmen");
labelFunc043B_0122:
case "gems" atend labelFunc043B_0257:
if (!(!(var0002 == 0x0007))) goto labelFunc043B_013C;
message("\"The jeweller's shop is currently closed for business. Come back later!\"");
say();
goto labelFunc043B_0250;
labelFunc043B_013C:
message("\"Dost thou have a gem for sale?\"");
say();
var0005 = Func090A();
if (!var0005) goto labelFunc043B_024C;
message("\"I will pay thee 30 gold coins per gem. Is that price agreeable?\"");
say();
var0006 = Func090A();
if (!var0006) goto labelFunc043B_0245;
var0007 = [0x000C, 0x000D];
//enum();
labelFunc043B_0169:
for (var000A in var0007 with var0008 to var0009) atend labelFunc043B_01A7;
if (!UI_count_objects(0xFE9B, 0x02F8, 0xFE99, var000A)) goto labelFunc043B_01A4;
if (!(var000A == 0x000C)) goto labelFunc043B_0195;
message("\"Dost thou think me a fool?! This little blue bauble is worthless!\"");
say();
labelFunc043B_0195:
if (!(var000A == 0x000D)) goto labelFunc043B_01A3;
message("Sean's face tightens. \"This gem is small and dark as the heart of an unholy Liche. Away with it!\"");
say();
labelFunc043B_01A3:
abort;
labelFunc043B_01A4:
goto labelFunc043B_0169;
labelFunc043B_01A7:
var000B = UI_count_objects(0xFE9B, 0x02F8, 0xFE99, 0xFE99);
var000C = (var000B * 0x001E);
var000D = UI_remove_party_items(var000B, 0x02F8, 0xFE99, 0xFE99, true);
if (!(var000B == 0x0000)) goto labelFunc043B_01E7;
message("\"Thou dost have no gems! Thou art a liar! I will do no business with thee!\"");
say();
abort;
labelFunc043B_01E7:
if (!(var000B == 0x0001)) goto labelFunc043B_01F5;
message("\"I see that thou has one gem.\"");
say();
labelFunc043B_01F5:
if (!(var000B > 0x0001)) goto labelFunc043B_0209;
message("\"I see that thou hast ");
message(var000B);
message(" gems.\"");
say();
labelFunc043B_0209:
var000E = UI_add_party_items(var000C, 0x0284, 0xFE99, 0xFE99, true);
if (!var000E) goto labelFunc043B_022A;
message("\"Here is thy payment.\"");
say();
goto labelFunc043B_0242;
labelFunc043B_022A:
message("\"Thou art carrying too much to take thy payment!\"");
say();
var000F = UI_add_party_items(var000B, 0x02F8, 0xFE99, 0xFE99, true);
labelFunc043B_0242:
goto labelFunc043B_0249;
labelFunc043B_0245:
message("\"It seems we have little left to discuss then.\"");
say();
labelFunc043B_0249:
goto labelFunc043B_0250;
labelFunc043B_024C:
message("\"If thou dost have no gems for sale then do not even waste my time by mentioning it!\"");
say();
labelFunc043B_0250:
UI_remove_answer("gems");
labelFunc043B_0257:
case "Fellowship" atend labelFunc043B_0285:
if (!var0003) goto labelFunc043B_026C;
message("\"I see thou art a member!\" Sean suddenly looks at you with a bit more respect. \"I am sure The Fellowship will do thee a world of good in the future.\" He smiles condescendingly.");
say();
goto labelFunc043B_0277;
labelFunc043B_026C:
message("\"Even thou mayest join The Fellowship and I can tell thee more about it.\"");
say();
Func0919();
message("\"I can tell thee about The Fellowship's philosophy if thou dost wish.\"");
say();
labelFunc043B_0277:
UI_remove_answer("Fellowship");
UI_add_answer("philosophy");
labelFunc043B_0285:
case "philosophy" atend labelFunc043B_02AE:
message("\"Thou art really interested in hearing more?\"");
say();
var0010 = Func090A();
if (!var0010) goto labelFunc043B_02A3;
Func091A();
goto labelFunc043B_02A7;
labelFunc043B_02A3:
message("\"I thought I was wasting my breath on thee.\"");
say();
labelFunc043B_02A7:
UI_remove_answer("philosophy");
labelFunc043B_02AE:
case "Britain" atend labelFunc043B_02C8:
message("\"I moved mine entire business here to Britain to be near the main branch of The Fellowship. Thou hast no idea how much my business improved after I joined The Fellowship.\"");
say();
UI_remove_answer("Britain");
UI_add_answer("Fellowship");
labelFunc043B_02C8:
case "buy" atend labelFunc043B_02FC:
if (!(var0002 == 0x0007)) goto labelFunc043B_02F1;
message("\"Wouldst thou like to buy something?\"");
say();
if (!Func090A()) goto labelFunc043B_02EA;
Func08E3();
goto labelFunc043B_02EE;
labelFunc043B_02EA:
message("\"Then please browse if thou dost like.\"");
say();
labelFunc043B_02EE:
goto labelFunc043B_02F5;
labelFunc043B_02F1:
message("\"Please come to the shop during normal business hours.\"");
say();
labelFunc043B_02F5:
UI_remove_answer("buy");
labelFunc043B_02FC:
case "bye" atend labelFunc043B_0307:
goto labelFunc043B_030A;
labelFunc043B_0307:
goto labelFunc043B_00A0;
labelFunc043B_030A:
break;
message("\"I am sure thou must be on thy way.\" Sean smiles.*");
say();
labelFunc043B_030F:
if (!(event == 0x0000)) goto labelFunc043B_0396;
var0001 = UI_part_of_day();
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFC5));
var0011 = UI_die_roll(0x0001, 0x0004);
if (!(var0002 == 0x0007)) goto labelFunc043B_0390;
if (!(var0011 == 0x0001)) goto labelFunc043B_0353;
var0012 = "@Fine jewelry!@";
labelFunc043B_0353:
if (!(var0011 == 0x0002)) goto labelFunc043B_0363;
var0012 = "@Need gold trinkets?@";
labelFunc043B_0363:
if (!(var0011 == 0x0003)) goto labelFunc043B_0373;
var0012 = "@Fine gems!@";
labelFunc043B_0373:
if (!(var0011 == 0x0004)) goto labelFunc043B_0383;
var0012 = "@Fine crafted jewelry!@";
labelFunc043B_0383:
UI_item_say(0xFFC5, var0012);
goto labelFunc043B_0396;
labelFunc043B_0390:
Func092E(0xFFC5);
labelFunc043B_0396:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func0857 0x857 ();
extern void Func092E 0x92E (var var0000);
void Func043C object#(0x43C) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
if (!(event == 0x0001)) goto labelFunc043C_0253;
UI_show_npc_face(0xFFC4, 0x0000);
var0000 = Func0909();
var0001 = UI_wearing_fellowship();
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x00CE]) goto labelFunc043C_003C;
UI_add_answer("pumpkins");
labelFunc043C_003C:
if (!(!gflags[0x00BD])) goto labelFunc043C_004E;
message("You see a farmer who, despite showing considerable wear from hard work, appears energetic, cheerful and friendly.");
say();
gflags[0x00BD] = true;
goto labelFunc043C_0058;
labelFunc043C_004E:
message("\"Hello again, ");
message(var0000);
message(",\" Brownie greets you.");
say();
labelFunc043C_0058:
converse (0) atend labelFunc043C_0248;
case "name" atend labelFunc043C_006E:
message("\"I am Brownie.\"");
say();
UI_remove_answer("name");
labelFunc043C_006E:
case "job" atend labelFunc043C_0087:
message("\"Well, I ran for the office of Mayor of Britain once, but I lost. Now I am back doing what I have been doing since I was a boy. Working the farm.\"");
say();
UI_add_answer(["Mayor", "farm"]);
labelFunc043C_0087:
case "Mayor" atend labelFunc043C_00A7:
message("\"Patterson won the election. He spent a lot of money on his campaign. Most of it to buy votes. But I am not bitter. I was just not meant to be Mayor.\"");
say();
UI_remove_answer("Mayor");
UI_add_answer(["Patterson", "election"]);
labelFunc043C_00A7:
case "Patterson" atend labelFunc043C_00C7:
message("\"Patterson courted the support of The Fellowship. They forced a vote from all their members. Once word spread, my support drained away. No one wants to be on the losing side.\" Brownie sighs.");
say();
UI_remove_answer("Patterson");
UI_add_answer(["Fellowship", "losing"]);
labelFunc043C_00C7:
case "election" atend labelFunc043C_00DA:
message("\"I do not really have any wish to succeed in politics. It just made me ill seeing all of the people with riches mistreat all of the people who are poor, and then have to listen to them talk about how the class system has been abolished.\"");
say();
UI_remove_answer("election");
labelFunc043C_00DA:
case "Fellowship" atend labelFunc043C_00FA:
if (!var0001) goto labelFunc043C_00EF;
message("Brownie gestures toward your medallion. \"Frankly, I do not know what thou seest in that group.\"");
say();
goto labelFunc043C_00F3;
labelFunc043C_00EF:
message("\"If thou art not with The Fellowship thou art against them. I think they saw me as a potential enemy that had to be stopped.\"");
say();
labelFunc043C_00F3:
UI_remove_answer("Fellowship");
labelFunc043C_00FA:
case "losing" atend labelFunc043C_0114:
message("\"Of course, I could have won the election if I had wanted to. I had information about Patterson that would have ruined any chances of him winning.\"");
say();
UI_remove_answer("losing");
UI_add_answer("information");
labelFunc043C_0114:
case "information" atend labelFunc043C_012E:
message("\"I could have revealed a secret about Patterson but if I did it would have hurt someone close to him very much. I did not want to be mayor that badly.\"");
say();
UI_remove_answer("information");
UI_add_answer("secret");
labelFunc043C_012E:
case "secret" atend labelFunc043C_0141:
message("\"Patterson does little to hide his secret. If thou dost keep an eye on him thou wilt surely learn of it sooner or later.\"");
say();
UI_remove_answer("secret");
labelFunc043C_0141:
case "farm" atend labelFunc043C_0161:
message("\"I feel more at home on the farm growing vegetables. There is another farmer named Mack who works a farm near Britain as well. He raises chickens.\"");
say();
UI_remove_answer("farm");
UI_add_answer(["vegetables", "Mack"]);
labelFunc043C_0161:
case "Mack" atend labelFunc043C_0174:
message("\"I like him. He even voted for me. But to tell thee the truth about Mack, he is a lunatic.\"");
say();
UI_remove_answer("Mack");
labelFunc043C_0174:
case "vegetables" atend labelFunc043C_0194:
message("\"I raise pumpkins. But I am in a bind at the moment and need some help.\"");
say();
UI_remove_answer("vegetables");
UI_add_answer(["bind", "help"]);
labelFunc043C_0194:
case "bind" atend labelFunc043C_01A7:
message("\"I strained my back the other day lifting heavy pumpkins. I cannot so much as lift a small one today! And I need help with the harvest of pumpkins so that I can get them to the market.\"");
say();
UI_remove_answer("bind");
labelFunc043C_01A7:
case "help" atend labelFunc043C_021B:
message("\"There are piles of pumpkins at the north end of the field. I need them brought down near my farmhouse. If thou wilt help me by bringing the pumpkins to me, I will gladly pay thee for thy work. How does one gold coin for every pumpkin carried sound?\"");
say();
var0002 = Func090A();
if (!var0002) goto labelFunc043C_0210;
message("\"How nice! A helper! Please, feel free to start work at any time!\"");
say();
gflags[0x00CE] = true;
var0003 = UI_find_nearby_avatar(0x0014);
var0004 = UI_find_nearby_avatar(0x0015);
//enum();
labelFunc043C_01DC:
for (var0007 in var0003 with var0005 to var0006) atend labelFunc043C_01F4;
UI_set_item_flag(var0007, 0x000B);
goto labelFunc043C_01DC;
labelFunc043C_01F4:
//enum();
labelFunc043C_01F5:
for (var0007 in var0004 with var0008 to var0009) atend labelFunc043C_020D;
UI_set_item_flag(var0007, 0x000B);
goto labelFunc043C_01F5;
labelFunc043C_020D:
goto labelFunc043C_0214;
labelFunc043C_0210:
message("\"Perhaps some other time, then.\"");
say();
labelFunc043C_0214:
UI_remove_answer("help");
labelFunc043C_021B:
case "pumpkins" atend labelFunc043C_023A:
if (!gflags[0x00CE]) goto labelFunc043C_022F;
Func0857();
goto labelFunc043C_0233;
labelFunc043C_022F:
message("\"Thou shouldst simply go to the north end of the field and bring back as many pumpkins as thou can carry!\"");
say();
labelFunc043C_0233:
UI_remove_answer("pumpkins");
labelFunc043C_023A:
case "bye" atend labelFunc043C_0245:
goto labelFunc043C_0248;
labelFunc043C_0245:
goto labelFunc043C_0058;
labelFunc043C_0248:
break;
message("\"Good day, ");
message(var0000);
message(".\"*");
say();
labelFunc043C_0253:
if (!(event == 0x0000)) goto labelFunc043C_0261;
Func092E(0xFFC4);
labelFunc043C_0261:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func08B8 0x8B8 ();
extern void Func092E 0x92E (var var0000);
void Func043D object#(0x43D) ()
{
var var0000;
var var0001;
var var0002;
if (!(event == 0x0001)) goto labelFunc043D_02E9;
UI_show_npc_face(0xFFC3, 0x0000);
var0000 = Func0909();
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0093]) goto labelFunc043D_0035;
UI_add_answer("proof");
labelFunc043D_0035:
if (!gflags[0x00CF]) goto labelFunc043D_0042;
UI_add_answer("picked eggs");
labelFunc043D_0042:
if (!(!gflags[0x00BE])) goto labelFunc043D_0054;
message("You see a farmer with wild eyes widened in excitement.");
say();
gflags[0x00BE] = true;
goto labelFunc043D_0058;
labelFunc043D_0054:
message("\"Avatar! Thou hast returned!\" exclaims Mack.");
say();
labelFunc043D_0058:
converse (0) atend labelFunc043D_02E4;
case "name" atend labelFunc043D_006E:
message("\"I am Mack.\"");
say();
UI_remove_answer("name");
labelFunc043D_006E:
case "job" atend labelFunc043D_0087:
message("\"I am a farmer, though most folks just call me a lunatic.\"");
say();
UI_add_answer(["farmer", "lunatic"]);
labelFunc043D_0087:
case "farmer" atend labelFunc043D_00A1:
message("\"On my farm I raise chickens and grow vegetables. If thou dost need work, talk to me!\"");
say();
UI_remove_answer("farmer");
UI_add_answer("work");
labelFunc043D_00A1:
case "lunatic" atend labelFunc043D_00C4:
message("\"Thou dost also think so, eh? But I tell thee what I say is true! There are creatures visiting us from another place in the stars! I have seen them!\"");
say();
UI_remove_answer("lunatic");
UI_add_answer(["creatures", "another place", "seen them"]);
labelFunc043D_00C4:
case "creatures" atend labelFunc043D_00D7:
message("\"They are big mean ugly liontigers! Or is that tigerlions? They are ferocious and they want to eat us!\"");
say();
UI_remove_answer("creatures");
labelFunc043D_00D7:
case "another place" atend labelFunc043D_00EA:
message("\"All I can say is that there are certainly no such creatures in this world! Nor is their ship like any that has ever been seen anywhere in Britannia.\"");
say();
UI_remove_answer("another place");
labelFunc043D_00EA:
case "seen them" atend labelFunc043D_0104:
message("\"With mine own eyes I have seen a star creature and the inexplicable conveyance which enabled it to travel to Britannia! I swear to thee! I am completely sane! I have proof!\"");
say();
UI_remove_answer("seen them");
UI_add_answer("proof");
labelFunc043D_0104:
case "proof" atend labelFunc043D_0150:
if (!(!gflags[0x0093])) goto labelFunc043D_011F;
message("\"Go and look behind my farm in the middle of the field. Take a look for thyself and thou shalt see my proof.\"");
say();
gflags[0x0093] = true;
abort;
goto labelFunc043D_0150;
labelFunc043D_011F:
message("\"I told thee I was not a looney! Didst thou see the proof?\"");
say();
var0001 = Func090A();
if (!(!var0001)) goto labelFunc043D_013E;
message("\"Thou must go and look at what is in my field! Then come back here, for I must talk about this with someone who knows that I am not a looney!\"");
say();
UI_remove_answer("proof");
goto labelFunc043D_0150;
labelFunc043D_013E:
message("\"Did I not tell thee that I am no loonie? Still, my story of how I did come across this thing is beyond belief.\"");
say();
UI_remove_answer("proof");
UI_add_answer("story");
labelFunc043D_0150:
case "story" atend labelFunc043D_0185:
if (!(!gflags[0x0095])) goto labelFunc043D_017A;
message("\"I like to stay up late. Sometimes I see bright lights flash across the sky. No one else ever pays them any mind. But one night I see this bright light come crashing down and it lands in my field.\"");
say();
UI_remove_answer("story");
UI_add_answer(["bright lights", "lands"]);
goto labelFunc043D_0185;
labelFunc043D_017A:
message("\"I have been looking every night for another sign of those things but I have not seen any since that last time I told thee about it.\"");
say();
UI_remove_answer("story");
labelFunc043D_0185:
case "bright lights" atend labelFunc043D_0198:
message("\"I always watch for moving bright lights in the night sky. That is part of why people in the town say I am a loonie. But is what I do so different from what they do in the orrery?\"");
say();
UI_remove_answer("bright lights");
labelFunc043D_0198:
case "lands" atend labelFunc043D_01B8:
message("\"After the explosion and crash I ran out to my field. There I saw the strange machine that thou hast seen, only it was glowing hot. I was terrified. But then the top of the machine started to open.\"");
say();
UI_remove_answer("lands");
UI_add_answer(["machine", "open"]);
labelFunc043D_01B8:
case "machine" atend labelFunc043D_01CB:
message("\"It resembled a bird, but it was not a bird!\"");
say();
UI_remove_answer("machine");
labelFunc043D_01CB:
case "open" atend labelFunc043D_01EB:
message("\"I could not move from the spot as I saw the strange ship open. From out of the top came the vicious tigerlion. There was a savage hunger in its eyes.\"");
say();
UI_remove_answer("open");
UI_add_answer(["tigerlion", "hunger"]);
labelFunc043D_01EB:
case "hunger" atend labelFunc043D_01FE:
message("\"In other words, it looked like it might eat me!\"");
say();
UI_remove_answer("hunger");
labelFunc043D_01FE:
case "tigerlion" atend labelFunc043D_0218:
message("\"It came at me like a predator comes after prey. It was so fast that I could not even move. I thought I was going to be killed for certain. It reached me in a second. It looked into mine eyes, and then it died.\"");
say();
UI_remove_answer("tigerlion");
UI_add_answer("died");
labelFunc043D_0218:
case "died" atend labelFunc043D_0238:
message("\"What it and I had failed to notice was that I was holding mine hoe. It had once been accidentally enchanted by a passing mage, and it works wondrously in the fields. I use it for everything! The tigerlion had run itself through upon it. As it died, the thing spoke.\"");
say();
UI_remove_answer("died");
UI_add_answer(["spoke", "hoe"]);
labelFunc043D_0238:
case "spoke" atend labelFunc043D_0252:
message("\"It said two words. \"Kill Wrathy.\" I do not know who this Wrathy person is, or why the tigerlion wanted me to kill him. But I do know I sure get worried now whenever I see moving lights in the night sky.\"");
say();
UI_remove_answer("spoke");
UI_add_answer("Kill Wrathy");
labelFunc043D_0252:
case "hoe" atend labelFunc043D_026C:
message("\"I am sure thou dost know about the plague of looniness that has come to afflict all of the mages in the world. It was several years ago that I brought my broken hoe to a mage called Mumb. Fixing things was all he was good for anymore. There was also some fighter who wanted Mumb to enchant his sword, turning it into \"The Sword of Death\". It appears poor Mumb got confused and that fighter came back and killed him because the man wound up with a sword that was only good for cutting weeds. I could never figure out exactly what happened. It appears that old Mumb made mine hoe into the Hoe of Destruction! Unfortunately, the hoe is lost.\"");
say();
UI_remove_answer("hoe");
UI_add_answer("lost");
labelFunc043D_026C:
case "lost" atend labelFunc043D_027F:
message("\"Well, 'tis not really lost. It is locked up in my shed. It is the key to the shed that is lost! I think I might have accidentally used it as a fishhook when I was fishing on the banks of Lock Lake. So now I cannot get into my shed. One would think I -am- a looney!\"");
say();
UI_remove_answer("lost");
labelFunc043D_027F:
case "Kill Wrathy" atend labelFunc043D_0296:
message("\"I am quite certain that was it, or something like that. Anyway the tigerlion itself proved to be quite delicious.\"");
say();
gflags[0x0095] = true;
UI_remove_answer("Kill Wrathy");
labelFunc043D_0296:
case "work" atend labelFunc043D_02C4:
message("\"I need someone to work for me and help gather all the eggs being laid by the chickens! When that big thing came crashing down it scared them all so much that they cannot stop laying eggs! Wilt thou work for me? I will pay thee 1 gold per egg.\"");
say();
var0002 = Func090A();
if (!var0002) goto labelFunc043D_02B9;
message("\"Fine! Thou wilt find the chickens out back. Thou must feel around in the nest to find the eggs that are there. But there is a limit to how many they will produce in one day, of course.\"");
say();
gflags[0x00CF] = true;
goto labelFunc043D_02BD;
labelFunc043D_02B9:
message("\"Ask me again if thou dost change thy mind.\"");
say();
labelFunc043D_02BD:
UI_remove_answer("work");
labelFunc043D_02C4:
case "picked eggs" atend labelFunc043D_02D6:
Func08B8();
UI_remove_answer("picked eggs");
labelFunc043D_02D6:
case "bye" atend labelFunc043D_02E1:
goto labelFunc043D_02E4;
labelFunc043D_02E1:
goto labelFunc043D_0058;
labelFunc043D_02E4:
break;
message("\"I thank thee for thy decency and consideration.\"");
say();
labelFunc043D_02E9:
if (!(event == 0x0000)) goto labelFunc043D_02F7;
Func092E(0xFFC3);
labelFunc043D_02F7:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func043E object#(0x43E) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
var var000B;
var var000C;
var var000D;
var var000E;
var var000F;
var var0010;
var var0011;
var var0012;
if (!(event == 0x0001)) goto labelFunc043E_03A7;
UI_show_npc_face(0xFFC2, 0x0000);
var0000 = Func0909();
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00BF])) goto labelFunc043E_003A;
message("You see a filthy beggar who flashes you a grin as though you were his best friend in the whole world.");
say();
gflags[0x00BF] = true;
goto labelFunc043E_0044;
labelFunc043E_003A:
message("\"Hello again, ");
message(var0000);
message(",\" says Snaz.");
say();
labelFunc043E_0044:
converse (0) atend labelFunc043E_03A2;
case "name" atend labelFunc043E_005A:
message("\"I am called Snaz.\"");
say();
UI_remove_answer("name");
labelFunc043E_005A:
case "job" atend labelFunc043E_0073:
message("\"I have no job for I am a beggar. For a gold coin I shall tell thee a joke.\"");
say();
UI_add_answer(["beggar", "tell a joke"]);
labelFunc043E_0073:
case "beggar" atend labelFunc043E_0086:
message("\"When I was just a little boy I was made an orphan and left homeless and penniless. That was a joke life played on me. 'Tis a funny joke, eh?~~\"But I would not charge thee a gold piece for that one.\"");
say();
UI_remove_answer("beggar");
labelFunc043E_0086:
case "tell a joke" atend labelFunc043E_00DE:
message("\"Dost thou wish to hear one?\"");
say();
var0001 = Func090A();
if (!var0001) goto labelFunc043E_00D3;
var0002 = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, true);
if (!var0002) goto labelFunc043E_00C6;
message("\"All right, here is one...\"");
say();
UI_add_answer("Fellowship joke");
goto labelFunc043E_00D0;
labelFunc043E_00C6:
message("\"If thou dost want to hear a joke, thou must pay me, ");
message(var0000);
message(". Come back when thy pockets are full. The richer thou art, the funnier I get!\"");
say();
labelFunc043E_00D0:
goto labelFunc043E_00D7;
labelFunc043E_00D3:
message("\"Have a heart, I pray thee! I have a wife and six hungry children to feed.\" He feels your stare upon him. \"Oh, very well. Wouldst thou believe I have a cat and it just had kittens?\"");
say();
labelFunc043E_00D7:
UI_remove_answer("tell a joke");
labelFunc043E_00DE:
case "Fellowship joke" atend labelFunc043E_00FE:
message("\"I was discussing philosophy with a Fellowship member the other day and he asked me, 'What, in thine opinion, is the height of stupidity?'~~\"So I said, 'I do not know. How tall art thou?'~~\"No, really, I make sport of The Fellowship, but I mean it sincerely...\"");
say();
UI_remove_answer("Fellowship joke");
UI_add_answer(["Fellowship", "Lord British joke"]);
labelFunc043E_00FE:
case "Fellowship" atend labelFunc043E_0111:
message("\"That is what I dearly love about The Fellowship. They could always take a joke!~~\"And from what I hear they play funny jokes themselves! Like the joke they played in Trinsic!\"");
say();
UI_remove_answer("Fellowship");
labelFunc043E_0111:
case "Lord British joke" atend labelFunc043E_0178:
message("\"For a gold coin I will tell thee another. Dost thou wish to hear it?\"");
say();
var0003 = Func090A();
if (!(!var0003)) goto labelFunc043E_0138;
message("\"I see I have reached the limits of thy sense of humor.\"");
say();
UI_remove_answer("Lord British joke");
goto labelFunc043E_0178;
labelFunc043E_0138:
var0004 = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, true);
if (!var0004) goto labelFunc043E_016D;
message("\"I was at the castle of Lord British the other day and I noticed he has three large pools. So I asked why he doth have three of them.~~\"He pointed to the first one and said the first was to swim in cool water. ~~\"The second was for friends to swim in warm water.~~\"I noticed that the third pool was empty and I asked him why.~~\"He said that it was for people who could not swim!\"");
say();
UI_remove_answer("Lord British joke");
UI_add_answer(["Lord British", "Weston joke"]);
goto labelFunc043E_0178;
labelFunc043E_016D:
message("\"Thou art more destitute than I! If I tell thee any more jokes now thou mayest steal mine act!\"");
say();
UI_remove_answer("Lord British joke");
labelFunc043E_0178:
case "Lord British" atend labelFunc043E_018B:
message("\"Poor Lord British! When faced with a gigantic menace that threatens his entire kingdom he is an extremely capable ruler.~~\"But what happens when there are a myriad of smaller things that all threaten the welfare of his people indirectly?~~\"There is a riddle for thee to solve!\"");
say();
UI_remove_answer("Lord British");
labelFunc043E_018B:
case "Weston joke" atend labelFunc043E_01F8:
message("\"For a gold coin I will tell thee another. Dost thou wish to hear it?\"");
say();
var0005 = Func090A();
if (!(!var0005)) goto labelFunc043E_01B2;
message("\"Very well. If thou didst not get the first two there is no good reason for me to continue now.\"");
say();
UI_remove_answer("Weston joke");
goto labelFunc043E_01F8;
labelFunc043E_01B2:
var0006 = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, true);
if (!var0006) goto labelFunc043E_01E7;
message("\"A man named Weston came to me deep in perplexity.~~\"He told me he wanted to steal some apples from the Royal Orchards but if he did he would feel bad about it in the morning.~~\"So I gave him this advice -- sleep until noon!\"");
say();
UI_remove_answer("Weston joke");
UI_add_answer(["Weston", "mage joke"]);
goto labelFunc043E_01F8;
labelFunc043E_01E7:
message("\"Thy pockets are empty, ");
message(var0000);
message(". Perhaps it is time to stop laughing and start worrying!\"");
say();
UI_remove_answer("Weston joke");
labelFunc043E_01F8:
case "Weston" atend labelFunc043E_020B:
message("\"Weston now sits in the castle prison, where he shall most certainly rot for the rest of his life. Heh-heh-heh! ~~\"Try as I might, I cannot best that little jest!\"");
say();
UI_remove_answer("Weston");
labelFunc043E_020B:
case "mage joke" atend labelFunc043E_0272:
message("\"For a gold coin I will tell thee another. Dost thou wish to hear it?\"");
say();
var0007 = Func090A();
if (!(!var0007)) goto labelFunc043E_0232;
message("\"Thou art wise. Thou shouldst save thy gold to pay a healer to cure that ache in thy side.\"");
say();
UI_remove_answer("mage joke");
goto labelFunc043E_0272;
labelFunc043E_0232:
var0008 = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, true);
if (!var0008) goto labelFunc043E_0267;
message("\"Whilst travelling on the road I came across a mage.~~\"He looked as if he had not eaten for days and complained of a terrible pain in his stomach.~~\"So I told him his stomach was empty. If he put something in it he would feel better.~~\"Later he complained to me of a headache. I said his headache was caused by a similar problem as his stomach.~~\"No doubt it did hurt him so because, being a mage, there was nothing left in it!\"");
say();
UI_remove_answer("mage joke");
UI_add_answer(["mages", "Sullivan joke"]);
goto labelFunc043E_0272;
labelFunc043E_0267:
message("\"Now thou art playing a joke on me. Thou art broke!\"");
say();
UI_remove_answer("mage joke");
labelFunc043E_0272:
case "mages" atend labelFunc043E_0285:
message("\"All of the mages have gone daft or mad! What other proper response is there in a world that is so terrifically funny?!\"");
say();
UI_remove_answer("mages");
labelFunc043E_0285:
case "Sullivan joke" atend labelFunc043E_02E5:
message("\"Thou art a brave Avatar! Dost thou wish to hear another?\"");
say();
var0009 = Func090A();
if (!(!var0009)) goto labelFunc043E_02AC;
message("\"Aha! Not as brave as I thought!\"");
say();
UI_remove_answer("joke five");
goto labelFunc043E_02E5;
labelFunc043E_02AC:
var000A = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, true);
if (!var000A) goto labelFunc043E_02E1;
message("\"Didst thou knowest that the notorious Sullivan the Trickster recently became a father?~~\"It is true! They say the baby has his father's eyes and his mother's nose, but they made the baby give them back.\"");
say();
UI_remove_answer("Sullivan joke");
UI_add_answer(["Sullivan", "gold joke"]);
goto labelFunc043E_02E5;
labelFunc043E_02E1:
message("\"Thou mayest be laughing but surely thy purse is not, for it is empty.\"");
say();
labelFunc043E_02E5:
case "Sullivan" atend labelFunc043E_02F8:
message("\"Yes, I know the man they call Sullivan the Trickster! In fact thou dost remind me of him!~~\"Or does he remind me of thee?~~\"He is so tricky that just talking about him has caused me to trick myself! Heh-Hee-Haa!\"");
say();
UI_remove_answer("Sullivan");
labelFunc043E_02F8:
case "gold joke" atend labelFunc043E_0394:
message("\"I have amused thee so far! Wouldst thou like to hear another? It is a joke about gold!\"");
say();
var000B = Func090A();
if (!var000B) goto labelFunc043E_0389;
var000C = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, true);
if (!var000C) goto labelFunc043E_0382;
labelFunc043E_032A:
UI_play_sound_effect(0x0017);
message("\"Thank thee very much! Now, goodbye!\"");
say();
message("\"Dost thou get it? Ha! Ha! Ha! Ha! If not, it would be my pleasure to repeat it.\"");
say();
message("\"Wouldst thou like to hear the gold joke again?\"");
say();
var000D = Func090A();
if (!var000D) goto labelFunc043E_0374;
message("\"Now listen carefully...\"");
say();
var000E = UI_remove_party_items(0x0001, 0x0284, 0xFE99, 0xFE99, true);
if (!var000E) goto labelFunc043E_036D;
goto labelFunc043E_032A;
goto labelFunc043E_0371;
labelFunc043E_036D:
message("\"Oh, I am so sorry. I cannot tell thee the joke again for thou art out of money.\"");
say();
labelFunc043E_0371:
goto labelFunc043E_037F;
labelFunc043E_0374:
message("\"I see thou art becoming wise to the ways of show business, ");
message(var0000);
message(". Good day to thee!\"");
say();
abort;
labelFunc043E_037F:
goto labelFunc043E_0386;
labelFunc043E_0382:
message("\"I can see thou art so poor that thou cannot even afford a sense of humor!\"");
say();
labelFunc043E_0386:
goto labelFunc043E_038D;
labelFunc043E_0389:
message("\"Oh, it is a pity that thou dost not wish to hear it! It is the funniest one yet and my personal favorite!\"");
say();
labelFunc043E_038D:
UI_remove_answer("gold joke");
labelFunc043E_0394:
case "bye" atend labelFunc043E_039F:
goto labelFunc043E_03A2;
labelFunc043E_039F:
goto labelFunc043E_0044;
labelFunc043E_03A2:
break;
message("\"I do hope I did amuse thee.\"*");
say();
labelFunc043E_03A7:
if (!(event == 0x0000)) goto labelFunc043E_042E;
var000F = UI_part_of_day();
var0010 = UI_get_schedule_type(UI_get_npc_object(0xFFC2));
var0011 = UI_die_roll(0x0001, 0x0004);
if (!(var0010 == 0x000C)) goto labelFunc043E_0428;
if (!(var0011 == 0x0001)) goto labelFunc043E_03EB;
var0012 = "@Spare change?@";
labelFunc043E_03EB:
if (!(var0011 == 0x0002)) goto labelFunc043E_03FB;
var0012 = "@Got a coin for me?@";
labelFunc043E_03FB:
if (!(var0011 == 0x0003)) goto labelFunc043E_040B;
var0012 = "@Jokes for sale!@";
labelFunc043E_040B:
if (!(var0011 == 0x0004)) goto labelFunc043E_041B;
var0012 = "@Handouts accepted!@";
labelFunc043E_041B:
UI_item_say(0xFFC2, var0012);
goto labelFunc043E_042E;
labelFunc043E_0428:
Func092E(0xFFC2);
labelFunc043E_042E:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func08FC 0x8FC (var var0000, var var0001);
extern var Func090A 0x90A ();
extern void Func0919 0x919 ();
extern void Func091A 0x91A ();
extern void Func092E 0x92E (var var0000);
void Func043F object#(0x43F) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
if (!(event == 0x0001)) goto labelFunc043F_019A;
UI_show_npc_face(0xFFC1, 0x0000);
var0000 = Func0909();
var0001 = UI_wearing_fellowship();
var0002 = UI_part_of_day();
if (!(var0002 == 0x0007)) goto labelFunc043F_005F;
var0003 = Func08FC(0xFFC1, 0xFFE6);
if (!var0003) goto labelFunc043F_004A;
message("Millie ignores your attempts to get her attention and goes back to intently watching the Fellowship ceremony.*");
say();
abort;
goto labelFunc043F_005F;
labelFunc043F_004A:
if (!gflags[0x00DA]) goto labelFunc043F_005A;
message("Millie looks perturbed. \"Batlin has never missed a meeting before. What does he expect? Does he want -me- to run the meeting?\"");
say();
goto labelFunc043F_005F;
goto labelFunc043F_005F;
labelFunc043F_005A:
message("\"Sorry, I cannot speak with thee now! I am late for the Fellowship meeting!\"*");
say();
abort;
labelFunc043F_005F:
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0141]) goto labelFunc043F_007C;
UI_add_answer("Thad");
labelFunc043F_007C:
if (!(!gflags[0x00C0])) goto labelFunc043F_008E;
message("You see a cute-looking woman who beams with a huge smile when she notices you looking at her.");
say();
gflags[0x00C0] = true;
goto labelFunc043F_0092;
labelFunc043F_008E:
message("\"It is good to speak with thee, again,\" says Millie.");
say();
labelFunc043F_0092:
converse (0) atend labelFunc043F_0195;
case "name" atend labelFunc043F_00A8:
message("\"My name is Millie,\" she giggles coyly.");
say();
UI_remove_answer("name");
labelFunc043F_00A8:
case "job" atend labelFunc043F_00C1:
message("\"I suppose I have no job, but is that really so bad? I am a member of The Fellowship and I talk to people about them all day long.\"");
say();
UI_add_answer(["Fellowship", "talk"]);
labelFunc043F_00C1:
case "Fellowship" atend labelFunc043F_010F:
if (!var0001) goto labelFunc043F_00D6;
message("\"I see we have the same job!\" She laughs at her own joke. \"Dost thou spend all thy time talking to people about The Fellowship? For if that is what thou dost do, thou must get thyself another corner!\" Millie's face wrinkles in displeasure.");
say();
goto labelFunc043F_010F;
labelFunc043F_00D6:
message("\"Dost thou know what The Fellowship is?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc043F_00FE;
message("\"Oh, I think thou dost not really know!\"");
say();
Func0919();
UI_remove_answer("Fellowship");
UI_add_answer("philosophy");
goto labelFunc043F_010F;
labelFunc043F_00FE:
Func0919();
UI_remove_answer("Fellowship");
UI_add_answer("philosophy");
labelFunc043F_010F:
case "philosophy" atend labelFunc043F_0125:
Func091A();
message("\"If thou dost wish, thou mayest attend tonight's meeting at the Fellowship Hall. It begins at nine o'clock sharp. Just tell them that thou art my guest. I shall see thee there, I hope.\" Millie giggles and looks away shyly.");
say();
UI_remove_answer("philosophy");
labelFunc043F_0125:
case "talk" atend labelFunc043F_013F:
message("\"I spend all my time trying to recruit, er... spread the word of The Fellowship. It is better than having a job! I learned how to do this at the Meditation Retreat.\"");
say();
UI_remove_answer("talk");
UI_add_answer("Meditation Retreat");
labelFunc043F_013F:
case "Meditation Retreat" atend labelFunc043F_015D:
message("\"'Tis located on an island in south Britannia near Serpent's Hold. Most new Fellowship members spend some time down there learning the tenets of the group. One can also learn to hear 'the voice' at the retreat.\"");
say();
UI_add_answer("the voice");
UI_remove_answer("Meditation Retreat");
gflags[0x008B] = true;
labelFunc043F_015D:
case "the voice" atend labelFunc043F_0174:
message("\"Fellowship members have an inner voice which speaks to them. I have not heard it yet, but I am working toward it. I may need to spend another few days at the Meditation Retreat in order to do so. Batlin tells me not to be discouraged, though. He says I will hear it when I have made myself worthy.\"");
say();
UI_remove_answer("the voice");
gflags[0x008A] = true;
labelFunc043F_0174:
case "Thad" atend labelFunc043F_0187:
message("Millie rolls her eyes. \"Thou hast met my brother? Thou poor thing! He is really a candidate for the asylum, I wouldst say! He believes The Fellowship kidnapped me and charmed me into following them. Well, I joined of mine own free will, without a second thought, and it was a pure lark! No one coerced me! Thad can go hang! Mama always said he was the impulsive one in the family!\"");
say();
UI_remove_answer("Thad");
labelFunc043F_0187:
case "bye" atend labelFunc043F_0192:
goto labelFunc043F_0195;
labelFunc043F_0192:
goto labelFunc043F_0092;
labelFunc043F_0195:
break;
message("\"I shall see thee later! Maybe even at tonight's Fellowship meeting!\"*");
say();
labelFunc043F_019A:
if (!(event == 0x0000)) goto labelFunc043F_0221;
var0002 = UI_part_of_day();
var0005 = UI_get_schedule_type(UI_get_npc_object(0xFFC1));
var0006 = UI_die_roll(0x0001, 0x0004);
if (!(var0005 == 0x000C)) goto labelFunc043F_021B;
if (!(var0006 == 0x0001)) goto labelFunc043F_01DE;
var0007 = "Fellowship meeting tonight!@";
labelFunc043F_01DE:
if (!(var0006 == 0x0002)) goto labelFunc043F_01EE;
var0007 = "@Strive For Unity!@";
labelFunc043F_01EE:
if (!(var0006 == 0x0003)) goto labelFunc043F_01FE;
var0007 = "@Trust Thy Brother!@";
labelFunc043F_01FE:
if (!(var0006 == 0x0004)) goto labelFunc043F_020E;
var0007 = "@Worthiness Precedes Reward!@";
labelFunc043F_020E:
UI_item_say(0xFFC1, var0007);
goto labelFunc043F_0221;
labelFunc043F_021B:
Func092E(0xFFC1);
labelFunc043F_0221:
return;
}
// externs
extern var Func0908 0x908 ();
extern void Func092E 0x92E (var var0000);
void Func0440 object#(0x440) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0440_0127;
UI_show_npc_face(0xFFC0, 0x0000);
var0000 = Func0908();
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0099]) goto labelFunc0440_0035;
UI_add_answer("Nystul");
labelFunc0440_0035:
if (!(!gflags[0x00C1])) goto labelFunc0440_0047;
message("You see your former companion and friend, Geoffrey, Captain of the Guard.");
say();
gflags[0x00C1] = true;
goto labelFunc0440_0051;
labelFunc0440_0047:
message("\"Yes, ");
message(var0000);
message("?\" Geoffrey asks.");
say();
labelFunc0440_0051:
converse (0) atend labelFunc0440_0122;
case "name" atend labelFunc0440_0067:
message("Geoffrey chuckles. \"Art thou joking? I am Geoffrey!\"");
say();
UI_remove_answer("name");
labelFunc0440_0067:
case "job" atend labelFunc0440_007A:
message("\"These days I remain in my position as Captain of the Guard. I am Lord British's personal bodyguard, and I am in charge of security at the castle. I do not have much time or use for adventuring now.\"");
say();
UI_add_answer("adventuring");
labelFunc0440_007A:
case "adventuring" atend labelFunc0440_009A:
message("\"I have aged a bit over the last 200 years. I am afraid I shall not be joining thee this time. But my thoughts are with thee, and if I may offer some assistance, I shall be glad to do so.\"");
say();
UI_remove_answer("adventuring");
UI_add_answer(["aged", "assistance"]);
labelFunc0440_009A:
case "aged" atend labelFunc0440_00AD:
message("\"Yes, it has been a long time by Britannian reckoning since I have seen mine homeland. When thou hast finished with thy business, do come back and tell me news of what is happening in our homeworld.\"");
say();
UI_remove_answer("aged");
labelFunc0440_00AD:
case "assistance" atend labelFunc0440_00CD:
message("\"Mine advice to thee is to build up thine experience and skills as soon as possible. Thou hast been away from Britannia for a long time. Thou mightest not be in the same shape thou wert in at the end of thy last adventure here.\"");
say();
UI_remove_answer("assistance");
UI_add_answer(["experience", "shape"]);
labelFunc0440_00CD:
case "shape" atend labelFunc0440_00E0:
message("\"It is apparently another difference in our two worlds. Whenever thou shalt return it is as if thy physical body has arrived here for the first time. It is the reason why many of thine own companions have chosen to stay here even though they have aged in Britannian time.\"");
say();
UI_remove_answer("shape");
labelFunc0440_00E0:
case "experience" atend labelFunc0440_00F3:
message("\"Go and search for monsters. Vanquish them. Take their gold! Gain experience! Use that experience when thou dost visit trainers. Increase thy strength, dexterity, and intelligence, as well as thy combat skill and ability to perform magic. Thou wilt be lost without this necessary evolution of experience!\"");
say();
UI_remove_answer("experience");
labelFunc0440_00F3:
case "Nystul" atend labelFunc0440_0114:
if (!(!gflags[0x0003])) goto labelFunc0440_0109;
message("\"He is quite looney. If thou dost ask me, I believe all the mages in the land are afflicted. Take a look and find out for thyself.\"");
say();
goto labelFunc0440_010D;
labelFunc0440_0109:
message("\"He is much better now!\"");
say();
labelFunc0440_010D:
UI_remove_answer("Nystul");
labelFunc0440_0114:
case "bye" atend labelFunc0440_011F:
goto labelFunc0440_0122;
labelFunc0440_011F:
goto labelFunc0440_0051;
labelFunc0440_0122:
break;
message("\"Have courage. Have faith. Be strong. Be wise.\"*");
say();
labelFunc0440_0127:
if (!(event == 0x0000)) goto labelFunc0440_0135;
Func092E(0xFFC0);
labelFunc0440_0135:
return;
}
// externs
extern var Func090A 0x90A ();
void Func0441 object#(0x441) ()
{
var var0000;
if (!(event == 0x0000)) goto labelFunc0441_0009;
abort;
labelFunc0441_0009:
if (!(event == 0x0001)) goto labelFunc0441_010E;
UI_show_npc_face(0xFFBF, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00C2])) goto labelFunc0441_003D;
message("You see an impressive winged gargoyle with a stately demeanor.");
say();
gflags[0x00C2] = true;
goto labelFunc0441_0041;
labelFunc0441_003D:
message("\"To greet thee again,\" Wislem says.");
say();
labelFunc0441_0041:
converse (0) atend labelFunc0441_0109;
case "name" atend labelFunc0441_005E:
message("\"To be known as Wislem.\"");
say();
UI_remove_answer("name");
UI_add_answer("Wislem");
labelFunc0441_005E:
case "Wislem" atend labelFunc0441_0071:
message("To be the word for `wise man.'\"");
say();
UI_remove_answer("Wislem");
labelFunc0441_0071:
case "job" atend labelFunc0441_0084:
message("\"To be advisor to Lord British, and act as representative for my race here in Britain. To be honored to be in long line of advisors to the king.\"");
say();
UI_add_answer("advisor");
labelFunc0441_0084:
case "advisor" atend labelFunc0441_00A4:
message("\"To make sure the gargoyle race is heard in the castle. To have been a long road to acceptance and integration into Britannian society.\"");
say();
UI_add_answer(["integration", "society"]);
UI_remove_answer("advisor");
labelFunc0441_00A4:
case "integration" atend labelFunc0441_00B7:
message("\"To tell you that, not long after your last visit, the gargoyles settled upon Terfin, an island to the southeast. To have moved, little by little, onto the mainland.\"");
say();
UI_remove_answer("integration");
labelFunc0441_00B7:
case "society" atend labelFunc0441_00D1:
message("\"To be accepted in most places. To feel sad, however, that there are still towns that do not accept us. But our Lord and King, Draxinusom, is still alive and is doing a magnificent job. To know and help all gargoyles who are alive.\"");
say();
UI_add_answer("Inamo");
UI_remove_answer("society");
labelFunc0441_00D1:
case "Inamo" atend labelFunc0441_00FB:
message("Wislem listens to your story about the murders in Trinsic. \"To be sad to hear this. To suggest that you visit Lord Draxinusom in Terfin and tell him about Inamo. He will know who Inamo's parent gargoyle is. To recommend you relay this news as soon as possible.~~\"To go soon and tell Draxinusom about Inamo?\"");
say();
var0000 = Func090A();
if (!var0000) goto labelFunc0441_00F0;
message("\"To know you are reliable.\"");
say();
goto labelFunc0441_00F4;
labelFunc0441_00F0:
message("\"To be concerned that Inamo's parent shall never know what happened.\" He appears saddened.");
say();
labelFunc0441_00F4:
UI_remove_answer("Inamo");
labelFunc0441_00FB:
case "bye" atend labelFunc0441_0106:
goto labelFunc0441_0109;
labelFunc0441_0106:
goto labelFunc0441_0041;
labelFunc0441_0109:
break;
message("\"To bid farewell.\"*");
say();
labelFunc0441_010E:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func08EC 0x8EC ();
void Func0442 object#(0x442) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
if (!(event == 0x0001)) goto labelFunc0442_01E3;
UI_show_npc_face(0xFFBE, 0x0000);
var0000 = Func0908();
var0001 = Func0909();
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00C3])) goto labelFunc0442_0046;
message("You see a very large mouse with an air of superior intelligence.~~\"Avatar!\" she exclaims. \"I cannot believe thou art here, ");
message(var0000);
message("!\"");
say();
gflags[0x00C3] = true;
goto labelFunc0442_0050;
labelFunc0442_0046:
message("\"Hello, ");
message(var0000);
message("!\" Sherry the Mouse exclaims.");
say();
labelFunc0442_0050:
converse (0) atend labelFunc0442_01D8;
case "name" atend labelFunc0442_006C:
message("\"Why, dost thou not remember Sherry, ");
message(var0000);
message("?\"");
say();
UI_remove_answer("name");
labelFunc0442_006C:
case "job" atend labelFunc0442_00A4:
var0002 = UI_get_schedule_type(0xFFBE);
if (!(var0002 == 0x0019)) goto labelFunc0442_0090;
message("\"I am trying to keep up with these children! We are playing tag through the castle! I must run! Talk to me later in the nursery!\"*");
say();
abort;
goto labelFunc0442_00A4;
labelFunc0442_0090:
message("\"I mainly assist Nanna in the Royal Nursery during the day. I watch the children alone in the evenings while Nanna has dinner and goes to her Fellowship meeting. Other times I run around the castle looking for mouse food!\"");
say();
UI_add_answer(["Royal Nursery", "castle", "mouse food"]);
labelFunc0442_00A4:
case "Royal Nursery" atend labelFunc0442_00C4:
message("\"The children are so much fun. I like to read them their favorite story. It happens to be Lord British's favorite children's story, too! He read it to me oh, those many years ago.\"");
say();
UI_remove_answer("Royal Nursery");
UI_add_answer(["children", "story"]);
labelFunc0442_00C4:
case "children" atend labelFunc0442_00D7:
message("\"If thou hast not had the chance yet, do look around and meet them. They are most wonderful and amusing.\"");
say();
UI_remove_answer("children");
labelFunc0442_00D7:
case "castle" atend labelFunc0442_00EA:
message("\"It is much the same as it was when thou wert last here. There has been a bit of remodeling. After all, it has been 200 years since thou wert last here! I believe Lord British has a storeroom with quite a bit of equipment inside.\"");
say();
UI_remove_answer("castle");
labelFunc0442_00EA:
case "mouse food" atend labelFunc0442_019F:
message("\"Well, cheese is my favorite. If thou dost ever have cheese to give away, I will gladly eat it. But I will generally eat most anything. Dost thou have any cheese for me?\"");
say();
if (!Func090A()) goto labelFunc0442_0194;
var0003 = Func0931(0xFE9B, 0x0001, 0x0179, 0xFE99, 0x001A);
var0004 = Func0931(0xFE9B, 0x0001, 0x0179, 0xFE99, 0x001B);
if (!(var0003 || var0004)) goto labelFunc0442_018D;
message("\"Want to give me some?\"");
say();
if (!Func090A()) goto labelFunc0442_0186;
var0005 = UI_remove_party_items(0x0001, 0x0179, 0xFE99, 0x001A, true);
var0006 = UI_remove_party_items(0x0001, 0x0179, 0xFE99, 0x001B, true);
if (!(var0005 || var0006)) goto labelFunc0442_0179;
message("\"Thank thee, ");
message(var0000);
message("!\"");
say();
goto labelFunc0442_0183;
labelFunc0442_0179:
message("\"I am unable to take thy cheese at the moment, ");
message(var0001);
message(".\"");
say();
labelFunc0442_0183:
goto labelFunc0442_018A;
labelFunc0442_0186:
message("\"Well! I thought thou wert my friend!\"");
say();
labelFunc0442_018A:
goto labelFunc0442_0191;
labelFunc0442_018D:
message("\"But thou hast not got any cheese!\"");
say();
labelFunc0442_0191:
goto labelFunc0442_0198;
labelFunc0442_0194:
message("\"Too bad! If thou dost find any, please keep me in mind!\"");
say();
labelFunc0442_0198:
UI_remove_answer("mouse food");
labelFunc0442_019F:
case "story" atend labelFunc0442_01CA:
message("\"Dost thou want to hear the story? It is called 'Hubert's Hair-Raising Adventure'.\"");
say();
if (!Func090A()) goto labelFunc0442_01BF;
message("Sherry stands on her hind legs, takes a deep breath, and then recites -- from memory -- very, very fast:");
say();
UI_push_answers();
Func08EC();
goto labelFunc0442_01C3;
labelFunc0442_01BF:
message("\"Some other time, then!\"");
say();
labelFunc0442_01C3:
UI_remove_answer("story");
labelFunc0442_01CA:
case "bye" atend labelFunc0442_01D5:
goto labelFunc0442_01D8;
labelFunc0442_01D5:
goto labelFunc0442_0050;
labelFunc0442_01D8:
break;
message("\"Farewell, ");
message(var0001);
message("!\"*");
say();
labelFunc0442_01E3:
if (!(event == 0x0000)) goto labelFunc0442_025A;
var0002 = UI_get_schedule_type(UI_get_npc_object(0xFFBE));
if (!(var0002 == 0x0019)) goto labelFunc0442_025A;
var0007 = UI_die_roll(0x0001, 0x0004);
if (!(var0007 == 0x0001)) goto labelFunc0442_0220;
var0008 = "@Tag! Thou art it!@";
labelFunc0442_0220:
if (!(var0007 == 0x0002)) goto labelFunc0442_0230;
var0008 = "@Cannot catch me!@";
labelFunc0442_0230:
if (!(var0007 == 0x0003)) goto labelFunc0442_0240;
var0008 = "@Nyah nyah! Thou art it!@";
labelFunc0442_0240:
if (!(var0007 == 0x0004)) goto labelFunc0442_0250;
var0008 = "@Catch me if thou can!@";
labelFunc0442_0250:
UI_item_say(0xFFBE, var0008);
labelFunc0442_025A:
return;
}
// externs
extern var Func090A 0x90A ();
extern void Func0854 0x854 ();
extern void Func092E 0x92E (var var0000);
void Func0443 object#(0x443) ()
{
var var0000;
if (!(event == 0x0001)) goto labelFunc0443_0147;
UI_show_npc_face(0xFFBD, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!(gflags[0x0072] == true)) goto labelFunc0443_0031;
UI_add_answer("mutton");
labelFunc0443_0031:
if (!(!gflags[0x00C4])) goto labelFunc0443_0043;
message("This is an elderly woman who epitomizes 'grandmotherly'.");
say();
gflags[0x00C4] = true;
goto labelFunc0443_0047;
labelFunc0443_0043:
message("\"Hello, again!\" Boots says.");
say();
labelFunc0443_0047:
converse (0) atend labelFunc0443_0142;
case "name" atend labelFunc0443_005D:
message("\"All my brothers and sisters called me 'Boots' when I was a baby, and it hath remained my name ever since.\"");
say();
UI_remove_answer("name");
labelFunc0443_005D:
case "job" atend labelFunc0443_0070:
message("\"Why, I am Lord British's personal cook! I prepare meals for the entire castle.\"");
say();
UI_add_answer("meals");
labelFunc0443_0070:
case "meals" atend labelFunc0443_0093:
message("\"Just go to the dining room at breakfast or supper time and mine husband Bennie will serve thee!\"");
say();
UI_add_answer(["breakfast", "supper", "Bennie"]);
UI_remove_answer("meals");
labelFunc0443_0093:
case "breakfast" atend labelFunc0443_00A6:
message("\"For breakfast I usually prepare a dish that my Liege brought with him from his homeland. Here we call it Eggs British. It is served with assorted fruits and tea, of course. It is the King's favorite.\"");
say();
UI_remove_answer("breakfast");
labelFunc0443_00A6:
case "supper" atend labelFunc0443_00B9:
message("\"This meal is usually whatever meat or game or fish Lord British requests, accompanied by several additional courses and a fine dessert.\"");
say();
UI_remove_answer("supper");
labelFunc0443_00B9:
case "Bennie" atend labelFunc0443_00DD:
message("\"He's a dear, but he has become a little absent-minded in his later years. He never remembers to bring enough meat from the slaughterhouse in Paws. In fact, we are short this week!\"");
say();
UI_add_answer(["absent-minded", "short"]);
UI_remove_answer("Bennie");
gflags[0x0071] = true;
labelFunc0443_00DD:
case "absent-minded" atend labelFunc0443_00F0:
message("\"Last week I asked him to put a little garlic into some soup. He put in the garlic and then forgot about it. So he went and put some more in. Then he forgot he did that. So he put in more. Well, thou canst imagine the look on Lord British's face when he finally did taste that soup! It is a good thing we live and work in the castle of such a just ruler.\"");
say();
UI_remove_answer("absent-minded");
labelFunc0443_00F0:
case "short" atend labelFunc0443_011E:
message("\"That is right, we do not have enough. If thou couldst bring me mutton from the slaughterhouse, I will pay thee 5 gold for every portion thou canst bring. All right?\"");
say();
var0000 = Func090A();
if (!var0000) goto labelFunc0443_0113;
message("\"Good, I will be awaiting thy return!\"");
say();
gflags[0x0072] = true;
goto labelFunc0443_0117;
labelFunc0443_0113:
message("\"Oh dear. Well, I know thou art busy. Some other time, then.\"");
say();
labelFunc0443_0117:
UI_remove_answer("short");
labelFunc0443_011E:
case "mutton" atend labelFunc0443_0134:
message("\"Splendid! Let's see, we agreed on 5 gold per portion, if I remember correctly.\"");
say();
Func0854();
UI_remove_answer("mutton");
labelFunc0443_0134:
case "bye" atend labelFunc0443_013F:
goto labelFunc0443_0142;
labelFunc0443_013F:
goto labelFunc0443_0047;
labelFunc0443_0142:
break;
message("\"Bye now!\"*");
say();
labelFunc0443_0147:
if (!(event == 0x0000)) goto labelFunc0443_0155;
Func092E(0xFFBD);
labelFunc0443_0155:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func0444 object#(0x444) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
var var0008;
var var0009;
var var000A;
if (!(event == 0x0001)) goto labelFunc0444_01AC;
UI_show_npc_face(0xFFBC, 0x0000);
var0000 = Func0908();
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0071]) goto labelFunc0444_0035;
UI_add_answer("absent-minded");
labelFunc0444_0035:
var0001 = UI_part_of_day();
var0002 = UI_get_party_list();
if (!(!gflags[0x00C5])) goto labelFunc0444_0055;
message("You see an elderly man with good humor and a warm smile.");
say();
gflags[0x00C5] = true;
goto labelFunc0444_0059;
labelFunc0444_0055:
message("\"Yes, Avatar?\" Bennie asks with authority.");
say();
labelFunc0444_0059:
converse (0) atend labelFunc0444_01A1;
case "name" atend labelFunc0444_006F:
message("\"All my friends call me Bennie.\"");
say();
UI_remove_answer("name");
labelFunc0444_006F:
case "job" atend labelFunc0444_0088:
message("\"I am the Head Servant at the castle. My job consists of keeping the other servants in line and serving the meals.\"");
say();
UI_add_answer(["Head Servant", "meals"]);
labelFunc0444_0088:
case "Head Servant" atend labelFunc0444_009B:
message("\"Yes, I have been Head Servant for many years. Mine entire family works for Lord British. My son is the king's gentleman's gentleman. My daughter is the Royal Chambermaid. My wife is Head Cook. We are pleased to work for Lord British.\"");
say();
UI_remove_answer("Head Servant");
labelFunc0444_009B:
case "meals" atend labelFunc0444_0180:
message("\"My wife, Boots, is the head cook. Her specialty is roast beef. She makes wonderful pastries, too. Enough of those will give thee a very un-Avatar-like figure!");
say();
if (!((var0001 == 0x0003) || (var0001 == 0x0006))) goto labelFunc0444_0175;
message("\"Wouldst thou like to order a meal?\"");
say();
var0003 = Func090A();
if (!var0003) goto labelFunc0444_016E;
if (!gflags[0x00D8]) goto labelFunc0444_00DC;
var0004 = UI_get_timer(0x0001);
goto labelFunc0444_00E6;
labelFunc0444_00DC:
gflags[0x00D8] = true;
var0004 = 0x0019;
labelFunc0444_00E6:
if (!(var0004 >= 0x0018)) goto labelFunc0444_0161;
message("\"For thee, it is free!\"~~Bennie serves you and your party a delicious meal of beef and pastry.");
say();
var0002 = UI_get_party_list();
var0005 = 0x0000;
//enum();
labelFunc0444_0102:
for (var0008 in var0002 with var0006 to var0007) atend labelFunc0444_011A;
var0005 = (var0005 + 0x0001);
goto labelFunc0444_0102;
labelFunc0444_011A:
var0009 = UI_add_party_items(var0005, 0x0179, 0xFE99, 0x0009, true);
var000A = UI_add_party_items(var0005, 0x0179, 0xFE99, 0x0006, true);
if (!(var000A || var0009)) goto labelFunc0444_015A;
UI_set_timer(0x0001);
message("\"Return tomorrow and thou canst have another free meal.\"");
say();
goto labelFunc0444_015E;
labelFunc0444_015A:
message("\"Thou art carrying too much to take the beef and pastry!\"");
say();
labelFunc0444_015E:
goto labelFunc0444_016B;
labelFunc0444_0161:
message("\"I am sorry, ");
message(var0000);
message(", but I am allowed to serve thee only once per day. Return tomorrow for a meal.\"");
say();
labelFunc0444_016B:
goto labelFunc0444_0172;
labelFunc0444_016E:
message("\"Oh. Well, thou must return when thou art hungry.\"");
say();
labelFunc0444_0172:
goto labelFunc0444_0179;
labelFunc0444_0175:
message("\"Come to the dining room during breakfast or dinner and I will be most honored to serve thee!\"");
say();
labelFunc0444_0179:
UI_remove_answer("meals");
labelFunc0444_0180:
case "absent-minded" atend labelFunc0444_0193:
message("\"Yes, I suppose I am. I am also becoming a little hard-of-hearing. When thou hast seen as many years as I have, one's faculties are no longer perfect.\"");
say();
UI_remove_answer("absent-minded");
labelFunc0444_0193:
case "bye" atend labelFunc0444_019E:
goto labelFunc0444_01A1;
labelFunc0444_019E:
goto labelFunc0444_0059;
labelFunc0444_01A1:
break;
message("\"Safe journeys, ");
message(var0000);
message(".\"*");
say();
labelFunc0444_01AC:
if (!(event == 0x0000)) goto labelFunc0444_01BA;
Func092E(0xFFBC);
labelFunc0444_01BA:
return;
}
// externs
extern var Func0909 0x909 ();
extern var Func090A 0x90A ();
void Func0445 object#(0x445) ()
{
var var0000;
var var0001;
if (!(event == 0x0000)) goto labelFunc0445_0009;
abort;
labelFunc0445_0009:
UI_show_npc_face(0xFFBB, 0x0000);
var0000 = Func0909();
UI_add_answer(["name", "job", "bye"]);
var0001 = UI_find_nearest(0xFE9C, 0x018A, 0xFFFF);
if (!(!gflags[0x00C6])) goto labelFunc0445_004B;
message("You see a thoroughly disheartened young man who is miserably languishing behind bars.");
say();
gflags[0x00C6] = true;
goto labelFunc0445_0055;
labelFunc0445_004B:
message("\"Hello again, ");
message(var0000);
message(",\" says Weston.");
say();
labelFunc0445_0055:
converse (0) atend labelFunc0445_032F;
case "name" atend labelFunc0445_006B:
message("\"I am Weston.\"");
say();
UI_remove_answer("name");
labelFunc0445_006B:
case "job" atend labelFunc0445_00A3:
message("\"I have none so long as I am left to rot here in this prison.\"");
say();
if (!var0001) goto labelFunc0445_009C;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"Thy job is to pay for the crime thou hast committed.\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_009C:
UI_add_answer("prison");
labelFunc0445_00A3:
case "prison" atend labelFunc0445_00E8:
message("\"My crime was stealing apples from the Royal Orchards. This I did and I admit it freely. If given the same set of circumstances I would do it again.\"");
say();
if (!var0001) goto labelFunc0445_00D4;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"A-ha! Not only an unrepentant criminal but also a potential professional thief! Looks like this one has ended in the right place and just in the nick o' time.\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_00D4:
UI_remove_answer("prison");
UI_add_answer(["stealing apples", "circumstances"]);
labelFunc0445_00E8:
case "stealing apples" atend labelFunc0445_012D:
message("\"I had offered to buy them first, but Figg, the caretaker of the orchard, set an exorbitant price which I am certain he would have pocketed for himself. So, yes, I admit to stealing them.\"");
say();
if (!var0001) goto labelFunc0445_0119;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"See how the common criminal blames his type of immoral behavior on others, all the while denying it in himself! This one is irredeemable, he is.\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_0119:
UI_remove_answer("stealing apples");
UI_add_answer(["Figg", "admit"]);
labelFunc0445_012D:
case "Figg" atend labelFunc0445_016F:
message("\"He gives baskets of fruit free to The Fellowship without Lord British's consent, I am quite certain.\"");
say();
gflags[0x0094] = true;
if (!var0001) goto labelFunc0445_0168;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"Thou shouldst not listen to this obvious slander, ");
message(var0000);
message("! It is hearsay!\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_0168:
UI_remove_answer("Figg");
labelFunc0445_016F:
case "admit" atend labelFunc0445_0182:
message("\"Mine only regrets are that I did not try to steal something bigger and that I did not get away with it.\"");
say();
UI_remove_answer("admit");
labelFunc0445_0182:
case "circumstances" atend labelFunc0445_01C7:
message("\"I am not from Britain, ");
message(var0000);
message(". I am from Paws and it is another reason why they believe I can be trifled with.\"");
say();
if (!var0001) goto labelFunc0445_01B9;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"This prisoner is from Paws! I bloody knew it! To his credit he was in town nearly an entire day before he stole something. For a citizen of Paws that is as honest as they come!\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_01B9:
UI_remove_answer("circumstances");
UI_add_answer("Paws");
labelFunc0445_01C7:
case "Paws" atend labelFunc0445_020C:
message("\"Paws is a town where thou mayest feel the icy grip of poverty about thine heart.\"");
say();
UI_remove_answer("Paws");
UI_add_answer(["town", "poverty"]);
if (!var0001) goto labelFunc0445_020C;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"Oh bloody 'ell! Now I suppose he is going to go and tell us his whole pathetic life's story! Couldst thou wait until I get out mine handkerchief so I do not interrupt thee with all my wailing!\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_020C:
case "town" atend labelFunc0445_021F:
message("\"Not so long ago Paws was a thriving rustic coastal village. But as Britain grew larger most of our local businesses moved there. We became a farming town and the seven year drought gave us a lashing that we have yet to recover from.\"");
say();
UI_remove_answer("town");
labelFunc0445_021F:
case "poverty" atend labelFunc0445_0264:
message("\"I do not wish to bemoan my fate, but my family lives in Paws -- my wife Alina and my child Cassie. They were starving and I came to Britain to get food for them.\"");
say();
if (!var0001) goto labelFunc0445_0250;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"Oh, now! Do not go and bring up poverty as an excuse as to why thou hast turned to crime! My father was so poor he and his family had to eat dirt. But he still raised me proper. Beat the stuffings out of me if he ever so much as imagined I did anything wrong, I can tell thee that!\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_0250:
UI_remove_answer("poverty");
UI_add_answer(["family", "starving"]);
labelFunc0445_0264:
case "family" atend labelFunc0445_0277:
message("\"I do not want any mercy for myself. I have admitted my guilt. But my life does not only belong to myself. It belongs to my wife and family as well. Without me they will suffer unbearable hardships, such as they might not survive.\"");
say();
UI_remove_answer("family");
labelFunc0445_0277:
case "starving" atend labelFunc0445_02BC:
message("\"Although there are fools who will speak otherwise, the people of Britannia are being crushed by the vicious tyranny of the class system. While a few have more than they could ever enjoy, there are many who go to sleep hungry every night. My wife and daughter to name two of them.\"");
say();
if (!var0001) goto labelFunc0445_02A8;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"Oh, that reminds me it is nearly time for my meal break! The trout is supposed to be delicious today at the Farmer's Market.\"");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_02A8:
UI_remove_answer("starving");
UI_add_answer(["fools", "class system"]);
labelFunc0445_02BC:
case "fools" atend labelFunc0445_02CF:
message("\"Fools like our good friend the guard would have us believe that nothing has changed in Britannia for over two hundred years. That we can live our lives as if all of our problems do not exist. I say to thee that it is people like that who cause our problems in the first place.\"");
say();
UI_remove_answer("fools");
labelFunc0445_02CF:
case "class system" atend labelFunc0445_0321:
message("\"While I am certain Lord British is a just and fair ruler, he must be quite unaware of all that goes on in his kingdom. Surely he would not tolerate such inequity.\"");
say();
if (!var0001) goto labelFunc0445_0300;
UI_show_npc_face(0xFEFE, 0x0000);
message("\"All right! That is enough noise out of thee! All day long yakkata-yakkata about the awful terrible class system! Why, the next thing thou knowest thou shalt be sayin' society is to blame for thy crimes. Not a word from anybody about any appreciation for keeping the laws and order. No, of course not! But all the pity in the world for the dangerous lawbreakers who are the real threat to society.\"*");
say();
UI_remove_npc_face(0xFEFE);
UI_show_npc_face(0xFFBB, 0x0000);
labelFunc0445_0300:
message("\"Wouldst thou speak with Lord British about me? I would bet that he is completely unaware of my case! Please! Wilt thou speak with him?\"");
say();
if (!Func090A()) goto labelFunc0445_0315;
message("\"Oh, I thank thee, Avatar! My fate and the fates of my wife and daughter are in thine hands!\"");
say();
gflags[0x00CD] = true;
goto labelFunc0445_031A;
labelFunc0445_0315:
message("Weston lowers his head. \"Then why art thou speaking with me? Go away and leave me to my misery.\"*");
say();
abort;
labelFunc0445_031A:
UI_remove_answer("class system");
labelFunc0445_0321:
case "bye" atend labelFunc0445_032C:
goto labelFunc0445_032F;
labelFunc0445_032C:
goto labelFunc0445_0055;
labelFunc0445_032F:
break;
message("\"I thank thee for visiting me.\" *");
say();
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func08F7 0x8F7 (var var0000);
extern var Func090A 0x90A ();
extern var Func0931 0x931 (var var0000, var var0001, var var0002, var var0003, var var0004);
extern void Func0911 0x911 (var var0000);
extern void Func092E 0x92E (var var0000);
void Func0446 object#(0x446) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
if (!(event == 0x0001)) goto labelFunc0446_0296;
UI_show_npc_face(0xFFBA, 0x0000);
var0000 = Func0908();
var0001 = UI_part_of_day();
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x00DE]) goto labelFunc0446_003C;
UI_add_answer("signed");
labelFunc0446_003C:
if (!(!gflags[0x00C7])) goto labelFunc0446_0052;
message("This is a lovely, earthy woman with a warm smile.");
say();
message("\"Word has spread quickly of thine arrival, Avatar! Welcome!\"");
say();
gflags[0x00C7] = true;
goto labelFunc0446_005C;
labelFunc0446_0052:
message("\"Hello, ");
message(var0000);
message(",\" Miranda says. \"Nice to see thee again.\"");
say();
labelFunc0446_005C:
converse (0) atend labelFunc0446_0291;
case "name" atend labelFunc0446_0072:
message("\"I am Miranda.\"");
say();
UI_remove_answer("name");
labelFunc0446_0072:
case "job" atend labelFunc0446_008E:
message("\"I serve on the Great Council. Today we are working on a bill of law. When I am not here in the castle, I am kept busy with a young child.\"");
say();
UI_add_answer(["Great Council", "bill", "child"]);
labelFunc0446_008E:
case "Great Council" atend labelFunc0446_00A8:
message("\"The Great Council supports Lord British in the legislation of Britannia's laws. I am honored to be one of the three women serving on the Council.\"");
say();
UI_add_answer("women");
UI_remove_answer("Great Council");
labelFunc0446_00A8:
case "women" atend labelFunc0446_00C2:
message("\"I am particularly concerned about women's duties and privileges and their available opportunities in the land. Our history has been kind to women in general, but there is still room for improvement.\"");
say();
UI_add_answer("improvement");
UI_remove_answer("women");
labelFunc0446_00C2:
case "improvement" atend labelFunc0446_00D5:
message("\"More women could hold public office, for one thing. And I would personally like to be rid of those scantily-clad women in heroic fantasy paintings.\"");
say();
UI_remove_answer("improvement");
labelFunc0446_00D5:
case "child" atend labelFunc0446_0156:
message("Miranda smiles. \"Yes, my son's name is Max.");
say();
if (!((var0001 == 0x0002) || ((var0001 == 0x0003) || ((var0001 == 0x0004) || (var0001 == 0x0005))))) goto labelFunc0446_010A;
message("\"He is probably in the Royal Nursery.");
say();
goto labelFunc0446_0147;
labelFunc0446_010A:
var0002 = Func08F7(0xFFE0);
if (!var0002) goto labelFunc0446_0143;
message("\"He's right here! Say hello to the Avatar, Max.\"*");
say();
UI_show_npc_face(0xFFE0, 0x0000);
message("\"Hi. I'm a funny boy!\"*");
say();
UI_remove_npc_face(0xFFE0);
UI_show_npc_face(0xFFBA, 0x0000);
message("\"He's quite precocious.");
say();
goto labelFunc0446_0147;
labelFunc0446_0143:
message("\"I wonder where he could be...");
say();
labelFunc0446_0147:
message("\"He is quite obviously his father's son. Perhaps thou hast met him? Raymundo -- the director of the Royal Theatre. We believe Max will be quite a performer when he's older.\"");
say();
gflags[0x0069] = true;
UI_remove_answer("child");
labelFunc0446_0156:
case "bill" atend labelFunc0446_0199:
if (!((var0001 == 0x0002) || ((var0001 == 0x0003) || ((var0001 == 0x0004) || (var0001 == 0x0005))))) goto labelFunc0446_018E;
message("\"Inwisloklem and I are drafting a bill which would make illegal any distribution of waste products in Lock Lake, near Cove. The lake is quite defiled.\"");
say();
UI_add_answer("Cove");
goto labelFunc0446_0192;
labelFunc0446_018E:
message("\"I would like to speak with thee about the new bill we are drafting. Please come to the Council Chamber during normal working hours and we shall talk.\"");
say();
labelFunc0446_0192:
UI_remove_answer("bill");
labelFunc0446_0199:
case "Cove" atend labelFunc0446_01FF:
message("\"Art thou travelling to Cove?\"");
say();
var0003 = Func090A();
if (!var0003) goto labelFunc0446_01F4;
message("\"That is good news! Perhaps thou couldst do us a great favor. We need this bill delivered to Lord Heather in Cove. He must read it and give us his approval by signing it. I know thou hast far more important things to do than running errands, but it would be greatly appreciated. Wilt thou do it?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc0446_01ED;
message("\"Wonderful! Here is the bill. Please bring it back to me when it is signed. And we thank thee.\"");
say();
var0005 = UI_add_party_items(0x0001, 0x031D, 0x0004, 0xFE99, true);
if (!var0005) goto labelFunc0446_01E6;
gflags[0x006A] = true;
goto labelFunc0446_01EA;
labelFunc0446_01E6:
message("\"Thine hands are too full to take the bill!\"");
say();
labelFunc0446_01EA:
goto labelFunc0446_01F1;
labelFunc0446_01ED:
message("\"Oh. All right. We know that thou art very busy. We shall find another way to deliver the bill. Thank thee anyway.\"");
say();
labelFunc0446_01F1:
goto labelFunc0446_01F8;
labelFunc0446_01F4:
message("\"Thou wilt not be travelling to Cove at all? Well, all right then. Never mind.\"");
say();
labelFunc0446_01F8:
UI_remove_answer("Cove");
labelFunc0446_01FF:
case "signed" atend labelFunc0446_0283:
message("\"Didst thou have Lord Heather sign the bill?\"");
say();
var0006 = Func090A();
if (!var0006) goto labelFunc0446_0278;
message("\"Excellent! Let me see it.\"");
say();
if (!gflags[0x00DE]) goto labelFunc0446_0271;
var0007 = Func0931(0xFE9B, 0x0001, 0x031D, 0x0004, 0xFE99);
if (!var0007) goto labelFunc0446_026A;
var0005 = UI_remove_party_items(0x0001, 0x031D, 0x0004, 0xFE99, true);
if (!var0005) goto labelFunc0446_0263;
message("\"It looks in order! We thank thee, Avatar!\"");
say();
Func0911(0x0014);
goto labelFunc0446_0267;
labelFunc0446_0263:
message("\"Wait, where is it? Thou dost not have it. I hope thou hast not lost it. Thou shouldst go and find it. 'Tis an important document!\"");
say();
labelFunc0446_0267:
goto labelFunc0446_026E;
labelFunc0446_026A:
message("\"Wait! Where is it? Thou dost not have it. I hope thou hast not lost it. Thou shouldst go and find it. 'Tis an important document!\"");
say();
labelFunc0446_026E:
goto labelFunc0446_0275;
labelFunc0446_0271:
message("\"But thou hast not had the bill signed! Please do so, as soon as possible, if thou wouldst.\"");
say();
labelFunc0446_0275:
goto labelFunc0446_027C;
labelFunc0446_0278:
message("\"Oh. Well, the next time thou art in Cove, perhaps thou wilt find time to see him.\"");
say();
labelFunc0446_027C:
UI_remove_answer("signed");
labelFunc0446_0283:
case "bye" atend labelFunc0446_028E:
goto labelFunc0446_0291;
labelFunc0446_028E:
goto labelFunc0446_005C;
labelFunc0446_0291:
break;
message("\"We shall see thee again soon, I hope, Avatar.\"*");
say();
labelFunc0446_0296:
if (!(event == 0x0000)) goto labelFunc0446_02A4;
Func092E(0xFFBA);
labelFunc0446_02A4:
return;
}
// externs
extern void Func092F 0x92F (var var0000);
void Func0447 object#(0x447) ()
{
if (!(event == 0x0001)) goto labelFunc0447_018B;
UI_show_npc_face(0xFFB9, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!(!gflags[0x00C8])) goto labelFunc0447_0038;
message("A winged gargoyle looks at you with interest and obvious intelligence.");
say();
message("\"To welcome thee to Britain, Avatar!\"");
say();
gflags[0x00C8] = true;
goto labelFunc0447_003C;
labelFunc0447_0038:
message("\"To greet thee again, Avatar!\" Inwisloklem smiles.");
say();
labelFunc0447_003C:
converse (0) atend labelFunc0447_0186;
case "name" atend labelFunc0447_0059:
message("\"To be called Inwisloklem.\"");
say();
UI_remove_answer("name");
UI_add_answer("Inwisloklem");
labelFunc0447_0059:
case "Inwisloklem" atend labelFunc0447_006C:
message("\"To mean `interpreter' in your language.\"");
say();
UI_remove_answer("Inwisloklem");
labelFunc0447_006C:
case "job" atend labelFunc0447_0085:
message("\"To be, indeed, an interpreter in my homeland. To be now on the Great Council to serve our most noble ruler, Lord British. To be honored as one of the two gargoyles on the Council.\"");
say();
UI_add_answer(["gargoyles", "Great Council"]);
labelFunc0447_0085:
case "gargoyles" atend labelFunc0447_00A5:
message("\"To be one of the surviving gargoyles, and to preserve our heritage is my life work. To tell you our race emigrated to Britannia many, many years ago. To have settled on the island known as Terfin.\"");
say();
UI_add_answer(["surviving", "Terfin"]);
UI_remove_answer("gargoyles");
labelFunc0447_00A5:
case "surviving" atend labelFunc0447_00B8:
message("\"To be so many of my people killed two hundred years ago in the War of the False Prophet. To be the war that you ended by bringing peace between our races.\"");
say();
UI_remove_answer("surviving");
labelFunc0447_00B8:
case "Terfin" atend labelFunc0447_00D8:
message("\"To be a lonely place. To be desolate. To be not what humans call `homey'. To desire to establish a new way of life for gargoyles in Britannia, and to eliminate the hatred and misunderstanding of our race in humans. To know that ignorance breeds bigotry. To be one of those who are correcting this.\"");
say();
UI_add_answer(["way of life", "those"]);
UI_remove_answer("Terfin");
labelFunc0447_00D8:
case "way of life" atend labelFunc0447_00EB:
message("\"To desire a world where humans and gargoyles could live together in peace as equals in Britannian society.\"");
say();
UI_remove_answer("way of life");
labelFunc0447_00EB:
case "those" atend labelFunc0447_0105:
message("\"To be called The Fellowship.\"");
say();
UI_add_answer("Fellowship");
UI_remove_answer("those");
labelFunc0447_0105:
case "Fellowship" atend labelFunc0447_0118:
message("\"To be dedicated to promoting good will and trust in the land. To be thinking of joining the group soon!\"");
say();
UI_remove_answer("Fellowship");
labelFunc0447_0118:
case "Great Council" atend labelFunc0447_0138:
message("\"To create the laws of the land. To inform you that my colleague, Miranda, can tell you more of what we are doing now. To be unfortunate that most of the Council is away now.\"");
say();
UI_add_answer(["Miranda", "away"]);
UI_remove_answer("Great Council");
labelFunc0447_0138:
case "Miranda" atend labelFunc0447_014B:
message("\"To inform you that Miranda is an intelligent woman who has great concern for the well being of all of Britannia's citizens. To be one of Lord British's most trusted advisors.\"");
say();
UI_remove_answer("Miranda");
labelFunc0447_014B:
case "away" atend labelFunc0447_0165:
message("\"To be on holiday at the moment. To have only Miranda and myself present to enact this new law.\"");
say();
UI_add_answer("law");
UI_remove_answer("away");
labelFunc0447_0165:
case "law" atend labelFunc0447_0178:
message("\"To tell you to ask Miranda about it, for she knows more than I.\"");
say();
UI_remove_answer("law");
labelFunc0447_0178:
case "bye" atend labelFunc0447_0183:
goto labelFunc0447_0186;
labelFunc0447_0183:
goto labelFunc0447_003C;
labelFunc0447_0186:
break;
message("\"To say farewell.\"*");
say();
labelFunc0447_018B:
if (!(event == 0x0000)) goto labelFunc0447_0199;
Func092F(0xFFB9);
labelFunc0447_0199:
return;
}
// externs
extern var Func0908 0x908 ();
extern var Func090B 0x90B (var var0000);
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func0448 object#(0x448) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
if (!(event == 0x0001)) goto labelFunc0448_01AC;
var0000 = Func0908();
var0001 = "Avatar";
UI_show_npc_face(0xFFB8, 0x0000);
if (!gflags[0x0078]) goto labelFunc0448_002A;
var0002 = var0000;
labelFunc0448_002A:
if (!gflags[0x0079]) goto labelFunc0448_0036;
var0002 = var0001;
labelFunc0448_0036:
if (!gflags[0x0077]) goto labelFunc0448_0041;
message("Nell will not speak to you.*");
say();
abort;
labelFunc0448_0041:
if (!(!gflags[0x00C9])) goto labelFunc0448_0097;
message("You see a servant girl who looks at you in wonder. \"Thou dost look familiar. Who art thou?\"");
say();
var0003 = Func090B([var0000, var0001]);
if (!(var0003 == var0000)) goto labelFunc0448_0070;
message("\"Oh. Hello. I am Nell.\"");
say();
gflags[0x0078] = true;
goto labelFunc0448_0078;
labelFunc0448_0070:
message("\"I thought so! I have seen thy portrait before. And I had heard that thou wouldst be visiting! I'm Nell.\"");
say();
gflags[0x0079] = true;
labelFunc0448_0078:
if (!gflags[0x0078]) goto labelFunc0448_0084;
var0002 = var0000;
labelFunc0448_0084:
if (!gflags[0x0079]) goto labelFunc0448_0090;
var0002 = var0001;
labelFunc0448_0090:
gflags[0x00C9] = true;
goto labelFunc0448_00A1;
labelFunc0448_0097:
message("\"Hello, ");
message(var0002);
message(".\"");
say();
labelFunc0448_00A1:
UI_add_answer(["name", "job", "bye"]);
labelFunc0448_00B1:
converse (0) atend labelFunc0448_01A1;
case "name" atend labelFunc0448_00C7:
message("\"I told thee my name is Nell.\"");
say();
UI_remove_answer("name");
labelFunc0448_00C7:
case "job" atend labelFunc0448_00E0:
message("\"I am a chambermaid. I am responsible for keeping the castle tidy. Just a servant girl, really.\"");
say();
UI_add_answer(["castle", "servant"]);
labelFunc0448_00E0:
case "castle" atend labelFunc0448_00F3:
message("\"It is very large. Keeps me very busy. Thou wouldst not believe how dusty it gets.\"");
say();
UI_remove_answer("castle");
labelFunc0448_00F3:
case "servant" atend labelFunc0448_0119:
message("\"I suppose I'll always be a servant. My parents are servants. My brother is a servant. My fiance is a servant. My child will probably be a servant.\"");
say();
UI_add_answer(["parents", "brother", "fiance", "child"]);
UI_remove_answer("servant");
labelFunc0448_0119:
case "parents" atend labelFunc0448_012C:
message("\"They work in the castle as well. Boots is my mother. Bennie is my father. They have been here for years. I was born in this castle and played in the nursery.\"");
say();
UI_remove_answer("parents");
labelFunc0448_012C:
case "brother" atend labelFunc0448_0143:
message("\"Thou mightest run into him. He is also a servant in the castle. Charles. Other than not being as smart as I am, he is all right. For a bumbling ass, that is!\" She laughs.");
say();
gflags[0x0076] = true;
UI_remove_answer("brother");
labelFunc0448_0143:
case "fiance" atend labelFunc0448_015A:
message("\"That would be Carrocio, that dear man who runs the Punch and Judy Show. He writes the loveliest love poetry. We are getting married as soon as Carrocio can afford a wedding ring.\"");
say();
gflags[0x0075] = true;
UI_remove_answer("fiance");
labelFunc0448_015A:
case "child" atend labelFunc0448_0193:
message("Nell looks worried. \"Shhh! I do not want anyone to know. 'Tis not showing yet, is it? Carrocio and I are getting married as soon as possible. He -is- the father. I think. Then again, it could be... no, probably not him. Or could it be...? Hmmm. That would be interesting! Wait! What am I saying? The father is most definitely Carrocio! Please do not tell anyone. 'Twould be embarrassing. All right?\"");
say();
var0004 = Func090A();
if (!var0004) goto labelFunc0448_017F;
message("\"I know I can trust thee, ");
message(var0002);
message(".\"");
say();
goto labelFunc0448_0188;
labelFunc0448_017F:
message("\"But thou wouldst ruin my reputation! Please -- a servant girl needs all the self-esteem she can get without that burden!\" Nell turns away from you.*");
say();
gflags[0x0077] = true;
abort;
labelFunc0448_0188:
UI_remove_answer("child");
gflags[0x007A] = true;
labelFunc0448_0193:
case "bye" atend labelFunc0448_019E:
goto labelFunc0448_01A1;
labelFunc0448_019E:
goto labelFunc0448_00B1;
labelFunc0448_01A1:
break;
message("\"Goodbye, ");
message(var0002);
message(".\"*");
say();
labelFunc0448_01AC:
if (!(event == 0x0000)) goto labelFunc0448_01BA;
Func092E(0xFFB8);
labelFunc0448_01BA:
return;
}
// externs
extern var Func090A 0x90A ();
extern void Func092E 0x92E (var var0000);
void Func0449 object#(0x449) ()
{
var var0000;
var var0001;
var var0002;
var var0003;
var var0004;
var var0005;
var var0006;
var var0007;
if (!(event == 0x0001)) goto labelFunc0449_01E2;
UI_show_npc_face(0xFFB7, 0x0000);
UI_add_answer(["name", "job", "bye"]);
if (!gflags[0x0076]) goto labelFunc0449_002F;
UI_add_answer("Nell");
labelFunc0449_002F:
if (!gflags[0x007D]) goto labelFunc0449_003C;
UI_add_answer("Jeanette");
labelFunc0449_003C:
if (!gflags[0x007E]) goto labelFunc0449_0049;
UI_add_answer("Thou art in luck");
labelFunc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment