* made hit sound logic potentially better
* Function already tries all fallbacks, no reason to return bool
* NoDamageSound execution path
(cherry picked from commit b98dc669741a3e5199e9fa03d82703821ab5284c)
This standardises it with audio and whatever. Me when I sprinkle nullchecks everywhere.
Was 50/50 on making new non-nullable methods but figured it would bloat too hard and you can't access strings by .Value anyway.
(cherry picked from commit 606c5a8c8b1005de62c33d5de888f67a8eae0ccc)
* refactor and add Department to PaintableAirlock, move it to server dir since its in namespace
* add departments to doors, cleanup
* add style -> departments mapping
* AirlockDepartmentsPrototype
* update shared spray stuff to have department
* name file the same as the class name
* department optional
* refactor spray painter system + send department
* fixy
* client
* no need to rewrite ActivateableUi
* pro ops
* the reckoning
* hiss
* .
* :trollface:
* add standard atmos colors to palette
* Update Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit c49c78bafaddc3ed69714eaf41920e1565dbd292)
* Remove obsolete transform call
Shrimple PR also fixed bad flatpack call that would break on non-standard tilesizes.
* Update calls
* weh
(cherry picked from commit 52808694e0a479c162930a0aae20e91b68bc67a4)
* Fix outdated component name in assaultbelt whitelist
RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)
* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared
* Move LightReplacerComponent to Shared
* Move Utensil, Mousetrap components to Shared
* Move SprayPainterComponent to Shared
The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.
* Add trivial Produce and Seed components to Client
This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Delete .run/Content Server+Client.run.xml
HOW DID THIS GET IN HERE ITS NOT AHHHH
* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update ExplodeOnTriggerComponent.cs
* Revert "Delete .run/Content Server+Client.run.xml"
This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.
* Fix?
* cannot figure out how to get this to go back please forgive
* Fixes a network issue
* leftovers
* Fixes
---------
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 467e983ba972a7ae749c95448febd19c7c285514)
* Initial work on having the Rev icons not be visible to ghosts depending on a Cvar and a component.
This commit just makes it so that the revcomponent and headrev component
are not shared with clients that shouldn't know about them. This is due
to the concern that clients having access to those components, even if
no image was displayed could allow modified clients to have meta
knowledge of revs.
Currently this has the issue that if a player later
for example becomes a rev, none of the existing rev components get
networked to them. I am not sure there is currently an effecient
solution to this.
This is probably in an issue for a lot more stuff. I might just make it
so all the logic just moves to the client on whether to put the icon
again.
Also this commit adds the ShowRevIconsComponent to allow anyone with it to just
view rev icons.
* Rev components now get communicated to clients that didn't have them previously and the AntagIconSystem is now properly checking whether to give the icons.
We now dirty all the rev/headrev components when someone gets converted
or gets the ViewRevIcons component. The AntagIconSystem now checks
whether it should draw the icons mostly based on an event, this is still done
client side.
This is not a full proof solution to make it so clients can't know
someone is an antag when they shouldn't because:
1. There are other components that need similar treatment, to my
knowledge not to for revs but for other antags. Maybe even the mind
component. This could be addressed in future PRs.
2. We cannot ensure that clients forget about these components if the
client gets deconverted for example. We can of course have code that
does this, but it will necessarily need to be done on the client and
if the client is modified then there is no way to ensure this.
Of course at that point they should already know who their fellow
revs are so this might not be an issue.
I now need to do the same thing for zombies in a future commit.
A similar system for nukies also needs to be looked at but I will not be
doing that in the PR this commit ends up in.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Merged 2 if statements into 1 on the Zombiesystem.
* Cut down on code duplication in AntagStatusIconSystem
Now instead of having a seperate function for each component, there is 1 generic function. Functions for special cases
like the Rev/Headrev comp can have a separate function that does the special check and then calls the generic one.
This is done through the IAntagStatusIconComponent interface which provides a common interface to get the Icon.
* Removed some duplication from the SharedRevolutionarySystem with generics.
I have no idea why I didn't think of this sooner.
* Addressed Reviews I think
I think events get unsubbed automatically but I am probably missing something that I have not understood.
Either way this is a requested change.
* Replace war crimes with actual fixes for reviews
It was not clear to me what the reviews meant
* Addressed reviews by removing need for cvars.
Whether icons are visible to ghosts is now determined by a bool in IAntagStatusIcon which all antag components
with status icons should implement.
* Update Content.Shared/Revolutionary/SharedRevolutionarySystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 8b19b7fab9dd8fb115f65794d97a26ebb9aa1142)
* Add AFK detection for aHelp relay and admin specific afk time.
* Correct query to new refactor
* Change AFK timeout to 10min or else Pancake closes my PR 😭
* It wasnt a bug it was a feature, way less aHelps that way.
* aHelp Colors arn't real!
* Update Content.Shared/CCVar/CCVars.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 00841217062ba60d38320dfd2b93288548bb4201)
* add Placeholder and make default buttons flags consistent w old behaviour
* DialogWindow ops
* make QuickDialog use DialogWindow
* Update Content.Client/UserInterface/Controls/DialogWindow.xaml
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 6b03aaaec78bd50c8f4730c9aa7d0f5cea76e782)
* Cleanups PolymorphSystem
* forgot this
* Nah
* Fix test
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit b8f0ed3975a4b887ca8dd75dcc07e0ac5ee11646)
* Space lube now makes you slide
* review
* oh lord he slippin
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 4f3b8d740cecfb736b018fd78a2be71f5397644d)
* Adds Visitor role and ShowInIdCardConsole property
* Add visitor to Agent ID card
* Fixes yaml test
* Fixes based on feedback
* Fixes based on feedback
(cherry picked from commit 1862f8aa1745f147fa54428179e568c9298a9fda)
* Change emagged laws to append modifiers instead of completely changing them.
* Maybe fix everything not working
* bugfix
* Fix missing secrecy law and allow basic borgs to be emagged correctly
* Localization
* Actual localization
* test
* Test
* Remove dummy debug value
* Fix bad law ordering
* Tweak the secrecy law
* Minor law tweaks
* Remove obsolete argument
* Fix YAML
(cherry picked from commit 27592ba898201d0b09c95f6b0958503407d01bb5)
* Remove wheelchairs
Vehicle code is dogwater and wheelchairs just keeps exposing edgecases. If someone wants it brought it back they can do vehicle refactor.
* Also this one
* Remove vehicles
* goodbye vehicles
* Remove this check
* sasd
* Cronch
* Add sprites back
* jani
(cherry picked from commit d2f20d8955a25a32aa5fb9b3631a41921b464cd4)
* Firestarter fixes
- Actually networks the action.
- Namespace fixes.
* No networky for you
(cherry picked from commit a6ea8b210db079d30823e7b4d8faa32aefa17582)
* Raise `StationPostInitEvent` broadcast
* Basic variation pass handling
* standardize names + rule entities
* why does it work like that?
* add to defaults
* light break variation pass
* ent spawn entry
* move some stationevent utility functions to gamerule + add one for finding random tile on specified station
* forgot how statistics works
* powered light variation pass is good now
* station tile count function
* public method to ensure all solutions (for procedural use before mapinit)
* move gamerulesystem utility funcs to partial
* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit
* trash & puddle variation passes!
* oh yeah
* ehh lets live a little
* std
* utility for game rule check based on comp
* entprotoid the trash spawner oops
* generalize trash variation
* use added instead of started for secret rule
* random cleanup
* generic replacement variation system
* Wall rusting variation rule
* account for modifying while enumerating
* use localaabb
* fix test
* minor tweaks
* reinforced wall replacer + puddletweaker
(cherry picked from commit cc24ba6a317c4bee84ffa1eda8397c255ca92be9)
Fix improper prediction on unpryable doors.
Entities that had CanPry to false on their components would get
improperly predicted as pryable on the client because the check was only
preformed on the server. Same problem existed for welded doors. Moved
the check from server to shared.
(cherry picked from commit 9bebdf57069f8c2e2b045009a98bcf46caa68732)
* added signal control to portable generators
* added documentation
* Discard changes to Content.Server/Radio/EntitySystems/HeadsetSystem.cs
* added DeviceNetworkComponent and WirelessNetworkConnectionComponent to generator prototype
* made GeneratorSignalControlComponent nicer
* implemented auto-revving
* added back necessary dependency
* can't send do-after event manually
* repeat now works with auto revving
* fixed
* removed vv
* stopping generating when it is revving now makes it stop revving
* Update Content.Shared/Power/Generator/ActiveGeneratorRevvingComponent.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* used resolve instead of TryComp
---------
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit 5d2ddc0d8b313d80fbcecd6719c5048ec2aea3e7)
* Revert "Make flare gun explode, damage and stun the player when used with the wrong ammo (#22349)"
This reverts commit e301378114b245fa6927372f83c19868cb90b13c.
# Conflicts:
# Content.Shared/Weapons/Ranged/Components/GunComponent.cs
# Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml
# Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml
* Fix revert conflicts
* Update Content.Shared/Weapons/Ranged/Components/GunComponent.cs
(cherry picked from commit e1901aa6b602516f0f7cc3f29844c77e90c77977)
* BatteryWeaponFireModes refactor
Made the code a bit better but still needs integrating into attachments.
* murder
* Fix serialization
* weh
* weh
(cherry picked from commit 58b55ba06c5de031079915a607ccf3adad781f93)
People are using these as unhackable and hard-to-tailgate airlocks into sec. They should not be trivial for security officers to move through.
Made LockComponent have configurable lock times to implement this.
(cherry picked from commit 8ca7cb59a3b83e86c9b27a9549bf85a9f914b6fe)
* PACMAN generators show network load/supply.
This gives more feedback to players that their PACMAN is properly connected and what the network status is (i.e. you don't have enough generators).
* Buff JRPACMAN to 8 kW.
Shifted all power values up by +3 kW.
They're frequently too weak to power even single rooms so they deserve a buff.
* Change unit format helpers number format.
Always displays one digit of precision. This avoids jumping around when a value is changing live.
(cherry picked from commit f855cb2b0065083447128778c31c2a93bcd70a6a)
* Ports colored chat names
* Update name color on every message
---------
Co-authored-by: ike709 <ike709@github.com>
(cherry picked from commit 6cbe4a8fb6d39745141e71233d386206c36a1e19)
* DamageSpecifier [Obsolete] Total => GetTotal()
* Remove obsolete Total member from DamageSpecifier.
(cherry picked from commit c77eb8691dc08d384a88ddaf3b734f7777d741b5)
* Bunch of revolver fixes
Some stuff wasn't working with prediction so this should fix all of it.
* a
* fix weh
* Also usedelay
(cherry picked from commit 9bb2781bfca68bde47ce52576cb894bb41ab6511)
* Add announce message length to UI and make a cvar for it
* Update comm console server-side trim to use the cvar
* Rely on the new OnTextChanged event
Because OnKeyBindUp only works for keys that have binds
* Add a similar indicator to nukies' war declaration UI
* Remove message length indicators for now cuz it requires the engine update
* Rename cvar slightly
* Refactor duplicated code to a helper method
* Remove message trimming from *Window class as it's better to live in the BoundUserInterface where the other message handling happens
* Rename to chat.max_announcement_length
(cherry picked from commit 8c5898b0065cd2cf196c0383bc99c57c0f11795b)
* sans
* Papyrus
* add to game
* tweak stick
* fixes
* Update Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Update Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit b3b64e6cf29f313a9782fb95ae8727f907b1836a)
* Update job priorities when job requirements are getting updated
* Sort jobs by weight and then by the name
* Sort departments too
(cherry picked from commit 4f307a49be5796eaa7b02f5988a83ea04db95535)
* localize beacons
* No not like that
* Tesla beacons were already depreciated, time to give the reaper their due
* Entity name fallback
* The real treasure was the far easier solution we missed along the way
* weh
* Shared mapinit
* fix RT version
* a single line break
(cherry picked from commit efdc6f8d4c5dc8c593b6403c6592f0ddc6212266)
* Check and restrict players from fultoning their equipped items
* Changed fulton whitelist to items and anchorables
* Stop from anchored items being fultoned
* Moved containermanager check to CanFulton function
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1ff31f8b7a450bc7aa5a638a8a63b318a5cf5363)
* Prevent EntityStorages from being opened while inside a mech.
* compressed into few lines
* unneeded line
* Popup client
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit e89be95d4c3085d7d6d08ad5aafa942cfc32c934)
* initial commit
* made it emaggable
* removed OnAttemptEmagEvent
* moved emagging to shared
* added local file to git
(cherry picked from commit fd673cf6e30599f5895d58c3281eba2901301401)
* Various sounds ported
* Replace wall_bonk.ogg
* Metal/metalglass break sound pass
* Replace metalbreak.ogg
* Replace woodhit
* Replcae tap.ogg n some smack uses
* Fix lint
* Replace bang.ogg and some instances of hit_kick.ogg
* couple more
* fix wood sound
* i may be stupid
* le attributing
* bro what
* standardize more destruction sounds
* fix melee hit sound cutting off
* window threshold sounds and remove `destroySound` it literally doesnt exist
(cherry picked from commit 818b07ecf82bdd72dc5524f6bc093067b2ef6472)
* Restarts have max player count
* Now counts ingame ghosts to determine if restart can be called
* consistant cvar name
* Added a player count with state conditional
(cherry picked from commit 7bf62f1d1904b591580b17b2b5079f0dfe769e4b)
* Fix error when starting a DoAfter while handling one on the same entity
* Reuse array
(cherry picked from commit 9ad1ae5d963cf294d2f68d06ce07506dedbefe64)
Change the slot ID back to what it was to keep old map saves with an item in the slot loading correctly.
This also fixes the "You can't put this in the dispenser!" message not appearing when inserting an item without FitsInDispenserComponent because the whitelisted slot name wasn't changed.
(cherry picked from commit 7a7d0017b504dec4b1d390b941af9791d9677287)
* Add limited-reagent dispensers
* Add empty versions for all dispensers
* Fix lint
* Set initial window size so all buttons are visible
* Simplify logic, add parenthesis
* Use localized name for initial labels
* Adjust button style
* Avoid touching items before MapInit
* Remove pre-labeling
* Reduce diff
* Clean up YAML
* Fix test
* Really fix test
* Document
* Adjust based on review
* Add labels for obnoxiously long bottles
---------
Co-authored-by: AWF <you@example.com>
(cherry picked from commit 9394a262458df76d9c4156f147bed902e3feac75)
* Execution (you monster)
not done
* woops
* more stuff
* Melee executions
* Prevent executing those who can interact
* Better checks for if you can execute
* Scale the execution time of a knife with its attack speed
* Translations for fucking up an execution
* rename some functions
* Properly scale execution speed of melee weapons
* Fix checks in CanExecuteWithAny
* Allow executing yourself (funny)
* More versatile localisation
* Suicide with guns
* Popups for successful gun executions
* whoops
* Stop flare guns crashing the game on executions
* Various tweaks
* Remove some old usings
* Pacifists can no longer execute
* Remove unnecessary check
* Use CanShoot in gunsystem
* Capitalisation in ftl string
* Fix melee executions not playing a sound
* localisation tweaks
(cherry picked from commit 2e83f5a0ecc5fea0177acd94e22133de0d614588)
* Added TransferActionWithNewAttached and TransferAllActionsWithNewAttached and OnActionAdded event method to ActionContainerSystem. These are needed where the action needs to have a different attached entity for usage. Fixed a bug with not being able to upgrade actions between levels. Added a way to grant and remove a singular action.
* adds an action container component to mind on action added to fix tests
* Swaps trycomp for hascomp
* Maybe this will fix the thests
* Grants action container to performer as well
* Wait that makes no sense, removing that
* fixes mind action grant logic
* Changes ent check back to netent check
* Reverts unintended container changes
(cherry picked from commit c8466055ef34f9a5cbd987546c7865889a54f5ed)
* Cryogenic sleep units
* pause map support
* no more body deletion
* Cryogenic Storage Units
* boowomp
* no more emag, no more dropping present people
(cherry picked from commit 736b9dd7df6e35f07fed88686c7c863ac61af846)
* Grave digging and decomposition
* fix
* update based on review comments
* code review
* remove unused field
(cherry picked from commit fd7ff690b1ad7b1cf6cd62deba3076684e3e9282)
* Fix error when the client gets an Eui state message before its open message
* Revert "Fix error when the client gets an Eui state message before its open message"
This reverts commit 440e2746ee8d77306f59ddea558eda32ec927f18.
* Make all Eui msgs reliable ordered
(cherry picked from commit 95ef20223c1abaf6ff0baaf76b73e92dfd921efb)
* feat(star.yml): make throwable star damage stamina
* feat(Components): add new StaminaTresholdDamageOnEmbedComponent
* feat(SharedProjectileSystem): update system with new events to change
stamins treshold on embeed projectile remove / add
* feat(StaminaSystem): update system with new subscriptions
* feat(throwing_stars): update yml with new component
* feat(StaminaDamageOnEmbed): add stamina damage on embeed
* cleanup unused / ajust numbers
* fix(StaminaSystem / OnEmbedComponent ) apply requested changes
* Rest of the review
* another warning
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit b80f7eed6ee05c9e4963477369cffaa44dda19e8)
* add primary departments
* make command and station specific secondary
* add a unit test
* fixy
* compile
* webedit ops
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit d1d11d09c7a2698fa723c11a910258f69c3d7b9e)
Fixes#23645
The problem is that the solution editor UI is an EUI, so the UI updates before the game states are applied.
A correct fix would be to move it to a BUI in some way, but that's a little involved as we don't really have pre-existing code that uses BUIs in a manner good for this. I decided against this because I realized we'd want to have more tools similar to this and tbh I kinda figured integrating it with VV would be a better fix instead, so...
This is a bad workaround to manually synchronize the UI updates against game timing. It's not pretty but it works.
(cherry picked from commit 3a2cd95d7f8d2b6975ebfda715b4cbf858e74668)
* Give .props files 2-space indents.
* Move to Central Package Management.
Allows us to store NuGet package versions all in one place. Yay!
* Update NuGet packages and fix code for changes.
Notable:
Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.
* Remove dotnet-eng NuGet package source.
I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.
* Remove Robust.Physics project.
Never used.
* Remove erroneous NVorbis reference.
Should be VorbisPizza and otherwise wasn't used.
* Sandbox fixes
* Remove unused unit test package references.
Castle.Core and NUnit.ConsoleRunner.
* Update NUnit to 4.0.1
This requires replacing all the old assertion methods because they removed them 🥲
* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.
* Add Robust.Analyzers.Test
* Update submodule
* commit to re-run CI
(cherry picked from commit a6c9c36b688a1ba78ff4c12502e81661cf607b6c)
* Move Exclamation entity
* Add Whistle Component and Whistle System
* Add BaseWhistle prototype
* Add sound to BaseWhistle
* Add SecurityWhistle prototype
* Add Sprite and Icon to SecurityWhistle
* Add whistleExclamation prototype
* Fix SecurityWhistle prototype
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
* Add whistles to sec vendingMachine
* Revert "Add sound to BaseWhistle"
This reverts commit 0c2eeab1286fb778ed7a845e59c642f667582a4a.
* Add sounds for BaseWhistle
* Make atributions compact
* Remove unnecessary spaces
* Make WhistleSystem class sealed
* Remove possibility to exclamate one person from WhistleComponent
* Remove delay from WhistleSystem
Increase delay
* Remove unnecessary HashSet
* Try replace Resolve
* Refactor sound emmiting
* Rework spawn of exclamation
* Move WhistleComponent from Server to Shared
* Edit WhistleComponent because of moving
* Move WhistleSystem from Server to Client
* Edit WhistleSystem because of moving
* Add new event
* Add server part of WhistleSystem
* Modify system for prediction
* Add documentation to WhistleComponent
* Revert "Modify system for prediction"
This reverts commit 89abb290571ff47deb5491b0f720f6bde079110b.
* Revert "Add server part of WhistleSystem"
This reverts commit ca52ca081f30fb164f401c1818d08531f02af284.
* Revert "Add new event"
This reverts commit 5ca9694757c94c03ca72d5b2f56f5f23503a3263.
* Move system from client to shared
* Modify whistle system because of moving
* Separate checks and action
* Organize file folders according to conventions
* Make component Networked
* Change trigger component for WhistleSystem
* Put indents betwen methods
* Rework WhistleExclamation prototype
* Change variable name
* Add serializer to WhistleComponent
* Rename one variable
* add predict possibility to Shared
* add Client part of prediction
* Add Server part of prediction
* Increase whistle distance
* Prevent spawn for invisible entities
* WhistleComponent now use file-scoped namespace
* Delete unnecessary part from MakeLoudWhistle
* Add Resolve check
* Delete Server and Client part for prediction
* Make system prediction properly
* Change prediction behaviour
* Fix unexpected error occured
* Avoid using obsolete methods
* Add comments
* Update DataField to make it shorter
* Update size for new size system
* Prevent ping for invisible entities for real now
* Avoid triggering unnecessary debug asserts
---------
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
(cherry picked from commit fa3da1ab825c2140c8119e723028f292a7b772c3)
* Add doors to the navmap
* tweaksies
* gah
* draw primitive
* draw primitive? at least take me out to dinner first!
* Update Content.Client/Pinpointer/UI/NavMapControl.cs
* casualties
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1886941da6c807ec604cad902233a3ba559b2b25)
* Fix borg becoming emag immune if emag attempted with panel closed.
* new event
* removed code added in accessreader
* fix emag 1984
(cherry picked from commit 23e714e523f18ffe5c4a2e1e2186142371dbf0bb)
* Fix bug where prying would succeed even a door could no longer be pried.
* Remove redundant call to Resolve
* Remove redundant comment
(cherry picked from commit 88045afcf01eedd282d98fba3e3430e66745d3a0)
* Moved vendor thank you messages into AdvertisementPack, making them vendor-specific.
Wrote a few example messages.
* Only display thank yous when closing the UI after a purchase.
* Tweaked a few messages
* More custom messages
* Missed one
(cherry picked from commit eb9770efb91fab68696938008fedb5ab1a10f15f)
* Update ChemicalReaction and ReagentEffect logs.
* Updated explosion log as well, and small cleanup.
(cherry picked from commit aa7fcb19ec2c5f93182da102579db6a3b17b80ec)
* Stuff
* Fix RoundStatus Action
* Rename stuff
* Also needs to run on the main thread
* minor stuff
* Move to not be an EntitySystem
* Part 1 of making this less shit
* Make some more stuff run on main thread
* Actor check, logging and remove token from log.
* Better log
* Change ActionKick to use Guid instead of username
* Fix build
* Bandaid fix for test fails
(cherry picked from commit dfc8ea6aee85776dd1676df601ff8c22ea205a08)
* Auto generate dice component state handling, and update data field annotations
* Missed one.
(cherry picked from commit 39e59cb77ff7cf43ebaaed84c4b22a70275e3b7b)
* fixing access levels and removed strings from data defs
* Fixing proximity detector performance
- Re-added component filtering for the close entity search.
- Changed criteria functionality to only allow for searching for entities with all specified comps (matching any would be too unperformant)
(cherry picked from commit 3261962f8c37a90c4fe0591b422d3b0bcf7a7523)
* Set pAI up with a trackless map
* Added a untracked map user interface class to support gps-less mapping
* Added to pAI by default, expect it to be given to borgs as well in time.
As the personal AI is literally immobile as a ghost, it is useful to ensure that people carry one. With that idea in mind, it is worth giving the pAI a reason to be carried that doesn't depend on the player having a cracking selection of midi files on hand.
* Tried to use new ProtoId and have EntityUid on the client as commented by metalgearsloth
* Review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 412f3f470c92bf2d974b13bc4e5e1c964d3a5346)
* Initial prediction
* new group handling
* groups for all examines that use multiple rn
* compile
* why was it doing this??
* handle newlines with sorting properly
(cherry picked from commit 0ae3858b69b695697ea9300609460f8ddb70ebbf)
* Fix Round Restarted Announcements not playing
Just make the RoundFlow manager play the funny
announcement sound effect, rather than pass it
through to players in an event that doesn't work.
Only three round end announcements probably
isn't enough. Maybe it is time for fresh memes.
* Remove the handling in ClientGameTicker.
* Pass in a specific filepass to broadcast.
* you make one line change in vscode and the linter
goes AH-HAH I CAN HELP YOU LET ME CLEAN
THIS UP and I'm like 😔 and have to revert
(cherry picked from commit a9075e5d247e425d737ff334b67c2146a6869cc8)
* Fix throwing bad regencontacts call
Throwing needs throwing out the window but this stops it causing problems with anomalies.
* Bandaid throwing
(cherry picked from commit 8b7bec2f1d3724bace4b5e9466a4908a582cf7cb)
* Fix atmos UI inconsistent culture usage
* Remove the need to pass localization manager
(cherry picked from commit 3d911a64c7789f1e1de0df94dd27a4f0fdf05dcf)
added reparent bool for this kinds of unequips
Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
(cherry picked from commit 920d7068e5987e45a62e4beb2c8c17190cd62bce)
* Allows a possibility for a new reagant to work on dead if applied.
To use it, go to Resources\Prototypes\Reagents\medicine.yml and add worksOnTheDead: true to any reagent.
* Update Content.Shared/Chemistry/Reagent/ReagentPrototype.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Update Content.Server/Body/Systems/MetabolizerSystem.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 78f4bec3e1fe51ab29b5b7e5b3a6e5416298f377)
* PR 1
* fix an error with health bar overlay (#1292)
* Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566)
* [1612] change ShowHealthBarsComponent's DamageContainer field to a list (#1662)
* fix build
* no crit entities from not updating
* cleanup
* namespace
* undu irrelevant changes
* undo icon change
* make health bar 1 px taller and icon 1 px shorter
* fix medibot
* fix comment
* don't show health bar ratio when in crit
* fix build
* put the crit bar back
* don't render healthbars for mobs that are in containers
* draw more boxes without the background sprite
* fine status icon for all bio mobs
* add wacky mandatory things
* attempt 2
* whoops wrong file
* cool, this works too
* move null check to top
* only 1 init
* security huds
* remove shader
* fix build after cleanup
* slight cleanup
* little more cleanup
* Remove clothing grant component system
* security HUD now shows a job icon on entities with a body
* remove sec stuff and do similar changes to split off PR + remove unused comp
* process comments
* don't return
* update to ComponentAddedOverlaySystemBase
* no cache
* colors and not rendering out of sight
* touch ups
* fix build & cleanup
* undo
* remove shader from icons
* process comments
* documentation
* fix licence
* validate prototype id
* just use args
* rename method and append in method
* type
* just fucken delete the command
* space
* undo
* remove
* don't use LocalPlayer
* re-add showhealthbars command, but working
* rename icon lists and conform health icon code to the others
* space
* undo
* update command
* oops
---------
Co-authored-by: Rane <60792108+Elijahrane@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit eed663e8b4d91ee772ccb54fc8a55e4c4afdcd64)
* Fix robusted dionas not being recoverable
* Implement a polymorph cooldown field, used for TreeMorph
Allows the polymorphed Diona some time to work off robust harvest
without immediately polymorphing again.
* Minor adjustment to polymorph cooldown timing
* Apply suggestions from code review
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* fix: trigger polymorph revert on destruction
As suggested by mirrorcult, DamageThresholdReached is not the ideal
candidate for reverting a polymorph on destruction, as there exists a
DestructionEventArgs to listen for instead.
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit a9b797a0917868fc888b612e59fd22d07b5f8118)
* HellSpawn Mob
* added spawner
* summary for the namespace
* larger collider, cannot enter single tile corridors.
* fix
* remove duplicate from yml, fix attributions.
* moved action to shared, moved comp to shared, networked comp, separated heal, fixed attributions
* removed flammable from hellspawn
removed the healing effect from firestarter ability (healing can be separate ability).
* Update attributions.yml
fix attributions
* fix
* fix
(cherry picked from commit b06d9cb64a53e387240fa804853d3ee2a4d3f11b)
* moved ComputerBoardComponent to Content.Shared
* made flatpacker accept computer boards
* made flatpack system and ui function with computer boards
* fixed it so that flatpacks of computers are correctly coloured to fit their computer board colour
* unhardcoded the computer flatpack assembly cost
* Combined GetFlatpackCreationCost(...) with GetflatpackCreationCostForComputer(...)
* removed code duplication in SharedFlatpackSystem
* removed code duplication from FlatpackCreatorMenu.xaml.cs
* remove code duplication from FlatpackSystem (on the server)
* fixed indentation error
(cherry picked from commit 082bde40ca3fd39fff5daea26de4311cf2001f85)
* kobold variety - allows kobolds to have random colors and horns
* hey lets maybe not crash in this case, lets maybe let the color continue being null in this case
* excuse us vscode what the fuck is this
* brightens kob base, makes kob outline more bold, fixes to the prototype because our code spaghett
* okay yeah angler horns just dont work At All. the floppy kobold ears, however? MWAH. chef's kis
* we've been staring at these critters all day - makes base color line up with the base color of some of the markings
(cherry picked from commit 4d0d2e4c5a13987f27401d981c892a7fca8d876a)
* glowy lights - makes light fixtures actually physically glow when active
* serviced the lights
* ya sure
(cherry picked from commit 1a531342c5c8b2860054f79479b02c8083f3b5d0)
* AutoCompState + ItemToggle fixes
Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds.
* Also catch these
(cherry picked from commit 2166958bd0c23b7b9fd5c699eaeee910d1db62bf)
* Flatpacker and flatpacks
* ok that's good enough
* convert solars/AME to flatpacks
* mats, mats, we are the mats
* basic mechanics are DONE
* thing
* final UI
* sloth
* rped jumpscare
* rename
(cherry picked from commit 1c11332fa4b77d556e7f3db17f391dbd2664cda5)
* source in my guidebook
* finish it!
* sir yes sir oorah
* network that bitch, baby
(cherry picked from commit f538a2e34a4b62ac406a5871a3c52e51f8f0fad4)
* SS14-23184 Migrate Lathe Material Ejection Code to MaterialStorage
The lathe material ejection code acts as a do-nothing
man-in-the-middle system that does work that would be
reasonable for any MaterialStorage-using machine to
use. This has been fixed by migrating the ejection
code to MaterialStorage, allowing anything that uses
the system to eject mats it is storing.
* Fix some YAML references. Science!!
(cherry picked from commit f850047341108b286170197d12f4d13946ee0b40)
* good commit
* Revert "good commit"
This reverts commit 2559a9ad8b642827446e151adc90057d667be60d.
* EVEN BETTER PR
* even more better
(cherry picked from commit 83bd93726770a0ab10415d1dcefccb95af06305f)
* Artifact analyzer now pauses on power-loss
Instead of just cancelling the current scan, the artifact analyzer
will now pause in case of power-loss.
Scanning will automatically resume when power returns.
* Improve artifact scanning pausing
This builds upon the latest improvements in artifact scanning
regarding UI update.
(cherry picked from commit 4fe93cf456f28d14da144431be5b567a3896cd4e)
* Fix AccessRecord not serializing correctly on map saves
* record struct my beloved
* Final tweaks
* pro
* This is no longer necessary
(cherry picked from commit a4dd4828cf585a5534c7ecc86aeb43484c924d00)
* upload all textures
finished easiest part - TeslaGenerator
* Added Tesla energy logic
* add lightning pulse priority
* work
* optimise lightning arc system
* now tesla moving to LightningTarget entity and consume it
* some audio work
add airlock and computers to the LightningTarget
* add nice visual and explosions
add crashing to game
* rsi meta fix
* disabling explosions (crashing server)
I'll get back to that problem later.
* adding important admin logging
* a little bit of cleaning and documentation
* Persistent attempts to fix the server crashing on explosions. Accidental cleaning of everything I see.
* now the tesla incinerates everything it touches except the containment field.
* colliders work
* fix falling tesla on ground after being exploded
* add consume sound, add spawn and collapses sound
* added TeslaGenerator to cargo trading console
* add all tesla part to cargo trading console
* Tesla coils: Turn on and off, get energy from lightning, give energy to the grid.
* tesla coil is ready
* tesla grounding rod is ready
* clean up
* clean up 2
* grounding rods now working without power
* add LightningResistance parameter for LightningTarget Component
* add chaotic teleport
* eletrocution remove?
* deltanedas fix pack
* more fixes
* FIXES
* FIIIXEEES
* The "Grounding Rod" component is removed, and replaced with "LightiningSparking", which is responsible for changing the visuals when hit by lightning. Duplicate code from the coil is removed.
* ops
* fix
* nah, is escaped anyway
* increase tesla collider size
* keron bb
* try fix test?
* fix
* bruh
* check turn off sus comp
* prototype cleaning
* FIIX
* return and fix sus component
* fix tesla eating lightnings, now mini tesla is electrocuted
* commented some issues
* remove linq sorting
fix jumping system
minor fixes
* fix second Linq
* fix tesla colliders! Yeah, it works
* fix componentregistration
* Just retests
* not fix
* FIX TESLA
* fixes
* store targets
* back
* make dictionary of hashsets
* some sloth fixes
* stump
* playtest balance energy generation, return to unpotimized (but working) lightning shoot
* parity
* work on
* some new fix, some new bug (chasingComponent not chasing)
* comment
* fix ChasingWalkSystem
* fix collider tesla problem
* revert old unoptimized shoot lightning
* new fix pack
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 88d7cfb4c035a5a5c2c3e7fc643b9a0d4ad18f5f)
* Add some tests and fix some bugs
* Add more helper methods
* remove submodule
* fix merge
* also fix DirtyAll()
* poke
(cherry picked from commit 35ba42af9ccbbe41e8a3e59b30f2799ef8ca4b8d)
* Remove n rename cruft old shit
* Artifact analyzer UI updating optimization
* Revert "Remove n rename cruft old shit"
This reverts commit 8789338fb20f77d79c5b0e40719896efe0103fcc.
(cherry picked from commit ab6726136f452dc4372a5cc8d1d5dcabf65024b3)
* Change the vote and cvar
* Only denies successful votes
* Add comments because I'm a good coder, I swear
* I added a space to the first line of ccvars it's so over
(cherry picked from commit 82ddf451e6d70710a93d40aa1f5bbb7138333fb3)
* Add sprite movement states
Did it for borgs for reference for future implementations.
* Fix
* Fix prediction issue
* review
(cherry picked from commit 9a40cf81f55722083a985e4cdddda9c6008beb08)
* Fix pulling mispredicts
* Make behaviour consistent
* Good ol terminating entities
(cherry picked from commit 721a445bbd707d21744ba01220e5ce46eda84e4e)
* Make some prototypes use frozen collections
* poke tests
* Remove frozen dictionary enumeration
(cherry picked from commit 8587c3778abdf94041a491b1ff6330fbe6746c03)
* Add a 'Copy' button to the fax UI
* Add ValidatePrototypeId attribute
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit b20fcf51411761710a7289765d216bd3980ded35)
* 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)
* Check for divide by near zero (#22876)
* Clamp after AdjustMoles() (#22907)
Clamping is needed because x - x can be negative with floating point
numbers. If we don't clamp here, the caller always has to call
GetMoles(), clamp, then SetMoles(), which makes this function not very
useful.
* Add maximum atmos temperature limit (#22882)
* Add Tmax
* Increase Tmax
* Revert "Add YAML gas reactions (#22803)" (#22939)
This reverts commit 054321d2c2c17eb55a1640150131c61c29a3eb2b.
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* 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>
MinimumTemperatureDeltaToConsider sets the minimum temperature
difference for a heat capacity calculation to be run. The problem is
that when heating up large quantities of gas (e.g. with a heater), a
small dT becomes an even smaller dT when running DivideInto(). This
means that small changes in temperature are completely ignored.
Fixes#14220
Because the entity they start following is moving, the physics system gives the follower opposing velocity to counteract, at the time the parent change happens. This happens *after* the follower system tries to clear the follower's velocity, so the follower gets some velocity that will still move them a bit off-center.
Fix is easy enough, just reset velocity *after* reparenting, not before.
* the grinch will ruin christmas
* comments here, comments there, comments should not be a thing :godo:
* Unsubscribe from CVar
* rename cvar to be clearer.
* Change switch to if statement.
* 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
---------
* first pass
* chemical breakdowns !!!!
* mintemp salt because why not
* we don't really need this, no?
* if at first we don't succeed...
* ...then run debug tests again
* Flare gun can now only be loaded with actual flares
* Make flare gun loadable with other shells, but destroy it and damage and stun the user when used
* tweak
* Logic fix + QOL add-ons
* damageOnWrongAmmo in gun component
* cleanup
* 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
* clustergrenades go boom
* Small tweaks
* Some tweaks and soaplet
* clustergrenadesystem changes and launcher types
* small tweaks
* typo
* whitespace
* rsi edit
* another typo
* add containers
* Some changes related to merge
* Forgot to change name
* Made changes based on review
* Removed new china lake ammo based on feedback in other PR
* Unneeded nested loop moment
* Nested loop needed after all moment
Add atmos.speedup which is effectively a atmos-only time compression
CVar. This adjusts heat capacities and transfer rates to effectively
globally speed up the time constants of atmos.
This allows faster response to heating/cooling changes and faster
cleanups (by buffing scrubbers, pumps, and everything else) that is
tunable through one global time compression CVar.
It also achieves this without any thermodynamic unsoundness.
* remove empty file real
* support explosion resistance for non-worn things
* remove redundant entitystorage resistance
* port entitystorage optimisation to apply for everything with 100% resistance
* add explosion resistance for bag contents
* make thing reusable
* add resistance to chest rig too
* medical chest rig too
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Editable "NeedsHands" for SharedPullerComponent
* is { get; set; } better?
* Waiter, waiter! There's a worm in my access!
They call me the worst clown there is.
* Get the comp to dirty.
* Velcroboy changes
* Fix compilation errors
* Fix borked path
* Fix
* Moved to shared, fixed some problems with code
* Cleanup
* Fix paths
* Fix
* Move files around
* Moved DiggingSystem to Server
* Revert "Removes Prisoner selection from maps (#262)"
This reverts commit d73f485fa2.
* Fix alwaysUseSpawner, add DesiredSpawnPointType
Prisoners are now forced to spawn in the prison again.
* Updated map prototypes for prisoner
Yaaay, we love confinement!
* Update asterisk.yml
Add a drain to the cell area :trollface:
---------
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Disable artifact spam on roundend
I think part of the issue was the enormous amount of logspam but at any rate this turns it off.
* Also this
* And these
* Use object-spaced bounding boxes for putting stuff in crates
* Use existing _lookup.GetAABB, different component
* PR edits updated
* Remove unused bits from around GetAABB
* Use GetAABBNoContainer
* 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
In CanImplant, FirstOrDefault would make up a new implant with default
values if there wasn't any to inject. This resulted in localization
errors and exceptions. Replacing with FirstOrNull fixes the issue.
We've had it at like, 18, 12, and 7, I think 7 is too low and 18 is definitely too high.
Ideally:
- 2 minutes to get inside
- 7 or so minutes inside.
- 2 minutes as a buffer to either fulton themselves out or run out if necessary.
* gee
* forgor comments
* licence for audio
* Update equipped-BELT.png
* Makes the sprite change but shitcode
Because shitcode makes everyone happy
* it only got two of them firemodes lets not lie
* We can name this appropriately now
* Apply 3 suggestions from code review
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: Fluffiest Floofers <thebluewulf@gmail.com>
* update sources
* Energy Gun + more firemodes
its still energygun only
---------
Signed-off-by: Fluffiest Floofers <thebluewulf@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
* added TileAnomalySystem to AnomalyIce
* added FloorIce for station
* created ice crust entity to spawn under ice anomaly
* update draw depth for ice crust
* uh oh, added ice-sliding but at what cost
* resolved mispredicts
* updated sprite alpha, removed appearance component (not used)
* fixed function not reflecting event name, left datafield attributes blank, added one comment about saving data (?)
---------
Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
* soap reagent and soapy water
* make soapy water recognizable
* Fix tile cleaning bug
CleanDecalsReaction was able to take more than the reactVolume it was given.
* make soapy water an evaporating reagent
* Tile reactions when mopping
* Fix indescribably soap flavor
* Adjust soap flavours
Soap and soapy water now taste clean and syndie soap tastes like punishment.
* Better soap numbers & DeleteOnSolutionEmpty
* Changed TrashOnEmpty to TrashOnSolutionEmpty
* Last TrashOnSolutionEmpty change
* Fix merged code not compiling
* Requested changes.
This reverts commit 74f1098008e4cd6e13778a385e3f69712e4833d7. That moment when you have to sneak changes in via other commits. I'd literally rather just skip this entire entity instead of trying to change the added stuff.
* Added candy bucket and component to update appearance of held containers akin to it
* cleanup newline
* newline was load-bearing
* moved component to Shared, cleanup
* newline is spooky
* You build and run without errors, stop pretending otherwise
* Updated for new storage system in master branch
* 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>
* 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>
* Carrying system.
Carrying someone in your arms, maybe your beloved or a high criminal, is nice for both.
TO DO-Pretty much make it work
* Many more additions to actualy make it work...
Halfly
* ITS WORKING!!!
Not done yet, need to improve it
* THE CARRIABLE UPDATE!!!!!
YEEEEEEEEEEEEEEEEEEEEEEEEEEE
(Thanks death for helping with that one issue that I wasnt able to figure out x3)
---------
Signed-off-by: Adrian16199 <144424013+Adrian16199@users.noreply.github.com>
* Fix saw sound error on client
The sound tried to play using shared PlayPvs which doesn't work on client. PlayPredicted handles client and server.
Fixed NextSound not playing again while continuously gibbing items.
* Fix duplicate splat sound on Recycler gibbing
* 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
* Fix moth color blending
Also fuck verifying the hue, whats the worst they can do
* Replace my lerps with MathHelper.Lerp
I guess I should've looked more. Still, why no Color.Lerp >:(
* Update SkinColor.cs
* Harpy Customization ExPac 1
* Update meta.json
* Holy fuck I found out swappable instrument works on them.
* Fixing a bug where dead harpies can sing
* Review Changes
Also I remembered to add Vulpakin mimicry
* Color color
* Harpies can no longer sing while dead
* Simpler fix
* Update Content.Server/DeltaV/Harpy/HarpySingerSystem.cs
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update Content.Server/DeltaV/Harpy/HarpySingerSystem.cs
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update speech_emote_sounds.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Fixing a 6 month old speech bug because it annoys birds
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Cleanup more follower leaks
Rather than check stop everywhere we'll just check it on start and cleanup the old following. If someone were already following and followed something new the FollowedComponent would never get cleaned up and would never have its ref to the entity removed.
* Don't cause archetype changes
* Fix not removing RevolutionaryRoleComponent from minds on mindshield application
* Simplify other part of the mindshield code
* Fix being able to mindshield head revs
* Other way around
* raise MeleeAttackEvent on the user after swinging
* add disable bool to RevealNinja
* uncloak ninja after attacking
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* TryGetObjectiveComp
* helper function to get objective
* store N of jacked doors in condition
* store called in threat bool in condition
* store techs in steal research condition
* fix access
* remove unused transform system
* use popup from shared system
* fix formatting
* condition => obj everywhere
* i fogror to remove downloaded nodes from role
* change signature
* use query
* View Variables
* spider charge detonated => condition
* Funny birb start
* Adding yet another harpy.yml
One day the linter will be happy. That day is not today
* Adding the traitor item, sans component
Still need to refactor ActionChangeVoiceMask into an implantable component on the DeltaV namespace
* GUH, EMOTES
* URIST MCHARPY WORKS
* Rename uplink-catalog.ftl.txt to uplink-catalog.ftl
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Icon Fix
* Changing DAW to Synthesizer by Debug's request
* removing percussion so it sounds better
* Update implanters.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update uplink_catalog.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update speech_emote_sounds.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Create modifier_sets.yml
* More fixins
* THE WINGS ARE HERE
* Fixing harpy wings
* Finally finished with all of the "Natural" sounds, birb sounds next
* Adding default tail.
* Semifinal commit, all defaults are ready
* FINAL COMMIT UNLESS THE LINTERS MURDER ME
* Guh?
* Final fix
* For reasons I don't know, they didn't have handcuff layers
* Updating HarpySinger to use microphone as default
Birds will sing
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Confiscating Urist McHarpy's 3rd leg
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* 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)
* basic stuff
* Fabricate them candies
* the candy creator and laws
* Technically still a normal borg
* jobicon
* migration
* Make the CMO their supervisor
* duplicate migration
* job timer
I hate this I wish all borgs could just be JobBorg
* works better if its not in the wrong repo
* buh
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Two doors for the couriers living in logistics
But they were, all of them, deceived, for another access was given to the HoL.
* actually put the access in the id computer
* add paramedic-only access
* edit chemvend
upped jug amounts in each vend to accomodate for their use, and adds all emagged chemicals from the dispenser to them
* add portafib
* added comments and tweaked rollerbed
* one line comments
* Update IdCardConsoleComponent.cs
* increase crate price
* Comment, misspelling adjustments
removed unnecessary comments (ones indicating a Delta V change while already in the Delta V directory)
* not all jugs are created equal
this wont work btw
* chemvend restock price
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* 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>
* Fix gibbing & body system
Makes it so that bodies no longer have two sets of torso organs and that gibbed bodies get spread around on the floor again.
* Actually fix the double torso problem
* rootSlot in cameFrom
* Remove SetCoordinates inside GibBody()
* Don't use entity.RandomOffset() in GibBody()
* Gibbing now uses _random.NextVector2()
* change threats to be weighted random and a little cleanup
* ninja rule stores weighted random id for threats
* move threats out of the rule and into weighted random
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* 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
* check that slot is power cell slot
* add BatteryChangedEvent
* use BatteryChangedEvent when enabling gloves and replacing battery
* sort gloves dependencies
* increase stun duration and cooldown
* play sound when stunning people
* remove dirty for non networked field
* NinjaBatteryChangedEvent
* real
* fake
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Oni Morphotype from nyanotrasen
The big felinid destroyer has arrived.
* Added some files. changed species weight again by deletin that one space and addin vulpkanin weight.
(will have to prolly change that after felinids merge)
* Finally fixin the *reason* why it just didnt wanted to show
Also Fixed horns
* Changed localization of files.
* Changed excess to critThreshold
Also changed capitalization of oni_horns.rsi to Oni_horns.rsi.
* Leavin a comment so that someone else can do this.
* Additional merge fixes with files.
* Added THE NAMING SYSTEM!
Only touched 2 base files and summarized it because had no other choice from my understanding
* Removed erroneously named folder
* Replaced erroneously named folder
* Added link so the horns dont have file names.
---------
Signed-off-by: Adrian16199 <144424013+Adrian16199@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* 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>
* raise ToolUseAttemptEvent on target as well as tool
* prevent using tools on magnet when active
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Add DumpableSolutionComponent
Separates out the component from "DrainComponent" that allows one to drag a bucket/any reagent container onto a drain/sink/toilet to empty it and allows other reagent containers to reuse the code effortlessly.
* Give the ChemMaster 4000 the DumpableSolution Component
Allows drag and dropping solutions into the ChemMaster much like you used to be able to do exclusively with drains. This also allows dumping jugs into them.
* Adds WeekKiller storage tanks and allows Cargo to purchase them.
* Delete CellMemberRoll.cs
Woops, this template file snuck in after I reset my local. It doesn't do anything, just empty classes.
* Switched from WeedKiller to PlantBeGone because WeedKiller is too deadly. Honestly is probably shouldn't be in Botany so readily.
Made Diona take damage from PlantBeGone and WeedKiller.
Adjusted waterguns to use less reagent per shot.
Added admeme watergun.
Adjusted watergun cargo crate.
* Fixing small .yml formatting hiccups.
* Fixing small .yml formatting.
* Fix Typo.
* watergun min solution match shot size
Makes watergun's minimum solution transfer match shot size (5u).
* I pass tests now, please?
Nothing.
* Lower Diona herbicide damages
Remove slime changes
Lower super water blaster size to 500u (100 shots)
* Add snow tile edges
* Changes for edge tile prio
* Add support for tile weightlessness
* Add weightlessness to ice
* snow duggy moments
* fix ice thing yeah
* actually why even use weightless movement
* upd8 nukieplanet
* i have no idea what im doing
* sprite modifications
* Added basic alternative fire mode system for the CHIMP
* Redesign of the CHIMP handcannon
- the CHIMP now has an internal rechargable battery (10 shots at 100% charge)
- it has three alternative fire modes, one for each particle type, that its user can easily switch between
- syndicate scientists have access to an experimental version which can also fire omega particles (4 TC)
- each particle type now has a distinct color and damage type: delta (red): heat, epsilon (green): radiation, zeta (yellow): shock, omega (purple): heat + radiation. This affects A.P.E.s as well
- CHIMP particles now do 10 damage (up from 5)
- all CHIMP particle cartridges have been removed from the game (including the syndicate omega particle ammo pack)
* Code revisions
* Code revisions
- Removed changes to particle damage and damage types
- The experimental CHIMP was removed from the syndicate uplink and replaced with an upgrade kit, which when used on a standard CHIMP will convert it to an experimental one
* Code revisions
- Added a 2 second DoAfter for applying the upgrade kit
* Fixed spelling mistake
* Update projectiles.yml
Removed commented code
* Update Content.Server/Weapons/Ranged/Systems/AlternativeFireModesSystem.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Code revisions
- Implemented changes requested by EmoGarbage
- Removed UpgradeKitComponent in favor of using a construction graph
- Renamed AlternativeFireModesComponent.cs to BatteryWeaponFireModesComponent.cs
Textures
- Reverted omega particle to being a green color
- Epsilon particles are now a cyan color
* Added comments
* Revisions
- Moved BatteryWeaponFireModesComponent from Shared to Server
- Restricted access to this component to BatteryWeaponFireModesSystem
- Changed the CHIMP upgrade kit to a chip
- Updated the localization files to reflect this change
* Delete interaction-upgrade-kit-component.ftl
This file is no longer needed
* Update battery_guns.yml
Added new description for the experimental CHIMP
* Update battery_guns.yml
Updated experimental CHIMP description again...
* Fixed issue with ItemComponent
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
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>
* Portal repalette
* Portal traversal verb + anchoring
* map restriction
* optional max distance checks if we decide to have them later
* lower pointlight energy slightly hopefully makes it less garish
* add placement logs
* add tile log type
* add support for spawn command
a little janky because the log message isn't entirely accurate when it's the result of a command use
* move method to ActorSystem.cs
* switch to TryGet and outs instead of multiple returns
* 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
* Merge before I fuck up anything again
* craft whitelist
* Sericulture
* Spider
* gone
* quickly fixed
* and coders taketh away
* And we take more away
* sericulture improvements
* arachnid
* better webbed
* OH WAIT
* test fail
* Remove netsync
* Replace OnStartup with OnMapInit
* Dont remove component
* Remove component ensure
* Remove using
* Cancel all moving or stand events
* Fix description
* Revert "Replace OnStartup with OnMapInit"
This reverts commit 5b7470d0dfa7a7c127dec6a06534b339f140ffac.
* Remove stand events cancel
* 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.
* Adds the ability to better protect to the internal wiring of airlocks
- Achieved by opening the maintenance panel, adding either steel or plasteel to the airlock, then welding the plate in place
- To access the wiring, the plating must be cut with a welder and then pried out with a crowbar
* Code revisions
- Cleaned up the code
- Cutting the security grille can now shock you
- Atmospherics and Security dept airlocks start with a medium level of protection (a welded steel plate)
- Command dept airlocks start with a high level of protection (a welded plasteel plate and electrified security grille)
* Code revision
- Accounted for a potentially null string
* Update Content.Server/Construction/Completions/AttemptElectrocute.cs
Co-authored-by: Slava0135 <40753025+Slava0135@users.noreply.github.com>
* Update ChangeWiresPanelSecurityLevel.cs
Adjusted scope
* Update Content.Shared/Wires/SharedWiresSystem.cs
Co-authored-by: Slava0135 <40753025+Slava0135@users.noreply.github.com>
* Update Content.Shared/Wires/SharedWiresSystem.cs
Co-authored-by: Slava0135 <40753025+Slava0135@users.noreply.github.com>
* Update ChangeWiresPanelSecurityLevel.cs
Removed get / setter and added [ValidatePrototypeId] attribute
* Update ChangeWiresPanelSecurityLevel.cs
Set security level to "Level0" as the default
* Update airlock.yml
Removed 'super max' level of security
* Update WiresPanelSecurityLevelPrototype.cs
* Update WiresSystem.cs
Added check for WiresAccessible to OnInteractUsing
* Update AttemptElectrocute.cs
File scoped namespace
* Update ChangeWiresPanelSecurityLevel.cs
File scoped namespace
* Update AirlockSystem.cs
File scoped namespace
* Update SharedWiresSystem.cs
Removed boiler plate 'OnGetState' and 'OnHandleState'
* Update WiresPanelComponent.cs
Implemented AutoGenerateComponentState
* Removed unnecessary usage references
* use TryCloseAll when wires not accessible
* minor changes to AttemmptElectrocute
* lets try all 7 levels
* fix indent in airlock graph
* fix indent 2
---------
Co-authored-by: Slava0135 <40753025+Slava0135@users.noreply.github.com>
Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
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>
* Init commit
* move to shared and remove all from component
* maybe that
* Use SharedBuckleSystem
* Rename to WheelchairBound
* Move Carriage to prototype
* Update sprite to TG, add folded sprite, rename carriage to wheelchair
* Fix wheelchair rsi path
* Add stand & down for buckling
* Add wheelchair inhand sprites
* Move wheelchair down in file & fix fold sprite & add suffix Vehicle
* Use new wheelchair id
* Add standing & speed reset on component remove
* Split system to leg paralyzed and wheelchair bound
* Rename to LegsParalyzed
* Rename in prototype
* Move LegsParalyzed to shared
---------
Co-authored-by: Ray <vigersray@gmail.com>
* Add radiators
* Limit heat transfer to fluid heat capacity
* Adjust datafield names
* Fix material arbitrage
* This code has been debugged, and so there are no more bugs. Debugging code is therefore unnecessary
* Adjust radiator layer subfloor visibility
* Cache CVars
* No default
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Like and unsubscribe
* Fix CVar caching
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
So we have pickaxe, drill, crusher, and PKA (projectiles).
The tier list in terms of mining speed should go:
- PKA
- Crusher
- Pickaxe
- Drill
As a result:
- Nerfed PKA firerate to 0.5 and bumped damage (slight DPS nerf due to meta).
- Crusher bumped to 1 hit per second as PKA is still more common and also to make it better at mining.
- Pickaxe is 1 hit per second and also gets structural (fireaxe should still beat it by a little bit) so it's better to break stuff than crusher but worse in combat.
- Drill is 1.5 hits per second but otherwise weak.
Emergency tank: 4 minutes (down from 12)
Extended Etank: 9 minutes (down from 37)
Double Etank : 15 minutes (down from 62)
Full tank : 31 minutes (down from 94)
This will make it so EVA crews actually need to watch their pressure if they spend significant time outside the station, and/or have a canister in their general vicinity.
Emergency tanks can no longer be used on timescales that far exceed escaping an emergency situation, but will probably be insufficient in extended emergencies, where access to canisters will now be much more important. How well this works in practice will have to be carefully watched.
* Resolve buckle audio playing twice
Note: Unbuckling other still plays twice. :(
* Resolve unbuckling other
AAAAAAAAAAAAAAAAAAAAAAAAAAA
* Remove newline that I added for no reason at all
* 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>
Makes bullet casings launch a bit away from you when shooting a gun. Cycling still drops it at your feet.
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* 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
* 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
* Added component and functionality.
* Fixed ZombieImmune.
* Zombies now have zombie blood.
* Ambuzol plus.
* Ambuzol plus spawns in bundle.
* Fine CBURN get one too.
* Reworked the reaction
* No more magic blood refilling.
* ok CE i fixed it
* Component change.
* 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
* Hotplate overhaul
- Beakers are now placed on top of the hotplate instead of itemslot.
- Hotplate LED now only lights up if it's heating something.
- More comments/xmldoc.
- Some other minor tweaks.
* Actually remove the beaker slot
* Allow specific entities to bypass DoAfter delays
This adds the InstantDoAfters tag to the admin ghost for mappers.
* Add specific player prototype for InteractionTest
* allow grilles to be placed on lattice
* Revert "allow grilles to be placed on lattice"
This reverts commit 5c536686cdcd85d49681f934d9abaf69076e2bc2.
* allow grilles to be placed on lattice (fixed)
* file namespace
* Refactoring of antagonist roles and notifications about antagonist role assignment.
Refactoring of traitor assignment methods and bug fixing.
* Announcement files moved, code is adjusted to new revision
* Play to entity changed to play to global cause of mono audio restrictions.
* Path to audio files changed to sound specifiers, unique alerts for each role.
* Uncommited changes
* New alert sounds for each antag role.
* PR review fixes
* Antagonist role assignment sound notifications moved to Systems, sounds moved to Components.
* License update
* Fixed naming and redundant parameters
---------
Co-authored-by: Титов Вячеслав Витальевич <rincew1nd@yandex.ru>
* 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>
- Guaranteed spawns in salvage
- Triple vein count
- Made it so rocks only drop 1 as it's kinda whacky (I believe they still convert differently to bars).
* 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
The alert for snares will appear again. Previously it was being updated
on the snare itself and not the player.
It is no longer possible to infinitely ensnare someone; the maximum
number is dependent on the target's legs.
Only one snare at a time will be removed now.
Clarified the wording and logic around CanMoveBreakout. It was
inconsistent.
Made multiple snares impose cumulative speed penalties.
It is no longer possible to remove bolas while moving.
* Space sections fractionally slower (1 sec, exponential)
- ExplosivelyDepressurize reduces air pressure by about 20% each pass, sets to vacuum below 20 kPa
- Causes some issues with AdjacentBits on airlock close
* Introduced constants for Spacing in atmospherics
* Limit space wind allowed during spacing to 1000 kPa per tile/sec
- Less tile ripping per tick
- Tiles rip based on wind
- Robustness checks
* Slowed down the spacing a bit
* Slowed down the spacing a bit more
* Better dynamics about high pressure air escaping,
- Reduce air temperature (due to decompression) during spacing
- Make some water vapor for flavor
* Limit temperature loss to >8 Deg.C. No Water vapor
* Update StationSpawningSystem.cs
Web-edit to allow feeding in an existing entity.
* Update StationSpawningSystem.cs
value type moment
* Update StationSpawningSystem.cs
* Oh goddamnit this is a refactor now.
* awawawa
* aaaaaaaaaaa
* ee
* forgot records.
* no records? no records.
* What's in a name?
* Sloth forcing me to do the refactor properly smh.
* e
* optional evac in test.
* tests pls work
* awa
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* 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
* Nerf Space zombies, get DoT in space (barotrauma) and spawn stunned.
- Also discard any helmet or mask you might be wearing.
* Zombies have heal over time, infection far more fatal
- Stun time reduced to 2 seconds
* Zombification occurs after you die, rather than after you crit.
- Zombies cannot inflict Zombification DoT on other zombies.
* Heal shock damage, space zombies are back.
* Lower the chance of infection per hit
* Removed the stun, reduced zombification virus slightly
* use file namespace
* shorter systems name
* replace SoundSystem with AudioSystem
* refactor update function
* refactor
* refactor 2
* remove setters
* uh oh
* remove getters
* active checks
* refactor 3
* better way
* update state
* have to remove this for now
* move electrified component to shared
* forgot this
* fix airlocks
* add effect
* Revert "move electrified component to shared"
This reverts commit 6457e8fc9c3b674a705a61034831ce6f084e2b01.
* Revert "forgot this"
This reverts commit ed361cee2d5b8b958830ba0af07fcc2627eb7845.
* functioning effects
* use animation by Aleksh
* make effect part of grille
* optimisation?
* remove timing
* file name
* only activate when touched
* refactor electrocution comp too
* make it 1 sec
* formatting
* replace all entity query with enumerator
* queue del
* 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>
* removing drunk scaling with missing blood, drunk will apply until blood restored
* added new drunk function to go with new bloodloss drunk code
* initial tryremovetime code for drunk system. Still need to code it into bloodloss and test.
* initial tryremovetime code for drunk system. Still need to code it into bloodloss and test.
* Drunk status added by low blood level should be removed when healthy
* Everything is working in the dev enviroment. Cleaning up code.
* Dead bodies bleed, do not recover blood, and do not take further bloodloss damage to missing blood
* Last commit
* 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
* 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
* [Access] Detective personal access
* [Add] technical airlock with detective access.
* vendind and locker change access
* Detective access on ID card console
* 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
Server config now provide appeals forum link, game admins won't need to type it out manually anymore.
Add warning about trying to ban evade.
Cleaned up code a bit.
* if a player's profile has an invalid species, station spawning will always try to fallback to the default humanoid species
* validation always ensures that if a species can't be indexed, the species falls back to the default species
* 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
* 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
- Set some of the defaults in the definition to what we use for most prototypes
- Added planet variant for dirt to avoid black space
- Dirt looks like literal poop but will have another sprite for it soon
* Add AutoEmote comp/system
* Reduce groan chance so it's the same as before
Old code did 0.2 and then 0.5, now it's just one Prob(0.1)
* Fix typo, curTime var, don't log Resolve
* Maybe fix pausing?
* Fix mistake
* Update NextEmoteTime if an auto emote is removed
* Fix stuff
Get CurTime outside update loop
Use MapInit instead of ComponentInit
Fix a typo in a comment
Debug assert prototype ID in RemoveEmote
Do += PausedTime in OnUnpaused
Add prototype as arg to ResetTimer to avoid an indexing
* MOTD
* Message of the Day
* Pretty sure the tests aren't me. Let's check.
* Update Content.Shared/CCVar/CCVars.cs
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* command dependencies and moving MOTD to its own system
* Some doc comments
* Let's try those tests again
* More doc comments, most of the github reviews, and aliases for get-motd and set-motd
* Clear test MOTD
* Localized motd commands and completion hints
* Makes set-motd only show up in the alias command if the player has access to it.
---------
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* 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
* The all-in-one hacking solution
The thinking man's lockpick
The iconic EMAG
* emagged medbay's stasis bed
* left med, emagged sec' apc
* went back to chem, emagged the dispenser
* emagged the fax while i was there
* had a donut while waiting for emag to charge
* i broke into the bridge then announced 'mandatory johnson inspection in medical'
* get system instead of dependency
* feedback
* net suggestion
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* use EnsureComp and import NetworkedComponent
---------
Co-authored-by: deltanedas <user@zenith>
Co-authored-by: deltanedas <deltanedas@laptop>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* 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>
* 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>
* basic system with portals & linked ents
* hand tele sprites, no impl
* hand tele and teleportation works
* fancy it up
* oog
* special case projectiles
* predict portal-to-portal teleportation
* this stuff
* check nullspace
* sloth
* give to rd instead
* i guess this can probably happen
* docs
* fixes subdermal exception
* Changes linq check to a foreach loop to remove the entities, also moves TODO note to containersystem
* comment to push change
* removes dummy comment
* 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
* everything for mixing aside from yaml changes
* add recipe and canmix to bottles and the holy mixer tag to the bible
* fixes as a result of testing
* remove unused usings
* remove emptylines that are not required
Co-authored-by: 0x6273 <0x40@keemail.me>
* more empty line removal!
Co-authored-by: 0x6273 <0x40@keemail.me>
* add single space between if statement and condition
Co-authored-by: 0x6273 <0x40@keemail.me>
* fixes indentation on TryGetMixableSolution
* raise new AfterMixingEvent after attempting to mix a solution
* before mixing event and attempt get mixable solution event
* update reaction tests to be a beaker that can be mixed, and then pass a mixer component in to simulate mixing
* make two more beaker types mixable, add attribute for mixing feedback
* bible mix message
* mixing feedback on success
* updates test to use SpawnEntity over new as per feedback
Co-authored-by: 0x6273 <0x40@keemail.me>
* show modifications in access change logs
* skip logging and updates to name and job when no change was made
* add method to SharedAccessSystem.cs to get access tags
* add ID microwave logs
* 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
* new version
* testy2
* working version
* new GroupExamineSystem
* restructure
* restructure again
* update icon
* adding group examine to prototypes
* change examine group title to a localized string
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
* 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
* Spawns a new disk if one was deleted
* Adds tiledef to space checks, also adds a way to randomly check for a respawn point on station
* Removes unused method
* Cuts down on tile checks needed by checking surrounding tiles first
* Fixes up an issue where the coords wouldn't spawn
* Removes disk system, adds special respawning system and comp
* Fixes spelling error
* Fixes linter issue
* Maybe fixes the linter with a ref event?
* Empty commit to rerun tests
* Maybe fix?
* check for deleted grid
* Moves shutdown code to terminating code
* Customtypeseralizer
* changes name of datafield
* Removes owning station references
* Trying the queue event again
* Fix dead mobs sneezing and coughing
* SneezeCough update
* Streamlined Event code, moved dead-check
* cleanup
* I can has merge?
* Shared event for SharedMobStateSystem
* 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 automatic emergency shuttle call
This adds a cvar shuttle.auto_call_time which is an integer N, that
calls the emergency shuttle automatically without intervention after N
minutes. This can be disabled by setting N to 0.
After a vote to extend, the shuttle will be called automatically every
shuttle.auto_call_extension_time minutes.
* Update Resources/Locale/en-US/round-end/round-end-system.ftl
Co-authored-by: theashtronaut <112137107+theashtronaut@users.noreply.github.com>
Co-authored-by: Moony <moony@hellomouse.net>
Co-authored-by: theashtronaut <112137107+theashtronaut@users.noreply.github.com>
* 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.
* new species: Diona
* more diona stuff
* dey breathing now
* test fixe
* fix a merge
* now actually fix the merge
* foobar
* oversight
* ok now the rest of em
* 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
* 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
* 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
* deregister sensors upon device list update and re-register after clearing devices
* fire alarms, too
* adds the last set of known devices to the device list update event
* update UI upon clearing everything out
* addresses reviews
* start work
* blindness actually works now
* doc
* doc you too.
* i desire to sneeze my lungs out
* no punchie
* s
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* 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
* restores species/age on examine
* makes the default human skin tone a little less green
* ensures human skin tone verification is rounded to the nearest integer value, adds tests for ensuring all human skin tones are valid and that the default skin tone is valid
* 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>
* Sort recipes based on total ingredient count
Fix the recipe sort function so that recipes with more ingredients are
matched first. This fixes vegetable pizzas and allows more complex
recipes in the future.
* Chef update
* Pet linter
* 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
* adds a check for if a firelock is powered before auto-opening
* fixes issue where resets would not propagate properly
* adds cvar bound for fire alarm access (defaults to all access)
* 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
* C# half of Outer Rim commit 5081906bd17e715ecae422dd7a003d9f103e6884 "autolink gaming."
Ported from Outer Rim with permission.
* YAML half of Outer Rim commit 5081906bd17e715ecae422dd7a003d9f103e6884 "autolink gaming."
Ported from Outer Rim with permission.
* commit fixed AL summary
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* NewLinkEvent.User & LinkAttemptEvent.User now nullable, fix possible AccessReaderSystem AutoLink bug
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
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>
* Fix a bunch of warnings
Also made ensnareable not broadcast as they're only used directed.
Mainly just Get<T> and AppearanceSystem
* buckle too
* fix tests
Co-authored-by: wrexbe <wrexbe@protonmail.com>
* stuff i'll have to fix anyway when n2o gets merged
* everything except the finished reactions
* freon coolant reaction but with bad curve
* miasmic subsumation
* freon production
* nitrogen and diff temp scaling
* uhh meant to change that
* #
* hitting that frezon boof
* 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>
* Properly dirty changes when calling "SetInstrumentProgram" method
* Allow using swappable instrument verbs even while playing the instrument.
It's funnier this way
* 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.
* Refactor traitor generation code.
* RandomTraitorAlive no longer crashes when 1 traitor. Also cleaner/faster
* Add Antag menu for admins, add Traitor to the list.
* Add zombie to admin-antag menu
* Pirates, lone op, make traitor consistent with the rest.
* Add name strings
* cleaned usings.
* Cleanup.
Co-authored-by: drakewill <drake@drakewill-crl>
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* 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>
* 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>
* Adds Reach II
* Updated Reach II to work after refactor
* removing old map
* Adding the Central Command outpost
* Reachii isn't meant to be in here at all.
* updated possible error in .yml
* updating .yml
* Updated CentComm, fixed some issues like lighting.
* Imagine if we also docked at centcomm
* a
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Don't load cargo shuttle by default
Realistically only I am going to care and it wastes a few seconds per test / debugging locally.
* Make it a general cvar instead
* a
* Add department-specific radio channels
This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.
ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.
IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.
The ugly is that the integer channel number is hard-coded and also shows
up in chat.
Comms are not modeled at this time. You cannot break comms (yet).
All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.
* Remove debugging print
* Convert to prototypes
* Use prototype names in headset prototype
* Adjust list style
* Document prototype fields
* cringe
* some cleanup
* colours
* Remove alphas at least
* cc
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Added the stages , time to implelement them
* adjusted the zombie code to fit within the new staged system
* because I forgot it starts at 0
* mmmm Mistaken
* Removed unused comp
* removed DiseaseBuildup comp from IgnoredComponents.cs
* Resolved review
* Delete IgnoredComponents.cs
* Resolved review
* resolved review
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
Co-authored-by: wrexbe <wrexbe@protonmail.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>
* Start implementing item pricing.
* Flesh out prices a bit, add the appraisal tool.
* Add prices to more things.
* YARRRRRRR
* gives pirates an appraisal tool in their pocket.
* Makes the various traitor objectives valuable. Also nerfs the price of a living person, so it's easier to bargain for them.
* Address reviews.
* Address reviews.
- Bojevic firerate dropped from 3 to 2
- Pellet damage from 13 to 8 (3 shotting players instead of 2 shot)
- Slightly more spread in line with the design doc. Slug spread I made as accurate as an SMG (so not quite full-screen mob hits but pretty close).
* 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>
* Extended access system
Allows jobs to specify "extended" access levels, which will be granted if the round-start crew count is below a certain threshold.
* Extended accesses for jobs
* Spook
* 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
* Removed the ability for flying mobs to pass through airlocks
* Adjusted the interaction of FlyingMob to Doors
Essentially removed the GlassAirlockLayer from the impassible group and instead added the HighImpassble group to the FlyingMobMask
* 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>
* Vending machine jingle much less intense
* SpeechSoundsPrototype has a built in variation parameter
* Sounds in your face are louder but roll off more aggressively so that distant talking sounds are less distracting
* Redo that
* Speech noise system now supports variation of pitch
* license stuff
* PAIs have speech sounds now. Made by altering the pAI sounds.
* Monkeys have sounds from goon now
* New Speech Sounds
* Oops
* Speech Sounds from Goonstation
* Added some speech sound prototypes for humans, mice, and vending machines. More to come later?
* Custom synthesized sound for a vending machine ad
* Gave mice and vending machines Speech Components on their base prototypes to make sounds
* Humans now talk using the 'Alto' voice. In the future this can be changed in customization screen
* New Prototype 'SpeechSounds' with three soundspecifiers for saying sound, asking sound, exclaiming sound.
* SharedSpeechComponent modified from being useless to being responsible for making speech noises.
* Initial creation of SpeechNoiseSystem for making Sounds when certain entities speak.
* whitespace fix
* License fix
* Remove leftover using from debugging
* Added a cooldown editable in yaml
* SharedSpeechComponent has the proper cooldown now. oops
* Slippery System checks if players are already down before slipping them again. Prevents chains of banana peels accelerating players to supersonic speeds.
* Slippery items and puddles now propel people, some more than others.
* a white space
* Move radiation collector to ECS
* Damagable system
* Remove IRadiationAct
* Add small helper field
* Update Content.Server/Radiation/Systems/RadiationSystem.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Delete comment
* Fixed total rads
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* fixes critical issue
* alright, this might be the actual fix
* removes useless null checks
* couple more
* removes default functions from unary device data
* Prototype that's mostly borked rather than completely borked
* ECS inserting mats
* Partial ECS mostly done, needs cleanup and visualizer
* Replace timers
* Power visualizes at least
* First ""working"" version
* Clean up all lathes
* Colors
* Fix animation timing
* Fixes greyscale, adds a bunch of colors
* Give every (used) material a color
* Made most lathes take long enough you can at least see there's some sort of animation
* Insertion feedback popup
* Sound for circuit printer and uniform printer
* Fix queueing, optimize update
* Remove mono crash
* cleanup
* Fix test failure
* Techfab inserting sprite
* Cleanup and commenting
* Fix bug in CanProduce check
* Fix UI resolves
* Mirror review stuff