Item & Monster Specs

Any developer realated stuff
wobbz@hydrax-hq.com
Posts: 1
Joined: Wed Sep 15, 2010 4:27 pm

Item & Monster Specs

Post by wobbz@hydrax-hq.com »

Hi All,

Wondering if anyone has had any luck finding the item or monster specs for bards tale?

I've attempted by scanning through the c64, amiga and pc version, all to no luck. Been trying to find the item specs working off the knowns (eg, know the 10th item, buckler produces ac-1 with the following ones producing -2, -2, -3, -4, -5 (up to plate))

So far absolutely no luck, wrote a little php script to rummage for the patterns, haven't found it anywhere, looking for a byte pattern, just the 3 bit pattern in any byte (fixed alignment of bits, always looking in bit eg 3 4 & 5) and using the xor EA i read in here....

Thanks for the wonderful read though, spent many hours going through the forums amazed at your wonderful work.

Hopefully i might be able to help out somewhat, i have done a bit of c64 coding in basic and asm (though 20 odd years ago). Learnt a lot of asm once i got my action replay cartridge imported :)
User avatar
ZeroZero
Posts: 286
Joined: Tue Mar 10, 2009 9:10 pm
Location: Germany

Post by ZeroZero »

maybe you should try in any emulator to trace the program down to where item and/or monster values are accessed.
Also you should not expect it to be -1, -2, -3 or like that, it could as well be 70, 71, 72 or like that.
I was not searching for it too intensively, however I assume that at least on the C64 version the data tables will very likely be on disk one, where also the jump table for loadable events is located.
GL in this project!
User avatar
dragonbait
Posts: 124
Joined: Tue May 15, 2007 12:21 am
Location: Under the Ruins of Yulash

Post by dragonbait »

Here is a list of items with descriptions etc.
http://www.weekendwastemonster.net/crpg ... items.html
Maven
Posts: 136
Joined: Sat Apr 16, 2011 9:39 pm

Post by Maven »

I've found a lot of stuff. For monsters, I've compiled a lot of it into a table and posted it in the wiki here:
http://bardstale.wikia.com/wiki/Bard%27 ... nster_List

To get you started, find the sequence

Code: Select all

40 60 21 61 22 42 21 21 63 84 84 44
This is the beginning of the Hit Points / AC table. The high order 3 bits are the lowest possible HP / 2 and the low order 5 bits are the AC. 0 = AC 10, 1 = AC 9, 2 = AC 8... 0E = AC -4, 0F = AC -5, 10 = AC -6, ... 13 = AC -9, 14 = AC -10.

Find the sequence

Code: Select all

00 00 01 01 01 01 00 00 02 02 02 02 01 03 02 03
This is the special hit / damage table. The high order 3 bits are the special attack. 1 based index into the text table found elsewhere in the file...

Code: Select all

poisons 
drains a level from 
inflicts insanity on
withers
possesses
stones
critically hits
The damage is the lower order 5 bits plus one times d4. For example, Kobolds are 0. Plus 1 is 1, so Kobolds do 1d4 (1-4) damage. Barbarians are 3. 3 + 1 = 4, so Barbs do 4d4 (4-16) damage. No wonder they killed so many of my parties.

Black Widows are 24. Higher order 3 bits = 001, index into the table = poisons. Black widows have a poison attack. 4 + 1 = 5, so they do 5d4 damage.
Maven
Posts: 136
Joined: Sat Apr 16, 2011 9:39 pm

Post by Maven »

Heh. This thread is just over a year old. I didn't notice the year. Here I thought it was an active thread. :oops:
tpth
Posts: 128
Joined: Tue Feb 02, 2010 6:39 am

Post by tpth »

I don't think anyone is overly fussed about thread necromancy on this board :)

And this was really interesting - thanks for posting it. Great to see that people are still working on this sorta stuff.
User avatar
ZeroZero
Posts: 286
Joined: Tue Mar 10, 2009 9:10 pm
Location: Germany

Post by ZeroZero »

I agree fully.

Also, Maven is really a precious source of knowledge
with always welcome information.

E D I T

I wonder, if the C64 version has similar tables...
Maven
Posts: 136
Joined: Sat Apr 16, 2011 9:39 pm

Post by Maven »

I'm going to post some of the tables I have found, along with what I think they mean in the game. That way if anyone wants to decode them further they can start from where I left off.

Here are the first five tables I found that I think apply to the monster list.

Column one is just the index.
Column 2 I think is two bit fields.
-- Bits 7-5 are the low range of how many hit points a monster can have. But you have to double it.
-- Bits 4-0 are the AC of the monster. You subtract it from 10.
Column 3 is two bit fields.
-- Bits 7-5 are special attack index. 1 = Poison, 2 = Level Drain, etc.
-- Bins 4-0 are the damage. Add one and then throw that many D4.
Column 4 is two bit fields.
-- Bits 7-4 are the max hit points this type of monster can have. Take two to that power and add the lower range from column 2 - 1.
-- Bits 3-0 are the max number of this type of monster you can face in a random encounter. 0=1 (I think) 1=4 2=8 3=16 4=32 5=64 and 6=99.
Columns 5-8 are spells / breath weapon attacks. 00 means normal attack. I think 20 stones you. 4F-59 are dragon breaths of different kinds. FE is doppleganger attack. I think there is a 25% chance per round for each.

Code: Select all

01  40 00 12 00 00 00 00 Kobold          Kobolds
02  60 00 12 00 00 00 00 Hobbit          Hobbits
03  21 01 22 00 00 00 00 Gnome           Gnomes
04  61 01 22 00 00 00 00 Dwarf           Dwarves
05  22 01 21 00 00 00 00 Thief           Thieves
06  42 01 22 00 00 00 00 Hobgoblin       Hobgoblins
07  21 00 21 00 01 01 02 Conjurer        Conjurers
08  21 00 21 00 00 19 13 Magician        Magicians
09  63 02 22 00 00 00 00 Orc             Orcs
0A  84 02 21 00 00 00 00 Skeleton        Skeletons
0B  84 02 21 00 00 00 00 Nomad           Nomads
0C  44 02 21 00 00 00 00 Spider          Spiders
0D  43 01 22 00 00 00 00 Mad Dog         Mad Dogs
0E  a4 03 22 00 00 00 00 Barbarian       Barbarians
0F  85 02 21 00 00 00 00 Mercenary       Mercenaries
10  a4 03 22 00 00 00 00 Wolf            Wolves
11  23 04 21 00 00 00 00 Jade Monk       Jade Monks
12  c5 03 22 00 00 00 00 Half Orc        Half Orcs
13  c6 03 21 00 00 00 00 Swordsman       Swordsmen
14  c5 04 21 00 00 00 00 Zombie          Zombies
15  23 02 21 00 01 02 03 Conjurer        Conjurers
16  23 02 21 00 19 13 1b Magician        Magicians
17  23 02 21 00 0b 0b 0c Sorcerer        Sorcerers
18  23 02 21 00 01 19 22 Wizard          Wizards
19  46 04 32 00 00 00 00 Samurai         Samurai
1A  25 24 32 00 00 00 00 Black Widow     Black Widows
1B  26 03 32 00 00 00 00 Assassin        Assassins
1C  45 04 31 00 00 00 00 Werewolf        Werewolves
1D  86 05 31 00 00 00 00 Ogre            Ogres
1E  66 84 31 00 00 00 00 Wight           Wights
1F  86 04 31 00 00 00 00 Statue          Statues
20  c6 05 32 00 00 00 00 Bladesman       Bladesmen
21  c7 05 31 00 00 00 00 Goblin Lord     Goblin Lords
22  a5 04 31 00 00 00 00 Master Thief    Master Thieves
23  25 04 32 00 01 03 04 Conjurer        Conjurers
24  25 04 32 00 1b 1c 1d Magician        Magicians
25  25 04 32 00 0b 0c 0d Sorcerer        Sorcerers
26  25 04 31 00 04 1b 22 Wizard          Wizards
27  86 06 32 00 00 00 00 Ninja           Ninjas
28  c6 26 32 00 00 00 00 Spinner         Spinners
29  46 07 31 00 00 00 00 Scarlet Monk    Scarlet Monks
2A  87 06 30 00 00 fe fe Doppleganger    Dopplegangers
2B  27 08 42 00 00 00 00 Stone Giant     Stone Giants
2C  e7 07 32 00 00 00 00 Ogre Magician   Ogre Magicians
2D  e8 07 32 00 00 00 00 Jackalwere      Jackalweres
2E  28 07 41 00 00 00 00 Stone Elemental Stone Elementals
2F  69 08 42 00 00 57 57 Blue Dragon     Blue Dragons
30  28 07 42 00 00 00 00 Seeker          Seekers
31  48 07 42 00 00 00 00 Dwarf King      Dwarf Kings
32  69 08 41 00 00 00 00 Samurai Lord    Samurai Lords
33  29 88 42 00 00 00 00 Ghoul           Ghouls
34  27 06 42 00 03 04 05 Conjurer        Conjurers
35  27 06 42 00 1b 1d 1e Magician        Magicians
36  27 06 42 00 0e 10 11 Sorcerer        Sorcerers
37  67 06 41 00 04 1d 23 Wizard          Wizards
38  88 0a 41 00 00 00 00 Azure Monk      Azure Monks
39  89 09 42 00 00 00 00 Weretiger       Weretigers
3A  49 09 42 00 00 00 00 Hydra           Hydras
3B  89 0a 41 00 00 58 58 Green Dragon    Green Dragons
3C  aa 6a 42 00 00 00 00 Wraith          Wraiths
3D  49 0a 42 00 00 00 00 Lurker          Lurkers
3E  ca 0b 42 00 00 00 00 Fire Giant      Fire Giants
3F  ea 0b 41 00 00 59 59 Copper Dragon   Copper Dragons
40  4a 0d 42 00 00 00 00 Ivory Monk      Ivory Monks
41  6b 6b 42 00 00 00 00 Shadow          Shadows
42  aa 0b 42 00 00 00 00 Berserker       Berserkers	
43  a9 08 42 00 05 06 06 Conjurer        Conjurers
44  a9 08 42 00 1b 1e 1f Magician        Magicians
45  c9 08 41 00 06 1d 23 Sorcerer        Sorcerers
46  a9 08 42 00 10 11 12 Wizard          Wizards
47  eb 0b 41 00 00 4f 4f White Dragon    White Dragons
48  2b 0c 52 00 00 00 00 Ice Giant       Ice Giants
49  2a 2b 53 00 00 00 00 Eye Spy         Eye Spies
4A  2a 0c 52 00 00 00 00 Ogre Lord       Ogre Lords	
4B  6a ab 53 00 00 00 00 Body Snatcher   Body Snatchers
4C  4b 0c 52 00 00 00 00 Xorn            Xorns
4D  4b 4d 52 00 00 00 00 Phantom         Phantoms
4E  ac 8e 52 00 00 00 11 Lesser Demon    Lesser Demons
4F  4a 0c 50 00 00 00 14 Fred            Freds
50  2b 0a 52 00 09 08 07 Conjurer        Conjurers
51  2b 0a 52 00 1d 1c 1f Magician        Magicians
52  2b 0a 52 00 12 15 16 Sorcerer        Sorcerers
53  4b 0a 51 00 25 24 1f Wizard          Wizards
54  6c ee 52 00 00 00 00 Master Ninja    Master Ninjas
55  6d 0f 52 00 00 00 00 War Giant       War Giants
56  4d 0f 53 00 00 00 00 Warrior Elite   Warrior Elites
57  4c 0e 52 00 00 00 00 Bone Crusher    Bone Crushers
58  6c 90 50 00 00 00 00 Ghost           Ghosts
59  8c 11 51 00 00 50 50 Grey Dragon     Grey Dragons
5A  4b d0 52 00 00 00 00 Basilisk        Basilisks
5B  2b 30 53 00 00 1d 0e Evil Eye        Evil Eyes
5C  4c 10 50 00 00 fe fe Mimic           Mimics
5D  4d 12 52 00 00 00 00 Golem           Golems
5E  8d 53 52 00 00 00 0d Vampire         Vampires
5F  2e 74 62 00 00 00 50 Demon           Demons
60  ce 13 54 00 00 00 00 Bandersnatch    Bandersnatches
61  af 13 15 00 00 00 00 Maze Dweller    Maze Dwellers
62  ef 14 51 00 00 20 20 Mongo           Mongos
63  50 14 64 00 00 00 00 Mangar Guard    Mangar Guards
64  2f 10 66 00 00 00 00 Gimp            Gimps
65  50 17 61 00 00 51 51 Red Dragon      Red Dragons
66  70 16 62 00 00 00 00 Titan           Titans
67  ed 10 52 00 0a 09 09 Master Conjurer Master Conjurers
68  ed 10 52 00 1f 20 21 Master Magician Master Magicians
69  ed 10 52 00 15 16 18 Master Sorcerer Master Sorcerers
6A  cf 13 53 00 00 00 00 Mind Shadow     Mind Shadows
6B  50 56 62 00 00 00 00 Spectre         Spectres
6C  71 18 62 00 00 00 00 Cloud Giant     Cloud Giants
6D  30 36 61 00 1e 1f 21 Beholder        Beholders
6E  72 59 61 00 00 24 21 Vampire Lord    Vampire Lords
6F  d3 bb 62 00 00 25 52 Greater Demon   Greater Demons
70  2f 12 61 00 25 26 26 Master Wizard   Master Wizards
71  70 15 63 00 00 20 07 Mad God         Mad Gods
72  b2 15 64 00 00 00 15 Maze Master     Maze Masters
73  b0 15 15 00 00 00 00 Death Denizen   Death Denizens
74  91 18 62 00 00 53 53 Jabberwock      Jabberwocks
75  b3 1a 62 00 00 54 54 Black Dragon    Black Dragons
76  f4 f8 70 26 18 21 1f Mangar          Mangar
77  d3 1c 60 00 00 00 00 Crystal Golem   Crystal Golems
78  b2 1c 62 00 00 55 55 Soul Sucker     Soul Suckers
79  f4 1e 62 00 00 00 00 Storm Giant     Storm Giants
7A  f3 9d 62 00 00 00 00 Ancient Enemy   Ancient Enemies
7B  d3 75 66 00 00 00 21 Balrog          Balrogs
7C  f4 b7 72 00 26 21 0d Lich            Liches
7D  54 15 72 26 18 21 1f Archmage        Archmages
7E  f4 df 72 00 00 26 56 Demon Lord      Demon Lords
7F  14 ff 71 00 00 15 15 Old Man         Old Men
Here is the experience table. Anything more than 10 hex is literal. Anything less than 10 hex is multiplied by 256.

Code: Select all

32 3c 46 50 50 5a 5a 64 64 64 6e 78 96 b4 c8 dc 
01 01 01 02 02 02 02 03 03 04 04 04 04 04 04 04 
05 05 05 05 06 06 06 06 07 07 07 07 08 08 08 08 
09 09 09 09 09 09 09 09 0a 0a 0a 0a 0a 0a 0a 0a 
0a 0a 0a 0a 0a 0a 0a 0a 0b 0b 0b 0b 0b 0b 0b 0b 
0b 0b 0b 0b 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 
0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0e 0e 0e 0e 
0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0f 0f 0f 0f
Caracas
Posts: 89
Joined: Thu Jan 20, 2011 9:16 am
Location: Belgium

Post by Caracas »

Hi Maven.

Not sure how you calculate min-max hit points.

Code: Select all

01  40 00 12 00 00 00 00 Kobold          Kobolds 
02  60 00 12 00 00 00 00 Hobbit          Hobbits 
03  21 01 22 00 00 00 00 Gnome           Gnomes 
For Kobolds, 2nd column (40): wouldn't it just be first byte as minimum hit points and 2nd byte as AC? How do you figure out it would be bit 7-5 for hit points and bit 4-0 for AC?
Not realy sure how you calculate max hit points: from the 12 value in column 4 you take the fist byte (1), add 2 and the minimum HP?
this works for the kobolds, but not for some other monsters (Gnomes seem to have 2-9 HP).
Maven
Posts: 136
Joined: Sat Apr 16, 2011 9:39 pm

Post by Maven »

Caracas wrote:For Kobolds, 2nd column (40): wouldn't it just be first byte as minimum hit points and 2nd byte as AC? How do you figure out it would be bit 7-5 for hit points and bit 4-0 for AC?
It really could be either way for the first bunch of monsters, but once you get down to Mangar Guards, for example, the value is 50. Pretty sure Mangar Guards have better AC than 10.

For Calculating max hit points, you take the first nibble, add one, take 2 to that power, and then add the minimum HP and then subtract one.

For Kobolds, the first nibble is one. Add one is two. Take 2 to that power is 4. Add the minimum (which was 4) to get 8, and subtract one to get 7. Kobolds can have 4-7 HP.

For Gnomes, the first nibble is two. Add one is three. Two to the third power is 8. Add the minimum (2) to get 10. Subtract 1 is 9. Gnomes have 2-9 HP.

For Berserkers, the first nibble is 4. Add one is 5. Two to the fifth power is 32. Add the minimum (10) and you get 42. Minus 1 is 41. Berserkers can have 10-41 HP.

Incidentally, it wasn't really easy to figure how many HP monsters can have. The way I ended up doing it was pulling the values out of a memory dump. You know that table you found at 039C:2E1D4 that had number of monsters in each group? Good catch on that by the way. There's another table probably around 039C:2E812 that has current HP of each of the monsters in the first group. The other three groups follow. I just started an encounter with 66 Skeletons, or 69 Wights or 396 Berserkers, pulled the array of HP out of memory, and found the lowest and highest values. I'm pretty confident Berserkers can have 10-41 HP.

For some monsters, the calculation exceeds 256. I don't know how they handle that, because the HP array is one byte for each monster. I don't know whether they cap it at 255, roll it over, or just reroll if it gets too high. Those monsters don't occur randomly, though, so it wouldn't be easy to figure out. Maybe we could hack a dungeon and have an encounter with 99 Demon Lords on one square.

I know how we could do custom dungeons relatively easily. We could build the default Huffman tree. Where each byte represents itself. Then we could just prepend the tree onto each level and include the actual data in clear data format.
Caracas
Posts: 89
Joined: Thu Jan 20, 2011 9:16 am
Location: Belgium

Post by Caracas »

There's another table probably around 039C:2E812 that has current HP of each of the monsters in the first group. The other three groups follow. I just started an encounter with 66 Skeletons, or 69 Wights or 396 Berserkers, pulled the array of HP out of memory, and found the lowest and highest values. I'm pretty confident Berserkers can have 10-41 HP
039C:2E812 is indeed correct: quickly created a new party, entered some buildings and came across 3 skeletons.
At 039C:2E1CE

Code: Select all

00 00 00 00 00 00 [u]03[/u] 00 00 00 00 00 00 00 00 00 BB 0E 05 00 12 00 68 01 BB 0E 05 00 17 00 34 03 BB 0E 05 00 1A 00 3C 05 BB 0E 08 00 1F 00 1C 09 BB 0E 08 00 25 00 BC 0D BB 0E 08 00 2B 00 1C 13 BB 0E 09 00 30 00 DC 19 BB 0E 0C 00 3F 00 AC 25 BB 0E 0C 00 4A 00 8C 33 BB 0E 14 00 58 00 0C 4F BB 0E 10 00 58 00 0C 65 BB 0E 0C 00 58 00 8C 75 BB 0E 08 00 58 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
At 039C:2E812

Code: Select all

0A 0C 0B
So, my 3 skeletons had 10, 12 and 11 HP

Also, at 039C:2E712

Code: Select all

57 69 6C 6C 20 79 6F 75 72 20 73 74 61 6C 77 61 72 74 20 62 61 6E 64 20 63 68 6F 6F 73 65 20 74 6F 0A 46 69 67 68 74 20 6F 72 0A 52 75 6E 3F
'Will your stalwart band choose to $0AFight or $0ARun?'

address location 2E712 seems to be the location where all text that is displayed on the screen, is stored and overwritten if new text appears.
Maven
Posts: 136
Joined: Sat Apr 16, 2011 9:39 pm

Post by Maven »

Here's what I have on the Items:

Code: Select all

------------------------------------------------------------------------------
               ITEM            Wa Pa Ro Ba Hu Mo Co Ma So Wi   Price
------------------------------------------------------------------------------
00 b0 00 00 ff Torch           *  *  *  *  *  *  *  *  *  *    5
00 b1 00 00 ff Lamp            *  *  *  *  *  *  *  *  *  *    15
01 00 01 00 8e Broadsword      *  *     *  *                   80
01 00 20 00 9e Short Sword     *  *  *  *  *                   30
01 00 00 00 ff Dagger          *  *  *  *  *  *  *  *  *  *    20
01 00 01 00 8e War Axe         *  *     *  *                   70
01 00 40 00 87 Halbard         *  *        *  *                200
01 00 20 00 9f Mace            *  *  *  *  *  *                60
01 00 20 00 ff Staff           *  *  *  *  *  *  *  *  *  *    20
02 00 00 01 bf Buckler         *  *  *  *  *  *           *    40
02 00 00 02 8e Tower Shield    *  *     *  *                   100
03 00 00 02 bf Leather Armor   *  *  *  *  *  *           *    70
03 00 00 03 8e Chain Mail      *  *     *  *                   150
03 00 00 04 8e Scale Armor     *  *     *  *                   300
03 00 00 05 84 Plate Armor     *  *                            700
03 00 00 01 ff Robes           *  *  *  *  *  *  *  *  *  *    40
04 00 00 01 8e Helm            *  *     *  *                   50
05 00 00 01 bf Leather Glvs    *  *  *  *  *  *           *    80
05 00 00 01 86 Gauntlets       *  *        *                   40
06 00 00 00 08 Mandolin                 *                      130
06 00 00 00 08 Harp                     *                      130
06 00 00 00 08 Flute                    *                      130
01 00 01 10 9e Mthr Sword      *  *  *  *  *                   300
02 00 00 03 9f Mthr Shield     *  *  *  *  *  *                400
03 00 00 04 8e Mthr Chain      *  *     *  *                   500
03 00 00 05 ce Mthr Scale      *  *     *  *     *  *  *       900
07 bc 00 00 ff Samurai Fgn     *  *  *  *  *  *  *  *  *  *    500
03 00 00 04 ff Bracers [6]     *  *  *  *  *  *  *  *  *  *    600
01 05 21 10 08 Bardsword                *                      700    Unlimited Songs
06 2b 00 00 08 Fire Horn                *                      1200
09 90 00 00 60 Lightwand                         *  *  *  *    1000
01 00 00 10 ff Mthr Dagger     *  *  *  *  *  *  *  *  *  *    200
04 00 00 02 9e Mthr Helm       *  *  *  *  *                   300
05 00 00 02 be Mthr Gloves     *  *  *  *  *              *    400
01 00 01 10 8f Mthr Axe        *  *     *  *  *                300
01 00 20 00 9f Mthr Mace       *  *  *  *  *  *                300
03 00 00 06 84 Mthr Plate      *  *                            2000
07 b4 00 00 ff Ogre Fgn        *  *  *  *  *  *  *  *  *  *    300
06 05 00 00 08 Lak's Lyre               *                      1000   Unlimited Songs
08 00 00 02 ff Shield Ring     *  *  *  *  *  *  *  *  *  *    700
08 00 00 00 ff Dork Ring       *  *  *  *  *  *  *  *  *  *    100
06 00 00 02 08 Fin's Flute              *                      1300
11 00 04 20 8e Kael's Axe      *  *     *  *                   600    Poison Strike
01 00 05 20 02 Blood Axe                   *                   700
01 90 22 10 ce Dayblade        *  *     *  *     *  *  *       400
01 00 40 12 e6 Shield Staff    *  *        *     *  *  *  *    1000
0a 00 00 02 bc Elf Cloak       *  *  *  *                 *    500
01 00 22 00 8e Hawkblade       *  *     *  *                   600
01 00 01 20 8e Admt Sword      *  *     *  *                   500
02 00 00 04 8e Admt Shield     *  *     *  *                   500
01 00 00 20 ff Admt Dagger     *  *  *  *  *  *  *  *  *  *    300
04 00 00 03 8e Admt Helm       *  *     *  *                   400
05 00 00 03 8e Admt Gloves     *  *     *  *                   500
01 00 20 20 9e Admt Mace       *  *  *  *  *                   400
01 96 00 20 60 Broom                             *  *  *  *    600
01 97 41 00 04 Pureblade          *                            600    Flesh Anew
09 a4 00 00 60 Exorwand                          *  *  *  *    1000
0a 96 00 02 71 Ali's Carpet          *        *  *  *  *  *    800
0a 9e 00 00 70 Magic Mouth           *           *  *  *  *    1200
02 06 00 02 ff Luckshield      *  *  *  *  *  *  *  *  *  *    800
07 b3 00 00 ff Giant Fgn       *  *  *  *  *  *  *  *  *  *    400
03 00 01 05 8e Admt Chain      *  *     *  *                   800
03 00 00 06 84 Admt Scale      *  *                            1200
03 00 00 07 80 Admt Plate      *                               1600
03 00 00 06 7b Bracers [4]           *  *  *  *  *  *  *  *    1000
02 9f 00 03 9f Arcshield       *  *  *  *  *  *                2000
02 00 00 05 04 Pure Shield        *                            2000
01 02 22 02 60 Mage Staff                        *  *  *  *    5000   Regen Magic
01 00 23 00 fa War Staff       *     *  *  *     *  *  *  *    6000
01 08 04 00 10 Theif Dagger          *                         1100
51 00 21 10 22 Soul Mace                   *              *    1500   Possession Strike
41 00 02 20 33 Wither Staff          *     *  *           *    4000   Wither Strike
01 1a 02 32 60 Sorcerstaff                       *  *  *  *    8000   Disrupt Illusion
01 a5 22 20 82 Sword of Pak    *           *                   3000   Summons Lesser Demon
06 91 00 00 08 Heal Harp                *                      7000
06 93 00 00 08 Galt's Flute             *                      10000
06 2d 00 00 08 Frost Horn               *                      12000
01 00 01 30 86 Dmnd Sword      *  *        *                   1200
02 00 00 05 80 Dmnd Shield     *                               1000
01 00 00 30 bc Dmnd Dagger     *  *  *  *                 *    800
04 00 00 04 84 Dmnd Helm       *  *                            1100
07 be 00 00 ff Golem Fgn       *  *  *  *  *  *  *  *  *  *    300
07 bd 00 00 ff Titan Fgn       *  *  *  *  *  *  *  *  *  *    600
01 04 02 20 60 Conjurstaff                       *  *  *  *    8000   Spells use half magic
01 a0 23 10 8e Arc's Hammer    *  *     *  *                   4000   Light of some type
31 a3 04 10 40 Staff of Lor                      *  *  *       9000   Insanity Strike, Restoration
01 12 22 10 60 Powerstaff                        *  *  *  *    12000  Light damage to one group
21 00 41 10 02 Mournblade                  *                   4000   Level Drain Strike
02 2d 00 03 86 Dragonshield    *  *        *                   15000
03 00 00 08 80 Dmnd Plate      *                               4000
05 00 00 05 8c Wargloves       *  *     *                      3000
04 9c 00 02 ac Lorehelm        *  *     *                 *    8000   Sorceror Sight
09 2c 00 01 60 Dragonwand                        *  *  *  *    14000  Steams
0a 9d 00 00 fb Kiels Compass   *     *  *  *  *  *  *  *  *    6000   Scry Site
0a 07 00 01 79 Speedboots            *  *     *  *  *  *  *    2000
06 2f 00 00 08 Flame Horn               *                      20000
06 1a 00 00 08 Truthdrum                *                      20000  Disrupt Illusion
06 a5 00 00 08 Spiritdrum               *                      30000  Summons Lesser Demon
06 94 00 02 08 Pipes of Pan             *                      30000  Light of some type
08 1b 00 00 60 Ring of Power                     *  *  *  *    40000
08 a7 00 01 62 Deathring                   *     *  *  *  *    60000  Animate Dead
02 a2 00 03 8c Ybarrashield    *  *     *                      10000
21 00 22 50 a2 Spectre Mace    *           *              *    20000  Level Drain Strike
0a 19 00 00 04 Dag Stone          *                            10000  Some kind of Light
0a 9c 00 00 60 Arc's Eye                         *  *  *  *    10000  Sorceror Sight
09 95 00 01 60 Ogrewand                          *  *  *  *    30000  Summons Ogre
04 a5 00 03 82 Spirithelm      *           *                   50000  Summons Lessor Demon
07 b2 00 00 ff Dragon Fgn      *  *  *  *  *  *  *  *  *  *    800
07 ba 00 00 ff Mage Fgn        *  *  *  *  *  *  *  *  *  *    1000
08 01 00 00 ff Troll Ring      *  *  *  *  *  *  *  *  *  *    80000  HP Regen
01 01 03 40 fa Troll Staff     *     *  *  *     *  *  *  *    100000 HP Regen
00 0e 00 00 ff Onyx Key        *  *  *  *  *  *  *  *  *  *    100000
01 09 41 10 8e Crystal Sword   *  *     *  *                   500
61 00 22 10 82 Stoneblade      *           *                   70000  Stone Strike
04 98 00 03 8c Travelhelm      *  *     *                      10000
71 00 02 30 bb Death Dagger    *     *  *  *  *           *    60000  Critical Strike
07 b5 00 00 ff Mongo Fgn       *  *  *  *  *  *  *  *  *  *    1000
07 bb 00 00 ff Lich Fgn        *  *  *  *  *  *  *  *  *  *    1200
0a 0a 00 00 ff Eye             *  *  *  *  *  *  *  *  *  *    50000
07 0f 00 00 ff Master Key      *  *  *  *  *  *  *  *  *  *    1200
09 a6 00 02 20 WizWand                                    *    120000
0a 0b 00 01 ff Silvr Square    *  *  *  *  *  *  *  *  *  *    1000
0a 0c 00 01 ff Silvr Circle    *  *  *  *  *  *  *  *  *  *    1000
0a 0d 00 01 ff Silvr Triang    *  *  *  *  *  *  *  *  *  *    1000
07 39 00 00 ff Thor Fgn        *  *  *  *  *  *  *  *  *  *    2000
07 b7 00 00 ff Old Man Fgn     *  *  *  *  *  *  *  *  *  *    1500
71 28 43 18 aa Spectre Snare   *        *  *              *    200000 Critical Strike, Spell Bind
First Column
-- Bits 7-4 are the special attack index. 1 = Poison, 2 = Level Drain... 7 = Critical
-- Bits 3-0 are Item Type. 0 = Misc. Item, 1 = Weapon, 2 = Shield...

Second Column is Item Effects. Anything less than 10 is always in effect when the item is equipped. Above 10 is what happens when the item is used. I believe B0 and above is single-use item. I have guess notes on what some of the effects are.

Third Column is Base Damage for weapons. Low nibble is how many dice to throw (you have to add one--it's zero based) and the high nibble is what size dice to throw. 00 = 1d4. 01 = 2d4. 20 = 1d8. 40 = 1d16. 21 = 2d8. 04 = 5d4. 05 = 6d4. 43 = 4d16.

Fourth column is two bit fields.
-- Low nibble is AC bonus.
-- High nibble is weapon magical plus. I believe it is added as damage to each hit, and also added to the thac0. That Spectre Mace would be nice weapon if it were available in the game before your characters were high enough level to hit every time anyway. Note that the Mithril Mace has no plus. I believe that is a bug in the table. It should have +1.

Fifth column is a bit field for who can equip an item. Magicians, Conjurers, and Sorcerors are lumped into the same bit.
Last edited by Maven on Wed Nov 09, 2011 8:45 am, edited 1 time in total.
Caracas
Posts: 89
Joined: Thu Jan 20, 2011 9:16 am
Location: Belgium

Post by Caracas »

So what info about the items are we missing?
How much they cost at Garth's, at which dungeon level they drop,...?
in the unpacked bard.exe the info can be found at:

$26279: Special attack and Item type
$26379: Item effect
$26179: Base damage
$261F9: AC bonus and Magical plus
$262F9: Who can equip it?
Caracas
Posts: 89
Joined: Thu Jan 20, 2011 9:16 am
Location: Belgium

Post by Caracas »

ok, some stuff about spells:

in the extracted bard.exe, the full spell names are easily found at $25C72 - $26041, 79 spells in total... not going to copy all the names here :shock:

Equaly easy to find are the short names of the spells, the ones you need to type ingame if you're a keybiatch (like me) :shock: ... located at $26CBE - $26E17
First the conjurer spells are listed. the serie starts with $F1. All names are written with no spaces inbetween; Only between the different levels there is a hex value to indicate the level: 01, 02, 03, 04, 05, 06 and 07.
Next up are the sorcerer spells, starting with $F0.
Followed by magician spells, starting with $F2.
Ended with the wizard spells, starting with $F3

At $26438 - $26486:

Code: Select all

02 03 03 02 03 03 04 04 05 05 04 05 06 06 06 07 07 07 09 08 0C 0F 03 02 02 03 04 04 04 04 05 06 06 05 07 06 07 07 08 08 0A 09 0C 0B 03 03 02 02 04 05 05 05 06 06 07 06 08 07 07 08 08 08 09 0A 0C 0E 06 04 08 08 0A 0A 0C 0B 0E 0D 0F 12 16
Spell point cost for each spell, starting with conjurer spells, then sorcerer, magician and wizard spells.

At $270F4 - $27109

Code: Select all

00 00 00 00 01 01 01 01 02 02 02 02 03 03 03 04 04 04 05 05 06 06
Spell levels for conjurer, sorcerer and magician spells and
at $2710A - $27116

Code: Select all

00 00 01 01 02 02 03 03 04 04 05 05 06
Spell levels for wizard spells

At $27120 - $27126

Code: Select all

04 08 0C 0F 12 14 16
more spell levels: 4 spells at lvl1, 4 spells at lvl2, 4 spells at lvl3, 3 spells at lvl4, 3 spells at lvl5, 2 spells at lvl6 and 2 spells at lvl7
This goes for conjurer, sorcerer and magician spells
immidiatly followed by:

Code: Select all

02 04 06 08 0A 0C 0D
spell levels for wizard spells: 2 spells each level and 1 at lvl7

Not sure what this last 2 codes are for... maybe to help calculate something.
Maven
Posts: 136
Joined: Sat Apr 16, 2011 9:39 pm

Post by Maven »

Nice job, Caracas.

I've been trying to find where the item buy/sell values are, but I haven't had any luck yet. I think I hacked the items file and wrote down what Garth quoted me to get my list. Or maybe I stole someone else's list. I can't remember. It'd be nice to find that actual data table.