feat: encounters 4 tiers + fix actions roles
This commit is contained in:
@@ -0,0 +1,243 @@
|
||||
{
|
||||
"_comment": "Tables d'encounters par zone. chance_per_tick = probabilité par tick. tier_weights = distribution des tiers d'encounter (lambda/group/actif/boss). Somme des weights doit = 1.0",
|
||||
|
||||
"zone_profiles": {
|
||||
"nola_cbd": {
|
||||
"chance_per_tick": 0.12,
|
||||
"tier_weights": {"lambda": 0.45, "group": 0.38, "actif": 0.15, "boss": 0.02},
|
||||
"flavor": "Gratte-ciels inondés, ruines industrielles, territoire Super Mutants"
|
||||
},
|
||||
"pearl_river": {
|
||||
"chance_per_tick": 0.09,
|
||||
"tier_weights": {"lambda": 0.55, "group": 0.20, "actif": 0.22, "boss": 0.03},
|
||||
"flavor": "Bayou dense, territoire Écumeurs, créatures des marais"
|
||||
},
|
||||
"la_paroisse": {
|
||||
"chance_per_tick": 0.10,
|
||||
"tier_weights": {"lambda": 0.50, "group": 0.20, "actif": 0.25, "boss": 0.05},
|
||||
"flavor": "Zone radioactive, territoire Grand Krewe, goules partout"
|
||||
},
|
||||
"donaldsonville": {
|
||||
"chance_per_tick": 0.06,
|
||||
"tier_weights": {"lambda": 0.60, "group": 0.28, "actif": 0.10, "boss": 0.02},
|
||||
"flavor": "Ville intermédiaire, sans faction, passage obligé"
|
||||
},
|
||||
"oak_plantation": {
|
||||
"chance_per_tick": 0.05,
|
||||
"tier_weights": {"lambda": 0.50, "group": 0.20, "actif": 0.28, "boss": 0.02},
|
||||
"flavor": "Plantation gardée, esclaves en fuite, patrouilles Dynaste"
|
||||
},
|
||||
"baton_rouge": {
|
||||
"chance_per_tick": 0.04,
|
||||
"tier_weights": {"lambda": 0.55, "group": 0.25, "actif": 0.18, "boss": 0.02},
|
||||
"flavor": "Ville sous tension, présence Syndicat du Capitole"
|
||||
},
|
||||
"nola_fleuve": {
|
||||
"chance_per_tick": 0.05,
|
||||
"tier_weights": {"lambda": 0.45, "group": 0.30, "actif": 0.22, "boss": 0.03},
|
||||
"flavor": "Port fluvial, passage de bateaux, CdA patrouille"
|
||||
},
|
||||
"independance": {
|
||||
"chance_per_tick": 0.02,
|
||||
"tier_weights": {"lambda": 0.80, "group": 0.15, "actif": 0.04, "boss": 0.01},
|
||||
"flavor": "Zone protégée par l'Union, relativement sûre"
|
||||
},
|
||||
"laplace": {
|
||||
"chance_per_tick": 0.03,
|
||||
"tier_weights": {"lambda": 0.65, "group": 0.25, "actif": 0.09, "boss": 0.01},
|
||||
"flavor": "Carrefour commercial, passage constant, relativement neutre"
|
||||
},
|
||||
"nola_vieux_carre": {
|
||||
"chance_per_tick": 0.025,
|
||||
"tier_weights": {"lambda": 0.70, "group": 0.20, "actif": 0.09, "boss": 0.01},
|
||||
"flavor": "Zone tenue par la Régie, murée, patrouilles régulières"
|
||||
}
|
||||
},
|
||||
|
||||
"entity_pools": {
|
||||
"lambda": [
|
||||
{
|
||||
"key": "alligator_mutant",
|
||||
"name": "Alligator mutant",
|
||||
"description": "Reptile des bayous, irradié et agrandi, territorial et agressif",
|
||||
"zones": ["pearl_river", "donaldsonville", "la_paroisse", "nola_cbd"],
|
||||
"stats": {"hp": 14, "strength": 9, "agility": 5, "endurance": 8, "perception": 4, "luck": 3},
|
||||
"weapon": {"name": "Mâchoires", "damage_dice": 3, "damage_bonus": 1, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 2,
|
||||
"caps_loot": [0, 0],
|
||||
"item_loot": ["cuir_brut", "viande_mutante"],
|
||||
"xp": 3
|
||||
},
|
||||
{
|
||||
"key": "goule_sauvage",
|
||||
"name": "Goule sauvage",
|
||||
"description": "Ancienne personne irradiée, perdue la raison, attaque tout ce qui bouge",
|
||||
"zones": ["la_paroisse", "nola_cbd", "donaldsonville", "pearl_river"],
|
||||
"stats": {"hp": 8, "strength": 6, "agility": 7, "endurance": 6, "perception": 3, "luck": 2},
|
||||
"weapon": {"name": "Griffes", "damage_dice": 2, "damage_bonus": 0, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 0,
|
||||
"caps_loot": [0, 5],
|
||||
"item_loot": ["lambeau_vetement", "cram"],
|
||||
"xp": 1,
|
||||
"immune_radiation": true
|
||||
},
|
||||
{
|
||||
"key": "meute_rats",
|
||||
"name": "Meute de rats géants",
|
||||
"description": "Rats des bayous, deux fois plus grands que la normale, attaquent en groupe",
|
||||
"zones": ["nola_cbd", "donaldsonville", "baton_rouge", "pearl_river"],
|
||||
"stats": {"hp": 5, "strength": 3, "agility": 8, "endurance": 4, "perception": 5, "luck": 4},
|
||||
"weapon": {"name": "Morsures multiples", "damage_dice": 1, "damage_bonus": 1, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 0,
|
||||
"caps_loot": [0, 0],
|
||||
"item_loot": ["rat_grille", "fourrure_rat"],
|
||||
"xp": 1
|
||||
},
|
||||
{
|
||||
"key": "essaim_guepes",
|
||||
"name": "Essaim de guêpes mutantes",
|
||||
"description": "Insectes irradiés, venin paralysant, nid dans les ruines",
|
||||
"zones": ["pearl_river", "la_paroisse", "nola_cbd"],
|
||||
"stats": {"hp": 6, "strength": 2, "agility": 9, "endurance": 3, "perception": 7, "luck": 5},
|
||||
"weapon": {"name": "Piqûres venimeuses", "damage_dice": 1, "damage_bonus": 0, "damage_type": "poison", "range": "short"},
|
||||
"armor_rating": 0,
|
||||
"caps_loot": [0, 0],
|
||||
"item_loot": ["venin_guepe", "cire_mutante"],
|
||||
"xp": 2,
|
||||
"status_effect": {"type": "poison", "damage_per_tick": 1, "duration_ticks": 3}
|
||||
},
|
||||
{
|
||||
"key": "survivant_fou",
|
||||
"name": "Survivant dérangé",
|
||||
"description": "Humain ayant perdu la raison, attaque sans raison apparente",
|
||||
"zones": ["donaldsonville", "nola_cbd", "baton_rouge", "pearl_river"],
|
||||
"stats": {"hp": 7, "strength": 5, "agility": 6, "endurance": 5, "perception": 4, "luck": 3},
|
||||
"weapon": {"name": "Couteau rouillé", "damage_dice": 1, "damage_bonus": 0, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 0,
|
||||
"caps_loot": [0, 30],
|
||||
"item_loot": ["eau_sale", "cram", "lambeau_vetement"],
|
||||
"xp": 1
|
||||
},
|
||||
{
|
||||
"key": "chien_sauvage",
|
||||
"name": "Chien des bayous",
|
||||
"description": "Meute de chiens errants, maigres et agressifs, se défendent en groupe",
|
||||
"zones": ["donaldsonville", "baton_rouge", "nola_vieux_carre", "laplace"],
|
||||
"stats": {"hp": 6, "strength": 5, "agility": 8, "endurance": 5, "perception": 6, "luck": 3},
|
||||
"weapon": {"name": "Morsure", "damage_dice": 2, "damage_bonus": 0, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 0,
|
||||
"caps_loot": [0, 0],
|
||||
"item_loot": ["viande_chien", "fourrure_chien"],
|
||||
"xp": 1
|
||||
}
|
||||
],
|
||||
|
||||
"group": [
|
||||
{
|
||||
"key": "bande_raiders",
|
||||
"name": "Bande de Raiders",
|
||||
"description": "Petit groupe de pillards organisés, cherchent à voler ou kidnapper",
|
||||
"zones": ["nola_cbd", "donaldsonville", "pearl_river", "baton_rouge"],
|
||||
"count_range": [2, 4],
|
||||
"member_archetype": "pillard_errant",
|
||||
"leader_archetype": "raider_boss",
|
||||
"stats_base": {"hp": 10, "strength": 6, "agility": 6, "endurance": 6, "perception": 5, "luck": 4},
|
||||
"weapon": {"name": "Batte cloutée", "damage_dice": 2, "damage_bonus": 1, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 1,
|
||||
"caps_loot": [20, 150],
|
||||
"item_loot": ["cram", "eau_sale", "batte_cloutee", "couteau_combat"],
|
||||
"xp": 4,
|
||||
"can_negotiate": true,
|
||||
"negotiate_cost_caps": [30, 100]
|
||||
},
|
||||
{
|
||||
"key": "meute_super_mutants",
|
||||
"name": "Meute de Super Mutants",
|
||||
"description": "Groupe de Super Mutants sauvages, cherchent à dominer le territoire",
|
||||
"zones": ["nola_cbd"],
|
||||
"count_range": [2, 3],
|
||||
"member_archetype": null,
|
||||
"leader_archetype": null,
|
||||
"stats_base": {"hp": 18, "strength": 11, "agility": 4, "endurance": 10, "perception": 4, "luck": 3},
|
||||
"weapon": {"name": "Massue renforcée", "damage_dice": 3, "damage_bonus": 2, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 2,
|
||||
"caps_loot": [0, 50],
|
||||
"item_loot": ["ferraille", "cram", "eau_sale"],
|
||||
"xp": 6,
|
||||
"can_negotiate": false,
|
||||
"immune_radiation": true,
|
||||
"immune_poison": true
|
||||
},
|
||||
{
|
||||
"key": "pillards_organises",
|
||||
"name": "Pillards organisés",
|
||||
"description": "Groupe de pillards avec tactique basique, armés de fusils",
|
||||
"zones": ["donaldsonville", "pearl_river", "baton_rouge", "nola_fleuve"],
|
||||
"count_range": [2, 4],
|
||||
"member_archetype": "pillard_errant",
|
||||
"leader_archetype": "raider_boss",
|
||||
"stats_base": {"hp": 11, "strength": 6, "agility": 6, "endurance": 6, "perception": 6, "luck": 4},
|
||||
"weapon": {"name": "Fusil calibre .22", "damage_dice": 2, "damage_bonus": 0, "damage_type": "physical", "range": "medium"},
|
||||
"armor_rating": 1,
|
||||
"caps_loot": [30, 200],
|
||||
"item_loot": ["fusil_calibre22", "cram", "jet", "eau_sale"],
|
||||
"xp": 5,
|
||||
"can_negotiate": true,
|
||||
"negotiate_cost_caps": [50, 150]
|
||||
},
|
||||
{
|
||||
"key": "goules_en_meute",
|
||||
"name": "Meute de goules sauvages",
|
||||
"description": "Un groupe compact de goules perdues, attaquent ensemble",
|
||||
"zones": ["la_paroisse", "nola_cbd", "donaldsonville"],
|
||||
"count_range": [3, 6],
|
||||
"member_archetype": null,
|
||||
"leader_archetype": null,
|
||||
"stats_base": {"hp": 7, "strength": 5, "agility": 7, "endurance": 6, "perception": 3, "luck": 2},
|
||||
"weapon": {"name": "Griffes", "damage_dice": 2, "damage_bonus": 0, "damage_type": "physical", "range": "short"},
|
||||
"armor_rating": 0,
|
||||
"caps_loot": [0, 10],
|
||||
"item_loot": ["lambeau_vetement"],
|
||||
"xp": 3,
|
||||
"can_negotiate": false,
|
||||
"immune_radiation": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"orientation_reactions": {
|
||||
"_comment": "Réaction par défaut selon le rôle du PNJ face à chaque tier d'encounter",
|
||||
"garde": {"lambda": "combat", "group": "combat", "actif": "combat", "boss": "fuite_ou_combat"},
|
||||
"eclaireur": {"lambda": "evitement", "group": "fuite", "actif": "fuite", "boss": "fuite"},
|
||||
"marchand": {"lambda": "fuite", "group": "negociation","actif": "negociation","boss": "fuite"},
|
||||
"docteur": {"lambda": "fuite", "group": "fuite", "actif": "negociation","boss": "fuite"},
|
||||
"technicien": {"lambda": "fuite", "group": "fuite", "actif": "fuite", "boss": "fuite"},
|
||||
"pillard": {"lambda": "combat", "group": "negociation","actif": "combat", "boss": "fuite"},
|
||||
"raider_boss": {"lambda": "combat", "group": "combat", "actif": "combat", "boss": "combat"},
|
||||
"lieutenant": {"lambda": "combat", "group": "combat", "actif": "combat", "boss": "fuite_ou_combat"},
|
||||
"chasseur_primes": {"lambda": "combat", "group": "combat", "actif": "negociation","boss": "fuite"},
|
||||
"passeur": {"lambda": "evitement", "group": "evitement", "actif": "fuite", "boss": "fuite"},
|
||||
"scavenger": {"lambda": "fuite", "group": "fuite", "actif": "fuite", "boss": "fuite"},
|
||||
"survivant_generique":{"lambda":"fuite", "group": "fuite", "actif": "negociation","boss": "fuite"}
|
||||
},
|
||||
|
||||
"outcomes": {
|
||||
"combat": {
|
||||
"win": {"loot": true, "xp": true, "stress_delta": +2, "description": "Victoire au combat"},
|
||||
"loss": {"loot": false, "xp": false, "stress_delta": +5, "hp_loss_pct": 0.25, "description": "Défaite"},
|
||||
"draw": {"loot": false, "xp": true, "stress_delta": +3, "hp_loss_pct": 0.15, "description": "Combat indécis"}
|
||||
},
|
||||
"fuite": {
|
||||
"success": {"loot": false, "xp": false, "stress_delta": +1, "description": "Fuite réussie"},
|
||||
"failed": {"loot": false, "xp": false, "stress_delta": +3, "hp_loss_pct": 0.10, "description": "Fuite ratée, touché"}
|
||||
},
|
||||
"evitement": {
|
||||
"success": {"loot": false, "xp": true, "stress_delta": 0, "description": "Discrétion réussie"},
|
||||
"failed": {"loot": false, "xp": false, "stress_delta": +2, "description": "Repéré, doit fuir"}
|
||||
},
|
||||
"negociation": {
|
||||
"success": {"loot": false, "xp": true, "stress_delta": +1, "caps_cost": true, "description": "Négociation réussie"},
|
||||
"failed": {"loot": false, "xp": false, "stress_delta": +4, "hp_loss_pct": 0.15, "description": "Négociation échouée, attaqué"}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user