mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-01-19 01:55:04 +01:00
Implement immobility for NPCs with moveCost = 999
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user