Closed dosinabox closed 11 months ago
Ищущие не будут использовать заклинания 'Огненный дождь' и 'Буря', если поблизости находятся другие Ищущие.
А смысл? Так был хоть небольшой шанс что в группе ищущих один из них успеет кастануть огненный дождь и убьёт героя.
А смысл? Так был хоть небольшой шанс что в группе ищущих один из них успеет кастануть огненный дождь и убьёт героя.
Исправление неработающей авторской логики (добавление Npc_PerceiveAll перед проверкой Wld_DetectNpcEx).
а где там такое было?
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; };
}
авторская логика была что бы огненный дождь не носил ущерба ищущим. после того как 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;
};
};
просто запрет на использование дождя для группы ищущих это не авторская задумка ;-) да и шанс того что один ищущий успееет достать и пронести заклинание крайне низкий.
Значит, не авторская. Тогда потом сделаю исключение в C_CanNpcCollideWithSpell.
можно попробовать отключить "френдлифаер" сразу для всех заклинаний
if (other.guild == GIL_DMT)
&& (self.guild == GIL_DMT)
{
return COLL_DONOTHING;
};