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

Upsteam Merge 07/27/2024 #65

Merged
merged 304 commits into from
Jul 27, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
304 commits
Select commit Hold shift + click to select a range
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
542a708
Rework Mimic as Rampant Brand Intelligence (#395)
VMSolidus Jul 18, 2024
9e57377
Automatic Changelog Update (#395)
SimpleStation14 Jul 18, 2024
61719b7
Sign Languages! (#553)
FoxxoTrystan Jul 19, 2024
5629494
Automatic Changelog Update (#553)
SimpleStation14 Jul 19, 2024
4cf0d13
Merge branch 'master' into pr/DEATHB4DEFEAT/540
VMSolidus Jul 19, 2024
185e9df
fixes
VMSolidus Jul 19, 2024
6f1e4ba
Harpy Sprite Update 3 (#556)
VMSolidus Jul 20, 2024
e0cdd3f
Automatic Changelog Update (#556)
SimpleStation14 Jul 20, 2024
5518356
fix tests
DEATHB4DEFEAT Jul 20, 2024
8dbb7d7
Merge branch 'master' into wizden-mass-pick-1
DEATHB4DEFEAT Jul 20, 2024
3c56706
Catch-Up Cherry Pick 1 (#540)
DEATHB4DEFEAT Jul 20, 2024
12bc9b9
Automatic Changelog Update (#540)
SimpleStation14 Jul 20, 2024
9260f45
Harpy Hotfix (Cherry-Pick Broke Things) (#570)
VMSolidus Jul 20, 2024
da20e7f
CVar Food/Drink AutoEating (#571)
DEATHB4DEFEAT Jul 20, 2024
165aac4
Disable height.modifies_zoom (#564)
VMSolidus Jul 20, 2024
f35f7f1
Update Credits (#573)
github-actions[bot] Jul 21, 2024
cb4b8f6
People Can't Talk In Space (#574)
VMSolidus Jul 21, 2024
c211c66
Automatic Changelog Update (#574)
SimpleStation14 Jul 21, 2024
f25fc1e
Remove Ending Punctuation From Emote Detection (#561)
DEATHB4DEFEAT Jul 21, 2024
25056a9
Mass Contests Affect Camera Shake (#560)
VMSolidus Jul 21, 2024
a31015d
Automatic Changelog Update (#560)
SimpleStation14 Jul 21, 2024
e9bd710
Restore HoP As A Functional Job (#576)
VMSolidus Jul 22, 2024
a4424f6
Automatic Changelog Update (#576)
SimpleStation14 Jul 22, 2024
6b74938
Fix Subfloors For Diggable Diles (#577)
VMSolidus Jul 22, 2024
9732459
Automatic Changelog Update (#577)
SimpleStation14 Jul 22, 2024
fe84704
Update drinks.yml (#578)
VMSolidus Jul 22, 2024
cf0498e
Refactor FabricateCandySystem Into Its Generic Equivalent (#566)
Mnemotechnician Jul 23, 2024
72b0fd2
Fix Loadout and Trait Job Playtime Requirements (#584)
DEATHB4DEFEAT Jul 23, 2024
2ac6ec5
Automatic Changelog Update (#584)
SimpleStation14 Jul 23, 2024
527acd8
Fix FalseAlarmRule (#587)
Mnemotechnician Jul 24, 2024
6afac54
Automatic Changelog Update (#587)
SimpleStation14 Jul 24, 2024
ad7fd13
Update Contests System (#583)
VMSolidus Jul 24, 2024
a5c515f
Fix Editor Dummy Always Being Human (#582)
DEATHB4DEFEAT Jul 24, 2024
c42e025
Automatic Changelog Update (#582)
SimpleStation14 Jul 24, 2024
224f74d
Event Rebalance (#581)
Mnemotechnician Jul 24, 2024
aca1132
Automatic Changelog Update (#581)
SimpleStation14 Jul 24, 2024
78f0a79
Social Anxiety Trait Renamed (#591)
CilliePaint Jul 25, 2024
bffc876
Prevent Instant Unequip of Clothing (#594)
Mnemotechnician Jul 25, 2024
7d1b23f
Random Announcer Fixes (#557)
DEATHB4DEFEAT Jul 26, 2024
634e933
Automatic Changelog Update (#557)
SimpleStation14 Jul 26, 2024
ec76fb9
Fix Talking Across Docked Grids (#593)
VMSolidus Jul 26, 2024
2ec1a03
Automatic Changelog Update (#593)
SimpleStation14 Jul 26, 2024
92dcd72
Refactor Sign Languages and Language Markers (#575)
Mnemotechnician Jul 26, 2024
7a8a0ad
Fix Multiple Species Requirements (#595)
DEATHB4DEFEAT Jul 26, 2024
6492ab4
Merge remote-tracking branch 'EE-Fox/master' into upsteam-merge
FoxxoTrystan Jul 26, 2024
3a7c856
scug fixes
FoxxoTrystan Jul 26, 2024
b09066a
Merge branch 'master' into upsteam-merge
FoxxoTrystan Jul 26, 2024
face03c
oops
FoxxoTrystan Jul 26, 2024
910b4c3
Refactor Ramping Event Scheduler (#592)
VMSolidus Jul 27, 2024
c505552
Automatic Changelog Update (#592)
SimpleStation14 Jul 27, 2024
143b1d5
Fix Script Folder in Readme for Linux (#598)
Fansana Jul 27, 2024
556605f
Merge remote-tracking branch 'EE-Fox/master' into upsteam-merge
FoxxoTrystan Jul 27, 2024
321ae64
Merge branch 'master' into upsteam-merge
FoxxoTrystan Jul 27, 2024
0fddedc
fixes
FoxxoTrystan Jul 27, 2024
d1a4d10
Merge branch 'upsteam-merge' of https://github.com/FoxxoTrystan/floof…
FoxxoTrystan Jul 27, 2024
4c3afb0
misc fixes
FoxxoTrystan Jul 27, 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