* DoAfter support for Actions (#38253)
* Adds Action DoAfter Events
* Adds DoAfterArgs fields to DoAfterComp
* Adds a base doafter action
* Adds Attempt action doafter logic
* Adds doafter logic to actions
* Changes Action Attempt Doafter and action doafter to take in Performer and the original use delay. Use delay now triggers when a repeated action is cancelled.
* Readds the TryPerformAction method and readds request perform action into the action doafter events
* Adds a force skip to DoAfter Cancel so we can skip the complete check
* Adds a Delay Reduction field to the comp and to the comp state
* Fixes doafter mispredict, changes doafter comp check to a guard clause, sets delay reduction if it exists.
* Cancels ActionDoAfter if charges is 0
* Serializes Attempt Frequency
* Comment for rework
* Changes todo into a comment
* Moves doafterargs to doafterargscomp
* Adds DoAfterArgs comp to BaseDoAfterAction
* Removes unused trycomp with actionDoAfter
* Replaces DoAfterRepateUseDelay const with timespan.zero
* Removes unused usings
* Makes SharedActionsSystem partial, adds DoAfter partial class to ActionSystem, moves ActionDoAfter logic to the SharedActionsSystem.DoAfter class
* Cleanup and prediction
* Renames OnActionDoAfterAttempt to OnActionDoAfter, moves both to Shared Action DoAfter
* Removes ActionAttemptDoAfterEvent and moves its summaries to ActionDoAfterEvent. Converts OnActionDoAfterAttempt into TryStartActionDoAfter
* Removes Extra check for charges and actiondoafters
* Sloptimization
* Cleanup
* Cleanup
* Adds param descs
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Refactor CP14 action emote and speech handling
Moved emote and speech logic from magic spell components to dedicated CP14 action components and systems. Removed CP14MagicEffectEmotingComponent and related event handling, introducing CP14ActionEmotingComponent and updating event subscriptions. Updated resource consumption and performed logic to use new action-based components. Adjusted affected prototypes and removed obsolete code.
* kicking in
* Refactor athletic spell actions and remove mana cost calc
Reworked dash and sprint spell YAMLs to use modular effect events and updated their action properties. Removed the unused CalculateManacost method from CP14SharedMagicSystem.cs. Also removed the startDelay property from the kick action.
* fix cooldown and resource cost
* casting visuals adapt
* telegraphy adapt
* slowdown adaption
* Remove Lumera and Merkas demigod spells and skills
Deleted all spell and skill prototypes related to the Lumera and Merkas demigods, including their actions, effects, and skill trees. Updated athletic sprint and second wind spells, and refactored portal_to_city spell to use modular effects. Also added a debug category to the admin skill reset verb.
* fuck...
* done
* some refactor hell
* light + lurker process
* meta process
* mobs process
* vampire
* finish
* no clientside
* Update water_creation.yml
* fixes
* Update ice_ghost.yml
* а
* viator review
* fix lurker
---------
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* base identity hide
* ui
* Better UI
* store data in Mind
* disable arrivals an leave announcement
* tips updated
* Enhance identity recognition and examination feedback
Added logic to display remembered character names during examination and improved the process for remembering character names on map initialization. Also updated localization files to include new examination feedback strings. Minor refactoring and bug fixes in identity recognition systems.
* Update CP14SharedIdentityRecognitionSystem.cs
* fix
* Refactor pacified block logic to action system
Moved pacified block functionality from magic spell components to the new CP14ActionSystem and related components. Removed CP14MagicEffectPacifiedBlockComponent and its logic, and introduced CP14ActionDangerousComponent for handling pacified checks. Updated examine and checks logic to use the new action-based components, improving separation of concerns between magic and action systems.
* finish pacified
* mobtargetstate refactor
* skillpoint cost refactor
* somaticAspect refactor
* material cost refactor
* mana cost now
* stamina cost
* SSD + verbal aspect
* religion
* music tool refactor
* vampire
* get rid of this event
* manacost refac
* Remove magicType field from spell definitions
Eliminated the 'magicType' property from all CP14MagicEffect components in spell YAML files across Electric, Fire, Life, Light, and Water categories. This streamlines spell configuration and may reflect a change in how magic types are handled in the system.
* Remove mana cost reduction effects from skill tiers
Eliminated the ModifyManacost effects from tier 2 and tier 3 skills in electromancy, healing, hydrosophistry, illusion, and pyrokinetic. This change standardizes skill progression and may be part of a balance update to mana cost mechanics.
* comment out T3 tiers
* namespace refactor
* fix hands
* Adjust vampire features and add construction category
Increased vampire skill points from 1 to 3 and removed SendOnlyToOwner override. Updated power punch spell: removed cast slowdown, increased paralyze durations, and raised cooldown. Added new construction category for vampires with English and Russian localization, and updated vampire construction recipes to use this category. Reduced furnace recipe craft times from 4 to 1. Cleaned up unused usings in vampire components.
* Improve vampire skill popups and clan heart features
Added missing popup when no essence is left to gather and improved popup handling for skill point changes. Updated localization for clan progress and essence messages, added WarpPoint to vampire clan heart, and adjusted vampire skill tree structure and UI positions.
* Add vampire hypnosis skill and rebalance vampire content
Introduces the Hypnosys vampire skill and associated spell, including new status effects and alerts for forced sleep. Adjusts vampire skill tree progression, rebalances bite spell effects, modifies construction recipes to use stone instead of iron, and updates entity drop behaviors. Also tweaks skill point defaults and hunger/thirst effect order for plant growth spells.
* Adjust hunger settings and map spawner modifiers
Removed baseDecayRate and starvationDamage from Hunger components for NightChildrens, Devourers, and Unnameable in subgamemodes.yml. Updated comoss.yml and venicialis.yml to replace or add spawner modifiers, introducing Boar and Rabbits while removing EnemyFlem, MonsterMosquito, and MobSlimeIce.
* Add SSD block to magic system and vampire bite spell
Introduced CP14MagicEffectSSDBlockComponent to prevent magic use on SSD (disconnected) players. Updated the magic system to check for SSD status and added localization strings for SSD block messages in English and Russian. Applied the SSD block effect to the vampire bite spell. Also fixed a typo in the PacifiedBlockComponent filename.
* Make blood reagents unrecognizable and adjust effects
Set all blood reagent variants to 'recognizable: false' to prevent easy identification. Simplified and unified damage effects for blood reagents, removing some specific reactions and adjusting damage groups, particularly for vampire-related blood types. Also fixed a duplicate 'allowedStates' key in the vampire bite spell action.
* Enable map initialization and clean up power punch spell
Changed map creation in Demiplane and CrashToWildlands systems to run map initialization by setting runMapInit to true. Removed redundant map initialization check in CP14SpawnProceduralLocationJob. Also removed the CP14ActionSpellVampirePower2 entity from the vampire power punch spell prototype.
* vampire returns + transformstions redo
* carcat fangs fix + greetings music update
* vampire skill trees
* Blood essence gathering
Introduces the vampire blood essence mechanic, including the CP14SpellVampireGatherEssence spell, new skill point consumable component, and related UI/localization updates. Adds clientside effects for spell casting, new vampire skill and action, and refines skill point gain/loss popups. Also restructures vampire components, updates spell logic for client/server prediction, and removes unused parallax files.
* perma damage
* Add skill point cost to magic system and vampire essence spell
Introduced CP14MagicEffectSkillPointCostComponent to allow magic effects to consume skill points. Updated the shared magic system to handle skill point checks and consumption. Added a new vampire spell for creating blood essence, including new icons and localization. Adjusted vampire component to grant and remove skill points, and updated related skill tree and spell prototypes. Minor fixes and refactoring in spell logic and descriptions.
* blood step + blood vision skills
* vampire clans icons
* 50 players limit + vampire objectives
* fixes
* devourers altar transmutation
* Remove StealTarget component from animal, dino, and mole NPCs
The StealTarget component and associated stealGroup were removed from boar, dinosaur, and mole NPC definitions. This likely disables these entities from being targeted for stealing, possibly to adjust gameplay balance or fix unintended behavior.
* fix
* essence creation improve
* altars
* voice masks
* transmutation fix
* teleportation glyph
* crimson candles
* candle crafting
* fix pointer predictions
* Add Vampire Clan Battle gamemode and update vampire roles
Introduces the 'Vampire Clan Battle' gamemode with new localization in English and Russian, updated game preset definitions, and secret weights. Refactors vampire antagonist briefings and objectives for multiple clans, adjusts vampire role preferences and team settings, and reduces the damage of the Vampire Gather Essence spell. Also includes minor improvements to spell and game mode descriptions, and corrects file naming for game preset locales.
* powerful kicks in
* time gates + vampire tree
* vampire proto faction
* fix
* fixes
* tree progression
* search enemy
* Update CP14SharedVampireSystem.cs
* blood essence gathering redo
* essence gathering refactor 2
* blood healing
* Update secret_weights.yml
* tree planting
* boodgrass
* tree upgrade announcement
* construction graph integration
* delete transmutation system
* workbench crafting returns
* cloaks crafting + cloak invisibility
* make vampire tree is generic red tree (sad)
* clan heart sprite
* Refactor vampire tree to clan heart system
Replaces the CP14VampireTreeComponent with CP14VampireClanHeartComponent, updating all related logic, appearance, and localization. Adjusts skill requirements, examination, and level progression to use the new clan heart system. Updates entity prototypes, visuals, and adds new orb sprites for clan heart levels. Localization strings and logic are updated to reflect the new terminology and mechanics.
* Update SpeciesBlacklist.cs
* Refactor vampire clan heart and remove tree spell
Refactored the vampire clan heart to support essence regeneration over time and adjusted level thresholds. Removed the vampire tree planting spell and related prototype fields, as well as unused tree system code. Updated localization, entity prototypes, and faction definitions to reflect these changes.
* Add clan heart construction for vampire clans
Introduces construction graphs, entities, and conditions for building unique clan hearts for each vampire clan (Unnameable, Devourers, NightChildrens). Adds new construction conditions (all clan vampires required, singleton enforcement), updates skill tree to unlock constructions, and removes the now-obsolete CP14MagicEffectAllVampireClanRequiredComponent. Also adds new frame sprites and updates localization and prototype files accordingly.
* level up vfx
* VFX + lobby track
* orb resprite
* sprites
* Add vampire altar mechanics and improve clan heart behavior
Introduces the CP14VampireAltarComponent and altar entity, which doubles blood essence extraction when victims are strapped to the altar. Adds a custom explosion behavior for vampire clan hearts upon destruction, updates construction graphs and recipes for altars, and improves localization. Also refines skill description handling and adjusts vampire bite action text.
* essence get when heart destruction
* Add clan heart damage and destruction announcements
Introduces announcements for when a vampire clan heart is damaged or destroyed, with cooldown to prevent spam. Refactors examination logic and updates localization files for both English and Russian to support new messages and sender formatting.
* glyph adaptation
* resurrection
* Add round end summary for Vampire Clan Battles
Implemented detailed round end text for the Vampire Clan Battles game mode, displaying victory, defeat, or draw outcomes based on surviving factions and population percentage. Refactored alive player percentage logic into a shared method and updated localization files with new outcome messages in English and Russian. Also removed an unused field from the defence condition component.
* Update vampire_cloak.yml
* fix
* fix
* Update portal_glyph.yml
* Add Crash to Windlands survival gamemode and map
Introduces the CP14CrashToWindlandsRule and its component for a new survival gamemode where a ship crashes into wildlands. Adds the 'nautilus_ship' map, updates English and Russian locale files with new gamemode titles and descriptions, and modifies relevant prototype and map pool files to support the new mode.
* fix FTL map
* firebombing is real
* fix biome dungen all grid overriding
* Update PostMapInitTest.cs
* Update DungeonJob.CP14Biome.cs
* Refactor demiplane generation and crash rules
Replaces the old demiplane job system with a new procedural location generation system (CP14LocationGenerationSystem and CP14SpawnProceduralLocationJob). Splits the crash-to-windlands rule into CP14CrashingShipRule (handles explosions) and CP14ExpeditionToWindlandsRule (handles map generation and FTL), with corresponding new components. Updates roundstart game rule prototype and moves/renames several files for clarity and modularity.
* Refactor location generation to support optional seed and position
Updated the GenerateLocation method to accept an optional seed and position, defaulting to a random seed if none is provided. Adjusted all call sites and the procedural job to support these changes, improving flexibility and consistency in procedural location generation.
* procedural integration into game map
* Demiplanes deletion
* clear demiplane content
* remapping procedural + frigid coast deletion
* clear demiplane guidebook
* dungeons generations
* Refactor procedural location configs and add ComossIsland
Consolidated and renamed procedural location and dungeonConfig prototypes for demiplane locations, replacing T1-prefixed and legacy IDs with new, consistent names. Updated map YAMLs to reference new location IDs and configs. Added a new ComossIsland location and dungeonConfig. Refactored code to support passing custom dungeon layers and removed unused ExamineProb field from CP14ProceduralLocationPrototype.
* Enhance procedural world gen and location configs
Improved procedural world generation by adding location generation probability, adjusting level ranges, and refining modifier uniqueness. Updated CP14ProceduralLocationPrototype and CP14ProceduralModifierPrototype, refactored node data generation logic, and made related test and map changes. Added new venicialis_fort station map and updated several procedural location and modifier YAMLs for consistency.
* fix
* connections room spawners
* track finishing global world generation
* real connection
* Update PostMapInitTest.cs
* Update venicialis.yml
* Update venicialis.yml
* fix raids, decrease city island sizes
* Update migration.yml
* Update migration.yml
* fix shutdowning
* Update CP14SpawnProceduralLocationJob.cs
Simplified UpdateVisuals method in CP14ClientCookingSystem by consolidating parameters and using component fields directly. Also ensured FoodData field is dirtied after updating visuals in CP14SharedCookingSystem to trigger proper synchronization.
* Refactor skill points to support multiple types
Reworked the skill point system to support multiple types (e.g., Memory, Blood) instead of a single experience cap. Added CP14SkillPointPrototype, updated skill storage and UI to handle per-type points, and adjusted related logic and prototypes. Updated localization and assets to reflect these changes.
* oopsie
* Update human.yml
* Update CP14SkillUIController.cs
* Refactor skill storage to use skillPoints config
Replaced 'experienceMaxCap: 0' with 'skillPoints: Memory: max: 0' in Skeletons T1, T2, and undead mob prototypes. This change standardizes skill storage configuration and improves clarity.
* enum -> prototype
* move sprites
* more dirt sprites
* some food data stucking fixing
* pumpkin fix
* pie move sprites
* refactor components
* pie refactor
* remove outdated proto
* new pie types
* Update SliceableFoodSystem.cs
* Refactor food cooking system and add fat flavor
Added 'Fat' to the flavor profile. Refactored food cooking logic to use CreateFoodData and UpdateFoodDataVisuals instead of CookFood and ApplyFoodVisuals. Introduced RenameCooker property to CP14FoodCookerComponent to control entity renaming during cooking. Improved separation of food data creation and visual updates.
* Update migration.yml
* Refactor food visual and sliceable logic in cooking system
Moved sliceable food logic from OnCookFinished to UpdateFoodDataVisuals for better encapsulation. Made UpdateFoodDataVisuals overridable and updated its usage in random food initialization. Added Rename field to CP14RandomFoodDataComponent and cleaned up unused BecomeSliceable field in CP14FoodCookerComponent. Updated pie_pan.yml to add SliceableFood and a new random food entity.
* Update pie_pan.yml
* fill levels
* Update shield.yml
* Add soup bowls
Introduced new bowl entities (wooden, iron, gold, copper) for soups, including their sprites and prototype definitions. Added 'Soup' to the CP14FoodType enum and updated the food holder logic. Removed the unused CP14Plate tag from plate.yml and misc.yml.
* Add misc soup ingredient sprites and metadata
Introduced new 32x32 sprites for various soup ingredients, including flyagaric, flylumish, lumish, meat, meat2, meat_salad, mole, mud, pumpkin, sawdust, trash, and veg_stew. Added corresponding meta.json with state definitions and licensing information.
* veg soup recipe for testing
* soup displacement maps
* meal displacement eating
* fix double cookin plates
* soup cooking
* Update cooking_pot.yml
* Refactor solution handling for cooking and containers
Updated solution component names and types for cooking pots, bowls, buckets, barrels, and wells to improve consistency and functionality. Added and removed solution-related components, adjusted transfer logic, and cleaned up unused solution states and visual metadata. Also added food type checks in cooking system to prevent incorrect transfers.
* new soup recipes
* Unit test
* fix
* trading requests
* Update CP14Cooking.cs
* Update CP14Cooking.cs
* audio improve, egg and bread fix
* fix bugs
* integration
* frying pan start
* fix data saving
* Refactor cooking system and add localization support
Refactored food data handling in the cooking system to use Visuals instead of FoodData on holders, improved food transfer logic, and added popups and examine messages for user feedback. Added English and Russian localization files for cooking examine and meal descriptions, and updated prototype files to increase plate solution volume and add a whitelist for the cooking furnace.
* Refactor cooking system solution handling
Removed Solution field from CP14FoodData and updated CP14SharedCookingSystem to use solution containers directly. Improved solution transfer, mixing, and overflow handling during cooking. Increased pan max volume from 30 to 100 in cooking_furnace.yml.
* Improve cooking system trash handling and update food sprites
Enhanced trash distribution in CP14SharedCookingSystem to randomly assign trash to plates, only adding all trash to the last plate. Updated meat_dish and salad prototypes to use new wooden plate sprites. Added wideAnimationRotation and DrainableSolution to cooking_furnace for improved functionality.
* Remove unused usings and redundant comments in cooking components
Cleaned up CP14 cooking-related components by removing unused using directives and empty XML comments. This improves code readability and maintainability.
* Add tag-based cooking requirements and new meal recipes
Introduces tag-based cooking requirement classes (TagRequired, TagBlocked, SolutionRequired) and updates the cooking system to support tag checks. Adds new tags for food items, updates food and meal prototypes to include relevant tags, and implements new meal recipes (Zellasian Breakfast, Monster Egg) with corresponding sprites and localization. Also refactors and renames some tag and structure prototype files for better organization.
* Refactor and expand CP14 cooking recipes and tags
Reworked meal recipes to use tag-based requirements, added new tags for food categorization (meat, cheese, vegetables, etc.), and removed hardcoded entity recipes for ham in cheese and stuffed potato. Updated and added new meal recipes (bread plate, ham in cheese, stuffed potato), localized their names and descriptions, and migrated/added corresponding sprites. Deprecated SolutionRequired requirement, cleaned up unused tags, and improved TagRequired/TagBlocked logic. Updated prototype files to use new tags and added missing tags to food entities.
* Refactor and expand green salad recipes and assets
Replaces the old green salad entity and workbench recipe with new cooking recipes for green salad and green salad with meat. Updates English and Russian localization, moves and adds new salad textures, and removes obsolete salad assets and trading request.
* mashed potatoes
* Add mashed potatoes with herbs meal
Introduced a new 'mashed potatoes with herbs' meal, including English and Russian localization, recipe definition, and associated sprite. Updated the texture metadata and added the new image asset.
* Update dye.yml
* Fix frying pan item size and update plate recipe
Moved the 'size: Ginormous' property to the correct component in frying_pen.yml. Renamed the plate recipe and result from 'CP14Plate' to 'CP14PlateWooden' in misc.yml for clarity.
* Update meals.yml
* Update migration.yml
* fixes
* fix heating food sounds
* Nyranu temperature transmission
* Update plate.yml
* Cooking DoAfter works
* burning logic
* cooking more work
* auto transform transformable
* Update CP14SharedCookingSystem.DoAfter.cs
* cool burning visuals!
* Add MIT license headers to cooking system files
Added sublicensing notice and MIT license header to all files in the CP14 cooking system. Also made minor code cleanups, such as removing unnecessary default initializations and improving XML documentation for clarity.
* constant heating required
* cooking visuals improve!
* sandwiches with processed cheese + reagent burnt fuckuping
* inhand pan sprites + FIRE fuckup
* crafting & buying pan
* fix predicting
* random food spawner + chef closet
* mapping update
* Update frying_pen.yml
* move WIP to blacksmith lol
* Add platform markup to trading platform prices
Introduces a PlatformMarkupProcent field to CP14TradingPlatformComponent and applies it to price calculations in both client and server logic. Adds a new public trading platform entity with a higher markup and updates related sprites and metadata.
* Add platform markup percent to selling platforms
Introduces a PlatformMarkupProcent field to CP14SellingPlatformComponent, allowing selling platforms to apply a markup or markdown to item prices. Updates server logic to use this value when calculating payouts and UI state. Adds a new public selling platform entity with a lower markup in the trade_platform.yml prototype.
* Add Brad Potions trading requests prototype
Introduces a new YAML prototype defining multiple cp14TradingRequest entries for the BradPotions faction, each specifying requirements for various potion effects with minimum purity and amount.
* Apply platform markup to selling prices and payouts
Updated the selling request control and platform window to factor in the platform's markup percentage when displaying prices. Adjusted the server-side payout logic to multiply the payout by the platform markup percentage, ensuring consistency between client display and server rewards.
* replace mapping to public platforms
* bug + remove eepy potions request
* Clarify purity requirement in workbench reagent text
Updated the reagent requirement string in both English and Russian locale files to indicate that the required purity is '{$purity}%+' instead of just '{$purity}%'. This clarifies that the purity must be at least the specified percentage.
* solutionResource
* fuck research system + QoL workbench update
* colorful quartz returns
* Refactor workbench skill requirements handling
Replaces the SkillRequired requirement with a direct RequiredSkills field on CP14WorkbenchRecipePrototype. Updates client and server logic to check skills directly, simplifying recipe skill checks and related UI logic.
* Initial commit
Add initial project files and setup.
* Add investigator's cloak entity and sprites
Introduced a new investigator's cloak for senior investigators, including its entity definition and associated sprites. Also updated helmet sprites for the guard role.
* Add Investigator job to CP14 roles and assets
Introduces the Investigator job, including English and Russian localization, job prototype, loadout, play time tracker, and status icon. Updates department and role loadout configurations to include the new job. Enables setPreference for Guard and Guard Commander jobs. Adds Investigator job icon and updates related metadata.
* Rebalance mana splitting spell parameters
Reduced mana cost from 15 to 10, adjusted mana change effect, and updated spell event to use a toggleable action with new cast time and distance threshold. Also changed visual effect colors for the spell impact.
* job spawner
* remove mana splitting from mana glove
* Update tools.yml
* reduce memory points to 0.5 for tier magics
* Add CP14 spell to create beams and extend beam system
Introduces CP14SpellCreateBeam, a new spell effect for creating beams using the shared beam system. Adds a virtual TryCreateBeam method to SharedBeamSystem and overrides it in BeamSystem to support shared spell functionality.
* athletic branch refactor
* second wind skill
* minor fixes
* remove skeletons specific spells
* small magic splitting
* Update migration.yml
* clear references
* guidebook species update, -0.5 people memory, innate athletic to carcat, nerf night vision
* disable guards again