Bloodwych Extended Levels Champion Data Structure - HoraceAndTheSpider/Bloodwych-68k GitHub Wiki
The champion data block gives us lots of information regarding our live Champion information. There are 16 ($10) entries here, each of length $40.
During the recruitment of monsters during the game, unused entries may be swapped.
Bloodwyn Stats - SPS43 addresses File Location: [$____] - Bloodwyn Stats Memory Location: ($F586)
Example Data: 01 00 23 11 0D 0D 00 46 00 46 1F 1F 06 06 05 7F 80 00 00 00 C6 00 00 FF 00 00 FF FF 00 E9 04 00 04 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Detail: Each byte of data sets out differing information for the champion, defined as follows:
-
Byte 00 = Character Level
-
Byte 01 = Character Form / Image
-
Byte 02 = Strength
-
Byte 03 = Agility
-
Byte 04 = Intelligence
-
Byte 05 = Charisma
-
Word 06/07 = Current HP
-
Word 08/09 = Max HP
-
Byte 0A = Current Vitality (max $C7)
-
Byte 0B = Max Vitality (max $C7)
-
Byte 0C = Current Spell Points (max $63)
-
Byte 0D = Max Spell Points
-
Byte 0E = Armour Level ($00 +10 to $6D -99)
-
Byte 0F = Ancient Spell; $FF = none, Replace 00-Serpent 01-Chaos, 02, Dragon, 03 Moon
-
Byte 10 = Spells Page 1 (one bit per spell)
-
Byte 11 = Spells Page 2
-
Byte 12 = Spells Page 3
-
Byte 13 = Spells Page 4
-
Byte 14 = Food Level (max C7)
-
Byte 15 = Current Worn Spell (08 = Amour etc..)
-
Byte 16 = Current Worn Hand Amour (Gloves)
-
Byte 17 = Number of the Spell that the player attempts to cast ($ff for none)
-
Byte 18 = Spell power boost gained by spending additional mana
-
Byte 19 = Spell Cool Down Timer ($07 downwards)
-
Byte 1A = X position
-
Byte 1B = Y Position
-
Byte 1C = ? bits 4-5 (left) Floor position | bits 0-1 (right) direction faced
-
Byte 1D = ? Character speed
-
Byte 1E = ? Floor
-
Byte 1F = ? Attack cool down (counts down from 07 to 00, also used for attack sequence)
-
Byte 20 = ? Levelling Value (change to FF to level, 11 = level 1, 24 = level 2)
-
Byte 21 = ? XP to next level (Starts at $FF and then as you hit monsters this is reduced down to 00 and Byte ?1C? is changed to FF)
-
Byte 22 = ? Amount of spells to buy from the fairy
-
Byte 23 = ?
-
Byte 20 = ? $04 (start) / $2B (end) ??? <<<
-
Byte 21 = ? $2E (end) /$FF (start) ??
-
Byte 20 =
-
Byte 21 =
-
Byte 22 =
-
Byte 23 =
-
Byte 24 =
-
Byte 25 =
-
Byte 26 =
-
Byte 27 =
-
Byte 28 =
-
Byte 29 =
-
Byte 2A =
-
Byte 2B =
-
Byte 2C =
-
Byte 2D =
-
Byte 2E =
-
Byte 2F =
-
Byte 30 = Object Held in Left Hand
-
Byte 31 = Object Held in Right Hand
-
Byte 32 = Armour Worn
-
Byte 33 = Sheild Worn
-
Byte 34 = Object Held in Slot 1
-
Byte 35 = Object Held in Slot 2
-
Byte 36 = Object Held in Slot 3
-
Byte 37 = Object Held in Slot 4
-
Byte 38 = Object Held in Slot 5
-
Byte 39 = Object Held in Slot 6
-
Byte 3A = Object Held in Slot 7
-
Byte 3B = Object Held in Slot 8
-
Byte 3C = Quantity of Coinage
-
Byte 3D = Quantity of Keys
-
Byte 3E = Quantity of Regular Arrows
-
Byte 3F = Quantity of Elf Arrows
$???? (Long) - player 1 items held quantity , item $???? (Long) - player 1 x/y coord $???? (Word) - player 1 floor
$???? (Long) - player 2 items held quantity , item $???? (Long) - player 2 x/y coord $???? (Word) - player 2 floor