|
|
shev441
Adventuring Hero
|
posted December 19, 2021 10:22 PM |
|
Edited by shev441 at 22:27, 19 Dec 2021.
|
ok i have found it and changed it, i dont know why note pad was not able to find it via find function
still its not working. I have already newset version of hd mod, i play vanila sod and i have removed and added once again this plugin, Still there are not any new spells in game
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 19, 2021 10:27 PM |
|
Edited by AlexSpl at 22:28, 19 Dec 2021.
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 19, 2021 10:51 PM |
|
|
Well, I have another guess. Check if you copied NewSpells folder into NewSpells folder you created manually. You should have one NewSpells folder in Packs. NewSpells with files, not NewSpells with NewSpells folder
|
|
shev441
Adventuring Hero
|
posted December 19, 2021 10:57 PM |
|
|
I works now, it was what haVE caused a problem , thank you
any plans for different plugins in the future?
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 19, 2021 11:00 PM |
|
Edited by AlexSpl at 23:00, 19 Dec 2021.
|
You can find a lot of plugins here, created by different authors. We are the community of dedicated gamers and modders, so it's quite possible that your idea will be transformed into a plugin
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 24, 2021 09:55 PM |
|
Edited by AlexSpl at 22:27, 24 Dec 2021.
|
Remember your first time when you were amazed by the fact pikemen can stand against cavalry? Now, there are two special features for Explosion and Incineration spells. Guess what they do You don't have a complete manual anyway, that's how things were back then.
This is the (almost) original class I use in the plugin -
class type_AI_spellcaster
{
public:
type_AI_spellcaster* (__thiscall** VMT)(void*, char); // 0x000
Hero* current_hero; // 0x004
Hero* enemy_hero; // 0x008
long our_group; // 0x00C
long enemy_group; // 0x010
long enemy_can_attack; // 0x014
long can_be_attacked; // 0x018
bool win_likely; // 0x01C
bool is_creature_spell; // 0x01D
type_AI_combat_parameters estimate; // 0x020
type_AI_spellcaster *enemy_caster; // 0x048
bool owns_enemy_caster; // 0x04C
type_AI_enemy_data melee_enemies[20]; // 0x050
type_AI_enemy_data ranged_enemies[20]; // 0x190
type_AI_enemy_data worst_enemies[20]; // 0x2D0
// 0x410
inline int get_attack_skill_value(Army* const army, Army* const enemyArmy, int spellDuration, int effect) const {
return CALL_5(int, __thiscall, 0x437450, this, army, enemyArmy, spellDuration, effect);
}
inline int get_defense_skill_value(Army* const army, int spellDuration, int effect) const {
return CALL_4(int, __thiscall, 0x438560, this, army, spellDuration, effect);
}
int (type_AI_spellcaster::*type_AI_spellcaster::get_enchantment_function(SpellID spell) const)(Army* const, type_enchant_data) const;
int get_poison_value(Army* const army, type_enchant_data data) const;
int get_disease_value(Army* const army, type_enchant_data data) const;
int get_age_value(Army* const army, type_enchant_data data) const;
int get_fear_value(Army* const army, type_enchant_data data) const;
int get_death_blow_value(Army* const army, type_enchant_data data) const;
int get_drain_life_value(Army* const army, type_enchant_data data) const;
int get_toughness_value(Army* const army, type_enchant_data data) const;
int get_behemoths_claws_value(Army* const army, type_enchant_data data) const;
int unimplemented(Army* const army, type_enchant_data data) const;
};
This is not hex-editing, we can really add new spells to the game, and, as a bonus, AI will understand them. Moreover, you can add your own spells (basic knowledge of C++ is a big plus). Also we need great animations and sounds, and if you accidently are (the, an, or accidently isn't in its place) one of those people that have affinity with arts and also love Heroes as we do, we can collaborate to bring a new cool spell into the game.
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 24, 2021 11:02 PM |
|
Edited by AlexSpl at 00:07, 25 Dec 2021.
|
Also I ought to add that most of spells your conservative minds can imagine, have very simple implementations. You will even say wow how simple is that. But our plugin is open to challenging spells also, so if you have a cool idea post it.
Think, for example, of such spells which turn your troops into undead once they were destroyed, or those that slow down any adjacent enemies, or think of Disease which will be transmitted to any adjacent units, both allies and enemies. I don't think that existing spells are boring, but we are not in 1999 anymore, we've seen another games with cool spells (this is how the spell Age works in real life - you can't admire what you were crazy about then anymore). So, if you believe in that you can really have a trip to the past, and want it, it's about time to propose your ideas for that trip while someone alike wants the same
Also our plugin is highly customizable. If you don't like Fear (which I personally am a fan of) or Age, you can always disable them or even get rid off, don't think of the example set of spells, it's just an example, proof-of-concept. Don't hate it for the spells which were implemented already, it's not about them, it's about *new* spells
P.S. English is hard
|
|
Alyx182008
Adventuring Hero
|
posted December 26, 2021 09:53 PM |
|
|
AlexSpl said: Updated the plugin. As savegames format changed because of new spell Mobility, don't use old savegames with this plugin.
Just noticed a consequence of this: HD mod's option to "Save all days (for tournaments)" no longer works.
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 26, 2021 11:15 PM |
|
Edited by AlexSpl at 23:25, 26 Dec 2021.
|
Thank you for the report. Most probably the HD mod uses hardcoded (in one of its dlls) file extensions for savegames. I will see if it's possible to fix this issue.
Maybe I'll even revert to standard extensions with additional checks if a savegame is compatible with the plugin's savegame format.
|
|
Alyx182008
Adventuring Hero
|
posted December 27, 2021 09:24 AM |
|
|
The weird part is that the "Save before battle" works just fine. HD mod must handle them differently I guess.
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 27, 2021 04:26 PM |
|
|
Indeed, the HD mod uses its own strings for file extensions. So, I'll think about how to prevent users from loading standard savegames without changing extensions.
|
|
AlexSpl
Responsible
Supreme Hero
|
posted December 29, 2021 08:40 PM |
|
|
Quote: HD mod must handle them differently I guess.
What does really happen when you end your turn with the 'Save all days' option (I think, autosaves before battles work the same way)? First, you get an ordinary autosave, then the HD mod renames (copies) it according to its naming rules. And here we have a problem - the HD mod uses the standard extensions for savegames you can't easily intercept. Either you patch a dll (which is not a good solution), or you have to live with it and think about another solution to prevent users from loading standard savegames. There's no any interface for modders when we speak about the HD mod features. Good news the HD mod actually saves games but with the standard (hardcoded extensions), you can even rename them by adding the leadind 'x' to the extension and successfully load. But userwise it's unacceptable solution. We need some sort of a primitive API to work with the HD mod features, this would be the best solution for modders. Until then, your patches will be broken by the next major HD mod update, or you have to invent different approaches to solve a problem, in my case a different approach is not the best and user-friendly. Well, I'll come up with something of course, but it will not be nearly as good as to legally change the HD mod features via a dedicated API.
|
|
LoneHero
Tavern Dweller
|
posted January 21, 2022 08:43 AM |
|
|
Fantastic plugin and addition to a fantastic game.
I have tested it several times and it works great. I have not yet experienced any technical issues, every spell worked just as it should.
The more plugins and add ons like this one, the better!
Kudos!
|
|
AlexSpl
Responsible
Supreme Hero
|
posted January 21, 2022 09:24 AM |
|
Edited by AlexSpl at 09:27, 21 Jan 2022.
|
Just a note for whom it may concern
Thanks
The latest version of the HD mod introduced some changes to Battle Queue, so if you have any issues/crashes before/in battle, do as described here.
Also, there's New Spells Plugin v1.03f on the way. Nothing new in it, though, just some optimizations (incl. AI).
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted February 26, 2022 02:31 PM |
|
|
@AlexSPL
I implemented features of your plugin into my plugin Grandmaster_Magic
the plugin is a plugin for ERA and have much more capabilities than new spells (all regarding magic)
|
|
heymlich
Famous Hero
|
posted March 01, 2022 01:54 PM |
|
|
AlexSpl said: We really need a good idea for a new adventure spell.
Maybe add a penalty to morale/luck for the next fight?
|
|
Szaman
Known Hero
|
posted March 21, 2022 05:31 PM |
|
Edited by Szaman at 01:25, 23 Mar 2022.
|
Any chances that you will add this "water shield" spell in some update or separately? I Know your link to your native forum, but google translator dosen't make a good translations and i can't do it myself
EDIT:
@AlexSpl
Do you still add new spells? Back in the days (like 4-5 years ago) i have made some new spells for ERA but never finished it.
The Animations and icons are done. They just need to be coded.
Have a Look..
|
|
AlexSpl
Responsible
Supreme Hero
|
posted March 24, 2022 05:40 PM |
|
|
Quote: Back in the days (like 4-5 years ago) i have made some new spells for ERA but never finished it.
Well done
If you provide me with all necessary assets and descriptions of your spells, I'll try to code them, but I can't promise anything as I'm not into it recently. Maybe quality animations could change my mood
|
|
Szaman
Known Hero
|
posted March 30, 2022 02:46 AM |
|
|
AlexSpl said:
Quote: If you provide me with all necessary assets and descriptions of your spells, I'll try to code them, but I can't promise anything as I'm not into it recently. Maybe quality animations could change my mood
Sorry for my absence i have a busy weekend. What exactly do you need?
I have:
-Spell Animations
-Spell book icons
-Scroll Icons
-Mage Guild icons
-Spell Descriptions... not necessary i have started them but never finish, but that's the less problem.
I will provide you with 2 spells for start. Where i have 100% done everything there.
Just give me a day to gather everything in one package, my hard disk is a mess, to find anything there
|
|
Liso1
Known Hero
|
posted March 30, 2022 10:03 AM |
|
|
Today I wanted to try your plugin again, but after installation, the game will crash immediately when I go to fight. New spells are in spell book.
If I turn off the plugin, the game works normally.
Any idea where the problem might be?
CRASHLOG
[HOMM3 HD CRASH LOG]
Log
{
compability_dir = D:gog gamesHoMM 3 Complete_HD3_DataCompability#com_en
EXE_VERSION & SOD
No Files.ini for 'D:gog gamesHoMM 3 Complete_HD3_DataCompability#com_en'
No Files.ini for 'D:gog gamesHoMM 3 Complete_HD3_DataPacksNewSpells'
}
HOMM3 HD version: 5.3 R1
Time { 03/30/2022 09:58:26 }
GUN: [6 Z46PADHGGLHSRYZ WG98ZXZ799]
Exception
{
Module: HD_SOD.dll
Adress: [ HD_SOD.dll+0x2321C ]
Code: EXCEPTION_ACCESS_VIOLATION
Flags: 0x00000000
Information: write of address: 0x54E58430
}
Context { EAX: 0x04F32838, ECX: 0x01EA0000, EDX: 0x001979C4, EBX: 0x04F32838, ESP: 0x00197970, EBP: 0x001979AC, ESI: 0x0CC7A050, EDI: 0x001989E8 }
Call stack
{
[ HD_SOD.dll+0x231B0 ] called from [ HD_SOD.dll+0x23A1E ]
[ HD_SOD.dll+0x239D0 ] called from [ HD_SOD.dll+0x25CB0 ]
[ HD_SOD.dll+0x25980 ] called from [ 0x009E5DCD ]
[ 0x00472D30 ] called from [ 0x00474B88 ]
? called from before [ HD_SOD.dll+0x217C6 ]
[ HD_SOD.dll+0x21770 ] called from [ 0x009E6716 ]
? called from before [ HD_SOD.dll+0x24081 ]
[ HD_SOD.dll+0x24030 ] called from [ 0x009E5CAA ]
[ HD_SOD.dll+0x262B0 ] called from [ 0x009E5EF1 ]
[ HD_SOD.dll+0x52F50 ] called from [ 0x009E6EE3 ]
? called from before [ 0x00198978 ]
? called from before [ 0x00000000 ]
? called from before [ 0x00000001 ]
}
Call stack V2
{
02D6321C (HD_SOD: 02D40000): (?): (?)
02D63A23 (HD_SOD: 02D40000): (?): (?)
02D65CB5 (HD_SOD: 02D40000): (?): (?)
009E5DD2 (?): (?): (?)
00474B8D (Heroes3: 00400000): (?): (?)
02D617C6 (HD_SOD: 02D40000): (?): (?)
009E671B (?): (?): (?)
02D64081 (HD_SOD: 02D40000): (?): (?)
009E5CAF (?): (?): (?)
009E5EF6 (?): (?): (?)
009E6EE8 (?): (?): (?)
5D304451 (patcher_x86: 5D2F0000): (?): (?)
009E7956 (?): (?): (?)
009E7964 (?): (?): (?)
004B0A6A (Heroes3: 00400000): (?): (?)
004ADFE8 (Heroes3: 00400000): (?): (?)
02D666E3 (HD_SOD: 02D40000): (?): (?)
009E5F3F (?): (?): (?)
009E79AD (?): (?): (?)
004A690C (Heroes3: 00400000): (?): (?)
004A7547 (Heroes3: 00400000): (?): (?)
004A947A (Heroes3: 00400000): (?): (?)
004AA76B (Heroes3: 00400000): (?): (?)
0040804E (Heroes3: 00400000): (?): (?)
0040AA36 (Heroes3: 00400000): (?): (?)
00409930 (Heroes3: 00400000): (?): (?)
02D5DF59 (HD_SOD: 02D40000): (?): (?)
5D30460F (patcher_x86: 5D2F0000): (?): (?)
004089B0 (Heroes3: 00400000): (?): (?)
009E2FC0 (?): (?): (?)
02D5ED63 (HD_SOD: 02D40000): (?): (?)
009E2F3C (?): (?): (?)
009E0480 (?): (?): (?)
004F051B (Heroes3: 00400000): (?): (?)
02D5FFFE (HD_SOD: 02D40000): (?): (?)
009E38AD (?): (?): (?)
1000F075 (_HD3_: 10000000): (?): HdCommon_Set
009E0067 (?): (?): (?)
76C4FA29 (KERNEL32: 76C30000): (?): BaseThreadInitThunk
77AA7A7E (ntdll: 77A40000): (?): RtlGetAppContainerNamedObjectPath
77AA7A4E (ntdll: 77A40000): (?): RtlGetAppContainerNamedObjectPath
}
Modules
{
0x00400000: Heroes3.exe (size: 0x002CD000, entry point: 0x0061A884) - D:gog gamesHoMM 3 Complete_HD3_DataHeroes3.exe
0x10000000: _HD3_.dll (size: 0x0004A000, entry point: 0x1001B3AC) - D:gog gamesHoMM 3 Complete_HD3_.dll
0x5D2F0000: patcher_x86.dll (size: 0x00083000, entry point: 0x5D309B0D) - D:gog gamesHoMM 3 Completepatcher_x86.dll
0x00810000: smackw32.dll (size: 0x0001B000, entry point: 0x0081C0B0) - D:gog gamesHoMM 3 Completesmackw32.dll
0x00940000: binkw32.dll (size: 0x0002B000, entry point: 0x00951705) - D:gog gamesHoMM 3 Completebinkw32.dll
0x00970000: IFC20.dll (size: 0x00023000, entry point: 0x0097F04E) - D:gog gamesHoMM 3 CompleteIFC20.dll
0x5D380000: HD_UPD.dll (size: 0x00046000, entry point: 0x5D3854B5) - D:gog gamesHoMM 3 CompleteHD_UPD.dll
0x5D2A0000: HD_VGL2.dll (size: 0x0004E000, entry point: 0x5D2AF9A4) - D:gog gamesHoMM 3 CompleteHD_VGL2.dll
0x02970000: HD_TC2.dll (size: 0x003CC000, entry point: 0x0297C116) - D:gog gamesHoMM 3 CompleteHD_TC2.dll
0x024D0000: HD_SCX2.dll (size: 0x0001D000, entry point: 0x024D5102) - D:gog gamesHoMM 3 CompleteHD_SCX2.dll
0x02D40000: HD_SOD.dll (size: 0x01100000, entry point: 0x02E3788F) - D:gog gamesHoMM 3 CompleteHD_SOD.dll
0x02500000: HW_SOD.dll (size: 0x00051000, entry point: 0x02532687) - D:gog gamesHoMM 3 CompleteHW_SOD.dll
0x21100000: Mss32.dll (size: 0x0005F000, entry point: 0x2112F2E5) - D:gog gamesHoMM 3 Complete_HD3_DataMss32.dll
0x5D1B0000: cursors.dll (size: 0x0004A000, entry point: 0x00000000) - D:gog gamesHoMM 3 Complete_HD3_DataCommoncursors.dll
0x60CE0000: NewSpells.dll (size: 0x00014000, entry point: 0x60CE726F) - D:gog gamesHoMM 3 Complete_HD3_DataPacksNewSpellsNewSpells.dll
0x26F00000: Mp3dec.asi (size: 0x0002A000, entry point: 0x26F0A805) - D:gog gamesHoMM 3 Complete_HD3_DataMp3dec.asi
}
Command Line
{
<#com_en>
}
____________
Heroes 3 Wake of Gods Portal
|
|
|
|