From 06387a85ce94281d1652ab4bc61c5b9c0971832a Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 4 Aug 2006 18:20:02 +0000 Subject: - Some minor code cleanups. - Cleaned up skill code for NJ_BAKUENRYU - Unified splash-damage packet display for NJ_HUUMA and other splash skills (like Brandish spear) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8134 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 12 ++++++------ src/map/skill.c | 26 ++------------------------ 2 files changed, 8 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/map/battle.c b/src/map/battle.c index a2a5147bc..c84fecffd 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2117,7 +2117,7 @@ struct Damage battle_calc_magic_attack( struct map_session_data *sd, *tsd; struct Damage ad; - struct status_change *sc; + struct status_change *tsc; struct status_data *sstatus = status_get_status_data(src); struct status_data *tstatus = status_get_status_data(target); struct { @@ -2234,7 +2234,7 @@ struct Damage battle_calc_magic_attack( //Adds an absolute value to damage. 100 = +100 damage #define MATK_ADD( a ) { ad.damage+= a; } - sc= status_get_sc(target); // used for NJ_SUITON increasing NJ_HYOUSENSOU damages + tsc= status_get_sc(target); // used for NJ_SUITON increasing NJ_HYOUSENSOU damages switch (skill_num) { //Calc base damage according to skill @@ -2358,8 +2358,8 @@ struct Damage battle_calc_magic_attack( break; case NJ_HYOUSENSOU: skillratio -= 30; - if (sc && sc->data[SC_SUITON].timer != -1) - skillratio += sc->data[SC_SUITON].val4; + if (tsc && tsc->data[SC_SUITON].timer != -1) + skillratio += tsc->data[SC_SUITON].val4; break; case NJ_HYOUSYOURAKU: skillratio += 50*skill_lv; // recorrected after calculation from vids @@ -3856,8 +3856,8 @@ void battle_set_defaults() { battle_config.left_cardfix_to_right=0; battle_config.skill_add_range=0; battle_config.skill_out_range_consume=1; - battle_config.skillrange_by_distance=BL_MOB|BL_PET|BL_HOM; - battle_config.use_weapon_skill_range=BL_MOB|BL_PET|BL_HOM; + battle_config.skillrange_by_distance=~BL_PC; + battle_config.use_weapon_skill_range=~BL_PC; battle_config.pc_damage_delay_rate=100; battle_config.defnotenemy=0; battle_config.vs_traps_bctall=BL_PC; diff --git a/src/map/skill.c b/src/map/skill.c index c52bb1729..db62dd23e 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2004,21 +2004,13 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds break; case KN_BRANDISHSPEAR: case NJ_KAMAITACHI: - { //Only display skill animation for skill's target. - struct unit_data *ud = unit_bl2ud(src); - if (ud && ud->skilltarget == bl->id) - dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, skillid, (lv!=0)?lv:skilllv, type); - else - dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, skillid, -1, 5); - break; - } case NJ_HUUMA: { //Only display skill animation for skill's target. struct unit_data *ud = unit_bl2ud(src); if (ud && ud->skilltarget == bl->id) dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, skillid, (lv!=0)?lv:skilllv, type); else - dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, 0, -1, type); // Skill_id = 0 => no effect on other targets + dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, skillid, -1, 5); //TODO: Check whether it's better to send -1 in skilllv or also send 0 as skillid, maybe even change this to a clif_damage packet? break; } case PA_GOSPEL: //Should look like Holy Cross [Skotlex] @@ -2836,6 +2828,7 @@ 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, @@ -3184,21 +3177,6 @@ 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)); -- cgit v1.2.3-70-g09d2