From e32cc3efe1c1ef5378cef422555e8c8289449938 Mon Sep 17 00:00:00 2001 From: Frans Bongers Date: Sun, 1 Dec 2024 20:07:32 +0100 Subject: add card effects --- data.ts | 663 ++++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 357 insertions(+), 306 deletions(-) (limited to 'data.ts') diff --git a/data.ts b/data.ts index 3b4e29d..d2d2172 100644 --- a/data.ts +++ b/data.ts @@ -1,49 +1,4 @@ -export interface CardBase { - id: number; - title: string; -} - -export interface CardEffect { - type: 'attack' | 'track' | 'bonus' | 'hero_points'; - target: string | number; - value: number; -} - -export interface EventCard extends CardBase { - type: 'ec'; - year: number; - effects: CardEffect[]; -} - -export interface PlayerCard extends CardBase { - type: 'pc'; - strength: number; -} - -export type Card = EventCard | PlayerCard; - -export interface StaticData { - cards: Card[]; - fronts: Array<{ - id: string; - name: string; - left: number; - top: number; - }>; - medaillons: Array<{ - id: number; - name: string; - }>; - tracks: Array<{ - id: number; - name: string; - triggers: Array; - }>; -} +import { Card, Effect, StaticData } from './types'; const LIBERTY = 0; const COLLECTIVIZATION = 1; @@ -70,6 +25,9 @@ const TOWARDS_CENTER = 10; const AWAY_FROM_CENTER = 11; const ANY = 'any'; +const SELF = 'self'; +const OTHER_PLAYERS = 'other'; +const TRASH = 'trash'; export { LIBERTY, @@ -84,329 +42,630 @@ export { PLAYER_WITH_MOST_HERO_POINTS, }; +function create_effect( + type: Effect['type'], + target: Effect['target'], + value: Effect['value'] +): Effect { + return { + type, + target, + value, + }; +} + const data: StaticData = { cards: [ {} as Card, { id: 1, + effects: [ + create_effect('track', FOREIGN_AID, 2), + // create_effect('track', FOREIGN_AID, 2), // Conditional support + create_effect('track', SOVIET_SUPPORT, -1), + ], strength: 1, title: 'CLANDESTINE FRENCH ARMS', type: 'pc', }, { id: 2, + effects: [ + create_effect('track', FOREIGN_AID, 1), + create_effect('front', ANY, 3), + create_effect('track', LIBERTY, -2), + ], strength: 2, title: 'POPULAR ARMY OF THE REPUBLIC', type: 'pc', }, { id: 3, + effects: [ + create_effect('front', CLOSEST_TO_DEFEAT, 3), + // create_effect('track', FOREIGN_AID, 2), // conditional effect + create_effect('draw_card', SELF, 1), + ], strength: 2, title: 'MEXICAN GUNS', type: 'pc', }, { id: 4, + effects: [ + create_effect('front', MADRID, 3), + create_effect('track', FOREIGN_AID, 1), + create_effect('swap_card_tableau_hand', ANY, 1), + ], strength: 1, title: 'BATTLE OF GUADALAJARA', type: 'pc', }, { id: 5, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('front', CLOSEST_TO_DEFEAT, 2), + create_effect('draw_card', SELF, 3), + create_effect('draw_card', OTHER_PLAYERS, 1), + ], strength: 1, title: '"SI ME OUIERES ESCRIBIR"', type: 'pc', }, { id: 6, + effects: [ + create_effect('bonus', ANY, ON), + // create_effect('front', ANY, ON), // REMOVE attacks from front + create_effect('track', GOVERNMENT, 1), + create_effect('draw_card', SELF, 1), + ], strength: 2, title: 'XYZ LINE', type: 'pc', }, { id: 7, + effects: [ + create_effect('front', ANY, 1), + create_effect('track', FOREIGN_AID, 2), + create_effect('track', COLLECTIVIZATION, -1), + create_effect('track', GOVERNMENT, 2), + create_effect('hero_points', SELF, 1), + ], strength: 3, title: 'INDALECIO PRIETO', type: 'pc', }, { id: 8, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('front', ANY, 3), + ], strength: 1, title: "PEOPLE'S OLYMPIAD", type: 'pc', }, { id: 9, + effects: [ + create_effect('track', LIBERTY, -2), + create_effect('track', COLLECTIVIZATION, -2), + create_effect('track', SOVIET_SUPPORT, -2), + create_effect('draw_card', SELF, 3), + ], strength: 1, title: 'FOUR ANARCHIST MINISTERS', type: 'pc', }, { id: 10, + effects: [ + create_effect('track', FOREIGN_AID, 4), + // create_effect('track', FOREIGN_AID, 3) // conditional draw cards + create_effect('add_to_tableau', SELF, 1), + ], strength: 1, title: 'GUERNICA', type: 'pc', }, { id: 11, + effects: [ + create_effect('front', CLOSEST_TO_DEFEAT, 1), + create_effect('remove_blank_marker', ANY, 1), + create_effect('track', FOREIGN_AID, 2), + ], strength: 1, title: 'ERNEST HEMINGWAY', type: 'pc', }, { id: 12, + effects: [ + // create_effect('hero_points', OTHER_PLAYERS, -2), // take from other player + create_effect('track', SOVIET_SUPPORT, -3), + create_effect('track', COLLECTIVIZATION, -3), + ], strength: 1, title: 'HUESCA OFFENSIVE', type: 'pc', }, { id: 13, + effects: [ + create_effect('track', FOREIGN_AID, 1), + create_effect('track', SOVIET_SUPPORT, -1), + create_effect('track', GOVERNMENT, 2), + create_effect('hero_points', SELF, 1), + ], strength: 1, title: 'PABLO NERUDA', type: 'pc', }, { id: 14, + effects: [ + create_effect('front', NORTHERN, 2), + create_effect('track', COLLECTIVIZATION, -1), + create_effect('track', GOVERNMENT, 1), + ], strength: 1, title: 'EUSKO GUDAROSTEA', type: 'pc', }, { id: 15, + effects: [ + // create_effect('track', ) Choose track, + create_effect('track', FOREIGN_AID, 2), + create_effect('return_card', TRASH, 1), + ], strength: 2, title: 'JUAN NEGRÍN', type: 'pc', }, { id: 16, + effects: [ + // create_effect('front', ANY, -2) // move attacks + // create_effect('track', FOREIGN_AID, 4) // conditional + ], strength: 1, title: 'PUBLICIZE FASCIST WAR CRIMES', type: 'pc', }, { id: 17, + effects: [ + create_effect('track', FOREIGN_AID, 1), + create_effect('track', GOVERNMENT, 1), + // create_effect('track', COLLECTIVIZATION,-4) // conditional + ], strength: 1, title: 'AGRARIAN REFORM', type: 'pc', }, { id: 18, + effects: [ + create_effect('track', COLLECTIVIZATION, -3), + create_effect('track', GOVERNMENT, 2), + create_effect('draw_card', SELF, 2), + ], strength: 1, title: 'IMPOSE FACTORY MANAGERS', type: 'pc', }, { id: 19, + effects: [ + create_effect('front', CLOSEST_TO_DEFEAT, 2), + create_effect('track', GOVERNMENT, -1), + create_effect('return_card', TRASH, 1), + ], strength: 2, title: '¡NO PASARÁN!', type: 'pc', }, { id: 20, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('track', SOVIET_SUPPORT, 2), + // create_effect('front') // conditional on track + ], strength: 2, title: 'RUSSIAN FIGHTERS', type: 'pc', }, { id: 21, + effects: [ + create_effect('front', ANY, 1), + create_effect('track', LIBERTY, -2), + create_effect('track', COLLECTIVIZATION, -2), + create_effect('hero_points', SELF, 1), + ], strength: 1, title: 'ENRIQUE LÍSTER', type: 'pc', }, { id: 22, + effects: [ + create_effect('track', LIBERTY, -2), + create_effect('track', SOVIET_SUPPORT, 1), + // create_effect('track', GOVERNMENT, -2) // conditional + ], strength: 2, title: 'LARGO CABALLERO', type: 'pc', }, { id: 23, + effects: [ + // create_effect('front', ANY, 4) // conditional on track + create_effect('track', FOREIGN_AID, -2), + create_effect('draw_card', SELF, 2), + ], strength: 2, title: 'SOVIET TANKS', type: 'pc', }, { id: 24, + effects: [ + create_effect('front', ANY, 1), + create_effect('track', SOVIET_SUPPORT, 2), + create_effect('track', LIBERTY, -1), + create_effect('track', GOVERNMENT, -2), + create_effect('hero_points', SELF, 1), + ], strength: 3, title: 'DOLORES IBÁRRURI', type: 'pc', }, { id: 25, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('front', CLOSEST_TO_DEFEAT, 2), + create_effect('draw_card', SELF, 3), + create_effect('draw_card', OTHER_PLAYERS, 1), + ], strength: 1, title: 'PAUL ROBESON', type: 'pc', }, { id: 26, + effects: [ + // create_effect('front', MADRID, 1), // ability active + create_effect('track', LIBERTY, -2), + create_effect('track', GOVERNMENT, -1), + ], strength: 1, title: 'MADRID DEFENSE COUNCIL', type: 'pc', }, { id: 27, + effects: [ + create_effect('remove_blank_marker', ANY, 1), + create_effect('track', SOVIET_SUPPORT, 3), + create_effect('track', FOREIGN_AID, -1), + create_effect('draw_card', SELF, 1), + ], strength: 1, title: "STALIN GETS THE REPUBLIC'S GOLD", type: 'pc', }, { id: 28, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('front', SOUTHERN, 3), + create_effect('track', FOREIGN_AID, -1), + create_effect('draw_card', SELF, 1), + ], strength: 1, title: 'INTERNATIONAL BRIGADES', type: 'pc', }, { id: 29, + effects: [ + create_effect('track', GOVERNMENT, -2), + // create_effect('track', LIBERTY, -3) // conditional + ], strength: 1, title: 'BAN WOMEN FROM THE FRONT', type: 'pc', }, { id: 30, + effects: [ + create_effect('front', ANY, 1), + create_effect('track', SOVIET_SUPPORT, 2), + create_effect('track', FOREIGN_AID, -3), + ], strength: 1, title: 'ABRAHAM LINCOLN BRIGADE', type: 'pc', }, { id: 31, + effects: [ + create_effect('attack', ANY, -2), + create_effect('track', SOVIET_SUPPORT, 3), + create_effect('track', GOVERNMENT, -2), + ], strength: 2, title: 'OUTLAW THE POUM', type: 'pc', }, { id: 32, + effects: [ + // create_effect('hero_points', OTHER_PLAYERS, 1) // take 1 from others + create_effect('front', ANY, 1), + create_effect('track', SOVIET_SUPPORT, 1), + // create_effect('track') // choose one of two tracks + ], strength: 1, title: 'DISBAND THE CONTROL PATROLS', type: 'pc', }, { id: 33, + effects: [ + create_effect('attack', ARAGON, -1), + create_effect('track', SOVIET_SUPPORT, 1), + create_effect('track', LIBERTY, -4), + create_effect('swap_card_tableau_hand', ANY, 1), + ], strength: 1, title: 'MAY DAYS', type: 'pc', }, { id: 34, + effects: [ + create_effect('front', SOUTHERN, 2), + create_effect('track', GOVERNMENT, -1), + create_effect('draw_card', SELF, 1), + ], strength: 1, title: 'FIFTH REGIMENT', type: 'pc', }, { id: 35, + effects: [ + create_effect('front', ANY, 2), + // create_effect('track', SOVIET_SUPPORT,2) // conditional + create_effect('draw_card', SELF, 2), + ], strength: 1, title: 'THÄLMANN BATTALION', type: 'pc', }, { id: 36, + effects: [ + create_effect('track', SOVIET_SUPPORT, 2), + create_effect('track', COLLECTIVIZATION, -3), + create_effect('draw_card', SELF, 2), + create_effect('add_to_tableau', ANY, 1), + ], strength: 1, title: 'DE-COLLECTIVIZE AGRICULTURE', type: 'pc', }, { id: 37, + effects: [ + create_effect('front', ANY, 1), + create_effect('track', COLLECTIVIZATION,2), + create_effect('track', LIBERTY, 2), + create_effect('track', GOVERNMENT, TOWARDS_CENTER), + create_effect('hero_points', SELF, 1), + ], strength: 3, title: 'BUENAVENTURA DURRUTI', type: 'pc', }, { id: 38, + effects: [ + create_effect('track', LIBERTY, 3), + create_effect('track', SOVIET_SUPPORT, -2), + create_effect('draw_card', SELF, 1), + create_effect('swap_card_tableau_hand', ANY, 1), + ], strength: 2, title: 'MUJERES LIBRES', type: 'pc', }, { id: 39, + effects: [ + // create_effect('move attacks ') + create_effect('track', COLLECTIVIZATION, 1), + create_effect('draw_card', SELF, 2), + ], strength: 1, title: 'IRON COLUMN', type: 'pc', }, { id: 40, + effects: [ + create_effect('front', CLOSEST_TO_DEFEAT, 3), + create_effect('track', COLLECTIVIZATION, 2), + create_effect('draw_card', SELF, 1), + ], strength: 2, title: 'ASTURIAN MINERS', type: 'pc', }, { id: 41, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('track', COLLECTIVIZATION, 3), + create_effect('return_card', TRASH, 1), + ], strength: 2, title: 'CNT-FAI', type: 'pc', }, { id: 42, + effects: [ + create_effect('track', LIBERTY, 2), + create_effect('front', ARAGON, 2), + create_effect('front', MADRID, 1), + // create_effect('ability') // activate ability + ], strength: 2, title: 'DURRUTI COLUMN', type: 'pc', }, { id: 43, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('front', ARAGON, 1), + create_effect('track', SOVIET_SUPPORT, -2), + create_effect('draw_card', SELF, 3), + create_effect('draw_card', OTHER_PLAYERS, 1), + ], strength: 1, title: 'GEORGE ORWELL', type: 'pc', }, { id: 44, + effects: [ + // create_effect('hero_points', OTHER_PLAYERS, -1) // take from other player + create_effect('front', MADRID, 2), + create_effect('track', LIBERTY, 1), + create_effect('track', FOREIGN_AID, -1), + ], strength: 1, title: 'F.I.J.L.', type: 'pc', }, { id: 45, + effects: [ + create_effect('front', ANY, 2), + // create_effect('track', COLLECTIVIZATION, 1) // conditional + create_effect('track', FOREIGN_AID, -3) + ], strength: 1, title: 'ARM THE UNIONS', type: 'pc', }, { id: 46, + effects: [ + create_effect('bonus', ANY, ON), + create_effect('track', LIBERTY, 2), + // create_effect('special') // Peek at Fascist cards + ], strength: 1, title: 'GUERRILLAS', type: 'pc', }, { id: 47, + effects: [ + create_effect('remove_blank_marker', ANY, 1), + create_effect('track', LIBERTY, 2), + create_effect('track', GOVERNMENT, TOWARDS_CENTER), + create_effect('draw_card', SELF, 1), + ], strength: 1, title: 'RADICAL EDUCATION', type: 'pc', }, { id: 48, + effects: [ + create_effect('front', CLOSEST_TO_DEFEAT, 2), + create_effect('track', SOVIET_SUPPORT, -2), + create_effect('draw_card', SELF, 3), + ], strength: 1, title: 'MATTEOTTI BATTALION', type: 'pc', }, { id: 49, + effects: [ + create_effect('track', COLLECTIVIZATION, 4), + create_effect('draw_card', SELF, 1), + ], strength: 1, title: 'COLLECTIVIZE AGRICULTURE', type: 'pc', }, { id: 50, + effects: [ + create_effect('track', COLLECTIVIZATION, 1), + // create_effect('front', ARAGON, 3) // conditional + create_effect('track', FOREIGN_AID, -1), + ], strength: 1, title: 'ARMORED VEHICLES', type: 'pc', }, { id: 51, + effects: [ + create_effect('track', COLLECTIVIZATION, 3), + create_effect('track', FOREIGN_AID, -2), + create_effect('track', GOVERNMENT, TOWARDS_CENTER), + ], strength: 1, title: 'INDUSTRIAL DEMOCRACY', type: 'pc', }, { id: 52, + effects: [ + create_effect('front', ANY, 1), + // create_effect('track') // choose + create_effect('track', GOVERNMENT, TOWARDS_CENTER), + ], strength: 2, title: 'AFFINITY GROUPS', type: 'pc', }, { id: 53, + effects: [ + create_effect('track', LIBERTY, 1), + // create_effect('front', ANY, 3) // conditional + create_effect('hero_points', SELF, 1), + ], strength: 1, title: 'GENDER-INCLUSIVE MILITIA', type: 'pc', }, { id: 54, + effects: [ + // create_effect('track', LIBERTY, 3) // conditional + create_effect('track', SOVIET_SUPPORT, -1), + create_effect('add_to_tableau', ANY, 1), + ], strength: 1, title: 'FEDERICA MONTSENY', type: 'pc', @@ -414,21 +673,9 @@ const data: StaticData = { { id: 55, effects: [ - { - target: SOUTHERN, - type: 'attack', - value: 4, - }, - { - target: ARAGON, - type: 'attack', - value: 1, - }, - { - target: SOVIET_SUPPORT, - type: 'track', - value: -2, - }, + create_effect('attack', SOUTHERN, -4), + create_effect('attack', ARAGON, -1), + create_effect('track', SOVIET_SUPPORT, -2), ], title: 'SPANISH LEGION', type: 'ec', @@ -437,21 +684,9 @@ const data: StaticData = { { id: 56, effects: [ - { - target: SOUTHERN, - type: 'attack', - value: 3, - }, - { - target: CLOSEST_TO_VICTORY, - type: 'attack', - value: 2, - }, - { - target: MORALE_BONUS, - type: 'bonus', - value: OFF, - }, + create_effect('attack', SOUTHERN, -3), + create_effect('attack', CLOSEST_TO_VICTORY, -2), + create_effect('bonus', MORALE_BONUS, OFF), ], title: 'BRITISH TREACHERY AT GIBRALTAR', type: 'ec', @@ -460,21 +695,9 @@ const data: StaticData = { { id: 57, effects: [ - { - target: MADRID, - type: 'attack', - value: -5, - }, - { - target: FOREIGN_AID, - type: 'track', - value: -2, - }, - { - target: PLAYER_WITH_MOST_HERO_POINTS, - type: 'hero_points', - value: -1, - }, + create_effect('attack', MADRID, -5), + create_effect('track', FOREIGN_AID, -2), + create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, -1), ], title: 'PARACUELLOS MASSACRES', type: 'ec', @@ -483,21 +706,9 @@ const data: StaticData = { { id: 58, effects: [ - { - target: 'n', - type: 'attack', - value: -5, - }, - { - target: 'v', - type: 'attack', - value: -1, - }, - { - target: COLLECTIVIZATION, - type: 'track', - value: -1, - }, + create_effect('attack', NORTHERN, -5), + create_effect('attack', CLOSEST_TO_VICTORY, -1), + create_effect('track', COLLECTIVIZATION, -1), ], title: 'CARLISTS', type: 'ec', @@ -506,21 +717,9 @@ const data: StaticData = { { id: 59, effects: [ - { - target: MADRID, - type: 'attack', - value: -4, - }, - { - target: CLOSEST_TO_VICTORY, - type: 'attack', - value: -2, - }, - { - target: LIBERTY, - type: 'track', - value: -1, - }, + create_effect('attack', MADRID, -4), + create_effect('attack', CLOSEST_TO_VICTORY, -2), + create_effect('track', LIBERTY, -1), ], title: 'ASSASSINATION OF GARCIA LORCA', type: 'ec', @@ -529,21 +728,9 @@ const data: StaticData = { { id: 60, effects: [ - { - target: NORTHERN, - type: 'attack', - value: -3, - }, - { - target: CLOSEST_TO_VICTORY, - type: 'attack', - value: -3, - }, - { - target: LIBERTY, - type: 'track', - value: -1, - }, + create_effect('attack', NORTHERN, -3), + create_effect('attack', CLOSEST_TO_VICTORY, -3), + create_effect('track', LIBERTY, -1), ], title: 'GENERAL SANJURIO', type: 'ec', @@ -552,21 +739,9 @@ const data: StaticData = { { id: 61, effects: [ - { - target: ARAGON, - type: 'attack', - value: -4, - }, - { - target: CLOSEST_TO_VICTORY, - type: 'attack', - value: -2, - }, - { - target: PLAYER_WITH_MOST_HERO_POINTS, - type: 'hero_points', - value: -1, - }, + create_effect('attack', ARAGON, -2), + create_effect('attack', CLOSEST_TO_VICTORY, -2), + create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, -1), ], title: 'FAILED INVASION OF MALLORCA', type: 'ec', @@ -575,21 +750,9 @@ const data: StaticData = { { id: 62, effects: [ - { - target: SOUTHERN, - type: 'attack', - value: -5, - }, - { - target: MORALE_BONUS, - type: 'bonus', - value: OFF, - }, - { - target: PLAYER_WITH_MOST_HERO_POINTS, - type: 'hero_points', - value: -1, - }, + create_effect('attack', SOUTHERN, -5), + create_effect('bonus', MORALE_BONUS, OFF), + create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, -1), ], title: 'AIRLIFT OF THE ARMY OF AFRICA', type: 'ec', @@ -665,82 +828,34 @@ const data: StaticData = { id: LIBERTY, name: 'Liberty', triggers: [ - { - type: 'bonus', - target: MORALE_BONUS, - value: OFF, - }, - { - type: 'attack', - target: MADRID, - value: -1, - }, + create_effect('bonus', MORALE_BONUS, OFF), + create_effect('attack', MADRID, -1), null, - { - type: 'track', - target: SOVIET_SUPPORT, - value: 1, - }, + create_effect('track', SOVIET_SUPPORT, 1), null, null, null, - { - type: 'track', - target: GOVERNMENT, - value: TOWARDS_CENTER, - }, - { - type: 'front', - target: ANY, - value: 1, - }, + create_effect('track', GOVERNMENT, TOWARDS_CENTER), + create_effect('front', ANY, 1), null, - { - type: 'medaillon', - target: ANY, - value: 1, - }, + create_effect('medaillon', ANY, 1), ], }, { id: COLLECTIVIZATION, name: 'Collectivization', triggers: [ - { - type: 'bonus', - target: MORALE_BONUS, - value: OFF, - }, - { - type: 'attack', - target: ARAGON, - value: -1, - }, + create_effect('bonus', MORALE_BONUS, OFF), + create_effect('attack', ARAGON, -1), null, - { - type: 'track', - target: FOREIGN_AID, - value: 1, - }, + create_effect('track', FOREIGN_AID, 1), null, null, null, - { - type: 'front', - target: ANY, - value: 1, - }, - { - type: 'track', - target: LIBERTY, - value: 1, - }, + create_effect('front', ANY, 1), + create_effect('track', LIBERTY, 1), null, - { - type: 'medaillon', - target: ANY, - value: 1, - }, + create_effect('medaillon', ANY, 1), ], }, { @@ -748,114 +863,50 @@ const data: StaticData = { name: 'Government', triggers: [ null, - { - type: 'medaillon', - target: ANY, - value: 1, - }, + create_effect('medaillon', ANY, 1), null, null, - { - type: 'track', - target: SOVIET_SUPPORT, - value: 1, - }, + create_effect('track', SOVIET_SUPPORT, 1), null, null, - { - type: 'track', - target: FOREIGN_AID, - value: 1, - }, + create_effect('track', FOREIGN_AID, 1), null, null, - { - type: 'medaillon', - target: ANY, - value: 1, - }, + create_effect('medaillon', ANY, 1), ], }, { id: SOVIET_SUPPORT, name: 'Soviet Support', triggers: [ - { - type: 'bonus', - target: MORALE_BONUS, - value: OFF, - }, - { - type: 'attack', - target: SOUTHERN, - value: -1, - }, + create_effect('bonus', MORALE_BONUS, OFF), + create_effect('attack', SOUTHERN, -1), null, null, null, - { - type: 'track', - target: LIBERTY, - value: -1, - }, + create_effect('track', LIBERTY, -1), null, - { - type: 'front', - target: ANY, - value: 1, - }, - { - type: 'track', - target: GOVERNMENT, - value: -1, - }, + create_effect('front', ANY, 1), + create_effect('track', GOVERNMENT, -1), null, - { - type: 'medaillon', - target: ANY, - value: 1, - }, + create_effect('medaillon', ANY, 1), ], }, { id: FOREIGN_AID, name: 'Foreign Aid', triggers: [ - { - type: 'bonus', - target: MORALE_BONUS, - value: OFF, - }, - { - type: 'attack', - target: NORTHERN, - value: -1, - }, + create_effect('bonus', MORALE_BONUS, OFF), + create_effect('attack', NORTHERN, -1), null, null, null, - { - type: 'track', - target: LIBERTY, - value: -1, - }, + create_effect('track', LIBERTY, -1), null, - { - type: 'front', - target: ANY, - value: 1, - }, - { - type: 'track', - target: GOVERNMENT, - value: 1, - }, + create_effect('front', ANY, 1), + create_effect('track', GOVERNMENT, 1), null, - { - type: 'medaillon', - target: ANY, - value: 1, - }, + create_effect('medaillon', ANY, 1), ], }, ], -- cgit v1.2.3