fix issue if monster is immunte to element then do not apply condition effects:

https://github.com/TwistedScorpio/Nostalrius/issues/21
This commit is contained in:
ErikasKontenis 2019-12-29 21:20:03 +02:00
parent b0f1fd5239
commit c46ab0d012

View File

@ -873,6 +873,10 @@ bool ConditionDamage::startCondition(Creature* creature)
bool ConditionDamage::executeCondition(Creature* creature, int32_t) bool ConditionDamage::executeCondition(Creature* creature, int32_t)
{ {
if (conditionType == CONDITION_FIRE) { if (conditionType == CONDITION_FIRE) {
if (creature->isImmune(CONDITION_FIRE)) {
return false;
}
const int32_t r_cycle = cycle; const int32_t r_cycle = cycle;
if (r_cycle) { if (r_cycle) {
if (count <= 0) { if (count <= 0) {
@ -886,6 +890,10 @@ bool ConditionDamage::executeCondition(Creature* creature, int32_t)
return false; return false;
} }
} else if (conditionType == CONDITION_POISON) { } else if (conditionType == CONDITION_POISON) {
if (creature->isImmune(CONDITION_POISON)) {
return false;
}
const int32_t r_cycle = cycle; const int32_t r_cycle = cycle;
if (r_cycle) { if (r_cycle) {
if (count <= 0) { if (count <= 0) {
@ -904,6 +912,10 @@ bool ConditionDamage::executeCondition(Creature* creature, int32_t)
return false; return false;
} }
} else if (conditionType == CONDITION_ENERGY) { } else if (conditionType == CONDITION_ENERGY) {
if (creature->isImmune(CONDITION_ENERGY)) {
return false;
}
const int32_t r_cycle = cycle; const int32_t r_cycle = cycle;
if (r_cycle) { if (r_cycle) {
if (count <= 0) { if (count <= 0) {