{{ village.wood }} / {{ village.getStorage(village.id).getResourceCapacity('wood') }}
{{ village.getBuilding(village.id, 'WoodCutter').getResourceIncrementor() }}
{{ village.clay }} / {{ village.getStorage(village.id).getResourceCapacity('clay') }}
{{ village.getBuilding(village.id, 'ClayPit').getResourceIncrementor() }}
{{ village.iron }} / {{ village.getStorage(village.id).getResourceCapacity('iron') }}
{{ village.getBuilding(village.id, 'IronMine').getResourceIncrementor() }}
{{ village.food }} / {{ village.getStorage(village.id).getResourceCapacity('food') }}
{{ village.getBuilding(village.id, 'Farm').getResourceIncrementor() }}
{{ village.getStorage(village.id).getCapacity() }}
Events
{% if events['UpgradeBuilding'] %}
Upgrade Buildings
Building |
Time |
|
{% for typeEvents in events['UpgradeBuilding'] %}
{% for event in typeEvents %}
{{ event.type }} |
{% include 'components/timer.twig' with { 'time': event.event.time|date('c') } %}
|
Cancel
|
{% endfor %}
{% endfor %}
{% endif %}
{% if events['TrainUnits'] %}
Train Units
Unit |
Time |
|
{% for event in events['TrainUnits'] %}
{{ event.type }} |
{% include 'components/timer.twig' with { 'time': event.event.time|date('c') } %}
|
Cancel
|
{% endfor %}
{% endif %}
{% if events['SendUnits'] %}
Send Resources / Units
Type |
Unit |
Amount |
Origin |
Destination |
Time |
|
{% for event in events['SendUnits'] %}
{{ event.type }} |
{{ event.unit }} |
{{ event.amount }} |
{{ village.get(event.source).name }} |
{{ village.get(event.destination).name }} |
{% include 'components/timer.twig' with { 'time': event.event.time|date('c') } %}
|
{% if event.isCanceled %}
Canceled
{% else %}
{% if event.event.villageId == village.id %}
{% endif %}
{% endif %}
|
{% endfor %}
{% endif %}
Buildings
Type |
Level |
Build Time |
Resources |
|
{% for building in buildings %}
{{ building.type | default(type) }} |
{{ building.level | default(0) }} |
{{ building.getBuildTimeForLevel(building.getEffectiveLevel() + 1) | buildTime }} |
{{ building.getResourceRequirementsForLevel(building.getEffectiveLevel() + 1)['wood'] }}
{{ building.getResourceRequirementsForLevel(building.getEffectiveLevel() + 1)['clay'] }}
{{ building.getResourceRequirementsForLevel(building.getEffectiveLevel() + 1)['iron'] }}
|
|
{% endfor %}
Units
Type |
Amount |
Build Time |
Resources |
|
{% for unit in village.getUnits(village.id, 1, 3) %}
{{ unit.type }} |
{{ unit.amount }} |
{% if not unit.isTraveling %}
{{ unit.getBuildTime(1) | buildTime }}
|
{{ unit.getResourceRequirements(unit, 1)['wood'] }}
{{ unit.getResourceRequirements(unit, 1)['clay'] }}
{{ unit.getResourceRequirements(unit, 1)['iron'] }}
{{ unit.getResourceRequirements(unit, 1)['food'] ?? 0 }}
|
|
{% else %}
~traveling~ |
{% endif %}
{% endfor %}
Supporting Units
Type |
Amount |
Origin |
Location |
Travel Time |
|
{% for unit in village.getUnits(village.id, 2) | merge(village.getUnits(village.id, 3)) %}
{{ unit.type }} |
{{ unit.amount }} |
{{ village.get(unit.homeVillageId).name }} |
{{ not unit.isTraveling ? village.get(unit.residenceVillageId).name : '~traveling~' }} |
{{ unit.getTravelTime(unit, village.getDistance(unit.getHomeVillage().x, unit.getHomeVillage().x, unit.getResidenceVillage().x, unit.getResidenceVillage().y)) | buildTime }} |
{% if not unit.isTraveling %}
{% if unit.homeVillageId == village.id %}
{% else %}
{% endif %}
{% endif %}
|
{% endfor %}
Send Units
{% if village.getBuilding(village.id, 'Marketplace') %}
Send Resources
{% endif %}