|
@@ -240,12 +240,7 @@ void initChangeTables(void)
|
|
add_sc( TF_POISON , SC_POISON );
|
|
add_sc( TF_POISON , SC_POISON );
|
|
set_sc( KN_TWOHANDQUICKEN , SC_TWOHANDQUICKEN , SI_TWOHANDQUICKEN , SCB_ASPD );
|
|
set_sc( KN_TWOHANDQUICKEN , SC_TWOHANDQUICKEN , SI_TWOHANDQUICKEN , SCB_ASPD );
|
|
set_sc( KN_AUTOCOUNTER , SC_AUTOCOUNTER , SI_AUTOCOUNTER , SCB_NONE );
|
|
set_sc( KN_AUTOCOUNTER , SC_AUTOCOUNTER , SI_AUTOCOUNTER , SCB_NONE );
|
|
- set_sc( PR_IMPOSITIO , SC_IMPOSITIO , SI_IMPOSITIO ,
|
|
|
|
-#ifdef RENEWAL
|
|
|
|
- SCB_NONE );
|
|
|
|
-#else
|
|
|
|
- SCB_WATK );
|
|
|
|
-#endif
|
|
|
|
|
|
+ set_sc( PR_IMPOSITIO , SC_IMPOSITIO , SI_IMPOSITIO , SCB_WATK );
|
|
set_sc( PR_SUFFRAGIUM , SC_SUFFRAGIUM , SI_SUFFRAGIUM , SCB_NONE );
|
|
set_sc( PR_SUFFRAGIUM , SC_SUFFRAGIUM , SI_SUFFRAGIUM , SCB_NONE );
|
|
set_sc( PR_ASPERSIO , SC_ASPERSIO , SI_ASPERSIO , SCB_ATK_ELE );
|
|
set_sc( PR_ASPERSIO , SC_ASPERSIO , SI_ASPERSIO , SCB_ATK_ELE );
|
|
set_sc( PR_BENEDICTIO , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE );
|
|
set_sc( PR_BENEDICTIO , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE );
|
|
@@ -344,12 +339,7 @@ void initChangeTables(void)
|
|
set_sc( SA_FROSTWEAPON , SC_WATERWEAPON , SI_WATERWEAPON , SCB_ATK_ELE );
|
|
set_sc( SA_FROSTWEAPON , SC_WATERWEAPON , SI_WATERWEAPON , SCB_ATK_ELE );
|
|
set_sc( SA_LIGHTNINGLOADER , SC_WINDWEAPON , SI_WINDWEAPON , SCB_ATK_ELE );
|
|
set_sc( SA_LIGHTNINGLOADER , SC_WINDWEAPON , SI_WINDWEAPON , SCB_ATK_ELE );
|
|
set_sc( SA_SEISMICWEAPON , SC_EARTHWEAPON , SI_EARTHWEAPON , SCB_ATK_ELE );
|
|
set_sc( SA_SEISMICWEAPON , SC_EARTHWEAPON , SI_EARTHWEAPON , SCB_ATK_ELE );
|
|
- set_sc( SA_VOLCANO , SC_VOLCANO , SI_LANDENDOW ,
|
|
|
|
-#ifdef RENEWAL
|
|
|
|
- SCB_NONE );
|
|
|
|
-#else
|
|
|
|
- SCB_WATK );
|
|
|
|
-#endif
|
|
|
|
|
|
+ set_sc( SA_VOLCANO , SC_VOLCANO , SI_LANDENDOW , SCB_WATK );
|
|
set_sc( SA_DELUGE , SC_DELUGE , SI_LANDENDOW , SCB_MAXHP );
|
|
set_sc( SA_DELUGE , SC_DELUGE , SI_LANDENDOW , SCB_MAXHP );
|
|
set_sc( SA_VIOLENTGALE , SC_VIOLENTGALE , SI_LANDENDOW , SCB_FLEE );
|
|
set_sc( SA_VIOLENTGALE , SC_VIOLENTGALE , SI_LANDENDOW , SCB_FLEE );
|
|
add_sc( SA_REVERSEORCISH , SC_ORCISH );
|
|
add_sc( SA_REVERSEORCISH , SC_ORCISH );
|
|
@@ -357,17 +347,8 @@ void initChangeTables(void)
|
|
set_sc( BD_ENCORE , SC_DANCING , SI_BDPLAYING , SCB_SPEED|SCB_REGEN );
|
|
set_sc( BD_ENCORE , SC_DANCING , SI_BDPLAYING , SCB_SPEED|SCB_REGEN );
|
|
set_sc( BD_RICHMANKIM , SC_RICHMANKIM , SI_RICHMANKIM , SCB_NONE );
|
|
set_sc( BD_RICHMANKIM , SC_RICHMANKIM , SI_RICHMANKIM , SCB_NONE );
|
|
set_sc( BD_ETERNALCHAOS , SC_ETERNALCHAOS , SI_ETERNALCHAOS , SCB_DEF2 );
|
|
set_sc( BD_ETERNALCHAOS , SC_ETERNALCHAOS , SI_ETERNALCHAOS , SCB_DEF2 );
|
|
- set_sc( BD_DRUMBATTLEFIELD , SC_DRUMBATTLE , SI_DRUMBATTLEFIELD , SCB_DEF
|
|
|
|
-#ifndef RENEWAL
|
|
|
|
- |SCB_WATK
|
|
|
|
-#endif
|
|
|
|
- );
|
|
|
|
- set_sc( BD_RINGNIBELUNGEN , SC_NIBELUNGEN , SI_RINGNIBELUNGEN ,
|
|
|
|
-#ifdef RENEWAL
|
|
|
|
- SCB_NONE );
|
|
|
|
-#else
|
|
|
|
- SCB_WATK );
|
|
|
|
-#endif
|
|
|
|
|
|
+ set_sc( BD_DRUMBATTLEFIELD , SC_DRUMBATTLE , SI_DRUMBATTLEFIELD , SCB_WATK|SCB_DEF );
|
|
|
|
+ set_sc( BD_RINGNIBELUNGEN , SC_NIBELUNGEN , SI_RINGNIBELUNGEN , SCB_WATK );
|
|
set_sc( BD_ROKISWEIL , SC_ROKISWEIL , SI_ROKISWEIL , SCB_NONE );
|
|
set_sc( BD_ROKISWEIL , SC_ROKISWEIL , SI_ROKISWEIL , SCB_NONE );
|
|
set_sc( BD_INTOABYSS , SC_INTOABYSS , SI_INTOABYSS , SCB_NONE );
|
|
set_sc( BD_INTOABYSS , SC_INTOABYSS , SI_INTOABYSS , SCB_NONE );
|
|
set_sc( BD_SIEGFRIED , SC_SIEGFRIED , SI_SIEGFRIED , SCB_ALL );
|
|
set_sc( BD_SIEGFRIED , SC_SIEGFRIED , SI_SIEGFRIED , SCB_ALL );
|
|
@@ -392,12 +373,7 @@ void initChangeTables(void)
|
|
add_sc( NPC_INVISIBLE , SC_CLOAKING );
|
|
add_sc( NPC_INVISIBLE , SC_CLOAKING );
|
|
set_sc( LK_AURABLADE , SC_AURABLADE , SI_AURABLADE , SCB_NONE );
|
|
set_sc( LK_AURABLADE , SC_AURABLADE , SI_AURABLADE , SCB_NONE );
|
|
set_sc( LK_PARRYING , SC_PARRYING , SI_PARRYING , SCB_NONE );
|
|
set_sc( LK_PARRYING , SC_PARRYING , SI_PARRYING , SCB_NONE );
|
|
- set_sc( LK_CONCENTRATION , SC_CONCENTRATION , SI_CONCENTRATION ,
|
|
|
|
-#ifndef RENEWAL
|
|
|
|
- SCB_BATK|SCB_WATK|SCB_HIT|SCB_DEF|SCB_DEF2 );
|
|
|
|
-#else
|
|
|
|
- SCB_HIT|SCB_DEF );
|
|
|
|
-#endif
|
|
|
|
|
|
+ set_sc( LK_CONCENTRATION , SC_CONCENTRATION , SI_CONCENTRATION , SCB_BATK|SCB_WATK|SCB_HIT|SCB_DEF|SCB_DEF2 );
|
|
set_sc( LK_TENSIONRELAX , SC_TENSIONRELAX , SI_TENSIONRELAX , SCB_REGEN );
|
|
set_sc( LK_TENSIONRELAX , SC_TENSIONRELAX , SI_TENSIONRELAX , SCB_REGEN );
|
|
set_sc( LK_BERSERK , SC_BERSERK , SI_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN );
|
|
set_sc( LK_BERSERK , SC_BERSERK , SI_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN );
|
|
set_sc( HP_ASSUMPTIO , SC_ASSUMPTIO ,
|
|
set_sc( HP_ASSUMPTIO , SC_ASSUMPTIO ,
|
|
@@ -477,18 +453,10 @@ void initChangeTables(void)
|
|
add_sc( GS_CRACKER , SC_STUN );
|
|
add_sc( GS_CRACKER , SC_STUN );
|
|
add_sc( GS_DISARM , SC_STRIPWEAPON );
|
|
add_sc( GS_DISARM , SC_STRIPWEAPON );
|
|
add_sc( GS_PIERCINGSHOT , SC_BLEEDING );
|
|
add_sc( GS_PIERCINGSHOT , SC_BLEEDING );
|
|
- set_sc( GS_MADNESSCANCEL , SC_MADNESSCANCEL , SI_MADNESSCANCEL , SCB_ASPD
|
|
|
|
-#ifndef RENEWAL
|
|
|
|
- |SCB_BATK
|
|
|
|
-#endif
|
|
|
|
- );
|
|
|
|
|
|
+ set_sc( GS_MADNESSCANCEL , SC_MADNESSCANCEL , SI_MADNESSCANCEL , SCB_BATK|SCB_ASPD );
|
|
set_sc( GS_ADJUSTMENT , SC_ADJUSTMENT , SI_ADJUSTMENT , SCB_HIT|SCB_FLEE );
|
|
set_sc( GS_ADJUSTMENT , SC_ADJUSTMENT , SI_ADJUSTMENT , SCB_HIT|SCB_FLEE );
|
|
set_sc( GS_INCREASING , SC_INCREASING , SI_ACCURACY , SCB_AGI|SCB_DEX|SCB_HIT );
|
|
set_sc( GS_INCREASING , SC_INCREASING , SI_ACCURACY , SCB_AGI|SCB_DEX|SCB_HIT );
|
|
- set_sc( GS_GATLINGFEVER , SC_GATLINGFEVER , SI_GATLINGFEVER , SCB_FLEE|SCB_SPEED|SCB_ASPD
|
|
|
|
-#ifndef RENWAL
|
|
|
|
- |SCB_BATK
|
|
|
|
-#endif
|
|
|
|
- );
|
|
|
|
|
|
+ set_sc( GS_GATLINGFEVER , SC_GATLINGFEVER , SI_GATLINGFEVER , SCB_BATK|SCB_FLEE|SCB_SPEED|SCB_ASPD );
|
|
add_sc( NJ_TATAMIGAESHI , SC_TATAMIGAESHI );
|
|
add_sc( NJ_TATAMIGAESHI , SC_TATAMIGAESHI );
|
|
set_sc( NJ_SUITON , SC_SUITON , SI_BLANK , SCB_AGI|SCB_SPEED );
|
|
set_sc( NJ_SUITON , SC_SUITON , SI_BLANK , SCB_AGI|SCB_SPEED );
|
|
add_sc( NJ_HYOUSYOURAKU , SC_FREEZE );
|
|
add_sc( NJ_HYOUSYOURAKU , SC_FREEZE );
|
|
@@ -609,7 +577,7 @@ void initChangeTables(void)
|
|
set_sc( RK_GIANTGROWTH , SC_GIANTGROWTH , SI_GIANTGROWTH , SCB_STR );
|
|
set_sc( RK_GIANTGROWTH , SC_GIANTGROWTH , SI_GIANTGROWTH , SCB_STR );
|
|
set_sc( RK_STONEHARDSKIN , SC_STONEHARDSKIN , SI_STONEHARDSKIN , SCB_DEF|SCB_MDEF );
|
|
set_sc( RK_STONEHARDSKIN , SC_STONEHARDSKIN , SI_STONEHARDSKIN , SCB_DEF|SCB_MDEF );
|
|
set_sc( RK_VITALITYACTIVATION , SC_VITALITYACTIVATION , SI_VITALITYACTIVATION , SCB_REGEN );
|
|
set_sc( RK_VITALITYACTIVATION , SC_VITALITYACTIVATION , SI_VITALITYACTIVATION , SCB_REGEN );
|
|
- set_sc( RK_FIGHTINGSPIRIT , SC_FIGHTINGSPIRIT , SI_FIGHTINGSPIRIT , SCB_ASPD );
|
|
|
|
|
|
+ set_sc( RK_FIGHTINGSPIRIT , SC_FIGHTINGSPIRIT , SI_FIGHTINGSPIRIT , SCB_WATK|SCB_ASPD );
|
|
set_sc( RK_ABUNDANCE , SC_ABUNDANCE , SI_ABUNDANCE , SCB_NONE );
|
|
set_sc( RK_ABUNDANCE , SC_ABUNDANCE , SI_ABUNDANCE , SCB_NONE );
|
|
set_sc( RK_CRUSHSTRIKE , SC_CRUSHSTRIKE , SI_CRUSHSTRIKE , SCB_NONE );
|
|
set_sc( RK_CRUSHSTRIKE , SC_CRUSHSTRIKE , SI_CRUSHSTRIKE , SCB_NONE );
|
|
set_sc_with_vfx( RK_DRAGONBREATH_WATER , SC_FREEZING , SI_FROSTMISTY , SCB_ASPD|SCB_SPEED|SCB_DEF|SCB_DEF2 );
|
|
set_sc_with_vfx( RK_DRAGONBREATH_WATER , SC_FREEZING , SI_FROSTMISTY , SCB_ASPD|SCB_SPEED|SCB_DEF|SCB_DEF2 );
|
|
@@ -680,15 +648,10 @@ void initChangeTables(void)
|
|
set_sc( LG_FORCEOFVANGUARD , SC_FORCEOFVANGUARD , SI_FORCEOFVANGUARD , SCB_MAXHP );
|
|
set_sc( LG_FORCEOFVANGUARD , SC_FORCEOFVANGUARD , SI_FORCEOFVANGUARD , SCB_MAXHP );
|
|
set_sc( LG_EXEEDBREAK , SC_EXEEDBREAK , SI_EXEEDBREAK , SCB_NONE );
|
|
set_sc( LG_EXEEDBREAK , SC_EXEEDBREAK , SI_EXEEDBREAK , SCB_NONE );
|
|
set_sc( LG_PRESTIGE , SC_PRESTIGE , SI_PRESTIGE , SCB_DEF );
|
|
set_sc( LG_PRESTIGE , SC_PRESTIGE , SI_PRESTIGE , SCB_DEF );
|
|
- set_sc( LG_BANDING , SC_BANDING , SI_BANDING ,
|
|
|
|
-#ifndef RENEWAL
|
|
|
|
- SCB_DEF );
|
|
|
|
-#else
|
|
|
|
- SCB_DEF2 );
|
|
|
|
-#endif
|
|
|
|
|
|
+ set_sc( LG_BANDING , SC_BANDING , SI_BANDING , SCB_DEF2|SCB_WATK );
|
|
set_sc( LG_PIETY , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE );
|
|
set_sc( LG_PIETY , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE );
|
|
set_sc( LG_EARTHDRIVE , SC_EARTHDRIVE , SI_EARTHDRIVE , SCB_DEF|SCB_ASPD );
|
|
set_sc( LG_EARTHDRIVE , SC_EARTHDRIVE , SI_EARTHDRIVE , SCB_DEF|SCB_ASPD );
|
|
- set_sc( LG_INSPIRATION , SC_INSPIRATION , SI_INSPIRATION , SCB_MAXHP|SCB_HIT|SCB_VIT|SCB_AGI|SCB_STR|SCB_DEX|SCB_INT|SCB_LUK);
|
|
|
|
|
|
+ set_sc( LG_INSPIRATION , SC_INSPIRATION , SI_INSPIRATION , SCB_WATK|SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK|SCB_HIT|SCB_MAXHP);
|
|
set_sc( LG_KINGS_GRACE , SC_KINGS_GRACE , SI_KINGS_GRACE , SCB_NONE );
|
|
set_sc( LG_KINGS_GRACE , SC_KINGS_GRACE , SI_KINGS_GRACE , SCB_NONE );
|
|
|
|
|
|
/* Shadow Chaser */
|
|
/* Shadow Chaser */
|
|
@@ -718,7 +681,7 @@ void initChangeTables(void)
|
|
set_sc( SR_LIGHTNINGWALK , SC_LIGHTNINGWALK , SI_LIGHTNINGWALK , SCB_NONE );
|
|
set_sc( SR_LIGHTNINGWALK , SC_LIGHTNINGWALK , SI_LIGHTNINGWALK , SCB_NONE );
|
|
set_sc( SR_RAISINGDRAGON , SC_RAISINGDRAGON , SI_RAISINGDRAGON , SCB_REGEN|SCB_MAXHP|SCB_MAXSP );
|
|
set_sc( SR_RAISINGDRAGON , SC_RAISINGDRAGON , SI_RAISINGDRAGON , SCB_REGEN|SCB_MAXHP|SCB_MAXSP );
|
|
set_sc( SR_GENTLETOUCH_ENERGYGAIN , SC_GT_ENERGYGAIN , SI_GENTLETOUCH_ENERGYGAIN , SCB_NONE );
|
|
set_sc( SR_GENTLETOUCH_ENERGYGAIN , SC_GT_ENERGYGAIN , SI_GENTLETOUCH_ENERGYGAIN , SCB_NONE );
|
|
- set_sc( SR_GENTLETOUCH_CHANGE , SC_GT_CHANGE , SI_GENTLETOUCH_CHANGE , SCB_MDEF|SCB_ASPD|SCB_MAXHP );
|
|
|
|
|
|
+ set_sc( SR_GENTLETOUCH_CHANGE , SC_GT_CHANGE , SI_GENTLETOUCH_CHANGE , SCB_WATK|SCB_MDEF|SCB_ASPD|SCB_MAXHP );
|
|
set_sc( SR_GENTLETOUCH_REVITALIZE , SC_GT_REVITALIZE , SI_GENTLETOUCH_REVITALIZE , SCB_MAXHP|SCB_REGEN );
|
|
set_sc( SR_GENTLETOUCH_REVITALIZE , SC_GT_REVITALIZE , SI_GENTLETOUCH_REVITALIZE , SCB_MAXHP|SCB_REGEN );
|
|
add_sc( SR_FLASHCOMBO , SC_FLASHCOMBO );
|
|
add_sc( SR_FLASHCOMBO , SC_FLASHCOMBO );
|
|
|
|
|
|
@@ -726,7 +689,7 @@ void initChangeTables(void)
|
|
set_sc( WA_SWING_DANCE , SC_SWINGDANCE , SI_SWINGDANCE , SCB_SPEED|SCB_ASPD );
|
|
set_sc( WA_SWING_DANCE , SC_SWINGDANCE , SI_SWINGDANCE , SCB_SPEED|SCB_ASPD );
|
|
set_sc( WA_SYMPHONY_OF_LOVER , SC_SYMPHONYOFLOVER , SI_SYMPHONYOFLOVERS , SCB_MDEF );
|
|
set_sc( WA_SYMPHONY_OF_LOVER , SC_SYMPHONYOFLOVER , SI_SYMPHONYOFLOVERS , SCB_MDEF );
|
|
set_sc( WA_MOONLIT_SERENADE , SC_MOONLITSERENADE , SI_MOONLITSERENADE , SCB_MATK );
|
|
set_sc( WA_MOONLIT_SERENADE , SC_MOONLITSERENADE , SI_MOONLITSERENADE , SCB_MATK );
|
|
- set_sc( MI_RUSH_WINDMILL , SC_RUSHWINDMILL , SI_RUSHWINDMILL , SCB_NONE );
|
|
|
|
|
|
+ set_sc( MI_RUSH_WINDMILL , SC_RUSHWINDMILL , SI_RUSHWINDMILL , SCB_WATK );
|
|
set_sc( MI_ECHOSONG , SC_ECHOSONG , SI_ECHOSONG , SCB_DEF );
|
|
set_sc( MI_ECHOSONG , SC_ECHOSONG , SI_ECHOSONG , SCB_DEF );
|
|
set_sc( MI_HARMONIZE , SC_HARMONIZE , SI_HARMONIZE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
|
|
set_sc( MI_HARMONIZE , SC_HARMONIZE , SI_HARMONIZE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
|
|
set_sc_with_vfx( WM_POEMOFNETHERWORLD , SC_NETHERWORLD , SI_NETHERWORLD , SCB_NONE );
|
|
set_sc_with_vfx( WM_POEMOFNETHERWORLD , SC_NETHERWORLD , SI_NETHERWORLD , SCB_NONE );
|
|
@@ -736,7 +699,7 @@ void initChangeTables(void)
|
|
set_sc( WM_GLOOMYDAY , SC_GLOOMYDAY , SI_GLOOMYDAY , SCB_FLEE|SCB_SPEED|SCB_ASPD );
|
|
set_sc( WM_GLOOMYDAY , SC_GLOOMYDAY , SI_GLOOMYDAY , SCB_FLEE|SCB_SPEED|SCB_ASPD );
|
|
set_sc( WM_SONG_OF_MANA , SC_SONGOFMANA , SI_SONGOFMANA , SCB_NONE );
|
|
set_sc( WM_SONG_OF_MANA , SC_SONGOFMANA , SI_SONGOFMANA , SCB_NONE );
|
|
set_sc( WM_DANCE_WITH_WUG , SC_DANCEWITHWUG , SI_DANCEWITHWUG , SCB_ASPD );
|
|
set_sc( WM_DANCE_WITH_WUG , SC_DANCEWITHWUG , SI_DANCEWITHWUG , SCB_ASPD );
|
|
- set_sc( WM_SATURDAY_NIGHT_FEVER , SC_SATURDAYNIGHTFEVER , SI_SATURDAYNIGHTFEVER , SCB_DEF|SCB_FLEE|SCB_REGEN );
|
|
|
|
|
|
+ set_sc( WM_SATURDAY_NIGHT_FEVER , SC_SATURDAYNIGHTFEVER , SI_SATURDAYNIGHTFEVER , SCB_BATK|SCB_DEF|SCB_FLEE|SCB_REGEN );
|
|
set_sc( WM_LERADS_DEW , SC_LERADSDEW , SI_LERADSDEW , SCB_MAXHP );
|
|
set_sc( WM_LERADS_DEW , SC_LERADSDEW , SI_LERADSDEW , SCB_MAXHP );
|
|
set_sc( WM_MELODYOFSINK , SC_MELODYOFSINK , SI_MELODYOFSINK , SCB_INT );
|
|
set_sc( WM_MELODYOFSINK , SC_MELODYOFSINK , SI_MELODYOFSINK , SCB_INT );
|
|
set_sc( WM_BEYOND_OF_WARCRY , SC_BEYONDOFWARCRY , SI_WARCRYOFBEYOND , SCB_STR|SCB_CRI|SCB_MAXHP );
|
|
set_sc( WM_BEYOND_OF_WARCRY , SC_BEYONDOFWARCRY , SI_WARCRYOFBEYOND , SCB_STR|SCB_CRI|SCB_MAXHP );
|
|
@@ -781,9 +744,9 @@ void initChangeTables(void)
|
|
set_sc( EL_SOLID_SKIN , SC_SOLID_SKIN_OPTION , SI_SOLID_SKIN_OPTION , SCB_DEF|SCB_MAXHP );
|
|
set_sc( EL_SOLID_SKIN , SC_SOLID_SKIN_OPTION , SI_SOLID_SKIN_OPTION , SCB_DEF|SCB_MAXHP );
|
|
set_sc( EL_STONE_SHIELD , SC_STONE_SHIELD_OPTION , SI_STONE_SHIELD_OPTION , SCB_ALL );
|
|
set_sc( EL_STONE_SHIELD , SC_STONE_SHIELD_OPTION , SI_STONE_SHIELD_OPTION , SCB_ALL );
|
|
set_sc( EL_POWER_OF_GAIA , SC_POWER_OF_GAIA , SI_POWER_OF_GAIA , SCB_MAXHP|SCB_DEF|SCB_SPEED );
|
|
set_sc( EL_POWER_OF_GAIA , SC_POWER_OF_GAIA , SI_POWER_OF_GAIA , SCB_MAXHP|SCB_DEF|SCB_SPEED );
|
|
- set_sc( EL_PYROTECHNIC , SC_PYROTECHNIC_OPTION , SI_PYROTECHNIC_OPTION , SCB_NONE );
|
|
|
|
- set_sc( EL_HEATER , SC_HEATER_OPTION , SI_HEATER_OPTION , SCB_NONE );
|
|
|
|
- set_sc( EL_TROPIC , SC_TROPIC_OPTION , SI_TROPIC_OPTION , SCB_NONE );
|
|
|
|
|
|
+ set_sc( EL_PYROTECHNIC , SC_PYROTECHNIC_OPTION , SI_PYROTECHNIC_OPTION , SCB_WATK );
|
|
|
|
+ set_sc( EL_HEATER , SC_HEATER_OPTION , SI_HEATER_OPTION , SCB_WATK );
|
|
|
|
+ set_sc( EL_TROPIC , SC_TROPIC_OPTION , SI_TROPIC_OPTION , SCB_WATK );
|
|
set_sc( EL_AQUAPLAY , SC_AQUAPLAY_OPTION , SI_AQUAPLAY_OPTION , SCB_MATK );
|
|
set_sc( EL_AQUAPLAY , SC_AQUAPLAY_OPTION , SI_AQUAPLAY_OPTION , SCB_MATK );
|
|
set_sc( EL_COOLER , SC_COOLER_OPTION , SI_COOLER_OPTION , SCB_MATK );
|
|
set_sc( EL_COOLER , SC_COOLER_OPTION , SI_COOLER_OPTION , SCB_MATK );
|
|
set_sc( EL_CHILLY_AIR , SC_CHILLY_AIR_OPTION , SI_CHILLY_AIR_OPTION , SCB_MATK );
|
|
set_sc( EL_CHILLY_AIR , SC_CHILLY_AIR_OPTION , SI_CHILLY_AIR_OPTION , SCB_MATK );
|
|
@@ -1081,6 +1044,7 @@ void initChangeTables(void)
|
|
StatusChangeFlagTable[SC_PYREXIA] |= SCB_HIT|SCB_FLEE;
|
|
StatusChangeFlagTable[SC_PYREXIA] |= SCB_HIT|SCB_FLEE;
|
|
StatusChangeFlagTable[SC_OBLIVIONCURSE] |= SCB_REGEN;
|
|
StatusChangeFlagTable[SC_OBLIVIONCURSE] |= SCB_REGEN;
|
|
StatusChangeFlagTable[SC_BANDING_DEFENCE] |= SCB_SPEED;
|
|
StatusChangeFlagTable[SC_BANDING_DEFENCE] |= SCB_SPEED;
|
|
|
|
+ StatusChangeFlagTable[SC_SHIELDSPELL_DEF] |= SCB_WATK;
|
|
StatusChangeFlagTable[SC_SHIELDSPELL_REF] |= SCB_DEF;
|
|
StatusChangeFlagTable[SC_SHIELDSPELL_REF] |= SCB_DEF;
|
|
StatusChangeFlagTable[SC_STOMACHACHE] |= SCB_STR|SCB_AGI|SCB_VIT|SCB_DEX|SCB_INT|SCB_LUK;
|
|
StatusChangeFlagTable[SC_STOMACHACHE] |= SCB_STR|SCB_AGI|SCB_VIT|SCB_DEX|SCB_INT|SCB_LUK;
|
|
StatusChangeFlagTable[SC_MYSTERIOUS_POWDER] |= SCB_MAXHP;
|
|
StatusChangeFlagTable[SC_MYSTERIOUS_POWDER] |= SCB_MAXHP;
|
|
@@ -2935,6 +2899,8 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
|
|
+ sizeof(sd->skillfixcast)
|
|
+ sizeof(sd->skillfixcast)
|
|
+ sizeof(sd->skillvarcast)
|
|
+ sizeof(sd->skillvarcast)
|
|
+ sizeof(sd->skillfixcastrate)
|
|
+ sizeof(sd->skillfixcastrate)
|
|
|
|
+ + sizeof(sd->def_set_race)
|
|
|
|
+ + sizeof(sd->mdef_set_race)
|
|
);
|
|
);
|
|
|
|
|
|
memset (&sd->bonus, 0,sizeof(sd->bonus));
|
|
memset (&sd->bonus, 0,sizeof(sd->bonus));
|
|
@@ -4782,7 +4748,7 @@ static unsigned short status_calc_str(struct block_list *bl, struct status_chang
|
|
if(sc->data[SC_SAVAGE_STEAK])
|
|
if(sc->data[SC_SAVAGE_STEAK])
|
|
str += sc->data[SC_SAVAGE_STEAK]->val1;
|
|
str += sc->data[SC_SAVAGE_STEAK]->val1;
|
|
if(sc->data[SC_INSPIRATION])
|
|
if(sc->data[SC_INSPIRATION])
|
|
- str += sc->data[SC_INSPIRATION]->val2;
|
|
|
|
|
|
+ str += sc->data[SC_INSPIRATION]->val3;
|
|
if(sc->data[SC_STOMACHACHE])
|
|
if(sc->data[SC_STOMACHACHE])
|
|
str -= sc->data[SC_STOMACHACHE]->val1;
|
|
str -= sc->data[SC_STOMACHACHE]->val1;
|
|
if(sc->data[SC_KYOUGAKU])
|
|
if(sc->data[SC_KYOUGAKU])
|
|
@@ -4846,7 +4812,7 @@ static unsigned short status_calc_agi(struct block_list *bl, struct status_chang
|
|
if(sc->data[SC_DROCERA_HERB_STEAMED])
|
|
if(sc->data[SC_DROCERA_HERB_STEAMED])
|
|
agi += sc->data[SC_DROCERA_HERB_STEAMED]->val1;
|
|
agi += sc->data[SC_DROCERA_HERB_STEAMED]->val1;
|
|
if(sc->data[SC_INSPIRATION])
|
|
if(sc->data[SC_INSPIRATION])
|
|
- agi += sc->data[SC_INSPIRATION]->val2;
|
|
|
|
|
|
+ agi += sc->data[SC_INSPIRATION]->val3;
|
|
if(sc->data[SC_STOMACHACHE])
|
|
if(sc->data[SC_STOMACHACHE])
|
|
agi -= sc->data[SC_STOMACHACHE]->val1;
|
|
agi -= sc->data[SC_STOMACHACHE]->val1;
|
|
if(sc->data[SC_KYOUGAKU])
|
|
if(sc->data[SC_KYOUGAKU])
|
|
@@ -4898,7 +4864,7 @@ static unsigned short status_calc_vit(struct block_list *bl, struct status_chang
|
|
if(sc->data[SC_MINOR_BBQ])
|
|
if(sc->data[SC_MINOR_BBQ])
|
|
vit += sc->data[SC_MINOR_BBQ]->val1;
|
|
vit += sc->data[SC_MINOR_BBQ]->val1;
|
|
if(sc->data[SC_INSPIRATION])
|
|
if(sc->data[SC_INSPIRATION])
|
|
- vit += sc->data[SC_INSPIRATION]->val2;
|
|
|
|
|
|
+ vit += sc->data[SC_INSPIRATION]->val3;
|
|
if(sc->data[SC_STOMACHACHE])
|
|
if(sc->data[SC_STOMACHACHE])
|
|
vit -= sc->data[SC_STOMACHACHE]->val1;
|
|
vit -= sc->data[SC_STOMACHACHE]->val1;
|
|
if(sc->data[SC_KYOUGAKU])
|
|
if(sc->data[SC_KYOUGAKU])
|
|
@@ -4959,14 +4925,14 @@ static unsigned short status_calc_int(struct block_list *bl, struct status_chang
|
|
int_ -= ((sc->data[SC_MARIONETTE]->val4)>>16)&0xFF;
|
|
int_ -= ((sc->data[SC_MARIONETTE]->val4)>>16)&0xFF;
|
|
if(sc->data[SC_MARIONETTE2])
|
|
if(sc->data[SC_MARIONETTE2])
|
|
int_ += ((sc->data[SC_MARIONETTE2]->val4)>>16)&0xFF;
|
|
int_ += ((sc->data[SC_MARIONETTE2]->val4)>>16)&0xFF;
|
|
|
|
+ if(sc->data[SC_INSPIRATION])
|
|
|
|
+ int_ += sc->data[SC_INSPIRATION]->val3;
|
|
if(sc->data[SC_MELODYOFSINK])
|
|
if(sc->data[SC_MELODYOFSINK])
|
|
int_ -= sc->data[SC_MELODYOFSINK]->val3;
|
|
int_ -= sc->data[SC_MELODYOFSINK]->val3;
|
|
if(sc->data[SC_MANDRAGORA])
|
|
if(sc->data[SC_MANDRAGORA])
|
|
int_ -= 4 * sc->data[SC_MANDRAGORA]->val1;
|
|
int_ -= 4 * sc->data[SC_MANDRAGORA]->val1;
|
|
if(sc->data[SC_COCKTAIL_WARG_BLOOD])
|
|
if(sc->data[SC_COCKTAIL_WARG_BLOOD])
|
|
int_ += sc->data[SC_COCKTAIL_WARG_BLOOD]->val1;
|
|
int_ += sc->data[SC_COCKTAIL_WARG_BLOOD]->val1;
|
|
- if(sc->data[SC_INSPIRATION])
|
|
|
|
- int_ += sc->data[SC_INSPIRATION]->val2;
|
|
|
|
if(sc->data[SC_STOMACHACHE])
|
|
if(sc->data[SC_STOMACHACHE])
|
|
int_ -= sc->data[SC_STOMACHACHE]->val1;
|
|
int_ -= sc->data[SC_STOMACHACHE]->val1;
|
|
if(sc->data[SC_KYOUGAKU])
|
|
if(sc->data[SC_KYOUGAKU])
|
|
@@ -5035,7 +5001,7 @@ static unsigned short status_calc_dex(struct block_list *bl, struct status_chang
|
|
if(sc->data[SC_SIROMA_ICE_TEA])
|
|
if(sc->data[SC_SIROMA_ICE_TEA])
|
|
dex += sc->data[SC_SIROMA_ICE_TEA]->val1;
|
|
dex += sc->data[SC_SIROMA_ICE_TEA]->val1;
|
|
if(sc->data[SC_INSPIRATION])
|
|
if(sc->data[SC_INSPIRATION])
|
|
- dex += sc->data[SC_INSPIRATION]->val2;
|
|
|
|
|
|
+ dex += sc->data[SC_INSPIRATION]->val3;
|
|
if(sc->data[SC_STOMACHACHE])
|
|
if(sc->data[SC_STOMACHACHE])
|
|
dex -= sc->data[SC_STOMACHACHE]->val1;
|
|
dex -= sc->data[SC_STOMACHACHE]->val1;
|
|
if(sc->data[SC_KYOUGAKU])
|
|
if(sc->data[SC_KYOUGAKU])
|
|
@@ -5090,7 +5056,7 @@ static unsigned short status_calc_luk(struct block_list *bl, struct status_chang
|
|
if(sc->data[SC_PUTTI_TAILS_NOODLES])
|
|
if(sc->data[SC_PUTTI_TAILS_NOODLES])
|
|
luk += sc->data[SC_PUTTI_TAILS_NOODLES]->val1;
|
|
luk += sc->data[SC_PUTTI_TAILS_NOODLES]->val1;
|
|
if(sc->data[SC_INSPIRATION])
|
|
if(sc->data[SC_INSPIRATION])
|
|
- luk += sc->data[SC_INSPIRATION]->val2;
|
|
|
|
|
|
+ luk += sc->data[SC_INSPIRATION]->val3;
|
|
if(sc->data[SC_STOMACHACHE])
|
|
if(sc->data[SC_STOMACHACHE])
|
|
luk -= sc->data[SC_STOMACHACHE]->val1;
|
|
luk -= sc->data[SC_STOMACHACHE]->val1;
|
|
if(sc->data[SC_KYOUGAKU])
|
|
if(sc->data[SC_KYOUGAKU])
|
|
@@ -5122,14 +5088,12 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan
|
|
|
|
|
|
if(sc->data[SC_ATKPOTION])
|
|
if(sc->data[SC_ATKPOTION])
|
|
batk += sc->data[SC_ATKPOTION]->val1;
|
|
batk += sc->data[SC_ATKPOTION]->val1;
|
|
-#ifndef RENEWAL
|
|
|
|
- if(sc->data[SC_MADNESSCANCEL])
|
|
|
|
- batk += 100;
|
|
|
|
- if(sc->data[SC_GATLINGFEVER])
|
|
|
|
- batk += sc->data[SC_GATLINGFEVER]->val3;
|
|
|
|
-#endif
|
|
|
|
if(sc->data[SC_BATKFOOD])
|
|
if(sc->data[SC_BATKFOOD])
|
|
batk += sc->data[SC_BATKFOOD]->val1;
|
|
batk += sc->data[SC_BATKFOOD]->val1;
|
|
|
|
+ if(sc->data[SC_GATLINGFEVER])
|
|
|
|
+ batk += sc->data[SC_GATLINGFEVER]->val3;
|
|
|
|
+ if(sc->data[SC_MADNESSCANCEL])
|
|
|
|
+ batk += 100;
|
|
if(sc->data[SC_FIRE_INSIGNIA] && sc->data[SC_FIRE_INSIGNIA]->val1 == 2)
|
|
if(sc->data[SC_FIRE_INSIGNIA] && sc->data[SC_FIRE_INSIGNIA]->val1 == 2)
|
|
batk += 50;
|
|
batk += 50;
|
|
if(bl->type == BL_ELEM
|
|
if(bl->type == BL_ELEM
|
|
@@ -5152,10 +5116,8 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan
|
|
batk += batk * sc->data[SC_INCATKRATE]->val1/100;
|
|
batk += batk * sc->data[SC_INCATKRATE]->val1/100;
|
|
if(sc->data[SC_PROVOKE])
|
|
if(sc->data[SC_PROVOKE])
|
|
batk += batk * sc->data[SC_PROVOKE]->val3/100;
|
|
batk += batk * sc->data[SC_PROVOKE]->val3/100;
|
|
-#ifndef RENEWAL
|
|
|
|
if(sc->data[SC_CONCENTRATION])
|
|
if(sc->data[SC_CONCENTRATION])
|
|
batk += batk * sc->data[SC_CONCENTRATION]->val2/100;
|
|
batk += batk * sc->data[SC_CONCENTRATION]->val2/100;
|
|
-#endif
|
|
|
|
if(sc->data[SC_SKE])
|
|
if(sc->data[SC_SKE])
|
|
batk += batk * 3;
|
|
batk += batk * 3;
|
|
if(sc->data[SC_BLOODLUST])
|
|
if(sc->data[SC_BLOODLUST])
|
|
@@ -5171,6 +5133,8 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan
|
|
batk += batk * sc->data[SC_FLEET]->val3/100;
|
|
batk += batk * sc->data[SC_FLEET]->val3/100;
|
|
if(sc->data[SC__ENERVATION])
|
|
if(sc->data[SC__ENERVATION])
|
|
batk -= batk * sc->data[SC__ENERVATION]->val2 / 100;
|
|
batk -= batk * sc->data[SC__ENERVATION]->val2 / 100;
|
|
|
|
+ if(sc->data[SC_SATURDAYNIGHTFEVER])
|
|
|
|
+ batk += 100 * sc->data[SC_SATURDAYNIGHTFEVER]->val1;
|
|
if( sc->data[SC_ZANGETSU] )
|
|
if( sc->data[SC_ZANGETSU] )
|
|
batk += sc->data[SC_ZANGETSU]->val2;
|
|
batk += sc->data[SC_ZANGETSU]->val2;
|
|
if(sc->data[SC_EQC])
|
|
if(sc->data[SC_EQC])
|
|
@@ -5197,18 +5161,22 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
|
|
if(!sc || !sc->count)
|
|
if(!sc || !sc->count)
|
|
return cap_value(watk,0,USHRT_MAX);
|
|
return cap_value(watk,0,USHRT_MAX);
|
|
|
|
|
|
- if(sc->data[SC_WATKFOOD])
|
|
|
|
- watk += sc->data[SC_WATKFOOD]->val1;
|
|
|
|
-#ifndef RENEWAL
|
|
|
|
if(sc->data[SC_IMPOSITIO])
|
|
if(sc->data[SC_IMPOSITIO])
|
|
watk += sc->data[SC_IMPOSITIO]->val2;
|
|
watk += sc->data[SC_IMPOSITIO]->val2;
|
|
- if(sc->data[SC_VOLCANO])
|
|
|
|
- watk += sc->data[SC_VOLCANO]->val2;
|
|
|
|
|
|
+ if(sc->data[SC_WATKFOOD])
|
|
|
|
+ watk += sc->data[SC_WATKFOOD]->val1;
|
|
if(sc->data[SC_DRUMBATTLE])
|
|
if(sc->data[SC_DRUMBATTLE])
|
|
watk += sc->data[SC_DRUMBATTLE]->val2;
|
|
watk += sc->data[SC_DRUMBATTLE]->val2;
|
|
|
|
+ if(sc->data[SC_VOLCANO])
|
|
|
|
+ watk += sc->data[SC_VOLCANO]->val2;
|
|
|
|
+ if(sc->data[SC_MERC_ATKUP])
|
|
|
|
+ watk += sc->data[SC_MERC_ATKUP]->val2;
|
|
|
|
+ if(sc->data[SC_WATER_BARRIER])
|
|
|
|
+ watk -= sc->data[SC_WATER_BARRIER]->val3;
|
|
if(sc->data[SC_NIBELUNGEN]) {
|
|
if(sc->data[SC_NIBELUNGEN]) {
|
|
if (bl->type != BL_PC)
|
|
if (bl->type != BL_PC)
|
|
watk += sc->data[SC_NIBELUNGEN]->val2;
|
|
watk += sc->data[SC_NIBELUNGEN]->val2;
|
|
|
|
+ #ifndef RENEWAL
|
|
else {
|
|
else {
|
|
TBL_PC *sd = (TBL_PC*)bl;
|
|
TBL_PC *sd = (TBL_PC*)bl;
|
|
int index = sd->equip_index[sd->state.lr_flag?EQI_HAND_L:EQI_HAND_R];
|
|
int index = sd->equip_index[sd->state.lr_flag?EQI_HAND_L:EQI_HAND_R];
|
|
@@ -5216,18 +5184,14 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
|
|
if(index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->wlv == 4)
|
|
if(index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->wlv == 4)
|
|
watk += sc->data[SC_NIBELUNGEN]->val2;
|
|
watk += sc->data[SC_NIBELUNGEN]->val2;
|
|
}
|
|
}
|
|
|
|
+ #endif
|
|
}
|
|
}
|
|
- if(sc->data[SC_CONCENTRATION])
|
|
|
|
- watk += watk * sc->data[SC_CONCENTRATION]->val2/100;
|
|
|
|
-#endif
|
|
|
|
- if(sc->data[SC_MERC_ATKUP])
|
|
|
|
- watk += sc->data[SC_MERC_ATKUP]->val2;
|
|
|
|
- if(sc->data[SC_WATER_BARRIER])
|
|
|
|
- watk -= sc->data[SC_WATER_BARRIER]->val3;
|
|
|
|
if(sc->data[SC_INCATKRATE])
|
|
if(sc->data[SC_INCATKRATE])
|
|
watk += watk * sc->data[SC_INCATKRATE]->val1/100;
|
|
watk += watk * sc->data[SC_INCATKRATE]->val1/100;
|
|
if(sc->data[SC_PROVOKE])
|
|
if(sc->data[SC_PROVOKE])
|
|
watk += watk * sc->data[SC_PROVOKE]->val3/100;
|
|
watk += watk * sc->data[SC_PROVOKE]->val3/100;
|
|
|
|
+ if(sc->data[SC_CONCENTRATION])
|
|
|
|
+ watk += watk * sc->data[SC_CONCENTRATION]->val2/100;
|
|
if(sc->data[SC_SKE])
|
|
if(sc->data[SC_SKE])
|
|
watk += watk * 3;
|
|
watk += watk * 3;
|
|
if(sc->data[SC_FLEET])
|
|
if(sc->data[SC_FLEET])
|
|
@@ -5236,15 +5200,33 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
|
|
watk -= watk * 25/100;
|
|
watk -= watk * 25/100;
|
|
if(sc->data[SC_STRIPWEAPON] && bl->type != BL_PC)
|
|
if(sc->data[SC_STRIPWEAPON] && bl->type != BL_PC)
|
|
watk -= watk * sc->data[SC_STRIPWEAPON]->val2/100;
|
|
watk -= watk * sc->data[SC_STRIPWEAPON]->val2/100;
|
|
|
|
+ if(sc->data[SC_FIGHTINGSPIRIT])
|
|
|
|
+ watk += sc->data[SC_FIGHTINGSPIRIT]->val1;
|
|
|
|
+ if(sc->data[SC_SHIELDSPELL_DEF] && sc->data[SC_SHIELDSPELL_DEF]->val1 == 3)
|
|
|
|
+ watk += sc->data[SC_SHIELDSPELL_DEF]->val2;
|
|
|
|
+ if(sc->data[SC_BANDING] && sc->data[SC_BANDING]->val2 > 1)
|
|
|
|
+ watk += (10 + 10 * sc->data[SC_BANDING]->val1) * sc->data[SC_BANDING]->val2;
|
|
|
|
+ if(sc->data[SC_INSPIRATION])
|
|
|
|
+ watk += 40 * sc->data[SC_INSPIRATION]->val1 + 3 * sc->data[SC_INSPIRATION]->val2;
|
|
|
|
+ if(sc->data[SC_GT_CHANGE] && sc->data[SC_GT_CHANGE]->val2)
|
|
|
|
+ watk += sc->data[SC_GT_CHANGE]->val2;
|
|
if(sc->data[SC__ENERVATION])
|
|
if(sc->data[SC__ENERVATION])
|
|
watk -= watk * sc->data[SC__ENERVATION]->val2 / 100;
|
|
watk -= watk * sc->data[SC__ENERVATION]->val2 / 100;
|
|
if(sc->data[SC_STRIKING])
|
|
if(sc->data[SC_STRIKING])
|
|
watk += sc->data[SC_STRIKING]->val2;
|
|
watk += sc->data[SC_STRIKING]->val2;
|
|
|
|
+ if(sc->data[SC_RUSHWINDMILL])
|
|
|
|
+ watk += sc->data[SC_RUSHWINDMILL]->val3;
|
|
if((sc->data[SC_FIRE_INSIGNIA] && sc->data[SC_FIRE_INSIGNIA]->val1 == 2)
|
|
if((sc->data[SC_FIRE_INSIGNIA] && sc->data[SC_FIRE_INSIGNIA]->val1 == 2)
|
|
|| (sc->data[SC_WATER_INSIGNIA] && sc->data[SC_WATER_INSIGNIA]->val1 == 2)
|
|
|| (sc->data[SC_WATER_INSIGNIA] && sc->data[SC_WATER_INSIGNIA]->val1 == 2)
|
|
|| (sc->data[SC_WIND_INSIGNIA] && sc->data[SC_WIND_INSIGNIA]->val1 == 2)
|
|
|| (sc->data[SC_WIND_INSIGNIA] && sc->data[SC_WIND_INSIGNIA]->val1 == 2)
|
|
|| (sc->data[SC_EARTH_INSIGNIA] && sc->data[SC_EARTH_INSIGNIA]->val1 == 2))
|
|
|| (sc->data[SC_EARTH_INSIGNIA] && sc->data[SC_EARTH_INSIGNIA]->val1 == 2))
|
|
watk += watk / 10;
|
|
watk += watk / 10;
|
|
|
|
+ if(sc->data[SC_PYROTECHNIC_OPTION])
|
|
|
|
+ watk += sc->data[SC_PYROTECHNIC_OPTION]->val2;
|
|
|
|
+ if(sc->data[SC_HEATER_OPTION])
|
|
|
|
+ watk += sc->data[SC_HEATER_OPTION]->val2;
|
|
|
|
+ if(sc->data[SC_TROPIC_OPTION])
|
|
|
|
+ watk += sc->data[SC_TROPIC_OPTION]->val2;
|
|
if( sc && sc->data[SC_TIDAL_WEAPON] )
|
|
if( sc && sc->data[SC_TIDAL_WEAPON] )
|
|
watk += watk * sc->data[SC_TIDAL_WEAPON]->val2 / 100;
|
|
watk += watk * sc->data[SC_TIDAL_WEAPON]->val2 / 100;
|
|
if(bl->type == BL_PC && sc->data[SC_PYROCLASTIC])
|
|
if(bl->type == BL_PC && sc->data[SC_PYROCLASTIC])
|
|
@@ -5422,7 +5404,7 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change
|
|
if(sc->data[SC_CONCENTRATION])
|
|
if(sc->data[SC_CONCENTRATION])
|
|
hit += sc->data[SC_CONCENTRATION]->val3;
|
|
hit += sc->data[SC_CONCENTRATION]->val3;
|
|
if(sc->data[SC_INSPIRATION])
|
|
if(sc->data[SC_INSPIRATION])
|
|
- hit += 5 * sc->data[SC_INSPIRATION]->val1 + sc->data[SC_INSPIRATION]->val3 / 2;
|
|
|
|
|
|
+ hit += 5 * sc->data[SC_INSPIRATION]->val1 + sc->data[SC_INSPIRATION]->val2 / 2;
|
|
if(sc->data[SC_ADJUSTMENT])
|
|
if(sc->data[SC_ADJUSTMENT])
|
|
hit -= 30;
|
|
hit -= 30;
|
|
if(sc->data[SC_INCREASING])
|
|
if(sc->data[SC_INCREASING])
|
|
@@ -5643,10 +5625,8 @@ static defType status_calc_def(struct block_list *bl, struct status_change *sc,
|
|
def += sc->data[SC_SHIELDSPELL_REF]->val2;
|
|
def += sc->data[SC_SHIELDSPELL_REF]->val2;
|
|
if( sc->data[SC_PRESTIGE] )
|
|
if( sc->data[SC_PRESTIGE] )
|
|
def += sc->data[SC_PRESTIGE]->val1;
|
|
def += sc->data[SC_PRESTIGE]->val1;
|
|
-#ifndef RENEWAL
|
|
|
|
if( sc->data[SC_BANDING] && sc->data[SC_BANDING]->val2 > 1 )
|
|
if( sc->data[SC_BANDING] && sc->data[SC_BANDING]->val2 > 1 )
|
|
def += (5 + sc->data[SC_BANDING]->val1) * sc->data[SC_BANDING]->val2 / 10;
|
|
def += (5 + sc->data[SC_BANDING]->val1) * sc->data[SC_BANDING]->val2 / 10;
|
|
-#endif
|
|
|
|
if( sc->data[SC_ECHOSONG] )
|
|
if( sc->data[SC_ECHOSONG] )
|
|
def += def * sc->data[SC_ECHOSONG]->val3 / 100;
|
|
def += def * sc->data[SC_ECHOSONG]->val3 / 100;
|
|
if( sc->data[SC_SATURDAYNIGHTFEVER] )
|
|
if( sc->data[SC_SATURDAYNIGHTFEVER] )
|
|
@@ -5694,19 +5674,17 @@ static signed short status_calc_def2(struct block_list *bl, struct status_change
|
|
|
|
|
|
if(sc->data[SC_SUN_COMFORT])
|
|
if(sc->data[SC_SUN_COMFORT])
|
|
def2 += sc->data[SC_SUN_COMFORT]->val2;
|
|
def2 += sc->data[SC_SUN_COMFORT]->val2;
|
|
-#ifdef RENEWAL
|
|
|
|
if( sc->data[SC_BANDING] && sc->data[SC_BANDING]->val2 > 1 )
|
|
if( sc->data[SC_BANDING] && sc->data[SC_BANDING]->val2 > 1 )
|
|
def2 += (5 + sc->data[SC_BANDING]->val1) * sc->data[SC_BANDING]->val2;
|
|
def2 += (5 + sc->data[SC_BANDING]->val1) * sc->data[SC_BANDING]->val2;
|
|
-#endif
|
|
|
|
|
|
|
|
if(sc->data[SC_ANGELUS])
|
|
if(sc->data[SC_ANGELUS])
|
|
#ifdef RENEWAL /// The VIT stat bonus is boosted by angelus [RENEWAL]
|
|
#ifdef RENEWAL /// The VIT stat bonus is boosted by angelus [RENEWAL]
|
|
def2 += status_get_vit(bl) / 2 * sc->data[SC_ANGELUS]->val2/100;
|
|
def2 += status_get_vit(bl) / 2 * sc->data[SC_ANGELUS]->val2/100;
|
|
#else
|
|
#else
|
|
def2 += def2 * sc->data[SC_ANGELUS]->val2/100;
|
|
def2 += def2 * sc->data[SC_ANGELUS]->val2/100;
|
|
|
|
+#endif
|
|
if(sc->data[SC_CONCENTRATION])
|
|
if(sc->data[SC_CONCENTRATION])
|
|
def2 -= def2 * sc->data[SC_CONCENTRATION]->val4/100;
|
|
def2 -= def2 * sc->data[SC_CONCENTRATION]->val4/100;
|
|
-#endif
|
|
|
|
if(sc->data[SC_POISON])
|
|
if(sc->data[SC_POISON])
|
|
def2 -= def2 * 25/100;
|
|
def2 -= def2 * 25/100;
|
|
if(sc->data[SC_DPOISON])
|
|
if(sc->data[SC_DPOISON])
|
|
@@ -8935,7 +8913,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
val2 = 5*val1; // def increase
|
|
val2 = 5*val1; // def increase
|
|
break;
|
|
break;
|
|
case SC_IMPOSITIO:
|
|
case SC_IMPOSITIO:
|
|
- val2 = 5*val1; // Atk increase
|
|
|
|
|
|
+ val2 = 5*val1; // Watk increase
|
|
break;
|
|
break;
|
|
case SC_MELTDOWN:
|
|
case SC_MELTDOWN:
|
|
val2 = 100*val1; // Chance to break weapon
|
|
val2 = 100*val1; // Chance to break weapon
|
|
@@ -9478,8 +9456,8 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
break;
|
|
break;
|
|
case SC_INSPIRATION:
|
|
case SC_INSPIRATION:
|
|
if( sd ) {
|
|
if( sd ) {
|
|
- val2 = status_get_lv(bl) / 10 + (sd?sd->status.job_level:50) / 5; // All stat bonus
|
|
|
|
- val3 = (sd?sd->status.job_level:50);
|
|
|
|
|
|
+ val2 = (sd?sd->status.job_level:50);
|
|
|
|
+ val3 = status_get_lv(bl) / 10 + val2 / 5; //All stat bonus
|
|
}
|
|
}
|
|
val4 = tick / 5000;
|
|
val4 = tick / 5000;
|
|
tick_time = 5000; // [GodLesZ] tick time
|
|
tick_time = 5000; // [GodLesZ] tick time
|
|
@@ -9503,8 +9481,10 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
{ // Take note there is no def increase as skill desc says. [malufett]
|
|
{ // Take note there is no def increase as skill desc says. [malufett]
|
|
struct block_list * src2;
|
|
struct block_list * src2;
|
|
val3 = status->agi * val1 / 60; // ASPD increase: [(Target AGI x Skill Level) / 60] %
|
|
val3 = status->agi * val1 / 60; // ASPD increase: [(Target AGI x Skill Level) / 60] %
|
|
- if( (src2 = map_id2bl(val2)) )
|
|
|
|
|
|
+ if( (src2 = map_id2bl(val2)) ) {
|
|
|
|
+ val2 = (status_get_dex(src2) / 4 + status_get_str(src2) / 2) * val1 / 5; // ATK increase: ATK [{(Caster DEX / 4) + (Caster STR / 2)} x Skill Level / 5]
|
|
val4 = ( 200/status_get_int(src2) ) * val1; // MDEF decrease: MDEF [(200 / Caster INT) x Skill Level]
|
|
val4 = ( 200/status_get_int(src2) ) * val1; // MDEF decrease: MDEF [(200 / Caster INT) x Skill Level]
|
|
|
|
+ }
|
|
if( val4 < 0 )
|
|
if( val4 < 0 )
|
|
val4 = 0;
|
|
val4 = 0;
|
|
}
|
|
}
|