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 --- db/skill_db.txt | 6 +++--- src/map/skill.c | 28 ++++++++++++++++++---------- src/map/status.c | 3 ++- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/db/skill_db.txt b/db/skill_db.txt index 449982dfb..93df46150 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -536,11 +536,11 @@ 513,-5,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //GS_DISARM#Disarm# 514,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //GS_PIERCINGSHOT#Piercing Shot# 515,-5,8,1,-1,0,0,10,5,no,0,0,0,weapon,0 //GS_RAPIDSHOWER#Rapid Shower# -516,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //GS_DESPERADO#Desperado# +516,-5,8,4,-1,2,3,10,7,no,0,0,0,weapon,0 //GS_DESPERADO#Desperado# 517,0,6,4,0,1,0,5,1,no,0,0,0,weapon,0 //GS_GATLINGFEVER#Gatling Fever# 518,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //GS_DUST#Dust# 519,-5,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //GS_FULLBUSTER#Full Buster# -520,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //GS_SPREADATTACK#Spread Attack# +520,-5,6,4,-1,2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0 //GS_SPREADATTACK#Spread Attack# 521,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //GS_GROUNDDRIFT#Ground Drift# 522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0 //NJ_TOBIDOUGU#NJ_TOBIDOUGU# 523,9,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //NJ_SYURIKEN#NJ_SYURIKEN# @@ -550,7 +550,7 @@ 527,0,6,4,3,0,0,5,1,no,0,0,0,weapon,0 //NJ_TATAMIGAESHI#NJ_TATAMIGAESHI# 528,1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //NJ_KASUMIKIRI#NJ_KASUMIKIRI# 529,1,6,4,0,1,0,5,1,no,0,0,0,none,0 //NJ_SHADOWJUMP#NJ_SHADOWJUMP# -530,1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //NJ_KIRIKAGE#NJ_KIRIKAGE# +530,-1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //NJ_KIRIKAGE#NJ_KIRIKAGE# 531,0,6,4,0,1,0,5,1,no,0,0,0,none,0 //NJ_UTSUSEMI#NJ_UTSUSEMI# 532,0,6,4,0,1,0,10,1,no,0,0,0,none,0 //NJ_BUNSINJYUTSU#NJ_BUNSINJYUTSU# 533,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //NJ_NINPOU#NJ_NINPOU# 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