diff options
author | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-30 19:32:53 +0000 |
---|---|---|
committer | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-30 19:32:53 +0000 |
commit | 4362a0c677113465c450da34148e10676c32298f (patch) | |
tree | c9e47cfde4580eb0c27037c65a9cebc2b9af9aec /src/map/skill.c | |
parent | 1dc97e8a346414a600bedc25969d5ae21c28f401 (diff) | |
download | hercules-4362a0c677113465c450da34148e10676c32298f.tar.gz hercules-4362a0c677113465c450da34148e10676c32298f.tar.bz2 hercules-4362a0c677113465c450da34148e10676c32298f.tar.xz hercules-4362a0c677113465c450da34148e10676c32298f.zip |
Merged mpeg's fix on ninja skills and SA_VOLCANO,SA_DELUGE,SA_VIOLENTGALE
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7983 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 9c396eb1d..a1f02e31a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2748,7 +2748,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int //line of sight between caster and target. map_foreachinpath (skill_attack_area,src->m,src->x,src->y,bl->x,bl->y, skill_get_splash(skillid, skilllv),BL_CHAR, - BF_WEAPON,src,src,skillid,skilllv,tick,flag,BCT_ENEMY); + BF_MAGIC,src,src,skillid,skilllv,tick,flag,BCT_ENEMY); break; case MO_INVESTIGATE: @@ -2836,7 +2836,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int case MC_CARTREVOLUTION: case NPC_SPLASHATTACK: case AC_SHOWER: //Targetted skill implementation. - case NJ_BAKUENRYU: if(flag&1){ if(bl->id!=skill_area_temp[1]){ skill_attack(skill_get_type(skillid),src,src,bl,skillid,skilllv,tick, @@ -3183,6 +3182,21 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int skill_castend_damage_id); } break; + case NJ_BAKUENRYU: + if (flag & 1) { + skill_attack(BF_MAGIC, src, src, bl, skillid, skilllv, tick, skill_area_temp[0]); + } else { + clif_skill_nodamage(src,bl,skillid,skilllv,1); + skill_area_temp[0] = 0; + map_foreachinrange(skill_area_sub, bl, + skill_get_splash(skillid, skilllv), BL_CHAR, + src, skillid, skilllv, tick, BCT_ENEMY, skill_area_sub_count); + map_foreachinrange(skill_area_sub, bl, + skill_get_splash(skillid, skilllv), BL_CHAR, + src, skillid, skilllv, tick, BCT_ENEMY|1, + skill_castend_damage_id); + } + break; case NJ_KASUMIKIRI: skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); sc_start(src,SC_HIDING,100,skilllv,skill_get_time(skillid,skilllv)); @@ -6055,10 +6069,12 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s case DC_FORTUNEKISS: case DC_SERVICEFORYOU: case GS_DESPERADO: - case NJ_SUITON: case NJ_KAENSIN: + case NJ_BAKUENRYU: + case NJ_SUITON: case NJ_HYOUSYOURAKU: case NJ_RAIGEKISAI: + case NJ_KAMAITACHI: flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete). case GS_GROUNDDRIFT: //Ammo should be deleted right away. skill_unitsetting(src,skillid,skilllv,x,y,0); |