diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Constants.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Constants.java index 81c3203a4..88c2adff8 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Constants.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Constants.java @@ -27,6 +27,7 @@ public final class Constants { public static final int MAX_MAP_HEIGHT = 33; public static final int MONSTER_MOVEMENT_TURN_DURATION_MS = 1200; + public static final int MONSTER_IMMOBILE_MOVE_COST = 999; public static final int TICK_DELAY = 500; private static final int ROUND_DURATION = 6000; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java index 0a352aadd..68fe6bde9 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MonsterMovementController.java @@ -75,6 +75,9 @@ public final class MonsterMovementController implements EvaluateWalkable { } private void moveMonster(final Monster m, final MonsterSpawnArea area) { + if (m.getMoveCost() == Constants.MONSTER_IMMOBILE_MOVE_COST) { + return; + } PredefinedMap map = world.model.currentMaps.map; LayeredTileMap tileMap = world.model.currentMaps.tileMap; m.nextActionTime = System.currentTimeMillis() + getMillisecondsPerMove(m); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java index 9ee06af2b..0b65faa20 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java @@ -5,6 +5,7 @@ import java.io.DataOutputStream; import java.io.IOException; import com.gpl.rpg.AndorsTrail.context.WorldContext; +import com.gpl.rpg.AndorsTrail.controller.Constants; import com.gpl.rpg.AndorsTrail.model.ability.ActorCondition; import com.gpl.rpg.AndorsTrail.model.ability.SkillCollection; import com.gpl.rpg.AndorsTrail.model.item.DropList; @@ -37,6 +38,9 @@ public final class Monster extends Actor { resetStatsToBaseTraits(); this.ap.setMax(); this.health.setMax(); + if (this.getMoveCost() == Constants.MONSTER_IMMOBILE_MOVE_COST) { + this.nextActionTime = Long.MAX_VALUE; + } } public void resetStatsToBaseTraits() {