* Make BaseMedicalPDA abstract (#26567)
* Fix GasMixers/Filters not working (#26568)
* Fix GasMixers/Filters not working
* OKAY GAS FILTERS TOO
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
* Industrial Reagent Grinder Hotfix (#26571)
fixed
* Give stores the ability to check for owner only (#26573)
adds a check if the store belongs to the user
* Fix round start crash (causing instant restart) (#26579)
* Fix round start crash
* Make `TryCreateObjective` more error tolerant
* Update engine to v217.1.0 (#26588)
* Fix initial infected icon hiding (#26585)
* Fix Meta evac shuttle name (#26587)
* Make timer ignore client predict setting (#26554)
* Make timer ignore client predict setting
* making tests run
---------
Co-authored-by: wrexbe <wrexbe@protonmail.com>
* Make advertise system survive no map inits (#26553)
* Make advertise system survive no map inits
* Add comment to try prevent future bugs
* Update Credits (#26589)
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
* Fix fox spawn on reach (#26584)
Co-authored-by: wrexbe <wrexbe@protonmail.com>
* Removes SCAF armor (#26566)
* removes scaf armor
* replace maint loot spawner spot with basic helmet
* Update Patrons.yml (#26578)
* Automatic changelog update
* Make aghost command work on other players using optional argument (#26546)
* Translations
* Make aghost command work on other players using optional argument
* Reviews
* Automatic changelog update
* Add new component to Make sound on interact (#26523)
* Adds new Component: EmitSoundOnInteractUsing
* Missed an import
* File-scoping
* Replace ID check with Prototype check
* Moved component and system to shared. Set prediction to true.
* Removed impoper imports and changed namespace of component to reflect changed folder.
* Following function naming theme
* All this code is basically deltanedas's, but it was a learning experience for me
* Update Content.Shared/Sound/Components/EmitSoundOnInteractUsingComponent.cs
* Update Content.Shared/Sound/Components/EmitSoundOnInteractUsingComponent.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Increase syndi duffelbag storage (#26565)
* Increase syndi duffelbag storage
* weh
* Automatic changelog update
* Adds construction/decon graphs for plastic flaps (#26341)
* Adds construction/decon graphs for plastic flaps
* Dang arbitrage
* undo conflict
---------
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
* Automatic changelog update
* Makes secglasses roundstart (#26487)
* makes secglasses roundstart
* fix epic fail
* fix tests questionmark?
* Update Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Automatic changelog update
* Toilet Upgrade (needs review) (#22133)
* Toilet Draft
* fixes
* toilets now have secret stash to place items in cistern.
* fixes
* plungers now unblock toilets.
* fix sprite
* new sprites and fix
* fixes
* improve seat sprites.
* fix
* removed visualisersystem changed to genericvisualizers
* flush sound for toilets and copyright for toilet sprites.
* fix atrributions
* fixes
* fix datafield flushtime
* sprite improvements
* fixes
* multiple changes
* fix
* fix
* fixes remove vv
* moved stash related functions to secret stash system from toilet.
* fix
* fix
* changes for recent review.
* fix
* fix
* Automatic changelog update
* Uplink store interface searchable with a searchbar. (#24287)
* Can now search the uplink store interface with a searchbar.
* Search text updates no longer send server messages. Persists listings locally.
* Formatting fixes and tidying.
* Added helper method to get localised name and description (or otherwise, entity name and description) of store listing items.
* Update Content.Client/Store/Ui/StoreMenu.xaml
* Review change; moved localisation helper functions to their own class.
* Prevent thread-unsafe behaviour as-per review.
* Remove dummy boxcontainer
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Improved RCDs (#22799)
* Initial radial menu prototyping for the RCD
* Radial UI buttons can send messages to the server
* Beginning to update RCDSystem
* RCD building system in progress
* Further updates
* Added extra effects, RCDSystem now reads RCD prototype data
* Replacing tiles is instant, multiple constructions are allowed, deconstruction is broken
* Added extra functionality to RadialContainers plus documentation
* Fixed localization of RCD UI strings
* Menu opens near cursor, added basic RCD
* Avoiding merge conflict
* Implemented atomized construction / deconstruction rules
* Increased RCD ammo base charges
* Moved input context definition to content
* Removed obsoleted code
* Updates to system
* Switch machine and computer frames for electrical cabling
* Added construction ghosts
* Fixed issue with keybind detection code
* Fixed RCD construction ghost mispredications
* Code clean up
* Updated deconstruction effects
* RCDs effects don't rotate
* Code clean up
* Balancing for ammo counts
* Code clean up
* Added missing localized strings
* More clean up
* Made directional window handling more robust
* Added documentation to radial menus and made them no longer dependent on Content
* Made radial containers more robust
* Further robustness to the radial menu
* The RCD submenu buttons are only shown when the destination layer has at least one children
* Expanded upon deconstructing plus construction balance
* Fixed line endings
* Updated list of RCD deconstructable entities. Now needs a component to deconstruct instead of a tag
* Bug fixes
* Revert unnecessary change
* Updated RCD strings
* Fixed bug
* More fixes
* Deconstructed tiles/subflooring convert to lattice instead
* Fixed failed tests (Linux doesn't like invalid spritespecifer paths)
* Fixing merge conflict
* Updated airlock assembly
* Fixing merge conflict
* Fixing merge conflict
* More fixing...
* Removed erroneous project file change
* Fixed string handling issue
* Trying to fix merge conflict
* Still fixing merge conflicts
* Balancing
* Hidden RCD construction ghosts when in 'build' mode
* Fixing merge conflict
* Implemented requested changes (Part 1)
* Added more requested changes
* Fix for failed test. Removed sussy null suppression
* Made requested changes - custom construction ghost system was replaced
* Fixing merge conflict
* Fixed merge conflict
* Fixed bug in RCD construction ghost validation
* Fixing merge conflict
* Merge conflict fixed
* Made required update
* Removed lingering RCD deconstruct tag
* Fixing merge conflict
* Merge conflict fixed
* Made requested changes
* Bug fixes and balancing
* Made string names more consistent
* Can no longer stack catwalks
* Automatic changelog update
* Update submodule to 217.2.0 (#26592)
* Southern accent (#26543)
* created the AccentComponent and the AccentSystem
* word replacement schtuhff
* made it a trait fr ongg!!1
* Update Content.Server/Speech/EntitySystems/SouthernAccentSystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Prevent storing liquids in equipped buckets (#24412)
* Block access to solutions in equipped spillables.
* Stop Drink verb appearing if the solution can't be accessed.
* Automatic changelog update
* Fix 'Hypopen shouldn't display solution examine text' (#26453)
* stealthy hypo
* ExaminableSolution hand check when in covert implement.
ExaminableSolution now has 'hidden' datafield to enable chemical inspection only in hand.
* cleaning code
* more cleaning
* Hidden datafield renamed to HeldOnly
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Revert Paint (#26593)
* Revert "Fix build (#26258)"
This reverts commit 6de5fbfafb.
* Revert "Spray Paint (Review Ready) (#23003)"
This reverts commit e4d5e7f1ae.
# Conflicts:
# Resources/Prototypes/Entities/Structures/Holographic/projections.yml
* Fix: Prevent single-use hyposprays from getting the toggle draw verb (#26595)
Prevent single-use hyposprays from getting the toggle draw verb
Co-authored-by: Plykiya <plykiya@protonmail.com>
* MeleeHitSoundSystem (#25005)
* Began work to unscrew melee noises
* finished
* cleanup
* cleanup
* Update Content.Server/Weapons/Melee/MeleeWeaponSystem.cs
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* _Style
* Fix merge
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Remove physics comp from VendingMachineWallmount (#25632)
* Remove physics comp from VendingMachineWallmount
* Fixtures removal
---------
Co-authored-by: Jeff <velcroboy333@hotmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Remake hairflowers (#25475)
* Add more lily usage (orange hairflower and flowercrown)
* comit 2
* ee
* more fixes
* w
* im stupid
* bring poppy in authodrobe
* weh
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Automatic changelog update
* Injector UI shows TransferAmount change, Spilling liquid changes Injector mode (#26596)
* Injector UI shows TransferAmount change, spill changes mode
* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs
* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update submodule to 217.2.1 (#26599)
* disallow unanchoring or opening panels on locked emitters/APEs (#26600)
* disallow unanchoring or opening panels on locked emitters/APEs
* no locking open panels
* oops
* needback feedback
* Update Content.Shared/Lock/LockSystem.cs
* Update Content.Shared/Lock/LockSystem.cs
* Update Content.Shared/Lock/LockSystem.cs
* sanity
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Fix grave digging sound indefinitely playing if dug by aghost. (#26420)
Admins bypass doafters. As such, the code that runs on doafter
completion is ran before the sound is actually created. This then leads
to the sound never being stopped, and as such it would infinitely play.
This commit gets around the issue by manually stopping the sound should
the doafter fail to start. If we could be sure that the doafter would
never fail, then we could just move the call to StartDigging above
starting the doafter but this is currently not possible.
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Make the buttons on the map ui not squished (#26604)
Make the map ui work
Co-authored-by: wrexbe <wrexbe@protonmail.com>
* Combine flower crown and wreath (#26605)
* Combine flower crown and wreath
* huh
* huuh :trollface:
* Automatic changelog update
* Add AP damage to throwing knives (#26380)
* add
* ap
* no more stam dmg
* Automatic changelog update
* cancelable brig timers (#26557)
brig timers now cancelable. also some screensystem yakshave
* Fix orientation of roller skate sprites (#26627)
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Automatic changelog update
* Fix GastTileOverlay sending redundant data (#26623)
Fix GastTileOverlay not updating properly
* Auto DeAdmin sooner (#26551)
Co-authored-by: wrexbe <wrexbe@protonmail.com>
* Add briefcase to curadrobe and lawdrobe, and some briefcases cleanup (#26527)
* Add briefcase to curadrobe and some briefcases cleanup
* also add to lawdrobe
* Automatic changelog update
* Fix some text overflow bugs in HUD (#26615)
* Don't clip text in item status
* Fix overflow in examine tooltip
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Adds two milk cartons to the BoozeOMat (#26635)
* Automatic changelog update
* made the hover text less vague (sorry) (#26630)
* blacklisted throwing knifes from pneumatic cannon (#26628)
* Fix radio jammer not blocking suit sensors. (#26632)
As it turns out, they are not in fact on their own netid. They are
actually just on wireless. The way I had tested my previous pr led to
this mistake being made. I originally had the radio jammer block
wireless as well, but decided to take out under the flase assumption
that it suit sensors were actually on their own netid and did not
require the ability to block all wireless packets at the last moment.
* Fix dirt decals in reach not being cleanable (#26636)
made all dirt decals cleanable
Co-authored-by: hamurlik <renoDeath@protonmail.com>
* Automatic changelog update
* Replace drill_hit.ogg and drill_use.ogg with better sounds (#26622)
* Replace drill_hit.ogg and drill_use.ogg with better sounds
* Fix attribution source for drill_hit.ogg
* Update Resources/Audio/Items/attributions.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Update Resources/Audio/Items/attributions.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Gave Blast door access permissions (#26606)
Added access reader to all blast doors. Added pre configured blast doors for engineering and science.
* Gives all wheeled objects low friction (#26601)
* gives all wheeled objects friction
* adjustments to sum stuff
* Automatic changelog update
* Combine solution injection systems; Fix embeddable injectors (#26268)
* Combine injection systems
* Update Content.Server/Chemistry/EntitySystems/SolutionInjectOnEventSystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Automatic changelog update
* Add ValueList import (#26640)
* Change assault borg modules texture (#26502)
* Update borg_modules.yml
* Fix borg_modules.yml?
* Uh
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Add Cyborg Emote Sounds (#26594)
* Hal 9000's first emote
* Add Chime emote & Change variation to 0.05
* Modify Buzz emote
* Add Buzz-two emote
* modified Horn
* add ping emote
* add slowclap emote
* Convert slowclap.ogg to mono, reflect change in attribution.yml
* fix capitalization for all chatMessages && change all catagory to category
* remove all traces of slowclap.ogg
* forgor one file smh
* collating copywrite
* spelling mistakes will be the death of me
* more spelling mistakes
* change yml string to list
* Automatic changelog update
* Coordinates Disks & Shuttle FTL Travel (#23240)
* Adds the CentComm Disk and configures it to work with direct-use shuttles
* Added functionality for drone shuttles (i.e. cargo shuttle)
* Adds support for pods, and a disk console object for disks to be inserted into. Also sprites.
* Added the disk to HoP's locker
* Removed leftover logs & comments
* Fix for integration test
* Apply suggestions from code review (formatting & proper DataField)
Co-authored-by: 0x6273 <0x40@keemail.me>
* Fix integration test & changes based on code review
* Includes Disk Cases to contain Coordinate Disks, which are now CDs instead of Floppy Disks
* Check pods & non-evac shuttles for CentCom travel, even in FTL
* Import
* Remove CentCom travel restrictions & pod disk consoles
* Major changes that changes the coordinates disk system to work with salvage expeditions
* Missed CC diskcase removal
* Fix build
* Review suggestions and changes
* Major additional changes after merge
* Minor tag miss
* Integration test fix
* review
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Add door electronics access configuration menu (#17778)
* Add door electronics configuration menu
* Use file-scoped namespaces
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Open door electronics configuration menu only with network configurator
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Make the access list in the id card computer a separate control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix merge conflict
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove DoorElectronics tag
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Integrate doors with #17927
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move door electornics ui stuff to the right place
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Some review fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* More fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* review fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move all accesses from airlock prototypes to door electronics
Signed-off-by: c4llv07e <kseandi@gmail.com>
* rework door electronics config access list
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove Linq from the door electronics user interface
* [WIP] Add EntityWhitelist to the activatable ui component
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Better interaction system
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Refactor
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix some door electronics not working without AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move AccessReaderComponent update code to the AccessReaderSystem
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecesary newlines in the door access prototypes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused variables in access level control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecessary method from the door electronics configuration menu
Signed-off-by: c4llv07e <kseandi@gmail.com>
* [WIP] change access type from string to ProtoId<AccessLevelPrototype>
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused methods
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Newline fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Restored to a functional state
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix access configurator not working with door electronics AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Replace all string access fields with ProtoId
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move access level control initialization into Populate method
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Review
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* scoopable ash and foam, solution transfer prediction (#25832)
* move SolutionTransfer to shared and predict as much as possible
* fully move OpenableSystem to shared now that SolutionTransfer is
* fix imports for everything
* doc for solution transfer system
* trolling
* add scoopable system
* make ash and foam scoopable
* untroll
* untroll real
* make clickable it work
* troll
* the scooping room
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Replace the teleportation logic on the SCRAM implant! (#26429)
* Replace the teleportation logic on the SCRAM implant!
Now instead of just trying to pick a random tile in range 20 times, the
scram teleportation logic now:
- Gets a list of grids in range
- Until a suitable tile is picked it picks a random grid
- From that grid it picks a random tile.
- If the tile is suitable, then it is set as the target and the user
will be teleported there.
- Grids and tiles are randomly picked as outlined above until a valid
tile is found, or all valid grids and tiles are exhausted.
- Should no suitable tile be found then they get teleported to the same
position they are at. Effectively not teleporting them.
* Actually make the defaults sane which I forgor in the last commit
* Extract tile section to its own function. Bias selection for current grid. Use proper coords for box.
* Address reviews as much as possible
* Address reviews
* Refactored AdvertiseComponent (#26598)
* Made it better
* ok
* alright
---------
Co-authored-by: wrexbe <wrexbe@protonmail.com>
* Bartender "Essentials" (#25367)
* drinks round 1
saving my progress before my hard drive explodes
* test 2
please work
* name fixes
whoops
* Update drinks.yml
* various fixes
am dumb
* add sol dry to vends
more fixes and changes, yippee!
* more fixes & ingame testing
shrimple tests
* last fixes :trollface:
should be ready for pr now
* Update soda.yml
sate thirst
* Automatic changelog update
* Add ERT Chaplain (#25956)
* ERT Chaplain
* Make BibleUser
* It was not intended
* reword my poor words
* 1984 a comment that I decided was unnecessary.
* Update Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Changes in chemicals page in guidebook (#25831)
* Added pages to chemical categories
The chemical categories have their own page now. Added the "Chemical Tabs" in /ServerInfo/Guidebook. Moved the Chemicals code from shiftsandjobs.yml to its own .yml file which is "chemicals.yml".
* Update guides.ftl
* Update chemicals.yml
Changed the guide entry's ID for the medical tab from Medicine to Medicinal.
Hope this works...
* Update Resources/ServerInfo/Guidebook/Chemical Tabs/Biological.xml
Co-authored-by: exincore <me@exin.xyz>
* Update Resources/ServerInfo/Guidebook/Chemical Tabs/Foods.xml
Co-authored-by: exincore <me@exin.xyz>
* Update Resources/ServerInfo/Guidebook/Chemical Tabs/Elements.xml
Co-authored-by: exincore <me@exin.xyz>
* Update Resources/ServerInfo/Guidebook/Chemical Tabs/Narcotics.xml
Co-authored-by: exincore <me@exin.xyz>
* Update Resources/ServerInfo/Guidebook/Chemical Tabs/Toxins.xml
Co-authored-by: exincore <me@exin.xyz>
* Fixed a few errors and stuff!
A few typos have been fixed thanks to exincore. Added dedicated .xml files to be used for the dedicated category pages (Medicinal and Botanical pages). Made it so it doesn't use any duplicated IDs anymore.
If there's more problems, please do tell so I can fix it!
* Update settings.json
* Fix?
---------
Co-authored-by: exincore <me@exin.xyz>
* Automatic changelog update
* Anomalies behaviours (#24683)
* Added new anomaly particle
* Add basic anomaly behaviour
* +2 parametres
* add functional to new particle
* add components to behaviours
* big content
* add shuffle, moved thing to server
* clean up
* fixes
* random pick redo
* bonjour behavioUr
* fix AJCM
* fix
* add some new behaviours
* power modifier behaviour
* rmeove timer
* new event for update ui fix
* refactor!
* fixes
* enum
* Fix mapinit
* Minor touches
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Fix clipping/overlap in lathe machine UIs (#26646)
* Add scrollbars to lathe material list when necessary
* Fix bug where shrinking window would cause elements to overlap
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Added chat window transparency slider to options (#24990)
* Adds a new slider to the misc tab in options that lets the player set chat window transparency
* Tweaked variable names
* Fixed order to match UI
* Renamed set chat window transparency function
* Changed and refactored to opacity instead of transparency
* Remove unnecessary int to float conversions
Slider used to be 0-100 while the CCVar was 0.0-1.0f. This is confusing and was only used for rounding to 2 decimal points.
* Round the value to two decimal points
* Remove rounding for now
* Rename
* Unhardcode chat color by moving to stylesheet
* Fix indent
* Make opacity slider only change opacity
---------
Co-authored-by: Your Name <you@example.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Automatic changelog update
* Infinity books (#25840)
* setup text data
* roundstart reshuffling keywords with gibberish words
* saved data categorized
* add book with hints
* start redrawing books
* +4 book design
* +books +random visual upgrade
* finish first file
* finish lore file
* finish with books.rsi now authorbooks.rsi...
* aurora! and some fix
* nuke author books
* speelbuke update
* finish respriting work
* fix scientist guide visual
* setup datasets
* setup stupid funny random story
* restore author books, upgrade hint generation
* add variety to story generator
* add learning system
* minor textgen edit
* file restruct, hint count variation
* more restruct
* more renaming
add basis learning system logic. Spears locked for special book for test.
* nuke all systems, for splitting PR gods
* typo fix
* update migration with deleted books
* add random story books to maint
* Update construction-system.ftl
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
* typo fix
* interchangeably
* final
* Update Resources/Prototypes/Datasets/Names/books.yml
Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
* "."
* Update Content.Server/Paper/PaperRandomStorySystem.cs
Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
* Ubazer fix
* inadequate
* localized
* Update meta.json
* fuck merge conflicts
* fix jani book
---------
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
* Automatic changelog update
* Resprite ambuzol plus pills (#26651)
* Automatic changelog update
* Fixed air injector visuals (#26654)
* Make cyborgs hands explosion proof. (#26515)
* Make the advanced treatment modules beakers explosion-proof.
* undo changes
* Epic rename fail
* Explosion recursion data field
* Logic for data field
* Automatic changelog update
* Automatic changelog update
* Make typing indicator shaded (#26678)
* Automatic changelog update
* Validate wire layout prototypes and remove invalid WiresComponents (#26682)
Validate wire layout prototypes; delete invalid wirescomponents.
* Increase time inbetween anomaly pulses (#26677)
nerf anomaly pulse delays
* Automatic changelog update
* Fix for items dropped being rotated to world north (#26662)
* Fix rotation of dropped items
* combined world position rotation function for dumpable
* scuffed implementation?
* less scuffed?
* even less scuffed... I guess
* capital D
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
* Automatic changelog update
* fix typo
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: Wrexbe (Josh) <81056464+wrexbe@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: wrexbe <wrexbe@protonmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
Co-authored-by: J. Brown <DrMelon@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: UBlueberry <161545003+UBlueberry@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: drteaspoon420 <87363733+drteaspoon420@users.noreply.github.com>
Co-authored-by: Bixkitts <72874643+Bixkitts@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: avery <51971268+graevy@users.noreply.github.com>
Co-authored-by: eoineoineoin <github@eoinrul.es>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
Co-authored-by: Zealith-Gamer <61980908+Zealith-Gamer@users.noreply.github.com>
Co-authored-by: hamurlik <75280571+hamurlik@users.noreply.github.com>
Co-authored-by: hamurlik <renoDeath@protonmail.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: SoulFN <164462467+SoulFN@users.noreply.github.com>
Co-authored-by: Keer-Sar <144283718+Keer-Sar@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: c4llv07e <38111072+c4llv07e@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Firewatch <54725557+musicmanvr@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: f0x-n3rd <150924715+f0x-n3rd@users.noreply.github.com>
Co-authored-by: exincore <me@exin.xyz>
Co-authored-by: Sk1tch <ben.peter.smith@gmail.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
* 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>
* adds refunds to stores
* Adds method to check for starting map
* comments, datafields, some requested changes
* turns event into ref event
* Adds datafields
* Switches to entity terminating event
* Changes store entity to be nullable and checks if store is terminating to remove reference.
* Tryadd instead of containskey
* Adds a refund disable method, disables refund on bought ent container changes if not an action
* Removes datafield specification
* Readds missing using statement
* Removes unused using statements
* What the heck is listing data
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Refactoring of antagonist roles and notifications about antagonist role assignment.
Refactoring of traitor assignment methods and bug fixing.
* Announcement files moved, code is adjusted to new revision
* Play to entity changed to play to global cause of mono audio restrictions.
* Path to audio files changed to sound specifiers, unique alerts for each role.
* Uncommited changes
* New alert sounds for each antag role.
* PR review fixes
* Antagonist role assignment sound notifications moved to Systems, sounds moved to Components.
* License update
* Fixed naming and redundant parameters
---------
Co-authored-by: Титов Вячеслав Витальевич <rincew1nd@yandex.ru>
* initial commit
- species prototype modifications
- markings points as its own file
- shared humanoid component
* adds a tool to convert sprite accessories to markings (in go)
* removes a fmt call
* converts sprite accessory to markings
* adds hair and facial hair to marking categories
* multiple changes
- humanoid visualizer system
- markings modifications for visualizer
- modifications to shared humanoid component
- lays out a base for humanoid system
* hidden layers, ports some properties from appearance component, shrinks DefaultMarkings a little
* squishes the initialize event calls into one function
adds stuff to set species/skin color externally from a server message - currently laid out as if it a dirty call to a networked component, may be subject to change (server-side has not been implemented yet)
* makes the sprite pipeline more obvious
* apply all markings, hidden layer set replacement
* ensures that markings are cleared when the new set is applied
* starts refactoring markingsset (unfinished)
* more additions to the markingset api
* adds constructor logic to markingset
* adds a method to filter out markings in a set based on a given species
* fixes enumerators in markingset
* adds validator into MarkingSet, fixes ForwardMarkingEnumerator
* modifications to the humanoid visual system
* ensuredefault in markingset
* oop
* fixes up data keys, populates OnAppearanceChange in visualizer
* changes to humanoid component, markings
marking equality is now more strict, humanoidcomponent is now implemented for client as a child of sharedhumanoidcomponent
* markings are now applied the visualizer by diffing them
* base sprites are now applied to humanoids from humanoidvisualizer
* passes along base sprite settings to the marking application so that markings know to follow skin color/alpha or not (see: slimes)
* custom base layers on humanoids
* merges all data keys into one data class for humanoid visualizers
* setappearance in sharedhumanoidsystem, removes custombaselayercolors
* humanoidcomponent, system (empty) in server
* adds some basic public API functions to HumanoidSystem
* add marking, remove marking
* changes appearance MarkingsSet to a List<Marking>, adds listener for PlayerSpawnCompleteEvent in HumanoidSystem
* ensuredefaultmarkings, oninit for humanoids
* markingmanager API changes
* removes MarkingsSet
* LoadProfile, adjusts randomization in humanoid appearance to account for species
* base layer settings in humanoidsystem, eye color from profile
* rearranges files to centralize under Humanoid namespace
* more reorganization, deletes some stuff
gotta break stuff to make other things work, right?
goodbye SpriteAccessory...
* fixes a good chunk of server-side issues
still does not compile, yet
* singlemarkingpicker xaml layout
* singlemarkingpicker logic
* magic mirror window (varying pieces of it, mostly client-oriented)
* removes some imports, gives MagicMirror a BUI class (not filled in yet)
* populates magic mirror BUI functionality / window callbacks
* fixes up some errors in humanoidprofileeditor
* changes to SingleMarkingPicker
SingleMarkingPicker now accepts a List<Marking>, species, and total possible markings available in that marking category
* fixes up hair pickers on humanoid profile editor
* fixes the errors in markingpicker
* markingsystem is now gone
* fixes a bunch of build errors
* so that's why i did it like that
* namespace issues, adds robustxamlloader to singlemarkingpicker
* another robustxamlloader
* human, lizard sprites/points
* prototype fixes, deletion of old spriteaccessory
* component registration, fixes dwarf skin toning
no, 'ReptilianToned' does not exist
* removes component registration from abstract humanoid component
* visualizer data now cloneable
* serialize for visualizer key
* zero-count edge case
* missing semi-colon moment
* setspecies in humanoidsystem
* ensures that default markings, if empty, will cause ensuredefault to skip over that given category
* tryadd instead of add
* whoops
* diff and apply should properly apply markings now
* always ensure default, fixes double load for player spawning
* apply skin color now sets the skin color property in humanoidcomponent
* removes sprite from a few species prototypes
* sprite changes for specific base layers based on humanoid sex
* layer ordering fix, and a missing base layer should now disallow markings on that layer
* anymarking base layer, adds the right leg/foot for humans
* loading a profile will now clear all markings on that humanoid
* adds missing layers for humans
* separates species.yml into respective species prototype files
* ensures that if layer visibility was changed, all markings have to be reapplied
* server-side enforcement of hiding hair (and other head-related markings) when equipping things that hide hair
* slime fix, clothingsystem now dictates layer visibility server side
* sussy
* layer settings should now ensure a marking should match the skin tone
* whoops
* skincolor static class and functions in UI
* skin color validation in humanoidcharacterappearance
* markingpicker now shows only the markings for the selected category in used
* getter for slot in singlemarkingpicker now ensures slot is 0 if markings exists
* FilterSpecies no longer attempts to do removal while iterating
* expands for SingleMarkingPicker
* humanoid base dummy has blank layers now (and snout/tail/headside/headtop)
* fixes an issue with visualizer system if the marking count was different but the markings themselves were (somewhat) the same
* whoops
* adds edge case handlers for count differences in humanoid markings
* preview now loads profile instead of directly setting appearance
* moves marking set loading to update controls
* clones a marking set in markingpicker by using the deep clone constructor
* whoops (deep cloning a marking now copies the marking id)
* adds replace function for markingset
* points should now update after the markings are remove/added
* merging base layer sprites into a humanoid should now clear them before merging
* sets dirty range start to count only if the dirty range start was never set above 0
* fixes up some issues with singlemarkingpicker
* color selector sliders in single marking picker should now expand
* hair from hair pickers should now apply in profile loading (client-side)
* category in singlemarkingpicker now sets the private category variable
* slot selector should now populate
* single marking picker buttons now have text, also shows the category name over all user-clickable elements
* removes a comment
* removing hair slots now sets it to bald, defaults to zero used slots if current hair is bald on hair/facial hair
* random skin color, eye color
* populate colors now checks if the marking count is greater than zero in singlemarkingpicker
* hair/facial hair pickers now just get the first possible hair from the respective species list
* different approach to random skin color
* oh, that's why it wasn't working
* randomize everything now just updates every single control
* selecting a new marking in SingleMarkingPicker should attempt to copy over old colors, populate list now uses cache,
* markingmanager now uses OnlyWhitelisted to populate by category and species
* filterspecies now uses onlyWhitelist to filter markings based on whitelist or not
* oops
* ui fix for singlemarkingpicker, ensures that cache is not null if it is null when populatelist is called
* order of operations for the horizontal expand for add/remove
* hair pickers should now update when you add/remove the hair slot
* fixes variable naming error in character appearance
* loc string fix in singlemarkingpicker
* lizards, vox now have onlyWhitelist, vox restriction for hair/facialhairs
* having zero possible hairs should no longer cause an exception in randomization
* setting species should now update hair pickers
* ignore categories for marking picker
* and a clear as well for the category button
* places that functionality in its own function instead
* adds eye base sprite, vox now also have their own custom eye sprites
* loading a profile client-side should do FilterSpecies for markings now
* client-side load profile does filter species after adding in the hairs now
* magic mirror
* callbacks now call the callback instead of adding it on construct
* whoops
* in removemarking too
* adds missing synchronize calls
* comments out an updateinterface call in magic mirror
* magic mirror window title, minimum sizing
* fixes minsize, adds warning for players who try to set their hair for species that have no hair
* removes spaces in xaml
* namespace changes/organization
* whoopsie (merge conflicts)
* re-enables identity from humanoid component
* damagevisuals now uses the enum given to it instead of the layerstate given on that layer tied to the enum
* removes commas from json
* changes to visuals system so the change is consistent
* chest
* reptilian
* visualizer system now handles body sprite setting/coloration, similar to how characterappearance did it
not a big fan of this
* adds a check in applybasesprites
* adding/removing parts should now make them invisible on a humanoid
* body part removal/adding now enumerates over sublayers instead
* synchro now runs in bodycomponent startup
* parts instead of slots
* humanoidcompnent check
* switches from rsi to actualrsi
* removes all the body stuff (too slow)
* cleans up resolves from humanoid visualizer system
* merging sprites now checks if the base sprites have been modified or not (through things like species changes, or custom base sprite changes)
* not forgetting that one again
* merging now returns an actual dirty value
* replaces the sequenceequal with a more accurate solution
* permanent layers, layer visibility on add/remove part in body
* should send all hidden layers over now
* isdirty in visualizer system for base layers
* isdirty checks count as well
* ok, IsDirty should now set the base layers if the merged sprites are different
* equals override in HumanoidSpritePrototypes.cs
temporary until record prototypes :heck:
* makes fields readonly, equates IDs instead
* adds forced markings through marking picker
* forced in humanoidsystem api, ignorespecies in markingpicker
* marking bui
* makes that serializable as well
* ignore species/forced toggles now work
* adds icon to modifier verb, interface and keys to humanoid bases
* needs the actual enum value to open, no?
* makes the key the actual key
* actions now propagate upwards
* ignore species when set now repopulates markingpicker
* modifiable base layers in the markings window
* oops!
* layout changes
* info box should now appear
* adds ignorespecies for marking picker, collapsible for base layer section of appearance modification window
* collapsible layout moment
* if base layers have changed, all markings are now dirty (and if a base layer is missing, the marking is still 'applied' but it's now just invisible
* small change to marking visibility
* small changes to modifier UI
* markings now match skin on zombification
* zombie stuff
* makes the line edit in marking modifier window more obvious
* disables vox on round start
* horizontal expand on the single label in base layer modifiers
* humanoid profiles in prototypes
* randomhumanoidappearance won't work if the humanoid has a profile already stored
* removes unused code
* documentation in humanoidsystem server-side
* documentation in shared/client
* whoops
* converts accessory into marking in locale files (also adds marking loc string into single marking picker)
* be gone, shared humanoid appearance system from the last upstream merge
* species ignore on randomization (defaults to no ignored species)
* more upstream merge parts that bypassed any errors before merge
* addresses review (also just adds typeserializers in some places)
* submodule moment
* upstream merge issues