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; }>; } const LIBERTY = 0; const COLLECTIVIZATION = 1; const GOVERNMENT = 2; const SOVIET_SUPPORT = 3; const FOREIGN_AID = 4; const MORALE_BONUS = 0; const TEAMWORK_BONUS = 1; const OFF = 0; const ON = 1; const PLAYER_WITH_MOST_HERO_POINTS = 0; export { LIBERTY, COLLECTIVIZATION, GOVERNMENT, SOVIET_SUPPORT, FOREIGN_AID, MORALE_BONUS, TEAMWORK_BONUS, OFF, ON, PLAYER_WITH_MOST_HERO_POINTS, }; const data: StaticData = { cards: [ {} as Card, { id: 1, strength: 1, title: 'CLANDESTINE FRENCH ARMS', type: 'pc', }, { id: 2, strength: 2, title: 'POPULAR ARMY OF THE REPUBLIC', type: 'pc', }, { id: 3, strength: 2, title: 'MEXICAN GUNS', type: 'pc', }, { id: 4, strength: 1, title: 'BATTLE OF GUADALAJARA', type: 'pc', }, { id: 5, strength: 1, title: '"SI ME OUIERES ESCRIBIR"', type: 'pc', }, { id: 6, strength: 2, title: 'XYZ LINE', type: 'pc', }, { id: 7, strength: 3, title: 'INDALECIO PRIETO', type: 'pc', }, { id: 8, strength: 1, title: "PEOPLE'S OLYMPIAD", type: 'pc', }, { id: 9, strength: 1, title: 'FOUR ANARCHIST MINISTERS', type: 'pc', }, { id: 10, strength: 1, title: 'GUERNICA', type: 'pc', }, { id: 11, strength: 1, title: 'ERNEST HEMINGWAY', type: 'pc', }, { id: 12, strength: 1, title: 'HUESCA OFFENSIVE', type: 'pc', }, { id: 13, strength: 1, title: 'PABLO NERUDA', type: 'pc', }, { id: 14, strength: 1, title: 'EUSKO GUDAROSTEA', type: 'pc', }, { id: 15, strength: 2, title: 'JUAN NEGRÍN', type: 'pc', }, { id: 16, strength: 1, title: 'PUBLICIZE FASCIST WAR CRIMES', type: 'pc', }, { id: 17, strength: 1, title: 'AGRARIAN REFORM', type: 'pc', }, { id: 18, strength: 1, title: 'IMPOSE FACTORY MANAGERS', type: 'pc', }, { id: 19, strength: 2, title: '¡NO PASARÁN!', type: 'pc', }, { id: 20, strength: 2, title: 'RUSSIAN FIGHTERS', type: 'pc', }, { id: 21, strength: 1, title: 'ENRIQUE LÍSTER', type: 'pc', }, { id: 22, strength: 2, title: 'LARGO CABALLERO', type: 'pc', }, { id: 23, strength: 2, title: 'SOVIET TANKS', type: 'pc', }, { id: 24, strength: 3, title: 'DOLORES IBÁRRURI', type: 'pc', }, { id: 25, strength: 1, title: 'PAUL ROBESON', type: 'pc', }, { id: 26, strength: 1, title: 'MADRID DEFENSE COUNCIL', type: 'pc', }, { id: 27, strength: 1, title: "STALIN GETS THE REPUBLIC'S GOLD", type: 'pc', }, { id: 28, strength: 1, title: 'INTERNATIONAL BRIGADES', type: 'pc', }, { id: 29, strength: 1, title: 'BAN WOMEN FROM THE FRONT', type: 'pc', }, { id: 30, strength: 1, title: 'ABRAHAM LINCOLN BRIGADE', type: 'pc', }, { id: 31, strength: 2, title: 'OUTLAW THE POUM', type: 'pc', }, { id: 32, strength: 1, title: 'DISBAND THE CONTROL PATROLS', type: 'pc', }, { id: 33, strength: 1, title: 'MAY DAYS', type: 'pc', }, { id: 34, strength: 1, title: 'FIFTH REGIMENT', type: 'pc', }, { id: 35, strength: 1, title: 'THÄLMANN BATTALION', type: 'pc', }, { id: 36, strength: 1, title: 'DE-COLLECTIVIZE AGRICULTURE', type: 'pc', }, { id: 37, strength: 3, title: 'BUENAVENTURA DURRUTI', type: 'pc', }, { id: 38, strength: 2, title: 'MUJERES LIBRES', type: 'pc', }, { id: 39, strength: 1, title: 'IRON COLUMN', type: 'pc', }, { id: 40, strength: 2, title: 'ASTURIAN MINERS', type: 'pc', }, { id: 41, strength: 2, title: 'CNT-FAI', type: 'pc', }, { id: 42, strength: 2, title: 'DURRUTI COLUMN', type: 'pc', }, { id: 43, strength: 1, title: 'GEORGE ORWELL', type: 'pc', }, { id: 44, strength: 1, title: 'F.I.J.L.', type: 'pc', }, { id: 45, strength: 1, title: 'ARM THE UNIONS', type: 'pc', }, { id: 46, strength: 1, title: 'GUERRILLAS', type: 'pc', }, { id: 47, strength: 1, title: 'RADICAL EDUCATION', type: 'pc', }, { id: 48, strength: 1, title: 'MATTEOTTI BATTALION', type: 'pc', }, { id: 49, strength: 1, title: 'COLLECTIVIZE AGRICULTURE', type: 'pc', }, { id: 50, strength: 1, title: 'ARMORED VEHICLES', type: 'pc', }, { id: 51, strength: 1, title: 'INDUSTRIAL DEMOCRACY', type: 'pc', }, { id: 52, strength: 2, title: 'AFFINITY GROUPS', type: 'pc', }, { id: 53, strength: 1, title: 'GENDER-INCLUSIVE MILITIA', type: 'pc', }, { id: 54, strength: 1, title: 'FEDERICA MONTSENY', type: 'pc', }, { id: 55, effects: [ { target: 's', type: 'attack', value: 4, }, { target: 'a', type: 'attack', value: 1, }, { target: SOVIET_SUPPORT, type: 'track', value: -2, }, ], title: 'SPANISH LEGION', type: 'ec', year: 1, }, { id: 56, effects: [ { target: 's', type: 'attack', value: 3, }, { target: 'v', type: 'attack', value: 2, }, { target: MORALE_BONUS, type: 'bonus', value: OFF, }, ], title: 'BRITISH TREACHERY AT GIBRALTAR', type: 'ec', year: 1, }, { id: 57, effects: [ { target: 'm', type: 'attack', value: 5, }, { target: FOREIGN_AID, type: 'track', value: -2, }, { target: PLAYER_WITH_MOST_HERO_POINTS, type: 'hero_points', value: -1, }, ], title: 'PARACUELLOS MASSACRES', type: 'ec', year: 1, }, { id: 58, effects: [ { target: 'n', type: 'attack', value: 5, }, { target: 'v', type: 'attack', value: 1, }, { target: COLLECTIVIZATION, type: 'track', value: -1, }, ], title: 'CARLISTS', type: 'ec', year: 1, }, { id: 59, effects: [ { target: 'm', type: 'attack', value: 4, }, { target: 'v', type: 'attack', value: 2, }, { target: LIBERTY, type: 'track', value: -1, }, ], title: 'ASSASSINATION OF GARCIA LORCA', type: 'ec', year: 1, }, { id: 60, effects: [ { target: 'n', type: 'attack', value: 3, }, { target: 'v', type: 'attack', value: 3, }, { target: LIBERTY, type: 'track', value: -1, }, ], title: 'GENERAL SANJURIO', type: 'ec', year: 1, }, { id: 61, effects: [ { target: 'a', type: 'attack', value: 4, }, { target: 'v', type: 'attack', value: 2, }, { target: PLAYER_WITH_MOST_HERO_POINTS, type: 'hero_points', value: -1, }, ], title: 'FAILED INVASION OF MALLORCA', type: 'ec', year: 1, }, { id: 62, effects: [ { target: 's', type: 'attack', value: 5, }, { target: MORALE_BONUS, type: 'bonus', value: OFF, }, { target: PLAYER_WITH_MOST_HERO_POINTS, type: 'hero_points', value: -1, }, ], title: 'AIRLIFT OF THE ARMY OF AFRICA', type: 'ec', year: 1, }, ], fronts: [ { id: 'n', name: 'Northern', left: 89, top: 96, }, { id: 'a', name: 'Aragon', left: 340, top: 182, }, { id: 'm', name: 'Madrid', left: 115, top: 262, }, { id: 's', name: 'Southern', left: 205, top: 426, }, ], }; export default data;