diff options
author | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-08 12:28:14 +0000 |
---|---|---|
committer | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-08 12:28:14 +0000 |
commit | cf31daa59894d5f19f0090b824de335e56e2a06d (patch) | |
tree | 16f9d1f1e619d05af1f79f4dc6b69aa66c06ad91 /src/map/skill.c | |
parent | 315d632e69c60d2996872c9330164133101befdf (diff) | |
download | hercules-cf31daa59894d5f19f0090b824de335e56e2a06d.tar.gz hercules-cf31daa59894d5f19f0090b824de335e56e2a06d.tar.bz2 hercules-cf31daa59894d5f19f0090b824de335e56e2a06d.tar.xz hercules-cf31daa59894d5f19f0090b824de335e56e2a06d.zip |
Follow up on r16240 update RK_CRUSHTRIKE formula and weapon break percentage.
Fixed bugreport:5953 GC_CROSSRIPPERSLASHER range is now (8 + 1 * skill level) cells.
Fixed bugreport:5943 SC_GROOMY is now really remove selected mounts.
Updated Guillotine cross skills formula base on re-balancing formulas...
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16243 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 1274feae7..fa163c222 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2642,7 +2642,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds **/ switch( skillid ) { case RK_CRUSHSTRIKE: - skill_break_equip(src,EQP_WEAPON,10000,BCT_SELF); + skill_break_equip(src,EQP_WEAPON,2000,BCT_SELF); // 20% chance to destroy the weapon. break; case GC_VENOMPRESSURE: { struct status_change *ssc = status_get_sc(src); @@ -5973,7 +5973,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in if (i < 5) i = 5; //Minimum rate 5% //Duration in ms - d = skill_get_time(skillid,skilllv) + (sstatus->dex - tstatus->dex)*500; + if( skillid == GC_WEAPONCRUSH){ + d = skill_get_time(skillid,skilllv); + if(bl->type == BL_PC) + d += skilllv * 15 + (sstatus->dex - tstatus->dex); + else + d += skilllv * 30 + (sstatus->dex - tstatus->dex) / 2; + }else + d = skill_get_time(skillid,skilllv) + (sstatus->dex - tstatus->dex)*500; + if (d < 0) d = 0; //Minimum duration 0ms switch (skillid) { @@ -12402,7 +12410,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh * Rune Knight **/ case ST_RIDINGDRAGON: - if( !(sd->sc.option&OPTION_DRAGON)) { + if( !pc_isridingdragon(sd) ) { clif_skill_fail(sd,skill,USESKILL_FAIL_LEVEL,0); return 0; } |