dosinabox / g2nr_unofficial_update

Исходники скриптов, релизы, хотфиксы и тестовые версии неофициального обновления для игры "Готика 2: Ночь Ворона".
https://worldofplayers.ru/threads/36817
The Unlicense
15 stars 2 forks source link

Spell_Logic_Firerain #518

Closed Kor-Angar closed 1 year ago

Kor-Angar commented 1 year ago

в новой спеллогик идёт переключение уровня заклинания

https://github.com/dosinabox/g2nr_unofficial_update/blob/a6c698a4458b6470d91f9658867d7c20c019cf58/PrjGOTHIC/AI/Magic/Spells/Spell_FireRain.d#L29

при установки фикса на магию от Slavemaster при расчёта урона стал учитываться уровень заклинания. таким образом урон увеличился в два раза с 500 до 1000, что стало влиять на баланс игры.

решением может быть изменения значения константы при инициализации игры и/или мира через проверку на то стоит ли плагин Slavemaster или нет.

dosinabox commented 1 year ago

Прошу протестировать возможное исправление:

func int Spell_Logic_Firerain(var int manaInvested)
{
    if(UnionActivated == TRUE)
    {
        SPL_Damage_FireRain = 250;
    };
    if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
    {
        if(manaInvested == 0)
        {
            return SPL_NEXTLEVEL;
        };
        return SPL_SENDCAST;
    }
    else if(self.attribute[ATR_MANA] >= SPL_Cost_Firerain)
    {
        if(manaInvested == 0)
        {
            return SPL_NEXTLEVEL;
        };
        return SPL_SENDCAST;
    };
    return SPL_SENDSTOP;
};
dosinabox commented 1 year ago

при установки фикса на магию от Slavemaster

zSpellCollisionFix.patch или zSpellPropagationFix.patch?

Kor-Angar commented 1 year ago

твой вариант работать не должен.

Kor-Angar commented 1 year ago

Прошу протестировать возможное исправление:

твой вариант работать не должен.

проверку надо засунуть или в загрузку игры или в загрузку мира.

    if(UnionActivated == TRUE)
    {
        SPL_Damage_FireRain = 250;
    };

то есть или сюда

    func event GameInit() 
    {
                Hlp_PrintConsole ("GameInit");
        SPL_Damage_FireRain = 250;
    };

или сюда

func void INIT_GLOBAL()
{
    if(UnionActivated == TRUE)
    {
        SPL_Damage_FireRain = 250;
    };
    // wird fuer jede Welt aufgerufen (vor INIT_<LevelName>)
    Game_InitGerman();
};

внутри спел логик урон уже не поменять. это надо делать до начала каста.

Kor-Angar commented 1 year ago

это надо делать до начала каста.

а может и до активации спела.

Kor-Angar commented 1 year ago

zSpellCollisionFix.patch или zSpellPropagationFix.patch?

этого я их не знаю. кстати то что огненный дождь должен наносить урон * уровень, видно из примечаний в MDK G1. это и объясняет "слабость" дождя в Г1, так как из некорректной работы урон у него фактически оказался в два раза ниже планируемого.

dosinabox commented 1 year ago

твой вариант работать не должен.

В целом, работает и сойдет как костыль. Но действительно, лучше сделать как-то иначе.

Kor-Angar commented 1 year ago

очень странно. вечером посмотрю почему он работает. наверное он перебивает цифры для второго и следующих кастов.

dosinabox commented 1 year ago

и правда, только для второго и следующих

Kor-Angar commented 1 year ago

Да. Поэтому я топик отдельный про увеличения урона и делал :-) В целом я думаю при инициализации игры можно делать. Это если стоит юнион. А если юнион нет, то и менять не надо :-) 20:27, 25 мая 2023 г., AK @.***>: и правда, только для второго и следующих

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты

dosinabox commented 1 year ago

а Волна смерти с такой же проблемой?

Kor-Angar commented 1 year ago

Нет. У неё же первый уровень. Или ты её меняла? :-) 14:56, 27 мая 2023 г., AK @.***>: а Волна смерти с такой же проблемой?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты

dosinabox commented 1 year ago

Там тоже теперь SPL_NEXTLEVEL

Kor-Angar commented 1 year ago

А там разве надо? 15:18, 27 мая 2023 г., AK @.***>: Там тоже теперь SPL_NEXTLEVEL

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты

dosinabox commented 1 year ago

для восстановления эффекта надо, да

Kor-Angar commented 1 year ago

Лучше проверить. У волны я такого не замечал. Пробуй на драконах. По моему она им наносит половину урону согласно условиям штрафа/бонуса. 15:47, 27 мая 2023 г., AK @.***>: для восстановления эффекта надо, да

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты

Kor-Angar commented 1 year ago

Можно ещё на троле её проверить 15:47, 27 мая 2023 г., AK @.***>: для восстановления эффекта надо, да

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты

Kor-Angar commented 1 year ago

Нежить волна убивать не должна 15:47, 27 мая 2023 г., AK @.***>: для восстановления эффекта надо, да

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты

dosinabox commented 1 year ago

Всё оказалось проще. Достаточно поместить вот такой .d файл в system/autorun мода:

//эта настройка нужна для адаптации мода под Union
//урон заклинания остается неизменным (500)
//не менять!
const int SPL_Damage_FireRain = 250;

Проверь Волну смерти, пожалуйста.

Kor-Angar commented 1 year ago

Всё оказалось проще. Достаточно поместить вот такой .d файл в system/autorun мода:

нужно как то проверять есть файл патч или нет.

Проверь Волну смерти, пожалуйста.

в неоф. обновелние?

Kor-Angar commented 1 year ago
System: Pre load plugins **
System: Load virtual file system
vdf: volume is loaded  23:59:58  31.12.2043  ? _delete_me.vdf
vdf: volume is loaded  15:38:16  04.06.2023  ? ka_g2_mw_sleep.vdf
vdf: volume is loaded  15:55:14  12.05.2023  ? zNPC_GETSPELLITEM.vdf
vdf: volume is loaded  17:41:58  13.04.2023  ? scriptpatch_ru.mod
vdf: volume is loaded  17:41:32  13.04.2023  ? scriptpatch.mod
vdf: volume is loaded  21:44:36  22.01.2023  ? zoldcontrol.vdf
vdf: volume is loaded  07:43:54  15.10.2022  ? zbugfixes.vdf
vdf: volume is loaded  21:04:58  14.08.2022  ? zpicklockanis.vdf
vdf: volume is loaded  23:04:28  08.08.2022  ? union_marvinhelper.vdf
vdf: volume is loaded  00:20:20  21.06.2022  ? union.vdf
vdf: volume is loaded  16:49:14  23.05.2022  ? scriptpatch_oldworld.mod
vdf: volume is loaded  21:22:32  07.04.2022  ? scriptpatch_speech_ru.mod
vdf: volume is loaded  13:30:02  19.12.2021  ? zParserExtender.vdf
vdf: volume is loaded  21:49:36  08.07.2021  ? gothicrichpresence.vdf
vdf: volume is loaded  12:49:38  16.01.2020  ? SystemPack.vdf
vdf: volume is loaded  12:00:00  05.01.2005  ? textures_widescreen.vdf
vdf: volume is loaded  02:06:00  22.09.2003  ? Speech_Addon_Patch.vdf
vdf: volume is loaded  10:22:58  01.08.2003  ? Worlds_Addon.vdf
vdf: volume is loaded  17:49:24  28.07.2003  ? Textures_Addon.vdf
vdf: volume is loaded  17:48:52  28.07.2003  ? Sounds_Addon.vdf
vdf: volume is loaded  17:48:46  28.07.2003  ? Meshes_Addon.vdf
vdf: volume is loaded  17:48:28  28.07.2003  ? Anims_Addon.vdf
vdf: volume is loaded  12:58:54  25.07.2003  ? Speech_Addon.vdf
vdf: volume is loaded  19:24:42  19.12.2002  ? Sounds_bird_01.vdf
vdf: volume is loaded  18:26:56  05.12.2002  ? Speech_Wegelagerer_Deutsch.vdf
vdf: volume is loaded  09:07:30  07.11.2002  ? Textures.vdf
vdf: volume is loaded  17:15:02  06.11.2002  ? worlds.vdf
vdf: volume is loaded  23:29:38  05.11.2002  ? Anims.vdf
vdf: volume is loaded  07:04:32  04.11.2002  ? Sounds.vdf
vdf: volume is loaded  07:04:26  04.11.2002  ? Meshes.vdf
vdf: volume is loaded  23:18:36  24.10.2002  ? Speech2.vdf
vdf: volume is loaded  23:11:12  24.10.2002  ? Speech1.vdf

Virtual  flows initialized for 1193 ms
Physical flows initialized for 247 ms

System: Load mod options
System: Game running as admin mode
System: Define RT Extensions
System: Pre load plugins *
System: Apply patches
               run patch ? UNION.PATCH
     physical [7E1D0B42] ? D3DIM700.DLL
Report: 0x0F: Override possible at line:4130
      virtual [3E6B7218] ? ASMCL.DLL                         → union.vdf
               run patch ? ZBOWRELAXFIX.PATCH
               run patch ? ZCEVENTMANAGER_DOFRAMEACTIVITY_FIX.PATCH
               run patch ? ZCLOSECONVERSATIONFIX.PATCH
               run patch ? ZDEADNEVERCOLLIDE.PATCH
               run patch ? ZDIALOGCHOICESTARTKEY.PATCH
               run patch ? ZDISABLENEXTSPELLSETUP.PATCH
               run patch ? ZDONTEQUIPBESTWEAPON.PATCH
               run patch ? ZINTERRUPTINTERACTIONITEMDUPEFIX.PATCH
               run patch ? ZMENUIGNOREPLAYERSTATUS.PATCH
               run patch ? ZREMOVEWEAPONFIX.PATCH
               run patch ? ZSETWEAPONMODEFIX.PATCH
               run patch ? ZSPELLCOLLISIONFIX.PATCH
Report: 0x0F: Override possible at line:10
               run patch ? ZSPELLPROPAGATIONFIX.PATCH
               run patch ? ZSUCCESSLOCKPICKINGCALLBACK.PATCH
               run patch ? UNION_CONSOLEKEEPHISTORYCASE.PATCH
               run patch ? CODE_EFD8A07B.PATCH
               run patch ? ZNPC_EQUIPWEAPON.PATCH
    not found    ----    ? ZNPC_EQUIPWEAPON.DLL
System: Union successfully initialized
System: Post load plugins
         external script ? B_GIVETRADEINV_XARDAS.D
         external script ? DIA_KDF_404_XARDAS.D
         external script ? ADDCHAPTERINMENUS.D
         external script ? GOTHICRICHPRESENCE.D
         external script ? B_ASSESSTALK.D
         external script ? B_REFRESHARMOR.D
         external script ? DIA_LUTERO_EXCHANGE.D
         external script ? GAMELOOP.D
         external script ? UNION_EVENTS.D
         external script ? USE_JOINT.D
      virtual [ABE63EBF] ? ZTEST.DLL                         → zNPC_GETSPELLITEM
.vdf
      virtual [CFAAC3A9] ? UNION_NOFOCUSFIX.DLL              → scriptpatch.mod
      virtual [CA86FA15] ? ZBETTERTRANSFORM.DLL              → scriptpatch.mod
      virtual [0DEE330F] ? ZBUGFIXES.DLL                     → scriptpatch.mod
      virtual [064CB130] ? ZCHAPTERINMENU.DLL                → scriptpatch.mod
      virtual [E77D5668] ? ZMISCUTILS.DLL                    → scriptpatch.mod
      virtual [231A2974] ? ZPICKLOCKANIS.DLL                 → scriptpatch.mod
      virtual [51B71ACE] ? ZSTEPHEIGHT.DLL                   → scriptpatch.mod
      virtual [AE0D8F25] ? ZTORCHCONTROL.DLL                 → scriptpatch.mod
      virtual [4F6064F1] ? ZOLDCONTROL.DLL                   → zoldcontrol.vdf
      virtual [C80FAB15] ? UNION_MARVINHELPER.DLL            → union_marvinhelpe
r.vdf
     physical [F483CF03] ? ZBINKFIX.DLL
      virtual [749E8882] ? ZMOUSEFIX.DLL                     → union.vdf
      virtual [E5A6F87D] ? ZUNIONUTILS.DLL                   → union.vdf
      virtual [903AD7AD] ? GOTHICRICHPRESENCE.DLL            → gothicrichpresenc
e.vdf
     physical [93E77BA4] ? EXTERNALS_MW7.DLL
     physical [E9B15262] ? ZPARSEREXTENDER.DLL
System: Apply GPU patches
NVIDIA: Check NVidia adapter . . .
        Create session: Success
        Load settings:  Success
        Find profile:   Success
        Set settings:   Success
        Find profile:   Success
        Set settings:   Success
        Save settings:  Success
        End session:    Success
        Apply settings: Success

            SYSTEM INFORMATION
     Operation system  Windows 7
                  GPU  NVIDIA GeForce GTX 750 Ti
           GPU vendor  0x10DE
             Language  RUS
        Administrator  Yes
        (Not)emulator  No
     System directory  system
                 Game  Gothic II Addon (G2A)
                Union  1.0m
           SystemPack  2.0
                Ninja  Not installed
           DirectX 11  X17.8-dev11 [g2a_avx2.dll]

System: Start engine.
zParserExtender: start parsing AUTORUN\B_GIVETRADEINV_XARDAS.D
zParserExtender: start parsing AUTORUN\DIA_KDF_404_XARDAS.D
zParserExtender: start parsing AUTORUN\ADDCHAPTERINMENUS.D
zParserExtender: start parsing AUTORUN\MENU\ZUNIONMENU.D
zParserExtender: new external defined - Str_GetLocalizedString
zParserExtender: new external defined - Menu_SearchItems
zParserExtender: start parsing AUTORUN\GOTHICRICHPRESENCE.D
zParserExtender: new external defined - Open_Link
zParserExtender: start parsing AUTORUN\B_ASSESSTALK.D
zParserExtender: new external defined - Hlp_PrintConsole
zParserExtender: new external defined - Str_Format
zParserExtender: start parsing AUTORUN\B_REFRESHARMOR.D
zParserExtender: start parsing AUTORUN\DIA_LUTERO_EXCHANGE.D
zParserExtender: start parsing AUTORUN\GAMELOOP.D
zParserExtender: new external defined - Hlp_KeyToggled
zParserExtender: start parsing AUTORUN\UNION_EVENTS.D
zParserExtender: start parsing AUTORUN\USE_JOINT.D
dosinabox commented 1 year ago

в неоф. обновелние?

да, в 29 версии

Kor-Angar commented 1 year ago

волна смерти теперь наносит всего 500 урона. и не убивает высокоуровневых неписий. раньше урон у неё шёл двойной.

Kor-Angar commented 1 year ago

image

Macht grundsätzlich doppelt so viel Schaden wie Feuerregen.


Kor-Angar commented 1 year ago

по моему она должна один раз отнимать урон и тут же второй раз. хотя не уверен. возможно мне стоит проверить это на движке готики 2 классик.

Kor-Angar commented 1 year ago

вариант 1 для теста: (урон - защита) 2 вариант 2 для теста: (урон 2 - защита)

dosinabox commented 1 year ago

волна смерти теперь наносит всего 500 урона. и не убивает высокоуровневых неписий. раньше урон у неё шёл двойной.

Исправление накопительного урона от дочерних эффектов из Union (VfxCollideFix), к моду не относится. Отключается в SystemPack.ini только вместе с другими исправлениями:

IgnoreList=zUnionUtils.dll