MR-8: Nemere Dungeon

This commit is contained in:
Mind Rapist
2026-01-18 09:01:56 +02:00
parent 94a2e35129
commit 681a8cae1b
24 changed files with 1317 additions and 90 deletions

View File

@@ -167,7 +167,17 @@ void CHARACTER::AttackedByFire(LPCHARACTER pkAttacker, int amount, int count)
if (m_pkFireEvent)
return;
AddAffect(AFFECT_FIRE, POINT_NONE, 0, AFF_FIRE, count*3+1, 0, true);
// MR-8: Check damage immunity system - prevent fire application if conditions not met
if (m_bDamageImmune && (IsMonster() || IsStone() || IsDoor()))
{
if (!CheckDamageImmunityConditions(pkAttacker))
{
return; // Immunity prevents fire application
}
}
AddAffect(AFFECT_FIRE, POINT_NONE, 0, AFF_FIRE, count * 3 + 1, 0, true);
// MR-8: -- END OF -- Check damage immunity system - prevent fire application if conditions not met
TFireEventInfo* info = AllocEventInfo<TFireEventInfo>();
@@ -187,6 +197,16 @@ void CHARACTER::AttackedByPoison(LPCHARACTER pkAttacker)
if (m_bHasPoisoned && !IsPC()) // 몬스터는 독이 한번만 걸린다.
return;
// MR-8: Check damage immunity system - prevent poison application if conditions not met
if (m_bDamageImmune && (IsMonster() || IsStone() || IsDoor()))
{
if (!CheckDamageImmunityConditions(pkAttacker))
{
return; // Immunity prevents poison application
}
}
// MR-8: -- END OF -- Check damage immunity system - prevent poison application if conditions not met
if (pkAttacker && pkAttacker->GetLevel() < GetLevel())
{
int delta = GetLevel() - pkAttacker->GetLevel();