diff --git a/core/src/com/galvarez/ttw/model/InfluenceSystem.java b/core/src/com/galvarez/ttw/model/InfluenceSystem.java index 4a9f05b..406ea98 100644 --- a/core/src/com/galvarez/ttw/model/InfluenceSystem.java +++ b/core/src/com/galvarez/ttw/model/InfluenceSystem.java @@ -361,35 +361,20 @@ private void updateInfluencedTiles(Entity e) { private void accumulatePower(Entity empire) { InfluenceSource source = sources.get(empire); - int increase = source.growth + source.influencedTiles.size(); + int increase = source.growth * source.power / 100; if (increase > 0) { Diplomacy diplomacy = relations.get(empire); List tributes = diplomacy.getEmpires(State.TRIBUTE); int remains = increase; for (Entity other : tributes) { int tribute = min(remains, increase / tributes.size()); - sources.get(other).powerAdvancement += tribute; + sources.get(other).power += tribute; remains -= tribute; } increase = remains; } - source.powerAdvancement += increase; - if (source.powerAdvancement < 0) { - source.power--; - source.powerAdvancement = getRequiredPowerAdvancement(source) + source.powerAdvancement; - } else { - int required = getRequiredPowerAdvancement(source); - if (source.powerAdvancement >= required) { - source.powerAdvancement -= required; - source.power++; - } - } - } - - public int getRequiredPowerAdvancement(InfluenceSource source) { - // TODO the base power should depend on the empire - return source.power + 1; + source.power += increase; } } diff --git a/core/src/com/galvarez/ttw/model/components/InfluenceSource.java b/core/src/com/galvarez/ttw/model/components/InfluenceSource.java index 7097d3c..1d6dcd7 100644 --- a/core/src/com/galvarez/ttw/model/components/InfluenceSource.java +++ b/core/src/com/galvarez/ttw/model/components/InfluenceSource.java @@ -19,10 +19,9 @@ public final class InfluenceSource extends Component { public final Set influencedTiles = new HashSet<>(); + /** In percents. */ public int growth; - public int powerAdvancement = 0; - public final List secondarySources = new ArrayList<>(); public final Modifiers modifiers = new Modifiers(); diff --git a/core/src/com/galvarez/ttw/screens/overworld/MenuBuilder.java b/core/src/com/galvarez/ttw/screens/overworld/MenuBuilder.java index 31f17a9..182ae07 100644 --- a/core/src/com/galvarez/ttw/screens/overworld/MenuBuilder.java +++ b/core/src/com/galvarez/ttw/screens/overworld/MenuBuilder.java @@ -185,11 +185,8 @@ public void buildSelectionMenu(final MapPosition tile, Entity e) { if (e != null) { addDescription(e); InfluenceSource infSource = e.getComponent(InfluenceSource.class); - if (infSource != null) { - int percent = 100 * infSource.powerAdvancement - / world.getSystem(InfluenceSystem.class).getRequiredPowerAdvancement(infSource); - selectionMenu.addLabel("Power: " + infSource.power + " (+" + percent + "%)"); - } + if (infSource != null) + selectionMenu.addLabel("Power: " + infSource.power + " (+" + infSource.growth + "%/turn)"); } Entity source = influence.getMainInfluenceSource(world);