Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catch-Up Cherry Pick 1 #540

Merged
merged 252 commits into from
Jul 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
6bec439
Fix GhostRoleComponent performing randomization on ComponentInit (#26…
ElectroJr Mar 27, 2024
8f8d07a
Removed Box of Hugs and Donk Pockets from Bounties (#26481)
Ghagliiarghii Mar 27, 2024
6d3740b
Artifact node IDs are now only 3 digits long (#26482)
Vermidia Mar 27, 2024
bc92c21
Add stacktrace to action error logs (#26486)
ElectroJr Mar 28, 2024
597147c
Late Join Menu Properly Retains Position On New Player Joins (#26483)
Huxellberger Mar 28, 2024
7386925
Remove atmos method events (#26402)
ElectroJr Mar 28, 2024
5ba6741
Misc ItemToggleSystem changes (#26489)
ElectroJr Mar 28, 2024
8ae9449
Allow cargo bounties to be sold off-station (#26469)
blueDev2 Mar 28, 2024
e692a05
Remove broadcast cooldown (#26492)
superjj18 Mar 28, 2024
25fb743
Add DoorBumpOpener to space dragon (#26490)
Simyon264 Mar 28, 2024
4875774
Use nav beacon locations for announcements (#26437)
EmoGarbage404 Mar 28, 2024
e358581
Arcade machine improvements (#24200)
Tayrtahn Mar 28, 2024
f1e4726
biggest gridinv update OF ALL TIME (#25834)
deltanedas Mar 28, 2024
06e403d
dynamic alert sprites (#25452)
EmoGarbage404 Mar 28, 2024
b3baa7b
voicemask can select speech verb (#25768)
deltanedas Mar 28, 2024
97cb947
Separate "thank you" messages from general ads (#25867)
Tayrtahn Mar 28, 2024
da8fb58
Fix master (#26501)
metalgearsloth Mar 28, 2024
205d85b
Fix Incorrect stealth messages appearing on readmin. (#26511)
nikthechampiongr Mar 28, 2024
139fb53
Go back to constant electrocution damage based on voltage (#26455)
EmoGarbage404 Mar 28, 2024
e23e4a7
Sentien artifact ghost role locale (#26509)
lapatison Mar 28, 2024
f862490
Fix arcade goodbye message implementation (#26514)
Tayrtahn Mar 28, 2024
4d44d08
more melee weapon sound fixes (#26520)
Dutch-VanDerLinde Mar 29, 2024
7be8b34
Foldable ushanka (#26519)
ValentFingerov Mar 29, 2024
06665ef
[BugFix] Persist Job Restrictions When New User Late Joins (#26498)
Huxellberger Mar 29, 2024
18872f9
Send what seleted for secret to admin chat (#26500)
lzk228 Mar 29, 2024
88555e3
Chemically-created Crystal Shards (#26269)
wafehling Mar 29, 2024
153bb7a
Add auto modes to reagent grinder (#26290)
Crotalus Mar 29, 2024
1bcafd3
Change Polymorph Actions to use Polymorph Proto Id (#26419)
keronshb Mar 29, 2024
4a1952f
Increases minimum player requirement for nuclear operatives. (#26474)
Adrian16199 Mar 29, 2024
ac943d9
Add prediction to Spill Container verb, add dummy TrySpill methods to…
Tayrtahn Mar 29, 2024
2508627
combine same-tile explosions in the same tick (#25664)
deltanedas Mar 29, 2024
6d02823
Fix empty atmos deserialization (#26540)
ElectroJr Mar 29, 2024
bc462da
Increase Ion Storm Weights (#26539)
Mephisto72 Mar 30, 2024
4a402ca
Fix guardian damage transfer (#26541)
arimah Mar 30, 2024
80f6f1d
Refactor FTL time tracking code to fix a UI bug (#26538)
PJB3005 Mar 30, 2024
f9e8d96
Revert "Fix scram implant's teleportation out of containers" (#25030)
metalgearsloth Mar 30, 2024
11ef264
Split GasTileOverlaySystem update over two ticks (#26542)
ElectroJr Mar 30, 2024
3d1a781
Industrial Reagent Grinder (#25020)
Boaz1111 Mar 30, 2024
1548985
Zippable coats (#26494)
SonicHDC Mar 30, 2024
06f1aac
Fix itemslots swapping (#25634)
metalgearsloth Mar 30, 2024
6544e56
Stop items that are being pulled from spinning (#26504)
Zealith-Gamer Mar 30, 2024
43c0d72
Hyposprays Draw from Jugs (#25544)
Plykiya Mar 30, 2024
1a16908
Rebalance amatoxin so it is a slower killer (#25830)
UltimateJester Mar 30, 2024
52cb6da
Atmos device performance improvements (#26493)
ElectroJr Mar 30, 2024
063b978
Adjust syndicate hardbomb damage (#26548)
liltenhead Mar 30, 2024
4a160c0
up stimulants (no sleep) (#25886)
takemysoult Mar 30, 2024
c8c9861
Make BaseMedicalPDA abstract (#26567)
lzk228 Mar 30, 2024
1c9a576
Fix GasMixers/Filters not working (#26568)
Plykiya Mar 30, 2024
223949f
Industrial Reagent Grinder Hotfix (#26571)
Boaz1111 Mar 30, 2024
6a203f7
Give stores the ability to check for owner only (#26573)
keronshb Mar 30, 2024
fa40733
Fix round start crash (causing instant restart) (#26579)
wrexbe Mar 30, 2024
087201f
Fix initial infected icon hiding (#26585)
wrexbe Mar 31, 2024
6814dd2
Make timer ignore client predict setting (#26554)
wrexbe Mar 31, 2024
fdf76c2
Make advertise system survive no map inits (#26553)
wrexbe Mar 31, 2024
4aed8c7
Removes SCAF armor (#26566)
Flareguy Mar 31, 2024
6f56d88
Make aghost command work on other players using optional argument (#2…
Simyon264 Mar 31, 2024
2aba997
Add new component to Make sound on interact (#26523)
blueDev2 Mar 31, 2024
e29e4c2
Increase syndi duffelbag storage (#26565)
lzk228 Mar 31, 2024
c73e93a
Adds construction/decon graphs for plastic flaps (#26341)
IamVelcroboy Mar 31, 2024
eca325c
Toilet Upgrade (needs review) (#22133)
brainfood1183 Mar 31, 2024
fc10d9f
Uplink store interface searchable with a searchbar. (#24287)
DrMelon Mar 31, 2024
e7975c3
Improved RCDs (#22799)
chromiumboy Mar 31, 2024
d9891e2
Southern accent (#26543)
UBlueberry Mar 31, 2024
d108fbf
Prevent storing liquids in equipped buckets (#24412)
Tayrtahn Mar 31, 2024
4d2ae27
Fix 'Hypopen shouldn't display solution examine text' (#26453)
drteaspoon420 Mar 31, 2024
0430f92
Revert Paint (#26593)
metalgearsloth Mar 31, 2024
0370805
Fix: Prevent single-use hyposprays from getting the toggle draw verb …
Plykiya Mar 31, 2024
147e574
MeleeHitSoundSystem (#25005)
Bixkitts Mar 31, 2024
f685875
Remove physics comp from VendingMachineWallmount (#25632)
IamVelcroboy Mar 31, 2024
ffca5f6
Remake hairflowers (#25475)
lzk228 Mar 31, 2024
61673df
Injector UI shows TransferAmount change, Spilling liquid changes Inje…
Plykiya Mar 31, 2024
1a5ed01
disallow unanchoring or opening panels on locked emitters/APEs (#26600)
EmoGarbage404 Mar 31, 2024
e2afa53
Fix grave digging sound indefinitely playing if dug by aghost. (#26420)
nikthechampiongr Mar 31, 2024
57589e8
Make the buttons on the map ui not squished (#26604)
wrexbe Mar 31, 2024
fdd667c
Combine flower crown and wreath (#26605)
lzk228 Mar 31, 2024
34d2749
Add AP damage to throwing knives (#26380)
UbaserB Mar 31, 2024
c1c0692
cancelable brig timers (#26557)
graevy Mar 31, 2024
fd4e4b3
Fix orientation of roller skate sprites (#26627)
eoineoineoin Mar 31, 2024
d49cfa7
Fix GastTileOverlay sending redundant data (#26623)
ElectroJr Mar 31, 2024
70d9045
Auto DeAdmin sooner (#26551)
wrexbe Mar 31, 2024
6470349
Add briefcase to curadrobe and lawdrobe, and some briefcases cleanup …
lzk228 Mar 31, 2024
9e2c1f4
Fix some text overflow bugs in HUD (#26615)
eoineoineoin Apr 1, 2024
dff8c23
Adds two milk cartons to the BoozeOMat (#26635)
SpaceRox1244 Apr 1, 2024
880e2f4
made the hover text less vague (sorry) (#26630)
UBlueberry Apr 1, 2024
255f1b8
blacklisted throwing knifes from pneumatic cannon (#26628)
Zealith-Gamer Apr 1, 2024
5d94e5f
Fix radio jammer not blocking suit sensors. (#26632)
nikthechampiongr Apr 1, 2024
e403c8c
Replace drill_hit.ogg and drill_use.ogg with better sounds (#26622)
pissdemon Apr 1, 2024
c05cf8e
Gave Blast door access permissions (#26606)
Zealith-Gamer Apr 1, 2024
5169ea5
Gives all wheeled objects low friction (#26601)
Flareguy Apr 1, 2024
1769ba7
Combine solution injection systems; Fix embeddable injectors (#26268)
Tayrtahn Apr 1, 2024
2eae77f
Add ValueList import (#26640)
metalgearsloth Apr 1, 2024
d0ecd7c
Change assault borg modules texture (#26502)
SoulFN Apr 1, 2024
445d8a1
Add Cyborg Emote Sounds (#26594)
Keer-Sar Apr 1, 2024
4043414
Coordinates Disks & Shuttle FTL Travel (#23240)
SlamBamActionman Apr 1, 2024
e6949bf
Add door electronics access configuration menu (#17778)
c4llv07e Apr 1, 2024
6753975
scoopable ash and foam, solution transfer prediction (#25832)
deltanedas Apr 1, 2024
08c5978
Replace the teleportation logic on the SCRAM implant! (#26429)
nikthechampiongr Apr 1, 2024
b38dc27
Refactored AdvertiseComponent (#26598)
wrexbe Apr 1, 2024
4c1fe8b
Bartender "Essentials" (#25367)
musicmanvr Apr 1, 2024
a324496
Add ERT Chaplain (#25956)
IProduceWidgets Apr 1, 2024
6560dab
Changes in chemicals page in guidebook (#25831)
f0x-n3rd Apr 1, 2024
971a267
Anomalies behaviours (#24683)
TheShuEd Apr 1, 2024
5de94e7
Fix clipping/overlap in lathe machine UIs (#26646)
eoineoineoin Apr 1, 2024
88ba74a
Added chat window transparency slider to options (#24990)
Sk1tch Apr 1, 2024
c098682
Infinity books (#25840)
TheShuEd Apr 1, 2024
a4e29d3
Resprite ambuzol plus pills (#26651)
osjarw Apr 2, 2024
227369b
Fixed air injector visuals (#26654)
osjarw Apr 2, 2024
11ca975
Make cyborgs hands explosion proof. (#26515)
Simyon264 Apr 2, 2024
df6af25
Make typing indicator shaded (#26678)
lzk228 Apr 3, 2024
7bdf21c
Validate wire layout prototypes and remove invalid WiresComponents (#…
Tayrtahn Apr 3, 2024
0bf80ee
Increase time inbetween anomaly pulses (#26677)
EmoGarbage404 Apr 3, 2024
0683837
Fix for items dropped being rotated to world north (#26662)
Plykiya Apr 3, 2024
21b0eb8
fix double interaction popup (#26684)
lunarcomets Apr 3, 2024
f66221b
disable foam scooping (#26686)
deltanedas Apr 3, 2024
ee03ed2
Little disk printer sprite tweaks (#26711)
lzk228 Apr 4, 2024
6704c1b
New lobby art: TerminalStation (#26505)
Terraspark4941 Apr 4, 2024
de0cd7f
Unidentified corpses respect gender pronouns (#26715)
Brandon-Huu Apr 4, 2024
ef6dcab
Things that can't go in disposals now don't "Miss" (#26716)
beck-thompson Apr 4, 2024
479f6c4
Clean up YAML issues in animals.yml (#26696)
Tayrtahn Apr 4, 2024
6d9a8b5
fix health analyzer crash (#26700)
deltanedas Apr 4, 2024
280cc5d
Make the station start with random broken wiring (#26695)
Tayrtahn Apr 4, 2024
8fb70e2
Fix turned off thrusters consume power (#26690)
lzk228 Apr 4, 2024
0f2f6cb
Mail Unit Fix (whitelist) (#26688)
brainfood1183 Apr 4, 2024
73764b0
OOC Patron Color Toggle (#26653)
Aexxie Apr 4, 2024
e44fc0e
Fix random clothing slots being able to hide character's nose and hai…
DinoWattz Apr 4, 2024
a19e1dc
Make Zombie, Initial Infected fix (#26665)
wrexbe Apr 4, 2024
b0eeb74
Suit Sensors No Longer Use a Hardcoded 'Total Health' (#26658)
Pspritechologist Apr 4, 2024
605b749
Stop mop buckets from spilling when you push them (#26706)
VasilisThePikachu Apr 4, 2024
16e0c11
Robotists technology icon fix (#26723)
GeneralGaws Apr 4, 2024
10eacc1
Make ducks more viable as an alternative to chickens. (#26729)
ZeroDayDaemon Apr 4, 2024
ffe43dc
Make the nutribrick one bite smaller (#26719)
potato1234x Apr 4, 2024
2dd3b12
Task/fix nightvision huds (#26726)
PrPleGoo Apr 4, 2024
8bbd35d
Rework Identifier Overrides to prevent showing Law Priority (#26680)
Mephisto72 Apr 5, 2024
3c87bdd
Make practice projectiles consistent in damage (#26731)
ZeroDayDaemon Apr 5, 2024
001e643
fix mopbucket water level (#26740)
osjarw Apr 5, 2024
1da43bc
Damage popup type can now be changed with a left click if allowed via…
ZeroDayDaemon Apr 5, 2024
e00e0d8
CCVars.cs: Minor inconsistency fixes. (#26744)
TsjipTsjip Apr 5, 2024
a93157a
Make baseball bat crafting require a slicing tool (#26742)
Vermidia Apr 5, 2024
2502515
make fulton recipe faster and require cloth (#26747)
deltanedas Apr 5, 2024
4510829
-fixed Broadcast button never enabling (#26750)
superjj18 Apr 5, 2024
8ddf2be
Let Mindshields be effected by statusIcon shading (#26754)
Golinth Apr 5, 2024
6acc8a3
Dionae now bleed sap, and this can be used to make syrup. (#25748)
Blackern5000 Apr 5, 2024
0a0d35a
Alerts crash fix (#26602)
metalgearsloth Apr 5, 2024
71f5439
made thin firelocks constructable/deconstructable (#26745)
osjarw Apr 6, 2024
76624a8
Fire sprite change for mice (#26758)
PaigeMaeForrest Apr 6, 2024
1a363fa
Change speed threshold for barefeet walking on glass shards and D4 (#…
Plykiya Apr 6, 2024
26466c7
temporarily remove broken anom behavior (#26775)
osjarw Apr 6, 2024
08438e0
Fix Water cooler visuals (#26784)
Vermidia Apr 6, 2024
e0a2ee7
Sanitizes "tbf" into "to be fair" (#26811)
deepdarkdepths Apr 8, 2024
14a487e
prevent placing dead bodies in cryostorage (#26810)
EmoGarbage404 Apr 8, 2024
48f1dc6
fixed cigarette sprites (#26801)
Bribrooo Apr 8, 2024
5601a12
Show missing materials in lathes tooltip (#26795)
Crotalus Apr 8, 2024
c338f94
Bug fixes for RCD (#26792)
chromiumboy Apr 8, 2024
20457d4
Fixes elite operative figurine description (#26814)
deepdarkdepths Apr 8, 2024
682d2a0
Fix lathe materials list bug (#26826)
Crotalus Apr 8, 2024
174e194
fix bodybag id case (#26823)
lzk228 Apr 8, 2024
c8cf008
Make bombsuits similar (#26806)
lzk228 Apr 8, 2024
6c27747
Make clothing cheaper and split clothing restock (#26805)
lzk228 Apr 8, 2024
0c4f6e0
Fix tray scanner not updating it's range. (#26789)
c4llv07e Apr 8, 2024
3f9e2b5
predict humanoid identity examine (#26769)
deltanedas Apr 8, 2024
ff8188e
Spears equippable to suit storage (#26724)
Hanzdegloker Apr 8, 2024
383022f
Ion Storm Laws Review (#26703)
FairlySadPanda Apr 8, 2024
c70c750
add ratvar to ion storm laws (#26833)
Dutch-VanDerLinde Apr 8, 2024
b3eb17c
Server-only component YAML cleanup (#26836)
Tayrtahn Apr 9, 2024
5aef9b1
Gauze Markings 3 - Revenge of the Wrap (#25481)
KittenColony Apr 9, 2024
7bfbcd4
dirty after calling SetAccesses (#26849)
deltanedas Apr 9, 2024
3089d8f
Add new "grant_connect_bypass" admin command (#26771)
PJB3005 Apr 9, 2024
9d0ae1a
Improve access overlay (#26667)
wrexbe Apr 9, 2024
d9f3228
Skipping bounties (#26537)
Killerqu00 Apr 9, 2024
4233a99
Flippolighter_fix (#26846)
SkaldetSkaeg Apr 9, 2024
21f5534
Game server api (#24015)
Simyon264 Apr 10, 2024
c424f0a
Revert "Game server api" (#26871)
PJB3005 Apr 10, 2024
cc4c725
Give botanists droppers (#26839)
notquitehadouken Apr 10, 2024
bfa54bd
Clipping a harvestable plant yields undamaged seeds (#25541)
botanySupremist Apr 10, 2024
abe36a7
fix lots of door access (#26858)
deltanedas Apr 10, 2024
dc99798
Add emergency nitrogen lockers (#26752)
Flareguy Apr 10, 2024
4cb3a79
Update ashtray to allow all cigarettes / cigars (#26864)
Ghagliiarghii Apr 11, 2024
c772d54
Fix door electronics configurator usage (#26888)
Jark255 Apr 11, 2024
e64ec7f
Fix TEG assert (#26881)
PJB3005 Apr 11, 2024
beb14c0
Bug fix for deconstructing tiles and lattice with RCDs (#26863)
chromiumboy Apr 11, 2024
960521d
Immovable Rod changes (#26757)
keronshb Apr 11, 2024
f08d45e
Cryogenic storage tweaks (#26813)
lunarcomets Apr 11, 2024
cdfe79f
Fix potted plant popup/sfx spam (#26901)
Tayrtahn Apr 12, 2024
e2b9e12
Allow advertisement timers to prewarm (#26900)
Tayrtahn Apr 12, 2024
0a79569
Fix shaker sprites (#26899)
Vermidia Apr 12, 2024
3b57b0e
Update .editorconfig to correspond Code Conventions (#26824)
TokenStyle Apr 12, 2024
ff1a6f0
Remove reagent slimes from ghost role pool (#26840)
liltenhead Apr 12, 2024
3d89903
NoticeBoard is craftable now (#26847)
TokenStyle Apr 12, 2024
e6548af
Add drink container suffixes (#26835)
IamVelcroboy Apr 12, 2024
ae1376a
uplink and store freshening (#26444)
EmoGarbage404 Apr 12, 2024
e5f2ea1
Sterile swab dispenser instead of box (#24986)
deltanedas Apr 12, 2024
884fa8e
Strobes added (#26083)
Ko4ergaPunk Apr 12, 2024
3c57457
Health analyzer UI unit correction (#26903)
TsjipTsjip Apr 12, 2024
1ca87b4
Fix the stripping menu being openable without StrippingComponent (#26…
DrSmugleaf Apr 12, 2024
ddb9d58
Fixed magboot activation distance (#26912)
osjarw Apr 13, 2024
2427859
Uncooked animal proteins is safe for animal stomachs only (#26906)
VasilisThePikachu Apr 13, 2024
2c2269c
Fix incorrect "Cycled" and "Bolted" popups when (un)wielding a gun (#…
DrSmugleaf Apr 13, 2024
5df0ddf
Fix guns that spawn without a magazine looking like they have one (#2…
DrSmugleaf Apr 13, 2024
0c2224e
Fixes polymorph cooldowns (#26914)
keronshb Apr 13, 2024
e569bab
Removed Salv Borg Crusher Dagger (#26865)
FungiFellow Apr 13, 2024
2e3d4aa
Fix pulling a new entity when already pulling an entity (#26499)
ShadowCommander Apr 13, 2024
97646da
Replace SetDamage call with TryChangeDamage in ImmovableRodSystem.cs …
TsjipTsjip Apr 13, 2024
5738193
Fix for the salvage ice labs map. (#26928)
Boaz1111 Apr 13, 2024
b30f4c4
Fix cryostorage identifying unknown characters as captain (#26927)
Tayrtahn Apr 14, 2024
6d61de3
Fixed Honkbot/jonkbot honking like crazy, gave honkbot/jonkbot standa…
superjj18 Apr 14, 2024
8cd9f6b
Bug fix: Force cancellation of RCD constructions if the construction …
chromiumboy Apr 14, 2024
0780616
Fix standart -> standard and dressfilled test fail (#26942)
metalgearsloth Apr 14, 2024
02e692f
Add Ability to stop sound when MobState is Dead (#26905)
GreaseMonk Apr 14, 2024
7607f82
Fix rockets and lasers looking like they have nothing loaded (#26933)
DrSmugleaf Apr 14, 2024
97e1814
You can now see paper on crates (with color!) (#26834)
Vermidia Apr 14, 2024
b6b089c
Make UtensilSystem and SharpSystem not run AfterInteract if it has al…
DrSmugleaf Apr 14, 2024
1e38668
Add two-message overload to PopupPredicted (#26907)
Tayrtahn Apr 14, 2024
b782115
Autism pins! (#25597)
Terraspark4941 Apr 14, 2024
158895a
Fix database round start date issues (#26838)
PJB3005 Apr 14, 2024
9e501d6
Fix options menu crashing in replays (#26911)
metalgearsloth Apr 14, 2024
3632712
Greyscale color clothing (#26943)
Flareguy Apr 14, 2024
2f839ae
WT550 Buffs + Burst Mode for WT550 & C-20R (#26886)
BramvanZijp Apr 14, 2024
b190159
make holoparasites actually holographic (#26862)
Dutch-VanDerLinde Apr 14, 2024
9088a7c
Add character sheets to board game crate (#26926)
Tyzemol Apr 14, 2024
c9afc29
Game server admin API (#26880)
PJB3005 Apr 14, 2024
a86967a
Wield recoil components (#26915)
Froffy025 Apr 14, 2024
f8d7ba4
Clown shoes make you waddle, as God intended (#26338)
FairlySadPanda Apr 14, 2024
97b9502
Use round time instead of server time for criminal history (#26949)
ilyamikcoder Apr 14, 2024
1f62abe
Rotate and Offset station CCVar nuke (#26175)
TheShuEd Apr 14, 2024
7518974
Fixed cybersun pen attacking noise (#26951)
beck-thompson Apr 14, 2024
1a9e27a
Fix rubber hammer being unshaded (#26956)
lzk228 Apr 14, 2024
677d63f
Make lockers can be deconstructed only when unlocked now (#26961)
TokenStyle Apr 14, 2024
350acd7
nerf incendiary grenade (#26959)
deltanedas Apr 15, 2024
e8e130a
meatWall incorrect node fixed (#26966)
HolySSSS Apr 15, 2024
fb95fec
Fix StepTrigger blacklist not working (#26968)
pissdemon Apr 15, 2024
86e0e33
SS14-26950 Fix Waddling During Improper States (#26965)
FairlySadPanda Apr 15, 2024
abe7e80
Mobs burn to ashes on excessive heat damage (#26971)
QuietlyWhisper Apr 15, 2024
51b16fa
Fix dragon slowdown on damage (#26975)
MilenVolf Apr 15, 2024
ade7e08
Fix some airlocks with multiple access types (#26980)
IamVelcroboy Apr 15, 2024
3942839
Fix some TryGetMind overrides relying on player data (#26992)
ElectroJr Apr 16, 2024
89baca6
Give names to solution & identity entities (#26993)
ElectroJr Apr 16, 2024
7a737c5
Add QM maintenance airlock (#26982)
IamVelcroboy Apr 16, 2024
13e5c56
Loadouts redux (#25715)
metalgearsloth Apr 16, 2024
ec38500
Merge branch 'master' of https://github.com/Simple-Station/Einstein-E…
DEATHB4DEFEAT Jul 18, 2024
1b7fc96
fix harpy conflicts
DEATHB4DEFEAT Jul 18, 2024
f42337a
"fix" hyperlink books
DEATHB4DEFEAT Jul 18, 2024
ef8edc3
fix cmo labcoat
DEATHB4DEFEAT Jul 18, 2024
93615b6
fix editor updating and make it not super laggy
DEATHB4DEFEAT Jul 18, 2024
49b9bbd
Add changelog for loadouts (#27020)
VasilisThePikachu Apr 16, 2024
9e05f12
Re-add IAdminRemarksCommon to DB model for SS14.Admin (#27028)
PJB3005 Apr 16, 2024
f825b86
Revert "Add changelog for loadouts (#27020)"
DEATHB4DEFEAT Jul 18, 2024
4cf0d13
Merge branch 'master' into pr/DEATHB4DEFEAT/540
VMSolidus Jul 19, 2024
185e9df
fixes
VMSolidus Jul 19, 2024
5518356
fix tests
DEATHB4DEFEAT Jul 20, 2024
8dbb7d7
Merge branch 'master' into wizden-mass-pick-1
DEATHB4DEFEAT Jul 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ indent_style = space
tab_width = 4

# New line preferences
#end_of_line = crlf
end_of_line = crlf:suggestion
insert_final_newline = true
trim_trailing_whitespace = true

Expand Down Expand Up @@ -104,6 +104,7 @@ csharp_preferred_modifier_order = public, private, protected, internal, new, abs

# 'using' directive preferences
csharp_using_directive_placement = outside_namespace:silent
csharp_style_namespace_declarations = file_scoped:suggestion

#### C# Formatting Rules ####

Expand Down
91 changes: 52 additions & 39 deletions Content.Client/Access/AccessOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,73 +9,86 @@ namespace Content.Client.Access;

public sealed class AccessOverlay : Overlay
{
private const string TextFontPath = "/Fonts/NotoSans/NotoSans-Regular.ttf";
private const int TextFontSize = 12;

private readonly IEntityManager _entityManager;
private readonly EntityLookupSystem _lookup;
private readonly SharedTransformSystem _xform;
private readonly SharedTransformSystem _transformSystem;
private readonly Font _font;

public override OverlaySpace Space => OverlaySpace.ScreenSpace;

public AccessOverlay(IEntityManager entManager, IResourceCache cache, EntityLookupSystem lookup, SharedTransformSystem xform)
public AccessOverlay(IEntityManager entityManager, IResourceCache resourceCache, SharedTransformSystem transformSystem)
{
_entityManager = entManager;
_lookup = lookup;
_xform = xform;

_font = cache.GetFont("/Fonts/NotoSans/NotoSans-Regular.ttf", 12);
_entityManager = entityManager;
_transformSystem = transformSystem;
_font = resourceCache.GetFont(TextFontPath, TextFontSize);
}

protected override void Draw(in OverlayDrawArgs args)
{
if (args.ViewportControl == null)
return;

var readerQuery = _entityManager.GetEntityQuery<AccessReaderComponent>();
var xformQuery = _entityManager.GetEntityQuery<TransformComponent>();

foreach (var ent in _lookup.GetEntitiesIntersecting(args.MapId, args.WorldAABB,
LookupFlags.Static | LookupFlags.Approximate))
var textBuffer = new StringBuilder();
var query = _entityManager.EntityQueryEnumerator<AccessReaderComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var accessReader, out var transform))
{
if (!readerQuery.TryGetComponent(ent, out var reader) ||
!xformQuery.TryGetComponent(ent, out var xform))
textBuffer.Clear();

var entityName = _entityManager.ToPrettyString(uid);
textBuffer.AppendLine(entityName.Prototype);
textBuffer.Append("UID: ");
textBuffer.Append(entityName.Uid.Id);
textBuffer.Append(", NUID: ");
textBuffer.Append(entityName.Nuid.Id);
textBuffer.AppendLine();

if (!accessReader.Enabled)
{
textBuffer.AppendLine("-Disabled");
continue;
}

var text = new StringBuilder();
var index = 0;
var a = $"{_entityManager.ToPrettyString(ent)}";
text.Append(a);

foreach (var list in reader.AccessLists)
if (accessReader.AccessLists.Count > 0)
{
a = $"Tag {index}";
text.AppendLine(a);

foreach (var entry in list)
var groupNumber = 0;
foreach (var accessList in accessReader.AccessLists)
{
a = $"- {entry}";
text.AppendLine(a);
groupNumber++;
foreach (var entry in accessList)
{
textBuffer.Append("+Set ");
textBuffer.Append(groupNumber);
textBuffer.Append(": ");
textBuffer.Append(entry.Id);
textBuffer.AppendLine();
}
}

index++;
}

string textStr;

if (text.Length >= 2)
else
{
textStr = text.ToString();
textStr = textStr[..^2];
textBuffer.AppendLine("+Unrestricted");
}
else

foreach (var key in accessReader.AccessKeys)
{
textStr = "";
textBuffer.Append("+Key ");
textBuffer.Append(key.OriginStation);
textBuffer.Append(": ");
textBuffer.Append(key.Id);
textBuffer.AppendLine();
}

var screenPos = args.ViewportControl.WorldToScreen(_xform.GetWorldPosition(xform));
foreach (var tag in accessReader.DenyTags)
{
textBuffer.Append("-Tag ");
textBuffer.AppendLine(tag.Id);
}

args.ScreenHandle.DrawString(_font, screenPos, textStr, Color.Gold);
var accessInfoText = textBuffer.ToString();
var screenPos = args.ViewportControl.WorldToScreen(_transformSystem.GetWorldPosition(transform));
args.ScreenHandle.DrawString(_font, screenPos, accessInfoText, Color.Gold);
}
}
}
15 changes: 11 additions & 4 deletions Content.Client/Access/Commands/ShowAccessReadersCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,16 @@ namespace Content.Client.Access.Commands;
public sealed class ShowAccessReadersCommand : IConsoleCommand
{
public string Command => "showaccessreaders";
public string Description => "Shows all access readers in the viewport";
public string Help => $"{Command}";

public string Description => "Toggles showing access reader permissions on the map";
public string Help => """
Overlay Info:
-Disabled | The access reader is disabled
+Unrestricted | The access reader has no restrictions
+Set [Index]: [Tag Name]| A tag in an access set (accessor needs all tags in the set to be allowed by the set)
+Key [StationUid]: [StationRecordKeyId] | A StationRecordKey that is allowed
-Tag [Tag Name] | A tag that is not allowed (takes priority over other allows)
""";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var collection = IoCManager.Instance;
Expand All @@ -26,10 +34,9 @@ public void Execute(IConsoleShell shell, string argStr, string[] args)

var entManager = collection.Resolve<IEntityManager>();
var cache = collection.Resolve<IResourceCache>();
var lookup = entManager.System<EntityLookupSystem>();
var xform = entManager.System<SharedTransformSystem>();

overlay.AddOverlay(new AccessOverlay(entManager, cache, lookup, xform));
overlay.AddOverlay(new AccessOverlay(entManager, cache, xform));
shell.WriteLine($"Set access reader debug overlay to true");
}
}
4 changes: 4 additions & 0 deletions Content.Client/Access/UI/AccessLevelControl.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<GridContainer xmlns="https://spacestation14.io"
Columns="5"
HorizontalAlignment="Center">
</GridContainer>
52 changes: 52 additions & 0 deletions Content.Client/Access/UI/AccessLevelControl.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using System.Linq;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
using Content.Shared.Access;
using Content.Shared.Access.Systems;

namespace Content.Client.Access.UI;

[GenerateTypedNameReferences]
public sealed partial class AccessLevelControl : GridContainer
{
public readonly Dictionary<ProtoId<AccessLevelPrototype>, Button> ButtonsList = new();

public AccessLevelControl()
{
RobustXamlLoader.Load(this);
}

public void Populate(List<ProtoId<AccessLevelPrototype>> accessLevels, IPrototypeManager prototypeManager)
{
foreach (var access in accessLevels)
{
if (!prototypeManager.TryIndex(access, out var accessLevel))
{
Logger.Error($"Unable to find accesslevel for {access}");
continue;
}

var newButton = new Button
{
Text = accessLevel.GetAccessLevelName(),
ToggleMode = true,
};
AddChild(newButton);
ButtonsList.Add(accessLevel.ID, newButton);
}
}

public void UpdateState(
List<ProtoId<AccessLevelPrototype>> pressedList,
List<ProtoId<AccessLevelPrototype>>? enabledList = null)
{
foreach (var (accessName, button) in ButtonsList)
{
button.Pressed = pressedList.Contains(accessName);
button.Disabled = !(enabledList?.Contains(accessName) ?? true);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ protected override void UpdateState(BoundUserInterfaceState state)
_window?.UpdateState(castState);
}

public void SubmitData(List<string> newAccessList)
public void SubmitData(List<ProtoId<AccessLevelPrototype>> newAccessList)
{
SendMessage(new WriteToTargetAccessReaderIdMessage(newAccessList));
}
Expand Down
17 changes: 4 additions & 13 deletions Content.Client/Access/UI/AccessOverriderWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ public sealed partial class AccessOverriderWindow : DefaultWindow
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;

private readonly ISawmill _logMill = default!;
private readonly AccessOverriderBoundUserInterface _owner;
private readonly Dictionary<string, Button> _accessButtons = new();

Expand All @@ -25,21 +24,21 @@ public AccessOverriderWindow(AccessOverriderBoundUserInterface owner, IPrototype
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
_logMill = _logManager.GetSawmill(SharedAccessOverriderSystem.Sawmill);
var logMill = _logManager.GetSawmill(SharedAccessOverriderSystem.Sawmill);

_owner = owner;

foreach (var access in accessLevels)
{
if (!prototypeManager.TryIndex(access, out var accessLevel))
{
_logMill.Error($"Unable to find accesslevel for {access}");
logMill.Error($"Unable to find accesslevel for {access}");
continue;
}

var newButton = new Button
{
Text = GetAccessLevelName(accessLevel),
Text = accessLevel.GetAccessLevelName(),
ToggleMode = true,
};

Expand All @@ -49,14 +48,6 @@ public AccessOverriderWindow(AccessOverriderBoundUserInterface owner, IPrototype
}
}

private static string GetAccessLevelName(AccessLevelPrototype prototype)
{
if (prototype.Name is { } name)
return Loc.GetString(name);

return prototype.ID;
}

public void UpdateState(AccessOverriderBoundUserInterfaceState state)
{
PrivilegedIdLabel.Text = state.PrivilegedIdName;
Expand Down Expand Up @@ -105,7 +96,7 @@ private void SubmitData()
_owner.SubmitData(

// Iterate over the buttons dictionary, filter by `Pressed`, only get key from the key/value pair
_accessButtons.Where(x => x.Value.Pressed).Select(x => x.Key).ToList());
_accessButtons.Where(x => x.Value.Pressed).Select(x => new ProtoId<AccessLevelPrototype>(x.Key)).ToList());
}
}
}
4 changes: 2 additions & 2 deletions Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.Access;
using Content.Shared.Access.Systems;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
Expand Down Expand Up @@ -28,7 +29,6 @@ protected override void Open()
if (EntMan.TryGetComponent<IdCardConsoleComponent>(Owner, out var idCard))
{
accessLevels = idCard.AccessLevels;
accessLevels.Sort();
}
else
{
Expand Down Expand Up @@ -65,7 +65,7 @@ protected override void UpdateState(BoundUserInterfaceState state)
_window?.UpdateState(castState);
}

public void SubmitData(string newFullName, string newJobTitle, List<string> newAccessList, string newJobPrototype)
public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, string newJobPrototype)
{
if (newFullName.Length > MaxFullNameLength)
newFullName = newFullName[..MaxFullNameLength];
Expand Down
6 changes: 1 addition & 5 deletions Content.Client/Access/UI/IdCardConsoleWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,6 @@
<Label Text="{Loc 'id-card-console-window-job-selection-label'}" />
<OptionButton Name="JobPresetOptionButton" />
</GridContainer>
<GridContainer Name="AccessLevelGrid" Columns="5" HorizontalAlignment="Center">

<!-- Access level buttons are added here by the C# code -->

</GridContainer>
<Control Name="AccessLevelControlContainer" />
</BoxContainer>
</DefaultWindow>
Loading
Loading