summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-08 12:28:14 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-08 12:28:14 +0000
commitcf31daa59894d5f19f0090b824de335e56e2a06d (patch)
tree16f9d1f1e619d05af1f79f4dc6b69aa66c06ad91 /src/map/skill.c
parent315d632e69c60d2996872c9330164133101befdf (diff)
downloadhercules-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.c14
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;
}