b451f83174
Captures the pre-Godot-port state of the codebase. This is the rollback anchor for the Godot port (M0 of theriapolis-rpg-implementation-plan-godot-port.md). All Phase 0 through Phase 6.5 work is included; Phase 7 is in flight. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
405 lines
14 KiB
JSON
405 lines
14 KiB
JSON
{
|
|
"templates": [
|
|
{
|
|
"id": "brigand_footpad",
|
|
"name": "Brigand Footpad",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 11, "DEX": 14, "CON": 12, "INT": 10, "WIS": 10, "CHA": 9 },
|
|
"hp": 11,
|
|
"ac": 12,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Scruff-knife", "to_hit": 4, "damage": "1d4+2", "damage_type": "slashing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "brigand",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_brigand_low",
|
|
"xp_award": 25
|
|
},
|
|
{
|
|
"id": "brigand_marauder",
|
|
"name": "Brigand Marauder",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 14, "DEX": 12, "CON": 13, "INT": 10, "WIS": 11, "CHA": 10 },
|
|
"hp": 22,
|
|
"ac": 14,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Rend-sword", "to_hit": 4, "damage": "1d8+2", "damage_type": "slashing", "reach_tiles": 1 },
|
|
{ "name": "Short Bow", "to_hit": 3, "damage": "1d6+1", "damage_type": "piercing", "range_short_tiles": 16, "range_long_tiles": 64 }
|
|
],
|
|
"behavior": "brigand",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_brigand_mid",
|
|
"xp_award": 100
|
|
},
|
|
{
|
|
"id": "brigand_captain",
|
|
"name": "Brigand Captain",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 15, "DEX": 14, "CON": 14, "INT": 12, "WIS": 12, "CHA": 13 },
|
|
"hp": 38,
|
|
"ac": 16,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Paw-axe", "to_hit": 5, "damage": "1d8+3", "damage_type": "slashing", "reach_tiles": 1 },
|
|
{ "name": "Claw-bow", "to_hit": 4, "damage": "1d6+2", "damage_type": "piercing", "range_short_tiles": 16, "range_long_tiles": 64 }
|
|
],
|
|
"behavior": "brigand",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_brigand_high",
|
|
"xp_award": 250
|
|
},
|
|
{
|
|
"id": "wolf_pup",
|
|
"name": "Wolf Pup",
|
|
"size": "small",
|
|
"ability_scores": { "STR": 8, "DEX": 13, "CON": 10, "INT": 3, "WIS": 12, "CHA": 6 },
|
|
"hp": 5,
|
|
"ac": 12,
|
|
"speed_ft": 35,
|
|
"attacks": [
|
|
{ "name": "Bite", "to_hit": 3, "damage": "1d4+1", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_wild_low",
|
|
"xp_award": 10
|
|
},
|
|
{
|
|
"id": "wolf",
|
|
"name": "Wolf",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 12, "DEX": 15, "CON": 12, "INT": 3, "WIS": 12, "CHA": 6 },
|
|
"hp": 11,
|
|
"ac": 13,
|
|
"speed_ft": 40,
|
|
"attacks": [
|
|
{ "name": "Bite", "to_hit": 4, "damage": "2d4+2", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_wild_mid",
|
|
"xp_award": 50
|
|
},
|
|
{
|
|
"id": "dire_wolf",
|
|
"name": "Dire Wolf",
|
|
"size": "large",
|
|
"ability_scores": { "STR": 17, "DEX": 15, "CON": 15, "INT": 3, "WIS": 12, "CHA": 7 },
|
|
"hp": 37,
|
|
"ac": 14,
|
|
"speed_ft": 50,
|
|
"attacks": [
|
|
{ "name": "Bite", "to_hit": 5, "damage": "2d6+3", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_wild_high",
|
|
"xp_award": 200
|
|
},
|
|
{
|
|
"id": "bear_brown",
|
|
"name": "Brown Bear",
|
|
"size": "large",
|
|
"ability_scores": { "STR": 19, "DEX": 10, "CON": 16, "INT": 2, "WIS": 13, "CHA": 7 },
|
|
"hp": 50,
|
|
"ac": 11,
|
|
"speed_ft": 40,
|
|
"attacks": [
|
|
{ "name": "Bite", "to_hit": 6, "damage": "1d8+4", "damage_type": "piercing", "reach_tiles": 1 },
|
|
{ "name": "Claws", "to_hit": 6, "damage": "2d6+4", "damage_type": "slashing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_wild_high",
|
|
"xp_award": 450
|
|
},
|
|
{
|
|
"id": "wolverine_wild",
|
|
"name": "Wolverine",
|
|
"size": "medium_large",
|
|
"ability_scores": { "STR": 14, "DEX": 13, "CON": 15, "INT": 3, "WIS": 12, "CHA": 6 },
|
|
"hp": 26,
|
|
"ac": 13,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Bite", "to_hit": 4, "damage": "1d8+2", "damage_type": "piercing", "reach_tiles": 1 },
|
|
{ "name": "Claws", "to_hit": 4, "damage": "1d6+2", "damage_type": "slashing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_wild_mid",
|
|
"xp_award": 100
|
|
},
|
|
{
|
|
"id": "militia_patrol",
|
|
"name": "Militia Patroller",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 12, "DEX": 12, "CON": 12, "INT": 10, "WIS": 11, "CHA": 10 },
|
|
"hp": 13,
|
|
"ac": 14,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Antler-staff", "to_hit": 3, "damage": "1d8+1", "damage_type": "bludgeoning", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "patrol",
|
|
"default_allegiance": "neutral",
|
|
"faction": "covenant_enforcers",
|
|
"loot_table": "",
|
|
"xp_award": 0
|
|
},
|
|
{
|
|
"id": "merchant_traveler",
|
|
"name": "Travelling Merchant",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 9, "DEX": 11, "CON": 10, "INT": 14, "WIS": 12, "CHA": 14 },
|
|
"hp": 6,
|
|
"ac": 10,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Fang-knife", "to_hit": 0, "damage": "1d4", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "patrol",
|
|
"default_allegiance": "friendly",
|
|
"faction": "merchant_guilds",
|
|
"loot_table": "",
|
|
"xp_award": 0
|
|
},
|
|
{
|
|
"id": "poi_guard_decayed",
|
|
"name": "Decayed Sentinel",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 13, "DEX": 8, "CON": 14, "INT": 3, "WIS": 6, "CHA": 5 },
|
|
"hp": 13,
|
|
"ac": 11,
|
|
"speed_ft": 25,
|
|
"attacks": [
|
|
{ "name": "Rusted Blade", "to_hit": 3, "damage": "1d6+1", "damage_type": "slashing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "poi_guard",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_poi_low",
|
|
"xp_award": 50
|
|
},
|
|
{
|
|
"id": "poi_guard_skeletal",
|
|
"name": "Skeletal Sentinel",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 14, "DEX": 12, "CON": 14, "INT": 4, "WIS": 8, "CHA": 5 },
|
|
"hp": 22,
|
|
"ac": 13,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Bone Spear", "to_hit": 4, "damage": "1d8+2", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "poi_guard",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_poi_mid",
|
|
"xp_award": 150
|
|
},
|
|
{
|
|
"id": "poi_guard_corrupted",
|
|
"name": "Corrupted Sentinel",
|
|
"size": "medium_large",
|
|
"ability_scores": { "STR": 16, "DEX": 13, "CON": 16, "INT": 5, "WIS": 10, "CHA": 6 },
|
|
"hp": 38,
|
|
"ac": 15,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Rotting Maul", "to_hit": 5, "damage": "2d6+3", "damage_type": "bludgeoning", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "poi_guard",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_poi_high",
|
|
"xp_award": 350
|
|
},
|
|
{
|
|
"id": "imperium_feral_canid",
|
|
"name": "Feral Canid (ruin)",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 13, "DEX": 14, "CON": 12, "INT": 4, "WIS": 11, "CHA": 5 },
|
|
"hp": 16,
|
|
"ac": 13,
|
|
"speed_ft": 35,
|
|
"attacks": [
|
|
{ "name": "Bite", "to_hit": 4, "damage": "1d6+2", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "",
|
|
"xp_award": 75
|
|
},
|
|
{
|
|
"id": "imperium_feral_felid",
|
|
"name": "Feral Felid (ruin)",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 12, "DEX": 16, "CON": 11, "INT": 4, "WIS": 12, "CHA": 5 },
|
|
"hp": 14,
|
|
"ac": 14,
|
|
"speed_ft": 40,
|
|
"attacks": [
|
|
{ "name": "Pounce-claws", "to_hit": 5, "damage": "1d6+3", "damage_type": "slashing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "",
|
|
"xp_award": 90
|
|
},
|
|
{
|
|
"id": "imperium_undead_thrall",
|
|
"name": "Sworn Thrall",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 14, "DEX": 10, "CON": 14, "INT": 3, "WIS": 6, "CHA": 4 },
|
|
"hp": 22,
|
|
"ac": 13,
|
|
"speed_ft": 25,
|
|
"attacks": [
|
|
{ "name": "Imperium Spear", "to_hit": 4, "damage": "1d8+2", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "poi_guard",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_dungeon_imperium_t1",
|
|
"xp_award": 150
|
|
},
|
|
{
|
|
"id": "imperium_undead_overseer",
|
|
"name": "The Overseer",
|
|
"size": "medium_large",
|
|
"ability_scores": { "STR": 17, "DEX": 12, "CON": 17, "INT": 9, "WIS": 12, "CHA": 8 },
|
|
"hp": 60,
|
|
"ac": 17,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Black-Stone Halberd", "to_hit": 7, "damage": "2d10+4", "damage_type": "slashing", "reach_tiles": 2 },
|
|
{ "name": "Death's Whisper", "to_hit": 6, "damage": "2d6+2", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "poi_guard",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_dungeon_imperium_t3",
|
|
"xp_award": 600
|
|
},
|
|
{
|
|
"id": "mine_collapsed_brigand",
|
|
"name": "Mine-Holed Brigand",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 13, "DEX": 13, "CON": 13, "INT": 9, "WIS": 9, "CHA": 8 },
|
|
"hp": 18,
|
|
"ac": 13,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Claw-pick", "to_hit": 4, "damage": "1d6+2", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "brigand",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_dungeon_mine_t1",
|
|
"xp_award": 60
|
|
},
|
|
{
|
|
"id": "cult_thorn_acolyte",
|
|
"name": "Thorn Acolyte",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 12, "DEX": 13, "CON": 13, "INT": 12, "WIS": 14, "CHA": 11 },
|
|
"hp": 24,
|
|
"ac": 14,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Thorn-blade", "to_hit": 4, "damage": "1d8+1", "damage_type": "slashing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "brigand",
|
|
"default_allegiance": "hostile",
|
|
"faction": "thorn_council",
|
|
"loot_table": "loot_brigand_mid",
|
|
"xp_award": 175
|
|
},
|
|
{
|
|
"id": "cult_inheritor_initiate",
|
|
"name": "Inheritor Initiate",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 14, "DEX": 12, "CON": 14, "INT": 11, "WIS": 12, "CHA": 13 },
|
|
"hp": 30,
|
|
"ac": 15,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Sigil-blade", "to_hit": 5, "damage": "1d8+3", "damage_type": "slashing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "brigand",
|
|
"default_allegiance": "hostile",
|
|
"faction": "inheritors",
|
|
"loot_table": "loot_brigand_mid",
|
|
"xp_award": 225
|
|
},
|
|
{
|
|
"id": "cave_giant_centipede",
|
|
"name": "Giant Centipede",
|
|
"size": "small",
|
|
"ability_scores": { "STR": 8, "DEX": 16, "CON": 11, "INT": 1, "WIS": 7, "CHA": 2 },
|
|
"hp": 9,
|
|
"ac": 13,
|
|
"speed_ft": 30,
|
|
"attacks": [
|
|
{ "name": "Venomous Bite", "to_hit": 5, "damage": "1d4+3", "damage_type": "piercing", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "wild_animal",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "",
|
|
"xp_award": 50
|
|
},
|
|
{
|
|
"id": "overgrown_revenant",
|
|
"name": "Settlement Revenant",
|
|
"size": "medium",
|
|
"ability_scores": { "STR": 14, "DEX": 9, "CON": 15, "INT": 4, "WIS": 7, "CHA": 5 },
|
|
"hp": 28,
|
|
"ac": 12,
|
|
"speed_ft": 25,
|
|
"attacks": [
|
|
{ "name": "Strangling Grasp", "to_hit": 4, "damage": "1d8+2", "damage_type": "bludgeoning", "reach_tiles": 1 }
|
|
],
|
|
"behavior": "poi_guard",
|
|
"default_allegiance": "hostile",
|
|
"loot_table": "loot_poi_mid",
|
|
"xp_award": 200
|
|
}
|
|
],
|
|
"spawn_kind_to_template_by_zone": {
|
|
"Brigand": ["brigand_footpad", "brigand_footpad", "brigand_marauder", "brigand_marauder", "brigand_captain"],
|
|
"WildAnimal": ["wolf_pup", "wolf", "wolf", "dire_wolf", "bear_brown"],
|
|
"Merchant": ["merchant_traveler","merchant_traveler","merchant_traveler","merchant_traveler","merchant_traveler"],
|
|
"Patrol": ["militia_patrol", "militia_patrol", "militia_patrol", "militia_patrol", "militia_patrol"],
|
|
"PoiGuard": ["poi_guard_decayed","poi_guard_skeletal","poi_guard_skeletal","poi_guard_corrupted","poi_guard_corrupted"]
|
|
},
|
|
"spawn_kind_to_template_by_dungeon_type": {
|
|
"ImperiumRuin": {
|
|
"PoiGuard": "imperium_undead_thrall",
|
|
"WildAnimal": "imperium_feral_canid",
|
|
"Brigand": "brigand_marauder",
|
|
"Boss": "imperium_undead_overseer"
|
|
},
|
|
"AbandonedMine": {
|
|
"PoiGuard": "mine_collapsed_brigand",
|
|
"WildAnimal": "dire_wolf",
|
|
"Brigand": "mine_collapsed_brigand",
|
|
"Boss": "brigand_captain"
|
|
},
|
|
"CultDen": {
|
|
"PoiGuard": "cult_thorn_acolyte",
|
|
"WildAnimal": "wolf",
|
|
"Brigand": "cult_inheritor_initiate",
|
|
"Boss": "cult_inheritor_initiate"
|
|
},
|
|
"NaturalCave": {
|
|
"PoiGuard": "dire_wolf",
|
|
"WildAnimal": "cave_giant_centipede",
|
|
"Brigand": "brigand_footpad",
|
|
"Boss": "bear_brown"
|
|
},
|
|
"OvergrownSettlement": {
|
|
"PoiGuard": "overgrown_revenant",
|
|
"WildAnimal": "wolf",
|
|
"Brigand": "brigand_marauder",
|
|
"Boss": "overgrown_revenant"
|
|
}
|
|
}
|
|
}
|