summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authortoms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-30 19:32:53 +0000
committertoms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-30 19:32:53 +0000
commit4362a0c677113465c450da34148e10676c32298f (patch)
treec9e47cfde4580eb0c27037c65a9cebc2b9af9aec /src/map/skill.c
parent1dc97e8a346414a600bedc25969d5ae21c28f401 (diff)
downloadhercules-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.c22
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);