summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/battle.c12
-rw-r--r--src/map/skill.c26
2 files changed, 8 insertions, 30 deletions
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));