Ghost types (space-wizards/space-station-14#37949)
* Empty commit
* yeah thingi
* added a GetHighestDamageTypes thingi to the DamageableSystem
* no idea why those files names are different only in github so just in case readding them
* yeah doing that
* first steps of moving the logic somewhere nicer
* still plenty to do
* gosh such a mess but getting progress done
* small fixie push
* big mess of bunch of stuff
* dealing with a conflict and fixing the random numbers
* testing if github will update now
* dealing with the other conflict
* github please update i beg you
* dealing with more conflicts
* hopefully this fixes it
* fixing conflicts again
* cleaning up stuffies
* sprite fixie
* general cleanup
* doing the small fixies first
* getting rid of the new event, gotta handle ashing next
* adding spaces to comments before i forget
* handling ashing
* think that did it?
* small fixies
* more small fixies
* last batch of quickie fixies before i gotta handle the bigger stuff
* last bunch of fixies i do understand
* small bit of progress yknow may as well yeah
* renaming and moving stuff to shared
* comment fixiees
* saving damage in a new component instead of in MindComponent
* protoid's and dict usage instead of the previously ickier methods
* small fixie before biggie fixie
* more fixies im slepy gosh
* thinkie that should fixie it
* smoothed the damage storage systeem so its less repetitive and icki and now itss cooler and i can go eepy
* lots of stuffies x3
* first step of getting git to detect my file name changes
* thinkie that should fixie it
* fixies
* just getting rid of the merge conflict, will check damageable later
* small thingies first
* more small stuffiees
* now all of the sprites have at leeast a 0
* dirtying the lastbody comp
* more fixies
* small thingi first
* another small fixie and a minor sprite fixie
* rng fixie
* moving the damage storage system to shared
* smoothing out code thats likely to be replaced soon but its good to do for now
* just showing progress bcus yis
* general progress stuffies mhm
* pushie
* small cleanup
* general progress :3
* in progress push for helpie
* proper pushie with progress and workies
* removed unnecessary usage of the storedamage component
* minor fixiees
* extra comments
* replaced a couple strings for ProtoId's
* gibbing related fixies :3
Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>
Co-authored-by: Thinbug <101073555+Thinbug0@users.noreply.github.com>
* Update DamageableSystem to modern standards
* DamageContainerId -> DamageContainerID with lint flag
* Replace strings with protoids
* Make CVar subscription declarations all consistently whitespaced
* ChangeDamage -> TryChangeDamage, cope with C# jank
* Revert event signature changes
* Restore a comment
* Re-add two queries
* Init the queries
* Use appearanceQuery in DamageChanged
* Use damageableQuery in TryChangeDamage
* Use damageableQuery in SetDamageModifierSetId
* Final cleanup, fix sandboxing
* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage
* Re-organize DamageableSystem
* first big fuck you breaking change.
* THATS A LOT OF DAMAGE!!!
* Fix test fails
* test fixes 2
* push it
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Clean up some parts of ExplosionSystem
* Update Content.Shared/Damage/DamageSpecifier.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.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>
* Fix the sensor monitoring console forcing a GC every 3 seconds (#38146)
* Optimize sensor monitoring window graph drawing
* Add shared static Vector2 pool for all GraphView instances
* Address requested changes
* remove lock
* Update submodule to 264.0.0 (#38629)
* Toy/Plushie Inhands and Wearables (#38514)
* Fixed dependency injection and some other issues in a few places.
* More issue fixes
* patchfor broken NetworkConfiguratorLinkMenu (#38632)
fix
* Fix solutions flickering when transferring contents (#34838)
* Use Solution clones when applying SolutionComponent states
* Revert "Use Solution clones when applying SolutionComponent states"
This reverts commit 013fd111cf92b22562e00f98a7aaa49bc4b4ed62.
* Make Solution implement ICloneable and rename Clone method.
* Copy CanReact value when cloning a Solution
* Convert to IRobustCloneable
* Fix typos in guidebook: Buisness → Business (#38636)
* Fix typo in `MinorAntagonists.xml`
Buisness → Business
* Fix typo in `YourFirstCharacter.xml`
Buisness → Business
* Various Headphones Fixes and Tweaks (#38479)
* sprites, wearables
* neck
* icon-on sprite
* Cleanup prototype instantiation in `DamageTest` (#38639)
Cleanup prototype instantiation in DamageTest
* Cleanup prototype instantiation in `ExplosionSystem` (#38642)
Cleanup prototype instantiation in ExplosionSystem
* AddBodyPartCommand localization. (#38612)
commit
* fix ItemSlotsSystem debug assert (#38655)
* Allow the Command & Super door remotes to use the access of their user. (Re-creation of PR due to changes to game balance) (#35536)
* Added directional beacons (#38284)
* Added directional beacons
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* Fixed names
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
---------
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* Power stat and nuke codes commands get some LEC love. (#38585)
* commit
* requested changes.
* Dsay Dirty and Follow commands converted to LEC and localized. (#38666)
* commit
* whoopwhoopwhoop
* Retro laser sprite fix (#38676)
* Fixed everything except the icon
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* fixed icon
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
---------
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* fix water coolers (#38681)
* Monochromacy typo fix (#38686)
* fixes the typo
* Fixed cloning looking for the trait, not the component, RE https://github.com/space-wizards/space-station-14/pull/38686#issuecomment-3025093504
* Apply suggestions from code review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Validate `CloningSettingsPrototype`s (#38688)
* Validate CloningSettingsPrototypes
* Update Content.IntegrationTests/Tests/Cloning/CloningSettingsPrototypeTest.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Check EventComponents too
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add test of objective-related console commands (#36400)
* Add test of objective add/list/remove commands
* Not sure why we're validating test prototypes, but sure
* We don't need a map
* Improvements and fixups for New Status Effect API (#38660)
* Predict healing and bloodstream (#38690)
* initial commit
* reapply 38126
* fix rootable
* someone missed an important minus sign here
* try this
* fix
* fix
* reenable crit hits
* cleanup
* fix status time dirtying
* fix
* camelCase
* Healing and bloodstream prediction fixes.
* Resolving Wizard casting recall on nuke disk making it impossible to disarm (#38661)
* Resolving Wizard Recall on Nuke disk making it impossible to disarm
- Adding a DisarmBomb case to nuke status update loop
- Changing a few methods and parameters to properly follow formatting standards
- Updating some names to follow camelCase
* Updating missed tag
* Reverting DataField change
Should prevent this preventative bugfix being a breaking change.
* Switch HSV to the default colorspace for character customization (#38434)
* Made HSV default for character editor
* Adds/fixes comments to HSV defaulting
* Added dropbox fix, potentially cursed
* Revert "Added dropbox fix, potentially cursed"
This reverts commit a709883366fbee813e839742125e70844672af29.
---------
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
* Fix: Don't deploy foldables when clicking on items inside containers (#38709)
* Fix
* Apply suggestions from code review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Pressure Relief Valve (#36708)
* initial system (this math is probably WRONG)
* General code cleanup and OnExamined support
(holy moly this code sucks)
* UICode and related events foundation
TODO:
- Actually write the XAML UI and the underlying system
- Un-shitcode the entire thing
- Actually test everything...
* Working UI code
TODO: Make predicted, as this certainly isn't predicted. Even though I said it was. It isn't.
* Remove one TODO for unshitcoding the examine code
* Add reminder
yea
* Make predicted (defenitely isn't)
(also defenitely isn't a copypaste from pressure pump code)
* It's predicted!
TODO:
- Give it snazzy predicted visuals!
- Have a different field for pressure entry, lest it gets bulldozed every UI update.
* Improve gas pressure relief valve UI
TODO: Reminder to reduce amount of dirties using deltafields
* Implement DirtyField prediction
* Entity<T> cleanup
A lot of Entity<T> conversions and lukewarm cleanup.
Also got caught copy pasting code in 4K UHD but it's not like you couldn't tell.
* More cleanup and comments
* Remove TODO comment on bulldozing window title
* """refactoring"""
- Move appearance out of shared and finally fix it. Pointless to predict appearance in this instance.
- More Entity<T> conversions because I like them.
- Move UI creation handling over entirely to the ActivatableUI system.
- Fix a hardcoded locale string (why????).
* Add visuals
* Revert debugging variable replacememt
yea
* Revert skissue
* Remove unused using directives and remove TODO
* Localize, cleanup, document
* Fix adminlogging discrepancy
* Add ability to construct, add guidebook entry
* Clear up comment
* Add guidebook tooltip to valve
* Convert GasPressureReliefValveBoundUserInterface declaration into primary constructor
* Adds more input handling and adds autofill on open
* Un-deepfry input validator shitcode
Genuinely what was I smoking
* improve visuals logic
* Refactor again
- Update math to the correct implementation
- Moved code that could be re-used in the future into a helper method under AtmosphereSystem.Gases.cs
* I'm sorry but I hate warnings
* Remove unused using directive in AtmosphereSystem.Gases.cs
* Review and cleanup
* Lukewarm UI glossup
* Maintainer for the upstream project btw
* Remove redundant state sets and messy logic
* Unduplicate valve updater code
* Redo UI (im sorry Slarti)
* run tests
* Test refactored UI messaging
* Second round of UI improvements
- God please find a way to improve this system. Feels bad.
* Update loop implementation
* Further predict UI
* Clear up SetToCurrentThreshold
* cleanup
* Update to master + pipe layers and bug fixes
want to run tests
* fixes
* Deploy rename pipebomb
* Documentation and requested changes
* Rename the method that wiggled away
* Undo rounding changes
* Fix comment
* Rename and cleanup
* Apply suggestions from code review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Fix TextLinkTag (#32203)
* Adjust uplink buy button to be under item icon (#38596)
* Adjusted uplink buy button to be under item icon
* Put the discount subtext under the icon
* Indent fixes, added margin
---------
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
* Scurrets - Audio Improvements (#38482)
* Scurret audio tuning
* Add new sfx
* Update sneezing sfx
* YAML support
* Rename a folder
* make telesci wreck easier (#37569)
rel
* Validate `ShaderPrototype` IDs (#38728)
* Convert all shader prototype string literals to protoids in overlays
* Convert more shader prototype literal strings to protoids
* Convert ValidatePrototypeId to ProtoId
* Later
* [BUGFIX] Fixed revenant malfunction ability not working properly only MediBots and Stasis bed (#38664)
* fixed
* clean up
* orks fix smart
* review fix 1
* more requested changes
* less cursed
* more descriptive description
* better wording
* Tiny Tiny Cleanup of the EyeClosingSystem. (#38734)
Update EyeClosingSystem.cs
* Fix human skin tone distribution (#38701)
* fix: Use PredictedQueueDel for gib spell (#38729)
* fix: don't default to uncharged sprite state for cells (#38730)
* Fix Hristov description - remove inaccurate technical specs (#38746)
- Removes inaccurate 'armor piercing 14.5mm shells' reference
- Replaces it with a more funny description, matching the style of the other snipers and guns
- Keeps ammunition type '.60 anti-materiel ammo' specification
- Fixes issue #38590
Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>
* feat: allow mopping evaporating puddles (#38743)
* Validate remaining `ProtoId` strings (#38747)
Validate remaining ProtoId strings
* Validate `ProtoId`s in tests (#38745)
* Convert string literals to protoids in Content.Tests
* Convert string literals to protoids or consts in Content.IntegrationTests
* Fix linter failures
Tricksy static using misled me
* Cleanup warning in StomachSystem (#38748)
you did not see this
* Vox scars (#38592)
* Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl
* Revert "Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl"
This reverts commit c73da55ba3b39ddf93b493aecd85604c54dd8a15.
* locale key fix
* Changed top surgery scar names to be more generalized
* Adjusted face scars
* Formatting fixes
---------
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
* UnlockNode command to LEC. (#38751)
* commit
* Update UnlockNodeCommand.cs
* commit
* move command locale to its own file.
* Update Content.Server/Xenoarchaeology/Artifact/UnlockNodeCommand.cs
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Typofixes for figurine dialogue (#38737)
* Typofixes for figurine dialogue
* Forgot two
* Janitor Tool: Wire Brush (#38667)
* Wow! It's -brush-
* spacing.
* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* fixed changes
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Minor escape menu UX improvements (#38650)
* fix: spellbooks can have infinite charges (#38376)
* fix: spellbooks can have infinite charges
* refactor: indicate infinite spellbook charges with null
Not sure if I like this much better...
* Fix EvenHealing on bodyParts (#1469)
<!-- Guidelines:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
<!-- NOTE: All code submitted to this repository is ALWAYS licensed
under the AGPL-3.0-or-later license.
The REUSE Specification headers or separate .license files indicate a
secondary license (e.g., MPL or MIT) solely to facilitate
integration for projects that do not use the AGPL license. This
secondary license does not replace the fact that AGPL-3.0-or-later
remains the primary and binding license.
Uncomment and modify the following line if you wish to change the
license from the default of AGPL.-->
<!--- LICENSE: AGPL -->
<!-- What did you change? -->
Fixed EvenHealing not working on limb damage when there was no general
damage.
<!-- Discuss how this would affect game balance or explain why it was
changed. Link any relevant discussions or issues. -->
When you had a massively burned victim, healing them via aloxadone would
heal their general damage, and each limb profited half of that general
healing.
However, as soon as the general damage was healed, Aloxadone wasn't
outputting any healing anymore, since even healing is dependent on
damage types on the general damage - And thus, with no healing, the
limbs couldn't benefit anymore.
This is wrong. I fixed it.
<!-- Summary of code changes for easier review. -->
Separated the healing of the general damage and limb damage, they are
independent of each other.
Healing General Damage won't heal limb damage and vice versa.
Added a way to heal each limb specifically.
I tested it thoroughly, and generally, it worked. Either with multiple
different damage types, or just one. Multiple damage parts, or just one.
Very much encourage to find a more elegant technical solution.
<!-- Attach media if the PR makes ingame changes (clothing, items,
features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress
reports with credit. -->
I can't do videos, but videos would be required. Please try it out
yourself.
<!-- Confirm the following by placing an X in the brackets [X]: -->
- [X] I have read and am following the [Pull Request and Changelog
Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
- [X] I have added media to this PR or it does not require an ingame
showcase.
- [X] I can confirm this PR contains no AI-generated content, and did
not use any AI-generated content.
<!-- You should understand that not following the above may get your PR
closed at maintainer’s discretion -->
<!-- List any breaking changes, including namespaces, public
class/method/field changes, prototype renames; and provide instructions
for fixing them.
This will be posted in #codebase-changes. -->
**Changelog**
<!-- Add a Changelog entry to make players aware of new features or
changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of
the comment block in order for it to show up.
Changelog must have a 🆑 symbol, so the bot recognizes the changes and
adds them to the game's changelog. -->
🆑
- fix: Fixed Chemicals with the EvenHealing attribute to not work on
patient's limbs without General Damage. Aloxadone will now finally heal
the burned Salvager's limbs.
* Fix Port to Delta
* Fixes
* Made comments even more commenty?
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
* Update Content.Shared/Damage/Systems/DamageableSystem.cs
Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
* Add Comments
* Update Content.Shared/EntityEffects/Effects/EvenHealthChange.cs
Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
* Update Content.Shared/Damage/Systems/DamageableSystem.cs
Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
* Fix Comments
* Update Content.Shared/EntityEffects/Effects/EvenHealthChange.cs
Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
* commenty commenta WHEN DO THE COMMENTS END
---------
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
* Added HumanoidSiliconMetaphysical which emulates BiologicalMetaphysical *while* enabling the same healing regular IPCs get.
* StoredDamageContainer no longer returns "Biological" for everything
* IPCs are now valid ardent censer targets
* 🤪
* Revert "Added HumanoidSiliconMetaphysical which emulates BiologicalMetaphysical *while* enabling the same healing regular IPCs get."
This reverts commit 9589909daae5498082a8949c07679639c5bc5150.
* Remove metaphysical conversion
* asset upload
* fixes
* yml
* guidebook, alert
* yml fixes
* yml you silly goose
* yml and ft and just one tiny tiny cs
* wtf is git doing i swear i already comitted these exact files
* i can't believe it took 16 minutes to fail an enum
* test fails begone. please.
* ccvar namespace correction
* ftl changes, namespace fixes again
* wow actiongrant yml conflicts make me angrier than god
* razor weapon dev
* some requested changes
* more requested changes
* step one of who knows how many requested changes
* grabbag of bugfixes
* big refactorenning
* the refactorings continue
* bugfixes, some timering
* ability system feedbacks
* finish detimering
* she feed on my back til i loop
* ough
* linq...
* unity
* mrrrp
* meow
* todo
* mrp
* woe rider mass cleanup be upon ye
* ough
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Revert "woe rider mass cleanup be upon ye"
This reverts commit 5e24490a66389c78efe969d16e43a7c5d52c1249.
* 3 of 9
* omegadictionary begone
* centralize is cosmic cult/sees cosmic cult checks
* durations
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* florbular
Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
* feedback is stored in the git
* yaml warrior
* test fail real
* dont specify the default
---------
Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
* DAG Adjacency Matrix & Tests
* Fix sandbox type errors
* First pass on procgen
* Procgen adjustments
* Networking
* Cruft and god and beauty and analysis console
* convert to data types that dont make me want to kill myself
* starting work on console UI
* drawing nodes n shit
* damn that ui FUCKS
* XAT
* Add a bunch of basic triggers
* Fix trigger gen
* Add node info into the analysis console UI
* Add node unlocking
* more trigger cuz thats pretty cool
* final triggers + incorporate gnostic faith
* some ui changes, mostly
* Fix orphaned procgen segments
* its not random dipshit
* yeah... this one will make pjb happy....
* we call it a day for the UI
* imagine... shared power code...
* extraction WIP but we gotta sidequest momentarily
* oh hey would you look at that its the actual functionality
* distrotrased
* Small departure for randomness.
* ok yep yep indeed that is an effect very cool.
* thanos snap oldcode
* fuck it we ball
* feat: node scanner now displays triggered nodes. Removed unused old artifact systems and related code (most of it). xml-doc and minor fixups.
* refactor: most of preparations, cleanup and groundwork. also segment-related tests
* feature: all basic effects returning
* feat: finished effects lits, created weight lists for struct and handheld artifacts, fixed throw trigger and music ApplyComponent artifact effects not working
* feat: prevent non-first-time-predicted calls in shared artifact effect systems
* fix: remove gun effect from artifact effects - as it interferes with 'activate artefact' action
* fix: foam reagent selection, neat ApplyComponents art effect scenarios, handheld art is RadiationReceiver again
* fix: moved spawn/ pry&throw effect systems back to server part of code - entity duplication bugs were not quite fun
* refactor: fix protos
* refactor: fix linter
* fix: fix old artifact component names in yml
* fix: no more throwing error on artifact spawn with empty XAEFoamComponent.Reagents
* fix: removed old component usage in maps
* fix: remove more deleted components from map
* fix: ContainerContainer is now part of initial artifact entity, it won't be affecting UninitializedSaveTest
* refactor: fix tests, add loc description to toolshed commands
* Changed node scanner to tell the whole story about current artifact state
* refactor: remove excessive get of EntityCoordinates in XAE systems, removed Value access in NodeScannerDisplay
* fix: turned off TriggerInteraction, removed XAESpawn usage and system, EmpSystem now can use EntityCoordinates,
* fix: moved SharedXenoArtifactSystem.CancelUnlockingOnGraphStructureChange into RebuildXenoArtifactMetaData to lessen code coupling
* fix: XenoArtifactEffectJunkSpawn moved invalid rolls declaration
* refactor: set default value for XenoArtifactComponent.EffectsTable for tests
* fix: now explosions XAE can be activated for effect
* refactor: added some usedelay so artifactuse would'nt be spammed
* refactor: artifact-related hints improvements
* fix: artifact no longer spawns fauna into itself
* refactor: xml-doc and minor refactoring
* refactor: xml-doc for Xeno Artifact systems, renaming of questionable XAT systems
* map for playtest, TODO REVERT THIS
* fix: magboots trigger art from a mile
* refactor: bind artifact animation to unlocking state
* feat: radiation dmg now have reference to source (and artifacts won't irradiate themselves)
* fix: random artifact node durability now is rolled for max and not current value
* refactor: gas effects are more rare, hand-held artifact effects are filtered properly now, rad dmg trigger now requires only 20 dmg for activation
* feat: animations and sound effects for artifact force-use and failed finish of unlocking phase
* use only 1 file with art use animation
* refactor: minor artifact dmg triggers tuning
* feat: now nodes that CAN be unlocked are displayed with specific color in console.
* feat: now unlocking stage time is dynamic and it depends on amount of triggers player activated correctly. Failed one stops incrementing
* feat: now non-active unlocked nodes return more points if durability was not wasted
* feat: now puddle/foam effects change description of node
* fix: fix test failure
* refactor: renamed phasing effect, fixed failing test for elkridge
* minor balance changes
* refactor: split rare materials into separate effects
* feat: unlocked nodes without successor wont listen to unlocks, node unlock is not activating node
* fix: removed OnIrradiatedEvent duplicate c-tor
* revert changes of reach for playtest
* revert last row empty line removal on reach.yml
* fix: fix PVS bug, born from attempt to relay event to art nodes that were not synced yet to the client
* fix: fix elkridge for tests (again)
* refactor: xml-doc, more stuff predicted, allocation optimization in XAE/XAT systems
* refactor: naming
* refactor: extract variable refactor for XAEApplyComponentsSystem.OnActivated insides
* fix: duplicate xeno artifact unlocking sound fixed
* feat: CreatePuddle xeno artifact effect now can have min and max borders for chamicals to be drafted, minor XAECreatePuddleSystem refactor
* feat: networking for shared XAE components + xml-doc leftovers
* refactor: more xml-doc, fix XAEApplyComponentsComponent.Components not being serializable but trying to be
* refactor: xml-docs and XAEThrowThingsAroundSystem now uses circle and not box for prying tiles
* refactor: xml-docs, minor refactors
* revert XenoArtifactCommand.ArtifactPrototype being PrototId
* refactor: simplify the way ExtractionResearchLabel works
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Initial commit
* Removed mention of StationAiTurretComponent (for now)
* Prep for moving out of draft
* Fixing merge conflict
* Re-added new net frequencies to AI turrets
* Removed turret control content
* Removed unintended change
* Final tweaks
* Fixed incorrect file name
* Improvement to fire mode handling
* Addressed review comments
* Updated how turret wire panel auto-closing is handled
* Ranged NPCs no longer waste shots on stunned targets
* Fixed bug in tracking broken state
* Addressed review comments
* Bug fix
* Removed unnecessary event call
* full fucking send
* ope forgot to remove the EE scripts
* fix test
* fix shitcode fail
* DELTA THAT VALUE IS NULLABLE
* whoopsie daysie
* fixed???
* chat is this real
* bugfixes
* more bugfixes
* goobmed
* Savepoint
* fixed yet more crap
* ymlops
* tests
* shitcode
* Update duffelbag.yml
* shoes fixed???
* bruhhhhhhhhhhhhh
* full fucking send
* ope forgot to remove the EE scripts
* fix test
* fix shitcode fail
* DELTA THAT VALUE IS NULLABLE
* whoopsie daysie
* fixed???
* chat is this real
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
* Add examines for damage values
Even immersive sims still give you values.
We should also do this for armour so people don't have to yml dive and so the general public actually know the balance of things.
* Slightly better
* Cleanup
* Move radiation collector to ECS
* Damagable system
* Remove IRadiationAct
* Add small helper field
* Update Content.Server/Radiation/Systems/RadiationSystem.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Delete comment
* Fixed total rads
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Explosions
* fix yaml typo
and prevent silly UI inputs
* oop
* Use modified contains() checks
And remove IEnumerable
* Buff nuke, nerf meteors
* optimize the entity lookup stuff a bit
* fix tile (0,0) error
forgot to do an initial Enumerator.MoveNext(), so the first tile was always the "null" tile.
* remove celebration
* byte -> int
* remove diag edge tile dict
* fix one bug
but there is another
* fix the other bug
turns out dividing a ushort leads to rounding errors. Why TF is the grid tile size even a ushort in the first place.
* improve edge map
* fix minor bug
If the initial-explosion tile had an airtight entity on it, the tile was processed twice.
* some reviews (transform queries, eye.mapid, and tilesizes in overlays)
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* is map paused
* GetAllTiles ignores space by default
* WriteLine -> WriteError
* First -> FirstOrDefault()
* default prototype const string
* entity query
* misc review changes
* grid edge max distance
* fix fire texture defn
bad use of type serializer and ioc-resolves
* Remove ExplosionLaunched
And allow nukes to throw items towards the outer part of an explosion
* no hot-reload disclaimer
* replace prototype id string with int index
* optimise damage a tiiiiny bit.
* entity queries
* comments
* misc mirror comments
* cvars
* admin logs
* move intensity-per-state to prototype
* update tile event to ECS event
* git mv
* Tweak rpg & minibomb
also fix merge bug
* you don't exist anymore go away
* Fix build
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>