* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
* Fix hotkey
* Fix container changes
* oop
* Fix multi-pulling
* Move alerts cleanup.
* pulling fixes
(cherry picked from commit c584f6444a85cc53edb060230f7e7b2b76cc87bf)
* Removes items from containers in reclaimers
* Made it into an event instead
* Sloth review comment
* Fix indentation and rename field
(cherry picked from commit d7484ae9f57477a5ec5c575e3077aa94c0564db6)
* Fix SCRAM implant not being usable while in cuffs. Also fix freedom implant from working while dead/crit as a side effect
* Move check up to apply to all actions and do thing I forgor to do before
* Change check into an ActionBlocker check that also checks whether the user is sleeping.
* Make checking for Consciousness the default for actions
Went through and chose what I believe to be sensible defaults for actions that had CheckCanInteract.
* Fix typos my beloved
I had an unbelievable skill issue
* Fix major skill issue
(cherry picked from commit 22e9d6562f21bdd4f0962d6e3b6fcdd81bb4c253)
* Spray Paint (Draft)
* paint colors, paints in maints loot, cargo crate of paints.
* fix
* remove paint (sort of)
* moved paintcleaner into own system
* Moved paint to server (had to unfortunately)
* doafter now breaks when moving away.
* cant paint mobstatecomp
* loads of fixes
* fixes
* fixes
* nopaintshadercomp
* fixes
* fix
* use locale for paint remove string
* remove nopaintshadercomponent and use blacklist
* remove enabled.true from visualizer
* paint doafter event.
* add verbs for paint and remove paint and icon for paint verb.
* fixes
* no longer replaces shader when shader exists.
* replace forloop with foreach, check shader before adding and removing.
* paint doafter now separate so no copy paste code
* Entities in sprayed targets item slots are also now correctly sprayed.
* fix
* fix
* fix airlock psray painter now removes painted before painting door.
* spray paints now use openablecomponent.
* fix
* fix damn accesstypes.
* fix
* fix
(cherry picked from commit e4d5e7f1aebfc37b1bc3453fdb39578f3897b6a1)
* Improvements to the medical hud interface
* Adds an icon for SSD players
* Indentation fix
* Update sprites, changes direction and adds new status icon.
* Adds decomposing icon
* Code cleaning
* Changes Crit Icon sprite
* Simplifies the decision structure
* Changes copyright line
* Changes Critical Icon sprite
* Makes the Critical Icon border darker
* Changes sprites to /tg/ station
* Updates copyright
* Makes Dead Icon animation slight faster
* Code cleaning
* Remove some unused imports
* Code cleaning and rename icon
* Minor code cleaning
(cherry picked from commit 8d40bc36a93d3d5c6d3ece6c662ac9747f7837ae)
* move faction prototype to shared
* move faction exception and member stuff to shared
* fix breaking changes for random stuff
* move pettable friend stuff to shared
* mostly fix
* final fixy
* dragonops
* final fixy II
* use querys and fix warpspeed fish (probably)
* fixer
* Rrrr!
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 7561bef6a7aee65149381e155da53abc65a6a4e7)
The math for our pressure damage (barotrauma) system is directly taken from TG. The constants are the same and the math is almost the same. However there are two errors.
1. Pressure damage started being applied within the WARNING bounds, rather than the HAZARD bounds. This means you started taking low pressure damage at 50 kPa instead of the intended 20 kPa, and also the HUD icon didn't show "danger" like it should even if you were already taking damage.
2. The calculations for high pressure damage were wrong. These are supposed to be linearly scaled, but the function was wrong so the scaling didn't actually work properly (especially when considering the fixed bounds above). This appears to be the case because the function was taken from an incorrect comment in the original source, rather than the real math.
Both of these issues are now fixed to match the TG behavior. Note that this somewhat nerfs pressure damage in non-extreme circumstances. e.g. a room at 40 kPa now gives NO pressure damage, whereas previously it would do full space damage.
The description of the pressure alerts is wrong for "low" severity, but I can't be arsed to fix that right now. Alerts don't have a way to change the description depending on severity...
(cherry picked from commit b5138b245e1782cc062b9bdf165600b7974e9ed7)
SS13 Criminal Record Icon Location REAL
Adds a new Offset DataField to the StatusIcon Prototype. It effects status icon location on a per-pixel level. Not sure what else it could be used for, but hey, nothing wrong with generalizing. Also moves the mindshield icon priority to one, to fix an unreported bug with them covering non-job icons.
(cherry picked from commit 21de5e9a08929e8c710030b887c081bf6afc9649)
Use Log with generated sawmill name rather than explicitly named one for all non rule-based Content EntitySystems.
(cherry picked from commit eeaea6c25b496106eb741e93738f2ab8503949ba)
* Kill the static InRangeUnOccluded
* Adjusted 4 more EntitySystems that were missed.
(cherry picked from commit 7d275a4b5e4188db424cc417c609dced3f9aca89)
* Fixes target hand check when no hands were needed.
* Adds missing CanStripX checks.
* Whitespace.
* Fixed bad math causing instant strips.
(cherry picked from commit 8ecb78ee5ac879ef0c79e9c35f3d05e72faf72fd)
* SS14-17183 Nerf vending machines
Vending machines provide too much food
(and drink) at the moment to the crew,
robbing the chef/bartender of a reason
to exist, and robbing the janitor of a reason
to want to refil vending machines early in
the round.
This PR adds a new "initialStockQuality" field
to vending machines and sets it at 0.33 for almost all
food and drink vendors. The intent at the moment
is to drop food and drink vending machine stocks
by somewhere around a half - two thirds of the time,
about two-thirds of the stock of a given item will be
missing.
This number can be tuned to discourage people relying
on vending machines and make round start
a bit more variable when hunting noms.
* Add comment to InitialStockQuality.
* Update Content.Shared/VendingMachines/VendingMachineComponent.cs
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 41093ab03cc6a643ee7721de3567963b34fe8e54)
Prevent dead users from turning their bar stools
Previously, players could always turn a bar stool or office chair they
were buckled into; even while stone cold dead!
(cherry picked from commit 15a7520df17a6fa95cbd8ce8914edab5b0d7ed50)
* add color field to clothing layers
* add support to randomsprite
* bababa
* finalize spriting work
* add to game
* fix
* remove space
* edit patelle, +1 decor variant
* added only pants, some sprite fix
* inflation
* fix mixed
* not tested commit
* Revert "not tested commit"
This reverts commit 4a904df3452263e87c9cb819ab5d8cf411ebe468.
* naked human is fun
* update
* add new style
* some sprite pixel tweak
* Update meta.json
(cherry picked from commit 986ac589b44687fd2f3b71da00a52434db75abe3)
* Initial commit
* Fixed short circuiting
* Use DebugTools
* Use Entity<TComp> more, and make them nullable
* Bring these two together
(cherry picked from commit 41ca8f3dfcb986432e1e509247bf239cac137836)
* Throttle people trying to connect to a full server.
To reduce spam/load on the server and connection logs table.
Players are forced to wait 30 seconds after getting denied for "server full", before they can try connecting again.
This code is an absolute nightmare mess. I tried to re-use the existing code for the redial timer but god everything here sucks so much.
Requires https://github.com/space-wizards/RobustToolbox/pull/4487
* Use new NetDisconnectMessage API instead.
* Add admin.bypass_max_players CVar.
Just something to help with debugging the player cap on dev, I don't expect this to ever be disabled on real servers.
(cherry picked from commit 0ecc5e8c96c235af265ab747d7345b363f94b1e4)
* Security hud shows icon based on criminal record status
* Criminal status now linked to name instead of identity
* parole loc
* Test fix
* review changes
* Check station records instead of storing names on criminal record consoles.
* cleanup
* more cleanup
* review changes
* change outdated comments
* rename
* review changes
* remove event subscription
* replaced event with trycomp
* default value
(cherry picked from commit 60b9d89e4dbdd8aaad4992a105628297d9480617)
* guidebook pages defined
* species info button in character profile editor
* if current species has no guidebook page then open the parent page
* skrek
* destroying evidence of secret vox plot
* icon size adjustment, no icon if guidebook page for species does not exist
* finished pages
* additional info
* weh
(cherry picked from commit 84a07315dde09c2cff716f9f3a73f493b6b56cc7)
- HideLabel just means it won't have its name / button drawn whereas Hide will block it completely.
(cherry picked from commit a41772a006302bbe267793569b4b0d171eb82c87)
* Fix shield absorbing asphyxiation damage
Shields will no longer reduce damage on their user that they themselves
can't absorb.
* Update Content.Shared/Blocking/BlockingSystem.User.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit b0ffed1607452a2d4186228fc2343d10035611e5)
The EmergencyAccess bool on the AirlockComponent would not get synced to the client
(cherry picked from commit deac5a6842a88944b06c0b4d75da751880ddf12b)
* Small obsolete Logger cleanup
* Fixed three EntitySystem logs that weren't doing it right.
(cherry picked from commit aafe81512258b5a80776ada1f471b58e7507ca2d)
* Add a toggle for progress bar colors
* yeah this thing
* PJB review
* optimization
(cherry picked from commit f3f4616c49317898aeeff304160b0b50df9ee851)
* Remove unnecessary datafield names, syringes with stuff in them start in inject mode
* No trash tag
* Remove ViewVariables since DataField has them implicitly
* Revert "No trash tag"
This reverts commit 2c42172653d2cc70d58bd5bedf61a880b939bf20.
* Get rid of tags entirely for PrefilledSyringes
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 5cb48c922fa7236d07b463f0c38ada2d5805e54b)
* Fix FTLToDock
- Removed Enabled coz unneeded really.
- Fixed SetCoordinates call that got dumped at some point oop.
* Fix this docking check
(cherry picked from commit 92872e546ad5c281980ab8f56fea970c1921f8e4)
* fix(emag): Emagging a lock properly unlocks the component
Fixes#24860
* fix(emag): Emagging a lock no longer duplicates the unlock sound
(cherry picked from commit 370a79fbc847c75aca4d733e1cac2bb56a19776b)
* refactor ops
* inherit dna and fiber when fish hydrated
* :trollface:
* kid named finger
* :trollface:
* move rehydrating to shared :trollface:
* nobody noticed the popup being missing all this time
* method ops
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 550612a37f4fd61088c994b289c833ed3d564855)
* Make itemslots more verbose with AME proof of concept.
* Remove unnecessary [DataField] strings and use null coalescing in whitelist checks.
* Change optional popup fields into LocId.
(cherry picked from commit 06d755a860fa60dd393bfece6495109af8b60c21)