|
|
Baronus
Legendary Hero
|
posted January 20, 2016 11:31 AM |
bonus applied by Maurice on 09 May 2018. |
Edited by Baronus at 11:07, 23 Jan 2016.
|
Baronus
It is possible edit all hero skills in Heroes III. Everybody can.
First you need Hex editor. Eg. Frhed. Freeware.
http://frhed.sourceforge.net/en/
And open HotA.exe. See heroes3.exe to compare.
You can find in HotA exe the same area like Heroes3.exe and look at this:
http://www.celestialheavens.com/forum/7/14543
Modding guide in polish:
http://soe.bnx.pl/readarticle.php?article_id=6
Basic Heroes III Hero editing:
Line 0x279DD0 (in heroes3.exe in Hota near this value)
0A 00 00 00 0B 00 00 00 0C 00 00 00 D1 00 00 00 P1 00 00 00 D2 00
00 00 P2 00 00 00 SB 00 00 00 FF FF FF FF
S1 00 00 00 S2 00 00 00 S3 00 00 00 XX XX XX 00 YY YY YY 00 01 01
First hero:
00 00 00 00 07 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 01 00
00 00 01 00 00 00 00 00 00 00 FF FF FF FF
00 00 00 00 02 00 00 00 04 00 00 00 44 F1 67 00 34 F1 67 00 01 01
0A - sex [ 00 - m /01 - w]
0B - race [07 - human]
0C - profession [00 - knight 01 - cleric, 02 - ranger etc. see herotraits table for number or erm
tool guide. ]
D1 - first skill [00 - pathfinding, 01 - archery see herotraits table for number or erm tool guide. ]
P1 - first skill level [ 01 - basic, 02 - advanced, 03 - expert]
D2 - second skill
P2 - sec. sk. level
SB - spellbook yes 01, no - 00 .
FF FF FF FF - starting spell (no for knight) see spell table txt for number or erm tool guide.
S1, S2, S3 - start units 00 - pikeman , 01- halabardier etc. se crtraits.txt for number or erm tool
guide.
XX XX XX - dont change
YY YY YY - dont change
00 01 01 - ????
HotaA heroes editing.
Found by Dixlot.
HotA heroes are in HotA dat. Its a short file and heroes are at the start. First is biography and rest the same like heroes3.exe. You can edit all using HexD editor.
Changing skills. Editing skills is too possible. See:
www.celestialheavens.com/forum/7/8806?start=100
Here are the offsets along with some of the commonly used percent values that I wrote down.
offset: 0x0023e998(luck)
offset: 0x0023e9a8(leadership)
offset: 0x0023e9b8(necromancy)
offset: 0x0023e9c8(mysticism)
offset: 0x0023e9d8(scouting)
offset: 0x0023e9e8(archery)
offset: 0x0023e9f8(offence)
offset: 0x0023ea08(armorer)
offset: 0x0023ea18(estates)
offset: 0x0023ea28(eagle eye)
offset: 0x0023ea38(diplomacy)
offset: 0x0023ea48(resistance)
offset: 0x0023ea58(learning)
offset: 0x0023ea68(logistics)
offset: 0x0023ea78(sorcery)
offset: 0x0023ea88(intelligence)
offset: 0x0023ea98(first aid)
Some Percentages:
05% - CD CC 4C 3D
07% - 29 5C 8F 3D
0.0833333333 - AB AA AA 3D
10% - CD CC CC 3D
14% - 29 5C 0F 3E
15% - 9A 99 19 3E
0.1666666667 - AB AA 2A 3E
18% - EC 51 38 3E
20% - CD CC 4C 3E
25% - 00 00 80 3E
30% - 9A 99 99 3E
40% - CD CC CC 3E
45% - 67 66 E6 3E
60% - 9A 99 19 3F
Here's a site that converts values.
http://babbage.cs.qc.edu/IEEE-754/
20 % you must write 0.2, 80% = 0.8 etc.
Movement is in tables (Logistics).
Catapult too in txt. Elemental magic you can edit too in txt.
You must edit HotA txt tables NOT game txt tables. And then HotA DAT using HexD editor.
HotAeng.lod
Using MMArchive and Txtedit
https://sites.google.com/site/sergroj/mm
And thats all. :-)
|
|
tax_375
Hired Hero
|
posted January 20, 2016 11:54 AM |
|
Edited by tax_375 at 11:55, 20 Jan 2016.
|
Thank you for the detailed information Great to have a short guide/summary!
Is it possible to bring back banned heroes by default?
For example Galthran.
|
|
phoenix4ever
Legendary Hero
Heroes is love, Heroes is life
|
posted January 20, 2016 12:18 PM |
|
|
Thanks for this guide Baronus.
About editing the skills in HotA, which file is that?
HotA.dat?, or is it only for editing heroes?
HotA.dat and HiScore.dat seems to be the only .dat files I can find...
|
|
Baronus
Legendary Hero
|
posted January 20, 2016 12:42 PM |
|
Edited by Baronus at 13:04, 20 Jan 2016.
|
At this moment I know nothing about Galthran.
Editing heroes from SoD --> HotA.exe and herotratis.txt from HotAeng.lod
Editing heroes from HotA--> HotA.dat (only I suppse)
Editing skills --> HotA.exe and spell.txt and other txt HotAeng.lod and maybe HotA.dat (at this moment I dont know).
HotA dat is short, there is no problem searching inside.
|
|
tax_375
Hired Hero
|
posted August 24, 2016 07:50 AM |
|
|
I have investigated a little bit further regarding Galthran and other heroes. The switch between enable or disable a hero by "default" must be somewhere in homm3/hota map editor or homm3/hota exe file. I have excluded all other data files and its neither in the hero starting sskills, starting spells etc... part of the executable files (linked above - when you look the files with hex editor).
Is it possible when you start a new game and choose towns/heroes/resource the game.exe file somehow use map editor.exe to set the chosen town/hero? Because in this case I think the "default hero switch" must be somewhere in the map editor.exe file?
Any ideas, suggestions on this one?
|
|
Baronus
Legendary Hero
|
posted August 24, 2016 09:03 PM |
|
|
I dont know how they do it. I think that maybe by replacement data between Mullich and Haart. Or maybe by script? I dont know where is replacement. There are two heroes named sir Haart in exe and in txt. There is limit default heroes 16 for town. But you can play it using map configurations. Copy map, go to editor and put Mullich in your town. You must in map properties sign Mullich yes. And you play Mullich.
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted August 25, 2016 12:42 AM |
|
|
Baronus said: I dont know how they do it. I think that maybe by replacement data between Mullich and Haart. Or maybe by script? I dont know where is replacement. There are two heroes named sir Haart in exe and in txt. There is limit default heroes 16 for town. But you can play it using map configurations. Copy map, go to editor and put Mullich in your town. You must in map properties sign Mullich yes. And you play Mullich.
One Lord Haart is from Castle, and one from Necropolis (the second one is from campaign). Sir Mullich was added because there was one hero less for campaign since in those campaign Haart from Castle was off (because in Lore both Haarts are the same person).
|
|
pekute99
Known Hero
The prettiest I must say
|
posted August 25, 2016 07:11 AM |
|
|
What will I do when the game is updated ? So I have to edit the whole HotA.dat file again ?
|
|
tax_375
Hired Hero
|
posted August 25, 2016 08:34 AM |
|
Edited by tax_375 at 08:57, 25 Aug 2016.
|
To Baronus: Yes I know that in map editor I can set the Heroes to be playable. I try to create this small modification for a couple of my friends I am playing with. Map editing isn't an option because we like to play random maps, so it would be annoying before each game to modify the generated random map and also who sets the heroes in map editor could see the map before the gameplay . But I won't give up search continues..
Which one of the txt files contain the 2 sir haart?
|
|
Baronus
Legendary Hero
|
posted August 26, 2016 10:09 AM |
|
|
In herotraits eg. All txt with hero in name and heroes list.
Yes you must update each new HotA version.
Note your changes in notebook and made text document. And you can only copy past. Its faster.
|
|
tax_375
Hired Hero
|
posted August 30, 2016 08:36 PM |
|
|
Okay I tested these (learning skill for example) txt files but changing the text files only change game text not the game play itself so all skills etc...has to be in the game.exe file. If you want to change anything game play related, its in the exe
|
|
Baronus
Legendary Hero
|
posted September 01, 2016 12:35 AM |
|
Edited by Baronus at 00:37, 01 Sep 2016.
|
No. Skill probability is in txt. Attributtes prob too. Tavern prob. too. Number of monsters too. I this case txt is executable.
|
|
tax_375
Hired Hero
|
posted September 01, 2016 08:55 AM |
|
|
Yes I wasn't exact, you are right, but anyway changing the SSTRAITS.txt didn't worked for me.
|
|
Baronus
Legendary Hero
|
posted September 04, 2016 10:57 PM |
|
|
SSTRAITS is txt executable file. But DESCRIPTION only! If you change skill as I wrote in first post, skill description is not correct. You must change it too. Example in my version learning give 100% exp. And I changed sstraits from 15 to 100%.
|
|
Maurice
Hero of Order
Part of the furniture
|
posted September 05, 2016 01:37 AM |
|
Edited by Maurice at 09:59, 05 Sep 2016.
|
Baronus said:
Some Percentages:
05% - CD CC 4C 3D
07% - 29 5C 8F 3D
0.0833333333 - AB AA AA 3D
10% - CD CC CC 3D
14% - 29 5C 0F 3E
15% - 9A 99 19 3E
0.1666666667 - AB AA 2A 3E
18% - EC 51 38 3E
20% - CD CC 4C 3E
25% - 00 00 80 3E
30% - 9A 99 99 3E
40% - CD CC CC 3E
45% - 67 66 E6 3E
60% - 9A 99 19 3F
The first two bytes of each four you list here aren't part of the actual percentage. They determine the speed at which the percentages increase; as such, you need to reorganize your list based on the first two bytes:
05% - CD CC 4C 3D
10% - CD CC CC 3D
20% - CD CC 4C 3E
40% - CD CC CC 3E
07% - 29 5C 8F 3D
14% - 29 5C 0F 3E
0.0833333333 - AB AA AA 3D
0.1666666667 - AB AA 2A 3E
15% - 9A 99 19 3E
30% - 9A 99 99 3E
60% - 9A 99 19 3F
18% - EC 51 38 3E
25% - 00 00 80 3E
45% - 67 66 E6 3E
As you can see from the sets that have multiple percentages, they increase in step size by 80 (HEX, not decimal; in decimal the step size is 128!) on the third byte each time and each step the percentage doubles.
Keep in mind that it's Little Endian format, so the smallest byte is on the left and subsequent bytes increase in size. Converting those third and fourth byte hexadecimal values to decimals, we get the following list:
CD CC
05% - 4C 3D - 15692
10% - CC 3D - 15820 (and 15820 - 15692 = 128)
20% - 4C 3E - 15948 (and 15948 - 15820 = 128)
40% - CC 3E - 16076 (and 16076 - 15948 = 128)
29 5C
07% - 8F 3D - 15759
14% - 0F 3E - 15887 (and 15887 - 15759 = 128)
AB AA
8.33% - AA 3D - 15786
16.67% - 2A 3E - 15914 (and 15914 - 15786 = 128)
9A 99
15% - 19 3E - 15897
30% - 99 3E - 16025 (and 16025 - 15897 = 128)
60% - 19 3F - 16153 (and 16153 - 16025 = 128)
EC 51
18% - 38 3E - 15928
00 00
25% - 80 3E - 16000
67 66
45% - E6 3E - 16102
I wouldn't be surprised is the first two bytes are a pointer to a starting percentage value somewhere else in the data file.
Basically, the generic formula seems to be:
PERCENT = BASE_PERCENT * 2 ^( ( OFFSET_VALUE - BASE_VALUE ) / 128 )
Where BASE_PERCENT is some start percentage, the BASE_VALUE being the 3rd and 4th byte belonging to that start percentage and OFFSET_VALUE the corresponding value from the list above. I can't fathom the reason for such a non-linear function, however. But maybe it's because I am too sleepy at the time of writing this.
Edit: After making this post, I checked the executable itself and found the mentioned values at the mentioned address. The information is presented in an awkward fashion there and indeed mixed up. I'll see if I can get the complete information from that section and translate it.
|
|
Maurice
Hero of Order
Part of the furniture
|
posted September 05, 2016 07:52 PM |
|
Edited by Maurice at 19:55, 05 Sep 2016.
|
I've made a closer examination of the specific section listed and I've encountered the following values:
5 CD CC 4C 3D
10 CD CC CC 3D
15 9A 99 19 3E
20 CD CC 4C 3E
25 00 00 80 3E
30 9A 99 99 3E
40 CD CC CC 3E
50 00 00 00 3F
60 9A 99 19 3F
100 00 00 80 3F
200 00 00 00 40
300 00 00 40 40
The progression in these values don't make much sense to me, but I've found the same table in the HotA exe as well as the H3 exe.
What I did learn, though, is that First Aid actually provides 100, 200 and 300 healing bonus respectively. Not sure how this works out ingame though (whether it's a static amount of HP added, or a percentage increase as the value seems to imply), as I usually don't pay much attention to the First Aid Tent.
What I am unsure of, though, is where the other skills are listed. Tactics, Artillery, Ballistics, Pathfinding, Navigation, Scholar, Wisdom and the four Magic Schools are missing from this list, apparently.
|
|
Baronus
Legendary Hero
|
posted September 06, 2016 12:03 PM |
|
Edited by Baronus at 12:15, 06 Sep 2016.
|
Good you reorganize these values.
Yes I thought too how is formula of that but no so long:-) I dont have solutin but I can link another online calculator:
http://www.h-schmidt.net/FloatConverter/IEEE754.html
For all beware! Remember you must reverse it using calculator!
5% = 0.05 = CD CC 4C 3D (in game) --> 3D 4C CC CD (calculator)
Skills are in:
(luck) points
(leadership) points
(necromancy) percent of CD CC CC 3D = 10%
(mysticism) points (basic hero regeneration and with 3 levels bonuses)
(scouting) points (basic hero look and with 3 levels bonuses)
(archery) bonus percent CD CC CC 3D = 10%
(offence) bonus percent CD CC CC 3D = 10%
(armorer) bonus percent CD CC CC 3D = 10%
(estates) number of gold 1000 = 1000g
(eagle eye) percent of CD CC CC 3D = 10%
(diplomacy) percent of CD CC CC 3D = 10%
(resistance) percent of CD CC CC 3D = 10%
(learning) bonus percent CD CC CC 3D = 10%
(logistics) bonus percent CD CC CC 3D = 10% (Daily movement is in txt tables you can correct it there. Here is bonus to this value 25, 50, 100%)
(sorcery) bonus percent CD CC CC 3D = 10%
(intelligence) bonus percent CD CC CC 3D = 10%
(first aid) bonus percent CD CC CC 3D = 10% ( basic is 25 health points, so 2 = 50 hp , 6 = 150hp , 14 = 350 hp)
ballistics - in txt tables you can correct wall power and probablity of destroy it.
wisdom, air, water, earth, fire - in txt tables you can correct mana cost, city probability and I think level and spell school too.
23 skills you can correct.
Tactics, Artillery, Pathfinding, Navigation, Scholar - at this moment I dont know how to edit. Hard codded probably.
|
|
phoenix4ever
Legendary Hero
Heroes is love, Heroes is life
|
posted September 06, 2016 01:07 PM |
|
|
If anything needs "correction", it's Learning, Eagle Eye, First Aid & Mysticism, unfortunately I have no luck doing that.
|
|
Maurice
Hero of Order
Part of the furniture
|
posted September 06, 2016 03:21 PM |
|
|
Baronus said: For all beware! Remember you must reverse it using calculator!
5% = 0.05 = CD CC 4C 3D (in game) --> 3D 4C CC CD (calculator)
That the difference between representing the value in Little Endian or in Big Endian. CD CC 4C 3D is the Little Endian representation, while 3D 4C CC CD is the Big Endian representation. For most consumer computers, Little Endian is the standard.
____________
The last Reasonable Steward of Good Game Design and a Responsible Hero of HC. - Verriker
|
|
tax_375
Hired Hero
|
posted September 08, 2016 12:05 AM |
|
Edited by tax_375 at 00:06, 08 Sep 2016.
|
With Baronus and Maurice's replies I can see now the full "picture". I was able to successfully modify the Learning, Misticism and Sorcery skills and get some boost to the magic heroes. Thank you guys, you are awesome!
|
|
|