From 8194350f0bad88086edf0e7a001b9f41df904099 Mon Sep 17 00:00:00 2001 From: Kenpachi Developer Date: Sat, 2 May 2020 04:52:55 +0200 Subject: Implement SC_RESIST_PROPERTY_WATER logic --- src/map/status.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/map/status.c b/src/map/status.c index c502086cf..4f2ebe3db 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -865,6 +865,7 @@ static void initChangeTables(void) status->dbs->ChangeFlagTable[SC_WEDDING] |= SCB_SPEED; status->dbs->ChangeFlagTable[SC_ARMORPROPERTY] |= SCB_ALL; status->dbs->ChangeFlagTable[SC_ARMOR_RESIST] |= SCB_ALL; + status->dbs->ChangeFlagTable[SC_RESIST_PROPERTY_WATER] |= 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; @@ -3029,6 +3030,10 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o sd->subele[ELE_FIRE] += sc->data[SC_ARMOR_RESIST]->val3; sd->subele[ELE_WIND] += sc->data[SC_ARMOR_RESIST]->val4; } + if (sc->data[SC_RESIST_PROPERTY_WATER] != NULL) { // Coldproof Potion + sd->subele[ELE_WATER] += sc->data[SC_RESIST_PROPERTY_WATER]->val1; + sd->subele[ELE_WIND] += sc->data[SC_RESIST_PROPERTY_WATER]->val2; + } if (sc->data[SC_FIRE_CLOAK_OPTION]) { i = sc->data[SC_FIRE_CLOAK_OPTION]->val2; sd->subele[ELE_FIRE] += i; @@ -7753,6 +7758,7 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl case SC_ENCHANTARMS: case SC_ARMORPROPERTY: case SC_ARMOR_RESIST: + case SC_RESIST_PROPERTY_WATER: break; case SC_GOSPEL: //Must not override a casting gospel char. @@ -8724,6 +8730,11 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl clif->status_change(bl, sc_icn, sc_typ, 1, total_tick, 0, 0, 0); } + break; + case SC_RESIST_PROPERTY_WATER: + if (val1 <= 0) + flag |= SCFLAG_NOICON; + break; case SC_MER_FLEE: case SC_MER_ATK: -- cgit v1.2.3-60-g2f50