Неиспользуемые зачарования предметов
Большинство из них представляет собой простые заглушки (увы...), кроме двух, имеющих реальное воздействие.
(SympathyEffect и InversionEffect)
Первый - имеет три пустых объявления в файле modifier.bin (Sympathy1, Sympathy2, Sympathy3)
Однако, если дописать в Sympathy1 строчку "ATTACKPREHITEFFECT = SympathyEffect 0.25"
и создать в игре оружие, зачарованное Sympathy1, то при каждом ударе им по мобу или игроку атакующий будет терять здоровье в размере 25% от наносимого урона.
void __cdecl sympathyEffect(enchantDesc *enchantData, int a2, bigUnitStruct *Unit1, bigUnitStruct *Unit2, signed int *baseDmg)
{
bigUnitStruct *attacker; // edi@1
signed int targetHP; // eax@4
bigUnitStruct *target; // ST00_4@4
signed int baseDmg1; // esi@4
signed int baseDmg2; // [sp+10h] [bp+Ch]@4
float amplifier; // [sp+14h] [bp+10h]@4
attacker = Unit1;
if ( Unit1 )
{
if ( Unit2 )
{
if ( Unit2->Class & (clPlayer|clMonster) )
{
target = Unit2;
amplifier = enchantData->attackPredamageEffectParamFloat;
baseDmg1 = *baseDmg;
baseDmg2 = *baseDmg;
targetHP = unitGetHP(target);
if ( targetHP < baseDmg1 )
baseDmg2 = targetHP;
unitDamageClear(attacker, (baseDmg2 * amplifier));
}
}
}
}
Далее идет InversionEffect, и это ещё более забавный чар.
По своей природе он защитный, имеет пустые объявления в modifier.bin (MagicReflection[1/2/3/4])
Если дописать в одну из них строчку "DEFENDCOLLIDEEFFECT = InversionEffect 1", и создать в игре плащ, имеющий зачарование с таким именем, то ВСЕ автонаводимые заклинания (включая пикси и ракеты) автоматически со 100% шансом отражаются обратно в того, кто их направил.