summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c12
-rw-r--r--src/map/skill.c6
2 files changed, 5 insertions, 13 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 13bca77a4..14bbd7197 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -911,9 +911,6 @@ static struct Damage battle_calc_weapon_attack(
wd.flag=(wd.flag&~BF_RANGEMASK)|BF_LONG;
}
- if(is_boss(target)) //Bosses can't be knocked-back
- wd.blewcount = 0;
-
/* Apparently counter attack no longer causes you to be critical'ed by mobs. [Skotlex]
//Check for counter
if(!skill_num)
@@ -1209,7 +1206,7 @@ static struct Damage battle_calc_weapon_attack(
(flag.arrow?2:0)|
(skill_num == HW_MAGICCRASHER?4:0)|
(skill_num == MO_EXTREMITYFIST?8:0)|
- (sc && sc->data[SC_WEAPONPERFECTION].timer!=-1)?8:0;
+ (sc && sc->data[SC_WEAPONPERFECTION].timer!=-1?8:0);
if (flag.arrow && sd)
switch(sd->status.weapon) {
case W_BOW:
@@ -2215,9 +2212,6 @@ struct Damage battle_calc_magic_attack(
break;
}
- if(is_boss(target)) //Bosses can't be knocked-back
- ad.blewcount = 0;
-
if (!flag.infdef) //No need to do the math for plants
{
@@ -2527,9 +2521,6 @@ struct Damage battle_calc_misc_attack(
}
}
- if(is_boss(target))
- md.blewcount = 0;
-
s_ele = skill_get_pl(skill_num);
if (s_ele < 0) //Attack that takes weapon's element for misc attacks? Make it neutral [Skotlex]
s_ele = ELE_NEUTRAL;
@@ -3504,7 +3495,6 @@ static const struct battle_data_short {
{ "mob_count_rate", &battle_config.mob_count_rate },
{ "mob_spawn_delay", &battle_config.mob_spawn_delay },
{ "no_spawn_on_player", &battle_config.no_spawn_on_player },
-
{ "force_random_spawn", &battle_config.force_random_spawn },
{ "plant_spawn_delay", &battle_config.plant_spawn_delay },
{ "boss_spawn_delay", &battle_config.boss_spawn_delay },
diff --git a/src/map/skill.c b/src/map/skill.c
index 2fb5ce253..936850166 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1705,6 +1705,8 @@ int skill_blown (struct block_list *src, struct block_list *target, int count)
case BL_MOB:
if (((TBL_MOB*)target)->class_ == MOBID_EMPERIUM)
return 0;
+ if(src != target && is_boss(target)) //Bosses can't be knocked-back
+ return 0;
break;
case BL_SKILL:
su=(struct skill_unit *)target;
@@ -2938,14 +2940,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
if(flag&1){
if (bl->id==skill_area_temp[1])
break;
- if (skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,0x0500) && !status_get_mexp(bl))
+ if (skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,0x0500))
skill_blown(src,bl,skill_area_temp[2]);
} else {
int x=bl->x,y=bl->y,i,dir;
dir = map_calc_dir(bl,src->x,src->y);
skill_area_temp[1] = bl->id;
skill_area_temp[2] = skill_get_blewcount(skillid,skilllv)|dir<<20;
- if (skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,0) && !status_get_mexp(bl))
+ if (skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,0))
skill_blown(src,bl,skill_area_temp[2]);
for (i=0;i<4;i++) {
map_foreachincell(skill_area_sub,bl->m,x,y,BL_CHAR,