diff --git a/src/components/turn/SideBar.vue b/src/components/turn/SideBar.vue index 04a2c9d..5f370bb 100644 --- a/src/components/turn/SideBar.vue +++ b/src/components/turn/SideBar.vue @@ -4,11 +4,11 @@
V.I.C.I
{{botActions?.evolutionCount ?? navigationState.evolutionCount}} - +
{{botActions?.prosperityCount ?? navigationState.prosperityCount}} - +
diff --git a/src/components/turn/action/AdvanceFavor.vue b/src/components/turn/action/AdvanceFavor.vue index d4c55e5..d9b90a9 100644 --- a/src/components/turn/action/AdvanceFavor.vue +++ b/src/components/turn/action/AdvanceFavor.vue @@ -1,12 +1,15 @@ @@ -38,4 +41,23 @@ export default defineComponent({ diff --git a/src/components/turn/action/AdvanceScoringCategory.vue b/src/components/turn/action/AdvanceScoringCategory.vue index 6653cb2..664c843 100644 --- a/src/components/turn/action/AdvanceScoringCategory.vue +++ b/src/components/turn/action/AdvanceScoringCategory.vue @@ -1,13 +1,18 @@ @@ -39,4 +44,23 @@ export default defineComponent({ diff --git a/src/components/turn/action/GainActivationDie.vue b/src/components/turn/action/GainActivationDie.vue index bf70408..78b5924 100644 --- a/src/components/turn/action/GainActivationDie.vue +++ b/src/components/turn/action/GainActivationDie.vue @@ -1,12 +1,15 @@ @@ -38,4 +41,23 @@ export default defineComponent({ diff --git a/src/components/turn/action/GainFateDie.vue b/src/components/turn/action/GainFateDie.vue index d294ca1..2d1fa3a 100644 --- a/src/components/turn/action/GainFateDie.vue +++ b/src/components/turn/action/GainFateDie.vue @@ -1,12 +1,15 @@ @@ -38,4 +41,23 @@ export default defineComponent({ diff --git a/src/components/turn/action/GainVp.vue b/src/components/turn/action/GainVp.vue index 0ceb6ed..d9ff868 100644 --- a/src/components/turn/action/GainVp.vue +++ b/src/components/turn/action/GainVp.vue @@ -46,23 +46,21 @@ export default defineComponent({ .icon { height: 3.5rem; } - .plus { + .plus, .value { position: absolute; - top: 6px; - left: 0px; color: #fedf12; - font-size: 1.25rem; font-weight: bold; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } + .plus { + top: 6px; + left: 0px; + font-size: 1.25rem; + } .value { - position: absolute; top: -6px; left: 15px; - color: #fedf12; font-size: 2.2rem; - font-weight: bold; - text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } } diff --git a/src/components/turn/action/PlaceEvolutionMarker.vue b/src/components/turn/action/PlaceEvolutionMarker.vue index dbe0225..67bf69b 100644 --- a/src/components/turn/action/PlaceEvolutionMarker.vue +++ b/src/components/turn/action/PlaceEvolutionMarker.vue @@ -1,12 +1,15 @@ @@ -19,7 +22,7 @@ import AppIcon from '../../structure/AppIcon.vue' import ModalDialog from '@brdgm/brdgm-commons/src/components/structure/ModalDialog.vue' export default defineComponent({ - name: 'PerformProvision', + name: 'PlaceEvolutionMarker', components: { AppIcon, ModalDialog @@ -38,4 +41,23 @@ export default defineComponent({ diff --git a/src/components/turn/action/PlaceProsperityMarker.vue b/src/components/turn/action/PlaceProsperityMarker.vue index 63583d7..1c23433 100644 --- a/src/components/turn/action/PlaceProsperityMarker.vue +++ b/src/components/turn/action/PlaceProsperityMarker.vue @@ -1,12 +1,15 @@ @@ -38,4 +41,23 @@ export default defineComponent({ diff --git a/src/components/turn/action/PlaceStatue.vue b/src/components/turn/action/PlaceStatue.vue index 2588c05..e169834 100644 --- a/src/components/turn/action/PlaceStatue.vue +++ b/src/components/turn/action/PlaceStatue.vue @@ -1,12 +1,14 @@ @@ -38,4 +40,7 @@ export default defineComponent({ diff --git a/src/components/turn/action/RemoveCard.vue b/src/components/turn/action/RemoveCard.vue index 53dd7e4..b622e65 100644 --- a/src/components/turn/action/RemoveCard.vue +++ b/src/components/turn/action/RemoveCard.vue @@ -1,13 +1,14 @@ @@ -39,4 +40,7 @@ export default defineComponent({ diff --git a/src/locales/de.json b/src/locales/de.json index 2235bb3..84c22fd 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -101,6 +101,54 @@ "sideBar": { "round": "Epoche {round}" }, + "rules": { + "action": { + "advanceFavor": { + "title": "Ageras Gunstleiste", + "instruction": "Ziehe V.I.C.Is Scheibe auf Ageras Gunstleiste 1 Schritt vorwärts (sofern möglich)." + }, + "advanceScoringCategory": { + "title": "Fortschrittsleiste", + "instruction": "Ziehe V.I.C.Is Scheibe auf der angegebenen Fortschrittsleiste die angegebene Anzahl Schritte vorwärts.", + "threshold": "Immer wenn eine von V.I.C.Is Scheiben eine Bonusschwelle überquert, die Erfolgspunkte als Leistenbonus gibt, erhält V.I.C.I diese Punkte. Alle anderen Leistenboni werden für V.I.C.I ignoriert.", + "exceedTrack": "Falls sich V.I.C.Is Scheibe bereits auf Feld 12 der entsprechenden Leiste befindet, erhält V.I.C.I statt dem Schritt wie üblich 2 Punkte." + }, + "gainActivationDie": { + "title": "Aktivierungswürfel", + "instruction": "V.I.C.I erhält einen zusätzlichen Aktivierungswürfel (laut der üblichen Regeln)." + }, + "gainFateDie": { + "title": "Schicksalswürfel", + "instruction": "V.I.C.I erhält einen zusätzlichen Schicksalswürfel (laut der üblichen Regeln)." + }, + "gainVp": { + "title": "Erfolgspunkte", + "instruction": "V.I.C.I erhält die angegebenen Erfolgspunkte." + }, + "placeEvolutionMarker": { + "title": "Evolution", + "instruction": "V.I.C.I erhält Evolutionsmarker (diese werden automatisch von der Applikation gezählt)." + }, + "placeHuntingToken": { + "title": "Jagdplättchen", + "instruction": "Lege 1 Jagdplättchen aus der Jagdplättchen-Auslage in ein Gebiet." + }, + "placeProsperityMarker": { + "title": "Wohlstand", + "instruction": "V.I.C.I erhält Wohlstandsmarker (diese werden automatisch von der Applikation gezählt)." + }, + "placeStatue": { + "title": "Statue", + "instruction": "Stelle einen Marker aus V.I.C.Is Vorrat als Statue auf den Baugrund im großen Wassergebiet.", + "unlimited": "Es gibt kein Limit für die Anzahl der Statuen, die V.I.C.I dort haben darf." + }, + "removeCard": { + "title": "Forschungskarte entfernen", + "instruction": "Entferne die oberste Karte vom offenen Forschungsstapel der angegebenen Art.", + "refill": "Sollte der offene Stapel danach leer sein, decke wie üblich eine neue Karte auf." + } + } + }, "difficultyLevel": { "1": "Einstieg", "2": "Moderat", diff --git a/src/locales/en.json b/src/locales/en.json index c34c19c..9c50aab 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -101,6 +101,54 @@ "sideBar": { "round": "Era {round}" }, + "rules": { + "action": { + "advanceFavor": { + "title": "Agera track", + "instruction": "Advance V.I.C.I’s disc 1 step on the Favor of Agera track (if possible)." + }, + "advanceScoringCategory": { + "title": "Progress Track", + "instruction": "Advance V.I.C.I’s disc that many steps on the depicted progress track.", + "threshold": "Whenever one of V.I.C.I’s discs crosses a bonus threshold that gives success points as a track bonus, V.I.C.I receives those points. All other track bonuses are ignored for V.I.C.I.", + "exceedTrack": "If V.I.C.I’s disc is already on space 12 of this track, this action gives V.I.C.I the usual 2 success points instead." + }, + "gainActivationDie": { + "title": "Activation Die", + "instruction": "V.I.C.I receives an activation die (per the usual rules)." + }, + "gainFateDie": { + "title": "Fate Die", + "instruction": "V.I.C.I receives a fate die (per the usual rules)." + }, + "gainVp": { + "title": "Success Points", + "instruction": "V.I.C.I gains the depicted number of success points." + }, + "placeEvolutionMarker": { + "title": "Evolution", + "instruction": "V.I.C.I gains Evolution marker (these are counted automatically by the application)." + }, + "placeHuntingToken": { + "title": "Hunting Token", + "instruction": "Place a hunting token from the hunting token display in a territory." + }, + "placeProsperityMarker": { + "title": "Prosperity", + "instruction": "V.I.C.I gains Prosperity marker (these are counted automatically by the application)." + }, + "placeStatue": { + "title": "Statue", + "instruction": "Place a marker from V.IC.I’s supply as a statue onto the Building ground in the large Water territory.", + "unlimited": "There is no limit to the number of statues V.I.C.I can have there." + }, + "removeCard": { + "title": "Remove Research Card", + "instruction": "Remove the top card from the face-up research stack of the depicted type.", + "refill": "If the face-up stack is empty afterwards, refill it at as usual." + } + } + }, "difficultyLevel": { "1": "Beginner", "2": "Moderate", diff --git a/src/services/Cards.ts b/src/services/Cards.ts index 2c84d24..2e8e04a 100644 --- a/src/services/Cards.ts +++ b/src/services/Cards.ts @@ -74,7 +74,7 @@ const cards : Card[] = [ { values: [1,2], action: Action.PLACE_HUNTING_TOKEN }, { values: [3,4], action: Action.PLACE_STATUE }, { values: [3,4], action: Action.PLACE_HUNTING_TOKEN }, - { values: [5,6], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.PROSPERITY, count: 1 }, + { values: [5,6], action: Action.PLACE_PROSPERITY_MARKER, count: 1 }, { values: [5,6], action: Action.PLACE_HUNTING_TOKEN }, ], diceActionsAdvanced: [ @@ -82,7 +82,7 @@ const cards : Card[] = [ { values: [1,2], action: Action.PLACE_HUNTING_TOKEN }, { values: [3,4], action: Action.PLACE_STATUE }, { values: [3,4], action: Action.PLACE_HUNTING_TOKEN }, - { values: [5,6], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.PROSPERITY, count: 2 }, + { values: [5,6], action: Action.PLACE_PROSPERITY_MARKER, count: 2 }, { values: [5,6], action: Action.PLACE_HUNTING_TOKEN }, ], blueDotCount: 1, @@ -133,7 +133,7 @@ const cards : Card[] = [ diceActions: [ { values: [1,2], action: Action.PLACE_STATUE }, { values: [3,4], action: Action.PERFORM_MIGRATION }, - { values: [5,6], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.EVOLUTION, count: 1 }, + { values: [5,6], action: Action.PLACE_EVOLUTION_MARKER, count: 1 }, { values: [5,6], action: Action.PLACE_HUNTING_TOKEN }, ], diceActionsAdvanced: [ @@ -141,7 +141,7 @@ const cards : Card[] = [ { values: [1,2], action: Action.ADVANCE_FAVOR }, { values: [3,4], action: Action.PERFORM_MIGRATION }, { values: [3,4], action: Action.PERFORM_PROCREATION }, - { values: [5,6], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.EVOLUTION, count: 2 }, + { values: [5,6], action: Action.PLACE_EVOLUTION_MARKER, count: 2 }, { values: [5,6], action: Action.PLACE_HUNTING_TOKEN }, ], blueDotCount: 1, @@ -195,15 +195,15 @@ const cards : Card[] = [ id: 10, diceActions: [ { values: [1,2], action: Action.PERFORM_PROCREATION }, - { values: [3,4], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.PROSPERITY, count: 1 }, - { values: [5,6], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.EVOLUTION, count: 1 }, + { values: [3,4], action: Action.PLACE_PROSPERITY_MARKER, count: 1 }, + { values: [5,6], action: Action.PLACE_EVOLUTION_MARKER, count: 1 }, ], diceActionsAdvanced: [ { values: [1,2], action: Action.PERFORM_PROCREATION }, { values: [1,2], action: Action.GAIN_VP, count: 3 }, - { values: [3,4], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.PROSPERITY, count: 1 }, + { values: [3,4], action: Action.PLACE_PROSPERITY_MARKER, count: 1 }, { values: [3,4], action: Action.GAIN_VP, count: 3 }, - { values: [5,6], action: Action.ADVANCE_SCORING_CATEGORY, scoringCategory: ScoringCategory.EVOLUTION, count: 1 }, + { values: [5,6], action: Action.PLACE_EVOLUTION_MARKER, count: 1 }, { values: [5,6], action: Action.GAIN_VP, count: 3 }, ], blueDotCount: 1,