Ultima V Internal Formats

This text is from Nodling's information. It is only a copy paste, as I go, I'll be reformating it and then adding information.

= LZW compressed =

Some files from the PC version of Ultima 5 have been compressed with the LZW algorithm: (and possibly others)
 * .4
 * .16

*.4
These files are LZW-compressed. The uncompressed files contain 4-color images. They have the same format as the *.16 files, except that each pixel has 2 bits.

*.16
These files are LZW-compressed. The uncompressed files contain 16-color images.

TILES.16
This file contains 0x200 tiles. The tile format is 16x16 pixels and there are 4 bits per pixel. The generic structure is:

struct Tiles_16 { Tile tiles[0x200]; }

struct Tile { Tile_Row rows[16]; }

struct Tile_Row { uint8 pixel_data[8]; // 4 bits per pixel }

Tileset
The .16 Tile set is :



TILES.4
This file is exactly the same structure as the TILES.16 one, except that Tile_Row is actually:

struct Tile_Row { uint8 pixel_data[4]; // 2 bits per pixel }

Tileset
Here is the tileset using a gray-scale scheme with this file:



ITEMS.16 and MON*.16
file = number_of_entries, set of offset16, set of masked_image

number_of_entries = uint16 offset16 = uint16 masked_image = image, mask

image = width, height, set of pixel4 mask = width, height, set of pixel1

width = uint16 height = uint16 pixel4 = uint8 (4 bits per pixel) pixel1 = uint8 (1 bit per pixel)

All other *.16 files
file = number_of_entries, set of offset32, set of image

number_of_entries = uint16 offset32 = uint32 image = width, height, set of pixel4

width = uint16 height = uint16 pixel4 = uint8 (4 bits per pixel)

Notes:

1) The end of each row is padded with 0-7 black pixels (value = 0), to make sure that bytes_per_row % 4 == 0.

The width does not include the padding.

2) In DNG*.16, offsets 0x8 and 0x18 are zero.

= *.CBT =

Combat maps (11x11 tiles).

File format: struct CBT_File { Combat_Map c_maps[n]; }; struct Combat_Map { Map_Row             row0[1]; // row 1 = east // row 2 = west // row 3 = south // row 4 = north Map_PlayerPos_Row   row1_4[4]; Map_MonsterTile_Row row5[1]; Map_MonsterX_Row    row6[1]; Map_MonsterY_Row    row7[1]; Map_Row             row8_10[3]; }; struct Map_Row { uint8 tiles[11]; const uint8 zeroes[21] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; }; struct Map_PlayerPos_Row { uint8 tiles[11]; uint8 initial_X[6]; // initial x position of each party member uint8 initial_Y[6]; // initial y position of each party member uint8 zeroes[9] = {0,0,0,0,0,0,0,0,0}; }; struct Map_MonsterTile_Row { uint8 tiles[11]; uint8 monster_tiles[16]; // tile for each monster uint8 zeroes[5] = {0,0,0,0,0}; }; struct Map_MonsterX_Row { uint8 tiles[11]; uint8 initial_X[16]; // initial x position of each monster uint8 zeroes[5] = {0,0,0,0,0}; }; struct Map_MonsterY_Row { uint8 tiles[11]; uint8 initial_Y[16]; // initial y position of each monster uint8 zeroes[5] = {0,0,0,0,0}; };

Notes:

- The initial party member positions dependd on the direction from which the party entered the map.

= *.CH =

Font files with 128 characters each: - ibm.ch contains the Latin characters and a number of symbols. - runes.ch contains the Britannian runes and the remaining symbols.

File format:

Each character is 8x8 pixels, 1 bit per pixel (0 = black, 1 = white). I don't know which palette index is associated with a 0 or 1. Each byte represents 8 pixels. The most significant bit represents the leftmost pixel, and the least significant bit represents the rightmost pixel.

= *.DAT =

BRIT.DAT
The Britannian map. Its size is 256x256 tiles. It is divided into 256 chunks. Each chunk has a size of 16x16 tiles, and each tile is stored as a uint8 (in Ultima 4, the chunk size was 32x32 tiles).

To save space, chunks that are all water (tile 0x1) were left out. The location of the all-water chunks is stored in DATA.OVL. The chunks are stored from west to east, north to south, i.e. the first chunk in the uncompressed map is the one in the northwest corner.

The tiles in a chunk are also stored from west to east, north to south.

The complete map of Britannia is: 

LOOK2.DAT
This file contains the "look" descriptions for the 0x200 tiles. Each description is a zero-terminated ASCII string. Some descriptions consist only of an asterisk, which the game displays as a diamond. The offsets are relative to the beginning of the file.

look2.dat = set(0x200) of offset16, set(0x200) of ascii_string

offset16 = uint16 ascii_string = set of ascii_char, terminator ascii_char = uint8 terminator = (uint8) 0

MISCMAPS.DAT
This file contains:

1) campfire/battle screens (11x11 tiles) 2) intro screens (19x4 tiles) 3) script data for the intro

struct Miscmaps_DAT { Map_11x11 battle_maps[4]; Map_19x4 intro_maps[4]; uint8 script_data[0x28F]; };  struct Map_11x11 { Row_11x11 rows[11]; };  // each row is padded with 5 zeroes to make it 16 bytes long struct Row_11x11 { uint8 tiles[11]; const uint8 zeroes[5] = {0,0,0,0,0}; };  struct Map_19x4 { Row_19x4 rows[4]; };  // each row is padded with 13 zeroes to make it 32 bytes long struct Row_19x4 { uint8 tiles[19]; const uint8 zeroes[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0}; };

Notes:

- the intro maps are stored in the order in which they appear during the introduction: 1) "The Summoning" 2) "The Journey" 3) "The Arrival" 4) "The Welcoming"

- the script data controls the movement of NPC's in the introduction - todo: battle screen descriptions, script format

SIGNS.DAT
signs.dat = set(0x21) of offset16, set(0x21) of sign_group

offset16 = uint16 sign_group = set of sign_data

sign_data = header4, set of sign_char, terminator

header4 = location, coord_Z, coord_X, coord_Y location, coord_Z, coord_X, coord_Y = uint8 sign_char = uint8 terminator = (uint8) 0

Notes:

- offset16[i] points to the signs in location i. For locations without signs, the corresponding offset16 is 0. If you remove the zero values, you'll find that the remaining offset16's are sorted in ascending order.

- each sign starts with a 4-byte header, specifying location, z, x and y coordinates. The locations can be the following:

0x0     Britannia/Underworld -- Towns -- 0x1     Moonglow 0x2     Britain 0x3     Jhelom 0x4     Yew 0x5     Minoc 0x6     Trinsic 0x7     Skara Brae 0x8     New Magincia

-- Lighthouses -- 0x9     Fogsbane 0xA     Stormcrow 0xB     Greyhaven 0xC     Waveguide

-- Huts -- 0xD     Iolo's Hut 0xE     Sutek's Hut 0xF     Sin'Vraal's Hut 0x10    Grendel's Hut

-- Castles -- 0x11    Castle British 0x12    Castle Blackthorn

-- Villages -- 0x13    West Britanny 0x14    North Britanny 0x15    East Britanny 0x16    Paws 0x17    Cove 0x18    Buccaneer's Den

-- Keeps -- 0x19    Ararat 0x1A    Bordermarch 0x1B    Farthing 0x1C    Windemere 0x1D    Stonegate

-- Castles of the Principles -- 0x1E    The Lycaeum 0x1F    Empath Abbey 0x20    Serpent's Hold

- Location numbers are identical to those in saved.gam.

z coordinates have the same meaning as in saved.gam:

0xFF = basement/Underworld 0 = ground floor/Britannia 1 = first floor, etc.

- I don't know if the game supports signs in dungeons. - signs can contain characters from both ibm.ch and runes.ch: 0 <= sign_char <= 0x7F --> runes.ch[sign_char] 0x80 <= sign_char <= 0xFF --> ibm.ch[sign_char - 0x80]

UNDER.DAT
The Underworld map. Its size is 256x256 tiles. It is divided into 256 chunks. Each chunk has a size of 16x16 tiles, and each tile is stored as a uint8 (in Ultima 4, the chunk size was 32x32 tiles). Unlike BRIT.DAT, it is not compressed (no chunks were left out). The chunks are stored from west to east, north to south, i.e. the first chunk in the map is the one in the northwest corner. The tiles in a chunk are also stored from west to east, north to south.

= *.HCS =

Font files with 128 characters each.

ibm.hcs contains the Latin characters and a number of symbols.

runes.hcs contains the Britannian runes and the remaining symbols.

File format:

Each character is 16x12 pixels, 1 bit per pixel (0 = black, 1 = white). I don't know which palette index is associated with a 0 or 1. Each byte represents 8 pixels. The most significant bit represents the leftmost pixel, and the least significant bit represents the rightmost pixel.

= *.NPC =

Each file contains 4608 bytes.

There are of course : - CASTLE.NPC - DWELLING.NPC - KEEP.NPC - TOWNE.NPC

CASTLE.NPC
Todo.

DWELLING.NPC
Todo.

KEEP.NPC
Todo.

TOWNE.NPC
It is divided into 8 parts.

These files contain information about NPC's.

The general structure of the whole file is : struct NPC_File { NPC_Info info[8]; // each NPC file has information for 8 maps }; For each city, we have an information entry for the Npcs of the map:

struct NPC_Info { NPC_Schedule schedule[32]; uint8 type[32]; // merchant, guard, etc.  uint8 dialog_number[32]; };

The dialog number gives the entry index to the *.TLK file.

Finally, the schedule says how the Npc moves around in the city and especially when: struct NPC_Schedule { uint8 AI_types[3]; uint8 x_coordinates[3]; uint8 y_coordinates[3]; sint8 z_coordinates[3]; uint8 times[4]; };

Notes:

1) All maps can hold a maximum of 31 (not 32) NPC's. In every map, schedule[0], type[0] and dialog_number[0] are not used. However, type[0] is sometimes 0 and sometimes 0x1C, so perhaps it has some unknown purpose.

2) Each NPC_Schedule contains information about 3 locations that the NPC will go to at different times of day. The x and y coordinates are between 0 and 31, because each map has a size of 32x32 tiles. The z coordinates represent the level, relative to level 0. 0xFF would make the NPC go to the level below level 0, while 0x1 would make the NPC go to the level above level 0.

The times are given in hours, so they range from 0 to 23.

times[0] --> NPC goes to location 0

times[1] --> NPC goes to location 1

times[2] --> NPC goes to location 2

times[3] --> NPC goes to location 1

= *.OVL =

Code or data overlays.

DATA.OVL
Here is the data layout for this file:

 Mapping of Data.ovl

The old list is here for the moment:

offset     length      purpose // compressed strings 0x104C     0x24E       compressed strings used in TALK.DAT each string is a zero-terminated ASCII string // monster flags 0x154C     0x30*2      flags that define the special abilities of                           monsters during combat; 32 bits per monster 0x0020 = undead (affected by An Xen Corp) todo: - passes through walls (ghost, shadowlord) - can become invisible (wisp, ghost, shadowlord) - can teleport (wisp, shadowlord) - can't move (reaper, mimic) - able to camouflage itself - may divide when hit (slime, gargoyle) // settlements and dungeon entrances 0x1E4A     0x28*2      offsets of location name strings; add 0x10 to get the real offset 0x1E9A     0x28        x coordinates of locations 0x1EC2     0x28        y coordinates of locations // moon phases 0x1EEA     28*2        moon phases (28 byte pairs, one for each day of the month) // shrines and mantras 0x1F5E     8*2         offsets of shrine name strings; add 0x10 to get the real offset 0x1F6E     8*2         offsets of mantra strings; add 0x10 to get the real offset 0x1F7E     8           x coordinates of shrines 0x1F86     8           y coordinates of shrines // compressed string offsets 0x24F8     0x81*2      offsets of the compressed strings used in TALK.DAT; add 0x10 to get the real offset // Britannia map chunks (info about the location of the all-water chunks that were left out of BRIT.DAT) 0x3886     0x100       0xFF = the chunk consists only of tile 0x1 else = index into BRIT.DAT // this section contains information about hidden, non-regenerating objects (e.g. the magic axe in the dead tree in Jhelom); there are // only 0x71 such objects; the last entry in each table is 0 0x3E88     0x72        object type (tile - 0x100) 0x3EFA     0x72        object quality (e.g. potion type, number of gems) 0x3F6C     0x72        location number (see "Party Location") 0x3FDE     0x72        level 0x4050     0x72        x coordinate 0x40C2     0x72        y coordinate // dock coordinates (where puchased ships/skiffs are placed) // 0 = Jhelom // 1 = Minoc // 2 = East Brittany // 3 = Buccaneer's Den 0x4D86     0x4         x coordinate 0x4D8A     0x4         y coordinate // scan code translation table: // when the player presses a key that produces one of the scan codes in  // the first table, the game translates it to the corresponding code in   // the second table 0x541E     8           scancodes 0x5426     8           internal codes // wells 0x7252     0x32        wishing for one of these keywords at a wishing well gets you a horse

= *.TLK =

These files contain conversation scripts. There are 4 files for each group of Maps :

The format for each of these files is:

Notes:

1) The first NPC number is 1.

2) The script_indexes are sorted by NPC number, in ascending order.

3) The script_data blocks are sorted by NPC number, in ascending order.

4) The conversations appear to be scripted, like the ones in Ultima 6.

The way this is linked together is via the Npc information since it gives us the dialogue index which links itself to the script index.

The text encoding
For each Npc, there are a certain number of '\0' terminated strings which are encodings of what is the name, job, etc. of the Npc. To decode these texts, I've taken Nodling's decoder and tweaked it a bit.

First part: fixed entries
For each Npc, it starts with a certain number of fixed entries:

- Name, Description, Greeting, Job, Bye

Second part: key words
We specify it by:

 (Therefore text only) [  [ ]...]  (Potentially anything

Third part : labels
Then it's question/answers with labels.

Todo

Generalities
For the moment, for each entry, I do :

if((c >= 160) && (c < 255)) {           c -= 128; }       else {           special = true; }

If it's a special case, then we have two cases : it's a code based symbol, it's an entry to an array of texts from DATA.OVL (the offset table starts at 0x24f8).

For the moment, I've confirmed these bindings :

If it's not a special case, then I just copy the character in the string.

CASTLE.TXT
Name: Alistair the Bard Description: a melancholy musician. Greeting: A fine day to thee   ! Job: I try to lift people's spirits through my music! Goodbye: Good day to thee, friend!

Text information: spir or musi: Once, this was a happy place, where  all could come to shed the worries of  the world for a brief time."      "But now, times have changed and  all  that remains are memories! memo: Memories of the  good times. good or time: When Lord British ruled this land with a firm but  just hand. just or hand: 'Tis hard for a monarch to walk the line of power and fairness. line or mona or powe or fair: We miss the true ruler, and yet hope for his return!

Label information: -- Name: Stephen Description: a large, jolly man with a very dirty apron. Greeting: Job: I am the lower kitchen chef. Goodbye: May thou stay as well fed as I am!

Text information: apr: Well, what dost  thou expect! I've been working in  the kitchen! cook or chef: I love to cook, especially for banquets! kitc: 'Tis small but well stocked. banq: Alas, we have  not had one  since  the master left us. his or mast: Yes, 'tis very sad, though I hope for  his return, so I may  once again place roast pheasant before him! roas or phea: 'Twas his favorite. stoc: We have many delicacies from every region of  the Kingdom! deli: We even have pheasant! king or regi: All over!

Label information: -- Name: Treanna"        <Ask Name> Description: a young girl. Greeting:  <Goto Label 0> Job: I am  the stable girl. Goodbye: Goodbye.

Text information: stab: Lord British's stables are home to many  of  the finest breeds in  the land. val: <Goto Label 1> lord or brit: Alas, he is no longer with us. bree: We have prime examples of most of the major breeds." <New Line>  <New Line>  <Goto Label 1> smit:  <Goto Label 4>

Label information:

<Label 0> Greetings, <AVATAR NAME>, nice to  see  thee again." <New Line>  <New Line>  <Nothing>

<Label 1> What's thy favorite breed? Default: Never heard of  that one, must  be  one  of  Blackthorn's new creations! val: Hey, mine too!" <New Line> <New Line>  <Goto Label 2> step or plou or moun: Well, they're well enough I suppose, but  they hath not any true spirit!

<Label 2> Ever heard of a talking horse? Default: <Goto Label 2> n: A mage from Paws name Bandaii claims one exists! I wish I could remember the horse's name.... y: <Goto Label 3>

<Label 3> What was its name? Default: No, that's not it. ed: Not that one! smit: <Goto Label 4>

<Label 4> That's it!" <New Line> <New Line>  <PAUSE> "I have  heard  it  lives  in Iolo's barn, by  his hut in  the deep forest!" <New Line>  <New Line>  <Nothing> -- Name: Margaret Description: a sprightly old woman. Greeting: Aye,  <AVATAR NAME>, always a pleasure! Job: I am  the upper kitchen chef. Goodbye: Drop by later for a hot bowl of soup.

Text information: uppe or kitc or chef: We feed a whole lot o' folks here! folk: We serve mostly guards. Since Lord British left we get few visitors. visi: <Goto Label 0> brit: He took an expedition into the newfound Underworld and was killed! guar: They're a mangy lot, but I loves 'em. food or soup: <Goto Label 2> cold or day: The weather's turned quite bitter since those  Shadowlords appeared! weat or shad: Indeed it has!

Label information:

<Label 0> <If/Else Knows Name>  <Goto Label 1> Art thou  from around here? Default: Nice to have  thee, friend." <New Line>  <New Line>  <Ask Name> y: I see.

<Label 1> 'Tis a shame." <New Line> <New Line>  <Nothing>

<Label 2> Wouldst thou like  some hot broth? Default: Ah. y: 'ere, 'ave some. It'll take the chill from thy bones on  these cold days." <New Line>  <New Line>  <Change - Item 65>  <PAUSE>  <Goto Label 3>

<Label 3> Wouldst thou pay 5 crowns to 'elp offset the cost? Default: <Karma - 1> Well, thanks anyway. y: <Gold - 005> Thanks. -- Name: Desiree Description: a scruffy young girl. Greeting: Job: I help my grandmother prepare the meals! Goodbye: See ya!

Text information: gran: Her name is Margaret, and her broth is  the best. prep or meal: It's hard work, for we feed a lot of hungry mouths. feed or hung or mout: Those guards eat like bottomless pits... But, none of them are as bad as  Lord Stuart the Hungry! lord or stu: He travels around between the towns and castles and eats and eats until they throw him out!" <New Line> <New Line>  <Key wait> "I hear he's been working on a magic spell to create food! magi or spel or crea or food: It is not yet perfected, I'm told. Apparently, it only creates a small quantity, much too little for him!

Label information: -- Name: Drudgeworth Description: a unkempt and pitiful soul with a distant stare. <New Line> <New Line>  <Goto Label 0> Greeting: Job: I didn't do it!" <New Line> <New Line>  <Goto Label 1> Goodbye:  <Goto Label 3>

Text information: sent: For a crime I did not commit. faul or comm or crim: I didn't mean to kill 'er! Honest! who or kill or her: Why doesn't they believes me?" <New Line> <New Line>  <PAUSE>  <Goto Label 1> chuc: 'Twer his fault really! help: Why, I can show ye  where it's hidden! it or wher or hidd: Lets me out, I'll show ye." <New Line> <New Line>  <PAUSE>  <Goto Label 2>

Label information:

<Label 0> Hey, come 'ere!" <New Line> <New Line>  <Key wait> "Yer the first soul I've seen in months!" <New Line>  <New Line>  <Key wait> "Won't ye stay and speak with  me a while? Default: <Goto Label 3> y: Chuckles 'ates me! Left me locked up 'ere well beyond me sentence!

<Label 1> Ye believes me, don't ye? Default: <Goto Label 3> y: Then let me out. I can helps ye!

<Label 2> Ye will let me out, won't ye? Default: <Goto Label 3> y: Aye, let's go then." <New Line> <END CONVERSATION>

<Label 3> Then go! On yer wretched way, <Rune> PIGDOG <Rune> ! Just ye wait 'til I get outta this hole! I'll teach ye to mess with ol' Drudgeworth!" <New Line>  <END CONVERSATION> -- Name: Saduj Description: a shifty-eyed man. Greeting: Job: I'm the gardener. Goodbye: Be off!

Text information: gard: Really! Just inspecting the plants. plan or insp: Thou knowest, watering and the like! wate or like: <Goto Label 0> blac or obje or hide or brit or cham: I know not  what  it is, but  it rests in a sandalwood box. sand or box: If destroyed, there shall  be no chance for  that scourge British  to return!" <New Line>  <New Line>  <Key wait>  <Goto Label 5> join:  <Goto Label 5>

Label information:

<Label 0> What is the matter..." <New Line>  <New Line>  <PAUSE> "Dost thou  not  believe me? Default: I see." <New Line> <New Line>  <Goto Label 1>

<Label 1> For that matter, what art  thou doing here? Default: Likely story!" <New Line> <New Line>  <Key wait>  <Goto Label 2>

<Label 2> Art thou with  the Oppression? Default: Neither am I. y: <Goto Label 3>

<Label 3> Prove it! What's the password? Default: Impostor!" <New Line> <END CONVERSATION> impe:  <Goto Label 4>

<Label 4> Greetings friend! Knowest thou of  my mission? Default: Oh. n: Blackthorn himself sent me here  to  find  an object hidden in  Lord British's chambers.

<Label 5> Might I join thee, that  we  might  work together? Default: Later perhaps. y: Good!" <New Line> <New Line>  <Join Party> -- Name: Stillwelt Description: a big, mean, nasty, ugly guard! <New Line>  <New Line>  <Goto Label 0> Greeting: Job: Goodbye: Bye!

Text information:

Label information:

<Label 0> Hey, you!" <New Line> <New Line>  <PAUSE> "Dost thou  not  know  that  this  is a restricted area? Default: <Goto Label 1>

<Label 1> Shut up!" <New Line> <New Line>  <PAUSE> "Thou art  not allowed up here!" <New Line>  <New Line>  <Goto Label 2>

<Label 2> Art thou going to leave on thy own or must I throw thee off the battlements? Default: I didn't catch thy meaning. Didst thou understand me? I said..." <New Line> <New Line>  <PAUSE>  <Goto Label 2> thro or n:  <Call Guards> Thou hadst thy chance!" <New Line> <END CONVERSATION> own or leav or y: Get off the roof, NOW!" <New Line> <END CONVERSATION> -- Name: Chuckles Description: a bouncing jester! Greeting: Job: I am  here  to welcome and try to entertain! Goodbye: Let me  know  if I might entertain thee again!

Text information: welc: Welcome, welcome, welcome." <New Line> <New Line>  <Key wait> "Welcome to  the castle of His Royal Majesty, His Eminence, The Immortal, currently missing, feared dead, Lord Cantabrigian British!" <New Line>  <New Line>  <Key wait> "And, his trustworthy, loyal, helpful, friendly, courteous, kind, obedient, cheerful, thrifty, brave, clean, and reverent..." <New Line>  <New Line>  <Key wait> "...Jester, Chuckles the Bumble..." <New Line>  <New Line>  <Key wait> ...That's ME! ente:  <Goto Label 0> roya or maje or emin or immo or miss or dead or cant or brit: The same. cast: This one. drud: Who?

Label information:

<Label 0> Ho eyo he hum!" <New Line> <New Line>  <PAUSE> "Ho eyo he hum!" <New Line>  <New Line>  <PAUSE> "Ho eyo he hum!" <New Line>  <New Line>  <PAUSE> "Bounce, bounce, bounce, bounce!" <New Line>  <New Line>  <PAUSE> "Didst thou enjoy that? Default: Oh, I'll do it better this time!" <New Line> <New Line>  <PAUSE>  <Goto Label 0> y: I thought thou might! -- Name: Blackthorn Description: the Dark Lord himself! <New Line>  <New Line>  <PAUSE>  <If/Else Knows Name>  <Goto Label 0>  <Goto Label 4> Greeting: Job: Goodbye:

Text information:

Label information:

<Label 0> Greetings, <AVATAR NAME>, what  an unexpected pleasure!" <New Line>  <New Line>  <PAUSE> "Wilt thou  be staying with us long? Default: I beg to differ!" <New Line> <New Line>  <PAUSE> "So very kind of  thee  to deliver thyself unto me!" <New Line>  <New Line>  <PAUSE> "Prepare now to meet thy fate! <Call Guards> " <New Line> <END CONVERSATION> y:  <Goto Label 2>

<Label 2> Hast thou joined us in the Oppression? Default: Then how considerate of thee  to turn thyself in..." <New Line>  <New Line>  <PAUSE> "Guards! Seize this infidel! <Call Guards> " <New Line> <END CONVERSATION> y:  <Goto Label 3>

<Label 3> Then, surely, thou dost  know  our password...." <New Line>  <New Line>  <PAUSE> "What is it? Default: No, I'm afraid that is  not it..." <New Line>  <New Line>  <PAUSE> "Guards! Seize this infidel! <Call Guards> " <New Line> <END CONVERSATION> impe: Fine! With thee  on  our side, we  shall  be invincible!" <New Line> <New Line>  <PAUSE> "Please, feel free to roam my castle and grounds!" <New Line> <END CONVERSATION>

<Label 4> Who dares approach the mighty Blackthorn?" <New Line> <New Line>  <Ask Name> " <New Line>  <New Line>  <If/Else Knows Name>  <Goto Label 0>  <PAUSE> "I think not, let's try again!" <New Line> <New Line>  <PAUSE>  <Goto Label 4> -- Name: Gorn Description: a mighty-thewed barbarian. <New Line> <New Line>  <Goto Label 0> Greeting: Job: <Goto Label 0> Goodbye: Take care.

Text information:

Label information:

<Label 0> Ah, Brohm be praised! A soul to share my cell!" <New Line> <New Line>  <PAUSE> "With me  for  an escape? Default: Fool!" <New Line> <END CONVERSATION> y:  <Goto Label 1>

<Label 1> If I helps thee, wilt thou take me with thee? Default: Hmmm." <New Line> <END CONVERSATION> y:  <Goto Label 2>

<Label 2> I've escaped many times, and been caught as many. I knows this castle likes the backs of  me hands!" <New Line>  <New Line>  <Key wait>  <Goto Label 3>

<Label 3> In the dead of night we must go out  through a secret door that's here behinds me." <New Line>  <New Line>  <Key wait> "Climbs up onto the roof and sneaks down the northern ladder." <New Line>  <New Line>  <Key wait> "In Blackthorn's bedroom, go through a secret door, down the ladder on t'other side." <New Line>  <New Line>  <Key wait> "Through the secret door to  the north, down another ladder and  out  the back gates!" <New Line>  <New Line>  <Key wait> "Wait there 'til morning when  the drawbridge is lowered and flee for  our lives!" <New Line>  <New Line>  <Key wait> "Get all  that down? Default: <Goto Label 3> y: Get the keys I hid in the brazier and let's be off!" <New Line>  <New Line>  <Join Party> -- Name: ...." <New Line> <New Line>  <PAUSE> "Thou art  in grave danger! Description: a scraggly, tortured soul in tattered garb. Greeting: Job: I've been  here oh so  many months, and  all  for  the breaking of a Law of Virtue! Goodbye: Don't leave me here! Please unlock my chains!

Text information: grav or dang: Guards, daemons and Shadowlords abound! Thou must leave before it's too late! guar or daem or shad: Yes, they come here often to beat and taunt me! brea or law or virt: It matters not, they are  all a travesty! trav: They defile the foundations of Virtue!

Label information: -- Name: Kraw Description: a simple man with a crooked back. Greeting: Job: I tend the horses. Goodbye: Farewell.

Text information: hors or tend: Yes, we have a fine stable of thoroughbreds. stab or thor: Indeed, the finest. Why, we have  not  only  the plough and mountain breeds, but  even  the purest breed of  the High Steppes. " <New Line> <New Line>  <Key wait> "We lack only  the Valorian warhorse, which  we  still seek! val: That breed we still lack. step or plou or moun: That breed we have.

Label information: -- Name: Weblock Description: a mysterious old mage with a twisted, bony face. <New Line> <New Line>  <Key wait>  <Goto Label 0> Greeting: Job: I am here  to aid thee. Goodbye: Watch thy step.

Text information: aid: <Goto Label 1> blac: Try up the northern stairs to the throne room, but  he usually does not  see visitors! gorn or hass: He is a prisoner in the dungeon! kraw: He is likely in the stables. webl: 'Tis I. gall: The chef is probably in the kitchen. foul: The jester is often hard to locate! thro: Try up the northern stairs. kitc: Go up the ladder in the main foyer. foye: Back down the stairs. dung: Take the stairs behind the guardposts, near the front gates. roof: Climb up a corner tower from the dungeon level. stab: Take the ladder down.

Label information:

<Label 0> Please sign in." <New Line> <New Line>  <Ask Name> " <New Line>  <New Line>  <Goto Label 1>

<Label 1> Where or whom dost thou seek?" <New Line>  <New Line>  <Nothing> -- Name: Gallrot Description: fat and greasy man. Greeting: Job: I make  the slop that feeds this lot of mangy dogs. Goodbye: Oh, bugger off then.

Text information: food or slop: A little ol' horse meat, a few young children, that sort of thing." <New Line> <New Line>  <Goto Label 0> meat or hors: It's cheap an' plentiful! youn or chil: When we  can get 'em! cook or chef: I make  the food here. mang or dog: Well, they  may  not really be dogs, but  they sure is mangy!

Label information:

<Label 0> Care to try some? Default: Don't touch the stuff meself. y: Gulp..." <New Line> <New Line>  <PAUSE> "Choke..." <New Line>  <New Line>  <PAUSE> "Gag..." <New Line>  <New Line>  <PAUSE> "Spit..." <New Line>  <New Line>  <PAUSE> "Aye, goes down a bit rough. -- Name: Foulwell Description: a pompous, silly man. Greeting: Job: I entertain with tales of the inquisition. Goodbye: Jingle, jingle!

Text information: tale or inqu: Why, just the other day, we had a marvelous time, watching a young lady being drawn and quartered! lady or draw or quar: She refused to humble herself to a guard's advances!" <New Line> <New Line>  <Key wait>  <Goto Label 0>

Label information:

<Label 0> Isn't that a riot? Default: Perhaps then, thou wouldst find more humorous the  one  about  the visitor who failed to laugh at  the Royal Jester's stories." <New Line>  <New Line>  <Key wait> "The cook's young nephew was a little brat. He didn't laugh at my jokes, so  we threw 'im in  the vat!" <New Line>  <New Line>  <PAUSE>  <Goto Label 2> y:  <Goto Label 1>

<Label 1> Wouldst thou like  to join us next time? Default: Just watch thyself, friend! y: I'll be sure to look ye up.

<Label 2> Ho, ho, ha, ha, he, he..." <New Line> <New Line>  <PAUSE> "How 'bout that one, like it? Default: <Call Guards> GUARDS! y: I thank thee. -- Name: Hassad Description: an old and blind wizard. <New Line> <New Line>  <If/Else Knows Name>  <Goto Label 0>  <Goto Label 1> Greeting: Job: I am a prisoner, just as  thou  art now. Goodbye: Farewell.

Text information: pris: I was taken from my home in New Magincia. magi: Therein I led a peaceful life. life or peac: Until the Shadowlords found me. foun or shad: I have knowledge Blackthorn seeks. know or blac or seek: That is for  me  to know. powe or word or coun: <If/Else Knows Name>  <Goto Label 2> I don't  know  of  what  thou  dost speak.

Label information:

<Label 0> Is that thee  <AVATAR NAME> ? Default: Then what dost  thou want? y: Oh, good.

<Label 1> Who is there?" <New Line> <New Line>  <PAUSE>  <Ask Name> " <New Line>  <New Line>  <PAUSE> What dost  thou want?" <New Line>  <New Line>  <Nothing>

<Label 2> I know of  the  Great Council, but  what maketh thee  ask me? Default: I know nothing about it! kaik: She is a fine woman. If she has told thee of me, she must  have  great faith in thee." <New Line>  <New Line>  <Key wait>  <Goto Label 3> dawn:  <Goto Label 3>

<Label 3> I presume thou dost seek the Word of Power for  the dungeon Hythloth. Are we where I may speak freely? Default: Then I shall wait. y: The Word thou seeketh is <Rune> IGNAVUS <Rune> ! -- Name: Camile Description: a young woman. Greeting: <Goto Label 0> Job: I keep the fields. Goodbye: <If/Else Knows Name>  <Goto Label 2> Oh, by  the way..." <New Line>  <New Line>  <Ask Name> " <New Line>  <END CONVERSATION>

Text information: fiel: Unlike the unfortunates living in other parts of the land, our crops grow true and strong! crop or true or stro: Indeed they do! unfo or othe or land: Surely, thou knowest of the ravages of  the Dark Lord! shad or rava or dark: Blackthorn sends the Shadowlords  unto  many townes, but  we lie too close to  Lord British's castle. blac: The Dark Lord, ya fool! clos or brit or cast: It would seem as though they don't  like  to get too close to  the castle of  the True Master! true or mast: <Goto Label 3>

Label information:

<Label 0> <AVATAR NAME>, how art  thou doing on  this  fine day? Default: <Goto Label 1>

<Label 1> Hmmm... How hath thy journeys fared? Default: I see, what canst I do for  thee today?" <New Line>  <New Line>  <Nothing>

<Label 2> Farewell, and a good day to thee,  <AVATAR NAME> ." <New Line>  <END CONVERSATION>

<Label 3> Surely, thou dost agree Lord  British  is  the rightful ruler? Default: Begone, foolish knave!" <New Line> <END CONVERSATION> y: Good. -- Name: Phillip Description: a sweaty and soiled farmer. Greeting: Aye up lad, what's goin' on? Job: I work  these fields, with  me chum Dibbs. Goodbye:  <If/Else Knows Name>  <Goto Label 0>  <Ask Name> " <New Line>  <New Line>  <Goto Label 0>

Text information: chum or dibb: That's just me nickname for Christopher. chri: He works the fields with me. farm or fiel: It's an 'ard grind, but I shan't be doin' it long. long or it or grin: I've plans to become an artist! arti: 'Till then I'll just keep workin' 'ere!

Label information:

<Label 0> Cheerio!" <New Line> <END CONVERSATION> -- Name: Christopher Description: a dashing young farmer. Greeting: G'day,  <AVATAR NAME> ! Job: I fiddle in  the fields to keep me fed. Goodbye: Ta, mate.

Text information: dibb: I see thou  hast  been speakin' with Phillip. phil: He's me mate! mate: Friend. fidd or fiel: I pride myself in a job well done, even if  one does not enjoy it. enjo or job or done: What I really enjoy is writing works of fantasy. writ or fant: I'm currently working on an epic called 'Times of Lore!' time or lore: I hope to have  it published soon. soon or publ: Through Origin, of course." <New Line> <New Line>  <Goto Label 0>

Label information:

<Label 0> Wilt thou buy it? Default: Then I'll be of little help  to  thee  in  the future! y: Good!" <New Line> <New Line>  <If/Else Knows Name>  <Goto Label 1>  <Ask Name> " <New Line>  <New Line> "Enchanted, I'm sure, to  have met such  an enlightened soul.

<Label 1> What a nice chap thou art." <New Line> <New Line>  <Nothing> -- Name: Thentis Description: a young farmer. Greeting: Job: I am a farmer." <New Line> <New Line>  <Goto Label 0> Goodbye: Good journeys.

Text information: resi: Never heard of it. blac: A fine man..." <New Line> <New Line>  <PAUSE> "Cough, cough! dawn: To the others!

Label information:

<Label 0> What dost thou do? Default: <Goto Label 1>

<Label 1> Dost thou like it? Default: <Goto Label 2>

<Label 2> Art thou helped, or hindered by the new laws? Default: I said..." <New Line> <New Line>  <PAUSE>  <Goto Label 2> help: Oh. hind:  <Goto Label 3>

<Label 3> Then might I venture to say that thou doth oppose Blackthorn's new laws? Default: I see. y: <Goto Label 4>

<Label 4> Art thou aware that this  is heresy? Default: It is! y: <Goto Label 5>

<Label 5> Dost thou know  of  the Resistance? Default: Hmmm... y: <Goto Label 6>

<Label 6> Dost thou support it? Default: Oh. y: <Goto Label 7>

<Label 7> Dost thou know  their password? Default: I see. y: <Goto Label 8> dawn: <Goto Label 9>

<Label 8> What is it? Default: Hmmm... dawn: <Goto Label 9>

<Label 9> Good..." <New Line> <New Line>  <PAUSE> "Sorry about  all  the questions, but we've got to  be careful." <New Line>  <New Line>  <Key wait> "If thou  art  with us, meet us by  the  well  at midnight!" <New Line>  <New Line>  <Key wait> "Mention the password to  those attending, but no one else, for spies abound!" <New Line>  <END CONVERSATION> -- Name: Joshua" <New Line>  <New Line>  <If/Else Knows Name>  <Nothing>  <Ask Name> " <New Line>  <New Line>  <Nothing> Description: a soiled farmer. Greeting: Greetings  <AVATAR NAME> ! Job: I am a farmer, of course! Goodbye: Farewell.

Text information: farm: Our crops grow well. crop: 'Tis on account of the  fine soil! soil: This soil grows the best crops. dawn: <Goto Label 0>

Label information:

<Label 0> What didst thou say? Default: Oh. dawn: <Goto Label 1>

<Label 1> <If/Else Knows Name>  <Goto Label 2>  <Ask Name> " <New Line>  <New Line>  <If/Else Knows Name>  <Goto Label 2>  <Nothing>

<Label 2> Dost thou serve the Resistance? Default: Oh. y: Good!" <New Line> <New Line>  <PAUSE>  <Goto Label 3>

<Label 3> Shall I tell thee  what I know? Default: O.K. y: I've heard much of the Shadowlords." <New Line>  <New Line>  <Key wait> "If faced in combat, thou  art drawn into their plane of existance to do battle." <New Line>  <New Line>  <Key wait> "It seems that  they cannot be killed by normal means, so most who fight them die quickly." <New Line>  <New Line>  <Key wait> "A few souls have lived to  tell  that  if a Shadowlord is struck down, it  will vanish into thin air!" <New Line>  <New Line>  <Key wait> "Soon after, its twisted soul shall return anew!" <New Line>  <New Line>  <Key wait> "One named Sutek knows how to destroy them, he  lives  on a remote isle in  the south of  the  Great Sea!" <New Line>  <END CONVERSATION> -- Name: Leof Description: a burly farm hand. Greeting: Job: I work  for Miss Vigil Goodbye: Good day.

Text information: miss or vigi: She owns the farm. farm: That's where I work. dawn: <Goto Label 0> resi: <Goto Label 1>

Label information:

<Label 0> Yes, sunrise is beautiful." <New Line> <New Line>  <PAUSE> "Hard to Resist, wouldst thou  not agree? Default: Indeed!

<Label 1> Whom dost thou resist? Default: I see. blac: <Goto Label 2>

<Label 2> We too resist his foul, oppressive regime!" <New Line> <New Line>  <Key wait> "Hast thou ever faced a Shadowlord? Default: We have heard  that  here  upon  the  very surface of Britannia there  is a place where  their energies focus!" <New Line>  <New Line>  <Key wait> "Just where  it  is  we  have  not learned, but  thou  might learn more  if  thou  dost seek out Sir Sean, who lives..." <New Line>  <New Line>  <Key wait> "Ah yes, in  the Lycaeum on Dagger Isle." <New Line>  <New Line>  <Key wait> "If thou  canst  find him, ask  of Stonegate!Mayhap those Spectres can  be dispatched from  this plane of existence!" <New Line>  <END CONVERSATION> -- Name: Vigil Description: a strong, tall woman Greeting: Job: I make  my living by farming. Goodbye: Good hunting!

Text information: livi or farm: <Goto Label 0> adve or roam or land or warr: That was before! befo: Never mind. neve: That's right! Never mind!" <New Line> <END CONVERSATION> dawn:  <Goto Label 1> them or frie: Thentis, Joshua, and Leof! then or josh or leof: We adventured together! lear or much: That was  before  the Shadowlords! shad: My friends and I learned much about them before  we retired. Talk to them!

Label information:

<Label 0> I do now, but once I roamed the land as a warrior!" <New Line>  <New Line>  <PAUSE> "Dost thou  believe me? Default: Try me then, fool!" <New Line> <END CONVERSATION> y: Thou art perceptive!

<Label 1> Hmmm..." <New Line> <New Line>  <PAUSE> "I guess that  thou  art  with  the Resistance, yes? Default: O.K. have it your way. y: <Goto Label 2>

<Label 2> Canst thou prove it? Default: <Goto Label 2> y: I doubt it!" <New Line> <END CONVERSATION> n:  <Goto Label 3>

<Label 3> At least thou art honest!" <New Line>  <New Line>  <Key wait> "I feel thou  art trustworthy." <New Line>  <New Line>  <Key wait> "Before, when  my friends and I were a band of stalwart adventurers, we learned much!" <New Line>  <New Line>  <Nothing> -- Name: Kurt Description: a young boy Greeting: None Job: I am  the stable boy. Goodbye: Good bye!

Text information: stab or boy: I tend the horses. tend: I feed and groom them. feed: Oats and hay, mostly. oat: And hay. hay: And oats. groo: It's hard work but I enjoy the horses. hors: We have many breeds. bree: Well...." <New Line> <New Line>  <PAUSE> "We have Ploughhorses, the Mountain breed, and  those  from  the Steppes!" <New Line>  <New Line>  <Key wait> "Unfortunately, we  don't  have any Valorian purebreds, But they do over in  the castle!" <New Line>  <New Line>  <Key wait>  <Goto Label 0> plou or moun or step: We have those. val or cast or trea: I am sure Treanna would love to talk to  thee  about horses, especially Valorian horses!

Label information:

<Label 0> Hast thou ever seen one? Default: My friend Treanna and I both love them. Treanna works in the castle and gets to  see them every day! -- Name: Sir Adam the Torch Description: a man with singed eyebrows and charred clothes, holding a blackened box. Greeting: Job: I seek to improve water travel! Goodbye: See 'ya!

Text information: wate or trav or blac or box: Look out, this might explode. expl: Should be safe enough, though. What harm could a fire do, especially on board a ship!? fire or ship: 'Twas Squire Jimmy's fault, indeed. I told him to keep that torch away from  my experiment, but nooo! He never listens! expe or idea: I found that a mixture of sulfur ash, mandrake, and the powder they fire cannons with  will unleash great power when burned! unle or powe: Enough to make a ship sail sixscore knots faster!" <New Line>  <New Line>  <PAUSE> "For a second or two, anyway." <New Line>  <New Line>  <Key wait>  <Goto Label 0>

Label information:

<Label 0> This could be a great breakthrough, dost thou agree? Default: Hmph!" <New Line> <END CONVERSATION> Y: I wish I could convince Master Hawkins. -- Name: Squire Jimmy Description: a wide-eyed young boy <New Line>  <New Line>  <If/Else Knows Name>  <Nothing>  <Goto Label 0> Greeting: Job: I am apprenticed to Master Hawkins! Goodbye: Come back and  see us ever and anon!

Text information: hawk: Hawkins, the third generation master shipwright! ship or mast or appr: His grandfather designed the HMS Cape, fastest ship that ever sailed! Now Master Hawkins and his servants ply the family trade. trad or serv or fami: Shipbuilding! cape or hms: Master Hawkins misplaced the plans for 'er long ago, and nothing since has  been  so fast. Still, we try many new ideas!" <New Line> <New Line>  <Key wait>  <Nothing> idea: Ask Sir Adam!

Label information:

<Label 0> I say, thou dost seem rather well-travelled. What news of the world hath thee? Default: Ah, that's the same news as anyone else's. They teach us in school that 'tis  all  for  the common good. I suppose that we're to believe  what we're taught." <New Line>  <New Line>  <Key wait>  <Ask Name> " <New Line>  <New Line>  <Nothing> -- Name: Flint Description: a short, bearded stump of a man Greeting: Job: I work me forge, craftin' fine ship parts! Goodbye: Come back anytime, I'll be here.

Text information: part or forg or ship: Nowadays, they're turnin' to all  this newfangled magical stuff to run ships, an' away from  the days of sweat and iron! swea or iron or stuf or magi or days: In my younger days, we thought it queer to use aught but what grew by  the beaches in  the vessels we made." <New Line>  <New Line>  <Key wait> "And proud we were indeed of  our handiwork, even  when  it sank." <New Line>  <New Line>  <Key wait> "Then, just  as I learned the craft, we began to  make use of  more iron and steel than wood. An' things were just fine up 'til now. til or unti or now: Now with all  that magic, no one  knows what's goin' on!

Label information: -- Name: Glinkie Description: a wisened adventurer! Greeting: Job: I've come to Paws to visit the guild. Goodbye: Until we next meet.

Text information: guil: I hear they have  some  of  the best gems made. gem: I am searching for the mystic Shrine of Spirituality, and feel they  would  be  of  good use! spir or shri: I fear it was destroyed! dest: <Goto Label 0> word or powe: Whilst at the destroyed shrine, yell the word of power." <New Line>  <New Line>  <Key wait> "Then meditate upon  the Shrine's virtue with  the proper Mantra  for  three cycles.

Label information:

<Label 0> Dost thou know  where  to  find it? Default: Too bad. y: <Goto Label 1>

<Label 1> Where? Default: I don't think so. moon or mid or gate or equa: <Goto Label 2>

<Label 2> Art thou saying that I must enter a Moongate to reach the Shrine of Spirituality? Default: Oh. y: <Goto Label 3>

<Label 3> At midnight? Default: Oh. y: Oh, no wonder I never found it!" <New Line> <New Line>  <Key wait> "Well, that  one  is likely safe then..." <New Line>  <New Line>  <Key wait> "But, should thou  see  one destroyed..." <New Line>  <New Line>  <Key wait> "Remember they  can  be restored with  the Words of Power! -- Name: Bandaii Description: a mysterious mage. Greeting: Job: I seek a magical beast. Goodbye: Farewell friend.

Text information: magi or beas: Since the last age, rumours abound of a legendary horse! rumo or lege or hors: I search for Smith, the notorious talking horse! smit or talk: I do not doubt the rumours, but this I must  see  for myself!" <New Line>  <New Line>  <Goto Label 0> magi or fly or carp: Yes, I once had a magic flying carpet." <New Line> <New Line>  <Key wait> "I wilt tell  thee  where  it was, if  thou wilt help  me  find  the  talking horse! iolo or hut:  <Goto Label 2>

Label information:

<Label 0> Dost thou believe  in  talking horses? Default: Too bad. y: <Goto Label 1>

<Label 1> Hast thou seen one? Default: Too bad. y: <Goto Label 2>

<Label 2> Was it Smith? Default: Think of that, another! y: <Goto Label 3>

<Label 3> Where didst thou see him? Default: Unlikely. iolo or hut: At last!" <New Line> <New Line>  <PAUSE> "For thy efforts I will  tell  thee  that I gave a magical carpet to  Lord  British himself!" <New Line>  <New Line>  <Key wait> "He kept it  in  his private chamber atop his castle! If thou can get it, I'm sure thou  can use it." <New Line>  <END CONVERSATION> -- Name: Ava Description: a pretty young girl. Greeting: Welcome,  <AVATAR NAME> . Job: My sister and I care for  this temple. Goodbye: Lead a life of Virtue.

Text information: temp: The Temple of Virtue. sist: Leona. virt: Here, we hold the Eight Virtues sacred." <New Line> <New Line>  <Goto Label 0> eigh or sacr: Indeed we do. fals or shar:  <Goto Label 4> visi: Ask my sister!

Label information:

<Label 0> Dost thou wish  to  make  an offering? Default: Do as thou wilt. y: <Goto Label 1>

<Label 1> <If/Else Knows Name>  <Goto Label 2> We welcome thee." <New Line>  <New Line>  <PAUSE>  <Ask Name> " <New Line>  <New Line>  <If/Else Knows Name>  <Goto Label 3>  <Goto Label 2>

<Label 2> We ask for 5 gold crowns, wilt thou give? Default: As thou wilt. y: <Gold - 005> We thank thee.

<Label 3> We ask for 5 gold crowns, wilt thou give? Default: As thou wilt. y: <Gold - 005>  <Karma + 1>  <Karma + 1>  <Karma + 1>  <Karma + 1>  <Karma + 1> We thank thee.

<Label 4> Art thou the Avatar of legend? Default: Virtue makes no mistakes." <New Line> <New Line>  <PAUSE> "We shall  tell  thee  what  we  know  of  the Shard of Falsehood." <New Line>  <New Line>  <Key wait> "Ask my sister of her vision! -- Name: Leona Description: a pretty young girl. Greeting: Job: We care for the temple. Goodbye: Bye.

Text information: temp: The Temple of Virtue. sist: Ava. fals or virt or shar: Talk with my sister. visi: In the deep of night, many moons ago, a vision came unto my sister and I..." <New Line>  <New Line>  <Key wait> "We saw the Shard of Falsehood deep below a dungeon named Deceit." <New Line>  <New Line>  <Key wait> "The path that  was revealed traveled first southwest across many high peaks, opening to a large system of caverns." <New Line>  <New Line>  <Key wait> "Then the way led southwest. At a major intersection it turned northwest, soon branching northeast." <New Line> <New Line>  <Key wait> "After a long journey northward, the passage turned west. Here the path went on to rocky hills to  the southwest, then turned northwest." <New Line>  <New Line>  <Key wait> "Over a lake it ran, unto a massive series of  great falls, ending in a larger lake." <New Line>  <New Line>  <Key wait> "Here, upon a small isle, lies the Shard of Falsehood!

Label information: -- Name: Ambrose Description: a frail and injured fighter. Greeting: Job: I am resting. Goodbye: Good luck, thou shalt need it!

Text information: rest: A long and brutal battle 'twas. long or brut or batt: I was deep below the surface of Britannia, in search of the fabled mystic weapons of  the Avatar! myst or weap or avat: I had heard that  they lay at  the foundation of  the  Great Abyss! abys: Though the Abyss is gone, I descended through the mines of Hythloth to search out  the mystics. sear or mine or hyth: Within the Underworld, where the Abyss once was, the lava still flows, north of  the underground entrance of Hythloth." <New Line>  <New Line>  <Key wait> "'Tis there, northward across cavernous peaks from  the dungeon, amidst the boiling lava, that  the mystic arms are said to lie!" <New Line>  <New Line>  <Key wait>  <Goto Label 0>

Label information:

<Label 0> Dost thou seek the fate of Lord British? Default: I see. y: Remember only the Mystic arms work near great evil. Only such evil could hold our lord! -- Name: Thorkin Description: a broad-chested, burly man. Greeting: Ahar there, <AVATAR NAME>. Job: I be a blacksmith. Goodbye: If'n ye haves need of a smithy, gimme a shout, matey!

Text information: blac: I works metal fer The Rusty Bucket an' Buccaneer's Booty. forg or meta: Iron. rust or buck: I makes the iron rivets 'n bindins fer their ships. bucc or boot: I forge most all er' thems fine weapons. fine or weap: Sharp swords and nasty daggers! rive or bind or ship: Only the best. swor: Good fer slitt'n the gullet of a fat merchant." <New Line> <New Line>  <Key wait>  <Goto Label 0> dagg: Sharp 'n deadly!" <New Line> <New Line>  <Key wait>  <Goto Label 0>

Label information:

<Label 0> Interested in makin' a purchase? Default: <Goto Label 0> n: Too bad. y: Talk to Kitiara, I'm sure ye'll be more'n satisfied!" <New Line> <New Line>  <If/Else Knows Name>  <Nothing>  <Ask Name> -- Name: Scally Description: a chubby old bard. Greeting: Job: Likin' ye  might expect, I entertain. Goodbye: Farewell.

Text information: expe or ente: Why, I is the best singer 'ere in  this whole towne!" <New Line>  <New Line>  <Key wait> "'Course, I is  the  only singer in  this whole towne..." <New Line>  <New Line>  <Key wait> "No matter..." <New Line>  <New Line>  <Key wait>  <Goto Label 0> pira or davi: A real nasty ol' bloke I 'ear! nast or blok or crot or misb: Aye, but  I've also 'eard he  was a great inventor! inve: Some say he's made a strange tool to aid in navigation. tool or navi: I believes he called it a..." <New Line> <New Line>  <PAUSE> "Err..." <New Line> <New Line>  <PAUSE> "Ahh..." <New Line> <New Line>  <PAUSE> "Umm..." <New Line> <New Line>  <PAUSE> "...Sextant. sext or wher: No one  knows  just  where ol' David's off to, but  I've 'eard some speculat'n he's runnin' a lighthouse.

Label information:

<Label 0> Wouldst ye likes me to sing ye a song, there mate? Default: <Goto Label 0> n: Ah. y"There once was a pirate named David, so crotchety and misbehav'd." <New Line> <New Line>  <Key wait> "And then one day, he sailed away, only  to where, he  would  not say.: @Bidney a scruffy, smelly man.: I loves to drink!: Hic. drin: Rum, that's me favorite." <New Line> <New Line>  <PAUSE> "Hic!" <New Line> <New Line>  <PAUSE> "'Scuse me. rum: Yo ho ho! ho or yo: And a bottle of rum! bott: Of rum!" <New Line> <New Line>  <PAUSE>  <Goto Label 0> moun or clim or grap: Grapple of Rum!" <New Line> <New Line>  <PAUSE> "Hic!" <New Line>  <New Line>  <PAUSE>  <Goto Label 3> pira:  <Goto Label 4>

<Label 0> Ey, got any? Default: Hic, oh. y: <Goto Label 1>

<Label 1> Might I have a li'l taste? Default: <Goto Label 2> y: <Goto Label 3>

<Label 2> Please? Default: Grumble... Hic! y: Aye, thanks mate!... Hic!

<Label 3> Didst ye ask  me 'bout mountain climb'n? Default: I used to  be a..." <New Line>  <New Line>  <PAUSE> "Hic..." <New Line>  <New Line>  <PAUSE> "Mountain climber..." <New Line>  <New Line>  <PAUSE> "Gave it up..." <New Line>  <New Line>  <PAUSE> "Too dangerous..." <New Line>  <New Line>  <PAUSE> "So, I 'came a pirate!

<Label 4> Gave me grapple to a man named  Lord Michael..." <New Line>  <New Line>  <PAUSE> "Lived o'er at  the Emapthical Abbeyneyney..." <New Line>  <New Line>  <PAUSE> "Hic... Zzzzz..." <New Line>  <END CONVERSATION> -- Name: Bidney Description: a scruffy, smelly man. Greeting: Job: I loves to drink! Goodbye: Hic.

Text information: drin: Rum, that's me favorite." <New Line> <New Line>  <PAUSE> "Hic!" <New Line>  <New Line>  <PAUSE> "'Scuse me. rum: Yo ho ho! ho or yo: And a bottle of rum! bott: Of rum!" <New Line> <New Line>  <PAUSE>  <Goto Label 0> moun or clim or grap: Grapple of Rum!" <New Line> <New Line>  <PAUSE> "Hic!" <New Line> <New Line>  <PAUSE>  <Goto Label 3> pira: <Goto Label 4>

Label information:

<Label 0> Ey, got any? Default: Hic, oh. y: <Goto Label 1>

<Label 1> Might I have a li'l taste? Default: <Goto Label 2> y: <Goto Label 3>

<Label 2> Please? Default: Grumble... Hic! y: Aye, thanks mate!... Hic!

<Label 3> Didst ye ask  me 'bout mountain climb'n? Default: I used to  be a..." <New Line>  <New Line>  <PAUSE> "Hic..." <New Line>  <New Line>  <PAUSE> "Mountain climber..." <New Line>  <New Line>  <PAUSE> "Gave it up..." <New Line>  <New Line>  <PAUSE> "Too dangerous..." <New Line>  <New Line>  <PAUSE> "So, I 'came a pirate!

<Label 4> Gave me grapple to a man named  Lord Michael..." <New Line>  <New Line>  <PAUSE> "Lived o'er at  the Emapthical Abbeyneyney..." <New Line>  <New Line>  <PAUSE> "Hic... Zzzzz..." <New Line>  <END CONVERSATION> -- Name: Sven Description: a swarthy pirate. Greeting: Job: I'm a pirate!!! Goodbye: I need a drink!

Text information: pira: Aye, but once  upon a time, I was a glassblower. glas: Used to make  fine  and wonderful things, I did. fine or wond or thin: Oh, sculptures, crystals and the like. scul or crys or like: Aye, fine they were too." <New Line>  <New Line>  <Key wait> "But, there were'nt much money in it, so I 'came a pirate! glas or swor or weap: I once tried to make glass weapons, but  all  my attempts failed." <New Line>  <New Line>  <Key wait> "I have heard, though, of magically enhanced crystalline swords of  great power! magi or enha or crys or grea or powe: They were said to have  been lost in  the Serpent's Spine by  the captain of a great airship. capt or air or ship: Airships sound like a heap of nonsense if thou wert to  ask me!

Label information: -- Name: Lord Dalgrin Description: a tall man in pirate attire. <New Line> <New Line>  <If/Else Knows Name>  <Goto Label 1> "Greet'ns stranger, I am  Lord Dalgrin." <New Line> <New Line>  <Ask Name> " <New Line>  <New Line>  <Nothing> Greeting: Job:  <Goto Label 0> Goodbye: Watch out fer them keel haulin' seadogs of  that  Blackthorn feller.

Text information: bloo: Dead foes don't talk! pira: I plunder where'er the winds take me. wind or sea: I been 'round the world many a time! dead or foes: I've had my share. roun or worl or time or shar: More'n I can count." <New Line> <New Line>  <PAUSE> "But today, I thinks I'll just relax an 'ave a drink with Tierra! drin: Rum, me thinks. rum: Smart arse! tier: Aye, she's a feisty wench..." <New Line> <New Line>  <PAUSE> "But, give'r a drink and she'll oft'n 'ave a bit a news fer ya.

Label information:

<Label 0> Avast ye mate, surely thou dost  know  who I am, don't ye? Default: Why, I am the most bloodthirsty pirate to sail the seas.

<Label 1> Why, shiver me timbers, if it ain't ol'  <AVATAR NAME> !" <New Line>  <New Line>  <Nothing> -- Name: Tierra Description: a feisty wench. Greeting: A goodly day unto  thee  <AVATAR NAME> . Job:  <If/Else Knows Name>  <Goto Label 0> What makes ye  think it's any o'thee business? Goodbye:  <If/Else Knows Name>  <Goto Label 1> Beat it!

Text information: busi: None of yours. drin: Sure, I'll drinks with ye..." <New Line> <New Line>  <PAUSE> If'n I canst  only  find  my glass. glas: I left it round 'ere somewhere. roun or ere or some: I canst  not seem to remember. reme: Speak'n of which..." <New Line> <New Line>  <If/Else Knows Name>  <Goto Label 2>  <PAUSE> "I canst  not remember yer name..." <New Line> <New Line>  <PAUSE>  <Ask Name> " <New Line>  <New Line>  <If/Else Knows Name>  <Goto Label 2>  <Nothing>

Label information:

<Label 0> <AVATAR NAME>, thou ought to  know  by now." <New Line>  <New Line>  <Nothing>

<Label 1> See ya later, <AVATAR NAME> ." <New Line>  <END CONVERSATION>

<Label 2> Dost ye think  me pretty? Default: <Goto Label 2> n: Thou hast the beauty of  an orc thyself!" <New Line>  <END CONVERSATION> y:  <Goto Label 3>

<Label 3> I likes thee, perhaps I canst help thee!" <New Line>  <New Line>  <Key wait> "Dost ye  wish  ye couldst climb mountains? Default: Well, Bidney here used to..." <New Line> <New Line>  <Key wait> "Talk to  him 'bout mountain climb'n. -- Name: Geoffrey Description: a large and impressive fighter." <New Line> <New Line>  <Key wait> " <AVATAR NAME> !" <New Line>  <New Line> "Greetings, and  well met!" <New Line>  <New Line>  <Key wait> "'Tis I, Geoffrey, thy  old friend of battles past!" <New Line>  <New Line>  <Key wait>  <Goto Label 0> Greeting: Job: I await thy request to join with  thee  in battle! Goodbye: Come for  me soon!

Text information: trou: With Blackthorn and  the Shadowlords! blac: Indeed, what a tyrant! shad: Such foul spectres of Evil! tyra or spec or evil: <Goto Label 2> join: <Goto Label 3>

Label information:

<Label 0> Have the years treated thee well? Default: <Goto Label 0> n: That is unfortunate." <New Line> <New Line>  <Goto Label 1> y: Ah, that  is good." <New Line> <New Line>  <Goto Label 1>

<Label 1> I presume thou hast  heard  of  our troubles." <New Line>  <New Line>  <Nothing>

<Label 2> Is it time we set off against them? Default: <Goto Label 2> n: Soon, I hope. y: <Goto Label 3>

<Label 3> Shall I join thy party now? Default: <Goto Label 3> n: Soon, I hope. y: I am eager for battle!" <New Line> <New Line>  <Join Party> --

= General Notes =

1) Wishing Wells

There are two wishing wells in the game: - Paws (location 0x16) - Empath Abbey (location 0x1F)

These locations are hard-coded into the game. There is no difference between horses from wishing wells and horses from vendors. It also doesn't make any difference if you wish for "horse" or a car brand.

= EGA.DRV =

See u5_ega_drv.txt

= INIT.GAM =

Initial "SAVED.GAM".

= SAVED.GAM =

See u5_saved_gam.txt

= Sources =

Nytegard <email: append "at yahoo dot com" to his nick>

http://martin.brenner.de/ultima/u5save.html

http://www.cosy.sbg.ac.at/~lendl/ultima/ultima5/

http://www.wi.leidenuniv.nl/~psimoons/ultima5t.htm

Pieter Simoons has taken down his Ultima 5 website, but it's still cached on http://www.archive.org/

Sheng Long Gradilla <email: replace the two spaces in his name with dots and append "at gmail dot com">