Объявления

Форум о Героях Меча и Магии и King's Bounty. Если Вы любите эти игры, мы будем рады видеть Вас в наших рядах. :smile2:.

Пользовательские плагины для HD мода

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineSerp
 
Сообщения: 8
Зарегистрирован: 05 окт 2017, 11:21
Поблагодарили: 13 раз.

Re: Пользовательские плагины для HD мода

Сообщение Serp » 28 окт 2017, 14:25

Authors:
RoseKavalier, Serp

Titel:
SpritesMageGuild1Dependency_Serp

Description:
Upgrading the Conflux magic lantern (from Pixies to Sprites) has only Mage Guild 1 as dependency. No Magic University, like it is in HoTA 1.42.

Works also in Multiplayer. Every player should have this plugin installed/uninstalled, to not mess up the game.
Tested only with HoTA.
(I added _Serp to my mods to make sure they have a unique name, so there will be no conflicts)

Code and includes taken from RoseKavaliers example here:
https://github.com/RoseKavalier/homm3_p ... s/main.cpp

 Code
Код: Выделить всё
#include "includes\homm3.h"

Patcher* _P; // required for every plugin
PatcherInstance* _PI;
static _bool_ plugin_On = 0;

int __stdcall new_town_dependencies(LoHook *h, HookContext *c)
{
   // IDs see town_dependencies.h file
   o_TownDependencies->ChangeDependency(TOWN_ID_CONFLUX, BLD_ID_DWELL1U, BLD_REQ_MAGE1); // town, building, dependencies seperated by |
   return EXEC_DEFAULT;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
    if ( DLL_PROCESS_ATTACH == ul_reason_for_call )
    {
        if (!plugin_On)
        {
            plugin_On = 1;
            _P = GetPatcher();
            _PI = _P->CreateInstance("HD.Plugin.SpritesMageGuild1Dependency_Serp");
           
         _PI->WriteLoHook(0x4EEA79, new_town_dependencies); // right after big HotA DLL modifications
        }
    }
    return TRUE;
}
Вложения
SpritesMageGuild1Dependency_Serp.zip
(4.43 КБ) Скачиваний: 18
Последний раз редактировалось Serp 28 окт 2017, 21:10, всего редактировалось 1 раз.
Вернуться к началу

offlineSerp
 
Сообщения: 8
Зарегистрирован: 05 окт 2017, 11:21
Поблагодарили: 13 раз.

Re: Пользовательские плагины для HD мода

Сообщение Serp » 28 окт 2017, 14:52

Authors:
RoseKavalier, Serp

Titel:
FirebirdsImmuneFireMagic_Serp

Description:
Firebirds are again immune to fire magic (in HotA 1.42 they normally only have 50% damage reduction).
Does NOT change firebirds description, so it will still show the 50% damage reduction!
Also it does not change the AI value back to orignal.
Comment from phoenix4ever:
"don't forget to change Firebird AI Value, in crtraits.txt, from 4336 -> 4547 like in original game."
(If I find out how to do this in plugin, I may add a version 2 of the plugin to this post)

Works also in Multiplayer. Every player should have this plugin installed/uninstalled, to not mess up the game.
Tested only with HoTA.
(I added _Serp to my mods to make sure they have a unique name, so there will be no conflicts)

 Code
Код: Выделить всё
#include "includes\homm3.h"

Patcher* _P; // required for every plugin
PatcherInstance* _PI;
static _bool_ plugin_On = 0;

int __stdcall firebirdsimmunefiremagic(LoHook *h, HookContext *c)
{
   o_pCreatureInfo[CID_FIREBIRD].flags = 0x409B;
   return EXEC_DEFAULT;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
    if ( DLL_PROCESS_ATTACH == ul_reason_for_call )
    {
        if (!plugin_On)
        {
            plugin_On = 1;
            _P = GetPatcher();
            _PI = _P->CreateInstance("HD.Plugin.FirebirdsImmuneFireMagic_Serp");
           
         _PI->WriteLoHook(0x4EEA79, firebirdsimmunefiremagic); // right after big HotA DLL modifications
        }
    }
    return TRUE;
}
Вложения
FirebirdsImmuneFireMagic.zip
(4.29 КБ) Скачиваний: 17
Вернуться к началу

Пред.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron