Editing
Hex Editing - Guide
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Editing HotA Creatures == While most statistics of base game creatures can be edited rather effortlessly (using MMArchive to unpack H3bitmap.lod or HotA_lng.lod), HotA creatures cannot be edited this way. Their data is stored at the beginning of HotA.dat, as follows: 08 000000 "most<ref_id>" 17 000000 "Monsters\monster<ref_id>.str" 09 000000 00000000 04 000000 "name_abbreviation" KK000000 "<animation_filename>.def" L1000000 "Monster_name (singular)" L2000000 "Monster name (plural)" 00000000 00000000 00000000 00000000 01 74 0000 TT 000000 UL 000000 0c556700 00556700 F1 F2 F3 F4 80da9e03 60da9e03 30da9e03 WC000000 MC000000 OC000000 SC000000 CC000000 GeC000000 GC000000 FV000000 AV000000 GV000000 HG000000 HP000000 SP000000 AT000000 DF000000 DmgL000000 DmgH000000 SH000000 SN000000 OO000000 mm000000 MM000000 RR000000 VV000000 WW000000 XX000000 YY000000 ZZ000000 * monst<ref_id> is monster's reference id in decimal, f.e. monst154 * name_abbreviation is a 4 letter abbreviation of the monster name. Never appears anywhere ever again. Note that not all abbreviations are just beginning or consonants, f.e. Haspids are written as "aspi" and nix as "nixx". This abbreviation doesn't seem to have to be unique, as Sea Serpent and Haspids have the same 4 letters here. It is worth pointing out, that base game creatures also use 4-letter abbreviations in a similar table located in h3hota HD.exe around 0x275500 * KK is the length of the animation_filename + 4 (and therefore the length of the entire "animation_filename.def" * <animation_filename>.def is the file name of the set of animations, saved as .def in HotA.lod or HotA.lod. * L1 is the length of the monster name (singular) * L2 is the length of the monster name (plural) * 0x74 codes as "t" in ASCII * TT is the reference id of the town the monster belongs to. 0x09 for Cove, 0x0a for Factory, FFFFFFFF for Neutrals and I bet if HotA ever releases a new town, it will have 0x0b as its faction code. * UL is the unit level -1 (sidenote: this is an example of numbers being used in a list with a zero-based numbering). FFFFFFFF for monsters with no level (f.e. Citadel / Castle Towers) * 0c556700 (and 00556700) point to a similar table with creature sprite, text and other references in h3hota HD.exe and is probably used to insert the HotA.dat's creature table into this part of the exe. * F1 is the first creature ability flag ** 01 - 2-hex unit ** 02 - Flying ** 04 - Ranged Attack ** 08 - Fire breath ** 10 - Living ** 20 - Can attack city walls (cyclops, cannon) ** 40 - War machine ** 80 - Slayer (Basic) * F2 is the second creature ability flag ** 01 - Slayer (advanced) ** 02 - Slayer (expert) ** 04 - Mind immunity ** 08 - shoots beam (?) ** 10 - No melee penalty ** 20 - {{unk}} ** 40 - Fire immunity ** 80 - Attacks twice * F3 is the third creature ability flag ** 01 - No enemy retaliation ** 02 - Morale has no effect ** 04 - Undead ** 08 - AOE melee attack (Hydra) ** 10 - AOE ranged attack (Magog), AI flag only. ** 20 - {{unk}} ** 40 - {{unk}} ** 80 - {{unk}} * F4 is the fourth creature ability flag ** 01 - {{unk}} ** 02 - {{unk}} ** 04 - {{unk}} ** 08 - {{unk}} ** 10 - {{unk}} ** 20 - {{unk}} ** 40 - {{unk}} ** 80 - Dragon (for the sake of Mutare's specialty and vial of dragon blood) * 80da9e03, 60da9e03, 30da9e03 - {{unk}} * WC is the cost of wood necessary to recruit the creature * MC is the cost of mercury necessary to recruit the creature * OC is the cost of ore necessary to recruit the creature * SC is the cost of sulfur necessary to recruit the creature * CC is the cost of crystals necessary to recruit the creature * GeC is the cost of gems necessary to recruit the creature * GC is the cost of gold necessary to recruit the creature. Note that all aforementioned cost values have 4 bytes to play with, so the maximum unit cost is 2147483647 gold (or of any resource). * FV is the Fight Value * AV is the AI Value * GV is the Growth * HG is the Horde Growth * HP is, surprisingly, hit points * SP is speed * AT is attack * DF is defense * DmgL is low end of the damage range * DmgH is the high end of the damage range * SH is the number of shots per battle * SN is the number of spell casts per battle * mm - minimum number of units when randomly spawned by the map generator * MM - maximum number of units when randomly spawned by the map generator. QQ, RR, VV, WW, XX, YY, ZZ - {{unk}}. Sometimes they take up 28 (!) bytes (such as for Ayssids), and sometimes don't appear at all. I suspect they reference some sort of abilities the creatures have, or their descriptions. When using custom functions or editing original code, note that all HotA (as well as some SoD monsters) have reference ID above 80, and therefore cannot be checked for using a simple check command, such as 83 FA ID. Instead, you have to use a longer command that accepts a 4-byte value (for EDX that would be 81 FA ID000000).
Summary:
Please note that all contributions to Heroes 3 wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information