From 49988ac53690a0194d111a57603db68941ae3558 Mon Sep 17 00:00:00 2001 From: Kenpachi Developer Date: Sat, 2 May 2020 05:05:12 +0200 Subject: Implement SC_RESIST_PROPERTY_FIRE logic --- src/map/status.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/map') 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; -- cgit v1.2.3-70-g09d2