Initial commit

This commit is contained in:
RickGrymes
2026-05-27 05:32:48 -05:00
commit 9e2122247d
9 changed files with 1384 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
File diff suppressed because it is too large Load Diff
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--__________ Jobs __________-->
<!-- Insert Holotape -->
<JobDef>
<defName>FCP_InsertHolotape</defName>
<driverClass>FCP.Core.JobDrivers.JobDriver_InsertHolotape</driverClass>
<reportString>inserting holotape into TargetB.</reportString>
<allowOpportunisticPrefix>true</allowOpportunisticPrefix>
</JobDef>
<!-- Read Holotape At Terminal -->
<JobDef>
<defName>FCP_ReadHolotapeAtTerminal</defName>
<driverClass>FCP.Core.JobDrivers.JobDriver_ReadHolotapeAtTerminal</driverClass>
<reportString>reading holotape at TargetA.</reportString>
<joyDuration>4000</joyDuration>
<joyMaxParticipants>1</joyMaxParticipants>
<joySkill>Intellectual</joySkill>
<joyXpPerTick>0.000001</joyXpPerTick>
<joyKind>Reading</joyKind>
</JobDef>
</Defs>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--__________ Holotape Thing Categories __________-->
<ThingCategoryDef>
<defName>FCP_Holotapes</defName>
<label>holotapes</label>
<parent>Manufactured</parent>
<iconPath>Things/Items/Techprints/FCP_Techprint_Holotape_Orange</iconPath>
</ThingCategoryDef>
</Defs>
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--__________ Wall Terminals __________-->
<!-- Wall Terminal Base -->
<ThingDef Name="WallTerminalBase" ParentName="TerminalBase" Abstract="True">
<altitudeLayer>BuildingOnTop</altitudeLayer>
<placeWorkers>
<li>FCP.Core.Buildings.PlaceWorker_OnWall</li>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<tickerType>Normal</tickerType>
</ThingDef>
<!-- Old Wall Terminal -->
<ThingDef ParentName="WallTerminalBase">
<defName>FCP_Production_Old_Wall_Terminal</defName>
<label>Old Wall Terminal</label>
<description>A rusted pre-war computer terminal mounted to a wall. Can be used to research holotapes and may still contain data from before the war. Cannot be moved or claimed once placed.</description>
<graphicData>
<texPath>Things/Building/Production/FCP_Terminals/FCP_Wall_Mounted_Terminal/FCP_Old_Terminal_Wall_Off</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(1.5,1.5)</drawSize>
<drawOffset>(0,0.4,-0.35)</drawOffset>
<damageData>
<cornerTL>Damage/Corner</cornerTL>
<cornerTR>Damage/Corner</cornerTR>
</damageData>
</graphicData>
<statBases>
<MaxHitPoints>150</MaxHitPoints>
<Cleanliness>-5</Cleanliness>
</statBases>
<comps>
<li Class="FCP.Core.Buildings.CompProperties_Terminal">
<poweredOnTexPath>Things/Building/Production/FCP_Terminals/FCP_Wall_Mounted_Terminal/FCP_Old_Terminal_Wall_On</poweredOnTexPath>
<poweredOffTexPath>Things/Building/Production/FCP_Terminals/FCP_Wall_Mounted_Terminal/FCP_Old_Terminal_Wall_Off</poweredOffTexPath>
<canExtractHolotape>true</canExtractHolotape>
<holotapeDropChance>0.1</holotapeDropChance>
</li>
<li Class="FCP.Core.Buildings.CompProperties_TerminalHacking">
<wordLength>6</wordLength>
<maxAttempts>4</maxAttempts>
<lockoutDurationHours>6</lockoutDurationHours>
<wordCount>12</wordCount>
<rewardPool>
<li>Silver</li>
<li>ComponentIndustrial</li>
<li>Steel</li>
</rewardPool>
</li>
</comps>
</ThingDef>
<!-- Clean Wall Terminal -->
<ThingDef ParentName="WallTerminalBase">
<defName>FCP_Production_Clean_Wall_Terminal</defName>
<label>Clean Wall Terminal</label>
<description>A well-preserved pre-war computer terminal mounted to a wall. Can be used to research holotapes and may still contain data from before the war. Cannot be moved or claimed once placed.</description>
<graphicData>
<texPath>Things/Building/Production/FCP_Terminals/FCP_Wall_Mounted_Terminal/FCP_Clean_Terminal_Wall_Off</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(1.5,1.5)</drawSize>
<drawOffset>(0,0.4,-0.35)</drawOffset>
<damageData>
<cornerTL>Damage/Corner</cornerTL>
<cornerTR>Damage/Corner</cornerTR>
</damageData>
</graphicData>
<statBases>
<MaxHitPoints>200</MaxHitPoints>
<Cleanliness>0</Cleanliness>
</statBases>
<comps>
<li Class="FCP.Core.Buildings.CompProperties_Terminal">
<poweredOnTexPath>Things/Building/Production/FCP_Terminals/FCP_Wall_Mounted_Terminal/FCP_Clean_Terminal_Wall_On</poweredOnTexPath>
<poweredOffTexPath>Things/Building/Production/FCP_Terminals/FCP_Wall_Mounted_Terminal/FCP_Clean_Terminal_Wall_Off</poweredOffTexPath>
<canExtractHolotape>true</canExtractHolotape>
<holotapeDropChance>0.1</holotapeDropChance>
</li>
<li Class="FCP.Core.Buildings.CompProperties_TerminalHacking">
<wordLength>9</wordLength>
<maxAttempts>4</maxAttempts>
<lockoutDurationHours>12</lockoutDurationHours>
<wordCount>15</wordCount>
<rewardPool>
<li>ComponentIndustrial</li>
<li>ComponentSpacer</li>
<li>Plasteel</li>
<li>Gold</li>
</rewardPool>
</li>
</comps>
</ThingDef>
</Defs>
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--__________ Holotape Base __________-->
<ThingDef Name="HolotapeBase" Abstract="True">
<thingClass>ThingWithComps</thingClass>
<category>Item</category>
<drawerType>MapMeshOnly</drawerType>
<tickerType>Never</tickerType>
<altitudeLayer>Item</altitudeLayer>
<passability>PassThroughOnly</passability>
<selectable>true</selectable>
<pathCost>15</pathCost>
<useHitPoints>true</useHitPoints>
<statBases>
<MaxHitPoints>50</MaxHitPoints>
<Mass>0.1</Mass>
<Flammability>1.0</Flammability>
<DeteriorationRate>2</DeteriorationRate>
<Beauty>-2</Beauty>
</statBases>
<thingCategories>
<li>FCP_Holotapes</li>
</thingCategories>
<alwaysHaulable>true</alwaysHaulable>
<comps>
<li Class="CompProperties_Forbiddable"/>
</comps>
<graphicData>
<texPath>Things/Items/Techprints/FCP_Techprint_Holotape_Orange</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<tradeTags>
<li>ExoticMisc</li>
</tradeTags>
<thingSetMakerTags>
<li>RewardStandardMidFreq</li>
</thingSetMakerTags>
</ThingDef>
</Defs>
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--__________ Holotape Thoughts __________-->
<!-- Read Holotape -->
<ThoughtDef>
<defName>FCP_ReadHolotape</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>1</durationDays>
<stackLimit>3</stackLimit>
<stackedEffectMultiplier>0.75</stackedEffectMultiplier>
<stages>
<li>
<label>read holotape</label>
<description>I learned something from that old recording. Fascinating stuff.</description>
<baseMoodEffect>3</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
</Defs>
+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<ModMetaData>
<!-- About Information -->
<packageId>Rick.FCP.Lore</packageId>
<author>Rick</author>
<name>FCP - Lore</name>
<description>The Fallout Collaboration Project Presents: FCP Lore! Contains holotapes with stories from the wasteland and pre-war terminals with hidden data.</description>
<url>https://github.com/FalloutCollaborationProject</url>
<supportedVersions>
<li>1.6</li>
</supportedVersions>
<modDependencies>
<li>
<packageId>Rick.FCP.Core.Tools</packageId>
<displayName>FCP - Tools</displayName>
</li>
</modDependencies>
<loadAfter>
<li>Ludeon.RimWorld</li>
<li>Ludeon.RimWorld.Royalty</li>
<li>Ludeon.RimWorld.Ideology</li>
<li>Ludeon.RimWorld.Biotech</li>
<li>Ludeon.RimWorld.Anomaly</li>
<li>Ludeon.RimWorld.Odyssey</li>
<li>brrainz.harmony</li>
<li>Rick.FCP.Core.Tools</li>
</loadAfter>
</ModMetaData>
+30
View File
@@ -0,0 +1,30 @@
# FCP - Lore
This mod contains lore content for the Fallout Collaboration Project, including:
## Contents
- **Holotapes**: Lore heacy holotapes with stories from the wasteland, pre-war recordings, and faction specific content
- **Wall Terminals**: Pre-war terminals found in the world that can be hacked for rewards and holotapes
- **Factions Content**: Special holotapes that only appear when specific faction mods are installed (BoS, Enclave, NCR, Legion, Great Khans etc (Ideally every faction when I get to them.))
## Requirements
- FCP - Tools (required dependency for all C# code and base terminal functionality ofc)
## How It Works
- **Wall Terminals** spawn naturally in the world and can be hacked to discover unique holotapes
- **Holotapes** can be inserted into terminals and read for recreation/mood benefits
- Each holotape contains multiple entries telling a story or providing information
- Only one copy of each holotape exists in the world and once discovered, it wont spawn again or at least shouldnt
## Load Order
This mod must load after FCP - Tools. The load order is handled automatically through mod dependencies.
## Attribution
Created by Rick for the Fallout Collaboration Project
I am accepting submissions for more lore accurate holotapes as well in my discord server! (I do apologize for any grammer and spelling issues Canon was not here to supervise this)