From d8f3a65b95ad72f1bc58e9bfbf814154ec55b814 Mon Sep 17 00:00:00 2001 From: Vicious Date: Sun, 12 Mar 2006 01:42:29 +0000 Subject: nj/gs work by RockmanEXE and red_sun git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5573 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 28 ++++++++++++++++++---------- src/map/status.c | 3 ++- 2 files changed, 20 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/map/skill.c b/src/map/skill.c index 286e06eaa..d05e845ec 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3117,16 +3117,17 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); break; case GS_DESPERADO: - clif_skill_nodamage(src,bl,skillid,skilllv,1); - map_foreachinrange(skill_attack_area, src, - skill_get_splash(skillid, skilllv), BL_CHAR, - BF_WEAPON, src, src, skillid, skilllv, tick, flag, BCT_ENEMY); - break; case GS_SPREADATTACK: - map_foreachinrange(skill_area_sub, bl, - skill_get_splash(skillid, skilllv),BL_CHAR, - src,skillid,skilllv,tick, flag|BCT_ENEMY|1, - skill_castend_damage_id); + if(flag&1) + skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); + else { + //If we get here, someone changed it to be a enemy targetted skill, + //so treat it as such. + map_foreachinrange(skill_area_sub, bl, + skill_get_splash(skillid, skilllv),BL_CHAR, + src,skillid,skilllv,tick, flag|BCT_ENEMY|1, + skill_castend_damage_id); + } break; case NJ_ZENYNAGE: skill_attack(BF_MISC,src,src,bl,skillid,skilllv,tick,flag); @@ -3136,7 +3137,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s sc_start(src,SC_HIDING,100,skilllv,skill_get_time(skillid,skilllv)); break; case NJ_KIRIKAGE: - status_change_end(src, SC_HIDING, -1); // ƒnƒCƒfƒBƒ“ƒO‰ð?œ + status_change_end(src, SC_HIDING, -1); skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); break; case NJ_KOUENKA: @@ -5686,6 +5687,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in pc_delspiritball(sd,1,0); } break; + case GS_DESPERADO: + case GS_SPREADATTACK: + map_foreachinrange(skill_area_sub, src, + skill_get_splash(skillid, skilllv),BL_CHAR, + src,skillid,skilllv,tick, flag|BCT_ENEMY|1, + skill_castend_damage_id); + break; case GS_MADNESSCANCEL: case GS_ADJUSTMENT: case GS_INCREASING: diff --git a/src/map/status.c b/src/map/status.c index d76d3c305..9358aad07 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -449,7 +449,8 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int if (sc && sc->option) { if (sc->option&OPTION_HIDE && skill_num != TF_HIDING && skill_num != AS_GRIMTOOTH - && skill_num != RG_BACKSTAP && skill_num != RG_RAID) + && skill_num != RG_BACKSTAP && skill_num != RG_RAID && skill_num != NJ_SHADOWJUMP + && skill_num != NJ_KIRIKAGE) return 0; // if (sc->option&OPTION_CLOAK && skill_num == TF_HIDING) // return 0; //Latest reports indicate Hiding is usable while Cloaking. [Skotlex] -- cgit v1.2.3-70-g09d2