dosinabox / g2nr_unofficial_update

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

v29 workshop build 24.07.2023 #523

Closed dosinabox closed 11 months ago

dosinabox commented 11 months ago
Kor-Angar commented 11 months ago

Ищущие не будут использовать заклинания 'Огненный дождь' и 'Буря', если поблизости находятся другие Ищущие.

А смысл? Так был хоть небольшой шанс что в группе ищущих один из них успеет кастануть огненный дождь и убьёт героя.

dosinabox commented 11 months ago

А смысл? Так был хоть небольшой шанс что в группе ищущих один из них успеет кастануть огненный дождь и убьёт героя.

Исправление неработающей авторской логики (добавление Npc_PerceiveAll перед проверкой Wld_DetectNpcEx).

Kor-Angar commented 11 months ago

а где там такое было?

            else if (slf.aivar[AIV_SelectSpell] == 10)
            {   
                slf.aivar[AIV_SelectSpell] = 11;        // damit er nicht nochmal hier reinkommt

                var int dK_Mega; dK_Mega = Hlp_Random(100);
                if      (dK_Mega <= 2)  {   B_ReadySpell (slf, SPL_Firerain , SPL_Cost_Firerain);               return TRUE; }
                else if (dK_Mega <= 5)  {   B_ReadySpell (slf, SPL_Thunderstorm, SPL_Cost_Thunderstorm);        return TRUE; }
                else if (dK_Mega <= 10) {   B_ReadySpell (slf, SPL_LightningFlash, SPL_Cost_LightningFlash);    return TRUE; }
                else /*11-99*/          {   B_ReadySpell (slf, SPL_Firestorm, SPL_Cost_Firestorm);              return TRUE; };
            }
Kor-Angar commented 11 months ago

авторская логика была что бы огненный дождь не носил ущерба ищущим. после того как Slavemaster починил дождь на юнион это можно восстановить в C_CanNpcCollideWithSpell

        // ------ Sonderfall: Dmt ------
        if (other.guild == GIL_DMT) 
        {
            if (spellType == SPL_Firerain)
            || (spellType == SPL_Thunderstorm)
            || (spellType == SPL_LightningFlash)
            {
                if (self.guild == GIL_DMT)
                {
                    return COLL_DONOTHING;
                }
                else if (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(hero))
                {
                    return COLL_APPLYHALVEDAMAGE;
                };
            };

            if (spellType == SPL_Firestorm)
            && (self.guild == GIL_DMT)
            {
                return COLL_DONOTHING;
            };
        };

просто запрет на использование дождя для группы ищущих это не авторская задумка ;-) да и шанс того что один ищущий успееет достать и пронести заклинание крайне низкий.

dosinabox commented 11 months ago

Значит, не авторская. Тогда потом сделаю исключение в C_CanNpcCollideWithSpell.

Kor-Angar commented 11 months ago

можно попробовать отключить "френдлифаер" сразу для всех заклинаний

        if (other.guild == GIL_DMT) 
        && (self.guild == GIL_DMT)
            {
                return COLL_DONOTHING;
            };