Ultima Underworld special items
Technical Details Warning |
While the encyclopedic nature of the codex means that many articles will have information that could spoil some minor aspects of the game for newer players, this article is known to contain technical information about the game, game engine, data files, logic, etc. This information is not generally useful to the typical game players.
Continue reading at your own discretion. |
This page lists all the inventory items in Ultima Underworld: The Stygian Abyss with special properties.
Description[edit]
The Ultima Underworld game engine has 512 slots for in-game objects. Less than 461 of those slots are used for are actual in-game objects. Every base object has 11 bytes of data stored in FILEcomobj.dat, this is considered the common object data and can be found in Ultima Underworld common items. Certain objects have additional data stored in tables in FILEobjects.dat, this is considered the special objects data. This page is a repository of most of those tables. The notable exception is for the critters (all creatures are called critters in the engine, they may be called monsters or NPCs by the players), which get their own page.
Notes[edit]
- Data on this page was retrieved from the game engine's data files. Data has not officially been published and has been deciphered by observation. Information may have been read or interpreted incorrectly.
- The object id numbers in the left column are the game's object number, ie the entry indicies in comobjs.dat, not the entry indicies in object.dat.
- Some objects have 2 id numbers. For containers these are the opened and closed states, for light items these are the lit and unlit states.
- The value parameter is not understood. This is not the value at which Shak appraises items. It may be an internal value used for NPCs bartering items.
- An object with a durability of 255 is indestructible. (But only in combat? Need to test this and verify)
| TODO | test objects with durability of 255 |
Melee Weapons[edit]
The melee weapons table contains 16 entries and each entry is 8 bytes long
| # | Icon | Name | Mass | Value | Damage | Charge | Skill | Durability | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Slash | Bash | Stab | Best | Min | Speed | Max | |||||||
| 0 | hand axe | 2.4 | 20 | 6 | 4 | 2 | 6 | 90 | 25 | 160 | axe | 10 | |
| 1 | battle axe | 4.0 | 60 | 14 | 7 | 2 | 14 | 70 | 5 | 220 | axe | 34 | |
| 2 | axe | 3.2 | 100 | 10 | 6 | 8 | 10 | 80 | 13 | 190 | axe | 25 | |
| 3 | dagger | 0.8 | 20 | 4 | 2 | 5 | 5 | 100 | 30 | 145 | sword | 5 | |
| 4 | shortsword | 1.6 | 50 | 6 | 3 | 6 | 6 | 90 | 20 | 170 | sword | 18 | |
| 5 | longsword | 2.4 | 80 | 10 | 4 | 8 | 10 | 80 | 15 | 190 | sword | 28 | |
| 6 | broadsword | 3.2 | 100 | 13 | 6 | 10 | 13 | 70 | 9 | 205 | sword | 34 | |
| 7 | cudgel | 1.6 | 15 | 3 | 6 | 2 | 6 | 95 | 20 | 145 | mace | 2 | |
| 8 | light mace | 2.4 | 55 | 6 | 10 | 4 | 10 | 85 | 15 | 175 | mace | 15 | |
| 9 | mace | 3.2 | 90 | 8 | 16 | 5 | 16 | 75 | 9 | 190 | mace | 25 | |
| 10 | shiny sword | 3.4 | 0 | 14 | 7 | 11 | 14 | 70 | 11 | 190 | sword | 255 | |
| 11 | jeweled axe | 3.2 | 250 | 13 | 8 | 5 | 13 | 75 | 8 | 200 | axe | 255 | |
| 12 | black sword | 3.6 | 200 | 15 | 7 | 12 | 15 | 60 | 5 | 200 | sword | 255 | |
| 13 | jeweled sword | 2.8 | 250 | 14 | 7 | 11 | 14 | 70 | 11 | 190 | sword | 255 | |
| 14 | jeweled mace | 2.8 | 250 | 9 | 17 | 5 | 17 | 65 | 6 | 220 | mace | 255 | |
| 15 | fist | 0.0 | 0 | 2 | 4 | 3 | 4 | 90 | 15 | 140 | unarmed | 255 | |
Notes[edit]
- The fist has a graphic that is used internally but never shown in-game
- The Best Damage column isn't in the game, it is here to show the best of the three damage types for easy comparison of weapons
- The exact calculation for weapon charge speed isn't known, but generally the higher the value the faster the charge. Notice the battle axe at 5 and dagger at 30
Takeaways[edit]
- The dagger's strongest attack is stab, the shortsword's slash and stab are its equally strongest attacks. No other weapon has stab as its strongest attack.
- The fist does indeed have all three attack types, although the POV animations are the same for all three.
- Slash is the strongest attack for all axes and all swords except the dagger.
- Bash is the strongest attack for all the maces and the fist.
- The artifact sword is the same as the jeweled sword, just heavier.
- The jeweled mace is the top tier of the maces and the highest damaging weapon of the game, but the jeweled sword and axe are not the the highest of their categories.
- If starting the game with a character without a weapon skill, which weapon to pick? The tier one weapons (cudgel, hand axe, shortsword) all can do 6 points of damage, but the hand axe is the fastest. The tier two weapons (axe, light mace, longsword) can all do 10 points of damage, but the axe is the slowest.
- The jeweled sword is arguably the best weapon in the game. It does just slightly less damage than the black sword, but it's slightly lighter and more than twice as fast. The mace does slightly more damage at almost the same speed, but the jeweled sword is both lighter and indestructible. The jeweled mace does the most damage but it's nearly twice as slow.
- The jeweled sword has a durability of 255, but it is damageable when used against doors. Perhaps 255 just means indestructible in normal combat? Some more testing is required to make some conclusions.
Ranged Weapons & Projectiles[edit]
The ranged weapons table contains 16 entries and each entry is 3 bytes long
| # | Icon | Name | Mass | Value | Ammo | Durability |
|---|---|---|---|---|---|---|
| 16 | sling stone | 0.1 | 1 | — | ? | |
| 17 | crossbow bolt | 0.2 | 4 | — | ? | |
| 18 | arrow | 0.1 | 2 | — | ? | |
| 19 | stone | 0.4 | 0 | — | ? | |
| 24 | sling | 0.4 | 10 | sling stone | ? | |
| 25 | bow | 1.2 | 50 | arrow | ? | |
| 26 | crossbow | 2.4 | 70 | crossbow bolt | ? | |
| 31 | jeweled bow | 1.6 | 150 | arrow | ? |
Notes[edit]
- As of this writing the file formats document contains missing and incorrect information on how to read data about this item category, thus the data present here is limited
- All projectiles (such as fireballs and acid blobs) are listed in this table but since they aren't obtainable by the player they are not included in this article.
Takeaways[edit]
- The stone item is declared in this table but doesn't appear to be used anywhere in the game. Perhaps this was once going to be a tossed projectile of the trolls, as the snowball of the yeti in Ultima Underworld II. Interestingly, the stone is defined in both the object tables and the icon table in each of Ultima Underworld. the PSX-port of Ultima Underworld, and Ultima Underworld II, but the object is not used in any of these games.
Armour & Wearables[edit]
The armours table contains 32 entries and each entry is 4 bytes long
| # | Icon | Name | Mass | Value | Protection | Durability | Slot |
|---|---|---|---|---|---|---|---|
| 32 | leather vest | 2.0 | 20 | 2 | 8 | chest | |
| 33 | mail shirt | 4.0 | 45 | 4 | 22 | chest | |
| 34 | breastplate | 8.0 | 70 | 6 | 34 | chest | |
| 35 | leather leggings | 1.6 | 15 | 2 | 4 | legs | |
| 36 | mail leggings | 3.2 | 35 | 4 | 12 | legs | |
| 37 | plate leggings | 6.4 | 60 | 6 | 20 | legs | |
| 38 | leather gloves | 0.8 | 10 | 1 | 2 | hands | |
| 39 | chain gauntlets | 1.2 | 20 | 3 | 9 | hands | |
| 40 | plate gauntlets | 1.6 | 30 | 5 | 15 | hands | |
| 41 | leather boots | 1.2 | 12 | 1 | 3 | feet | |
| 42 | chain boots | 1.6 | 25 | 3 | 10 | feet | |
| 43 | plate boots | 2.0 | 40 | 5 | 17 | feet | |
| 44 | leather cap | 0.8 | 15 | 2 | 6 | head | |
| 45 | chain cowl | 1.2 | 30 | 4 | 15 | head | |
| 46 | helmet | 1.6 | 50 | 6 | 24 | head | |
| 47 | pair of dragon skin boots | 3.2 | 150 | 3 | 255 | feet | |
| 48 | crown | 0.4 | 90 | 0 | 255 | head | |
| 49 | crown | 1.6 | 120 | 0 | 255 | head | |
| 50 | crown | 1.6 | 120 | 0 | 255 | head | |
| 54 | iron ring | 0.1 | 0 | 0 | 255 | ring | |
| 55 | shiny shield | 4.8 | 0 | 3 | 255 | none | |
| 56 | gold ring | 0.1 | 60 | 0 | 255 | ring | |
| 57 | silver ring | 0.1 | 40 | 0 | 255 | ring | |
| 58 | red ring | 0.1 | 25 | 0 | 255 | ring | |
| 59 | tower shield | 4.8 | 50 | 3 | 30 | none | |
| 60 | wooden shield | 2.8 | 35 | 1 | 5 | none | |
| 61 | small shield | 2.2 | 20 | 2 | 17 | none | |
| 62 | buckler | 2.8 | 15 | 1 | 9 | none | |
| 63 | jeweled shield | 5.2 | 150 | 2 | 255 | none |
The following are the aggregate values for each set of materials:
| Material | Mass | Protection |
|---|---|---|
| Leather | 6.4 | 8 |
| Chain | 11.2 | 18 |
| Plate | 19.6 | 28 |
| TODO | list average or median values for armor set, totalling the values is useless information |
Notes[edit]
- The value in the Slot column tells where on the paper doll to equip the item. Since shields don't go on the paper doll, they go in an equipment slot alongside the doll, their slot is "none"
Takeaways[edit]
- There are 2 points of protection of difference between the leather, chain, and plate armour pieces.
- Unenchanted rings and crowns offer no armor protection.
- Dragonskin boots are much heavier than plate boots but offer only chain boots level of protection.
- The buckler offers the same protection as the wooden shield and the same weight, but almost twice the durability and less than half the value.
- Ths small shield not only offers better protection than the wooden shield and the buckler, but it's also lighter than them.
- The jeweled shield is not the highest tier shield.
- The jeweled shield offers the same protection as the small shield but with more than double the weight.
- The artifact shield is the same as the tower shield, just indestructible.
Critters[edit]
The next entry in objects.dat is the critters table. It has 64 entries and each entry is 48 bytes long. It is not currently included in this article nor on any other article. This spot is being saved for future use.
| TODO | Create critters table and either place it here or link it here |
Containers[edit]
The containers table contains 16 entries and each entry is 3 bytes long
| # | Icon | Name | Mass | Value | Capacity | Cap/Mass | Restriction |
|---|---|---|---|---|---|---|---|
| 128 129 |
sack | 0.2 | 4 | 12.5 | 62.500 | — | |
| 130 131 |
pack | 0.4 | 8 | 25 | 62.500 | — | |
| 132 133 |
box | 0.6 | 6 | 12.5 | 20.833 | — | |
| 134 135 |
pouch | 0.1 | 3 | 2 | 20.000 | — | |
| 136 137 |
map case | 0.1 | 3 | 3 | 30.000 | scrolls | |
| 138 139 |
gold coffer | 1.2 | 40 | 12.5 | 10.417 | — | |
| 140 | urn | 1.2 | 5 | 20 | 16.667 | — | |
| 141 | quiver | 0.8 | 10 | 0 | ∞ | ammo | |
| 142 | bowl | 0.4 | 3 | 5 | 12.500 | food | |
| 143 | rune bag | 0.4 | 0 | 0 | ∞ | rune stones |
Notes[edit]
- The capacity/Mass ratio isn't stored in-game, it's provided in this table for the reader's convenience
- The urn is defined in this table although it can't be picked up. The other containers that can't be picked up are the chest, barrel, and cauldron, and they are not defined in this table.
Takeaways[edit]
- The pack has the best capacity and also the best ratio of capacity to weight.
- The sack, box, and gold coffer have the same capacity, but different weights.
- If the value field is for bartering, it's strange that these items have values, as containers can't be bartered.
Light Sources[edit]
The lights table contains 16 entries and each entry is 2 bytes long
| # | Icon | Name | Mass | Value | Duration | Brightness |
|---|---|---|---|---|---|---|
| 144 148 |
lantern | 0.6 | 30 | 10 | 4 | |
| 145 149 |
torch | 0.2 | 5 | 3 | 2 | |
| 146 150 |
candle | 0.1 | 2 | 12 | 1 | |
| 147 151 |
taper | 0.4 | 1 | 0 | 3 |
| Name | Brightness |
|---|---|
| Light | 3 |
| Magic Lantern | 4 |
| Night Vision | 5 |
| Daylight | 7 |
Notes[edit]
- Light spells’ brightnesses are provided here for convenient comparison. For more information see: Light (concept)
Takeaways[edit]
- Although documentation says the the Light spell emits lights similar to a torch, it is actually a step brighter, similar to the taper.
- The torch emits light brightness less than the Light spell even thought the spell's icon is a lit torch.
Food Items[edit]
The foods table contains 16 entries and each entry is 1 byte long
| # | Name | Mass | Value | Nutrition | Nut/Mass | |
|---|---|---|---|---|---|---|
| 176 | piece of meat | 0.7 | 4 | 64 | 91 | |
| 177 | loaf of bread | 0.5 | 3 | 16 | 32 | |
| 178 | piece of cheese | 0.2 | 2 | 12 | 60 | |
| 179 | apple | 0.1 | 2 | 6 | 60 | |
| 180 | ear of corn | 0.1 | 2 | 25 | 250 | |
| 181 | loaf of bread | 0.4 | 2 | 12 | 30 | |
| 182 | fish | 1.0 | 3 | 48 | 48 | |
| 183 | bunch of popcorn | 0.1 | 1 | 2 | 20 | |
| 184 | mushroom | 0.2 | 1 | 0 | 0 | |
| 185 | toadstool | 0.2 | 1 | 6 | 30 | |
| 186 | bottle of ale | 0.4 | 5 | 253 | ? | |
| 187 | red potion | 0.3 | 20 | 129 | ? | |
| 188 | green potion | 0.3 | 20 | 129 | ? | |
| 189 | bottle of water | 0.4 | 3 | 255 | ? | |
| 190 | flask of port | 0.4 | 5 | 248 | ? | |
| 191 | bottle of wine | 0.4 | 0 | 0 | ? |
Notes[edit]
- The nutrition/mass ratio isn't stored in game, it's provided in this table for convenience of comparison. Ratios for beverages weren't provided because the numbers don't seem to be correct.
- The beverages all have a high nutrition value, over 128. It's possible that the high bit of this byte is a flag for some special handling.
- There are a few more editable items, such as the plants (with and without red berries), the rotworm corpse, rotworm stew, candles, leeches, etc, that are not in this table. Their nutrition values are unknown at this time.
Takeaways[edit]
- The ear of corn has by far the highest nutrition to weight ratio, and loses it significantly when changed to popcorn
Treasure Items[edit]
The treasures table contains 16 entries and each entry is 1 byte long
| # | Name | Mass | Value | Value | |
|---|---|---|---|---|---|
| 160 | coin | 0.1 | 3 | 0 | |
| 161 | gold coin | 0.4 | 3 | 2 | |
| 162 | ruby | 0.1 | 25 | 4 | |
| 163 | red gem | 0.1 | 15 | 5 | |
| 164 | small blue gem | 0.1 | 20 | 1 | |
| 165 | large blue gem | 0.1 | 30 | 7 | |
| 166 | sapphire | 0.1 | 40 | 6 | |
| 167 | emerald | 0.1 | 35 | 0 | |
| 168 | amulet | 0.4 | 60 | 0 | |
| 169 | goblet | 0.8 | 50 | 0 | |
| 170 | sceptre | 1.2 | 50 | 0 | |
| 171 | gold chain | 0.8 | 75 | 0 | |
| 172 | gold plate | 1.6 | 100 | 0 | |
| 173 | ankh pendant | 0.0 | 25 | 0 | |
| 174 | shiny cup | 0.0 | 0 | 0 | |
| 175 | large gold nugget | 1.6 | 50 | 0 |
Notes[edit]
- It is unclear what this new value category is used for
Takeaways[edit]
- It's interesting that the coin and gold coin have the same value, and the gold coin is 4x as heavy
Animations[edit]
The animations table contains 16 entries and each entry is 4 bytes long. It is not currently included in this article.
Each object in the game can be assigned an icon (stored in FILEobjects.gr), or a 3d model or texture, but an object cannot have multiple icons. That's why for for example opened and closed containers are separate objects, and lit and unlit lights are separate objects. This table is for linking animation frames (stored in FILEanimo.gr) to objects. This is how animations such as the flowing water fountain or glowing Silver Sapling are handled.