Commit Graph

4148 Commits

Author SHA1 Message Date
metalgearsloth 4bacc02a0e
Pulling rework v2 (#24936)
* 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)
2024-03-24 00:03:20 +01:00
SlamBamActionman 285804d4dd
Fix recycled containers deleting items inside them (#26045)
* 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)
2024-03-24 00:02:10 +01:00
nikthechampiongr 6d38428b56
Fix SCRAM implant not working while cuffed. Incidentally fix freedom implant working while dead/crit (#25978)
* 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)
2024-03-24 00:01:51 +01:00
Killerqu00 f33fe79c7a
Initial Infected can see each other (#25934)
initial infected icon

(cherry picked from commit 45d6c03407e41d92caa368e1db826efd6d828b66)
2024-03-24 00:01:46 +01:00
shamp ea0ad9b7b0
Zombies can very slowly regen heat and shock damage (#25925)
Update ZombieComponent.cs

(cherry picked from commit 3884c2d2d2e8c907a33cbef28a55bda701cc4963)
2024-03-24 00:01:45 +01:00
brainfood1183 53b2d209b0
Spray Paint (Review Ready) (#23003)
* 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)
2024-03-23 23:59:20 +01:00
DoutorWhite 2db74bd7c5
Improves Medical Hud interface and functionality (#26027)
* 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)
2024-03-23 23:56:19 +01:00
deltanedas e948115f9f
Move faction exception and everything it needs to shared (#25154)
* 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)
2024-03-23 23:55:48 +01:00
Pieter-Jan Briers 00beb141ca
Fix barotrauma calculations
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)
2024-03-23 23:51:54 +01:00
Golinth b56551f310
Criminal Record Icons below Job Icons (#26203)
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)
2024-03-23 23:51:45 +01:00
LordCarve cd0b4082bd
Unify `Content`'s `EntitySystem` logging (#26216)
Use Log with generated sawmill name rather than explicitly named one for all non rule-based Content EntitySystems.

(cherry picked from commit eeaea6c25b496106eb741e93738f2ab8503949ba)
2024-03-23 23:51:39 +01:00
rosieposie 304fdcd356
Add Corspman Access & Airlocks (#892)
* add corpsman access & mantis maint airlock

* fine

* accessible guy

---------

Signed-off-by: rosieposie <52761126+rosieposieeee@users.noreply.github.com>
2024-03-19 13:13:13 +01:00
Debug fed10b87a4
Merge pull request #973 from DebugOk/2024/03/15-merge-upstream
Merge upstream
2024-03-17 18:09:43 +01:00
LordCarve f8ea31a192
Obsolete `Logger` cleanup for `EntitySystem`s part 2 (#26159)
* Kill the static InRangeUnOccluded

* Adjusted 4 more EntitySystems that were missed.

(cherry picked from commit 7d275a4b5e4188db424cc417c609dced3f9aca89)
2024-03-17 15:11:33 +01:00
Ed 58e6820428
SlowContactsSystem to SpeedModifierContactsSystem mini rework (#26110)
* rework

* update logic

(cherry picked from commit c35ff87e146f0cda7c10782f4ab80b784b51e5fe)
2024-03-17 15:11:29 +01:00
LordCarve d2869e92df
Fix anomaly decay logs (#26180)
Fix anomaly decay logs (#26122)

(cherry picked from commit d8a7b33b43cd9b0e241dc189653cbd4cf4c49086)
2024-03-17 15:11:11 +01:00
Krunklehorn 116df077f2
Fix StrippableSystem blunders (#26166)
* 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)
2024-03-17 15:11:05 +01:00
Hannah Giovanna Dawson 385a8bd07a
SS14-12462 Nerf food and drink vending machines (#25999)
* 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)
2024-03-17 15:10:44 +01:00
Ed b9f41c2d48
Convert "IgnoreWeatherComponent" into "BlockWeatherComponent" (#26135)
* ignore

* doc

(cherry picked from commit 4aa72af574cc7a3370085fb70831fbde1df29077)
2024-03-17 15:10:41 +01:00
Magnus Larsen e47e00dc13
Prevent dead players from turning bar stools (#24308)
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)
2024-03-17 15:10:22 +01:00
Ed a74bbc0fc0
Fashion is my profession - Procedural jumpsuit variants (#25888)
* 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)
2024-03-17 15:09:40 +01:00
Krunklehorn faa39fccf5
StrippableSystem doafter overhaul (#25994)
* Initial commit

* Fixed short circuiting

* Use DebugTools

* Use Entity<TComp> more, and make them nullable

* Bring these two together

(cherry picked from commit 41ca8f3dfcb986432e1e509247bf239cac137836)
2024-03-17 15:08:10 +01:00
Pieter-Jan Briers 17c1a5a7fa
Throttle people trying to connect to a full server. (#20972)
* 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)
2024-03-17 15:07:14 +01:00
Mr. 27 d7c48b4028
Pipebombs and IED rework (#25705)
* inital

* 2-9

* add crafting function, rename ied to fire bomb

* add firebomb ignition

* fikss

* change damage values

* add note

* fix tests i think

* ok

* good

* Review

* warning

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

(cherry picked from commit 3cb1c585c53f694f5ceb9720057bb765673970ec)
2024-03-17 15:06:54 +01:00
Mr. 27 6af478ae29
Zombie wideswing and misc fix (#26064)
* inital

* b

* Update MeleeWeaponComponent.cs

* Update Content.Shared/Zombies/ZombieComponent.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 3981173a1546dd1d4a21b1c85451ea7eaf69c6f8)
2024-03-17 14:58:53 +01:00
veprolet ac09dc586c
Cycle injector transfer amount on alt. use (#25566)
* Add toggle verb for injector transfer amount

* Fix injector verb priority scalability

---------

Co-authored-by: veprolet <>
(cherry picked from commit ad6ac73f6f41d1cbd3fe80a43c8bf4b83e03f392)
2024-03-17 14:58:50 +01:00
Vyacheslav Kovalevsky 4b446c2e62
Fix cream pie bomb when eaten or sliced (#25928)
* fix bomb activation when eaten

* no swap / no eject

* activate when sliced

(cherry picked from commit 0d0edbba4a1c2af7ecef3318b5f9fe287a63fab5)
2024-03-17 14:55:56 +01:00
liltenhead ef7438efc9
Buff Zombie Infection (#25954)
* Infection chance

* Infection Damage

(cherry picked from commit 56ac86a5c19182b2216e73787b47525ffe0b1cba)
2024-03-17 14:54:43 +01:00
Arendian 13c6eeb87a
Criminal record hud icons (#25192)
* 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)
2024-03-17 14:52:22 +01:00
Errant 572e7b186f
Species info in Guidebook and at chargen (#25844)
* 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)
2024-03-17 14:52:17 +01:00
metalgearsloth df544f094d
Shuttle map IFF tweaks (#25897)
- HideLabel just means it won't have its name / button drawn whereas Hide will block it completely.

(cherry picked from commit a41772a006302bbe267793569b4b0d171eb82c87)
2024-03-17 14:52:08 +01:00
nikthechampiongr 407cba4ec7
Fix shield absorbing asphyxiation damage (#25972)
* 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)
2024-03-17 14:51:52 +01:00
nikthechampiongr 0c5c37f3e5
Fix misprediction of emergency access (#25973)
The EmergencyAccess bool on the AirlockComponent would not get synced to the client

(cherry picked from commit deac5a6842a88944b06c0b4d75da751880ddf12b)
2024-03-17 14:51:49 +01:00
LordCarve 60f2c8376d
Obsolete `Logger` cleanup for `EntitySystem`s (#25941)
* Small obsolete Logger cleanup

* Fixed three EntitySystem logs that weren't doing it right.

(cherry picked from commit aafe81512258b5a80776ada1f471b58e7507ca2d)
2024-03-17 14:46:35 +01:00
Nemanja 8950fd6a0f
Add a toggle for colorblind friendly progress bar colors (#25318)
* Add a toggle for progress bar colors

* yeah this thing

* PJB review

* optimization

(cherry picked from commit f3f4616c49317898aeeff304160b0b50df9ee851)
2024-03-17 14:46:26 +01:00
Plykiya 505106c7ab
Syringes that spawn with content start in inject mode (#25881)
* 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)
2024-03-17 14:46:21 +01:00
Velcroboy 5acb90a4eb
Add magnet pickup system from Frontier (#949)
* Add magnet pickup system from Frontier

* No wl needed here

* Add translation strings

* Making code optimizations, missing component on upgraded smelter

* Update lathe.yml

---------

Co-authored-by: Velcroboy <>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2024-03-17 14:38:11 +01:00
metalgearsloth f5a6a11ebd
Fix FTLToDock (#25803)
* 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)
2024-03-08 12:54:53 +01:00
metalgearsloth f102e8ff75
Shuttle console + FTL rework (#24430)
* Add shuttle interior drawing back

Just do it per-tile she'll be right, at least it's done with 1 draw call.

* Revamp shuttle console

* Bunch of cleanup work

* Lables sortito

* dok

* Pixel alignment and colours

* Fix a bunch of drawing bugs

* Shuttle map drawing

* Drawing fixes

* Map parallax working finally

* weh

* Commit all my stuff

* mic

* deez

* Update everything

* Xamlify everything

* uh

* Rudimentary blocker range

* My enemies have succeeded

* Bunch of changes to FTL

* Heaps of cleanup

* Fix FTL bugs

* FTL

* weewoo

* FTL fallback

* wew

* weh

* Basic FTL working

* FTL working

* FTL destination fixes

* a

* Exclusion zones

* Fix drawing / FTL

* Beacons working

* Coordinates drawing

* Fix unknown map names

* Dorks beginning

* State + docking cleanup start

* Basic dock drawing

* Bunch of drawing fixes

* Batching / color fixes

* Cleanup and beacons support

* weh

* weh

* Begin pings

* First draft at map objects

* Map fixup

* Faster drawing

* Fix perf + FTL

* Cached drawing

* Fix drawing

* Best I got

* strips

* Back to lists but with caching

* Final optimisation

* Fix dock bounds

* Docking work

* stinker

* kobolds

* Btns

* Docking vis working

* Fix docking pre-vis

* canasses

* Helldivers 2

* a

* Array life

* Fix

* Fix TODOs

* liltenhead feature club

* dorking

* Merge artifacts

* Last-minute touchup

(cherry picked from commit c5486873db0d6826122eb1f30007e392fc101082)
2024-03-08 12:54:53 +01:00
metalgearsloth fa61952f51
Add trade stations (#23863) 2024-03-08 09:52:50 +01:00
exincore d4d8898496
fix(emag): Emagging a lock properly unlocks the component (#25858)
* 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)
2024-03-07 01:52:55 +01:00
Tayrtahn 549d4f18cd
Add SharedPopupSystem.PopupPredicted (#25811)
* Added SharedPopupSystem.PopupPredicted

* Documentation improvement

(cherry picked from commit 0738829510d823bf0f22eaf197f6f5cc3744bbc3)
2024-03-07 01:52:38 +01:00
Tayrtahn c255822389
Add prediction to hand labeler labels (#25869)
Added prediction to labels

(cherry picked from commit f4976a32886850df2033e7866d0c9a5df37be1af)
2024-03-07 01:27:58 +01:00
exincore 31a4cdab4c
Fixed Emag wiping door access without bolting open (#25836)
(cherry picked from commit 68bb57bbaf41b84544ccdeb683ad356e2b344cc6)
2024-03-07 01:25:19 +01:00
deltanedas c0bfa9fc96
fishops nerf real (#25148)
* 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)
2024-03-07 01:24:59 +01:00
Ed da5758ba4e
Mineshaft (#25733)
* content

* catwalks

* fix fucking icons

* finish PR

* +1 room

* fix

(cherry picked from commit ace82854406631bad58cd731899fc8e20ef21e65)
2024-03-07 01:24:40 +01:00
Plykiya 38719830b6
Syringe QoL improvements (#25480)
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 4f7ff56e87d78a2acc0936466f83a6b841ee8fea)
2024-03-07 01:24:05 +01:00
Nemanja 026f5305cd
patch QSI container issues (#25700)
* patch QSI exception

* fuck don't die

(cherry picked from commit 9a795b35adba4575f2674f937f8b4bb566b3cb15)
2024-03-07 01:19:42 +01:00
LordCarve 297c97d556
Make `ItemSlots` more verbose + AME proof of concept (#25779)
* 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)
2024-03-07 01:19:38 +01:00
Tayrtahn b97afd8346
Add prediction for puddle and spillable examines (#25794)
Prediction for puddle and spillable examines

(cherry picked from commit 4943151111c8db9ac94701128b08f857b3abd3e6)
2024-03-07 01:19:36 +01:00