diff options
Diffstat (limited to 'core/src/ch/asynk')
| -rw-r--r-- | core/src/ch/asynk/rustanddust/game/battles/Map00.java | 2 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/game/battles/MapRules.java | 117 | 
2 files changed, 1 insertions, 118 deletions
| diff --git a/core/src/ch/asynk/rustanddust/game/battles/Map00.java b/core/src/ch/asynk/rustanddust/game/battles/Map00.java index da1b664..db126cf 100644 --- a/core/src/ch/asynk/rustanddust/game/battles/Map00.java +++ b/core/src/ch/asynk/rustanddust/game/battles/Map00.java @@ -6,7 +6,7 @@ import ch.asynk.rustanddust.engine.Orientation;  import ch.asynk.rustanddust.game.Map;  import ch.asynk.rustanddust.game.Hex; -public class Map00 extends MapRules +public class Map00 extends Map  {      public Map00(final RustAndDust game, String map, String hex)      { diff --git a/core/src/ch/asynk/rustanddust/game/battles/MapRules.java b/core/src/ch/asynk/rustanddust/game/battles/MapRules.java deleted file mode 100644 index 89af8bd..0000000 --- a/core/src/ch/asynk/rustanddust/game/battles/MapRules.java +++ /dev/null @@ -1,117 +0,0 @@ -package ch.asynk.rustanddust.game.battles; - -import ch.asynk.rustanddust.RustAndDust; - -import ch.asynk.rustanddust.game.Map; -import ch.asynk.rustanddust.game.Unit; -import ch.asynk.rustanddust.game.Engagement; - -abstract public class MapRules extends Map -{ -    public MapRules(final RustAndDust game, String map, String hex) -    { -        super(game, map, hex); -    } - -    @Override -    public void init() -    { -        actionDone(); -    } - -    @Override -    public void turnDone() -    { -        RustAndDust.debug("TurnDone", String.format(" Processed Commands : %d", commandsSize())); - -        if (objectives.modifiedCount() > 0) -            throw new RuntimeException("objectives not cleared"); - -        // FIXME do something with these Commands -        commandsClear(); -    } - -    @Override -    public void actionDone() -    { -        objectives.forget(); -    } - -    @Override -    protected int engagementCost(Engagement e) -    { -        if ((activatedUnits.size() == 1) && e.attacker.isA(Unit.UnitType.AT_GUN) && e.defender.isHardTarget()) -            return 0; -        return 1; -    } - -    @Override -    protected void resolveEngagement(Engagement e) -    { -        int dice = e.d1 + e.d2; - -        int distance = 0; -        boolean mayReroll = false; -        boolean night = meteorology.isNight(); -        boolean flankAttack = false; -        boolean terrainBonus = true; - -        for (Unit unit : activatedUnits) { -            if (unit != e.attacker) -                e.addAssist(unit); -            if (unit.isAce()) -                mayReroll = true; -            if (unit.isFlankAttack()) -                flankAttack = true; -            if (unit.preventDefenseOn(e.defender.getTile())) -                terrainBonus = false; -            if (night) { -                if (distance < unit.attackDistance()) -                    distance = unit.attackDistance(); -            } -        } - -        int cnt = activatedUnits.size(); -        int def = e.defender.getDefense(e.attacker.getTile()); -        int flk = (flankAttack ? Unit.FLANK_ATTACK_BONUS : 0); -        int tdf = (terrainBonus ? e.defender.getTile().defense() : 0); -        int wdf = 0; -        if (night) { -            if (distance > 3) -                wdf = 3; -            else if (distance > 2) -                wdf = 2; -            else if (distance > 1) -                wdf = 1; -        } -        int s1 = (dice + cnt + flk); -        int s2 = (def + tdf + wdf); - -        boolean success = false; -        if (dice == 2) { -            success = false; -        } else if (dice == 12) { -            success = true; -        } else { -            success = (s1 >= s2); -        } -        if (!success && mayReroll) { -            dice = e.d3 + e.d4; -            s1 = (dice + cnt + flk); -            if (dice == 2) { -                success = false; -            } else if (dice == 12) { -                success = true; -            } else { -                success = (s1 >= s2); -            } -        } else { -            e.d3 = 0; -            e.d4 = 0; -        } - -        e.set(cnt, flk, def, tdf, wdf); -        e.success = success; -    } - -} | 
