Commit Graph
812 Commits
Author SHA1 Message Date
RickGrymes baf00a38df Remove bunker defs and textures
Deletes the bunker wall and floor XML defs along with their associated texture assets.
2026-07-04 23:30:17 -05:00
RickGrymes d88e3d4e0f Add consumable grenade system and settings
Introduces a new consumable grenade flow with a toggle in General settings, including localization strings and XML patching so vanilla grenades use a consumable launch verb and stack to 15. Added Harmony patches and a custom verb to handle stack consumption, prevent unwanted restacking when consumables are disabled, and auto-equip matching replacements from inventory. Also includes small supporting tweaks: safer holotape debug spawning, a log level adjustment in core mod startup, and minor def updates (apparel cleanup/category fix and energy explosion color tuning).
2026-07-04 23:06:13 -05:00
Canon 68b5cc7456 Add rulepack namers for factions to fix commitment-mode map gen 2026-07-04 00:20:59 +08:00
RickGrymes af0059b6fe Add storage shelf and suppress item rendering
Introduce a Building_StorageShelf type and a Harmony patch that prevents Thing.Print from rendering items that are on a storage shelf (prefix returns false when an edifice at the thing's position is a storage shelf). Add a new FCP_Makeable_Medicine_Base ThingDef (industrial tech level, medicine category and recipeMaker settings) to ThingDefs_Drugs.xml. Also update the compiled FCP_Core.dll to include these changes.
2026-06-11 22:19:03 -05:00
RickGrymes 4321947562 Vertibird crash quest code
Hopefully fixes vertibird quest
2026-06-10 10:20:10 -05:00
RickGrymes bb27e77f38 Add radioactive waste barrels, site, and comp
Introduce radioactive waste environmental content: new ThingDefs for multiple barrel variants (single, exposed, stack, pallet) with pollution and radioactive comp properties; GenStep scatter and a new site definition for radioactive waste dumps; and associated textures. Adds CompRadioactiveBarrel (and CompProperties_RadioactiveBarrel) implementation to apply toxic buildup to pawns over time. Removes legacy currency-exchange faction/trader defs and updates the FCP_Core.dll binary.
2026-06-01 19:37:03 -05:00
RickGrymes 849461a71f Add faction outpost templates and spawn system
Introduce a templated faction outpost system: add PawnKindCount (supports counts and XML load), GameComponent_FactionOutpostTemplates, MapComponent_FactionOutpost, GenStep_FactionOutpost, a Harmony PostMapGenerate patch, IncidentWorker_RandomFactionSite, RandomSiteIncidentExtension, SitePartWorker_FactionOutpost and helpers for registering/serializing templates. Update GameComponent_SettlementMapGenerators and GenStep_SpawnSettlementPawns to use PawnKindCount and use deep scribing for complex lists. Also fix a conditional in Gene_GlowingOne to only apply toxic buildup logic to flesh races. Binary assembly updated to match changes.
2026-05-31 15:07:04 -05:00
RickGrymes 443dc7e11c Add terminals, holotapes, radiant quests & traders
Introduce terminal/holotape features, hacking jobs and UI plus extensive radiant quest content and faction/trader support. Adds many new C# systems (holotape storage/comp, terminal hacking, job drivers, quest nodes/parts, gensteps, settlement spawn control, pocket map components) and XML defs (quest scripts for CaravanRescue/ScavengerSupplyRun, mapgen prefab, faction/trader defs for currency exchange, site and research defs). Updates: JobDefs to include holotape/hack jobs, PawnKind apparel season handling and faction requirement metadata, ThingDefs and map/site defs, language word lists, map icons and textures, and various patches (workgiver, mapgen, currency). Removes obsolete VNPE compatibility patch, legacy pawn-rescue-animal script and a few unused defs/assets.
2026-05-31 10:34:25 -05:00
Canon dbdddb586a Update hacking minigame to use words from strings 2026-05-23 19:27:52 +08:00
RickGrymes 0feeb8b37b Use no-recipe gun base and disable smelting
Change FCP_Machining_Gun_Base and FCP_BaseGun to inherit from FCP_Gun_NoRecipe_Base instead of stock parents, remove the machining recipe block from FCP_Machining_Gun_Base, and set smeltable to false on both base defs. This centralizes recipe handling to the no-recipe base and prevents these gun bases from being smeltable.
2026-05-17 12:42:30 -05:00
RickGrymes b58276315e Add bullets, vertibird engine & weapon fixes
Multiple gameplay and asset updates: added several projectile ThingDefs (.50 Cal, 7.62mm, Autocannon, Shotgun Slug) and a new sound definition for the Anti‑Material Rifle. Added vertibird engine texture and updated the vertibird engine item to use the new texture (Graphic_Single). Refactored gun bases to introduce FCP_Gun_NoRecipe_Base (avoid recipeMaker) and made FCP_Simple_Gun_Base / FCP_Complex_Gun_Base inherit from it and be non‑smeltable. Removed a duplicated/conditional gecko flame soundCast entry from Abilities_Core.xml. Made recruit pawns persistent by passing generated pawns to WorldPawns (KeepForever) in ProvisionsInfo. LaserProjectile now only applies periodic damage when the damageThingsAcrossBeamLine flag is enabled. Binary assembly FCP_Core.dll was updated as well.
2026-05-17 12:34:28 -05:00
RickGrymes 8516185afb Add craftable vertibirds and atmospheric-only comp
Introduce craftable vertibird content and support systems: adds a Vertibird engine item, research (FCP_Vertibird_Construction), multiple craftable vertibird ThingDefs (light, cargo, gunship) with ship/world/skyfaller defs, ruined gunship building and updated loot, plus new textures and localized message. Adds CompAtmosphericOnly (with Harmony prefix) to prevent these vertibirds from launching to orbit/space. Updates MapGen to spawn the new ruined gunship, updates project cache and compiled assembly, and removes an obsolete NamedSettlement extension.
2026-05-16 12:47:16 -05:00
RickGrymes 0c6f51dde1 Optimize named settlement init to avoid LINQ
Reduce allocations during settlement initialization. The patch removes System.Linq, iterates Find.FactionManager.AllFactions directly, and builds per-faction settlement lists by scanning Find.WorldObjects.Settlements into a local List instead of GroupBy/ToDictionary. Also replaces several var declarations with explicit types, switches neighbor iteration to index-based loops, and performs an early continue when a faction has no settlements. These changes improve performance and lower garbage generation during world init while preserving existing naming and max-settlement logic.
2026-05-16 09:48:04 -05:00
RickGrymes 339fd61b25 Add Brahmin sounddefs and audio files
Add SoundDef entries for Brahmin vocalizations (Call, Wounded, Death, Angry, Eating) to 1.6/Defs/SoundDefs/SoundDefs.xml and add corresponding .ogg assets under Common/Sounds/Animals/Brahmin. Each SoundDef configures context, volume/pitch/dist ranges, sustain/repeat settings, and maxVoices where appropriate to enable Brahmin pawn sounds on the map.
2026-05-16 09:39:38 -05:00
RickGrymes 88ae84f14d Tune Wastelander weapon condition & add named settlements
Reduce conditionLossPerShot and raise spawnConditionMin for several Wastelander weapon defs to make them more durable. Update WeaponCondition VerbShoot_TryCastShot harmony patch and refresh compiled FCP_Core.dll. Add new FactionExtension_NamedSettlement to allow naming, preferred-hilliness relocation and max-count enforcement for faction settlements at world init. Also add multiple C# project language-service cache (.csproj.lscache) files.
2026-05-16 08:56:24 -05:00
RickGrymes e31e5947f4 Hostile animal AI, weighted hatcher, enlist
Add hostile-animal behavior and AI: new MentalState_HostileAnimal, JobGiver_HostileAnimal and HediffComp_HostileAnimal (with properties) to force hostile mental states and target selection for animals.

Introduce weighted hatcher support: add WeightedHatchEntry and CompProperties_HatcherCustom.weightedPawns, plus CompHatcherCustom.PickKind() and simplified Hatch() that picks a PawnKindDef by weight/secondary fallback.

Adjust Enlist code: remove guest/world-pawn pass in ProvisionsInfo pawn generation and improve WorldObjectCompEnlist settlement selection with a non-hostile fallback if no same-faction destinations exist.

Add a new soundCast entry to Abilities_Core.xml and update compiled assemblies accordingly.
2026-05-15 00:11:15 -05:00
RickGrymes 3243d23496 Weapon condition, repair benches, and misc fixes
Introduce a full weapon condition system: jamming, condition loss, repair recipes and bench interactions. Adds many new WeaponCondition source files (comps, job drivers, recipe workers, harmony patches, Building_WorkTableComp) plus defs for jobs, recipes (weapons & apparel), traits (jury rigger), workgivers, and ThingDef changes to integrate weapon/apparel benches. UI/localization keys and a settings toggle for weapon condition were added. Also refactors float-menu pick-up logic with extra checks (path, burning, mass) and improves DoPickUp job creation. Misc enlist fixes: persist destinationLabel, adjust dialog init order, and change pawn generation context for provisions. Adds FactionExtension_SpawnConfig and Harmony patches to TileFinder.RandomSettlementTileFor for custom spawn rules. Minor ThingDef visual/size/drawer tweaks and updated assemblies included.
2026-05-14 17:49:34 -05:00
RickGrymes e39ee5dc37 Use SetGuestStatus instead of joinStatus
Replace direct joinStatus assignment with the API call pawn.guest?.SetGuestStatus(null) in ProvisionsInfo.cs to perform a null-safe guest status update. The compiled FCP_Enlist.dll binary was also updated to reflect this change.
2026-05-12 13:59:28 -05:00
RickGrymes f827921c8d Merge keyed language XMLs and code fixes
Consolidate multiple keyed English language XMLs into Common/Languages/English/Keyed/FCPToolsKeyed.xml (removed ArmorRackKeys, Cages, Main, PowerArmor, RecipeGoodwill, Terminal, VATS). Update binaries in 1.6/Assemblies. Code changes: ensure generated enlistment pawns are set to player faction and join as colonists (ProvisionsInfo); add GetDisplayBodyType helper to ApparelExtensionUtility and a Harmony Prefix patch to override apparel body type during graphic lookup (Patches.cs); make CompTechprint float menu use a unified bench list and add requiredBench plus AllRequiredBenches helper to TechprintExtension to combine single and multiple required benches.
2026-05-12 13:52:57 -05:00
RickGrymes 9afc69c27f Add stealthboy items and tax-collector traders
Introduce Stealthboy items, chemistry, hediffs, thoughts and textures (two models A/B) to enable use, tolerance and addiction mechanics. Add new ChemicalDef and NeedDef, HediffDefs for fields/tolerance/addiction, and a withdrawal ThoughtDef.

Enlist system updates: extend ExclusiveTrader to support custom TraderKind and name keys, use CaravanInventoryUtility.AllInventoryItems for colony items, and persist new fields. Add tax collector support to FactionEnlistOptionsDef and WorldObjectCompEnlist (tracking, UI command, periodic refresh and saving). Ensure generated pawns are registered with WorldPawns in ProvisionsInfo. Assembly FCP_Enlist.dll updated.
2026-05-12 11:40:52 -05:00
RickGrymes e59b99a7ee Defer terminal graphics init; fix hack words
Ensure terminal graphics are only loaded on the main thread: InitializeGraphics now checks LongEventHandler.AnyEventNowOrWaiting and SpawnSetup defers initialization via LongEventHandler.ExecuteWhenFinished when necessary to avoid off-thread graphic loading. In CompTerminalHacking, replaced GenText.RandomSeedString with a simple uppercase-letter generator using Rand.Range to produce hack words. Also includes updated compiled FCP_Core.dll.
2026-05-10 23:24:38 -05:00
RickGrymes c54c8bbc36 Add terminals and crucifixion; refactor source
Reorganize and add core features: move many source files into Source/FCPTools/FalloutCore and remove obsolete project/assembly binaries under 1.6/Assemblies. Introduce pre-war computer terminals (wall & table): ThingDefs, textures, language key, CompProperties_Terminal/CompTerminal, hacking components, and a new mapgen GenStep_WallTerminals. Add crucifixion mechanics: HediffDefs (FCP_Crucified, FCP_CrucifixionExhaustion, FCP_WasCrucified) and related JobDefs (strap/remove from power line). Add many new source modules (power line/terminal buildings, power armor jobs, homing projectiles, gauntlet spawners, gooification, shotgunz, spawn-on-ingest, ignore-config-errors, weapon requirements, etc.) and numerous Harmony patches. Misc: update damage workerClass namespaces to FCP.Core, change some production building draw sizes, make research techprints require specific benches, and rename/move many files while deleting legacy files and assemblies.
2026-05-10 16:35:13 -05:00
RickGrymes c56b4df540 Add delivery quests, traders, and training features
Introduce core enlistment features and data models: add AbilityTrainingSession, DeliveryQuest/DeliveryQuestList, and ExclusiveTrader (ITrader/IThingHolder) plus many new Def/option types (AbilityTrainingOption, DeliveryQuestTemplate, RecruitRecord, ReinforcementOption extensions, TitleWageBonus). Extend FactionEnlistOptionsDef and FactionEnlistOptions to support bounty hunters, exclusive traders, auto-feed, ability training, delivery quests, and title-based wage bonuses. Update CaravanOptions, ProvisionsInfo (now gives recruits), SalaryInfo (applies title wage multipliers), PawnTrader (bounty hunter support), WorldEnlistTracker (use reinforcement options and custom pawn generation), and add Harmony patches to control settlement-proximity goodwill effects. Also add asset updates (textures, mod icon) and update the compiled FCP_Enlist.dll.
2026-05-02 12:03:59 -05:00
Canon f12f14ffc8 Downgrade to target C# 13 2026-04-13 23:59:19 +08:00
Canon 580f748dc7 Set Power Armor to Forced when worn from Power Armor Station 2026-04-07 21:22:55 +08:00