summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-02-09 01:37:48 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-02-09 01:37:48 +0000
commit3d56a0bf4a4ac9da69eac47560b18e2f770d2747 (patch)
tree0964f7a067aa4f55e90707cf25ff6c875469037a /src/map/skill.c
parentafe5db9b8300ed02e0a57c75b28d5c02baed58da (diff)
downloadhercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.tar.gz
hercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.tar.bz2
hercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.tar.xz
hercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.zip
Added some renewal behaviors of skills from bugreport:5302 (all under renewal mode)
- Steel body no longer sets def and mdef at 90, instead it reduces incoming damage by 1/10. - Storm Gust no longer possesses a hit counter; instead every hit have a chance to freeze of 20+(5 x skill_level). - Thunder Storm skill ratio was increased from 80% to 100% - Misc: added isOFF macro to replace REMODE == 0 compiler-level-checks. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15553 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 81ffb2333..3179853c2 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -800,6 +800,12 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
break;
case WZ_STORMGUST:
+ /**
+ * Storm Gust counter was dropped in renewal
+ **/
+ #if REMODE
+ sc_start(bl,SC_FREEZE,20+(5*skilllv),skilllv,skill_get_time2(skillid,skilllv));
+ #else
//Tharis pointed out that this is normal freeze chance with a base of 300%
if(tsc->sg_counter >= 3 &&
sc_start(bl,SC_FREEZE,300,skilllv,skill_get_time2(skillid,skilllv)))
@@ -809,6 +815,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
**/
else if( tsc->sg_counter > 250 )
tsc->sg_counter = 0;
+ #endif
break;
case WZ_METEOR:
@@ -9564,13 +9571,17 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
++count < SKILLUNITTIMER_INTERVAL/sg->interval && !status_isdead(bl) );
}
break;
+ /**
+ * The storm gust counter was dropped in renewal
+ **/
+ #if isOFF(REMODE)
case WZ_STORMGUST: //SG counter does not reset per stormgust. IE: One hit from a SG and two hits from another will freeze you.
if (tsc)
tsc->sg_counter++; //SG hit counter.
if (skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0) <= 0 && tsc)
tsc->sg_counter=0; //Attack absorbed.
break;
-
+ #endif
case GS_DESPERADO:
if (rnd()%100 < src->val1)
skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);