From 633a642e5a37f10441477cf043c6c19e71e34297 Mon Sep 17 00:00:00 2001 From: Cydh Ramdh Date: Sun, 20 Nov 2016 11:35:02 +0700 Subject: [PATCH] * Corrected combos of Elemental Clothes (19048) * Updated Status Change documentation for `SC_SIEGFRIED` and `SC_SCRESIST` * Fixed `bResEff` cannot be used to increase the rate (for reducing resistance) Signed-off-by: Cydh Ramdh --- db/re/item_combo_db.txt | 16 ++++++++-------- doc/status_change.txt | 12 +++++++----- src/map/status.c | 2 +- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/db/re/item_combo_db.txt b/db/re/item_combo_db.txt index c52b84a975..a673501d74 100644 --- a/db/re/item_combo_db.txt +++ b/db/re/item_combo_db.txt @@ -70,13 +70,13 @@ 1730:1752:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 1730:19019,{ bonus bLongAtkRate,45; } 1731:1754,{ bonus bLongAtkRate,25; } -1731:1754:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus2 bResEff,Eff_Freeze,-1000; /* Confirm: Resistance reduction */ } +1731:1754:19048,{ bonus bLongAtkRate,20; bonus2 bAddEff,Eff_Freeze,-1000; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 1731:19019,{ bonus bLongAtkRate,45; } 1732:1756,{ bonus bLongAtkRate,25; bonus2 bAddEff,Eff_Stone,1000; } -1732:1756:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus2 bResEff,Eff_Stone,-1000; /* Confirm: Resistance reduction */ } +1732:1756:19048,{ bonus bLongAtkRate,20; bonus2 bAddEff,Eff_Stone,-1000; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 1732:19019,{ bonus bLongAtkRate,45; } -1733:1755,{ bonus bLongAtkRate,25; bonus3 bAutoSpell,"NJ_HUUJIN",5,100; if(readparam(bInt)>39) bonus3 bAutoSpell,"NJ_HUUJIN",5,200; } -1733:1755:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; /* if (getequiprefinerycnt(EQI_HAND_R) >= 10) TO DO: Disable autocast Wind Blade */ } +1733:1755,{ bonus bLongAtkRate,25; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? 300 : 100; } +1733:1755:19048,{ bonus bLongAtkRate,20; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? -300 : -100; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 1733:19019,{ bonus bLongAtkRate,45; } 1734:1753,{ bonus bLongAtkRate,50; } 1741:2748,{ bonus bBaseAtk,25; bonus3 bAddEff,Eff_Curse,200,ATF_WEAPON|ATF_LONG|ATF_TARGET; } @@ -446,13 +446,13 @@ 18137:1752:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 18137:19019,{ bonus bLongAtkRate,45; } 18138:1754,{ bonus bLongAtkRate,25; } -18138:1754:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus2 bResEff,Eff_Freeze,-1000; /* Confirm: Resistance reduction */ } +18138:1754:19048,{ bonus bLongAtkRate,20; bonus2 bAddEff,Eff_Freeze,-1000; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 18138:19019,{ bonus bLongAtkRate,45; } 18139:1756,{ bonus bLongAtkRate,25; bonus2 bAddEff,Eff_Stone,1000; } -18139:1756:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus2 bResEff,Eff_Stone,-1000; /* Confirm: Resistance reduction */ } +18139:1756:19048,{ bonus bLongAtkRate,20; bonus2 bAddEff,Eff_Stone,-1000; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 18139:19019,{ bonus bLongAtkRate,45; } -18140:1755,{ bonus bLongAtkRate,25; bonus3 bAutoSpell,"NJ_HUUJIN",5,100; if(readparam(bInt)>39) bonus3 bAutoSpell,"NJ_HUUJIN",5,200; } -18140:1755:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; /* if (getequiprefinerycnt(EQI_HAND_R) >= 10) TO DO: Disable autocast Wind Blade */ } +18140:1755,{ bonus bLongAtkRate,25; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? 300 : 100; } +18140:1755:19048,{ bonus bLongAtkRate,20; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? -300 : -100;; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; } 18140:19019,{ bonus bLongAtkRate,45; } 18507:18539,{ bonus bUseSPrate,-3; } 18559:18560,{ bonus bCritAtkRate,5; } diff --git a/doc/status_change.txt b/doc/status_change.txt index de8c354ae2..f1c595a10b 100644 --- a/doc/status_change.txt +++ b/doc/status_change.txt @@ -710,9 +710,11 @@ SC_INTOABYSS () desc: val1: -SC_SIEGFRIED () - desc: - val1: +SC_SIEGFRIED (SI_SIEGFRIED) + desc: Status change for BD_SIEGFRIED + val1: BD_SIEGFRIED Skill level + val2: Increase val2% damage reduction from non-Nuetral elemental attack + val3: Increase status resistance value by val3% of player's current resistance. SC_WHISTLE () desc: @@ -882,8 +884,8 @@ SC_MATKFOOD (SI_MATKFOOD) val1: +MagicAttack SC_SCRESIST () - desc: - val1: + desc: Status resistance from Gospel skill + val1: Increase status resistance value by n% of player's current resistance. SC_XMAS () desc: diff --git a/src/map/status.c b/src/map/status.c index 7e7940eb9a..1522cf1dc7 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -7970,7 +7970,7 @@ int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_typ // Item resistance (only applies to rate%) if(sd && SC_COMMON_MIN <= type && type <= SC_COMMON_MAX) { - if( sd->reseff[type-SC_COMMON_MIN] > 0 ) + if( sd->reseff[type-SC_COMMON_MIN] ) rate -= rate*sd->reseff[type-SC_COMMON_MIN]/10000; if( sd->sc.data[SC_COMMONSC_RESIST] ) rate -= rate*sd->sc.data[SC_COMMONSC_RESIST]->val1/100;