From 6fce649cbbb4018b6c2b3591f3cf2cb1d6893567 Mon Sep 17 00:00:00 2001 From: Oskar Wiksten Date: Sun, 27 Oct 2013 10:12:27 +0100 Subject: [PATCH] Always deny monster movement on mapchange,keyarea,rest - regardless of isActive --- .../controller/MonsterMovementController.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java index dff957764..2a19631bc 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java @@ -1,7 +1,5 @@ package com.gpl.rpg.AndorsTrail.controller; -import java.util.List; - import com.gpl.rpg.AndorsTrail.context.ControllerContext; import com.gpl.rpg.AndorsTrail.context.WorldContext; import com.gpl.rpg.AndorsTrail.controller.PathFinder.EvaluateWalkable; @@ -59,14 +57,15 @@ public final class MonsterMovementController implements EvaluateWalkable { if (!tilemap.isWalkable(p)) return false; } if (map.getMonsterAt(p) != null) return false; - //There can be several objects at the same place ! - List objects = map.getActiveEventObjectsAt(p.topLeft); - if (objects != null) { - for (MapObject m : objects) { - if (m != null) { - if (m.type == MapObject.MapObjectType.newmap) return false; - if (m.type == MapObject.MapObjectType.keyarea) return false; - } + + for (MapObject m : map.eventObjects) { + if (m == null) continue; + if (!m.position.intersects(p)) continue; + switch (m.type) { + case newmap: + case keyarea: + case rest: + return false; } } return true;