Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
New Server | HOMM1: info forum | HOMM2: info forum | HOMM3: info forum | HOMM4: info forum | HOMM5: info forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 3.5 - WoG and Beyond > Thread: How to edit HotA?
Thread: How to edit HotA? This thread is 13 pages long: 1 2 3 4 5 6 7 8 9 10 11 12 13 · «PREV / NEXT»
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 01, 2016 12:43 AM

OxFEA said:
Baronus said:

By the way. How to add ballista missile to centaur?

0043DBB0 0F0F
+flags
+shots amount in txt
+maybe, cranim.txt


But does that also make the Centaur into a ranged unit? And then I don't just mean that you can use it that way as a player, but also for the AI in how it considers the unit?

Aside from that, you've been providing us with some offset values (thanks for that!), but what is your source of this information? I've looked at the Polish site linked in the opening post, but I couldn't find the information you've been posting.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Baronus
Baronus


Supreme Hero
posted October 01, 2016 12:17 PM
Edited by Baronus at 12:18, 01 Oct 2016.

Give me those polish and russian links.
...
Centaur.
Animations no problem in def we have it in cranim.txt too
txt number of shots no problem.
So only how to ad missile to unit is problem.
I write beacuse I think it must be ralative easy.
Thanks for adress.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
OxFEA
OxFEA


Promising
Famous Hero
feanor on DF2.ru
posted October 01, 2016 02:42 PM

Maurice said:
OxFEA said:
Baronus said:

By the way. How to add ballista missile to centaur?

0043DBB0 0F0F
+flags
+shots amount in txt
+maybe, cranim.txt


Maurice said:
But does that also make the Centaur into a ranged unit?

No, as I said, you also need to add shooter flag.
Maurice said:
And then I don't just mean that you can use it that way as a player, but also for the AI in how it considers the unit?

No problems.

Maurice said:
Aside from that, you've been providing us with some offset values (thanks for that!), but what is your source of this information? I've looked at the Polish site linked in the opening post, but I couldn't find the information you've been posting.

http://forum.df2.ru/index.php?showtopic=6803
http://forum.df2.ru/index.php?showtopic=6813
sources: WoG, MoP and others
and OllyDbg+IDA+HexRays, of course.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 01, 2016 03:13 PM
Edited by Maurice at 16:49, 01 Oct 2016.

Thanks, 0xFEA, I am sure those links will prove useful . Even with Google Translate .

Edit: I've downloaded your disassembly of the WoG version, which contains the base H3 version as well. Quite interesting to see those functions in readable C code! Also, I already derived a lot of nice pointers from the forum links, too .

As an aside, but you probably already know this and I am just stating what's been long known: the subroutine located at 005BEA00 seems to populate the Mage Guild with spells at map start. It's only called by one subroutine, which is likely called once for each Town present on the map, to set up its start.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Supreme Hero
Heroes is love, Heroes is life
posted October 01, 2016 05:33 PM

Hey guys.
You know how I can edit heroes starting war machines?
Since Zubin, Vokial, Pasis and Ignissa starts with Artillery I wan't them to start with a ballista instead of a level 2 stack.
I found the HOTRAITS where you can change number of starting units, but not type, so what do I do if I wan't to replace Wolf Riders with ballista for example?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 01, 2016 07:01 PM

phoenix4ever said:
Hey guys.
You know how I can edit heroes starting war machines?
Since Zubin, Vokial, Pasis and Ignissa starts with Artillery I wan't them to start with a ballista instead of a level 2 stack.
I found the HOTRAITS where you can change number of starting units, but not type, so what do I do if I wan't to replace Wolf Riders with ballista for example?


I think I know where, but I need to experiment a little with it to know for sure. If you look within the .exe file, starting from address 279DD0, you have sets of 92 bytes each, describing the starting setup for each Hero. It also lists the creature type of the 3 possible stacks that a Hero starts with. For Heroes with a Ballista or First Aid Tent, the second stack entry holds the creature ID for either War Machine.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Baronus
Baronus


Supreme Hero
posted October 01, 2016 07:03 PM
Edited by Baronus at 19:11, 01 Oct 2016.

0x43dbb0 give me epty area? Is it correct? Or is it 0x3dbb0?

You must changed their specialty. Its hardcodded. I think if hero has specialty it automaticly give him machine.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
OxFEA
OxFEA


Promising
Famous Hero
feanor on DF2.ru
posted October 01, 2016 08:07 PM

Maurice said:

I think I know where, but I need to experiment a little with it to know for sure. If you look within the .exe file, starting from address 279DD0, you have sets of 92 bytes each, describing the starting setup for each Hero. It also lists the creature type of the 3 possible stacks that a Hero starts with. For Heroes with a Ballista or First Aid Tent, the second stack entry holds the creature ID for either War Machine.

Yes, it is here.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 01, 2016 08:22 PM
Edited by Maurice at 21:26, 03 Oct 2016.

I've since learned that you can only add the War Machine on creature slot 2. If you place it in 1 or 3, it's being added to the battlefield as if it's a creature . That is, for one battle, because after the battle it disappears. Only when you put it in slot 2 does it get put into the proper Artifact slot.

Anyway, to add the Ballista to those four Heroes:
Vokial, 0x27B554h: Change the 3A there to 92. This replaces Vokial's Walking Dead stack.
Zubin, 0x27C4C8h: Change the 56 there to 92. This replaces Zubin's Wolf Riders stack.
Pasis, 0x27CBF8h: Change the 70 there to 92. This replaces one of Pasis' Air Elementals stacks.
Ignissa, 0x27CCB0h: Change the 70 there to 92. This replaces Ignissa's Air Elementals stack.

@0xFEA:

I found this little piece of information on one of your forum links (translated from Russian to English using Google Translate ):
Quote:
679DD0h - an array of characters start parameters. 5Ch bytes per character structure. Data:
1. Gender
2.?
3. class
4. The first starter Skill
5. The level of the first launch of skill
6. The second starter Skill
7. The level of the start of the second skill
8. The Book of Spells: yes / no
9. Start a spell
10. Start the army, creature type, slot №1
11. Start the army, creature type, slot №2
12. Start the army, creature type, slot №3
13. The reference to the name of the small portrait
14. The reference to the name of a large portrait
15. ? (Reminiscent of the prohibition / available for hire, but not noticed a change effect)
Other data (16-23) is always zero, what is needed - is unknown.


I am not sure if you've already figured out the meaning of the second DWORD value (the one highlighed, with the questionmark), but it's the Hero's race. I don't know if it's being used ingame, though, as it's set to Human for all Conflux Heroes. Anyway, racial list:

0 = Demon
1 = Dwarf
2 = Efreeti
3 = Elf
4 = Genie
5 = Gnoll
6 = Goblin
7 = Human
8 = Lich
9 = Lizardman
10 = Minotaur
11 = Ogre
12 = Troglodyte
13 = Vampire

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Sav
Sav


Known Hero
posted October 01, 2016 09:11 PM

Maurice said:
I am not sure if you've already figured out the meaning of the second WORD value (the one highlighed, with the questionmark), but it's the Hero's race. I don't know if it's being used ingame, though, as it's set to Human for all Conflux Heroes. Anyway, racial list:

0 = Demon
1 = Dwarf
2 = Efreeti
3 = Elf
4 = Genie
5 = Gnoll
6 = Goblin
7 = Human
8 = Lich
9 = Lizardman
10 = Minotaur
11 = Ogre
12 = Troglodyte
13 = Vampire

Interesting information, thanks. Haven't known it before.
Yes, this field seems to be unused, but it is good to understand its meaning anyway.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Supreme Hero
Heroes is love, Heroes is life
posted October 02, 2016 12:26 AM

Maurice said:

Anyway, to add the Ballista to those four Heroes:
Vokial, 0x27B554h: Change the 3A there to 92. This replaces Vokial's Walking Dead stack.
Zubin, 0x27C4C8h: Change the 56 there to 92. This replaces Zubin's Wolf Riders stack.
Pasis, 0x27CBF8h: Change the 70 there to 92. This replaces one of Pasis' Air Elementals stacks.
Ignissa, 0x27CCB0h: Change the 70 there to 92. This replaces Ignissa's Air Elementals stack.

Thanks Maurice, you are absolutely awesome.
That was very easy btw.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Pollo2002
Pollo2002


Known Hero
posted October 03, 2016 03:11 AM
Edited by Pollo2002 at 03:12, 03 Oct 2016.

Im actually looking for ERA advice, but since you are talking about hex editing, and I think hex editing is what i need, I wonder if someone know the adress to modify to change the object value the RMG uses?
Hota did modify those values, so clearly someone knows them.

Also Im trying to find a way to add a Tower to FORT battles.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 03, 2016 10:17 AM
Edited by Maurice at 10:18, 03 Oct 2016.

Pollo2002 said:
Im actually looking for ERA advice, but since you are talking about hex editing, and I think hex editing is what i need, I wonder if someone know the adress to modify to change the object value the RMG uses?
Hota did modify those values, so clearly someone knows them.


You mean when generating the map, the value the RMG considers for each and every map object placed on the map?

Quote:
Also Im trying to find a way to add a Tower to FORT battles.


That's the base level fortification; you simply want to add one of the smaller side towers?
____________
The last Reasonable Steward of Good Game Design and a Responsible Hero of HC. - Verriker

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Pollo2002
Pollo2002


Known Hero
posted October 03, 2016 11:58 AM

Maurice said:
Pollo2002 said:
Im actually looking for ERA advice, but since you are talking about hex editing, and I think hex editing is what i need, I wonder if someone know the adress to modify to change the object value the RMG uses?
Hota did modify those values, so clearly someone knows them.


You mean when generating the map, the value the RMG considers for each and every map object placed on the map?

Quote:
Also Im trying to find a way to add a Tower to FORT battles.


That's the base level fortification; you simply want to add one of the smaller side towers?


Yes to the first question.

Base level fortification contains no tower, Citadel adds moat and tower, I want to have tower at fort.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 03, 2016 12:32 PM

Ah ok, so Fort gives the two small towers at the base and top, Citadel gives the moat and Castle gives the central tower?
____________
The last Reasonable Steward of Good Game Design and a Responsible Hero of HC. - Verriker

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Pollo2002
Pollo2002


Known Hero
posted October 03, 2016 02:15 PM

Fort gives the wall.
Citadel gives a moat and a central tower.
Castle gives the side towers.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 03, 2016 02:20 PM

Ah, I mixed up a few things, I realise now. So, what you want is this:

Fort gives Wall and Central Tower
Citadel gives Moat
Castle gives 2 side Towers

Right?
____________
The last Reasonable Steward of Good Game Design and a Responsible Hero of HC. - Verriker

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Pollo2002
Pollo2002


Known Hero
posted October 03, 2016 03:39 PM

Yes, Exactly.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Supreme Hero
Heroes is love, Heroes is life
posted October 03, 2016 08:31 PM
Edited by phoenix4ever at 20:56, 03 Oct 2016.

I think I've have asked this before, but do you know where to change the heroes specialities?
I think it is done in HeroSpec.txt, but I also need to change the speciality icons somewhere...
And do you know if it is possible to change a heroes class?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted October 03, 2016 09:20 PM
Edited by Maurice at 21:42, 03 Oct 2016.

phoenix4ever said:
I think I've have asked this before, but do you know where to change the heroes specialities?
I think it is done in HeroSpec.txt, but I also need to change the speciality icons somewhere...
And do you know if it is possible to change a heroes class?


Hero Class is simple. I don't know the others - yet. I will have to figure out where that stuff is stored. Currently I am trying to make sense of the Town structure though (related to the subroutine that handles spell randomisation when a map is started). Already learned a number of interesting things, but I'm not done there yet.

Hero byte strings within the .exe file are located from 0x279DD0h onwards:

Castle - Knight
279DD0 Orrin
279E2C Valeska
279E88 Edric
279EE4 Sylvia
279F40 Lord Haart (the original one, not the Undead version)
279F9C Sorsha
279FF8 Christian
27A054 Tyris

Castle - Cleric
27A0B0 Rion
27A10C Adela
27A168 Cuthbert
27A1C4 Adelaide
27A220 Ingham
27A27C Sanya
27A2D8 Loynis
27A334 Caitlin

Rampart - Ranger
27A390 Mephala
27A3EC Ufretin
27A448 Jenova
27A4A4 Ryland
27A500 Thorgrim
27A55C Ivor
27A5B8 Clancy
27A614 Kyrre

Rampart - Druid
27A670 Coronius
27A6CC Uland
27A728 Elleshar
27A784 Gem (not sure which version)
27A7E0 Malcom
27A83C Melodia
27A898 Alagar
27A8F4 Aeris

Tower - Alchemist
27A950 Piquedram
27A9AC Thane
27AA08 Josephine
27AA64 Neela
27AAC0 Torosar
27AB1C Fafner
27AB78 Rissa
27ABD4 Iona

Tower - Wizard
27AC30 Astral
27AC8C Halon
27ACE8 Serena
27AD44 Daremyth
27ADA0 Theodorus
27ADFC Solmyr
27AE58 Cyra
27AEB4 Aine

Inferno - Demoniac
27AF10 Fiona
27AF6C Rashka
27AFC8 Marius
27B024 Ignatius
27B080 Octavia
27B0DC Calh
27B138 Pyre
27B194 Nymus

Inferno - Heretic
27B1F0 Ayden
27B24C Xyron
27B2A8 Axsis
27B304 Olema
27B360 Calid
27B3BC Ash
27B418 Zydar
27B474 Xarfax

Necropolis - Death Knight
27B4D0 Straker
27B52C Vokial
27B588 Moandor
27B5E4 Charna
27B640 Tamika
27B69C Isra
27B6F8 Clavius
27B754 Galthran

Necropolis - Necromancer
27B7B0 Septienna
27B80C Aislinn
27B868 Sandro
27B8C4 Nimbus
27B920 Thant
27B97C Xsi
27B9D8 Vidomina
27BA34 Nagash

Dungeon - Overlord
27BA90 Lorelei
27BAEC Arlach
27BB48 Dace
27BBA4 Ajit
27BC00 Damacon
27BC5C Gunnar
27BCB8 Synca
27BD14 Shakti

Dungeon - Warlock
27BD70 Alamar
27BDCC Jaegar
27BE28 Malekith
27BE84 Jeddite
27BEE0 Geon
27BF3C Deemer
27BF98 Sephinroth
27BFF4 Darkstorn

Stronghold - Barbarian
27C050 Yog
27C0AC Gurnisson
27C108 Jabarkas
27C164 Shiva
27C1C0 Gretchin
27C21C Krellion
27C278 Crag Hack
27C2D4 Tyraxor

Stronghold - Battle Mage
27C330 Gird
27C38C Vey
27C3E8 Dessa
27C444 Terek
27C4A0 Zubin
27C4FC Gundula
27C558 Oris
27C5B4 Saurug

Fortress - Beastmaster
27C610 Bron
27C66C Drakon
27C6C8 Wystan
27C724 Tazar
27C780 Alkin
27C7DC Korbac
27C838 Gerwulf
27C894 Broghild

Fortress - Witch
27C8F0 Mirlanda
27C94C Rosic
27C9A8 Voy
27CA04 Verdish
27CA60 Merist
27CABC Styg
27CB18 Andra
27CB74 Tiva

Conflux - Planeswalker
27CBD0 Pasis
27CC2C Thunar
27CC88 Ignissa
27CCE4 Lacus
27CD40 Monere
27CD9C Erdamon
27CDF8 Fiur
27CE54 Kalt

Conflux - Elementalist
27CEB0 Luna
27CF0C Brissa
27CF68 Ciele
27CFC4 Labetha
27D020 Inteus
27D07C Aenain
27D0D8 Gelare
27D134 Grindan

Special Heroes and Campaign Heroes
27D190 Sir Mullich
27D1EC Adrienne
27D248 Catherine
27D2A4 Dracon
27D300 Gelu
27D35C Kilgor
27D3B8 Lord Haart (the Undead version)
27D414 Mutare Drake
27D470 Roland
27D4CC Mutare
27D528 Boragus
27D584 Xeron

Each Hero byte string is 92 bytes long, though not all bytes are used. The values that are used are grouped per 4 bytes for each value (note that these are in HEX format!):

Bytes 1 - 4: Gender (0 = male, 1 = female)
Bytes 5 - 8: Race (see the listing I made up above, in an earlier post)
Bytes 9 - 12: Class (see the above listing of Hero names for the enumeration, starting from 0x00 counting up to 0x11 for Elementalists)
Bytes 13 - 16: First skill (the bytes refer to the Skill ID)
Bytes 17 - 20: Level of that skill (1 = Basic, 2 = Advanced, 3 = Expert)
Bytes 21 - 24: Second skill
Bytes 25 - 28: Level of that skill
Bytes 29 - 32: Does the Hero start with a spellbook? (0 = no, 1 = yes)
Bytes 33 - 36: Spell ID of the starting spell in that spellbook
Bytes 37 - 40: Creature type ID for the first starting stack
Bytes 41 - 44: Creature type ID for the second starting stack; note that if the Hero starts with a War Machine, this entry contains the War Machine reference (91 = Catapult , 92 = Ballista, 93 = First Aid Tent, 94 = Ammo Cart)
Bytes 45 - 48: Creature type ID for the third starting stack
Bytes 49 - 52: Address reference to the name of the small Hero portrait
Bytes 53 - 56: Address reference to the name of the large Hero portrait
Byte 57, 58 and 59: appear to have something to do with being recruitable or not, but changing these doesn't seem to matter anything ingame. Probably leftover from earlier designs?
Bytes 60 - 92: always zero, probably unused.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 13 pages long: 1 2 3 4 5 6 7 8 9 10 11 12 13 · «PREV / NEXT»
Post New Poll Post New Topic Post New Reply

Page compiled in 0.1040 seconds