summaryrefslogtreecommitdiff
path: root/src/map/mob.c
diff options
context:
space:
mode:
authorKenpachi Developer <Kenpachi.Developer@gmx.de>2020-05-22 05:02:36 +0200
committerKenpachi Developer <Kenpachi.Developer@gmx.de>2020-05-22 05:06:53 +0200
commitc1efd9e2e4edcc73b2b1cc50d7010183934f4fe5 (patch)
tree69507cdcdff83e8d01945e6fd3687e130e11eac1 /src/map/mob.c
parent3d9317d3a0bb200b9262be8fb882f33b40bfbd2e (diff)
downloadhercules-c1efd9e2e4edcc73b2b1cc50d7010183934f4fe5.tar.gz
hercules-c1efd9e2e4edcc73b2b1cc50d7010183934f4fe5.tar.bz2
hercules-c1efd9e2e4edcc73b2b1cc50d7010183934f4fe5.tar.xz
hercules-c1efd9e2e4edcc73b2b1cc50d7010183934f4fe5.zip
Implement MSC_MAGICATTACKED cast condition for monster skills
Diffstat (limited to 'src/map/mob.c')
-rw-r--r--src/map/mob.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/map/mob.c b/src/map/mob.c
index dcbdccedd..b6ba5e5a9 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -3758,6 +3758,8 @@ static int mobskill_event(struct mob_data *md, struct block_list *src, int64 tic
res = mob->skill_use(md, tick, MSC_CLOSEDATTACKED);
else if (flag&BF_LONG && !(flag&BF_MAGIC)) //Long-attacked should not include magic.
res = mob->skill_use(md, tick, MSC_LONGRANGEATTACKED);
+ else if ((flag & BF_MAGIC) != 0)
+ res = mob->skill_use(md, tick, MSC_MAGICATTACKED);
if (res != 0)
//Restore previous target only if skill condition failed to trigger. [Skotlex]
@@ -5679,7 +5681,7 @@ static bool mob_skill_db_libconfig_sub_skill(struct config_setting_t *it, int n,
}
i32 = MSC_ALWAYS;
- if (mob->lookup_const(it, "CastCondition", &i32) && (i32 < MSC_ALWAYS || i32 > MSC_SPAWN)) {
+ if (mob->lookup_const(it, "CastCondition", &i32) && (i32 < MSC_ALWAYS || i32 > MSC_MAGICATTACKED)) {
ShowWarning("%s: Invalid skill condition %d for skill id %d (%s) in %s %d, defaulting to MSC_ALWAYS.\n",
__func__, i32, skill_id, skill_name, mob_str, mob_id);
i32 = MSC_ALWAYS;