summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorKenpachi Developer <Kenpachi.Developer@gmx.de>2020-05-02 05:05:12 +0200
committerKenpachi Developer <Kenpachi.Developer@gmx.de>2020-05-02 16:51:04 +0200
commit49988ac53690a0194d111a57603db68941ae3558 (patch)
tree12e20d31ddfaa5488e7a03ce980cd040f1cf4ecf /src/map
parent5bb28472659689a517dc14fcbcc5041a9f2e9224 (diff)
downloadhercules-49988ac53690a0194d111a57603db68941ae3558.tar.gz
hercules-49988ac53690a0194d111a57603db68941ae3558.tar.bz2
hercules-49988ac53690a0194d111a57603db68941ae3558.tar.xz
hercules-49988ac53690a0194d111a57603db68941ae3558.zip
Implement SC_RESIST_PROPERTY_FIRE logic
Diffstat (limited to 'src/map')
-rw-r--r--src/map/status.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 069fd0580..41805b1e2 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -867,6 +867,7 @@ static void initChangeTables(void)
status->dbs->ChangeFlagTable[SC_ARMOR_RESIST] |= SCB_ALL;
status->dbs->ChangeFlagTable[SC_RESIST_PROPERTY_WATER] |= SCB_ALL;
status->dbs->ChangeFlagTable[SC_RESIST_PROPERTY_GROUND] |= SCB_ALL;
+ status->dbs->ChangeFlagTable[SC_RESIST_PROPERTY_FIRE] |= SCB_ALL;
status->dbs->ChangeFlagTable[SC_ATKER_BLOOD] |= SCB_ALL;
status->dbs->ChangeFlagTable[SC_WALKSPEED] |= SCB_SPEED;
status->dbs->ChangeFlagTable[SC_TARGET_BLOOD] |= SCB_ALL;
@@ -3039,6 +3040,10 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
sd->subele[ELE_EARTH] += sc->data[SC_RESIST_PROPERTY_GROUND]->val1;
sd->subele[ELE_FIRE] += sc->data[SC_RESIST_PROPERTY_GROUND]->val2;
}
+ if (sc->data[SC_RESIST_PROPERTY_FIRE] != NULL) { // Fireproof Potion
+ sd->subele[ELE_FIRE] += sc->data[SC_RESIST_PROPERTY_FIRE]->val1;
+ sd->subele[ELE_WATER] += sc->data[SC_RESIST_PROPERTY_FIRE]->val2;
+ }
if (sc->data[SC_FIRE_CLOAK_OPTION]) {
i = sc->data[SC_FIRE_CLOAK_OPTION]->val2;
sd->subele[ELE_FIRE] += i;
@@ -7765,6 +7770,7 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl
case SC_ARMOR_RESIST:
case SC_RESIST_PROPERTY_WATER:
case SC_RESIST_PROPERTY_GROUND:
+ case SC_RESIST_PROPERTY_FIRE:
break;
case SC_GOSPEL:
//Must not override a casting gospel char.
@@ -8739,6 +8745,7 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl
break;
case SC_RESIST_PROPERTY_WATER:
case SC_RESIST_PROPERTY_GROUND:
+ case SC_RESIST_PROPERTY_FIRE:
if (val1 <= 0)
flag |= SCFLAG_NOICON;