# Game Data & Balance for GrimHold GRID_SIZES = { 1: {"w": 16, "h": 10}, 2: {"w": 20, "h": 12}, 3: {"w": 24, "h": 14}, 4: {"w": 26, "h": 15}, } STORAGE_CAPACITIES = { 1: 1500, 2: 3500, 3: 7500, 4: 15000, } BUILDING_DEFINITIONS = { "core": { "name": "Schatzkammer & Zitadelle", "description": "Das Herz deiner Festung. Beherbergt deine Beute. Stufe schaltet größeres Kachel-Terrain frei.", "icon": "castle", "category": "core", "base_hp": 800, "hp_per_lvl": 400, "base_cost": {"wood": 250, "iron": 200, "food": 100, "essence": 20}, "cost_multiplier": 2.2, "base_time": 45, # seconds for lvl 2 "time_multiplier": 2.0, "is_unique": True, "range": 0, "damage": 0, }, "woodcutter": { "name": "Holzfäller-Posten", "description": "Schlägt Bauholz im nahen Verfluchten Forst.", "icon": "axe", "category": "economy", "base_hp": 250, "hp_per_lvl": 80, "base_cost": {"wood": 40, "iron": 15, "food": 10, "essence": 0}, "cost_multiplier": 1.6, "base_time": 15, "time_multiplier": 1.8, "base_rate": 20.0 / 60.0, # 20 per minute "rate_per_lvl": 15.0 / 60.0, "range": 0, "damage": 0, }, "mine": { "name": "Schrott- & Eisenschmelze", "description": "Fördert und schmilzt Erze und Trümmer für Rüstung und Verteidigung.", "icon": "anvil", "category": "economy", "base_hp": 300, "hp_per_lvl": 100, "base_cost": {"wood": 60, "iron": 30, "food": 20, "essence": 0}, "cost_multiplier": 1.7, "base_time": 20, "time_multiplier": 1.8, "base_rate": 15.0 / 60.0, # 15 per minute "rate_per_lvl": 12.0 / 60.0, "range": 0, "damage": 0, }, "farm": { "name": "Zufluchts-Küche & Jagd", "description": "Versorgt Überlebende und stellt Proviant für Raids her.", "icon": "drumstick", "category": "economy", "base_hp": 200, "hp_per_lvl": 60, "base_cost": {"wood": 35, "iron": 10, "food": 5, "essence": 0}, "cost_multiplier": 1.5, "base_time": 10, "time_multiplier": 1.8, "base_rate": 25.0 / 60.0, # 25 per minute "rate_per_lvl": 18.0 / 60.0, "range": 0, "damage": 0, }, "wall": { "name": "Wehrmauer & Palisade", "description": "Blockiert Laufwege für Angreifer und lenkt sie in dein Labyrinth.", "icon": "shield", "category": "defense", "base_hp": 350, "hp_per_lvl": 150, "base_cost": {"wood": 15, "iron": 10, "food": 0, "essence": 0}, "cost_multiplier": 1.5, "base_time": 5, "time_multiplier": 1.5, "range": 0, "damage": 0, }, "ballista": { "name": "Wachturm mit Balliste", "description": "Feuert schwere Bolzen auf einzelne Angreifer in Sicht.", "icon": "crosshair", "category": "tower", "base_hp": 260, "hp_per_lvl": 90, "base_cost": {"wood": 75, "iron": 45, "food": 20, "essence": 0}, "cost_multiplier": 1.7, "base_time": 20, "time_multiplier": 1.8, "range": 3, "damage": 75, "damage_per_lvl": 25, "aoe": False, }, "catapult": { "name": "Pech- & Brandkatapult", "description": "Schleudert brennendes Pech. Verursacht Flächenschaden (AoE) auf 2–4 Felder Distanz.", "icon": "flame", "category": "tower", "base_hp": 220, "hp_per_lvl": 80, "base_cost": {"wood": 110, "iron": 65, "food": 30, "essence": 5}, "cost_multiplier": 1.8, "base_time": 30, "time_multiplier": 1.8, "range_min": 2, "range": 4, "damage": 45, "damage_per_lvl": 15, "aoe": True, }, "crypt": { "name": "Krypta-Magierturm", "description": "Schießt dunkle Seelen-Strahlen, die Rüstung ignorieren und Angreifer verlangsamen.", "icon": "sparkles", "category": "tower", "base_hp": 190, "hp_per_lvl": 70, "base_cost": {"wood": 90, "iron": 50, "food": 20, "essence": 25}, "cost_multiplier": 1.8, "base_time": 25, "time_multiplier": 1.8, "range": 2, "damage": 55, "damage_per_lvl": 20, "slow": 1, "aoe": False, }, "spike_trap": { "name": "Verborgene Stachelfalle", "description": "Unsichtbar für Angreifer! Schnappt zu, wenn ein Feind das Feld betritt (110 Schaden).", "icon": "alert-triangle", "category": "trap", "base_hp": 50, "hp_per_lvl": 20, "base_cost": {"wood": 20, "iron": 20, "food": 0, "essence": 0}, "cost_multiplier": 1.4, "base_time": 8, "time_multiplier": 1.4, "damage": 110, "damage_per_lvl": 40, "is_hidden": True, }, "poison_trap": { "name": "Verborgene Giftgas-Grube", "description": "Unsichtbar! Vergiftet den Auslöser für 3 Runden (35 Schaden pro Runde).", "icon": "skull", "category": "trap", "base_hp": 50, "hp_per_lvl": 20, "base_cost": {"wood": 25, "iron": 15, "food": 0, "essence": 15}, "cost_multiplier": 1.4, "base_time": 10, "time_multiplier": 1.4, "poison_damage": 35, "poison_duration": 3, "is_hidden": True, } } HERO_CLASSES = { "tank": { "name": "Schildbrecher", "role": "Nahkampf-Tank & Barrikaden-Zertrümmerer", "icon": "shield", "max_hp": 460, "atk": 70, "range": 1, "move": 3, "skill_name": "Schildwall", "skill_desc": "Reduziert erlittenen Turmschaden in dieser Runde um 50 %.", "skill_cd": 3, }, "archer": { "name": "Waldläufer", "role": "Präzisions-Fernkämpfer", "icon": "target", "max_hp": 250, "atk": 85, "range": 3, "move": 3, "skill_name": "Gezielter Schuss", "skill_desc": "Feuert einen panzerbrechenden Pfeil mit 140 Schaden auf einen Turm.", "skill_cd": 3, }, "rogue": { "name": "Schatten-Schurke", "role": "Fallen-Spürer & Flanker", "icon": "footprints", "max_hp": 210, "atk": 95, "range": 1, "move": 4, "skill_name": "Fallen Aufdecken", "skill_desc": "Deckt alle verborgenen Fallen im Umkreis von 3 Kacheln auf und entschärft angrenzende Fallen.", "skill_cd": 2, } }