* crossing the pond
* share some station records
* share some criminal records
* single system
* comments
* minor touchups
* I always forget this part
* requested changes
* revert predicted spawn
* requested changes
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
* Content - change the (should-be-obsolete) DisposeAllChildren into the more robust RemoveAllChildren.
* Remove duplicate calls.
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Many newer overlays use IRenderTextures that are sized to the rendered viewport. This was completely broken, because a single viewport can be rendered on multiple viewports in a single frame.
The end result of this was that in the better case, constant render targets were allocated and freed, which is extremely inefficient. In the worse case, many of these overlays completely failed to Dispose() their render targets, leading to *extremely* swift VRAM OOMs.
This fixes all the overlays to properly cache resources per viewport. This uses new engine functionality, so it requires engine master.
This is still a pretty lousy way to do GPU resource management but, well, anything better needs a render graph, so...
* 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>
* Initial commit
* Fixing merge conflict
* Merge conflict fixed
* Anchorable entities can now be marked as 'unanchorable'
* Revert "Anchorable entities can now be marked as 'unanchorable'"
This reverts commit 6a502e62a703cf06bd36ed3bdefe655fc074cfc5
This functionality will be made into a separate PR
* Error sprite
* Update AI core appearance with sustained damage, spawn scrap on destroyed
* Added intellicard sprite
* AI damage overlays
* Added fixtures
* AI core accent changes when damaged or low on power
* Bug fix and pop up messages for inserting AIs into inoperable cores
* Updated 'dead' sprite
* Destroying the AI core reduces the number of AI job slots available
* AI battery duration set to 10 minutes
* Initial commit
* Allow MMIs used in the construction of AI cores to take them over
* Initial resources commit
* Initial code commit
* Sprite update
* Bug fixes and updates
* Basic console UI
* Code refactor
* Added lock screen
* Added all outstanding UI features
* Added purge sprites
* Better appearance handling
* Fixed issue with purge sprite
* Finalized UI design
* Major components finalized
* Bit of clean up
* Removed some code that was used for testing
* Tweaked some text
* Removed extra space
* Added the circuitboard to the RD's locker
* Addressed reviewer comments plus tweaks
* Addressed reviewer comments plus tweaks
* Removed instances of granular damage
* Various improvements
* Removed testing code
* Fixed issue with disabled buttons
* Finalized code
* Addressed review comments
* Added a spare Station AI core electronics to the research director's locker
* Fixing build failure
* Addressed review comments
* Addressed review comments
* Added reverse path for construction graph
* Removed unneeded reference
* Parts can be purchased through cargo
* Fixing merge conflict
* Merge conflict resolved
* Fixing merge conflict
* Code update
* Code updates
* Increased AI core health and gave it a sell price to fix test fail
* Added screen static sprite
* Added better support for ghosted AI players plus code tweaks
* Various improvements and clean up
* Increased purge duration to 60 seconds
* Fixed needless complication
* Addressed reviewer comments part 1
* Addressed reviewer comments part 2
* Further fixes
* Trying lower battery values to see if it fixes the test fail
* Adjusted power values again
* Addressed review comments
* Addressed review comments
* Fixed test fail
* Fixed bug with endless rebooting. Using rejuvenation on an AI core revives the AI inside.
* Added pop up text
* Bug fix
* Tweaks and fixes
* Fixed restoration console not updating when the AI finishes rebooting
* Update SharedStationAiSystem.Held.cs
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
* move all the radio components and system to Shared.
* duh split impl
* address reviews
* cleanup
---------
Co-authored-by: walksanatora <walkerffo22@gmail.com>
* Fix usages of TryIndex()
Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)
This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)
This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.
Fixes#39115
Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.
* fix tests
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Revert "Disable vulpkanin human hair (#40144)"
This reverts commit d02aa1a4e2.
* You can once again shave your pet Vulp
* I can see the ass, I'm safe
* Rectified docstring as I am a good person
* I am doing this instead of playing Silksong please help
* Fix forgetting to re-add shader overriding
* delete all modular content
* clean up
* Update guard.yml
* spear first pass
* Add imperial two-handed sword and update spear
Introduces the imperial two-handed sword with new sprites, prototype, and animations. Refines spear configuration: adjusts damage, animation, and offsets, and updates its sprites and prototype to use a new resource path. Improves melee weapon animation logic for both thrust and slash attacks.
* neck displacement
* Update neck.png
* Update migration.yml
* dagger
* Add sword prototype and refactor melee weapon swing logic
Introduces a new sword entity and associated textures. Refactors melee weapon swing logic by renaming SwingLeft to CPSwingLeft and updating related code. Adjusts animation offsets and rotation values for daggers, spears, and two-handed swords. Moves and updates dagger texture assets to a new directory structure.
* hatchet
* sickle
* Add skimitar sword entity and sprites
Introduced a new 'skimitar' sword entity with description and associated sprite assets, including icon, in-hand, and equipped states. Also updated the imperial sword's name and description for clarity.
* Add rapier weapon and adjust melee weapon balance
Introduced the imperial rapier weapon with associated prototype and textures. Increased the default single-target melee damage modifier to 1.3 and removed per-weapon clickDamageModifier overrides from dagger, spear, sword, and two-handed sword. Also increased sword base damage to 10 for better balance.
* Add iron tool/weapon variants and update wall thresholds
Introduces iron variants for pickaxe, shovel, dagger, rapier, spear, sword, and two-handed sword, including new sprites and YAML prototypes. Adjusts wall and ore vein damage thresholds for destruction and sound triggers. Updates migration.yml to map modular iron weapons to new iron variants and spawns stone blocks on stonebrick wall breakage. Also refactors dagger textures to use an 'iron' directory.
* Refactor ice dagger and adjust blacksmith skills
Replaced CP14IceDagger with CP14WeaponDaggerIce, updating its parent, stats, and components for consistency. Adjusted base dagger damage types. Blacksmith job and related melting skills are now commented out or disabled, reflecting a change in skill progression and job setup.
* Update ice_dagger.yml
* Deprecate sword mastery skills and update melee swing logic
Commented out SwordMastery, RapierMastery, and SkimitarMastery skills and removed their assignment from guard and artisan job prototypes. Renamed CPSwingLeft to SwingLeft in melee weapon code for clarity and updated related logic.
* Remove requiredSkills from anvil and furnace recipes
Eliminated the 'requiredSkills' field from all recipes in Anvil/misc.yml and furnace.yml. This simplifies recipe definitions and removes skill prerequisites for crafting these items.
* Update guard_commander.yml
* Comment out freeLearnedSkills for T1 and T2 skeletons
Disabled the freeLearnedSkills entries, including SwordMastery and SkimitarMastery, in both T1 and T2 DemiplaneAntag skeleton YAML prototypes. This change may be for balancing or testing purposes.
* Update migration.yml
* Update migration.yml
* guidebook
* r
* spear passive + hammer passive
* tool hammer + skimitar refactor
* balance tweak
* kick nerf
* TOWER DEFENCE UPDATE
* default shield refactor
* buckler (only sprites)
* Update migration.yml
* buckler parry
* some fixes
* Update T2.yml
* Update T2.yml
* Update instruments.yml
* Update migration.yml
* M O P
* war axe
* Update migration.yml
* Keen Eye skill
* arrows + bow + loadouts
* Update tools.yml
* trading
* fix
* Update misc.yml
* Update migration.yml
* alert cleanup and API
* I expect update loops to be at the top.
* Address review
* Address review x 2
* Merg my PR
* Fix
* Update Content.Shared/Alert/AlertsSystem.cs
webedit
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
* FIX THAT TEST FAIL!!!!
* Me when I forget to actually give you alerts
* Hammedborgar
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
This prevents the volume and temperature labels from changing width when the value lands on integer values, making the text easier to read.
Co-authored-by: opl <4833621+opl@users.noreply.github.com>