301 Commits
Author SHA1 Message Date
RickGrymes cbc033f960 Harmony fixes, added traits and effects 2026-07-26 22:27:51 -05:00
RickGrymes 61c74ed8d2 Ambush workers 2026-07-26 18:14:08 -05:00
RickGrymes d9e8658aee robits 2026-07-26 14:06:27 -05:00
RickGrymes b07297e96f robot and cyberdog fix 2026-07-25 12:01:46 -05:00
RickGrymes 361cdbac52 Add scenario options and quest helpers
Introduce a new scenario settings tab with configurable starting year support and optional "start enlisted" scenario behavior, including updated scenario defs and opening text tokens. This also folds enlist settings into the main mod settings flow, adds quest and unique-character helpers for companion spawns and join quests, and includes smaller gameplay patches like NCR tent handling, Legion ear butcher drops, and quieter homing projectile logging.
2026-07-25 09:01:02 -05:00
RickGrymes 0eed170531 Overhaul robotics with hediff loadouts
Refactors robot customization from apparel/equipment to hediff-driven body part overlays, adds a reusable upgrade dialog, and expands DefOf support for Protectron, Securitron, Mr. Handy, and Sentry Bot variants. Introduces manual power toggling, robot bed assignment/power-down behavior, new control modes (including Securitron guard point and Mr. Handy role-based work modes), and AI checks that respect fuel/power state and pending upgrade bench calls. Also adds new radiant quest nodes, improves settlement tile fallback logic, updates several workbench sizes/textures, and adds additional trader backstories.
2026-07-19 00:57:55 -05:00
RickGrymes 544cfd98ae Fix icon typos and refuelable stat patch
Corrected multiple misspelled site icon texture names, including XML references and matching map icon file renames, to align asset paths. Added a Harmony prefix for `CompProperties_Refuelable.SpecialDisplayStats` to skip non-building defs and avoid invalid stat output. Updated securitron face defs to include the new Victor face in all faces while excluding Smily from player-selectable options.
2026-07-16 14:15:21 -05:00
RickGrymes f84841be45 Merge modules into core and add robotics
Consolidates Enlist, Laser, and PresettablePocketMap code into FCP_Core and removes their separate projects/assemblies. Adds a full robotics feature set (robot control terminal, modes, hacking, docking/upgrading, loadouts, quest integration, derelict/wild robot behavior, and supporting defs/jobs), plus biome-restricted raid support and dedicated trader-character spawning updates. Also expands game content with new weapon/melee sound defs and assets, many new site map icons, a new Fusion Core item, lunchbox loot table additions, and several compatibility/bug fixes for updated RimWorld APIs and edge cases.
2026-07-15 23:24:32 -05:00
RickGrymes aadc2f164a Add heavy cargo hauling for waste barrels
Introduce a HeavyCargo mod extension and hauling patch so only pawns with enough carrying capacity can haul sealed nuclear waste barrels. Rework the single barrel into a haulable resource under a new wasteland salvage category, and let larger barrel stacks/pallets deconstruct back into singles.

Also fixes a wastelander backstory typo, disables rotation on the power armor simulator graphic, refreshes several hair textures, and removes unused atlas/strip textures.
2026-07-11 23:13:21 -05:00
RickGrymes 7d08b5aac0 Add cyberdog and Atom rivalry support
Introduce a hediff-based animal body graphic override for cyberdog-style transformations, add the Cyberdog Conversion research project and Canine Takedown ability, and wire in Atom trait def references plus shared thought workers for Zealot/Congregant social rivalry.
2026-07-11 17:27:33 -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
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 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 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