magicciv/tools/standin-sprites/icon_rules.json
Natalie 8e77d36434 feat(@projects/@magic-civilization): add dwarf gendered unit standin sprites + gen tooling
New per-unit male/female standin PNGs, build_standins.py + icon_rules
updates, license/standins ledgers, manifest roster + DevSpritesPage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 05:29:36 -05:00

719 lines
No EOL
28 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"_comment": "Keyword -> game-icons.net icon resolution for OSS stand-in sprites, Age of Dwarves Game 1. The build script (build_standins.py) reads the game's manifest subscription (public/games/age-of-dwarves/manifest.json -> subscribes.units / .buildings), resolves each subscribed id to the literal sprite path(s) declared in public/resources/<cat>/<id>.json, and picks a thematically-plausible CC-BY-3.0 silhouette per id from the tables below. All icons are CC-BY-3.0 from github.com/game-icons/icons. Re-run tools/standin-sprites/build_standins.py after editing. Resolution order per id: explicit `overrides` first, then first matching substring in `keywords` (longest key wins), then the category `default`.",
"source": {
"repo": "game-icons/icons",
"raw_base": "https://raw.githubusercontent.com/game-icons/icons/master",
"page_base": "https://game-icons.net/1x1",
"license": "cc-by-3.0",
"authors": {
"lorc": "Lorc",
"delapouite": "Delapouite",
"sbed": "Sbed",
"skoll": "Skoll",
"heavenly-dog": "HeavenlyDog",
"carl-olsen": "Carl Olsen",
"faithtoken": "Faithtoken",
"quoting": "Quoting",
"cathelineau": "Cathelineau",
"willdabeast": "Willdabeast",
"darkzaitzev": "DarkZaitzev",
"john-colburn": "John Colburn",
"guard13007": "Guard13007",
"kier-heyl": "Kier Heyl",
"aussiesim": "Aussiesim",
"caro-asercion": "Caro Asercion",
"spencerdub": "Spencerdub",
"john-redman": "John Redman"
}
},
"render": {
"units": {
"size": 56,
"style": "glyph_shadow",
"glyph": "#F4ECD2",
"dir": "units"
},
"wild": {
"size": 56,
"style": "glyph_shadow",
"glyph": "#E6DECB",
"dir": "units"
},
"cities": {
"size": 56,
"style": "glyph_shadow",
"glyph": "#EFE6CC",
"dir": "cities"
},
"buildings": {
"size": 64,
"style": "plate_stone",
"glyph": "#ECDCB4",
"dir": "buildings"
},
"wonders": {
"size": 96,
"style": "plate_gold",
"glyph": "#FCEFC6",
"dir": "buildings"
},
"throne_room": {
"size": 128,
"style": "plate_stone",
"glyph": "#ECDCB4",
"dir": "throne_room"
},
"items": {
"size": 64,
"style": "plate_stone",
"glyph": "#ECDCB4",
"dir": "items"
},
"resources": {
"size": 56,
"style": "glyph_shadow",
"glyph": "#EFE6CC",
"dir": "resources"
},
"lairs": {
"size": 64,
"style": "glyph_shadow",
"glyph": "#9C3B2E",
"dir": "lairs"
},
"terrain": {
"size": 64,
"style": "glyph_shadow",
"glyph": "#D8CFB6",
"dir": "terrain"
}
},
"cities": {
"city_q1": "delapouite/hut",
"city_q2": "delapouite/huts-village",
"city_q3": "delapouite/village",
"city_q4": "delapouite/hill-fort",
"city_q5": "delapouite/castle"
},
"units": {
"default": "delapouite/dwarf-face",
"overrides": {
"archer": "delapouite/archer",
"berserker": "delapouite/barbarian",
"dwarf_berserker": "delapouite/barbarian",
"cavalry": "delapouite/cavalry",
"pikeman": "lorc/barbed-spear",
"pike_guard": "lorc/barbed-spear",
"runesmith": "lorc/rune-stone",
"rune_scribe": "lorc/rune-stone",
"rune_spear": "lorc/rune-stone",
"spearmen": "lorc/spears",
"dwarf_spearman": "lorc/spears",
"warrior": "lorc/broadsword",
"dwarf_warrior": "lorc/broadsword",
"worker": "delapouite/miner",
"dwarf_woodcutter": "lorc/wood-axe",
"dwarf_master_woodcutter": "lorc/wood-axe",
"ancient_hydra": "lorc/hydra",
"basilisk_wild": "lorc/snake-totem",
"dire_bear": "delapouite/bear-head",
"dire_wolf": "lorc/wolf-head",
"drake_wild": "lorc/sea-dragon",
"elder_wyrm": "lorc/dragon-spiral",
"feral_spider": "lorc/hanging-spider",
"fire_imp": "lorc/imp",
"frostfang_alpha": "skoll/fangs",
"garden_snail": "lorc/snail",
"lava_elemental": "sbed/lava",
"shambling_dead": "delapouite/half-body-crawling",
"stone_sentinel": "delapouite/rock-golem",
"wild_wyvern": "lorc/wyvern",
"wolf_pack": "lorc/wolf-howl",
"goretooth": "skoll/fangs",
"doomsoul": "lorc/spectre",
"soulbolt": "lorc/energy-arrow",
"forge_titan": "delapouite/mighty-force",
"mountain_king": "delapouite/throne-king",
"dwarf_founder": "delapouite/caravan",
"founder": "delapouite/caravan",
"dwarf_tribe": "delapouite/family-house",
"dwarf_wanderer": "lorc/walking-boot",
"beacon_bearer": "lorc/light-bulb",
"loremaster": "lorc/book-cover",
"sage": "delapouite/teacher",
"saga_singer": "lorc/lyre",
"bard": "lorc/lyre",
"guildmaster": "lorc/key",
"merchant": "delapouite/two-coins",
"caravan_master": "delapouite/caravan",
"cartographer": "lorc/treasure-map",
"resonance_telegrapher": "skoll/sound-waves",
"steam_messenger": "lorc/envelope",
"hold_courier": "lorc/envelope",
"foot_runner": "lorc/run",
"tunnel_runner": "lorc/run",
"dwarf_silent_runner": "lorc/run",
"hold_network_warden": "lorc/radar-dish"
},
"keywords": {
"submarine": "delapouite/submarine-missile",
"destroyer": "delapouite/cargo-ship",
"dreadnought": "cathelineau/battleship",
"fortress_ship": "cathelineau/battleship",
"cruiser": "delapouite/cargo-ship",
"frigate": "delapouite/sailboat",
"corvette": "delapouite/sailboat",
"galley": "delapouite/galley",
"barge": "delapouite/cargo-ship",
"warship": "cathelineau/battleship",
"carrier": "cathelineau/battleship",
"zeppelin": "skoll/zeppelin",
"sky_fortress": "skoll/zeppelin",
"bomber": "lorc/bombing-run",
"iron_hawk": "quoting/biplane",
"gyrocopter": "quoting/biplane",
"flak": "lorc/cannon-ball",
"rocket": "lorc/missile-swarm",
"rail_cannon": "lorc/cannon",
"cannon": "lorc/cannon",
"bombard": "lorc/cannon",
"howitzer": "lorc/cannon",
"artillery": "lorc/cannon",
"mortar": "delapouite/mortar-shells",
"field_gun": "lorc/cannon",
"machine_gun": "skoll/machine-gun",
"gatling": "skoll/machine-gun",
"rifleman": "skoll/winchester-rifle",
"rifle": "skoll/winchester-rifle",
"marksman": "skoll/winchester-rifle",
"hand_cannon": "lorc/blunderbuss",
"cannoneer": "lorc/blunderbuss",
"thunderer": "lorc/blunderbuss",
"trooper": "delapouite/person",
"commando": "delapouite/person",
"trench": "delapouite/person",
"emp": "lorc/electric",
"engineer": "lorc/auto-repair",
"sapper": "lorc/dig-dug",
"powder_sapper": "lorc/unstable-projectile",
"smith": "lorc/anvil",
"prospector": "delapouite/miner",
"scout": "delapouite/look-at",
"deep_scout": "delapouite/look-at",
"deep_eye": "lorc/eyeball",
"deep_guard": "willdabeast/round-shield",
"boar_scout": "caro-asercion/boar",
"ram_rider": "darkzaitzev/ram",
"tusker": "delapouite/elephant",
"war_ram": "darkzaitzev/ram",
"arbalest": "carl-olsen/crossbow",
"crossbow": "carl-olsen/crossbow",
"ballista": "skoll/ballista",
"bolt_thrower": "skoll/ballista",
"bolt": "skoll/ballista",
"catapult": "heavenly-dog/catapult",
"trebuchet": "delapouite/trebuchet",
"quarrel": "carl-olsen/crossbow",
"axeman": "lorc/battle-axe",
"halberd": "lorc/halberd",
"hammerguard": "lorc/flat-hammer",
"hammer": "lorc/flat-hammer",
"graven_warrior": "delapouite/stone-bust",
"golem": "delapouite/rock-golem",
"colossus": "delapouite/rock-golem",
"sentinel": "delapouite/guards",
"sentry": "delapouite/guards",
"bulwark": "willdabeast/round-shield",
"shield": "willdabeast/round-shield",
"defender": "willdabeast/round-shield",
"guard": "delapouite/guards",
"warden": "delapouite/guards",
"vanguard": "delapouite/sword-brandish",
"champion": "delapouite/sword-brandish",
"plated": "lorc/mail-shirt",
"riveted": "lorc/mail-shirt",
"anvil_guard": "lorc/anvil",
"anti_charge": "lorc/spears",
"anti_tank": "skoll/winchester-rifle",
"tank": "cathelineau/great-war-tank",
"strider": "delapouite/mecha-head",
"walker": "delapouite/mecha-head",
"steam_walker": "delapouite/mecha-head",
"strike_walker": "delapouite/mecha-head",
"steam_golem": "delapouite/mecha-head",
"stormbolt": "lorc/lightning-bow",
"storm": "lorc/lightning-trio",
"thunder": "lorc/lightning-trio",
"medic": "sbed/medical-pack",
"surgeon": "sbed/medical-pack",
"priest": "lorc/prayer",
"raider": "skoll/raise-skeleton",
"ancestral_walker": "delapouite/stone-bust",
"iron_strider": "delapouite/mecha-head",
"adamantine": "lorc/cut-diamond",
"mithril": "lorc/cut-diamond",
"ironwarden": "delapouite/guards",
"iron": "delapouite/metal-bar",
"spear": "lorc/spears",
"war": "lorc/crossed-swords",
"field": "lorc/cannon"
}
},
"buildings": {
"default": "delapouite/house",
"wonder_default": "delapouite/greek-temple",
"overrides": {
"ale_hall": "lorc/beer-stein",
"brewery": "lorc/beer-stein",
"barracks": "delapouite/barracks",
"bathhouse": "delapouite/bathtub",
"colosseum": "sbed/arena",
"grand_amphitheater": "sbed/arena",
"forge": "lorc/anvil",
"smithy": "lorc/anvil",
"iron_forge": "lorc/anvil",
"steam_forge": "lorc/anvil",
"war_foundry": "lorc/anvil",
"library": "delapouite/bookshelf",
"great_library": "delapouite/bookshelf",
"great_library_of_nature": "delapouite/bookshelf",
"scriptorium": "lorc/scroll-unfurled",
"marketplace": "delapouite/shop",
"market": "delapouite/shop",
"bazaar": "delapouite/shop",
"mercantile_exchange": "delapouite/two-coins",
"copper_mint": "delapouite/two-coins",
"monument": "delapouite/obelisk",
"war_monument": "delapouite/obelisk",
"monument_of_ages": "delapouite/obelisk",
"temple": "delapouite/greek-temple",
"temple_of_the_ancestor": "delapouite/greek-temple",
"walls": "delapouite/stone-wall",
"watchtower": "delapouite/watchtower",
"castle": "delapouite/castle",
"citadel": "delapouite/medieval-gate",
"grand_citadel": "delapouite/medieval-gate",
"command_citadel": "delapouite/medieval-gate",
"sky_citadel": "delapouite/medieval-gate",
"granary": "delapouite/grain-bundle",
"great_granary": "delapouite/grain-bundle",
"storehouse": "delapouite/barrel",
"depot": "delapouite/barrel",
"stable": "delapouite/stable",
"harbor": "delapouite/harbor-dock",
"deep_harbor": "delapouite/harbor-dock",
"grand_harbor": "delapouite/harbor-dock",
"lighthouse": "delapouite/lighthouse",
"ancient_lighthouse": "delapouite/lighthouse",
"observatory": "delapouite/observatory",
"deep_observatory": "delapouite/observatory",
"grand_observatory": "delapouite/observatory",
"university": "delapouite/graduate-cap",
"academy_of_sciences": "delapouite/graduate-cap",
"courthouse": "lorc/justice-star",
"hospital": "sbed/health-normal",
"clinic": "sbed/health-normal",
"infirmary": "sbed/health-normal",
"aqueduct": "delapouite/aqueduct",
"underground_aqueduct": "delapouite/aqueduct",
"watermill": "caro-asercion/water-mill",
"mill": "delapouite/windmill",
"well_of_ages": "delapouite/well",
"ancient_well": "delapouite/well",
"deep_cistern": "delapouite/well",
"lumber_camp": "delapouite/wood-pile",
"hunting_lodge": "caro-asercion/deer-head",
"ranger_post": "caro-asercion/deer-head",
"marksman_lodge": "skoll/winchester-rifle",
"tannery": "delapouite/animal-hide",
"taxidermist": "delapouite/animal-hide",
"fishery": "lorc/fishing-net",
"barber": "lorc/scissors",
"festival_grounds": "delapouite/party-popper",
"boar_pen": "caro-asercion/boar"
},
"keywords": {
"forge": "lorc/anvil",
"foundry": "lorc/anvil",
"smith": "lorc/anvil",
"tempering": "lorc/anvil",
"anvil": "lorc/anvil",
"furnace": "lorc/heat-haze",
"refinery": "lorc/heat-haze",
"smelter": "lorc/heat-haze",
"mint": "delapouite/two-coins",
"armoury": "lorc/armor-vest",
"armory": "lorc/armor-vest",
"armour": "lorc/armor-vest",
"arsenal": "lorc/armor-vest",
"gun_works": "skoll/machine-gun",
"powder_works": "lorc/powder",
"powder": "lorc/powder",
"rifle_range": "skoll/winchester-rifle",
"bolt_range": "carl-olsen/crossbow",
"rocket_pad": "lorc/missile-swarm",
"coil": "lorc/electric",
"signal_works": "skoll/sound-waves",
"resonance": "skoll/sound-waves",
"messenger": "lorc/envelope",
"hold_post": "lorc/envelope",
"hold_network": "lorc/radar-dish",
"airfield": "quoting/biplane",
"zeppelin_dock": "skoll/zeppelin",
"tank_yard": "cathelineau/great-war-tank",
"walker_yard": "delapouite/mecha-head",
"siege": "heavenly-dog/catapult",
"drill_yard": "delapouite/barracks",
"assault_school": "delapouite/barracks",
"military_academy": "delapouite/barracks",
"war_college": "delapouite/barracks",
"infantry": "delapouite/person",
"sword_hall": "lorc/crossed-swords",
"hardening_pit": "lorc/anvil",
"alchemist": "lorc/round-bottom-flask",
"apothecar": "lorc/round-bottom-flask",
"herbalist": "lorc/round-bottom-flask",
"climate_institute": "delapouite/observatory",
"weather_station": "delapouite/observatory",
"seismic_station": "delapouite/observatory",
"orrery": "delapouite/observatory",
"chronicle": "lorc/scroll-unfurled",
"scriptorium": "lorc/scroll-unfurled",
"record": "lorc/scroll-unfurled",
"guild_hall": "lorc/key",
"gathering_hall": "delapouite/round-table",
"great_hall": "delapouite/round-table",
"longhouse": "delapouite/house",
"carved_hall": "delapouite/cave-entrance",
"deep_road": "delapouite/cave-entrance",
"deeproads": "delapouite/cave-entrance",
"deep_mine": "delapouite/gold-mine",
"mineshaft": "delapouite/gold-mine",
"mine": "delapouite/gold-mine",
"vault": "lorc/locked-chest",
"barrow": "lorc/tombstone",
"ancestor": "delapouite/family-tree",
"hall_of_heroes": "lorc/laurel-crown",
"throne": "delapouite/throne-king",
"crown": "lorc/crown",
"runestone": "lorc/crowned-explosion",
"runesmith": "lorc/rune-stone",
"rune": "lorc/rune-stone",
"standing_stones": "delapouite/menhir",
"moot_stone": "delapouite/menhir",
"covenant": "lorc/stone-tablet",
"testament": "lorc/stone-tablet",
"names": "lorc/prayer",
"shrine": "lorc/prayer",
"sanctum": "lorc/prayer",
"amphitheater": "sbed/arena",
"arena": "sbed/arena",
"bardic": "lorc/lyre",
"voice": "delapouite/megaphone",
"echoes": "skoll/sound-waves",
"spire": "delapouite/observatory",
"pillar": "delapouite/atlas",
"axis_mundi": "delapouite/atlas",
"world": "delapouite/atlas",
"undying": "lorc/burning-embers",
"long_fire": "lorc/burning-embers",
"flame": "lorc/burning-embers",
"cold_anvil": "lorc/anvil-impact",
"hearthless": "delapouite/fireplace",
"great_forge": "delapouite/blacksmith",
"cartograph": "lorc/treasure-map",
"lodge": "caro-asercion/deer-head",
"gate": "delapouite/medieval-gate",
"bastion": "delapouite/medieval-gate",
"fortress": "delapouite/medieval-gate",
"naval": "delapouite/harbor-dock",
"harbor": "delapouite/harbor-dock",
"research_vessel": "delapouite/sailboat",
"amphitheatre": "sbed/arena",
"triumph": "delapouite/obelisk",
"arch": "delapouite/obelisk",
"nature_reserve": "delapouite/oak-leaf",
"library_of_nature": "delapouite/oak-leaf",
"atelier": "lorc/anvil",
"mason": "delapouite/stone-block",
"tower": "delapouite/watchtower",
"annex": "lorc/anvil",
"press": "lorc/anvil",
"bench": "lorc/anvil",
"workshop": "lorc/anvil",
"hall": "delapouite/round-table",
"hut": "delapouite/hut",
"post": "delapouite/wood-cabin",
"cathedra": "heavenly-dog/catapult"
}
},
"throne_room": {
"_comment": "Throne-room decoration sprites. throne_room.gd:112 reads each decoration's literal `sprite` field from public/resources/throne_rooms/*.json and loads it. Keys match the sprite-basename token (longest substring wins).",
"default": "delapouite/throne-king",
"overrides": {
"court_empty": "lorc/empty-hourglass",
"court_guards": "delapouite/guards",
"court_advisors": "lorc/conversation",
"court_full": "delapouite/round-table",
"honor_empty": "lorc/empty-hourglass",
"honor_memorial": "lorc/tombstone",
"honor_legendary_unit": "lorc/laurel-crown",
"honor_victory_plaque": "lorc/laurels"
},
"keywords": {
"throne_stone_seat": "delapouite/stone-bust",
"throne_carved": "delapouite/throne-king",
"throne_bronze_clad": "delapouite/throne-king",
"throne_mithril": "lorc/cut-diamond",
"throne_ancestor": "delapouite/family-tree",
"throne": "delapouite/throne-king",
"backdrop_bare": "delapouite/stone-wall",
"backdrop_clan_seal": "caro-asercion/heraldic-sun",
"backdrop_hall_of_thanes": "delapouite/family-tree",
"backdrop_victory_tally": "lorc/laurels",
"backdrop": "delapouite/stone-wall",
"forge_cold": "lorc/cold-heart",
"forge_apprentice": "lorc/anvil",
"forge_journeyman": "lorc/anvil",
"forge_master": "delapouite/blacksmith",
"forge_grand_ancestors": "delapouite/blacksmith",
"forge": "lorc/anvil",
"brewery_absent": "lorc/empty-hourglass",
"brewery_barrels": "delapouite/barrel",
"brewery_grand": "lorc/beer-stein",
"brewery_legendary": "lorc/beer-stein",
"brewery": "lorc/beer-stein",
"shrine_empty_niche": "lorc/empty-hourglass",
"shrine_ancestor_icon": "delapouite/family-tree",
"shrine_ancestor_wall": "delapouite/family-tree",
"shrine_hall_of_memory": "lorc/prayer",
"shrine": "lorc/prayer",
"monument_absent": "lorc/empty-hourglass",
"monument_first_thane": "delapouite/stone-bust",
"monument_dynasty": "delapouite/obelisk",
"monument": "delapouite/obelisk",
"armory_empty": "lorc/empty-hourglass",
"armory_basic": "lorc/armor-vest",
"armory_masterwork": "lorc/armor-vest",
"armory_legendary": "lorc/crested-helmet",
"armory": "lorc/armor-vest",
"garden_absent": "lorc/empty-hourglass",
"garden_mushroom_patch": "lorc/mushroom-gills",
"garden_bioluminescent": "lorc/mushroom",
"garden_deep_grove": "delapouite/oak-leaf",
"garden": "delapouite/oak-leaf",
"hall_stone_alcove": "delapouite/cave-entrance",
"hall_carved_hall": "delapouite/cave-entrance",
"hall_grand_hold": "delapouite/round-table",
"hall_deep_forge_palace": "delapouite/blacksmith",
"hall": "delapouite/round-table",
"floor_bare_stone": "lorc/stone-block",
"floor_clan_carpet": "delapouite/rolling-dice-cup",
"floor_ancestor_veins": "delapouite/family-tree",
"floor_mosaic": "lorc/stone-block",
"floor": "lorc/stone-block",
"ceiling_bare": "lorc/stone-block",
"ceiling_lanterns": "lorc/lantern",
"ceiling_copper_vault": "delapouite/cave-entrance",
"ceiling_grand_chandelier": "lorc/candlebright",
"ceiling": "lorc/stone-block",
"walls_bare": "delapouite/stone-wall",
"walls_carvings": "lorc/rune-stone",
"walls_tapestries": "lorc/curled-tentacle",
"walls_great_murals": "delapouite/painted-pottery",
"walls": "delapouite/stone-wall",
"map_table_absent": "lorc/empty-hourglass",
"map_table_local": "lorc/treasure-map",
"map_table_continental": "lorc/treasure-map",
"map_table_world": "lorc/world",
"map_table": "lorc/treasure-map",
"trophy_empty_wall": "lorc/empty-hourglass",
"trophy_weapons_rack": "lorc/crossed-swords",
"trophy_mounted_shields": "willdabeast/round-shield",
"trophy_great_skull": "lorc/animal-skull",
"trophy_ancient_temple": "delapouite/greek-temple",
"trophy_tower_of_wizardry": "delapouite/tower-bridge",
"trophy_mana_node": "lorc/crystal-cluster",
"trophy_ley_line_nexus": "lorc/crystal-cluster",
"trophy_bermuda_anomaly": "lorc/vortex",
"trophy": "lorc/laurels",
"full_room_t1": "delapouite/throne-king",
"ancestor_worship": "delapouite/family-tree",
"artisanship": "lorc/anvil",
"legacy": "lorc/laurel-crown",
"oral_tradition": "lorc/lyre",
"philosophy": "lorc/book-cover",
"statecraft": "lorc/crown",
"full_room": "delapouite/throne-king",
"crown_of_ages": "lorc/crown",
"hammer_of_founding": "lorc/flat-hammer",
"medal_long_memory": "lorc/medal",
"banner_ironclad": "delapouite/knight-banner",
"plaque_quiet_mountain": "lorc/mountains",
"plaque_unyielding_path": "delapouite/path-tile",
"plaque": "lorc/medal",
"special_crown_of_ages": "lorc/crown",
"special_hammer_of_founding": "lorc/flat-hammer",
"special_medal_long_memory": "lorc/medal",
"special_banner_ironclad": "delapouite/knight-banner",
"special_plaque_quiet_mountain": "lorc/mountains",
"special_plaque_unyielding_path": "delapouite/path-tile",
"special": "lorc/medal"
}
},
"items": {
"_comment": "Treasury item sprites. treasury_tab.gd:90 reads each item's `sprite` field from public/resources/items/*.json and loads it. Keyed by item-id basename.",
"default": "lorc/swap-bag",
"overrides": {
"antidote": "lorc/round-bottom-flask",
"bronze_sword": "lorc/broadsword",
"chainmail": "lorc/mail-shirt",
"constructor_lens": "lorc/spectacle-lenses",
"crossbow": "carl-olsen/crossbow",
"crown_of_the_mountain": "lorc/crown",
"direwolf_alpha_pelt": "delapouite/animal-hide",
"dwarven_plate": "lorc/armor-vest",
"fire_bomb": "lorc/molotov",
"fortification_kit": "delapouite/stone-wall",
"fortified_plate": "lorc/armor-vest",
"golem_core": "lorc/gem-pendant",
"hollow_bone_shield": "willdabeast/round-shield",
"iron_axe": "lorc/battle-axe",
"leather_armor": "lorc/leather-vest",
"master_blade": "lorc/relic-blade",
"medical_kit": "sbed/medical-pack",
"mithril_mail": "lorc/cut-diamond",
"phase_gauntlet": "delapouite/gauntlet",
"repeating_crossbow": "carl-olsen/crossbow",
"siege_ram": "darkzaitzev/ram",
"smoke_bomb": "lorc/smoking-orb",
"stamina_tonic": "lorc/standing-potion",
"steel_warhammer": "lorc/flat-hammer",
"tower_shield": "willdabeast/round-shield",
"volcanic_glass_blade": "lorc/relic-blade",
"wyvern_talon_spear": "lorc/barbed-spear"
},
"keywords": {}
},
"resources": {
"_comment": "Map resource/deposit overlay icons. overlay_renderer.gd:118 constructs sprites/resources/<resource_id>.png. Keyed by resource id; broad keyword fallbacks cover the gem/ore/food/luxury families.",
"default": "delapouite/cube",
"overrides": {
"banana": "delapouite/banana",
"bear_pelt": "delapouite/animal-hide",
"bison": "delapouite/bison",
"cattle": "delapouite/cow",
"chalk": "lorc/stone-block",
"coal": "delapouite/coal-pile",
"coal_seam": "delapouite/coal-pile",
"copper": "lorc/metal-bar",
"coral_reef": "delapouite/coral",
"cotton": "delapouite/cotton-flower",
"crab": "lorc/crab",
"crabs": "lorc/crab",
"deer": "caro-asercion/deer-head",
"fish": "delapouite/double-fish",
"flint": "lorc/stone-spear",
"fur": "delapouite/animal-hide",
"furs": "delapouite/animal-hide",
"exotic_furs": "delapouite/animal-hide",
"dye_plants": "lorc/ink-swirl",
"dyes": "lorc/ink-swirl",
"enchanted_silk": "delapouite/yarn",
"chaos_ember": "lorc/burning-embers",
"dragon_bone": "lorc/dragon-head",
"ghost_orchid": "lorc/flowers",
"deepwood_amber": "delapouite/amber-mosquito",
"amber": "delapouite/amber-mosquito",
"deep_crystal": "lorc/crystal-cluster",
"glimmer_salt": "lorc/salt-shaker"
},
"keywords": {
"diamond": "lorc/cut-diamond",
"emerald": "lorc/emerald",
"sapphire": "lorc/gems",
"ruby": "lorc/gems",
"amethyst": "lorc/gems",
"garnet": "lorc/gems",
"topaz": "lorc/gems",
"opal": "lorc/gems",
"jade": "lorc/gems",
"agate": "lorc/gems",
"onyx": "lorc/gems",
"pearl": "willdabeast/round-shield",
"crystal": "lorc/crystal-cluster",
"gem": "lorc/gems",
"gold": "willdabeast/gold-bar",
"silver": "lorc/metal-bar",
"iron": "lorc/metal-bar",
"tin": "lorc/metal-bar",
"lead": "lorc/metal-bar",
"mithril": "lorc/cut-diamond",
"marble": "lorc/stone-block",
"granite": "lorc/stone-block",
"stone": "lorc/stone-block",
"obsidian": "lorc/stone-block",
"salt": "lorc/salt-shaker",
"spice": "lorc/powder",
"spices": "lorc/powder",
"incense": "lorc/incense",
"wine": "delapouite/wine-bottle",
"ale": "lorc/beer-stein",
"mushroom": "lorc/mushroom-gills",
"mushrooms": "lorc/mushroom-gills",
"grain": "delapouite/grain-bundle",
"wheat": "lorc/wheat",
"rice": "lorc/wheat",
"fruit": "skoll/fruit-bowl",
"citrus": "delapouite/lemon",
"fowl": "delapouite/chicken",
"boar": "caro-asercion/boar",
"ivory": "delapouite/elephant",
"pelt": "delapouite/animal-hide",
"hide": "delapouite/animal-hide",
"silk": "delapouite/yarn",
"wool": "delapouite/wool",
"timber": "delapouite/wood-pile",
"wood": "delapouite/wood-pile",
"lumber": "delapouite/wood-pile",
"ember": "lorc/burning-embers",
"ore": "faithtoken/ore",
"metal": "lorc/metal-bar"
}
},
"lairs": {
"_comment": "Map lair POI overlay icons. lair_overlay_renderer.gd builds sprites/lairs/<type_id>.png where type_id is the npc-building type set by village_lair_placer.gd = public/resources/wilds/wilds.json lair_types[].id. Keyed by lair id; tinted oxblood (#9C3B2E) + drop shadow at POI scale (0.45 × hex) so it reads as a threat marker over both tan and green terrain.",
"default": "delapouite/cave-entrance",
"overrides": {
"goblin_camp": "delapouite/tipi",
"bandit_hideout": "delapouite/robber-mask",
"troll_cave": "delapouite/cave-entrance",
"beast_den": "lorc/wolf-head",
"corrupted_hollow": "lorc/evil-tree",
"volcanic_fissure": "lorc/volcano",
"ancient_construct_site": "delapouite/rock-golem",
"wyvern_nest": "lorc/wyvern"
},
"keywords": {}
},
"terrain": {
"_comment": "Special tile-feature biome sprites that lack an SVG fallback. hex_renderer.gd preloads sprites/terrain/<biome_id>.png; ids with an existing .svg are skipped in build_standins.py (the PNG would shadow the SVG art). Keyed by tile-feature id.",
"default": "delapouite/hills",
"overrides": {
"ancient_temple": "delapouite/greek-temple",
"arid_plains": "delapouite/desert",
"bermuda_anomaly": "lorc/vortex",
"bog_edge": "delapouite/swamp",
"cliff": "lorc/mountains",
"foothills": "delapouite/hills",
"grass_fringe": "delapouite/grass",
"ley_nexus": "lorc/crystal-cluster",
"riverside_forest": "delapouite/forest",
"scrub_edge": "delapouite/berry-bush",
"shore": "delapouite/beach-bucket",
"tower_of_wizardry": "delapouite/tower-bridge",
"wooded_foothills": "delapouite/forest"
},
"keywords": {}
}
}