From c46ab0d0122a54fd49474d7036298aca3ffd3969 Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Sun, 29 Dec 2019 21:20:03 +0200 Subject: [PATCH] fix issue if monster is immunte to element then do not apply condition effects: https://github.com/TwistedScorpio/Nostalrius/issues/21 --- src/condition.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/condition.cpp b/src/condition.cpp index 4d923d2..7487e6a 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -873,6 +873,10 @@ bool ConditionDamage::startCondition(Creature* creature) bool ConditionDamage::executeCondition(Creature* creature, int32_t) { if (conditionType == CONDITION_FIRE) { + if (creature->isImmune(CONDITION_FIRE)) { + return false; + } + const int32_t r_cycle = cycle; if (r_cycle) { if (count <= 0) { @@ -886,6 +890,10 @@ bool ConditionDamage::executeCondition(Creature* creature, int32_t) return false; } } else if (conditionType == CONDITION_POISON) { + if (creature->isImmune(CONDITION_POISON)) { + return false; + } + const int32_t r_cycle = cycle; if (r_cycle) { if (count <= 0) { @@ -904,6 +912,10 @@ bool ConditionDamage::executeCondition(Creature* creature, int32_t) return false; } } else if (conditionType == CONDITION_ENERGY) { + if (creature->isImmune(CONDITION_ENERGY)) { + return false; + } + const int32_t r_cycle = cycle; if (r_cycle) { if (count <= 0) {