<!--
Explain this PR in as much detail as applicable
Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->
Ports Shadowlings from SS13 to SS14 with a remake to make them fun to
play.
Minimal Design Doc (not up-to-date, read comments in this repo for
updates):
https://github.com/Lumminal/SS14-Design-Docs-Lumminal/blob/main/Shadowling.md
---
- Abilities
- [X] Hatch
- [x] Glare
- [X] Enthrall
- [x] Veil
- [x] Shadow Walk
- [x] Icy Veins
- [x] Collective Mind
- [x] Rapid Re-Hatch
- [x] Destroy Engines
- [x] Sonic Screech
- [x] Blindness Smoke
- [x] Null Charge
- [x] Black Recuperation
- [x] Empowered Enthrall
- [x] Nox Imperii
- [x] Ascension
- [x] Annihilate
- [x] Hypnosis
- [x] Plane-Shift
- [x] Lighting Storm
- [x] Ascendant Broadcast
- Antags
- [X] Thrall
- [x] Guise
- [x] Thrall Darksight
- [x] Lesser Shadowling
- Passive
- [x] Light Resistance Scaling
- [x] Shadowmind
- [x] Damage on Light
- Other
- [x] Sounds
- [x] Sprites
- [x] Psionic Interactions
- [x] Handle Edge Cases
---
<details><summary><h1>Media</h1></summary>
<p>
https://www.youtube.com/watch?v=H-Ee5wuRINc
</p>
</details>
---
🆑
- add: The shadows have awakened, and their ascendance is soon to
follow. Do not enter maints.
---------
Signed-off-by: Lumminal <81829924+Lumminal@users.noreply.github.com>
* Give .props files 2-space indents.
* Move to Central Package Management.
Allows us to store NuGet package versions all in one place. Yay!
* Update NuGet packages and fix code for changes.
Notable:
Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.
* Remove dotnet-eng NuGet package source.
I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.
* Remove Robust.Physics project.
Never used.
* Remove erroneous NVorbis reference.
Should be VorbisPizza and otherwise wasn't used.
* Sandbox fixes
* Remove unused unit test package references.
Castle.Core and NUnit.ConsoleRunner.
* Update NUnit to 4.0.1
This requires replacing all the old assertion methods because they removed them 🥲
* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.
* Add Robust.Analyzers.Test
* Update submodule
* commit to re-run CI
(cherry picked from commit a6c9c36b688a1ba78ff4c12502e81661cf607b6c)
* ogh
* i should save my work
* ogh
* hhcdfhjbghshbxdfhghshc
- lots of bugs in parsing still
- invocation is a stub
* expr parsing works
* awawa
* Saving work
* Improve APIs a bit all around, add shortcuts.
* awa
* awa
* AAAAAA
* save work
* Move shit to engine
* lord
* bql is kill
* forgot the fucking bike rack
* bql is kill for real
* pjb will kill me
* aughfhbdj
* adgddf
* gdsgvfvxshngfgh
* b
* hfsjhghj
* a
* tf you mean i have to document it
* follow C# standards
* Assorted cleanup and documentation pass, minor bugfix in ValueRefParser.
* Start porting old commands, remove that pesky prefix in favor of integrating with the shell.
* bw
* Fix valueref up a bit, improve autocomplete for it.
* awa
* fix tests
* git shut up
* Arithmetic commands.
* parse improvements
* Update engine.
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Converted PlantHolderVisualizer to component and system.
* Cleaned up Botany folder.
* Converted initialization of HydroTrayVisualizer under PlantHolderVisualizerSystem to it's own GenericVisualizer.
* Cleaned up hydro_tray.yml.
* serv3 in shared pt 1
* beginning of deepclone api
* progress in implementing ideepclone & serv3 in content
* adds target
* its cant hurt you it cant hurt you
* more changes to content.server
* adds dataclasses
* almost there
* renamed & edited entry
* finishes refactoring content to use serv3
* gasmixture runtimes, next: reagentunit
* fucin hell that was an annoying one
* adds flags
* fixes some yaml errors
* removes comment
* fixes generic components for now
* removes todo
actually clones values my god paul
fixes bug involving resolving custom data classes from other proj
renames dataclass
fixes spritecomp
adds WithFormat.Constants support
* adds deepclone to ResistanceSet
* adds a bunch of deepclone implementations
adds a deepclone analyzer (TODO)
adds a deep clone fallback for classes & structs
* fixes a bunch of runtimes
* adds deepclone to entityuid
* adds generator to sln
* gets rid of warnings
* fixes
* argh
* componentdata refactors
* more deepclone impl
* heck me i reworked all of content deepclone
* renames custom dataclasstarget
* misc
* reworks prototypes
* deepclone nuke
* renamed customdataclass attribute
* fixes everything
* misc fixed
* the killcommit
* getting there
* changed yamlfieldattribute namespace
* adds back iselfserialize
* renames everything to data(field/definition)
* ouch
* Fix most errors on content
* Fix more errors in content
* Fix some components
* work on tests
* fixes some customdataclasses
* fuggin shit
* yes
* yeas
* Remove data classes
* Data field naming fixes
* arg
* Git resetti RobustToolbox
* Merge fixes
* General fixes
* Fix startup serialization errors
* Fix DamageContainerPrototype when supported classes or types are null
* Implement construction graph step type serializer
* Fix up construction serialization
* Fix up construction serialization part 2
* Fix null list in technology database component
* Fix body serialization
* Fix entity storage serialization
* Fix actions serialization
* Fix AI serialization
* Fix reaction serialization
* Fix body serialization
* Fix grid atmosphere serialization
* Rename IServ3Manager to ISerializationManager
* Convert every non generic serializer to the new format, general fixes
* Serialization and body system fix
* pushinheritance fix
* Update all prototypes to have a parent and have consistent id/parent properties
* Merge fixes
* smh my head
* cuddling slaps
* Content commit for engine PR
* stuff
* more fixes
* argh
* yes even you are fixed
* changelog fixes
* fixes seeds
* argh
* Test fixes
* Add writing for alert order prototype
* Fix alert order writing
* FIX
* its been alot ok
* Fix the rest of the visualizers
* Fix server alerts component tests
* Fix alert prototype tests not using the read value
* Fix alert prototype tests initializing serialization multiple times
* THIS IS AN AMERICAN CODEBASE GOD BLESS THE USA
* Add ImplicitDataDefinitionForInheritors to IMechanismBehavior
Fixes the behaviors not being found
* Fix NRE in strap component
Good night to the 1 buckle optimization
* Fix clothing component slot flags serialization tag
* Fix body component in all components test
* Merge fixes
* ffs
* Make construction graph prototype use serialization hooks
* human yaml linted
* a
* Do the thing for construction
* stuff
* a
* monke see yaml linter
* LINT HARDER
* Remove redundant todo
* yes
* Add skip hook argument to readers and copiers
* we gamin
* test/datafield fixes
* adds more verbose validation
* moves linter to action
* Improve construction graph step type serializer error message
* Fix ammo box component NRE
* gamin
* some updates to the linter
* yes
* removes that test
* misc fixes
* array fix
priority fix
misc fixes
* adds proper info the validation
* adds alwaysrelevant usa
* Make yaml linter take half as long to run (~50% less)
* Make yaml linter 5 times faster (~80% less execution time)
* based vera being based
* fixes mapsaving
* warning cleanup & moves surpressor
* removes old msbuild targets
* Revert "Make yaml linter 5 times faster (~80% less execution time)"
This reverts commit 3e6091359a26252c3e98828199553de668031c63.
* Add -nowarn to yaml linter run configuration
* Improve yaml linter message feedback
* Make dependencies an argument instead of a property on the serialization manager
* yamllinting slaps
* Clean up type serializers
* Move yaml linter code to its own method
* Fix yaml errors
* Change yaml linter action name and remove -nowarn
* yaml linter please shut
* Git resetti robust toolbox
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Github will cuck me no more.
I tried the old google machine to find if there's a way to inherit these but it was failing me.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>