diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-22 03:30:07 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-22 03:30:07 +0000 |
commit | 5ed26fca39106ce4a177471f2deb57396ee33c1b (patch) | |
tree | 5febd19fb51b357d101a048903263569d30f3c61 /src | |
parent | dcd2283d1018e5f56ceff2bd24f18245c565e79b (diff) | |
download | hercules-5ed26fca39106ce4a177471f2deb57396ee33c1b.tar.gz hercules-5ed26fca39106ce4a177471f2deb57396ee33c1b.tar.bz2 hercules-5ed26fca39106ce4a177471f2deb57396ee33c1b.tar.xz hercules-5ed26fca39106ce4a177471f2deb57396ee33c1b.zip |
- Some more cleaning up of the splash skill code. Now the passed hit value for the splash targetted mobs is 9 instead of 5, this allows multi-hitting splash skills to display the number of hits correctly.
- Also merged Blitz Beat to the rest of the splash code.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8415 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/skill.c | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 9b687ab8f..132cf7eff 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2879,6 +2879,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int case AS_SPLASHER: case AS_GRIMTOOTH: case SM_MAGNUM: + case HT_BLITZBEAT: case MC_CARTREVOLUTION: case NPC_SPLASHATTACK: case AC_SHOWER: @@ -2895,7 +2896,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int { //Invoked from map_foreachinarea, skill_area_temp[0] holds number of targets to divide damage by. if (skill_area_temp[1] != bl->id) skill_attack(skill_get_type(skillid), src, src, bl, - skillid, skilllv, tick, skill_area_temp[0]|0x1500); + skillid, skilllv, tick, skill_area_temp[0]|0x1900); else if (skillid == KN_BRANDISHSPEAR) skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv, tick, skill_area_temp[0]); @@ -2905,7 +2906,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int clif_skill_nodamage(src,bl,skillid,skilllv,1); skill_area_temp[0] = 0; skill_area_temp[1] = bl->id; - if (skill_get_nk(skillid)&NK_SPLASHSPLIT) + //0xF000 -> Forced splash damage for Auto Blitz-Beat + if (flag&0xF000 || skill_get_nk(skillid)&NK_SPLASHSPLIT) map_foreachinrange(skill_area_sub, bl, skill_get_splash(skillid, skilllv), BL_CHAR, src, skillid, skilllv, tick, BCT_ENEMY, skill_area_sub_count); @@ -2919,7 +2921,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int //Splasher Should do 100% damage on targetted character. skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv, - tick, skillid == AS_SPLASHER?0:skill_area_temp[0]); + tick, (skillid == AS_SPLASHER?0:skill_area_temp[0])|(flag&0xF000)); if (skillid == SM_MAGNUM) { //Initiate 10% of your damage becomes fire element. @@ -2928,31 +2930,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int } break; - //Done apart because you can't mix the flag with BCT_ENEMY for auto-blitz. - case HT_BLITZBEAT: - if (flag&1) { - if (skill_area_temp[1] != bl->id) - skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv, - tick, skill_area_temp[0]|(flag&0xFF00)); - } else { - skill_area_temp[0] = 0; - skill_area_temp[1] = bl->id; - if (flag&0xF000) - map_foreachinrange(skill_area_sub, bl, - skill_get_splash(skillid, skilllv), BL_CHAR, - src, skillid, skilllv, tick, BCT_ENEMY, skill_area_sub_count); - else - skill_area_temp[0] = 1; - map_foreachinrange(skill_area_sub, bl, - skill_get_splash(skillid, skilllv), BL_CHAR, - src, skillid, skilllv, tick, BCT_ENEMY|1|flag, - skill_castend_damage_id); - - skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv, - tick, skill_area_temp[0]|(flag&0xFF00)); - } - break; - case KN_BOWLINGBASH: if(flag&1){ if(bl->id==skill_area_temp[1]) |