From 8f82d046c0ce769c4ee1ceffe0c6ae8eaeb6ffd1 Mon Sep 17 00:00:00 2001 From: Playtester Date: Wed, 8 Mar 2017 22:34:44 +0100 Subject: [PATCH] Monsters placing traps (see #1998) * Monsters can no longer place traps on themselves, the skill will fail --- src/map/skill.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/map/skill.c b/src/map/skill.c index 7347bc8ffb..c63dd6c02c 100755 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3724,10 +3724,12 @@ static int skill_check_unit_range2 (struct block_list *bl, int x, int y, uint16 if (!isNearNPC) { //Doesn't check the NPC range //If the caster is a monster/NPC, only check for players. Otherwise just check characters - if (bl->type == BL_PC) + if (bl->type&battle_config.skill_nofootset) type = BL_CHAR; + else if(bl->type == BL_MOB) + type = BL_MOB; //Monsters can never place traps on top of each other regardless of setting else - type = BL_PC; + return 0; //Don't check } else type = BL_NPC; @@ -11303,8 +11305,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data) if (sd) clif_skill_fail(sd,ud->skill_id,USESKILL_FAIL_DUPLICATE_RANGEIN,0); break; } - if( src->type&battle_config.skill_nofootset && - skill_get_unit_flag(ud->skill_id)&UF_NOFOOTSET && + if( skill_get_unit_flag(ud->skill_id)&UF_NOFOOTSET && skill_check_unit_range2(src,ud->skillx,ud->skilly,ud->skill_id,ud->skill_lv,false) ) {