Add new Wastelander trader characters and caravans

Implement eight new unique trader NPCs and three new caravan companies. Adds character definitions, pawnkind configurations, and trader kind definitions for Trashcan Carla, Cricket, Lucas Miller, Doc Weathers, Angela Staley, Banon, Belle Bonny, and support for Crimson Caravan and Gun Runners caravans. Updates faction configuration to integrate these new traders into the hidden faction's caravan system with character chance spawning.
This commit is contained in:
RickGrymes
2026-07-19 01:01:57 -05:00
parent 11f2bc8dd1
commit a3d0d3c64e
5 changed files with 878 additions and 6 deletions
+120
View File
@@ -215,4 +215,124 @@
</definitions>
</FCP.Core.CharacterDef>
<!-- Trashcan Carla -->
<FCP.Core.CharacterDef>
<defName>FCP_Character_Trashcan_Carla</defName>
<pawnKind>FCP_Unique_Pawnkind_Wastelander_Trader_Trashcan_Carla</pawnKind>
<xenotype>Baseliner</xenotype>
<faction>FCP_Faction_Hidden_Wastelanders</faction>
<roles>
</roles>
<definitions>
<!-- Bio -->
<li Class="FCP.Core.CharacterStoryDefinition">
<firstName />
<lastName />
<nickname>Trashcan Carla</nickname>
<gender>Female</gender>
<age>41</age>
</li>
<!-- Appearance -->
<li Class="FCP.Core.CharacterAppearanceDefinition">
<hairColor>(90, 70, 50)</hairColor>
<hairDef>FCP_Hair_Frazzled</hairDef>
<beardDef>NoBeard</beardDef>
<skinColorOverride>(190, 155, 120)</skinColorOverride>
<headTypeDef>Female_AverageNormal</headTypeDef>
<bodyTypeDef>Female</bodyTypeDef>
</li>
</definitions>
</FCP.Core.CharacterDef>
<!-- Cricket -->
<FCP.Core.CharacterDef>
<defName>FCP_Character_Cricket</defName>
<pawnKind>FCP_Unique_Pawnkind_Wastelander_Trader_Cricket</pawnKind>
<xenotype>Baseliner</xenotype>
<faction>FCP_Faction_Hidden_Wastelanders</faction>
<roles>
</roles>
<definitions>
<!-- Bio -->
<li Class="FCP.Core.CharacterStoryDefinition">
<firstName />
<lastName />
<nickname>Cricket</nickname>
<gender>Female</gender>
<age>29</age>
</li>
<!-- Appearance -->
<li Class="FCP.Core.CharacterAppearanceDefinition">
<hairColor>(30, 30, 30)</hairColor>
<hairDef>FCP_Hair_Blast_Back</hairDef>
<beardDef>NoBeard</beardDef>
<skinColorOverride>(180, 145, 110)</skinColorOverride>
<headTypeDef>Female_AverageNormal</headTypeDef>
<bodyTypeDef>Female</bodyTypeDef>
</li>
</definitions>
</FCP.Core.CharacterDef>
<!-- Lucas Miller -->
<FCP.Core.CharacterDef>
<defName>FCP_Character_Lucas_Miller</defName>
<pawnKind>FCP_Unique_Pawnkind_Wastelander_Trader_Lucas_Miller</pawnKind>
<xenotype>Baseliner</xenotype>
<faction>FCP_Faction_Hidden_Wastelanders</faction>
<roles>
</roles>
<definitions>
<!-- Bio -->
<li Class="FCP.Core.CharacterStoryDefinition">
<firstName>Lucas</firstName>
<lastName>Miller</lastName>
<nickname>Lucas Miller</nickname>
<gender>Male</gender>
<age>24</age>
</li>
<!-- Appearance -->
<li Class="FCP.Core.CharacterAppearanceDefinition">
<hairColor>(110, 85, 60)</hairColor>
<hairDef>FCP_Hair_Shaggy_Suave</hairDef>
<beardDef>NoBeard</beardDef>
<skinColorOverride>(215, 185, 155)</skinColorOverride>
<headTypeDef>Male_AverageNormal</headTypeDef>
<bodyTypeDef>Thin</bodyTypeDef>
</li>
</definitions>
</FCP.Core.CharacterDef>
<!-- Doc Weathers -->
<FCP.Core.CharacterDef>
<defName>FCP_Character_Doc_Weathers</defName>
<pawnKind>FCP_Unique_Pawnkind_Wastelander_Trader_Doc_Weathers</pawnKind>
<xenotype>Baseliner</xenotype>
<faction>FCP_Faction_Hidden_Wastelanders</faction>
<roles>
</roles>
<definitions>
<!-- Bio -->
<li Class="FCP.Core.CharacterStoryDefinition">
<firstName />
<lastName>Weathers</lastName>
<nickname>Doc Weathers</nickname>
<gender>Male</gender>
<age>53</age>
</li>
<!-- Appearance -->
<li Class="FCP.Core.CharacterAppearanceDefinition">
<hairColor>(140, 140, 140)</hairColor>
<hairDef>FCP_Hair_Balding</hairDef>
<beardDef>NoBeard</beardDef>
<skinColorOverride>(195, 165, 135)</skinColorOverride>
<headTypeDef>Male_AverageNormal</headTypeDef>
<bodyTypeDef>Male</bodyTypeDef>
</li>
</definitions>
</FCP.Core.CharacterDef>
</Defs>
@@ -132,6 +132,18 @@
</disallowedMemes>
<caravanTraderKinds>
<li>FCP_Caravan_Crow_Trader</li>
<li>FCP_Caravan_Crazy_Wolfgang</li>
<li>FCP_Caravan_Doc_Hoff</li>
<li>FCP_Caravan_Lucky_Harith</li>
<li>FCP_Caravan_Angela_Staley</li>
<li>FCP_Caravan_Banon</li>
<li>FCP_Caravan_Belle_Bonny</li>
<li>FCP_Caravan_Trashcan_Carla</li>
<li>FCP_Caravan_Cricket</li>
<li>FCP_Caravan_Lucas_Miller</li>
<li>FCP_Caravan_Doc_Weathers</li>
<li>FCP_Caravan_Crimson_Caravan_Trader</li>
<li>FCP_Caravan_Gun_Runners_Convoy</li>
</caravanTraderKinds>
<maxPawnCostPerTotalPointsCurve>
<points>
@@ -162,13 +174,14 @@
<!-- Traders -->
<!-- <li Class="FCP.Core.GroupMakerWithCustomChar">
<li Class="FCP.Core.GroupMakerWithTraderKind">
<kindDef>Trader</kindDef>
<traderKinds>
<li>FCP_Caravan_Crow_Trader</li>
<li>FCP_Caravan_Crimson_Caravan_Trader</li>
<li>FCP_Caravan_Gun_Runners_Convoy</li>
</traderKinds>
<traders>
<FCP_Unique_Pawnkind_Wastelander_Trader_Crow>1</FCP_Unique_Pawnkind_Wastelander_Trader_Crow>
<FCP_Pawnkind_Wastelander_Trader>1</FCP_Pawnkind_Wastelander_Trader>
</traders>
<carriers>
<FCP_Animal_Brahmin>6</FCP_Animal_Brahmin>
@@ -178,9 +191,76 @@
</guards>
<characterDefs>
<li>FCP_Character_Crow</li>
<li>FCP_Character_Crazy_Wolfgang</li>
<li>FCP_Character_Doc_Hoff</li>
<li>FCP_Character_Lucky_Harith</li>
<li>FCP_Character_Angela_Staley</li>
<li>FCP_Character_Banon</li>
<li>FCP_Character_Belle_Bonny</li>
<li>FCP_Character_Cricket</li>
<li>FCP_Character_Lucas_Miller</li>
<li>FCP_Character_Doc_Weathers</li>
</characterDefs>
<characterChance>1</characterChance>
</li> -->
<characterTraderKinds>
<li>
<key>FCP_Character_Crow</key>
<value>FCP_Caravan_Crow_Trader</value>
</li>
<li>
<key>FCP_Character_Crazy_Wolfgang</key>
<value>FCP_Caravan_Crazy_Wolfgang</value>
</li>
<li>
<key>FCP_Character_Doc_Hoff</key>
<value>FCP_Caravan_Doc_Hoff</value>
</li>
<li>
<key>FCP_Character_Lucky_Harith</key>
<value>FCP_Caravan_Lucky_Harith</value>
</li>
<li>
<key>FCP_Character_Angela_Staley</key>
<value>FCP_Caravan_Angela_Staley</value>
</li>
<li>
<key>FCP_Character_Banon</key>
<value>FCP_Caravan_Banon</value>
</li>
<li>
<key>FCP_Character_Belle_Bonny</key>
<value>FCP_Caravan_Belle_Bonny</value>
</li>
<li>
<key>FCP_Character_Cricket</key>
<value>FCP_Caravan_Cricket</value>
</li>
<li>
<key>FCP_Character_Lucas_Miller</key>
<value>FCP_Caravan_Lucas_Miller</value>
</li>
<li>
<key>FCP_Character_Doc_Weathers</key>
<value>FCP_Caravan_Doc_Weathers</value>
</li>
</characterTraderKinds>
<characterChance>0.35</characterChance>
</li>
<!-- Trashcan Carla -->
<li Class="FCP.Core.GroupMakerWithCustomTraderChar">
<kindDef>Trader</kindDef>
<traderKind>FCP_Caravan_Trashcan_Carla</traderKind>
<traders>
<FCP_Unique_Pawnkind_Wastelander_Trader_Trashcan_Carla>1</FCP_Unique_Pawnkind_Wastelander_Trader_Trashcan_Carla>
</traders>
<carriers>
<FCP_Animal_Brahmin>1</FCP_Animal_Brahmin>
</carriers>
<characterDefs>
<li>FCP_Character_Trashcan_Carla</li>
</characterDefs>
</li>
</pawnGroupMakers>
<modExtensions Inherit="False">
<li Class="FCP.Factions.FactionExtension_HiddenFactionHasCaravans" />
@@ -184,4 +184,104 @@
<pawnGroupDevelopmentStage>Adult</pawnGroupDevelopmentStage>
</PawnKindDef>
<!-- Trashcan Carla -->
<PawnKindDef ParentName="FCP_WastelanderkindBase">
<defName>FCP_Unique_Pawnkind_Wastelander_Trader_Trashcan_Carla</defName>
<label>Scrap Trader</label>
<trader>true</trader>
<combatPower>15</combatPower>
<apparelRequired>
<li>FCP_Apparel_Caravaneer_Outfit</li>
</apparelRequired>
<initialWillRange>1~3</initialWillRange>
<initialResistanceRange>10~17</initialResistanceRange>
<backstoryFiltersOverride Inherit="False">
<li>
<categoriesChildhood>
<li>FCP_Backstory_Wasteland_Trader_Trashcan_Carla_Child</li>
</categoriesChildhood>
<categoriesAdulthood>
<li>FCP_Backstory_Wasteland_Trader_Trashcan_Carla</li>
</categoriesAdulthood>
</li>
</backstoryFiltersOverride>
<pawnGroupDevelopmentStage>Adult</pawnGroupDevelopmentStage>
</PawnKindDef>
<!-- Cricket -->
<PawnKindDef ParentName="FCP_WastelanderkindBase">
<defName>FCP_Unique_Pawnkind_Wastelander_Trader_Cricket</defName>
<label>Arms Dealer</label>
<trader>true</trader>
<combatPower>35</combatPower>
<apparelRequired>
<li>FCP_Apparel_Caravaneer_Outfit</li>
</apparelRequired>
<initialWillRange>1~3</initialWillRange>
<initialResistanceRange>10~17</initialResistanceRange>
<backstoryFiltersOverride Inherit="False">
<li>
<categoriesChildhood>
<li>FCP_Backstory_Wasteland_Trader_Cricket_Child</li>
</categoriesChildhood>
<categoriesAdulthood>
<li>FCP_Backstory_Wasteland_Trader_Cricket</li>
</categoriesAdulthood>
</li>
</backstoryFiltersOverride>
<pawnGroupDevelopmentStage>Adult</pawnGroupDevelopmentStage>
</PawnKindDef>
<!-- Lucas Miller -->
<PawnKindDef ParentName="FCP_WastelanderkindBase">
<defName>FCP_Unique_Pawnkind_Wastelander_Trader_Lucas_Miller</defName>
<label>Peddler</label>
<trader>true</trader>
<combatPower>30</combatPower>
<apparelRequired>
<li>FCP_Apparel_Caravaneer_Outfit</li>
</apparelRequired>
<initialWillRange>1~3</initialWillRange>
<initialResistanceRange>10~17</initialResistanceRange>
<backstoryFiltersOverride Inherit="False">
<li>
<categoriesChildhood>
<li>FCP_Backstory_Wasteland_Trader_Lucas_Miller_Child</li>
</categoriesChildhood>
<categoriesAdulthood>
<li>FCP_Backstory_Wasteland_Trader_Lucas_Miller</li>
</categoriesAdulthood>
</li>
</backstoryFiltersOverride>
<pawnGroupDevelopmentStage>Adult</pawnGroupDevelopmentStage>
</PawnKindDef>
<!-- Doc Weathers -->
<PawnKindDef ParentName="FCP_WastelanderkindBase">
<defName>FCP_Unique_Pawnkind_Wastelander_Trader_Doc_Weathers</defName>
<label>Chem Dealer</label>
<trader>true</trader>
<combatPower>30</combatPower>
<apparelRequired>
<li>FCP_Apparel_Business_Pre_War</li>
</apparelRequired>
<initialWillRange>1~3</initialWillRange>
<initialResistanceRange>10~17</initialResistanceRange>
<backstoryFiltersOverride Inherit="False">
<li>
<categoriesChildhood>
<li>FCP_Backstory_Wasteland_Trader_Doc_Weathers_Child</li>
</categoriesChildhood>
<categoriesAdulthood>
<li>FCP_Backstory_Wasteland_Trader_Doc_Weathers</li>
</categoriesAdulthood>
</li>
</backstoryFiltersOverride>
<pawnGroupDevelopmentStage>Adult</pawnGroupDevelopmentStage>
</PawnKindDef>
</Defs>
+67
View File
@@ -376,4 +376,71 @@
</backstoryFiltersOverride>
</PawnKindDef>
<!--___ New Vegas Company Caravans ___-->
<!-- Crimson Caravan Trader -->
<PawnKindDef ParentName="FCP_WastelanderkindBase" MayRequire="Rick.FCP.Wastelanders">
<defName>FCP_Pawnkind_Crimson_Caravan_Trader</defName>
<label>Crimson Caravan Trader</label>
<trader>true</trader>
<combatPower>30</combatPower>
<itemQuality>Normal</itemQuality>
<gearHealthRange>0.8~1.8</gearHealthRange>
<apparelMoney>400~700</apparelMoney>
<apparelRequired>
<li>FCP_Apparel_Caravaneer_Outfit</li>
</apparelRequired>
<weaponMoney>600</weaponMoney>
<weaponTags>
<li>Gun</li>
<li MayRequire="Rick.FCP.BallisticWeapons">FCP_Pistol</li>
</weaponTags>
<initialWillRange>1~3</initialWillRange>
<initialResistanceRange>15~24</initialResistanceRange>
<backstoryFiltersOverride>
<li>
<categoriesChildhood>
<li>FCP_Backstory_Wastelander_Child</li>
</categoriesChildhood>
<categoriesAdulthood>
<li>FCP_Backstory_Wastelander</li>
</categoriesAdulthood>
</li>
</backstoryFiltersOverride>
</PawnKindDef>
<!-- Gun Runners Convoy -->
<PawnKindDef ParentName="FCP_WastelanderkindBase" MayRequire="Rick.FCP.Wastelanders">
<defName>FCP_Pawnkind_Gun_Runners_Convoy</defName>
<label>Gun Runners Convoy Trader</label>
<trader>true</trader>
<combatPower>40</combatPower>
<itemQuality>Good</itemQuality>
<gearHealthRange>0.9~1.8</gearHealthRange>
<apparelMoney>400~700</apparelMoney>
<apparelRequired>
<li>FCP_Apparel_Caravaneer_Outfit</li>
</apparelRequired>
<weaponMoney>1000</weaponMoney>
<weaponTags>
<li>Gun</li>
<li MayRequire="Rick.FCP.BallisticWeapons">FCP_Assault_Rifle</li>
<li MayRequire="Rick.FCP.EnergyWeapons">FCP_Energy_Weapon</li>
</weaponTags>
<initialWillRange>1~3</initialWillRange>
<initialResistanceRange>15~24</initialResistanceRange>
<backstoryFiltersOverride>
<li>
<categoriesChildhood>
<li>FCP_Backstory_Wastelander_Child</li>
</categoriesChildhood>
<categoriesAdulthood>
<li>FCP_Backstory_Wastelander</li>
</categoriesAdulthood>
</li>
</backstoryFiltersOverride>
</PawnKindDef>
</Defs>
File diff suppressed because it is too large Load Diff