* Fixed EnergySword and variants having incorrect sound on attacking when in their Off state.
* Removed the unused ItemToggle from the serverside and created a new shared ItemToggleComponent and System, now used for the e-blade family of items. Also added e-blade hum and swing sounds. Thanks Sloth for the initial code!
* Changing Stunbaton system to include the itemToggle system.
* Adapted changes that have come up in the meantime.
* Changed damagespecifier to be serializable and autoNetworked in melee weapon components. Fixes a bug that makes it so client-side, damage values are not updated on toggle.
* Made the ItemToggleSystem have both a shared and a server component. Ported the Stun Baton and Stun Prod to the new toggleable system. Added a failure to activate noise component.
* Ported the welders to the new item toggle system. Set it so deactivated damage and item size default to the item's regular options.
* Removed unnecessary usings.
* Small modification to the stun prod.
* Made the integration test use the new method to turn the welders on.
* Fixed a few testing issues, applied a few changes requested by Delta.
* Updated Stunbaton code for consistentcy when it comes to calling the itemToggle component.
* Removed a redundant return; as per Delta.
Made examining the stun baton for charge rely on the battery component instead.
* Removed the welder visualizer system, now using the generic one. Removed some unused usings. Removed the welder visuals and layers.
Ported lighters to the new system.
Added zippi (sic) lighters.
* Renamed variables used to make them less generic.
* Simplified the light update code.
* Fixed the unit test to use the itemToggle system for welders now.
* Made the name shorter. I can't tell if the welding damage when interacted with actually does anything though. I can't figure out how to trigger it.
* Fixed some YML issues.
* Added a client side item toggle system just to make the shared code run on local UID's too.
* Fixed some more Yaml.
* Made the Zippi lighter have its own parent item, so it doesnt' conflict with the random pattern on the regular lighter.
* Made the zippi lighter its own in-hand sprites.
* Added a summary for the activated property in itemtoggle component.
* Fixed a typo in the itemToggle Component.
* Fixed a typo.
* Added to the remarks for the ItemToggleComponent.
* Fixed up the lighter yaml to make it use a generic term instead of a toggle layer enum for the random skin.
* Fixed a bug I introduced accidentally with the humming sound.
* Removed 2 unnecessary events from the ItemToggleSystem and component.
* Fixed a bug by only making the server run the item activation code, since the client cannot predict whether or not the activation will be cancelled.
* Cleaned up some names and functions getting called.
* Renamed a couple of variables and removed the explicit datafields from the component. Removed "activated: false" from yml since they're already deactivated by default.
* Added an IsActivated function, used it in the welder and stun baton systems code.
Refactored welder code to remove the WelderToggle event, now using the ItemToggleActivatedEvent instead for eye protection check.
* Fixed a typo. Added some comments.
* Split the ItemToggle into smaller components.
Changed the items that used the toggle system to work with the smaller components.
Made the mirror shield reflect energy shots with a 95% chance.
* Fixed the namespaces for the server components and whatnot.
* Fixed a doubled deactivation sound from using activated wieldable items (like the double Esword).
Fixed wrong yml with the e-dagger.
Fixed the disarm malus code.
* Added the zippo lighter to the detective's trench coat.
* Removed the default hit sound for the double e-sword since it was unnecessary.
* Changed e-sword damage numbers to be in line with the changes made by Emisse.
* Made no damage sounds be autoNetworked, so it changes can be changed on activation/deactivation of items.
Made Welders and Eswords sound like themselves but quieter if they hit for 0 damage, instead of taps.
You can choose what sound to play when a weapon does 0 damage when activated now.
Fixed a bug with swing sounds.
* Typo.
* Fixed a bug where the welder would blind you if you used it while it was off.
* Created a single abstract method called when an item has completed its toggle.
* Update Content.Server/Eye/Blinding/EyeProtection/EyeProtectionSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fixed a comment.
* Made most component variables readOnly for ItemToggle. There is no need to be able to change them from within the variable viewer.
* Removed trailing white spaces.
* Made the Use a field instead of a property in the itemToggleActivation/Deactivation attempt events.
* Small fixes.
* Removed ForceToggle, just use the toggle method instead.
* Fixed a bug with item sharpness staying even after getting deactivated, if the item gained sharpness that way (esword).
* Used ProtoId in the welder component.
* Made damage NetSerializable as well.
* Added networking and data fields to a couple of components.
* Made component variables autonetworked. Added some comments.
* Moved the events that modify item components on toggle to events, handled (where possible) in the systems linked to said components.
* Made all the component variables readWrite again.
* Added the component get to the WelderStatus.
* Added a predictable bool to the item toggle component.
* Replaced the Activated/Deactivated events with ToggleDone, with an Activated argument. Used that to simplify some systems.
* Added a reflect update raise event.
* Removed the Zippo changes. To add in a later PR.
* Removed the zippo from meta.json too.
* Small fix.
* Another small fix.
* Fixed the wieldable system thing in ItemToggle.
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit a3fbab84e645a16a30845aa1e683e7ffc0e3b8cd)
* Prototyping whole station wire map
* More prototyping
* Added icons for the different power distributors and toggleable cable displays
* Power cable layouts are now only sent to the client when the power monitor is open
* UI prototyping
* Power monitors can now see the sprites of distant entities, long entity names are truncated
* Updated how network devices are added to the player's PVS
* More feature prototypes
* Added source / load symbols
* Final prototype! Time to actually code it properly...
* Start of code clean up
* Continuing code clean up
* Fixed UI appearance
* Code clean up complete
* Removed unnecessary changes
* Updated how power values are calculated, added UI warnings for power sinks and power net checks
* Updated how power values are calculated again, added support for portable generators
* Removed unnecessary files
* Map beacons start toggled off, console map now works outside the station, fixed substation icon
* Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected
* Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap
* Updated the colors/positions of HV cables and SMESes to improve contrast
* Fixed SMES color in map legend
* Partially fixed auto-scrolling on device selection, made sublists alphabetical
* Changed how auto-scroll is handled
* Changed the font color of the console warning messages
* Reduced the font size of beacon labels
* Added the station name to the console
* Organized references
* Removed unwanted changes to RobustToolbox
* Fix merge conflict
* Fix merge conflict, maybe
* Fix merge conflict
* Updated outdated reference
* Fixed portable_generator.yml
* Implemented a number of requested changes, move bit masks to a shared component
* Navigate listings via the navmap
* First attempt at improving efficiency
* Second attempt at optimization, entity grouping added for solar panels
* Finished solar panel entity joining
* Finished major revisions, code clean up needed
* Finializing optimizations
* Made requested changes
* Bug fix, removed obsolete code
* Bug fixes
* Bug fixes
* STarted revisions
* Further revisions
* More revision
* Finalizing revisions. Need to make RT PR
* Code tidying
* More code tidying
* Trying to avoid merge conflicts
* Trying to avoid merge conflicts
* Removed use of PVS
* Improving efficiency
* Addressed a bunch of outstanding issues
* Clear old data on console refresh
* UI adjustments
* Made node comparison more robust. More devices can be combined into one entry
* Added missing component 'dirty'
(cherry picked from commit 1de682e23fd3cb832fa3328a7e6c4bd4b1a858f7)
* Corner clothing (save point)
* IT WORKS. YIPPEE
* the last of it
* template rejigs
(cherry picked from commit 9b18357a882d6a9e3dfb3b4fccaa42f65238c9f0)
* Completely untested first commit
* Get basic program flow working
* Add Innocent
* Add Fancy Rich Text
* Icon
Thanks, IcedQuinn!
* Add Cartridge icons
* New image from IcedQuinn
* Add explanation on what a Sophont is, to be automatically appended to any text referencing a Sophont later on
* Convert tabs to spaces
* remove [bold] tags from loc
* Make text bold again
* Alter formatting, reduce text length for sophont explanation to fit it on the screen
* Update Resources/Locale/en-US/deltav/cartridge-loader/cartridges.ftl
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: Tim Falken <timfalken@hotmail.com>
* Add program to more PDA's
* Add a tip about the app
* Recreate flow in yaml
todo: actually load and use this yaml
* Remove the old state machine, and add configurable yaml prototypes to define pages
* Move page to its own file
---------
Signed-off-by: Tim Falken <timfalken@hotmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* sync
* sync
* no more squiggles..
* last build error
* updated maps for testing
* some issue with receiving arrivals setup
* networkpayload refactor. TODO: accurate timings
* timings accurate. TODO: backport old bugfix
* all set?
* cleaned up source. TODO: diff arrivals methods
* cleaned component. TODO: escape polish, docs
* first documentation pass
* escape timers work
* no more magic numbers
* removed dead code leads
* sync
sync
* Automatic changelog update
* shuttle timer groundwork
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
* BBQ rib sandwich (#21180)
* Fix missing toggle fullscreen loc string (#21264)
* Cave Decoration pack (#21265)
* add chromite chasm
* add desert chasm
* snow chasm
* finish
* fixes and tweaks (#21172)
* Automatic changelog update
* Fix ItemPlacer (#21160)
This is going to lead to many entities being ticked unnecessarily and performance problems.
* headrev spawn music (#21119)
* headrev spawn music
* :trollface:
* skill issue
* double skill issue
* :trollface:
* :trollface:
* :trollface:
* Automatic changelog update
* Techfab resprite + department fab sprites (#21136)
* Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM
* typo fix
* addressing review
* Show "departed and moved on" for when a ghost role is taken (#21092)
* fix ghost role not counting for "departed and moved on"
* I don't think that bit was needed so away it goes
* hopefully finish the upsream merge
* Automatic changelog update
* Implant whitelist/blacklisting (#20678)
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Automatic changelog update
* Ion storm event (#20277)
* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Automatic changelog update
* A return to foam (foam rework) (#20831)
* Automatic changelog update
* ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)
* "assist with medical efforts"
* CentComm official description change
* give cburn ert mask
* Ert medic hardsuit uses blood-red medic values
* description changes, they all used to use the blood-red description
* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.
* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.
* spawn suffix changes
* shorten suffix
* drop armor from ert jumpsuits
* drop armor from DS jumpsuit
* add more armor to death squad to make up for removed armor in the uniform.
* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values
* add nanotrasen
* removed duplicate
* give centcom IDs their hud icon
* replace all ert bulletproof armor with basic universal armor
* replace all oxygen tanks with air tanks; species is random.
* remove gun and meds from ert engineer kit
* give ert engineer materials
* remove weapons and meds from janitor ert
* give ert janitor light replacer
* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.
* Give ert sec the security pistol kit
* typo
* give eva ert sec pistol
* give eva janitor ert gas mask
* give jani purple gloves
* medical gloves for medical ert
* replicate security loadout to leader
* quick ert lecter spawns for lazy admins
* better suffixes to find them easier
* add cburn to ertspawn
* Replace "Spawn" with "role"
* Add death squad. Give ert engineer gas analyzer.
* death squad using wrong equipment
* typo
* missing ghost roles on lecter loadouts
* add freedom implanter to deathsquad
* deathsquad ghost role text
* Operative sounds better
* give Ds flashbang box (why isn't it entirely filled?)
* fix typo. add energy shield to DS
* fix typos
* all centcomm roles are now mindshielded. These cannot be removed.
* Rider didnt include some of the changes ?
* give zipties instead of cuffs for mass arrests!
* upgrade ERT survival boxes to extended capacity
* give cburn extended oxygen too
* Automatic changelog update
* Restore Leviathan's 80 pop cap (#21281)
* Un-revert IPlayerManager refactor (#21244)
* Update engine to v172.0.0 (#21288)
* Bandaid tests (#21292)
* rename the rocks (#21275)
* Make crystals noRot (#21279)
IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.
* Fix nukies sound not played (#21268)
* Play sound and sending greeting message works for nukies now!!!!!
* oops
* silly change
* Automatic changelog update
* Fix hijack objective (#21241)
* Fix hijack
* Max difficulty
* Remove GridModifiedEvent (#21291)
* Update submodule to 173.0.0 (#21296)
* Fix namespace error (#21298)
* Update yaml sequence option in editorconfig (#21297)
* Fix namespace (#21299)
* fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)
* Health analyzer UI improve (#17280)
* Automatic changelog update
* User accessible playtime (#21242)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Moves cloning comp & cloning event to shared (#21253)
* Generalizes solution overflow & slightly increases space lube yield (#21094)
* generalize SolutionSpikeOverflowEvent
* let reactions overflow
* spacelube: 3 -> 5
* restore TryMixAndOverflow threshold cap
* Automatic changelog update
* Move ActorComponent to shared (#21293)
* Update engine to v174.0.0 (#21311)
* Fix planet command help message (#21312)
* Wearable bee plush (#20623)
* add
* fix
* temporary change, needs fixing
* mayb fix
* actually fix FR
* yes
* Automatic changelog update
* remove pulse rifle from ert medic (#21310)
* Content audio (#20862)
* Automatic changelog update
* Update submodule to 175.0.0 (#21318)
* Revert "Update submodule to 175.0.0 (#21318)" (#21319)
* Atomic bomb add uranium (#21143)
* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.
* Atomic bomb
* Action bugfixes (#21321)
* Disable OOC during round (#21323)
* Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)
* Automatic changelog update
* Update belt.yml (#21317)
changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)
* New foam sprites (edge sprites) (#21308)
* New foam sprites (icon smoothing)
* changed to edge sprites for foam
* fix
* edges for metal foams
* fix
* Fix bola stam damage, bring back old construction requirements (#21340)
* Automatic changelog update
* Added thermal insulation to flannel jackets (#21273)
* Automatic changelog update
* Space Asshole Gear (#21243)
* Add Space Asshole Coat
* Add sledgehammer
* Adjust sledgehammer damage values
* Add copyright string to sledgehammer
* Fix broken slot highlight in midnight theme. (#21331)
* removed dead code leads
removed redundant ensurecomps
* textscreen documentation
* remove redundant ensurecomps
* Add hint for the examine trigger effect (#21166)
* examine locale
* examine trigger desc
Automatic changelog update
cornmeal is actually obtainable now (#21162)
* do the thing
* lets find out
* Update Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Automatic changelog update
Healing skeletons by pouring milk over them (and clean pie remains off their skulls) (#21231)
* mvp done - skellies can heal by spillink regular milk on themselves and clean themselves off creaming with water
* added other types of healing milk, also made a separate reaction to oat milk - it has almost no calcium in it
* fixed indent error, made a dumb mistake
Automatic changelog update
Fix anomaly locators frantically beeping when entering detection range. (#21178)
* reset beep timer when out of range
* prevent deficit from impacting beep timing
Automatic changelog update
Remove "mk --> mmm, okay" and "u --> you" to chatsan anti slang (#21177)
Automatic changelog update
Adds AttemptEntity(Uns|S)tickEvent. (#20728)
* try-stick
* convert spider charge to attempt-stick-events
Change ListContainer to send null when selected is removed from the data (#20595)
fix feeding unremovable items (#21234)
Automatic changelog update
Power switchable refactor (#20419)
Co-authored-by: deltanedas <@deltanedas:kde.org>
simple space mobs cant be flashed (#20784)
Co-authored-by: deltanedas <@deltanedas:kde.org>
give roundstart borgs names (#20081)
Co-authored-by: deltanedas <@deltanedas:kde.org>
fix searching on vending machines (#21233)
syndicate snack box (#21024)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Fix DockingControl (#21238)
Shadow Dimension visual pack (#21237)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Potato battery update + potato AI (#21142)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
[TEST MERGE] Slot-based Storage (#21212)
Automatic changelog update
Some mild item size balancing + fixes (#21250)
Automatic changelog update
Revert "Storage TEST MERGE" (#21258)
Add missing changelog for storage refactor revert (#21259)
* sync
sync
* Automatic changelog update
shuttle timer groundwork
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
BBQ rib sandwich (#21180)
Fix missing toggle fullscreen loc string (#21264)
Cave Decoration pack (#21265)
* add chromite chasm
* add desert chasm
* snow chasm
* finish
fixes and tweaks (#21172)
Automatic changelog update
Fix ItemPlacer (#21160)
This is going to lead to many entities being ticked unnecessarily and performance problems.
headrev spawn music (#21119)
* headrev spawn music
* :trollface:
* skill issue
* double skill issue
* :trollface:
* :trollface:
* :trollface:
Automatic changelog update
Techfab resprite + department fab sprites (#21136)
Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM
* typo fix
* addressing review
Show "departed and moved on" for when a ghost role is taken (#21092)
* fix ghost role not counting for "departed and moved on"
* I don't think that bit was needed so away it goes
* hopefully finish the upsream merge
Automatic changelog update
Implant whitelist/blacklisting (#20678)
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Automatic changelog update
Ion storm event (#20277)
* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Automatic changelog update
A return to foam (foam rework) (#20831)
Automatic changelog update
ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)
* "assist with medical efforts"
* CentComm official description change
* give cburn ert mask
* Ert medic hardsuit uses blood-red medic values
* description changes, they all used to use the blood-red description
* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.
* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.
* spawn suffix changes
* shorten suffix
* drop armor from ert jumpsuits
* drop armor from DS jumpsuit
* add more armor to death squad to make up for removed armor in the uniform.
* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values
* add nanotrasen
* removed duplicate
* give centcom IDs their hud icon
* replace all ert bulletproof armor with basic universal armor
* replace all oxygen tanks with air tanks; species is random.
* remove gun and meds from ert engineer kit
* give ert engineer materials
* remove weapons and meds from janitor ert
* give ert janitor light replacer
* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.
* Give ert sec the security pistol kit
* typo
* give eva ert sec pistol
* give eva janitor ert gas mask
* give jani purple gloves
* medical gloves for medical ert
* replicate security loadout to leader
* quick ert lecter spawns for lazy admins
* better suffixes to find them easier
* add cburn to ertspawn
* Replace "Spawn" with "role"
* Add death squad. Give ert engineer gas analyzer.
* death squad using wrong equipment
* typo
* missing ghost roles on lecter loadouts
* add freedom implanter to deathsquad
* deathsquad ghost role text
* Operative sounds better
* give Ds flashbang box (why isn't it entirely filled?)
* fix typo. add energy shield to DS
* fix typos
* all centcomm roles are now mindshielded. These cannot be removed.
* Rider didnt include some of the changes ?
* give zipties instead of cuffs for mass arrests!
* upgrade ERT survival boxes to extended capacity
* give cburn extended oxygen too
Automatic changelog update
Restore Leviathan's 80 pop cap (#21281)
Un-revert IPlayerManager refactor (#21244)
Update engine to v172.0.0 (#21288)
Bandaid tests (#21292)
rename the rocks (#21275)
Make crystals noRot (#21279)
IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.
Fix nukies sound not played (#21268)
* Play sound and sending greeting message works for nukies now!!!!!
* oops
* silly change
Automatic changelog update
Fix hijack objective (#21241)
* Fix hijack
* Max difficulty
Remove GridModifiedEvent (#21291)
Update submodule to 173.0.0 (#21296)
Fix namespace error (#21298)
Update yaml sequence option in editorconfig (#21297)
Fix namespace (#21299)
fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)
Health analyzer UI improve (#17280)
Automatic changelog update
User accessible playtime (#21242)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Automatic changelog update
Moves cloning comp & cloning event to shared (#21253)
Generalizes solution overflow & slightly increases space lube yield (#21094)
* generalize SolutionSpikeOverflowEvent
* let reactions overflow
* spacelube: 3 -> 5
* restore TryMixAndOverflow threshold cap
Automatic changelog update
Move ActorComponent to shared (#21293)
Update engine to v174.0.0 (#21311)
Fix planet command help message (#21312)
Wearable bee plush (#20623)
* add
* fix
* temporary change, needs fixing
* mayb fix
* actually fix FR
* yes
Automatic changelog update
remove pulse rifle from ert medic (#21310)
Content audio (#20862)
Automatic changelog update
Update submodule to 175.0.0 (#21318)
Revert "Update submodule to 175.0.0 (#21318)" (#21319)
Atomic bomb add uranium (#21143)
* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.
* Atomic bomb
Action bugfixes (#21321)
Disable OOC during round (#21323)
Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)
Automatic changelog update
Update belt.yml (#21317)
changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)
New foam sprites (edge sprites) (#21308)
* New foam sprites (icon smoothing)
* changed to edge sprites for foam
* fix
* edges for metal foams
* fix
Fix bola stam damage, bring back old construction requirements (#21340)
Automatic changelog update
Added thermal insulation to flannel jackets (#21273)
Automatic changelog update
Space Asshole Gear (#21243)
* Add Space Asshole Coat
* Add sledgehammer
* Adjust sledgehammer damage values
* Add copyright string to sledgehammer
Fix broken slot highlight in midnight theme. (#21331)
* removed old ensurecomps, stubs
removed dead code leads
removed redundant ensurecomps
sync
sync
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
removed dead code leads
textscreen documentation
remove redundant ensurecomps
* sync
* new shuttletimer sprite/offset
* sync
* sync
* sync
* sync
* sync
* builds
* sync
* sync
* sync
* offset adjustments
* timer pattern implemented
* arrivals timer system seems to work
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* implements shuttletimers
* centcomm timers
* set color to tg 1097fb
* textscreen -> signalscreen, shuttletimer -> screen
* move screens out of timer.yml
* pruned unused properties/imports
* license+copyright for screen.rsi
* forgor change signaltimer event handler doc
* roundstart arrivals ftl logic
* block signaltimer screentext updates during timing
* merged robust 185
* centcomm carpet uid collision PLEASE MERGE MY PR
* remove arrivalssystem entitymanager dependency
* refactored magic strings, added roundend getters
* specific vgstation sprite commit licensing
---------
* Add more DNA interactions
* remove unused import
* update based on feedback
* Add event for chemistrysystem.injector
* move event to shared; transfer dna to implanter
* doafter and interaction event fixes
* add BreakOnHandChange
* doh
* use events instead of updating component directly
* Add DataFields to ForensicScannerComponent fields
* Convert most events to system api call
* Adds uses before delay so actions can be used multiple times before cooldown
* adds methods to get remaining charges, to set uses before delay, and to set use delay
* adds method to change action name
* moves set usedelay
* action upgrade ECS
* adds method to reset remaining uses
* adds upgrade events
* refactors action upgrade event and adds logic to parse it
* fix serialization issue
* adds level up draft method
* adds action commands and a command to upgrade an action
* more warning lines to help
* Gets action to upgrade properly
* Removes unneeded fields from the action upgrade component and now properly raises the level of the new action
* Cleans up dead code and comments
* Fixes punctuation in actions-commands and adds a TryUpgradeAction method.
* removes TODO comment
* robust fix
* removes RT
* readds RT
* update RT to 190
* removes change name method
* removes remaining uses & related fields and adds that functionality to charges
* Adds Charges to action tooltips that require it
* Fix chat filter button
Oh look, the popup code was copy pasted between chat filter and channel selector.
Hilarious.
Anyways same stuff as 995f506aafd770dd6572dfc9e7bf9e18186e485a. I pulled it all out into a base class so NO MORE COPY PASTE.
Fixes#22360
* Remove all further EnableAllKeybinds buttons.
Fixes#22346
Yeah none of these are valid use cases, why is this set...
By making the UI elements persistent, it allows tooltips to remain
on-screen when other elements are updated - in particular, the number
of research points, which is updated regularly.
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Gateway generation
* Gateway stuff
* gatewehs
* mercenaries
* play area
* Range fixes and tweaks
* weh
* Gateway UI polish
* Lots of fixes
* Knock some items off
* Fix dungeon spawning
Realistically we should probably be using a salvage job.
* wahwah
* wehvs
* expression
* weh
* eee
* a
* a
* WEH
* frfr
* Gatwey
* Fix gateway windows
* Fix gateway windows
* a
* a
* Better layer masking
* a
* a
* Noise fixes
* a
* Fix fractal calculations
* a
* More fixes
* Fixes
* Add layers back in
* Fixes
* namespaces and ftl
* Other TODO
* Fix distance
* Cleanup
* Fix test
* Deep Fryer And Its Powers
The Deep Fryer has been implemented. It uses Corn Oil, Ghee, and Olive Oil to fry. Other features include:
1. Mixing Oil and Water at a certain temperature causes smoke.
2. When throwing an object at the Deep Fryer, a Chef will *always* land the shot, but anyone else has a chance of missing.
3. When an item is sliced, an event is triggered that other items can see.
* Update meal_recipes.yml
* Reworking the effects so they won't trigger on init.
* Create DeepFryerTest.cs
* Commenting out the UnsafeOilVolumeEffects part of the .yml. Something about the sound script inside of it breaks UnintializedSaveTest and it's not necessary for a smoke reaction to occur anyway.
* Update DeepFryerSystem.cs
* Psionics
It's a ton of stuff relating to the basic Psionics system and all the powers.
I'm saving this as a bit of a sanity check before moving forward.
Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Some final psionic cleanup.
The last batch of content.
* Update RobustToolbox
* rebased
* Revert "Update RobustToolbox"
This reverts commit c0cf35d03f.
* Update RobustToolbox
* Revert "Update RobustToolbox"
This reverts commit c4dc828df7.
* Update RobustToolbox
* Psionics
It's a ton of stuff relating to the basic Psionics system and all the powers.
I'm saving this as a bit of a sanity check before moving forward.
Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Some final psionic cleanup.
The last batch of content.
* rebased
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Broken Commit
With these changes in place, the unit does not work. Recording them so i don't lose my work.
* Brings it All Together.
Dawn of the final Commit. Rebase completed.
* Update RobustToolbox
* Changed 'Station Events' to 'StationEvents' and cleaned up the Delta-V Events.yml file of duplicate events.
* Delete ghost_roles.yml
Duplicate.
* Update familiars.yml
* Update familiars.yml
* Update GlimmerReactiveSystem.cs
* Makes tinfoil hats craftable.
* Decided I'm not dealing with adding fugitives or Glimmer Wisps right now.
* Psionic invisibility won't work now that Eye component exists. Or at least, the integrator test won't psas.
* Update special.yml
* Added #nyanotrasen code or //Nyanotrasen code to many, many files.
* Properly fixes comments.
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: PHCodes <47927305+PHCodes@users.noreply.github.com>
Co-authored-by: Debug <sidneymaatman@gmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* redone
* I FUCKING HATE SPAWNING STUFF IN SHARED
* inheritdoc
* owo
* fly broken wings
* From a server event to just an event.
* more info
* a comment and a different comment
* Partial
* Emo's requested changes.
* wuh
* head ache
* they call me mean names (laugh track)
* Reverse Engineering.
It's engineering. It's reversed. I implemented Bluespace Crystals to get everything to work. I may have missed some recipes in the Lathes. Otherwise, everything seems like it just works. Blukie suits baby.
* Fixing the Bonus mechanic out of testing.
* Fixing Attributions.
* Fixing Attributions again because it won't let me put in multiple links into one string.
* Not dealing with Techfabs right now, integration tests will not pass with them.
* Added appropriate comments
---------
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Near-sighted trait from SIMPLE STATION 14
AKA PARKSTATION
COMING NOW TO THE REBASE!!!!
FUNNY CODE MADE BY DEATH (allegedly)[joke]{unless?}
After i figure out what does a component not have a setter mean.
* Aparently this was needed
The trait doesnt appear in the traits so thats funny.
* The - update
Aparently its very important.
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Option for alt health alert and no overlay
* Fancy borg health indicator
* Borg damage examine localization
* EENENGHHHH ENNNGHHH
* Requested code changes
* Legal sound
* Revert "Legal sound"
This reverts commit 35715c88898aeb78dfe800319852c230395fdd7e.
I misunderstood what Sloth meant
* Annoying buzzer is back
* locale for material units
* use material units in lathe ui
* give units to non-sheet materials
* :trollface:
* use volume properly
* :trollface:
* review
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
This completes PilgrimViis' (now closed) PR 16398. It addresses issue 10896, by allowing materials to be ejected from most lathes (except the ore processor and sheet-meister 2000)
* - Refinements to the material ejection UI
- Made the lathe UI default to a slightly larger size
- Fixed an offset issue with the label of the item currently being printed in the build queue UI
* Allow the materiel reclamation UI to pop if there is material left in the lathe, but not enough to print any sheets
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Fix editing a watchlist temporarily making it appear as a low severity note
* Change condition to check that the note type is anything other than note
* Revert "Change condition to check that the note type is anything other than note"
This reverts commit 5c12d89fe8b3547dc11b19bb04e980fe4e7bf206.
* Update Content.Client/Administration/UI/Notes/AdminNotesLine.xaml.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Check that the note type doesn't have a special icon instead
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Add ahelp typing indicator for admins
* Lower typing updates throttle from 3 seconds to 1
* Add stopping typing when sending a message
* Lower typing indicator timeout from 15 to 10 seconds
* Laws
* positronic brain and PAI rewrite
* MMI
* MMI pt. 2
* borg brain transfer
* Roleban support, Borg job (WIP), the end of mind shenaniganry
* battery drain, item slot cleanup, alerts
* visuals
* fix this pt1
* fix this pt2
* Modules, Lingering Stacks, Better borg flashlight
* Start on UI, fix battery alerts, expand activation/deactivation, low movement speed on no power.
* sprotes
* no zombie borgs
* oh fuck yeah i love a good relay
* charger
* fix the tiniest of sprite issues
* adjustable names
* a functional UI????
* foobar
* more modules
* this shit for some reason
* upstream
* genericize selectable borg modules
* upstream again
* holy fucking shit
* i love christ
* proper construction
* da job
* AA borgs
* and boom more shit
* admin logs
* laws redux
* ok just do this rq
* oh boy that looks like modules
* oh shit research
* testos passo
* so much shit holy fuck
* fuckit we SHIP
* last minute snags
* should've gotten me on a better day
* Basic TEG start.
Connects via node group.
* Basic TEG test map
* Sensor monitoring basics, TEG circulator flow
* Basic power generation (it doesn't work)
* More sensor monitoring work
* Battery (SMES) monitoring system.
* Sensor monitoring fixes
Make it work properly when mapped.
* Test map improvements
* Revise TEG power output mechanism.
Now uses a fixed supplier with a custom ramping system.
* TEG test map fixes
* Make air alarms and pumps open UI on activate.
* Clean up thermo machines power switch.
Removed separate Enabled bool from the component that always matched the power receiver's state.
This enables adding a PowerSwitch component to give us alt click/verb menu.
* TEG but now fancy
* Make sensor monitoring console obviously WiP to mappers.
* Vending machine sound, because of course.
* Terrible, terrible graph background color
* Examine improvements for the TEG.
* Account for electrical power when equalizing gas mixtures.
* Get rid of the TegCirculatorArrow logic.
Use TimedDespawn instead. The "no show in right-click menuu" goes into a new general-purpose component.
Thanks Julian.
* Put big notice of "not ready, here's why" on the sensor monitoring console.
* TryGetComponent -> TryComp
* Lol there's a HideContextMenu tag
* Test fixes
* Guidebook for TEG
Fixed rotation on GuideEntityEmbed not working correctly.
Added Margin property to GuideEntityEmbed
* Make TEG power bar default to invisible.
So it doesn't appear in the guidebook and spawn menu.
I'm not entirely sure what happens, I know it's markings being loaded from DB with the same ID as a prototype that was modified don't jive, but I'm not entirely sure if it's the best fix.
The access configurator programs the access levels of any access reader. To use the access configurator, players must:
- Insert an ID card
- Click a nearby entity with an access reader with the access configurator in hand
- Change the access list
Note that players only need one of the access levels listed on the device to lock/unlock it, but will only be able to alter access settings when they all of the access levels listed on the device
For example, an airlock which has 'Science' and 'Engineering' access listed can be opened by any player with either 'Science' or 'Engineering' access. However, to change the access settings on this airlock, a player must have both 'Science' and 'Engineering' access. This is to prevent people from easily breaking into secure areas with this tool, by adding one of their own access levels to the target device
Obviously, the most useful ID card to use with this tool is one with all access, since it can change the settings of any device. Removing all access requirements from a device will make it useable by anyone.
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Xeno spitter fixes
- Require hands for pickup compounds
- Ranged combat can force movement to ignore LOS checks if ranged wants better LOS.
* Also spirates
IDK how this worked before but TryGetGun shouldn't care about combatmode.
* 1 more
* 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>
* turret go boom
* fix ammo
* universal function name
* Also explodes when destroyed
* comment added
* Triggerwhenemptycomponent added
* comment adjusted
* Updated uplink description
* Moved to own event file
* file namespace
* rerun tests
---------
Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
* Add Console, PDA news tab, and ringstone popup
* Add English localization
* Add mass-media console board to Advanced Entertainment resrarch
* Fix misprint
* Deleting unused libraries
* Fix round restart problem
* Fixing restart problem
* Just another fix
* Сode optimization
* Code optimization
* Convert News read tab to cartridge
Convert the News read tab into a cartridge, and fix a couple of bugs
* Just another fix
* Some updates
* More fixing!!
Fix cooldown, add author label to read menu
* Again, fix cooldown bug
* Some minor changes
* Revert "Some minor changes"
This reverts commit 470c8d727629ac79994f70e56162adae8659e944.
* Some minor updates
* News write Ui update
* Just another fix
* See commit below comments
* More code readability, more!
* Add Console, PDA news tab, and ringstone popup
* Add English localization
* Add mass-media console board to Advanced Entertainment resrarch
* Fix misprint
* Deleting unused libraries
* Fix round restart problem
* Fixing restart problem
* Just another fix
* Сode optimization
* Code optimization
* Convert News read tab to cartridge
Convert the News read tab into a cartridge, and fix a couple of bugs
* Just another fix
* Some updates
* More fixing!!
Fix cooldown, add author label to read menu
* Again, fix cooldown bug
* Some minor changes
* Revert "Some minor changes"
This reverts commit 470c8d727629ac79994f70e56162adae8659e944.
* Some minor updates
* Rewrite all implanter and implant descriptions
* Make implanter status control resemble syringe's
* Add implant description to implanter examine
* Remove unused usings
* zombie mode redux
* the great zombie changes
* fix this
* 65 down to 50
* empty
* Changes to address stalling
* make zombie nukies no longer nukies
* actually work
* Ports temperature scanning from mining station 14
* Added blood level to analyzer
* adds body temp and blood level to health analyzers and cryo
* Blood and temperature will show N/A if not available
* PA Fixes
Fix exception when opening UI if it has the power limiter warning displayed.
Fix it sometimes not detecting parts due to angles not getting normalized before comparison.
* Fix swapped out sprites for PA emitter P0 states
* D&D character sheets
* Tabletop improvements
* Grass battlemap
* You can now put shit inside of the board
* change variable name
* make the grass tabletop better, again
* update the damn thing AGAIN
* update the shit AGAIN
* You can now take stuff out of tabletops
* Make it use parenting to avoid zany bugs
* MORE battlemaps! Battlemaps for everyone!
* You can now dump out pieces + cleanup
* All (most) non-game pieces should fall to the ground
* make the verb a bit more responsive
* Librarian content officially done
* fix tests i think
* i forgot the sheet
* Smidgen of refactoring
* You can no longer put high risk items inside of boards
* no boardgame defusal
* minor refactoring
* hoplogrma
* doc
* fix rt
* Make stack count affect item size
* and the test, too
* readd this check
* vwoom
* huh
* if you ever read this commit message ping me on discord in #contributors
* changerinos
* Fix action bar not filling with mappables
* Update Content.Client/UserInterface/Systems/Actions/ActionUIController.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* im good at atomizing. welcome to half-finished chem guides.
* wagh
* e
* save work
* aa
* woweee UI
* finishing the last of it
* don't actually update the engine :(
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Implement device network device shutdown subscribtion
Implement removing devices from device lists when they get deleted
* Improve name and doc comment for DeviceShutDownEvent
* Change ShutdownSubscriber data field tag
* Change UpdateRemovalSubscription name to UpdateShutdownSubscription
* Added Gloves of North Star, no sprite or talking yet...
* Added sprites for the gloves of the north star...
* Replaced more placeholder sprites for northstar gloves...
* Added gloves of the north star to uplink...
* Added speech on hit, not yet configureable
* Not functional yet, but a step in the right direction I hope...
* IT WORKS!!
* Licensing and cleanup
* Reduced attack speed, changed from chat to popup, added some admin logging. It was causing too much adminlog spam otherwise
* Reorganized some files, final build??
* Changed the adminlog type from Verb to new type ItemConfigure
* More cleanup, fix sprite reference maybe
* Keronshb's suggestions, fixed some stuff, made hit sound use the meaty punch sfx
* Adds support for hiding speak/whisper/emote from adminlogs, makes northstar speak again!
* Some file shuffling, some of Keronshb's requests. Might appear a bit funky in github because vscode kept duplicating files for some reason and I had to delete them
* Made it work with the latest changes on Master
* Final? cleanup, upped dmg to 8, made ui not activate on activateinhand, instead you need to right click
* Set value to 0 credits, that's all
* Well that was much easier than I made it out to be. Now you can only activate the gloves with right click, no more mispredicts.
* Update MeleeWeaponSystem.cs
Iunno why this got changed in the first place, but I'm changin it back
* emptycommit
* emptycommit
* The tiny fixening
* Cannot stack binary and trinary Atmos pumps and devices
- Filters now have a 5x max volume to compensate for no more stacking
- Add flipped versions of mixers and filters to the list of constructables
* Oi! No anchoring unstackables together!
* Use EntityLookupSystem in Unstackable and Window lookup
- Use static method for AnyUnstackableTiles
* PDA update and fix
* fix alert level
* Fix color level
* Maybe this will look better
* PDA update and fix
* fix alert level
* Fix color level
* Maybe this will look better
* Now threat color is taken in the same way as for emergency lamps
* Minor improvements
* Fix alert level string
* AlertLevelChangedEvent for all PDAs
* StationAlert is also stored in PDAComponent
* Removed IdAccessLevels
* Removed Access from PDAMenu.xaml.cs and Draw time real-time
* AlertLevel updated from AlertLevelChangedEvent
* Removed garbage
* Removed garbage from PDAUpdateState.cs
* Change comp-pda-ui-station-time
* revert rename PDAOwnerInfo to PdaOwnerInfo
* remove not use short names jobs
* "ftl var should be lowercase"
* "ftl var should be lowercase" again
* transfer StationAlert to PDAIdInfoText
* transfer StationAlert to PDAIdInfoText
* Line breaks of parameter/argument lists conventions
* not randomly inline property attributes
* no broadcast AlertLevelChangedEvent
* fix cctualOwnerName
* GridModifiedEvent never called
* add alert-level-unknown-instructions
* UpdateAlertLevel for latejoin
* Add alert-level-unknown
* Revert "GridModifiedEvent never called"
This reverts commit fa7d1620
* remove garbage and fix quite long
* Fix next never sending logs for rounds outside the cache
* Show round's total log count on the ui
* Disable next button when waiting for a next response
* Cleanup AdminLogsEui.CurrentRoundId
* Fix popout window width
* brigtimer
* ok
* TextScreen w timer implementation
* second commit
* working brig timer
* signal timers near completion
* soon done
* removed licenses, fixes noRotation on screens, minor edits
* no message
* no message
* removed my last todos
* removed csproj.rej??
* missed a thing with .yml and tests
* fix tests
* Update base_structureairlocks.yml
* timespan type serialize
* activation turned into comp
* sloth review
* Update timer.yml
* small changes
---------
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
Co-authored-by: rolfero <45628623+rolfero@users.noreply.github.com>
* limitedcharges stuff from emag
* changes except broken
* fix
* the
* move recharging to server, emag namespace -> charges
* the
* use resolve
* pro
webedit gaming
* the
* the
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* start of space ninja midround antag
* suit has powercell, can be upgraded only (not replaced with equal or worse battery)
* add doorjacking to ninja gloves, power cell, doorjack objective (broken), tweaks
* 💀
* add basic suit power display that uses stamina rsi
* add draining apc/sub/smes - no wires yet
* add research downloading
* ninja starts implanted, move some stuff to yaml
* add Automated field to OnUseTimerTrigger
* implement spider charge and objective
* fix client crash when taking suit off, some refactor
* add survive condition and tweak locale
* add comms console icon for objective
* add calling in a threat - currently revenant and dragon
* combine all glove abilities
* locale
* spark sounds when draining, refactoring
* toggle is actually toggle now
* prevent crash if disabling stealth with outline
* add antag ctrl for ninja, hopefully show greentext
* fix greentext and some other things
* disabling gloves if taken off or suit taken off
* basic energy katana, change ninja loadout
* recallable katana, refactoring
* start of dash - not done yet
* katana dashing ability
* merge upstream + compiling, make AutomatedTimer its own component
* docs and stuff
* partial refactor of glove abilities, still need to move handling
* make dooremaggedevent by ref
* move bunch of stuff to shared - broken
* clean ninja antag verb
* doc
* mark rule config fields as required
* fix client crash
* wip systems refactor
* big refactor of systems
* fuck
* make TryDoElectrocution callable from shared
* finish refactoring?
* no guns
* start with internals on
* clean up glove abilities, add range check
* create soap, in place of ninja throwing stars
* add emp suit ability
* able to eat chefs stolen food in space
* stuff, tell client when un/cloaked but there is bug with gloves
* fix prediction breaking gloves on client
* ninja soap despawns after a minute
* ninja spawns outside the station now, with gps + station coords to navigate
* add cooldown to stun ability
* cant use glove abilities in combat mode
* require empty hand to use glove abilities
* use ghost role spawner
* Update Content.Server/Ninja/Systems/NinjaSuitSystem.cs
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* some review changes
* show powercell charge on examine
* new is needed
* address some reviews
* ninja starts with jetpack, i hope
* partial feedback
* uhh
* pro
* remove pirate from threats list
* use doafter refactor
* pro i gave skeleton jetpack
* some stuff
* use auto gen state
* mr handy
* use EntityQueryEnumerator
* cleanup
* spider charge target anti-troll
* mmmmmm
---------
Co-authored-by: deltanedas <deltanedas@laptop>
Co-authored-by: deltanedas <user@zenith>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* Add EscapeContext
Escape context input closes windows if there are any open. If there are not any windows it opens the game menu.
* Add fluent for Escape Context
* Move EngineContext keybind to content
* Readd WindowCloseAll
* Fix EscapeContext not opening the game menu after using WindowCloseAll
WindowCloseAll does not clear the CloseRecentWindowUIController.recentlyInteractedWindows, which caused HasClosableWindow to return true because the list still had items.
Changed HasClosableWindow to check if windows in the list are still open and clear them if they aren't.
* Clean up EscapeContextUIController
* add new labels and buttons for records stantion console
* add fingerprint fields for server
* set buttons and updates for fingerPrints filters
* set fingerprints filters
* final set for finger prints filters
* add new trhaslates for station records computer
* some fix for the PR
* refactor server side station record console system
* add message for filters
* add tranlates
* add new ui with several filters
* updetes prints with server side logic
* resolve conflicts with DNA
* resolve conflicts with DNA
* deleted unused variable and rename some fields
* added description for new state
* added select for filter
* set multiplay filters for the console
* added new translates
* add class filters & fixed issue with reset line edit
* fix dublicate with set the selectId for option button
* fixed review notes
* fixed review notes forget changet fix name
* add event TextEntered for better usability
* fixed review notes 3
* fixed formating in xaml
* fixed array with _filterTypes
* fixed ui and made it in minimalistic style
* fixed generalstationRecordFilter class, move method
* delete margin after line edit
* fix placeholder for lineEdit
* fix placeholder for lineEdit, the review note
* Revert "fixed generalstationRecordFilter class, move method"
This reverts commit 1b35c6ac44e7dafe9a1f0560eb177152b822f20b.
* impliment short swith in method IsSkippedRecord
* fixed review notes, remaked method IsSkipped and fix casing
* fixed the review note about check null record name
* Rebindable menu + move menu to default f11
* Moved to F10
* Specify which menu gets toggled by the EscapeMenu button
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Material Reclaimer
* Fix this test
* autostack output, tweak volume, add upgrade examine
* whitelist AND blacklist support
why not
* trying so hard to get this fucking test to work
* EmoGarbage delves into MaterialArbitrageTest, never to return
* VV and restore cloth to glory
* make the system more robust
* even more stuff has composition; add blacklist for important items
* fix test fails
* convert recycling
* forgor :sadge:
* lol
* simply a modiCUM of doc commentary
* save work
* Adds Z levels
* a
* ladders + parallax scroll
* zoom out not in
* oops, sandbox
* oops i broke the law
* run ci
* fuck
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* DNA component
* Commit numba 2
* Added DNA into Station Records Computer
* commit numba 3
* commit numba 4
* Vomit also contain DNA component now
* fixed DNA field not clearing after scanning another item
* commit numba 10
Drinking leaves DNA on an object. Breaking glasses, bottles and beakers leave DNA and leave fingerprints/fibers with 40% chance on glass shards. + lotta fixes
* 11
* 12
* 14
* Added DNA guide entry
* FIX
* station records fingerprints
* Add UI + Fixes
* now itll display N/A if a mob doesnt have a fingerprint
* ? - 0
* f8
* N/A is a fluent string now
* remove locale string duplicating
* no whitespace
instead checks if the final size of the container is supposed to be bigger than zero: if it is, then it will continue to attempt to set the split fraction until the size is no longer zero, then it will do it once last time before stopping
* Marking coloring WIP
* EnsureDefault now supports coloring!
* Now markings have coloring when they get added
* Many things
* yml files
* cleanup
* Some requested changes
* Nullable type and WIP caching
* Time to resolve that thing with deprecated hair fields
* Latest reviews + im still trying to use these hair markings
* FirstOrDefault thing and Tattoo docs
* IDK
* It's now works a bit more properly in preferences GUI
* THEY SYNCING! However preferences GUI still broken and doesn't work properly
* Markings now updating when changing in GUI. However they still don't work properly with bald humanoids
* Forgor...
* Default hair-colored markings will not color to hair if there is no hair
* Fixed default colors for customizable markings
* Fixed bug in prefs GUI that set current hair to null
* Now markings that must match skin color because of limb (e.x. Slimes) - will match skin color
* final tweaks: if hair uses skin color then markings will use skin color as hair color (slimes)
* fix
* fixed dirty. no more funni invis bug
* Mirrors and client profile loading
* default colors soon TM
* review + better coloring
* Hardcode is gone
* diona markings
* oh my god
* fixed CategoryColoring
* cool fallback, clean up and some other tweaks
* code style
* more style
* a
* add include non-players button to log viewer
* breakout player filter check
* fix sending player logs with no players selected
* fix default not returning player logs, causing test issue
* Improves bartending with some tweaks.
- Glasses got resprited and now support fill levels.
-
* New glass type and improve shotglass visuals.
* oobsy
* fixes
* get flasked
* flask
* flask
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Fix examine system after formatted text refactor
Implement key bind markup tag
* Add font prototype definitions
* Update submodule.
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Ore veins
I dislike rocks just providing generic drops and this factors into mining more.
* fixes
* descriptions
* comment
* every flipping time
* Make mining destroy rocks with 1 hit
Having to click 3 times was pretty annoying.
* a
* Fire MeleeHitEvent when there are no targets.
* Prevent certain weapons from activating if they had no hit entities on hit.
* Prevent miss events from firing when target is yourself or was deleted.
* Use .Value as Target is already known not to be null.
* uid changes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* belt multithreading
* moves away from multithreading and changes setting awake directly to physics system method
* prediction for conveyors
* Fixes missing reference in FaxSystem
* Fixes oddities
* Adds networked to conveyor components
* Some more cleanup.
* reverts power change event
* Removes the event, fixes a file
* Should fix the rest of the weird additions
* More cleanup to fix extra files
* Fixes again
* fix
* fixes fax system
* Adds component state, cleans up the dependencies
* Checks for prediction
* Merge conflicts
* powa
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Planetmap tiles
Biomes etc etc
* a
* oop
* Chunk-based rendering
* funny
* Less allocations
* Fix overdraw
* Content tile edge support
Also updated grass to use it as a POC.
* Kindly revert
* Update for variant edges
* fixes
* Use fastnoise
* Remove redundant group
* a
* refactor a fair bit
* Prototype data instead
* tweaks
* a
* fix maths
* working
* a
* Slightly better empty support
* a
* flowers
* sounds
* lewd
* Networking
* more fixes
* better
* colours
* Some chunk loading
* Proper loading and unloading
* Better loading
* Fix parallax and movement sounds
* Anchoring support + decal setup
* Most of the way to load and unload
* Decal loading kinda werkin
* large trees
* started diffing
* a
* Variant support and deserts
* a
* snow
* agony, even
* working again
* todo
* a
* laba tiles
* aeiou
* a
# Conflicts:
# Resources/Prototypes/Entities/Tiles/planet.yml
# Resources/Prototypes/Tiles/planet.yml
# Resources/Textures/Tiles/Planet/Lava/lava.rsi/meta.json
* laba
* Add lava
* Initial ignition
* triggers
* a
* a
* y
* Add basalt tiles
Did some unconventional things for the animation + rocks.
* fixies
* mergies
* promotion
* lava biome
* Lava planet start
* cleanup and more lava
* laba
* maccas
* biome stuf
* weh
* bongflicts
* aeaeae
* More fixes
* a
* these too
* Fix some bugs in stations and do a little cleanup.
* Begin backporting the guidebook.
* wow that's a lot of work.
* More work, gives the monkey some more interactions.
* disco monkye.
* monky
* jobs entry.
* more writing.
* disco
* im being harassed
* fix spacing.
* i hate writing.
* Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* builds again
* a
* pilfer changes from AL
* fix and remove unused code
* pilfer actual guide changes from AL
* localization
* more error logs & safety checks
* replace controls button with command
* add test
* todos
* pidgin parsing
* remove old parser
* Move files and change tree sorting
* add localization and public methods.
* Add help component/verb
* rename ITag to IDocumentTag
* Fix yml and tweak tooltips
* autoclose tooltip
* Split container
* Fancier-tree
* Hover color
* txt to xml
* oops
* Curse you hidden merge conflicts
* Rename parsing manager
* Stricter arg parsing
tag args must now be of the form key="value"
* Change default args
* Moar tests
* nullable enable
* Even fancier tree
* extremely fancy trees
* better indent icons
* stricter xml and subheadings
* tweak embed margin
* Fix parsing bugs
* quick fixes.
* spain.
* ogh
* hn bmvdsyc
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* clean up a bunch of R&D code
* don't store components
* brug
* speedrun some sloth review
* technology disks
* expand functionality, begin work on printer
* disk printer ui
* file
* fix the rebase
* disk console is finito
* Update DiskConsoleSystem.cs
* Add loc support
* New icons and translated weapon
* Explosives
* Finished ammo
* Utils
* Fixes
* Implants and bundles
* Removed sink from surplus
* Tools
* Start working on armor
* Finished armor
* Misc
* Finished uplink
* split admin chat into new channel
* add ability to play audio when a chat message is received and add audio to admin chat
* give client control of AdminChat sound and volume + suppress sound for senders
* InitialCommit (Broken)
* Fixes compile errors
* PR comments. More doc comments. Fixes
* Makes a singularity/event horizon without radiation/physics a valid state to be in
* VV 'fake' setters, fixes the visualizer, fixes the singularity trying to eat itself instead of nearby things.
* Removes unused dependency from Content.Client.GravityWellSystem
* Testing containment and fake VV setters for SingularityGeneratorComponent
* Fixes gravity wells (broken due to LookupFlags.None). Adds recursive Event Horizon consumption
* Fix merge skew
* Fixes for the master merge
* Fix engine commit
* Dirty is obsolete
* Switch over dirty
* Fix requested changes
* ambiant -> ambient
* Moves EventHorionComponent to Shared
* Proper container handling
* Fixes master merge. Fixes post insertion assertions for singularities. Extends proper container handling to gravity wells and the distortion shader.
* Better support for admemes throwing singularities.
* Moves update timing from accumulators to target times
* Update doc comments
* Don't stop me now, cuz I'm havin' such a good time (I'm havin' a ball!)
* YEET
* No changes to intended behaviour at this point. Pretty much just a refactor + bugfixes.
* tweaks to RandomizeState, removing an error caused by setting the state after setting the RSI
* Comments cleanup and removed IsSlippery. To re-add soon for this PR.
* test
* We don't actually use this PuddleGeneric anywhere
* cheeky
* Uncheeky, and tweaks based on #8203
* Recheeky
* A small price to pay for `checks passed`
* Beauty, like ice, our footing does betray; Who can tread sure on the smooth, slippery way
* Undo Slippery Checks
* Begin smoothing. Need to fix the animation-not-playing bug again
* Cleanup
* animation bugfix
* IgnoredComponents tests fix
* mechs
* interaction relay
* atmos handling
* fuck around with interaction events
SPAGHETTI CODE OH MY GOD
* more sprites and whatever the hell
* more mech shit
* more shit for equipment
* starting equipment (for nukie mechs and such)
* equipment cycling
* starting with some of the ui
* a fat chunk of ui prototyping
* done tinkering with ui
* a bunch of ui stuff and what have yous
* cleaning up grabber and state handling
* make the ui actually functional + watch me port a million icons
I swear i'll prune the sprites later blease
* start on construction
* construction yo mamma
* remove some unused files
* fix a silly
* make the graph sane
* make it actually constructible.
* print the boards as well, bozo
* rebalance part prices
* eject action
also i appease the russians by remembering to localize
* Punch Shit
* make mech integrity and repairs work
* Make the UI more based
STOMP STOMP STOMP STOMP
* make equipment even more based
* batteries and other such delights
* make the ui look pimpin af
* make the construction mega based
* UI but so epic
* equipment
* some sweat tweaks
* damage rebalancing
* restructure tech
* fix some shit
* mechs inherit access
* make icons actually use sprite specifiers
* TRAILING COMMAA!!!!!
* fix a mild indentation sin
* undo this change because it isn't needed
* actually fix this
* secret webeditting shhhh
* place this tech here
* comments
* foo
* Implement NetProbeCartridge
* Add audio and a popup when scanning a device
Add some doc comments
* Set program icon
* Add NetProbe cartridge as rare loot to maintenance loot tool spawner
* Make the maximum amount of saved entries configurable
Add a scrollbar that shows when there are more entries than fit on the screen
* Make device net id names translatable
* Add missing Dispose method to ForensicScannerBoundUserInterface.
* Remove old code from ForensicScanner.
* Prevent forensic scanner from being used on the floor and allow its window to stay open when active hand is swapped.
* Use more standardized UI code for ForensicScanner.
* Add a delay to ForensicScanner printing.
* Show name of what was scanned on ForensicScanner UI.
* Add a print sound for ForensicScanner.
* Add more error reporting for ForensicScanner.
* Centralize common logic in ForensicScannerSystem.
* Allow ForensicScanner blank printouts.
* Tweak ForensicScanner audio parameters.
* Work on cartridges
* Work on PDA UI
* Work on PDA UIs program list
* Work on PDA UI borders
* Add DeviceNetworkingComponent to the pda base prototype
* Fix submodule version
* Fix cartridge loader ui key
* Fix pda menu xaml
* Implement relaying ui messages
* Finish implementing the notekeeper cartridge
* Fix submodule version
* Fix errors from merging master
* Fix test failing
* Implement setting preinstalled programs
* Add some documentation to CartridgeLoaderSystem
* Add more doc comments
* Add localization to program names
* Implement review suggestions
* Fix background programs receiving events twice when active
* Xenoarch feedback
print out reports, weight node traversal, dialog for destroy menu, slight effect tweaks
* make the popup not bad
* the popup, jimbo...
* multi-node xeno artifacts
* refactor existing artifact effects
* more tweaks to generation
* more shit plus fix tests
* more generation stuff plus threat levels
* doink
* now make it build
* defer the artifact activation to not cause errors
also pricing
* some changes
* all of the yaml + ui stuff for artifact analyzer
* machine linking and starting to make the ui functional
* artifact analyzer display
* a shit ton of artifact analyzer stuff
* more changes; making destroy work properly; progress bar tweaks
* getting shit going!
ALL RIGHT
* small tweaks that didn't help much
* Komm susser todd: the end of analysis
* recipes and hints and ui, oh my!
* add some in-game sources
gotta prepare for day 1 launch
* node data + ditch random seed in place of id
* bunch of triggers
* finish off the last few triggers
* implement machine examine verb
* knock, flicker, blink, throw
* shatter, foam, shuffle, heat
* fix all the shit i broke
* *some* of these have to be good, no?
25 effects
* callin' it there for effects
* comments + reword some trigger hints
* don't mind this little commit here
* byref event
* fix brokey node entry
* fix low pressure trigger
* mirror review plus fixing 0x40's bug
also the throw artifact threw incorrectly
* randomize the event message a teeny bit
* Refactor ReagentGrinder
- It can now process partial stacks. (Before it would do nothing if the entire stack's solution didn't fit in the output container)
- Get rid of `SharedReagentGrinderComponent`, move shared stuff to `SharedReagentGrinder.cs`.
- Subscribe to events instead of massive switch/case.
- Get rid of update queue thing.
- Change `DoWork` so it's less duplicate code for grinding/juicing.
- Get rid of `ExtractableScalingEvent` and just scale directly based on item stack count.
- Add message for when you try to put something into the reagent grinder that doesn't fit.
- Fix obsolescence warnings.
* Use a timer on component instead of SpawnTimer
* s/StorageCap/StorageMaxEntities
* Don't predict body init
Client doesn't handle predicted entity spawning so the organs hang around.
* Just use init
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
* refactor: Removes FlashLightVisualizer (based on obsolete code) in favor or merging its functionality with HandheldLightComponent
fix: Low power lighting radius animations for lanterns, floodlights and flashlights now properly restore the original light radius when going back to full power
* refactor: Use the LightBehaviour component to animate HandheldLights
refactor: Remove unneeded HandheldLight definitions in some yaml files (already inherited by parents)
fix: Properly change the server side PointLightComponent Enabled property when turning HandheldLights on/off
feat: ReverseWhenFinished property on Fade light behaviours
* Empty commit to rerun CI with the new engine PR
* fix: Restore the correct HandheldLight addPrefix property, whoops
* refactor: blinkingBehaviourID -> blinkingBehaviourId, radiatingBehaviourID -> radiatingBehaviourId
* various fixes
* whoops
* oops
* oop
* removes that call from escape button on unload instead of adding another one
also just moves escape window stuff into the state entered call, as only one is instantiated whenever the state is loaded (and is not dependent on the current screen)
* attempt at moving MainViewport to UIWidget
* oldchat (prototype)
* separate oldchat and default ss14 HUD into their own files
* restores original default game screen logic and adds that logic into separated chat game screen
* hand reloading, several tweaks to port oldchat to main ss14 branch
oldchat is currently not selectable
* screen type cvar, gameplay state screen reloading/loading
* reload screen on ui layout cvar change
* fixes up basic reloading (HUD switching is still very bad)
* some UI widget reloading for main UI screen switching
* alert sync on screen change
* inventory reload
* hotbar margin fix
* chat bubbles above viewport
* whoops
* fixes ordering of speech bubble root
* should fix the chat focus issue (at least in-game, not lobby yet)
* should fix up the lobby/game chat focus
* fixes chat for lobby, turns lobby into a UI state
* viewport UI controller
* viewport ratio selection
* whoops
* adds the /tg/ widescreen ratio
* removes warning from inventory UI controller, adds background to separated chat game screen's chat portion
* menu button reload
* unload menu buttons only from gameplay state shutdown
* bugfix
* character button fix
* adds config options for viewport width/UI layout
* variable naming changes, get or null instead of get to avoid exceptions
* moves entity system get into controller
* fix preview dummy bug
* rerun tests
* rerun tests again
* fix minor visual issue
* rerun tests
* mirror review
* i love map tests randomly failing in prs that don't touch them
* 1 line, i dont know why, it doesn't even matter how hard you try
Reduces visual clutter just slightly, by avoiding bright white text in an otherwise empty and dark space.
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* git mv
* Disable shader while box is open
* Hide entity menu / prevent examine
* fix recursion fix recursion fix recursion fix recursion
* Better visibility checks
* min and max visibility fields
* fix reference point
* humanoid sexmorph sprite restoration
can't believe i broke sex/gender AGAIN
* fixes default species appearances with no profile, tweaks randomization to no longer randomize species
* A
* fixes an oops
#11494
* 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
* lathe and material storage refactor
* materialStorage ECS
it kinda sus tho
* beginning the lathe shitcode dive
* couple lathe visuals and lathe system
* lathe changes and such
* dynamic lathe databases
* rewrote internal logic
on to ui
* da newI
* material display clientside
* misc ui changes
* component state handling and various other things
* moar
* Update Content.Shared/Lathe/LatheComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* first volley of sloth review
* more fixes
* losin' my mind
* all da changes
* test fix and other review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fix doc comment on FitsInDispenserComponent
It's clearly intended to be a doc comment, but wasn't.
* Allow the ChemMaster to accept canisters and bottles
* Give the ChemMaster an output container slot
* Tweak ChemMaster UI layout
* Make more ChemMaster UI tweaks
* Update ChemMaster SpinBox max handling
* Rework the ChemMaster
* Apply suggestions from code review
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
* Implement PR feedback
* Switch ChemMaster to a tabbed UI layout
* Rename Amount to Dosage for clarity
* Replace Amount with Dosage in messages
* Clarify dose in UI
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
* Clean up EntityListDisplay
* Rename EntityListDisplay to ListContainer
* Rename stuff
* Rework ListContainer
* Add tests
* Replace IControlData with record ListData
* Make _data non-nullable
* Fix test record items being duplicates
* Split filter method from populate
* Rename UpdateList to DirtyList
* Replace _count with _data.Count
* Clarify local variable toRemove
* Cleanup
* Add data selection to ListContainer
* Add selection test
* Fix comments and test name
* Fix ListContainer layout hiding items when scaled
* Add test for ListContainer top item
* Toggle fix
* Ensure buttons are re-generated
* Update unread count on select
* a
* Fix toggle test
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
- Change namespace, and folder of FancyWindow to Content.Client.UserInterface.Controls
- Change xaml reference from ui to controls in some places
- Change ClientAlertsSystem from internal to public
- Change namespace, and folder of HighDivider to Content.Client.UserInterface.Controls
* APC construction and deconstruction
Construction action GivePrototype
* APC needs screwing + sprites
* apc framework, working construction recipe
* Energy swords hot
* APC changes
* APC construction/deconstruction
* removed comments
* Revert "Energy swords hot"
This reverts commit 75228483abb3cc6252118b319bc8949d5198362d.
* Renamed function for clarity
* Fixed the last step not showing in the construction menu
* Some fixes
* Update Content.Server/Power/EntitySystems/ApcSystem.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Content.Server/Construction/Completions/GivePrototype.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Structures/Power/apc.yml
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Structures/Power/apc.yml
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Content.Server/Power/Components/ApcElectronicsComponent.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Content.Client/Power/APC/ApcVisualizer.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* flavor profiles
TODO: every single flavor! yeah!!!
* adds basic localization, and flavors/lastFlavor values for when you get the flavor profile message
* multiple and single flavor messages
* start on flavor localization, multiple flavors in localized flavors
* flavor prototypes
* a few more flavors, descriptions on what each section of the flavor file should be doing
* localization for flavor profiles in drink/food system
* adds an event that allows a flavor profile list to be transformed base on the user entity
* raises it on the food entity too
* changes a field in flavor, adds some more flavors, starts adding flavor prototypes
* adds basic flavors to several entities, and consumable drinks, renames flavor field to 'flavors'
* changes call ordering in flavorprofile, adds flavor to ignored components server-side
flavor is really just a popup message, and those are all processed server-side
* fixes where food tried to get the flavor of the user instead of the food
* single flavors will now get the localized string
* getting the flavor message now ensures that flavors are deduplicated
* makes flavor processing more strictly unique bu making everything hashsets
* yeah, that could just not have distinctby now
* adds flavorprofile directly to food base instead for generic food taste
* FlavorProfileModificationEvent now passes a hashset of strings and not flavorprototypes
* flavorprofilesystem now broadcasts the flavor profile modification event
* adds more flavors to the flavor profile loc file
* skips a flavor, if the flavor string is null/empty
* adds some more flavors, adds generic medicine flavor to medicinal chemicals
* more food flavors, adds flavors to swallowing
* adds some cocktails to the set of flavor profiles
* regenerates flavor prototypes
* adds flavor type to all flavors, adds whitespace between variants
* adds more flavors, adds flavors to several chemicals and food items
this is the part that took the longest
* changes backup flavor message
* spelling mistake
* more flavors, and flavors on food
* readds all the type fields, whoops
* fixes localization strings for forcefeeding food/drink
* fixes multiple flavor profile
* adds flavor limit for flavors
* makes that fetch the cvardef instead
* 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
* threshold balancing, restores none mode on atmos alarm
dear lord, panic mode with unbalanced thresholds was a nightmare
* that was 10%, not 1%
* adds widenet mode for scrubbers
* adds the vents to wide filter as well
* shuffles devicelist to shared, adds an overlay for devicelist
* adds space property to overlay
* moves networkconfigurator to shared, makes devicelistsystem clientside check activedevicelist
* dirties components upon change, adds networkedcomponent to sharednetworkconfigurator
* state handlers for networked components
* whoops
* lots of shuffling, renaming, and access changes
* randomizes color for every new entity added to the overlay
* adds a client-side action to clear all network overlays if they're active
* clones action (oops)
* localization, adds a command for clearing network link overlays (in case the action disappears)
* moves the entity manager up into the bui fields
* makes that a dependency
* attempts to just directly get the color from the dict when drawing, now
* fixes up a few comments
* adds dirty on init to devicelistcomponent
* hacky solution related to mapping with a networkconfigurator
* more stricter bound on that hacky solution
* just checks if the life stage is initialized instead of if the entity was initialized
* moves getalldevices to shared
* readds linq import
* tries to ensure that the show button is toggled on if the device we're trying to configure is currently being tracked by the overlay
* some reorganization
Add a new InfoSystem that sends SharedInfo from the server to client
when requested. Currently, only the rule header and rule text is sent.
Previously, the rule header and rule text was bundled in the client,
which means that the client would only display rules that it was built
with, even if the server has different rules.
This allows servers all running the same build to send different rules.
This could be useful, for example, for servers running the official
builds to send different rulesets without a client rebuild.
* Material
* good prototype
* Fix material storage
* You can insert biomass into the cloner
* ok, basic biomass subtraction works
* amogus
* ok chance works
* Alright, the biomass and genetic stuff works
* feedback for cloning
* more reclaimer polish
* ship it
* starting biomass + fix lathes
* I changed my mind on rat mass and these guys are definitely getting ground up
* Doafter
* clean up, sync the two
* fix naming, fix mass
* technology + construction
* additional logging, stop unanchoring when active
* fix event / logs
* dont gib dead salvage
* auto eject
* fix deconstruction behavior
* make warning message better, temporarily disable cancer scanner
* fix biomass stacks
* add easy mode CVAR
* stack cleanup, make biomass 2x as fast
* bugfix
* new sprite from hyenh
* fix tests
* hello? :smilethink:
* :smilethink:
* medical scanner gets antirotting
* fix cloner and medical scanner
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
On master it will just close the GUI and do nothing if the role timer is not met. This PR just means it shows as disabled and also provides the reason on tooltip as well.
* 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.
* Per-map parallax support
* Comments for future sloth
* c
* bet
* Fix exception
* VV support
* Fix parallax
* mem
* weightless sounds
* Gravity stuff
* placeholder coz im too lazy to stash don't @ me son
* decent clouds
* sky
* Fast parallax
* Imagine spelling
* Loicense
* perish
* Fix weightless status
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
* Adds three new smites, headstand, locker stuff, and reptilian species swap.
* Localize all the smites.
* save work
* More smites...
* Final tweaks.
* oops
* !PLEH
* Adds disarm prone and improved hand removal options.
* fix chances.
* take out the trash.
* Add some admin TRICKS instead of more smites.
* oop
* Implements the admin test arena and associated trick.
* Tricks for granting/revoking access.
* e
* mfw
* Implement quick dialogs, for when you don't want to spend 20 minutes writing a simple dialog prompt.
* Forgot the rejuv icon.
* E
* docs
* augh
* Add rename/redescribe buttons.
* Adds objects menu, implements a couple tricks for stations.
* 1984
* Adds a trick for effectively infinite power.
* fixes some icon uggo.
* a
* HALT!
* Pause/unpause buttons.
* Forgor the textures.
* they broke every bone in their body.
* i added more
* more battery actions, touch up battery icon.
* Address reviews.
* starter API
* network ID cards
* Port more stuff from old identity
* Re-implement identity representation + name updating
* move
* proper name returning for `IdentityName`
* move everything important to server, give in to temptation
* shared / server / client split sadly. move ensure to shared and spawn to server
* identity update queueing + identityblocker
* fixes
* and just like that it's usable for admins
* huge identity pass
* pass dos
* jesus christ
* figs :D
* fuck u
* fix bad merge.
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* Convert atmos plaque to generic visualizer
Use generic visualizer for atmos plaque. Also enables zumos plaque to
appear.
* Convert gas canister connecters
* Remove manual layer creation
* Remove gas canister visualizer
* Convert gas analyzers to generic visualizers
* Convert fire visualizer
* Fix layers on plasma and air canisters
* Remove commented out fire visualizer in barricades
* Add documentation for fire visuals component
* Remove redundant visualizer for milkalyzer
* Remove rogue item group
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.
* actually compiles
* Remove commented out code
* funny bracket
* Move archived moles, temperature from GasMixture to TileAtmosphere.
* WIP customizable map default mixture
still VERY buggy
* broken mess
aaaaaaaaaaaaa
* Fix lattice, etc not being considered space
* visualization for "IsSpace"
* help
* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* Holy SHIT it compiles AGAIN
* Fix AtmosDeviceSystem crash at shutdown
* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.
* Use space instead of gasmixture immutable for heat capacity calculations
* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.
* Fix roundstart tiles not processing
* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs
Changed Files tab is so large I can't commit both suggestions at once mfw
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* lewd
* A
* Realtime
* Sleepy dork
* Draw radar position
* Accurate infiltrator
* experiments
* Better drawing
* Labels
* I need aan adult
* Cleanup
* Show toggles
* display I guess
* A
* fix
* fix
* cleanupsies
* Bit more polish
* Make sure mass scanners actually work
* Remove dummy state
* fren
* opposite
* aghost crash
* comment
* What's in a name
* woops
* Show docking ports
* Dock highlighting
* Drawing dock
* Shitty docks
* Lots of docking drawing
* Autodock working
* dork
* More graceful shutdown
* zoomies
* Lines and distance change
* revert
* Good enough
* cleanup
* Fix default range
* Dock UI and loc update
* Update on undock
* Loc fixes
Now it only plays when the round restarts *after* a regular roundend.
Meaning that if you spam the "restartroundnow" command, it won't play even if you have roundend sounds enabled in the options.
* Implement DeviceList
Implement NetworkConfigurator
I sould really get into the habit of making smaller commits
* Remove ApcNetworkComponent from vents, scrubbers anf firelocks
* Change BeforeBroadcastAttemptEvent#Recepients to readonly IReadonlySet and add a ModifiedRecepients field
* Address revievs in NetworkConfigurationSystem
* Fix red and green button styles
* Change NetworkConfiguratorSystem#UpdateState to remove saved entites that don't exist anymore
* Add AtmosDevices device net id
* Add const strings for style classes
Fix wrong margin for NetworkConfiguratorConfigurationMenu
* Hello? Github?
* Add access check before opening the configuration ui
* Address reviews
* Fix call to access reader
* You shall not live again IgnoreComponent
* Fix interaction verb check
* Fix configuration window not closing when target gets deleted / out of range
* Change device is already saved message to say 'network device: ... is already saves'
* Apply suggestions from code review
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Fix applied suggestion
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* adds prototype reload for AlertLevelSystem, reorganizes selectable alerts a bit
* makes alert levels not necessarily require localization
* oops
* sus
* does the same for announcements as well
* oh, that's not how that works at all
* ok, NOW it works
* fixes localization, adds event for when alerts are reloaded
* addresses review
* cameras but i didn't feel like git stashing them
* Adds more functionality server-side for surveillance cameras
* rider moment
* Adds skeleton for SurveillanceCameraMonitorBoundUi on client
* whoops
* makes surveillance camera monitor UI more defined
* removes tree from SurveillanceCameraMonitorWindow
* surveillance camera active flag, other routing things
* actually sets how SurveillanceCameraMonitorSystem sends camera info to clients
* adds entity yaml, changes field
* adds the camera/monitor entities, makes the UI open
* SurveillanceCameraRouters (not implemented fully)
* subnets for cameras, server-side
* it works!
* fixes rotation in cameras
* whoops
restores surveillance cameras to ignored components
makes it so that switching cameras now lerps the other camera
* makes the UI work
* makes it so that cameras actually refresh now
* cleanup
* adds camera.rsi
* cleans up prototypes a bit
* adds camera subnet frequencies, cameras in subnets
* adds surveillance camera router subnets
* might fix testing errors
* adds the circuit board to the surveillance camera monitor
* fixes up the camera monitor (the detective will get his tv soon)
* adds heartbeat, ensures subnet data is passed into cameras to send
* fixes up a few things
* whoops
* changes to UI internals
* fixes subnet selection issue
* localized strings for UI
* changes 'test' id to 'camera' for cameras
* whoops
* missing s
* camera static!
* adds a delay to camera switching
* adjusts a few things in camera timing
* adds setup for cameras/routers, localization for frequency names
* adds setup ui for routers, makes subnet names in monitor window follow frequency name in prototype
* localization, some cleanup
* ui adjustments
* adds surveillance camera visuals
* fixes a bug when closing the UI for monitors
* adds disconnect message to UI
* adds construction graph to cameras
* adds the camera to the construction menu
* fixes network selection for setup, tweak to assembly
* adds surveillance camera router construction, fixes up surveillance camera wire cutting
* adds disconnect button to monitor UI
* switches around the status text
* tweaks monitor UI
* makes the address actually show
* might make tests pass
* UI adjustments, hard name limit
* ok, that didn't work
* adds wireless cameras
* makes the television work/look nicer
* adds tripod cameras in addition to mobile cameras
* makes wireless cameras constructable
* fixes up those prototypes
* reorganization in C#, small cleanup
* ensures that power changes deactivate some devices
* adds a component to the television, comments out a function
* actually, never mind, i forgot that wireless cameras existed/are creatable for a second
* tweaks to router construction, removes SubnetTest from prototypes
* removes it from frequencies too
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* type serializers into components
* setup window opens centered, enum is now byte
* replaces active monitor list with ActiveSurveillanceCameraMonitorComponent
* adds paused/deleted entity checks, changes how verbs are given
* removes EntitySystem.Get<T>() references
* fixes bug related to selecting network from setup, alphabet-orders network listing in setup
* rider moment
* adds minwidth to surveillance camera setup window
* addresses reviews
* should fix the issue with camera visuals not updating properly
* addresses some reviews
* addresses further review
* addresses reviews related to RSIs
* never needed a key there anyways
* changes a few things with routers to ensure that they're active
* whoops
* ensurecomp over addcomp
* whoops
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Adds seven new smites, moves the explosion smite to the verb category.
* adds even more smites.
* Even more smites, some messages for specific smites.
* Adds even more smites.
* Removes some junk, adds a smite that angers the pointing arrows.
* get rid of dumb component.
* Remove mistake from verb menu presentation.
* How did that happen?
* whoops
* c
* e
* fuck
* Loading...
* removes the BoM go away
* adds the funny kill sign. Fixes ghost smite.
* Move systems around.
* Adjust organ vomit.
* Adds a smite that turns people into an instrument, and one that removes their gravity.
* oops
* typo
Co-authored-by: Veritius <veritiusgaming@gmail.com>
* Compat fix for engine UI FrameUpdate order change.
Engine is getting FrameUpdate changed to run BEFORE style & layout. This is needed to avoid exploding.
* Fix speech bubble layout on first frame.
* fixes issue with indexing into colors on multi-sprite markings
* should rebuild the dummy upon character profile switch in client
* markings, when selected, should now default to the current character's skin color
* whoops, missed one
* adds a type serializer into marking points
* that has to be a list serializer, oops
Threshold set to info instead. The actual logging is in the xaml itself for reasons but I didn't want to use a sawmill for it to avoid interfering with hud refactor any more.
* Partial work on StationSystem refactor.
* WIP station jobs API.
* forgor to fire off grid events.
* Partial implementation of StationSpawningSystem
* whoops infinite loop.
* Spawners should work now.
* it compiles.
* tfw
* Vestigial code cleanup.
* fix station deletion.
* attempt to make tests go brr
* add latejoin spawnpoints to test maps.
* make sure the station still exists while destructing spawners.
* forgot an exists check.
* destruction order check.
* hopefully fix final test.
* fail-safe radstorm.
* Deep-clean job code further. This is bugged!!!!!
* Fix job bug. (init order moment)
* whooo cleanup
* New job selection algorithm that tries to distribute fairly across stations.
* small nitpicks
* Give the heads their weights to replace the head field.
* make overflow assign take a station list.
* moment
* Fixes and test #1 of many.
* please fix nullspace
* AssignJobs should no longer even consider showing up on a trace.
* add comment.
* Introduce station configs, praying i didn't miss something.
* in one small change stations are now fully serializable.
* Further doc comments.
* whoops.
* Solve bug where assignjobs didn't account for roundstart.
* Fix spawning, improve the API.
Caught an oversight in stationsystem that should've broke everything but didn't, whoops.
* Goodbye JobController.
* minor fix..
* fix test fail, remove debug logs.
* quick serialization fixes.
* fixes..
* sus
* partialing
* Update Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Use dirtying to avoid rebuilding the list 2,100 times.
* add a bajillion more lines of docs (mostly in AssignJobs so i don't ever forget how it works)
* Update Content.IntegrationTests/Tests/Station/StationJobsTest.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Add the Mysteriously Missing Captain Check.
* Put maprender back the way it belongs.
* I love addressing reviews.
* Update Content.Server/Station/Systems/StationJobsSystem.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* doc cleanup.
* Fix bureaucratic error, add job slot tests.
* zero cost abstractions when
* cri
* saner error.
* Fix spawning failing certain tests due to gameticker not handling falliability correctly.
Can't fix this until I refactor the rest of spawning code.
* submodule gaming
* Packedenger.
* Documentation consistency.
Co-authored-by: Kara <lunarautomaton6@gmail.com>