From 6fccf18b6112475d00c3abc63804043df8cb4df6 Mon Sep 17 00:00:00 2001 From: Dastgir Date: Mon, 11 Jan 2016 19:37:02 +0530 Subject: Added NoKnockback Mode for monsters Signed-off-by: Haru --- src/map/mob.c | 3 +++ src/map/skill.c | 2 +- src/map/status.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/map') diff --git a/src/map/mob.c b/src/map/mob.c index 063a1ff6e..e26006599 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -3760,6 +3760,8 @@ int mob_read_db_mode_sub(struct mob_db *entry, struct config_setting_t *t) mode |= libconfig->setting_get_bool(t2) ? MD_CHANGETARGET_CHASE : 0; if ((t2 = libconfig->setting_get_member(t, "TargetWeak"))) mode |= libconfig->setting_get_bool(t2) ? MD_TARGETWEAK : 0; + if ((t2 = libconfig->setting_get_member(t, "NoKnockback"))) + mode |= libconfig->setting_get_bool(t2) ? MD_NOKNOCKBACK : 0; return mode; } @@ -4109,6 +4111,7 @@ int mob_read_db_sub(struct config_setting_t *mobt, int n, const char *source) * ChangeTargetMelee: true/false * ChangeTargetChase: true/false * TargetWeak: true/false + * NoKnockback: true/false * } * MoveSpeed: move speed * AttackDelay: attack delay diff --git a/src/map/skill.c b/src/map/skill.c index 366d66234..fb08103e7 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2089,7 +2089,7 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in case BL_MOB: { const struct mob_data *md = BL_UCCAST(BL_MOB, target); - if (md->class_ == MOBID_EMPELIUM) + if (md->status.mode&MD_NOKNOCKBACK) return 0; if (src != target && is_boss(target)) // Bosses can't be knocked-back return 0; diff --git a/src/map/status.h b/src/map/status.h index 85219b280..14cda8545 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -1823,6 +1823,7 @@ enum e_mode MD_CHANGETARGET_MELEE = 0x1000, MD_CHANGETARGET_CHASE = 0x2000, MD_TARGETWEAK = 0x4000, + MD_NOKNOCKBACK = 0x8000, MD_MASK = 0xFFFF, }; -- cgit v1.2.3-60-g2f50