Applies EntProtoId changes upon insertion / removal from container. Can also be useful for borgs / mechs / vehicles in future but atm I just used it for AI.
* Remove client state from server AirAlarmComponent
Send information for all connected devices, not just the ones for the
current tab, as attempting to limit this breaks multiple users viewing
the same UI.
Fixes#12842
* Send device data as a list, rather than a dictionary
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Added codeword highlighting
* Updated to support more codeword roles, color is set serverside
* Review feedback
* Change to a Component-based system using SessionSpecific
* Tidied up CanGetState, set Access restrictions on component
* Clean-up
* Makes the injection ignore brackets, restore some codewords, remove "Taste/Touch" from adjectives
* uncomment grappling gun
* Remove rest of Geras files (#30912)
remove remaining geras stuff
* tweak(AgeRequirement): Make the requiredAge more sensible (#30913)
* chrore(ageRequirement): fix grammar. atleast -> at least (#30914)
* Minor sprite fix to inhand med hardsuits and HoS turtleneck jumpsuit (#30918)
* Fixes inhand hardsuit cross color from https://github.com/space-wizards/space-station-14/issues/26516#issue-2213917971
* Fixed HoS Turtle not covering all butt pixels
---------
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
* Add execution component to all energy sword weapons (#30909)
Co-authored-by: plykiya <plykiya@protonmail.com>
* Automatic changelog update
* chore(grammar): correct some mistakes (#30916)
* Add diamond mining drills, buff regular mining drills (#30814)
* why do I have to change so much just to add drills
* diamon
* Automatic changelog update
* give trash a reusable entity table (#30921)
* Contraband marking & examining (#28688)
* System & loc strings
* pass over syndie contraband
* fixes
* grand theft pass
* contrabandexamine -> contraband
* examine text generation update
* all composition parents necessary
* bring back minor contra so it has a less confusing message
* minor
* weapon pass
* jumpsuit pass
* feet pass
* AUUUUUUUUUGHHHHHHHHHHHHHHHHHH
* head
* AUUUUGH
* ear
* belt
* back
* fix
* bro
* rename for more clarity
* do da review
* add cvar for contraband examine
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Automatic changelog update
* Automatic changelog update
* Removes variant cube migration (#30934)
add
* First Review Pass Contraband Fixes (#30930)
* First pass contra fix
* bam
* More
* Security crates are now marked as security restricted
* Syndicate raid suit is contra
* damn I forgot gatfruit
* Add conducting gloves to the maintenance loot table (#30904)
* add
* lower weight
* Fix DoDrop to DropNextTo in container cases (#30911)
* Fix DoDrop to DropNextTo in container cases
DoDrop is too heavy to calculation. In any other case we should use alternatives, for example DropNextTo helper method
* codestyle change
* Fix Reagent Fire Stacks (#30766)
* Fix Reagent Fire Stacks
* Comments on code
* little nicer wording?
* Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratva… (#30954)
Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratvar, per issue #30719.
* Automatic changelog update
* Fix permission check for whitelists in player panel (#30948)
* Automatic changelog update
* Grey mantle in winterdrobe (#29774)
* add the mantle
* fix a few things
* fix merge conflict stuff, remove from winterdrobe and lathe.
* Add mantle to loadouts (20 hour requirement)
* Automatic changelog update
* Sliceable doAfter (#30824)
* init
* wtf git
* Automatic changelog update
* Add capfruit, a gatfruit mutation. (#30850)
* add base
* add fake suffix and flavor fix
* address some reviews
* parent it
* fix test fail
* add FoodSequence support and address small review
* Automatic changelog update
* Fixes the grey mantle (#30971)
add the thing i missed
* Add keybinds for rotating and flipping objects (#30540)
* add keybinds for rotating and flipping objects
* no popup for verbs
* Automatic changelog update
* tweak(Shuttle_honki): Remove DeviceQuantumSpinInverter from honki shuttle. (#30618)
* Make the Borgs Names Appear When they Make an Announcement (#30107)
* Make the Borgs Names Appear When they Make an Announcement
* bwomp
* re-order
* Use Name instead of metadata
* goiup
* Automatic changelog update
* disable contraband examine
* rename our SliceFoodEvent
* Throngler Plushie Sprite (#30969)
Throngonkler Plush sprite
* Fix bug with rotating shelves (#30978)
* Main
* Update shelfs.yml
* Little bug fix
* No weather on concrete tiles (#30952)
* concrete weather
* miss
* development build ghostrole lottery changes (#30980)
debug ghostrole lottery changes
* Automatic changelog update
* Add a saline syringe to the combat medical kit (#29954)
saline
* Automatic changelog update
* fix the admin verbs trying to kill players by filling their lungs with plasma (#30991)
fix the admin tools trying to kill players by filling their lungs with plasma
* Custom Taco & Kebabs - FoodSequence 2 (#30905)
* control layer ordering
* sprite update
* taco!
* taco naming gen
* fix separator naming
* some proto fixes
* default naming separation
* fix taco naming
* rat update
* hamsterburger
* organs taco
* remove from spawners
* fixes
* fix separators and lemons
* Update food-sequence.ftl
* randomization offset
* fix
* kebabs refactor
* fix
* skewer weapon
* Update food_single.yml
* Update migration.yml
* suppermatter
* hamlet centered
* hamsburger
* Update dead-0.png
* 20 -> 4 burger layers max
* Update burger.yml
* canReact: false
* capfruit update
* Update burger.yml
* Update burger.yml
* Update produce.yml
* some fixes
* Update Resources/Textures/Objects/Consumable/Food/taco.rsi/meta.json
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* chicken
* Update food-sequence.ftl
* documentation
* fixes
* Update meat.yml
* Update meat.yml
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Automatic changelog update
* Fix popups not working properly with an eye offset (#30990)
* Adds a random smokable spawner (#30870)
* Textures to make lamps mappable to East/West.
* Adds a random smokable spawner
* remove double derma
* Increase chance for just basic cig
* Update to enitity tables
* Tweak values
* Remove space
---------
Co-authored-by: Jeff <velcroboy333@hotmail.com>
* Fix lizards being unable to eat custom burgers (#31005)
* Fix lizards being unable to eat custom burgers
* ensure tag comp
* Automatic changelog update
* Sedin (#27110)
* Sedin
* almost forgot this.
* what
* Did a few fixes, tried to readd popup
* Fix popup, ready for merge
* minor change
* Generalize seed removal/destruction system, add popups in general.
* fix
* fix (again)
* deadcode is no more
* Sedin buff (nerfing the recipe soon)
* godont
* webedit moment
ok listen I had to nuke my setup because my computer was being Dumb As Shit so let me do this ONE webedit
* CRIKEY
* Revert "CRIKEY"
This reverts commit 1c6959ffd9ba8bb1e97ccf2eb0b37b3ff4ec82ee.
I was not supposed to commit that >:/
* Alright, it should be good now but I havent tested it
* ready for merge/review
* prob -> probability
* Requested changes nodoc
* Review nodoc
* documento
* thumb up emoji
* Automatic changelog update
* Adds a Dinky Star Sticker for security officers (#29767)
* Sec-Star-TASTIC
* fix license
* now counts as trash
* Sticks to people + wearable
* no more sticky
* no more sticky
* mystery-space
* Update Loadout Yaml
* Automatic changelog update
* tweak(hospital): Reduce diamond stack from 30 to 1 (#31027)
* tweak(experiment): Reduce diamond stack from 30 to 1 (#31025)
* replace mapped diamond stacks with single
* Figurine voicelines (#30865)
* initial commit
* tweaks to the new voice lines
capitalizations of I's and the Y on hos 3 voice lines
also changed the captain figuring voice line 2 to something completely different
* capitalized one letter
man i really suck at capitalization
* more capitalization
i never thought this pr would need so many changes
* changed one comma to a dot
* Update Resources/Locale/en-US/datasets/figurines.ftl
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Automatic changelog update
* Adding shock collar and electropack (#30529)
* Adding shock collar with the new ShockOnTrigger
* Cleaning and updating the shock collar
* Add StripDelay datafield to ClothingComponent
* Adding SelfUnremovableClothingComponent
* ShockCollar Update
* Correction of the shock collar
* Correction of the shock collar 2
* Renaming the DamageSpecifier DataField to Damage
* Fixing the damage field in ShockCollar
* Cleaning the ShockCollar
* Renaming ShockCollar to ClothingNeckShockCollar
* Adding ClothingNeckShockCollar as a stealTarget to a thief
* Fixing a typo of the sprite path in ClothingNeckShockCollar
* Cleaning the ShockOnTriggerComponent
* Revision of SelfUnremovableClothing
* Adding a ClothingBackpackElectropack
* Sprite fix
* Code review
* Shock Collar sprite update
* add commit hash
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Automatic changelog update
* Greatly improve the usability of the Gas Analyzer. (#30763)
* greatly improve how the gas analyzer behaves
* don't close the analyzer when the object goes out of range
* cleanup
* always switch to the device tab when a new device is analyzed
* modern api part one
* modern api part 2
* modern api part three
* file scope namespace
* Automatic changelog update
* Fix false and true in player-panel.ftl (#31043)
Fix false and true in player-panel
Add a new True string
* Contra Review Passs - Round 2 (#30942)
* Contra pass round two
* command too
* Stamps
* oopsied a bracket
* Namespace cleanup around Mind Roles (#30965)
* namespaces
* Comment does not need a semicolon
---------
Co-authored-by: Vasilis <vascreeper@yahoo.com>
* Contraband Review Pass - The Threequel (#30970)
Contraband pass number three
* Golden toilet (#31049)
* golden toilet
* Destructible
* sprite
* fix
* copyright
* Automatic changelog update
* Salvage Spawners (#31020)
* treasure entities and spawners
* no more smiles
* remove nyano shock collar code
* Event scheduler setting tweaks (#31018)
tweaks
* Automatic changelog update
* remove meteor swarms rule for a moment
* Revamped Meteor Swarm (#28974)
* meteor code and balanced values
* Meteor Swarms
* Update meteors.yml
* Update meteors.yml
* HOO! (fix overkill bug and buff space dust)
* undo BloodstreamComponent.cs changes
* DamageDistribution -> DamageTypes
* part 2.
* Missing meteor presets (#29044)
* add meteors into missing game presets
* changes for real
* implement code
* this too
* Meteors now leave behind a bit of ore (#30419)
* Meteors that leave behind asteroid ore
* bigger offset
* Bit more generic
* Better defaults
* hrm?
* I HATE CUSTOM SERIALIZERS
* More comments
* renamed a variable
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* refactor event schedulers to use explicit game rules (#29320)
* works, still has testing values, im sure I did stupid shit.
* shitvent crapfactor
* snap extra word out of existence
* shit I died of old
* remove useless inaccurate design comments
* Oopsie, handle requirement params in RandomRuleSystem too
* I'm a slash slinging hasher
* Address reviews, add admin alerts I forgor
* EntityMan saves the day
* address reviews 1
* eh, I actually don't care about the cargo gifts thing.
* started
* Do reviews
* you actually meant 1.2 lmao
* dependency inheritance is a fickle bitch
* I have no idea.
* Threads are for sheets not computers.
* fix traitor rule test
* fix round type tattling
* break things
* It worky
* Toolshed makes we want to drink depresso.
* Finished?
* remove debug values
* timings
* use defaults
* alphabetize
* bobby drop tables
* Float required fr fr
* continue
* more continence
* uno mas
* obsolution
* cleanup and documentations
* Yell at self
* use the right value defaults
* housekeeping
* Event scheduler setting tweaks (#31018)
tweaks
* Automatic changelog update
* remove(NukeopsRuleComponent): Remove a trap from the component file (#31029)
ah
* Fix bug with holding objects (#31009)
Main
* Automatic changelog update
* Replace obsolete map functions in IconSmoothSystem (#30958)
* first part
* second part
* Automatic changelog update
* Fix reagents with ReagentData being duplicated (#30983)
Initial commit
* :trollface:
* :trollface:
* actually untroll
* a
* 50 burger
* add back old meteor code
* fix
* use some live config options in dev
* remove old shock collar icon
* make ammo more consistent and work more
* clean up lathes diff to upstream
* a
* move rubber bullets to deltav folder
* a
* untroll
* more untrolls
* more untrolls
* untroll
* :trollface:
* a
* b
* remove it for real
* add missing lathe recipes
* replace cvars with component field
* remove taco from roboisseur
* migrate cardboard box with smg mags
* remove kebabs
* a
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: Zachary Yona <58833995+Magicalus@users.noreply.github.com>
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: Token <esil.bektay@yandex.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: LeoSantich <108027402+LeoSantich@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: pigeonpeas <147350443+pigeonpeas@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: PoorMansDreams <150595537+PoorMansDreams@users.noreply.github.com>
Co-authored-by: IgorAnt028 <118114530+IgorAnt028@users.noreply.github.com>
Co-authored-by: NotSoDamn <75203942+NotSoDana@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Jeff <velcroboy333@hotmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
Co-authored-by: FATFSAAM2 <saamboroujerdi@gmail.com>
Co-authored-by: to4no_fix <156101927+chavonadelal@users.noreply.github.com>
Co-authored-by: Mervill <mervills.email@gmail.com>
Co-authored-by: Vasilis <vascreeper@yahoo.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
* make mindshields removable
* use new logic stolen from upstream pr
* a
* remove unused mafia trollage
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* add MailMetricsCartridge prototype
using the CrimeAssist UI until i make the courier performance ui
* add sprite for mail courier cartridge
* Add MailMetricUI
YAYYYYY IT WORKS
UI Contents pending
* Mail earnings live update mailmetrics
* LO can have mailmetrics too
* Add rest of mail metrics
Also removes some loggers
* Add additional metrics to MailMetric
Also fixes some bugs related to stat counting
* MailMetric updates on mail added
* change sprite credit name
decided id rather be credited as Portfiend
* display all mail numbers now
* remove comment
* style mailmetrics, add heading
* mailmetric UI polish
* fixed unopened mail counting bug oopsie
* wtf is this import
get out of here
* move StationLogisticStats to BaseStationMail
* FOUR SPACES
sirry
* fix: newlines
* address reviews
* address reviews
SORRYYYY this is unexpectedly big
* wtf
* semicolon
---------
Co-authored-by: byte <50130120+huckleton@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
* basic AAC tablet prototype
using station map as a base
* set up aac component/system
* quick phrase prototype
will probably touch this up later
* basic example phrases
just so i have data to work with
* get AACWindow to iterate over quick phrases
* add the rest of the job phrases
* fix this one job name
* actually fix prison guard name
* buttons for aac window
* fix phrase inheritance
* add tabs to aac contaner
* fix column spacing and add button padding
* aac tablet button colors
* AAC tablet sends messages now
* add aac tablet voice sound yay
* add a 1 second cooldown between phrases
* subjects for most departments
* location phrases
* more phrases
* cleanup + sort buttons alphabetically
* fix these phrases
* even more departmental subject phrases
* common phrases
* cleanup imports
* show name of player that pressed button
* aac tablet can be used by multipel people
after all it does not rely on state changes and also multiple people can press buttons on a tablet at once
* capitalize aac
its an acronym
* you know what it is its more phrases!!!!
* SAFETY PHRASES
* last second phrases
* redundant phrase
* and one more hazard phrase for the road
* change voice of aac tablet from borg to alto
just sounds nicer
* localize ALL Phrases
i love utility scripting to automate tedious tasks
* add AAC tablet to loadout
* add AAC tablet to medfab
* tweak: use multiple parents instead of whatever this is
* add: justice department phrases
* add: time quantity phrases
* add: ores and kitchen appliance phrases
* fix: resolve duplicate phrases
* add: aac tablet sprites
* add: justice button style
* fix: misplaced this line oops
* add: justice dept locations
* remove: redundant phrase
* re-run tests
* fix: move aac tablet loadout format
* fix: use Identity instead of Name for aac tablet sender
* fix: return on send phrase if id is invalid
* fix: remove redundant line
* fix: use LocId instead of String for phrase text type
* add: new phrases bc upstream updates
* fix: newlines
* tweak: add end comments to these style comments
* fix: this phrase was broken lol
---------
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
* melee executions
* fix damage bug
* cleanup
* address reviews hopefully
* resistance bypass mechanic
* component changes
* self executions (not finished yet)
* self execs part two
* ok i fixed things (still not finished)
* finish everything
* review stuff
* nuke if (kind = special)
* more review stuffs
* Make suicide system much less hardcoded and make much more use of events
* Fix a dumb bug I introduced
* self execution popups
* Integration tests
* Why did they even take 0.5 blunt damage?
* More consistent integration tests
* Destructive equals true
* Allow it to dirty-dispose
* IS THIS WHAT YOU WANT?
* FRESH AND CLEAN
* modifier to multiplier
* don't jinx the integration tests
* no file-scoped namespace
* Move the rest of execution to shared, create SuicideGhostEvent
* handled
* Get rid of unused code and add a comment
* ghost before suicide
* stop cat suicides
* popup fix + small suicide change
* make it a bit better
---------
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
* Insert when held item has no interaction with stored item
* Decouple inserting on failure
* Add component that stores the used entity when no interaction happened
* Add prediction
* move MinMax to shared
* cleanup MinMax
* move other ticking components to shared just because
* remove unused prototype file
* update everything to use shared components
* test
* test 2
* test 3
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Add access to gun components
Found from an rmc14 PR.
* Admin verbs proving why access needs to exist
* Someone is probably going to post this pr to le reddit and complain about self-merges.
* add tooltips to agentid job icons
* forgot to stage this
* make StatusIconPrototype abstract
* minor visual improvements
* cleanup
* use currentculture to sort job names
* review
* add(FaxComponent): Allows for setting defaults in the component.
This wires up the Fax component to allow the default paper and office
paper to be set. The defaults are what they were before, and it's an
optional option. Now Fax machines can be set to print different paper
when using Print File or other cases where the default paper style is
used.
* Requested change to EntProtoId.
* Fix build failure.
* Basic structure for the player panel ui
* Ensure basic functionality
Player panel now receives and displays basic info
* Make whitelistcommands accept user ids
* Make PlayerPanel use GUIDs where possible
* Add functionality to most playerpanel buttons
* Implement remaining playerpanel features
* Localize everything
* Finish up
* Put command arguments in quotes
I am not sure if it's even possible to have something like a space in
them considering they are guids and usernames but sure why not
* Make playerpanel a verb
* Add Logs button to player panel
* Change Notesbutton text and make whitelistbutton a confirmtion button
* Add freeze button that does not mute the player
* Add sharedconnections counter to playerpanel
* Make the playetime format clearer
* Allow for copying of the a player's username
* Do minor cleanup
* Rearrange buttons
* Fix unfreeze button not updating
* Fix wrong localisation text
* "Fix" the same role ban counting multiple times
The way rolebans are stored is horrible.
As such if you ban someone from a departmenrt or something
role bans are individually placed for every role.
The only way I found to distinguish them is the bantime.
This is horrible but I do not want to rewrite how all the bans are
stored right now.
* Add Delete and Rejuvenate buttons to player panel
By popular demand
* Marginally improve ui
* Add logs
* review update
* Fix verb
* Fix double notes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Everything but the submodule
* stuff I forgot
* heat
* missed lights
* behonky
* LocId
* I guess it was a skill issue?
* predicted audio
* It works with lights now
* Borg equality
* Gorilla gauntlet grants protection from anomaly returned damage when attacking it
* woops, there we go
* NONE
* Use DamageModifierSets, remove Behonker damage
* Reviews dealt with
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Added the ability for blood to track DNA using ReagentData; Forensic Scanner now accounts for solution DNA, non-DNA holders have "Unknown DNA"
* Removes touch DNA for puddles, adds DNA to vomit
* DNA now leaves traces in containers and those marked without don't show DNA on scan (except for puddles), gibbed parts have DNA
* Fix stupid metamorphic glass bug grrr
* Removed SpillableComponent since DnaSubstanceTraceComponent is used instead
* Removes data field from maps, adds DNA tracking for some missed items
* Give default value, fix missing values.
* Fixes recipe bug
* Review changes
* Make the Data list into a nullable type
* Revert map changes
* Move gibbed unknown DNA to forensicssystem
* Add BreakOnDropItem, update do afters, remove unnecessary declarations
* bola
* Changed my mind about the nuke
* gennies too
* Make the comments more clear.
* Sorry for the trailing commas
* Revert "Sorry for the trailing commas"
This reverts commit e60fd9a30977393df3344948e6d5c0ce035723cd.
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* add verbose examine text to gas miners so their behaviour can be understood
* no need for these to be properties
* use an enum instead of two booleans for the miner state
* require the gas miner to be anchored in order to not be disabled
* xmldoc
* pr feedback
* file-scope namespace
* it's to late to hide my transgressions in a rebase
* turns out the normal examine distance is totally fine for this
* LoadoutSystem change, deathsquad species loadout
* survival gear loadouts for disaster victims
* skrek
* centcom
* syndicate agent
* cburn
* ERT
* syndicates
* Is it ever gonna be enough?
* Take what you can
* Move startingGearEquippedEvent after Loadouts are spawned
* skreee
* even more formatting
* Unbreak auto internals activation
* undo AddAllRoleLoadouts change
* syndicate reinforcement survival loadouts
* re-enable vox ghostroles
* Deploy foldable
* Add NetworkedComponent and access to the component
* Add handled to afterinteract
* Use drop target location instead of setcoordinates
* Put back in hand after failed deploy
This prevents dropping the bed when clicking while inside a locker.
* Created BaseDeployFoldable for folding chairs, body bags, and rollerbeds
* Add dragdrop to fold rollerbed to hand
* GET WORLD POSITON, ROTATION
* Missing parentheses
* ui system depndency
* the issue
* Unused
* Let the function do the transform
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* fix(jugs): Make max and minimum transfer amounts make sense
* fix name
* Better
* Implement bounds checks
* large beaker too
* More logical solution
* Bleh
* remove
* Doesn't make sense yet
WAS MISTAKEN AAAAAAAAAAAAAAD@ @!
* TemperatureSpeed component
* temperature slowdown prediction (done right)
* remove unnecessary changes
* that too
* get in line
* make it readonly
* auto pause
* De-duplicate loadout gear
Needs supporting code, probably with an interface with StartingGearPrototype which would also use it, but I regexed the yaml.
* Code updates
* Remaining yaml
* Fix automatic naming
* raiseEvent
* Don't code when tired kids
* Fix paper system late localization
* IS THIS WHAT YOU WANT
* well I guess this is happening now
* fix the BUI
* did that even do anything before?
* again with the escapeformatting...
* Dirtying
* Move dirty to function
* Rename PaperSystem to PaperVisualizerSystem
* Fix namespace
* how many namespace changes must I suffer through
* SetContent is for Setting Content
* minor shuffling
* review
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Moves spread data to new component
* Refactors shotgun spread code
* Makes shotgun cartridges and projectiles use new component
* Attempts to fix nullable build error
* Fixes hitscan weapons that I broke :(
* Saviour commit?
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* allow ai to understand if its handcuffed.
* rerun tests they worky on local
* Contained here in, a string of expletives about flaky tests.
* on retrospect, default true is probably smorter.
* do reviews
* I forgor xml
* more xml
* Deploy foldable
* Add NetworkedComponent and access to the component
* Add handled to afterinteract
* Use drop target location instead of setcoordinates
* Put back in hand after failed deploy
This prevents dropping the bed when clicking while inside a locker.
* Created BaseDeployFoldable for folding chairs, body bags, and rollerbeds
The issue is it plays the "you hug xyz" to everyone in range as well as the target client so they overlap. IDK if anything else is broken by this but this control flow is pretty bad so I wouldn't be surprised.
* Update MoverController.cs
* Update a bunch of movement code to use Entity<T>
* Last errors
* wow, there were more errors
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Grappling gun ReelRate can be changed
Moves ReelRate constant from SharedGrapplingGunSystem to GrapplingGunComponent, so it's Reel speed can be changed.
* Add coment + remove redudant
* Clear search criteria on loading aHelp window
* Pinning technology.
* Relay to aHelp window and discord if a user disconnect/reconnect
* Fix pinning localization
* Log disconnect, reconnects, bans to relay and admin in aHelp
* Drop to 5min to hold active conversations
* Update Content.Server/Administration/Systems/BwoinkSystem.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* discord text styling if diconnect,reconnect,banned message.
* Pin icons instead of text
* Better Icons
* space
* Move button generation in to its own XAML
* List entry control
* Fix spaces
* Remove from active conversations on banned
* Discord if else block cleanup
* Better pin icons
* Move icons to stylesheet styleclass
* Better field order.
* PR review fixes
* fixes
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Make magic mirror do-after longer, add popups to notify the target
* Turns out I do have access to the user
* More detailed popups
* Helmets protecc
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
Specifically if a grid splits under the cvar size it doesn't get a label. This also stops stuff like shuttles splitting in half creating new entries for the new grids. Splitting code leaves the largest grid as the existing one so this will always prefer to keep it large (but if there's multiple splits it won't adjust).
* Update vomit organ smite to not use Component.owner
* is this what you want...?
* am I winning, dad?
* update the comment
* we love entity<t>
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* prevent borgs from using locks
* e
* bru
* a
* blacklist borgs and robotics console
* frogro
* add IsAllowed to EntityWhitelistSystem
* use IsAllowed
* move thing to new LockingWhitelistSystem
* :trollface:
* review
* use renamed CheckBoth in locking whitelist
* remove unused stuff and add more to doc
* Use target entity instead to remove self check
* Rename to _whitelistSystem
* Add deny lock toggle popup
* Prevent duplicate checks and popups
* Fix wrong entity in popup when toggling another borg
* Make new event
* Update comment to user for new event
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* split logic into own system
* add support for different size displacement maps
* some clothes may not use displacement maps
* displacement maps spport hand sprites
* Update DisplacementMapSystem.cs
* rename things
* fuck stencilmask
* fix bugs
* no masks
* Update jumpsuits.yml
* fix species specific sprites
* Update ClothingSystem.cs
* shoes + ears displacement, some bugfix
* Update DisplacementMapSystem.cs
* Make delay incurred by transfer amount modifiable
* No unintentional negative delay please
* Use more fixedpoint, hope I didn't break anything
* merge review suggestion
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Syndicate thief, spy, medic
* Fixes description for nukies
* update description for uplink
* Implement the radial menu
* forgot these were necessary to push lol
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* randomize iconSmoothing
* Revert "randomize iconSmoothing"
This reverts commit 094356f975737c0af24ce39d849aec7852b9af6e.
* try 2
* trying work with client-server communication
* still dont work
* Tayrtahn good suggestion
* remove outdated code
* Fix!
* move data to Appearance
* Update RandomIconSmoothComponent.cs
* Replace EntityCoordiates.InRange() with TransformSystem.InRange()
* nullspace
* I figured it out
* man I have no clue how client side sutff works
* please have mercy
* remove RadiationPulseOverlay changes
* nullspace
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* The death of try20
* Add integration test for traitor gamerule
* Fix max difficulty being overshot
* Check at least one objective is assigned
* EntProtoId
* Items droped in containers will end up in containers
* Adds integration test for dropping entity while inside container
* comment
* comment
* trim the diff
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* item toggle refactoring and some new systems
* add ToggleClothing component/system
* unhardcode magboots gravity logic
* make magboots and speedboots use ItemToggle and stuff
* remove now useless clothing components
* update client/server magboots systems
* add note to use ItemToggledEvent in ToggleActionEvent doc
* refactor PowerCellDraw to use ItemToggle for ui open/close control
* add TryUseCharges, refactor charges system
* update magboot trigger code
* make borg use ItemToggle, network SelectedModule instead of now removed Activated
* add AccessToggle for borg
* the giga ninja refactor
* update ninja yml
* update ItemToggle usage for some stuff
* fix activatableui requires power
* random fixing
* yaml fixing
* nuke ItemToggleDisarmMalus
* make defib use ItemToggle
* make things that use power not turn on if missing use charge
* pro
* fix sound prediction
* bruh
* proximity detector use ItemToggle
* oop
* big idiot syndrome
* fix ninja spawn rule and make it generic
* fix ninja spawn rule yml
* move loading profiles into AntagLoadProfileRule
* more ninja refactor
* ninja yml fixes
* the dreaded copy paste ops
* remove useless NinjaRuleComponent and ue AntagSelection for greeting
* fix invisibility
* move IsCompleted to SharedObjectivesSystem
* ability fixes
* oop fix powercell instantly draining itself
* sentient speedboots gaming
* make reflect use ItemToggle
* fix other test
* loadprofilerule moved into its own pr
* remove conflict with dragon refactor
* remove all GenericAntag code from ninja
* )
* probably
* remove old enabled
* great language bravo vince
* GREAT LANGUAGE
* who made this language
* because it stinks
* reparent blood-red magboots to magboots probbbly works
* most of the review stuff
* hasGrav doesnt mean what i thought it did
* make health analyzer use itemtoggle, not fail test
* fix mag/speed boots being wacky
* UNTROLL
* add ItemToggle to the random health analyzers
* a
* remove unused obsolete borg func
* untrolling
* :trollface:
* fix test
* fix
* g
* untroll
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Fix the ability to shoot out of crates
* Makes it check what inventory the player is in
* use IsEntityOrParentInContainer
* Fix Issues Github had
* gaahhh... Prevents lasers from being shot out of crates
* gaahhh... Prevents lasers from being shot out of crates
* Fix laser?
* hmmm... this is better looking I think?
* Uncook indentation
* Rerun tests?
* First commit
* Removed pause stuff
* Make the event better
* Forgot to add the comment
* Proto id stuff
* cool comments
* serializer
* Added the time stuff
* Shaking and Stirring
* Remove shake message
* Switch if order a bit
* Add doafter supprot for reactionmixer
* Fix nullability
* Timespan zero
* Forgot to remove loc string
* Reorganize usings
* Remove unneeded usings, fix b52 needing to be shaken
* Fixes pull rotation logic
* cleaner condition
* even less code
* I CHANGED MY MIND
* first one
* second one
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Dungeon spawn support for grid spawns
* Recursive dungeons working
* Mask approach working
* zack
* More work
* Fix recursive dungeons
* Heap of work
* weh
* the cud
* rar
* Job
* weh
* weh
* weh
* Master merges
* orch
* weh
* vgroid most of the work
* Tweaks
* Tweaks
* weh
* do do do do do do
* Basic layout
* Ore spawning working
* Big breaking changes
* Mob gen working
* weh
* Finalising
* emo
* More finalising
* reverty
* Reduce distance
* Add slowdown to dragging Items that slow when held
* Heh, fancy
* Heh, fancy
* rename SetMovementSpeedModifiers to GetHeldMovementSpeedModifiers because it was not setting anything
* Fix ItemMapper whitelist mispredict when inserting or removing items
Makes the ItemMapper MapLayerData available on client so that the client
can predict whether an inserted/removed item changes the visibility of
a sprite layer.
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Oh the possibilities
* Merge fixes
* Forgot to remote LavaSystem oops
* Changed EntityEffectArgs to EntityEffectBaseArgs and EntityEffectReagentArgs
* Throw exception for unimplemented effectargs
* Remove Json and overrideable datafields
* Fix test issues
* Actually fix the compiling issue
* Fix comments and remove EntityEffectArgs (no longer used, replaced with EntityEffectBaseArgs)
* Ensure trait groups get validated
The only validation being done was on the UI. I also made the "Default" group match the PascalCase naming schema so might be a slight breaking change but the original PR only got merged a few days ago.
* overwatch
* add textures
* add SealingCabinet system
* add StoreUnlocker/ObjectiveUnlock system
* add plutonium core and nuke core container
* make nuke deconstructable
* add steal core objective
* add core extraction toolbox to new category
* typo ops wrench fuel
* use queries and resolve, have it resolve instead of using Comp
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
This feature should never have been merged, it can be trivially abused to break the entire server.
It's behind a CVar because honestly that's the easiest way to 1984 the feature.
* Ghosts can now always see examine details
This means they bypass range and occlusion checks for getting extra detail, like the charge on an SMES.
* EntityQuery
* Spawn dummy entities on client for vending machine UI
* Asked sloth, and we kinda need this pr
---------
Co-authored-by: Vasilis <vasilis@pikachu.systems>
* add LoggingDisabled to AccessReader
* add LogWireAction
* -m give everything besides high-security door a log wire
* make LogAccess public and support string arg
* add log when pulsing
* m
* l
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* BlockSolutionAccessComponent now only blocks one specified solution.
* Significant overhaul
Separated spilling when worn functionality into its own component/system.
Removed BlockSolutionAccessComponent.
Added an event for solution access.
* cleanup prototypes with `PryingComponent` & fix jaws of life prying speed
* Minor cleanup for tools and prying systems
Remove some obsolete methods.
* Fix doafter continues when not held & log
* Modifiy delays for floor prying
* Fix test fail
* You can now pry multiple tiles at once
* More advanced do after duplicate checking.
Instead of just saying "lol tile prying can raise duplicates", we now have a system so tile prying can properly distinguish events on 2 different tiles. This is achieved with a virtual function on DoAfterEvent.
* partial buckling refactor
* git mv test
* change test namespace
* git mv test
* Update test namespace
* Add pulling test
* Network BuckleTime
* Add two more tests
* smelly
* Fix conveyor mispredicts
Instead of tracking active conveyors we instead track the conveyed entities. This also handles things like stacking conveyors more gracely.
* Fix ActiveConveyor
* Fix lerping
* FactionClothing
* swtich carp to the Dragon faction
* add carp hardsuit
* add carp hardsuit to uplink
* fixes
* webedit ops 1
* why did i name it that wtf
* among
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Well i tried this way
* New approach (start)
* Did it
* makes spacelaw available, put it under sec
(cherry picked from commit accf8adf972ec28da489c4dfc5cfa89453d88f03)
* Give jobs & antags prototypes a guide field
* A
* space
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Add todo
* Fix merge errors
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit e7f2ae52ab24dddc8f3c94cb84b751482700e3da)
* add SignAttemptEvent and minor signature refactor
* add recruiter pen
* add the recruiter ship
* add recruiter antag and event
* fixes
* real
* bad popup spam
* more fix
* fix blood visual maybe
* fix greentext
* more fixy
* fix fill state not being coloured
* give btamp instead of paper in pocket 2
* f
* brighter filled state
* fix greentext
* fix error on spawn
* pro
* prevent using a syringe to inject anything into the pen
* update stuff after upstream merge
---------
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Don't use invalid defaults for loadouts
At the time it made more sense but now with species specific stuff it's better to have nothing.
* Loadout SetDefault only applies valid loadouts
* SS-28662 Add cvar to force spawn everyone at departures
This cvar means everyone must spawn at departures. This
could be handy for an admin event? But mostly it's so the
tutorial departures terminal can be seen by all newbies on
gateway servers.
* Small fix to ArrivalsSystem flow
* Remove incorrect todo
* Add godmode arrivals cvar
Adds a check during wielding to see if the code is running clientside, and if so skip the part responsible for creating the virtual items.
This is necessary because TrySpawnVirtualItem is blocked from running clientside, so trying to spawn the virtual items for wielding causes the client to always believe the wield has failed. This erroneous failure leads to the display of incorrect feedback until the server's successful wield attempt makes it to the client. The added check prevents wielding from failing in this way and therefore allows the client to behave as expected.
* Maybe fix invalid loadout prototypes
So if we have existing data SetDefault is not normally called iirc. So what I think is happening is that if we have old loadout groups that get saved to DB and loaded these get dropped entirely and nothing is used to replace the group unless the person specifically looks at their loadout.
Need someone affected to send me their loadout to confirm it's fixed.
* Better fix
* Add "Subpoenaed" to the SecHud and Criminal Records Computer
* Update Content.Server/CriminalRecords/Systems/CriminalRecordsConsoleSystem.cs
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: Bellwether <157836624+BellwetherLogic@users.noreply.github.com>
* Update Resources/Locale/en-US/criminal-records/criminal-records.ftl
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: Bellwether <157836624+BellwetherLogic@users.noreply.github.com>
* Moved and commented files as requested, redesigned icon due to avoid Syndicate lookalike
* moved some .ftl business so it's properly commented
* Attempting to slay a rogue byte order mark
* necromancy upon falsely slain byte order mark
* Moving things into DeltaV namespace
---------
Signed-off-by: Bellwether <157836624+BellwetherLogic@users.noreply.github.com>
Co-authored-by: Bellwether <null>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* add sacrafice/drain sound
* refactor glimmer event yml + uncomment wisp + make mites scale at lower glimmer
* remove glimmer wisp rule and make GlimmerMobRule much more flexible + better
* add LifeDrainer code that wisp uses
* add ai primitives and compounds
* add glimmer wisp
* a
* fixes
* add wisp texture
* desc
* add sounds
* buff so you cant literally 2 shot it with bible
* make it harder to kill but drop more ectoplasm
* make it work properly
* let it use zap in combat i hope
* add glimmer creatures guidebook
* test
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* legal departmant
* god i wish i knew what i was doing
* minor rsi fixes
* i forgor the legal radio frequency
* Minor fixes to radio, stamp, PDA, etc...
* add department
hehe
* Edits from Velcroboy
* Add trial timer
* add department signs
* Changes all references of legal -> justice and adds prosecutor access
* Missed one
* Adjust lawyer
* update lawyer icon
* temp to fix
* revert to fix
* add airlock texture
adds justice department airlock texture. Still need to do the yaml part of it but the texture's there.
* fix bureaucracy meta
* More meta fixes
* Connect airlocks to yaml
* Fixes, tweaks, and last reference of "legal" maybe
* Add justice to airlock groups
* add prosc. drip and fix prosecutor typos
adds prosecutor badge and suit, as well as fixes the spelling of "prosecuter" to "prosecutor"
* Changes prosecutor's supervisor to CJ
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Attorney <- Lawyer locale edit
* Removed modified shoukou file
* Added antag objective and touched up yaml
Fixed Clerk PDA and CJ jumpsuit error. Additionally moved notary stamp from paper.yml to rubber-stamp.yml, and fixed some indentation in the meta.json of the pda.rsi file
* Attorney <- Lawyer, now including the PDA
Forgot this last commit
* Fixed typo in Clerk Vest ID
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Added Chief Justice locker, all of its contents, and a prosecutor PDA (sprite pending)
* lockers 2, electric boogaloo. Committing files I forgot to commit
* Added CJ stamp and put it into CJ locker. Fixed notary stamp and put the sprites in the correct RSI
* Attempt to resolve merge conflicts
* Remove conflict markers
* Added stamp sprite, implemented CJ cloak
* Implemented Gavel Prototype and added to CJ locker
* Removed justice access from attorney as it will be used to secure Clerk's locker. Disabled antag for all justice besides attorney.
* Added Clerk locker and placed Notary Stamp into it. Uncommented gavel in CJ locker
* Added lawyer's stamp to lawdrobe
* Added Prosecutor PDA, icon, and ID sprite
* Added gavel block and made gavel tap when clicking on it
* Add component, EmitSoundOnInteractUsing onto the gavel block
* Added sprites for CJ and Clerk locker
* Spell-checked and edited job descriptions slightly
* Fixing missing type entity access.yml
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Adjusted rsi paths for gavel and gavel block to use forward slash
* Fixed a variety of invalid rsi references, and door remote yaml issue
* Added Lawyer access to Justice access group, fixed door_remote.yml access
* Remove antagadvantage from chief justice
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Apply suggestions from code review
line at the end for readability & matching current standards... line at the end for readability & matching current standards...
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Hopefully remove shoukou.yml from the changed files
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Once again attempt to remove shoukou.yml from changed files
* Attempt once more to remove shoukou.yml from changed files
* Fixed justice pda box description
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Please go home, shoukou. We don't want you here
* Fixing prototype references pt1
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Renamed headsets/legal.rsi to headsets/justice.rsi
* Added hyphen to chief justice localizations
* Ordered justice accesses alphabetically
* Added prison key to justice headset
* Various yaml fixes from review
* Apply suggestions from code review
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Localized changes to pdas and jobs
* Removed indents in locale
* Fixed reference to chief justice stamp
* Apply suggestions from code review
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Renamed Lawyer to Attorney in locale, added deltav marker
* Lawyer to Attorney, Warrant Document in Clerk and CJ locker
* Apply suggestions from code review
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Replaced legal with justice in job-description.ftl
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Moved job-name-lawyer to DeltaV locale
* Remove added space in accesses.ftl
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Removed unneeded deletion of unneeded spaces in headsets.yml
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Changed Lawyer ID name to Attorney ID
* Updated copyrights in all of the meta.json files affected
* Added formal and white variants of CJ jumpsuit to locker
* Updated to use upstream's EmitSoundOnInteractUsing
* Removing old component stuff
* Gave Prosecutor Filled Lawyer Backpack
* Deleted old component
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Removed old comments
* Updated doors to electronics system, fixed courier spawner that I botched
* Fixed door_access indentation
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Adding a little bit of loadouts
* Add loadouts for justice
* Removed accessreader from windoors
* Added job spawner icons
* Fixed spawner sprite layering
* Added missing parent in ID cards
* Removed redundant laceup shoes loadout
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Added lawyer windoor, fixed spawner names, fixed locker names
* Added station beacons
* Softened justice dept palette
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
* Added justice key to telecomms
* Added deltaV comments to telecomms
---------
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Co-authored-by: Jeff <velcroboy333@hotmail.com>
Co-authored-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Co-authored-by: Timemaster99 <elijahrobot@gmail.com>
Co-authored-by: luckywill339@gmail.com <luckywill339@gmail.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: Azzy <azzydev@icloud.com>
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Makes machine parts stacks, removes unused field in stack prototypes
* forgor
* Fix tests
* Fixes lathe construction. Yes. This sucks but there's no better way that doesnt involve refactoring machine parts completely
* detail
* a
* make jugg not atmos hardsuit reable lmao
* re machine yaml refactor
* use the enum name to localize re results
* move a lot of code to shared and refactor
* clientside rework
* add test for missing recipes
* untroll
* make exped board recipe yml consistent with upstream
* fix unearthed sneaky bugs + generic does nothing so remove
* add mass media console board, remove roundstart boards from dynamic recipes
* remove roundstart stuff, add rcd ammo to protolathe
* dont dupe because of access electronics prototypes
* fix final fails
* final untroll
* final untroll 2
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
* Change BanExemption command to AdminFlags.Ban permissions
* Change LOOC to check for Moderator permission
* Change ListVerbs from Admin to Debug AdminFlags
* Change RunVerbAs from Admin to Fun AdminFlags
* More permission changes
* Change GhostKick to Moderator perm
* Clean up command perms
* fuck
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Try syncing powered state to client
For some reason the client is not receiving the ApcPowerReceiverComponentState, so it's not working.
* Fix powered state not syncing to client
The client PowerReceiverSystem was abstract, which prevented it from
running initialize.
* Flip check so that it runs bigger checks first
PowerDisabled skips the others.
NeedsPower skips the receiving check.
* Disallow changing Powered manually
* Move Powered update to PowerReceiverSystem
* Move appearance to event subscription
* Move metadata component to AllEntityQuery
* Cleanup
* Move Powered update back to PowerNetSystem
It's easier to use the EntityQueries and it dosen't need to be updated
anywhere else.
* Put appearance updating back
* Move IsPowered to shared
* Simplify IsPowered
* Cleanup
* Remove duplicate PowerChangedEvent
PowerChangedEvent on ProviderChanged doesn't seem to be needed
PowerChangedEvent gets raised by in update if the power state changes
after a new provider is connected
I am leaving the issues open and have updated #26547 with more info on what we should do long-term. This is just to bandaid the short-term complaining.
* Fix firelock prediction issues with periodic pulses of closing lights
For some reason this function was setting a time for the next state
which was triggering the door system to try to close the firelock.
This does not happen serverside because the function only fires from an
event called clientside apparently.
It appears to be an attempt to stop firelocks from closing instantly
that did not function properly, and I cannot discern any other purpose.
As such I have removed it.
* Remove redundant serverside check
This became redundant with commit 439a87f2
* Prioritize empty item slots when inserting
* Revert "Prioritize empty item slots when inserting"
This reverts commit 4272a65cba5fc18df801812b0af20123aec08409.
* Prioritize empty item slots when inserting
* Try drop
* Check for any can insert before dropping
* Change prying system and pryunpoweredcomp to allow for custom time modifiers
This will be useful if I go the route of making firelocks pryable when
unpowered instead of just being able to open and close instantly when
unpowered.
* Make firelocks properly predicted
Shared system made. Since atmos checks can only be done on the server we
just have it set relevant bools on the component and then dirty it.
Ditched atmos checks on trying to open, they now only happen whenever
firelocks are updated.
* Make firelocks pryable without a crowbar
While this usually would only allow you to do this when a door is
unpowered, firelocks do not have the airlock component which actually
does that check. As such firelocks will always allow you to pry them
open/closed by hand.
* Clean up System. Change update interval to be based on ticks. Move as much as possible to shared
* Make firelocks unable to emergency close for 2 seconds after being pried open
* Clean up
* More cleanup
* Reorganize SharedFirelockSystem methods to match Initialize order
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* draft one of plant metabolism guidebook
* loc fix?
* add attributes loc
* fix loc syntax
* improved appearance
* last commit was undercooked, my bad
* last commit was still undercooked, my worse
* last commit was even still undercooked, my worst
* Addressed comments?
* Fix newlines
* Hopefully this works
* Cleanup, I think
* 2xs
* Make wielding automatically drop the item on your other hand
* Fix docs
* Remove redundant parameter
* Fix not deleting virtuals on fail
* Make count freeable hands method
* Add popup when dropping item
* Check for flavor text equality in profile.
* Fix some characters being deleted from flavor text
Sometimes the last few characters of the flavor text would get deleted. This fixes this issue.
* Add radio implants
* Syndie radio implant: add to uplink, formatting pass
* Syndie radio implant: fix doc string
* Syndie radio implants: add inheritdoc to systems
* Syndie radio implants: Change wording on uplink
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
* Syndicate radio implants: More wording changes
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
* Syndicate radio implants: fix review code problems
* syndicate radio implants: remove OpenRadioImplantEvent event and reuse storageimplant stuff
* Syndicate radio implants: prevent implanting borgs with generic radio (syndicate radio is still possible)
* syndie radio implants. extremely graphic non-null matching action and establishment of extreme non-virtual privacy
---------
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
Roslyn now compiles char + string with string.Concat(ROS<char>). This means doing ref char -> ROS<char> which is not sandbox safe. Actually fixing this in the sandboxer is difficult so I'm gonna just pass on that for now.
* reagent dispenser: fancy window
* reagent dispenser: dispense button grid
* reagent dispenser: rearrange containers & info
* reagent dispenser: remove `reagent-dispenser-window-container-label`
* reagent dispenser: add `Scrollcontainer` on right side
* reagent dispenser: get rid of pointless actions
* reagent dispenser: cleanup actions and `inventory` field on bound ui state
* reagent dispenser: cool reagent cards & finishing touches
* reagent dispenser: final cleanup and formatting
* reagent dispenser: `ButtonGrid` and `ReagentDispenserSetDispenseAmountMessage` refactor
* reagent dispenser: cleanup code & address minor concerns
* reagent dispenser: text in reagent cards no longer clips
* reagent dispenser: oh wait i forgot to change this and thats why the builds keep failing probably
* reagent dispenser mayybe this
* reagent dispenser: remove `using FastAccessors;`
* delete unused classes
* disable reagent button when container is empty
* Make things a bit bigger
* remove obsolete text color override
* Allow for Station Records interface for aghosts to delete records
* Fix record consoles not working when there are more than 2 crew members.
HOW DID NOONE NOTICE THIS SOONER???
* Stop being unconventional
* Vox stuff
* Species loadouts and lobby refactor
The control flow for lobby is all over the shop so I pulled it all up from the individual controls so now they handle the bare minimum required and LobbyUIController handles the rest.
* a
* Bulk changes
* a
* weh
* Character import / export
* finalise
* woops this stuff too
* Also datafield exporting
* comments
* Review
* Brings over changes from the original magic refactor PR
* Adds Master Spellbook, spellbook categories, WizCoin currency, and locale
* Wiz€oin™
* Adds currency whitelist to Spellbook preset, grants contained actions on action added.
* Adds grant contained action and remove provided action.
* adds a way for actions to be upgraded to the store
* Adds Fireball 3 and fixes action upgrade logic so that it checks if the action can level or if the action can upgrade separately
* Fixes upgrade logic in ActionUpgradeSystem to allow for level ups without an actual upgrade. Fixed action upgrade logic in store system as well
* Removes current action entity from the bought entities list and adds new or old action entity
* Removes Current Entity
* Removes old comments, fixes TransferAllActionsWithNewAttached
* Removes TODO
* Removes Product Action Upgrade Event
* reverts changes to immovablerodrule
* Removes stale event reference
* fixes mind action grant logic
* reverts shared gun system change to projectile anomaly system
* forgor to remove the using
* Reverts unintended changes to action container
* Adds refund button to the store
* Refreshes store back to origin.
* Refund with correct currency
* Init refund
* Check for terminating and update interface
* Disables refund button
* Removes preset allow refund
* dont refund if map changed
* adds refunds to stores
* Adds method to check for starting map
* comments, datafields, some requested changes
* turns event into ref event
* Adds datafields
* Switches to entity terminating event
* Changes store entity to be nullable and checks if store is terminating to remove reference.
* Tryadd instead of containskey
* Adds a refund disable method, disables refund on bought ent container changes if not an action
* Removes duplicate refundcomp
* Removes unintended merges
* Removed another unintended change from merge
* removes extra using statement
* readds using statement
* might as well just remove both usings since it won't leave the PR
* Fixes Action upgrades from stores
* Changes to non obsolete method uses
* Shares spawn code between instant and world
* Adds action entity to action event, adds beforecastspellevent, adds spell requirements to magic component
* puts prereq check in spell methods, sets up template code for before cast event
* checks for required wizard clothes
* Networks Magic Comp and Wizard Clothes Comp. Renames MagicSpawnData to MagicInstantSpawnData.
* Removes posdata from projectiles
* Speech > RequiresSpeech
* Fixes ActionOnInteract
* checks for muted
* popup for missing reqs
* Validate click loc for blink spell
* Checks if doors are in range and not obstructed before opening
* Check ents by map coords
* Adds speak event
* Comments spellbooks
* Removes comments
* Unobsoletes smite spell
* Invert if
* Requirements loc
* Fixes spell reqs
* Inverts an if
* Comment updates
* Starts doafter work
* Removes doafter references
* Balances fireball upgrades to be more reasonable
* Enables refund on master spellbooks
* Spells to do
* update spellbook doafter
* knock toggles bolts
* Touch Spell comments
* Comments for pending spells
* more comments
* adds spider polymorph to spellbook
* TODOs for spells
* reorganizes spellbook categories and adds wands
* fixes spacing and adds limited conditions
* commented owner only for future store PR
* reenables owner only for the grimoire
* fixes grimoire sprite
* Adds wizard rod polymorph
* summon ghosts event
* Moves rod form to offensive category
* Adds charge spell and loc for rod polymorph
* Oops forgor the actual chages
* Item Recall comment
* Fixes UI
* removes extra field for wizard rod
* Cleanup
* New Condition (INCOMPLETE)
* Fix linter
* Fix linter (for real)
* fixed some descriptions
* adds regions to magic
* Adds a non-refund wizard grimoire, fixes blink to deselect after teleporting, reduces force wall despawn time to 12 seconds
* removes limited upgrade condition
---------
Co-authored-by: AJCM <AJCM@tutanota.com>
* Adds wielding assets
* Modifies meta.json files and adds artist credit
* Adds wieldable component to a bunch of weapons
* Moves shotgun inhands and wield inhands to their own folders (because its the only way the sprites would work)
* Removes the wieldable component from some guns
* Adds wielding sprites for wieldable guns that didnt have them
* Adds gun wielding bonuses and base innaccuracy to wieldable guns.
* Corrects wielded accuracy to be default accuracy instead of perfect
* Makes the drozd smg and bulldog shotgun wieldable
* Makes nukie c20r wieldable and adds sprites
* Adds BaseGunWieldable
* Makes all the newly wieldable gun use the base inheritable
* Adds accuracy to smgs to resolve inheritance conflict
* Makes all wieldable shotguns require wielding to fire because of a bug involving spread innacuracy
* Adds wield bonus message on examine
* initial commit
* blindness trait now uses minDamage as suggested by deathride
* made fixes for review for shortsightedness
* review appeasal
* removed PermanentPoorVision & merged its functionality into PermanentBlindness
* add FireProtection system and event
* minor optimisation + make flammable use fire protection event
* add fire protection values to some things, nerf firesuit heat resistance
* bruh
* unrevert laser nerfs, make elite hardsuit fully fireproof
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* make storage close on lock
* formatting and comments
* Update Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
* Apply suggestions from code review
Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
* Swap to foreach instead of for
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* create devicenet frequencies
* create borg transponder and give it to all nt borgs
* add robotics console
* actually implement battery charge display + some fix
* tab
* real explosion
* little safer
* disable destroy button clientside too when on cooldown
* m
* how do i do this when i review things...
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* webedit ops
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* ui updates
* oracle java
* do a thing
* update ui when a borg times out
* maybe fix test
* add IsLocked to LockSystem
* make destroying gib the chassis again, so emagging isnt sus
* use locking
* require using alt click to unlock so normal click is open ui
* the
* use LogType.Action
* take this L
* pocket lint?
* sharer
* pro ops
* robor pushmarkup
* m
* update and make it not use prototype anymore
* frame0
* update yaml
* untroll
* bad
* h
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Weapon Reflection Movement Mechanic
Adds a movement mechanic to deflection.
Standing still gives you your best chance of deflecting a shot.
Moving lowers this to 2/3rds. Sprinting to 1/3rd.
This allows for robust players to express better and provides
counterplay to someone finding a goober-strong deflection
weapon, giving more design space.
As part of this PR I've also touched the numbers of a few swords,
shields, etc. and modified some descriptions to make them read
better. The balance numbers are not remotely final, but as intent:
1. All the sidearm swords (katana, cutlass, captain's sabre) have the same damage. There's no good reason the "ceremonial" blade the captain has doing more damage than a katana.
2. The Captain's Sabre has a 30% reflect chance, dropping to 20% when moving and 10% when sprinting. This one is controversial due to the recent nerf, I suspect: This could easily be 15->10->5?
3. The Energy Katana has a flat 30% reflect chance.
4. The meme Throngler has a 30% reflect chance, dropping to 20% when moving and 10% when sprinting.
5. The E-Sword has a 30% reflect chance, dropping to 20% when moving and 10% when sprinting.
6. The Double E-Sword has a mighty 75% reflect chance, dropping to 50% and then 25%.
7. Both reflective shields - Mirror and Energy - have a 95% deflect chance, dropping to 63% then 31%.
* Resolve PR comments.
* Weh?
* Reign in double esword a tad
* Shield nerfs no longer real
* Improve Mirror Cult desc
* Simple alert for deflection! No art yet.
* Added a new icon for deflecting
* Mega Antag Refactor
* last minute delta save
* more workshopping
* more shit
* ok tested this for once
* okkkkk sure
* generic delays for starting rules
* well darn
* nukies partially
* ouagh
* ballin' faded and smonkin wed
* obliterated the diff
* Spread my arms and soak up congratulations
* I've got plenty of love, but nothing to show for it
* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity
* ok this junk
* OOK!
* fubar
* most of sloth's review
* oh boy
* eek
* hell yea!
* ASDFJASDJFvsakcvjkzjnhhhyh
* add shipyard code
* add shipyard preferred dock
* shipyard locale
* add the computer itself
* add all the pre rebase shuttles
* name the shuttle
* tweak all shuttle maps + fix test
* add some categories for future use
* rename nanotrasen to civilian
* update for new ui system and move remaining yaml into deltav folder
* good
* write tests
* wow
* helix price hike
* fix dirty dispose
* use deltav cvar file
* s
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
---------
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
* Strip UI can now check for Thieving Component to see hidden items
* Admin Observers can now see hidden items in strip menu
* Felinid pickpocketing buffs
* Revert "Felinid pickpocketing buffs"
This reverts commit cfc6d80719.
* Revert "Admin Observers can now see hidden items in strip menu"
This reverts commit 496188729f.
* Removed mysterious line of code
* Response to review
* Removed more stuff unrelated to topic
* Responded to review regarding syntax
* Added IgnoreStripHidden to Felinids and Admin Observers
* Reimplement strip time multiplier with correct syntax
* Added strip time multiplier to Felinid and Admin Observer
* Added warning to tryGetSolution, moved SolutionContainer code to shared
- Added an optional warning (false by default) to print an error if a solution is missing when using tryGetSolution methods
- Moved ensuring solution containers to shared, left the old method stubs for compatability and marked them as obsolete.
* Update SharedSolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Update SolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Fixing ensuring chem solutions always returning false on client
- ensuring chem solutions will only return false on the client if it is waiting for a server solutionEntity to be synced
* Added concentration helpers
* fix whitespace
Using static Regex functions that take in a pattern is bad because the pattern constantly needs to be re-parsed. With https://github.com/space-wizards/RobustToolbox/pull/5107, the engine has an analyzer to warn for this practice now.
This commit brings most of content up to snuff already, though some of the tricker code I left for somebody else.
* Geras bug fixes
* oops
* its as shrimple as that
toggled transferName in the polymorph yml instead of using the system to manually change it
* its as shrimple as that (2.0)
fixed reviews for zombies having a dummy action, instead - properly implemented removal of action
* its as shrimple as that (3.0)
fixed tests by removing nameidentifier from slime (its already inherited, anyway)
* Optimise navmaps significantly
- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.
* weh
* review
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Moved GasMixture to shared
* Temp Fix for sandbox violation, idk why Array.Resize isn't working properly. It's already sandboxed.
* The most powerful webedit in history
* Size based whitelisting
* namespace and misc refactor
* modern datafields, what will they think of next
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* the future is now
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Update TagSystem to work with ProtoId lists
* I guess someone might run into these too, one day
* copypaste moment
* update to sawmill
* Okay, but what if it just worked
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Basic emote radial menu
* Move out from corvax
* Move to UI controller & add to top menu bar and key bind
* Make emote play
* Add name localization for emotes
* Localize chat messages
* Fix emote menu
* Add categories localization
* Fixes
* Fix
* Add emotes entity blacklist
* Fix entity whitelist required all logic
* Remove unused wagging emote
* Revert sprite
* Set default texture for emote icon
* Update Resources/keybinds.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Tippy is BACK
* Clean up clippy from aprils fools
* Changed names from clippy to tippy, added localization, removed local_clippy command, made it easier to target a specific player
* Rename clippy.yml to tippy.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Hardsuits and softsuits count as having shoes for step triggers
* Add softsuit tag prototype
* Change to suitEVA tag
* Get rid of softsuit tag, found suitEVA tag
* Full pass of ShoesRequiredStepTriggerImmune
* Adds check to outerClothing for ShoesRequiredStepTriggerImmune
* return
* fuck Dionas
* Convert to comp, space dragons immune as well
* Merge conflict
* Merge conflict
* fix leftover tags
* empty spaces
* turns out the dragon didn't need it
* minor optimization
* Add access for system, add comp to baseShoes, check slotflags for every slot besides pockets
* fix
* fuck it we ball
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* feat(fax): Client fax file-print parses and stores label
* feat(fax): Fax machines print, copy, and send paper labels
* style(Fax): Comments and formatting
* feat(fax): Make fax admin logging more consistent and clear
* refactor(fax): Replace ternary with a simpler null coalescing
* refactor(fax): Make FaxSystem Send method signature consistent with Copy, PrintFile
* refactor(fax): Read entire file and process later instead of peeking first
* refactor(fax): Remove local variables only used for style
* style(fax): Fix some nearby style errors
* fix(fax): Undo an inaccurate change to admin log formatting
* refactor(fax): Separate `firstLine` variable
* fix(fax): Use Environment.NewLine
* bienvenidos
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Added localization of groups and types: damage, metabolism (displayed in the guide book). The text for the health analyzer, weapon damage inspection is now taken from damage prototypes
* fix damage tests
* fix damage test yml
* fix damage test prototypes
* Update Content.Shared/Damage/Prototypes/DamageGroupPrototype.cs
* Update Content.Shared/Damage/Prototypes/DamageTypePrototype.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fix handlabeler/utility belt misprediction
* Partly moved HandLabelerSystem to shared
And cleaned up HandLabelerComponent
* WIP format the files so later commits look clearer
Doesn't change individual code lines, but may move
functions to another file
* WIP some more code movement
* Hand Labeler is now mostly predicted
Only the UI isn't
* WIP: Formatting and moved stuff
* Using componentstates for prediction correction
* review
* Update label on label change
* Don't overwrite label while editing
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Fix dropping carried entity when walking to a different grid and accidental escape from carrying
* Fix offset carrying
Better fix#1
* Add cancel escape action
* Add a popup shown when you're getting picked up
* Ported bag-carrying stuff (taking someone out of a bag makes you carry them, also allows to insert the carried person into a bag)
* Add sleeping inside bags
* Fix carrying mass contest
* Add the missing file
---------
Co-authored-by: Azzy <azzydev@icloud.com>
* Rodents can be Faxecuted (executed via Fax machine)
* use brute instead of new group.
* fax visuals now use tags for mouse and hamster instead of comps
* fix for ubuntu, damn ubuntu bane of my life
* cant copy hamlet, can now faxecute mothroaches.
* fix
* fix
* fixes
* removed ifs now using switch, removed hastag now using string.
* fixes and no more switch
* cleanup
* more cleanup
* fix
* cleanup
* moved damage out of faxmachine and into own system and component.
* changes
* fixes and done i think.
* tidy
* Fixes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Optimise navmaps significantly
- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.
* weh
* review
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Signed-off-by: null <56081759+NullWanderer@users.noreply.github.com>
It would try to pry the door and fail to resolve a prying component on the entity trying to open the door.
(cherry picked from commit 6eb681958be3bec1bf7798866237c0f2f79d98d2)
Requires https://github.com/space-wizards/RobustToolbox/pull/5023
This uses the new engine features (above) to add a displacement map shader. This allows deforming a sprite based on another sprite.
Primary use case is automatically adapting human clothing sprites to different species, something we want to make species like Vox a reality.
A basic example of wiring this up with Vox has been added. The system is however incredibly simple and **will** need more work by a content developer to select and toggle displacement maps when appropriate. I am leaving that to somebody else. For example right now the displacement map is applied even if a species already has custom-fit sprites for a piece of clothing, such as the grey jumpsuit for Vox.
Basic Aseprite plugins to help with authoring displacement maps have also been made.
(cherry picked from commit 2f7d0dedbded99a8f3f538c887c3c17aaa667501)
* Added keybind for scoreboard, starting work
* Fixed the window appearing
* Added loc text
* Updated namespace for ScoreboardUIController.cs
* Switched to UISystemDependency
"- UIControllers can use [Dependency] as normal for IoC services and other controllers, but must use [UISystemDependency] for entity systems, which may be null as controllers exist before entity systems do." Jezithyr — 10/12/2022 1:20 PM
* Reverted back to functional state
* Replace with UISystemDependency
* Move RoundEndSummaryWindow to ScoreboardUIController
* Convert to EntitySystem
* Clean up command bind
* Move to RoundEnd directory
* Remove Nukeops rule when no nukies
* Cleanup
* Change to toggle hotkey
* Cleanup
* Revert "Remove Nukeops rule when no nukies"
This reverts commit 5d4bbca09f45110b24a674d59b505be87b602b67.
* Cleanup
* Make the Toggle hotkey work in lobby
* Fix error
---------
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit 8febdc5fc4851f44802bc675d90d3412bd0d4da6)
* Add UnwieldOverride variable that overrides unwielding inhand to enable other interactions
* Give LMGs UnwieldOverride
* logically inverted UnwieldOverride to UnwieldOnUse
* fixed typo
(cherry picked from commit 498109a833047d933a5f72edf87961542c516f58)
* Fix network configurator memory leaking
Doesn't dispose this window.
* Fix the other part
(cherry picked from commit 13c65378425e2d8254e8ed4e68061643b1245308)
* Move job info changing methods for id cards to shared
* Revert "Move job info changing methods for id cards to shared"
This reverts commit 95cbc46b2d1934fa7bf5c72d7d3de9f9168992a1.
* Reapply changes
(cherry picked from commit c122fdf183a8228ccba69cb747a86626ca9b5391)
* Fix UseDelay issues
- Fix it not predicting properly by deep-copying the classes (realistically they should be structs).
- Fix the `z` path not applying UseDelay similarly to the `e` path.
* click
(cherry picked from commit d745a788ea33616f06f5301f780e5c7dba3ae6c6)
* Upgraded UseDelay to support multiple delays per entity
* Implement secondary delay for bibles.
Also some improvements to make it work nicely.
* Documentation is good
* Reserve the previous change; now Storage uses the special ID and Bible uses the default.
* .0
* Added VV support to UseDelayInfo
* Serialize better
* No register, just setlength
(cherry picked from commit b292905216948e0c85b04e8ef65a5291dd868eee)
* Added selectable power level to radio jammer
* Cleaned up OnGetVerb
* Settings are now stored in the .yml file. Simplified stuff a lot!
* Minor fixes!
* Small little baby fix :)
* Added the power level switch to the examine menu and also removed the ftl file as it was in the incorrect location.
* Minor code cleanup
* Changed byte -> int
* Update sprite
* Fixed licence
* Added power LED that changes if the jammer is on low power.
* Removed tabs
* Changed github link to the commit
* Changed all the RemComp to RemComDeferred
* Moved NetworkedComponent to shared
* Changed radio jammer textures back with minor edits
* Added a space because it was annoying me
* Jammer now updates range for suit sensors properly! Thanks nikthechampiongr :)
* Removed useless comment
* Cleaned up code that updates the range of tracking devices.
* Fixed client namespace and removed newline
* Cleaned up ChangeLEDState and ChangeChargeLevel.
* Added comments
* Read only
* Fixed another comment
* Locked in
* Made server inherit shared
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* review fixes
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit d3b1178428e9e0e714e51523558335589078a76c)
* Always display item status panel fully
Initial feedback from the UI changes seems to be that a lot of people go "why is there empty space" so let's fix that.
* Fix item status middle hand being on the wrong side
I think I switched this around when fixing the left/right being inverted in the UI code.
* Minor status panel UI tweaks
Bottom-align contents now that the panel itself doesn't dynamically expand, prevent weird gaps.
Clip contents for panel
* Fix clipping on implanters and network configurators.
Made them take less space. For implanters the name has to be cut off, which I did by adding a new ClipControl to achieve that in rich text.
* Update visibility of item status panels based on whether you have hands at all.
This avoids UI for borgs looking silly.
Added a new "HandUILocation" enum that doesn't have middle hands to avoid confusion in UI code.
* Use BulletRender for laser guns too.
Provides all the benefits like fixing layout overflow and allowing multi-line stuff. Looks great now.
This involved generalizing BulletRender a bit so it can be used for not-just-bullets.
* Fix geiger word wrapping if you're really fucked
(cherry picked from commit 7b90c08a2c7315b2c5a6cb17dfd82a5ac9863a53)
* Properly network ClumsyComponent
* Fix being able to climb and bonk at the same time.
Also properly subscribe to AttemptClimbEvent by-ref.
* Update Content.Shared/Interaction/Components/ClumsyComponent.cs
(cherry picked from commit 480d26aba64865f1460c4ca82b8d341d98268670)
* Add NukeOps Test
* Update EvacShuttleTest to also check mapinit
* Update RuleMaxTimeRestartTest
* Fix cvar cleanup
* A
* Revert some changes
* comments
* Add MappingTests
* Finally fix the test
* A
* General slime improvements
* Finish morphing
* oops 2x2 not 3x3
* actually lets ball - 2x3 inventory
* Last two things on the todo list
* .\RobustToolbox\
* JUST COMPILE
* fix tests 2.0
* fix tests 3.0
* Do reviews
* minor change
* guideboob
* more
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit fd0ca42c58315b4c4f91fe9364c3dc3d88ba5624)
* Escape markup for in-game chat, and labeler
* different way
* remove a using
---------
Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit c93052c7553e5a495f70cffe435febc6157ab8b3)
* cant disguise to thing in a container
* copy cigarette visualiser
* prevent aghost throwing an error
* make disguises die in space
* fuck it rewrite it to not use polymorph
* fix action troll
* oop
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* LobbyUI fixes
I have no idea which were bugs prior but anyway fix stuff.
* More fixes
* Test moment
(cherry picked from commit fcd6c25242c195266c3b4c4aa2ed78922683567c)
Signed-off-by: NullWanderer <56081759+NullWanderer@users.noreply.github.com>
* SS14-26480 Roll Traversal Distorter into regular Artifact Analyzers
Bit of a grab-bag of cleanup of Xenoarchaeology prompted by #26480.
1. Traversal distortion biases are now "up" and "down" instead of "in" and "out".
2. Node generation has been tidied up to make it a little clearer how it works.
3. Traversal Distorters have been removed from the game along with their board.
4. Traversal distortion is now done by the artifact analyzers by default.
5. Some loc strings have been made clearer.
6. The Abnormal Artifact Manipulation tech has been made slightly cheaper.
7. The aformentioned tech is now localized as Artifact Recycling, given all it does is unlock the crusher.
8. The Xenoarchaeology guidebook entry has been given a bit of a rewrite, putting all information into
one page and making sure to cover the basics that otherwise would require someone typing "Liltenhead
artifact tutorial" into Youtube.
* Fix references to deleted guidebook entry
* Add fancy button to console because @EmoGarbage404 asked me to
* migration comprete
* Fixed a goober comment
* maint fails to resolve conflicts: more at 11
* Resolve PR comments
* Make UI nice
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit f059714a75601c73c0b7b917d0faac35c99f96fe)
* Added ClothingGotEquipped/ClothingGotUnequipped events
* Better version
* Implemented in a few places
* More implementations
* Add ClothingDidEquipped/ClothingDidUnequipped events
(cherry picked from commit 50631f430d62fc413bc8757f8d1e1c4523417816)
* THE RETURN OF ITEM STATUS
Item status is now inline with the hands again. You can now see item status for both hands at once.
If you have more than 2 hands, the last active hand of that side is displayed in the respective item status.
The item status for the active hand is also highlighted.
Item status has been given a new look so it looks unique and matches every UI theme.
* Shrink item status to 125px
This is going to require fixing the existing controls. Do that later.
* New bullet item status rendering
sex
* Make gun item status look just a little bit nicer.
Avoid only one or two bullets ending up on a single row of an item status.
* Delete Eris theme files
* More improvements
Fixed the fact that left/right were flipped around when assigning status panel locations. Involved renaming all the UI textures.
Redid how content margins are set from the theme. Less complex and cleaner now.
Made the item name always left-aligned, just looks better since other UI elements don't adapt anyways.
* Compact down item status text
Now it fits 3 lines of text on one line. Yay.
This is achieved by compacting RichTextLabels by reducing their line height and giving them a negative bottom margin.
* Add item status sprites for Ashen theme.
* Add status control to show beaker/bucket/jug solution/transfer volumes
Also PollingItemStatusControl I'll be using that more.
* Fix welder item status, clean up welder code
The item status control implementation was ancient and bad. That's why it was buggy.
Removed all the complex dated networking stuff for welders, we just sync the solution contents now anyways so none of that is needed anymore. This moves a buncha stuff to shared and just removes code.
Cleanup. The code was doing some really dumb stuff.
* Spray bottles show contents in item status.
* cowtools
* Fix plasmafire and clockwork themes.
Actual git gaslighting wtf.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 58f025ba8043bcf5c32204b08eec8ae9e5d2bd41)
* Make banpanel respect CCVars. Add CCVars for default ip/hwid/use last
details checkboxes.
* Move severity handling for server/role ban to another function
* Save sawmill
* Line goofyness
---------
Co-authored-by: Vasilis <vasilis@pikachu.systems>
(cherry picked from commit f96f92f54fe169d2e3a21356e07dfa50eca8b5d9)
* Adds the option to fit your viewport to your vertical screenspace
* fixes documentation
* Removes commented-out leftover
* Hides the viewport width slider and also we dont know if the viewport width causing stretching/squishing was a bug present before but we fixed that while we were at it
* Removes commented out leftovers
(cherry picked from commit 396c6133664de50f8d85133b3680292fa1b95be0)
Fixes crates masks not allowing them to go under plastic flaps + crates no longer can go trough windoors.
(cherry picked from commit 812abd33a0616aeedd9bea2952e4f0fb7bd31697)
* Made more things blessable
* Removed junk
* Remove whatever that was
* Make bowls blessable
* New mixablesolution component, converted everything to work with it
* Fix minor mishaps
* Fix extra spaces in bottle yml
* Fix last extra space, fix bottle havign the wrong solution name
* Remvoe unneeded event(I think), fix alcohol bottles not being mixable
* I missed cans
* add dirty calls to mask system
* among
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 350843d2c02a77338f2be420e047477f0bc57d9d)
* fixes it
* Snout fix
* Partway commit
* Partway commit
* Update masks and helmets to use the new system
(cherry picked from commit 7aa4beede60cfe838e9d51e44c39872f7d035379)
* Chatfactor: Chat Repository, Admin Commands, Chat Created Events
This addition-only PR covers a repository that stores chat messages.
This PR defines what chat messages can be stored, what can be done
with those stored messages, and what events occur when the repository
does things.
This PR also includes to admin commands that show how the repository
will be used for administration purposes at first. Because all chat
messages will be uniquely identified per round (and, as rounds are
uniquely identified, are essentially a GUID) we can delete, amend
or nuke messages.
Note there's no "amend" command right now. The original chatfactor PR
didn't include one, and I'm avoiding further feature bloat with these
chatfactor PRs...
* Remove an event that shouldn't be in this PR
* Resolve PR comments.
* Resolve peak goober moment
* Also make sure we tell the user why if their delete command fails
* Supply a reason if the nukeuserids command is malformed
* Tidy messages
* Some more docstring tidyup
* Imagine tests handling IOC correctly chat
* Imagine tests handling IOC correctly chat
* Resolve PR comments
* Fix goobering with needing to use ToolshedCommand
* In which we bikeshed toolshed
* loud metal pipe sound effect
* One must imagine funny boulder pushing man happy
* Move commands to new folder
* Mald, seethe, cope.
* I hate toolshed I hate toolshed I hate toolshed
* Fix command ftls
* Bit of tidy-up and a YAGNI removal of a get we don't need yet
* Whelp lmao
* UserIDs are in a weird fucky state I didn't anticipate, so I've removed the remove-by-userID command for the time being.
* Rename ChatRepository to ChatRepositorySystem.
* Resolve PR review comments
---------
Co-authored-by: Your Name <you@example.com>
(cherry picked from commit b1136c98d7fde8cf26965817536324b58f192b11)
* Implemented Shakeable
* Prevent shaking open Openables
* Prevent shaking empty drinks. Moved part of DrinkSystem to Shared.
* DrinkSystem can have a little more prediction, as a treat
* Cleanup
* Overhauled PressurizedDrink
* Make soda cans/bottles and champagne shakeable. The drink shaker too, for fun.
* We do a little refactoring.
PressurizedDrink is now PressurizedSolution, and fizziness now only works on solutions containing a reagent marked as fizzy.
* Documentation, cleanup, and tweaks.
* Changed fizziness calculation to use a cubic-out easing curve.
* Removed broken YAML that has avoid the linter's wrath for far too long
* Changed reagent fizzy bool to fizziness float.
Solution fizzability now scales with reagent proportion.
* Rename file to match changed class name
* DoAfter improvements. Cancel if the user moves away; block if no hands.
* Match these filenames too
* And this one
* guh
* Updated to use Shared puddle methods
* Various fixes and improvements.
* Made AttemptShakeEvent a struct
* AttemptAddFizzinessEvent too
(cherry picked from commit cfa94be4c2044146298d07c703f3b71bc377ca63)
* texture appropriation
* add code for projector
* add chameleon projector yml
* damage and actions
* prevent small props being killed round removing you (700 damage from a single shot)
* tweak default
* oop
* do appearance properly, need engine update
* fix bugs, blacklist pda
* remove status icons
* amou
* sus
* fix test + make props fast
* amouuuung
* remove funny log
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 395c33024cb9d4e80078e3ab3c70c1e92e7fd5bc)
* Optimized the drawing of lines and tracked entities
* Optimized nav map updating and added thin wall support
* Added support for thin doors
* Removed floor tile seams, more line drawing optimizations
* Fixed split grids not updating correctly
* Cleaned up NavMapControl code
* Fix nav map header
* Converted nav map updates from system network messages to delta-states
* Addressed review comments
* Fixed timing issue where NavMapSystem would update before AirtightSystem did
(cherry picked from commit 009d06d97833b7700bcfaa534b20575fdbbd7db5)
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.
Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.
(cherry picked from commit 5a5efa11cf1d68708a70d48a286cb97fde96afdf)
* Initial commit. No evil hidden files this time :)
* Added newline because I forgot :(
* We <3 tags :)
* Fixed! Works now
* Update Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit afcdc8b8668a0504fd0392eaa1b6dcd36b4f1108)
* Added Jukebox, along with music for jukebox
* Fixed Jukebox meta.json copyright
* Removed songs I couldn't find a license for.
* Renamed files to solve check failures from spaces
* Added missing attributions.yml
* Fixed lack of description in Jukebox
* Jukebox is now constructable.
* Change Jukebox menu to FancyWindow
* Moved Jukebox messages out of jukebox component
* Removed Jukebox OnValueChanged.
* JukeboxComp now uses AutoGenerateComponentState
* Removed state code, since it's auto generated
* Fixed various Jukebox code to match conventions.
* Updated Standard.yml to match changed song list.
* fixes
* Jukebox workin
* Fix
* Polishing
* Finalising
* Revert
* bad
* jukey
* Reviews
* name
* Update submodule to 218.2.0
---------
Co-authored-by: iNVERTED <alextjorgensen@gmail.com>
(cherry picked from commit 2db374988c91c6ce5f932b9cee1ba251cbfb22e5)
* Fix some TryGetMind overrides relying on player data
* A
* Rider has bamboozled me
* Update `data.Mind` before attaching to entity.
(cherry picked from commit 229caa10bf3417858d2cbd7c1290af12dcad4acc)
* Clown shoes make you waddle, as God intended
* OOPS
* Toned down, client system name fix
* Tidy namespacing for @deltanedas
* Refactor to handle prediction better, etc.
* Resolve PR comments.
(cherry picked from commit ef42fb38061b29d7202eb6d65f1b658aecc43452)
* Reapply "Game server api" (#26871)
This reverts commit 3aee19792391cbfb06edb65d6f16f77da0f36f13.
* Rewrite 75% of the code it's good now
(cherry picked from commit 9d0dfcf2b9fa1b6ba54b3aa26a3f41982b945323)
* Implement changes on not-cooked branch
* Made it work
* Fix update appearance calls
* Fix extra indents, clean-up code, fix tests hopefully
* Fix hammy cagecrate
* Fix messing up the yml, add artifact crate specific labels back in
* Visual Studio hates yml, sad
* Seperate the colors for cargonia
* sorry json
* make label move with artifact door
* Apply suggestion changes
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Fix remaining crate offsets, add a few for livestock and graves (why are you labeling graves) and coffin label sprites (why are you labeling coffins??)
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 96ad9002f1d6390bf666c74ddfd871a45a8fe1df)
Fix pulling when already pulling
The TryStopPull were failing due to wrong arguments provided.
Replacing the virtual item in hand with a different pull was failing due to the hand not being cleared.
Fix stop pulling checks that had the wrong variables provided.
VirtualItems are already queue deleted at the end of HandleEntityRemoved.
(cherry picked from commit 037a7d7d3d53a623f70a07908299e8fc4df1b4a5)
* Fixed mixed deconstruction times for tiles and lattice
* Lattice and power cables can be deconstructed instantly
(cherry picked from commit fc5a90be0da4801aa7ff1fbc996c2f55f8cb7ae7)
Revert "Game server api (#24015)"
This reverts commit 297853929b7b3859760dcdda95e21888672ce8e1.
(cherry picked from commit 3aee19792391cbfb06edb65d6f16f77da0f36f13)
* add button to menu
* networking and component work
* try to add access stuff
* main functionality done
* add access lock? I think?
* remove extra line
* fix access system
* move SkipTime to StationCargoBountyDatabaseComponent
* Disable/Enable skip button based on cooldown
* remove debugging
* add access denied sound
* remove DataField tags
* dynamic timer
(cherry picked from commit fd067731b544eb219493338a8fe446c154e880f4)
Fix tray scanner not updating it's range on change.
Add range value to the tray scanner state.to synchronize it between
client and server.
(cherry picked from commit 3d6d7820d641450ca6c6903edd20e85af311a8b6)
* Give lollipops and gumballs random flavors
* RandomizedCandy: Fix borg lollipop action
* RandomizedCandy: Play sound when candy is fabricated
* RandomizedCandy: Lollipop can now be put in mouth
* RandomizedCandy: Quieten fab sound
* RandomizedCandy: merge icons and reexport without pHYs chunk
should speed up downloading these textures on 9600 baud modems
* RandomizedCandy: loads more flavors and update description
* RandomizedCandy: Fix duplicate candyFlavor IDs
* RandomizedCandy: Fix attrib and preserve flavor order
* RandomizedCandy: init on MapInit instead of ComponentInit
* RandomizedCandy: Fix minor code style issues, file placement
* RandomizedCandy: put new code into DeltaV namespace
* RandomizedCandy: Removed redundant datafield tags
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
---------
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
- If the client tries to call ShowAlert while applying gamestates (e.g. initialising an entity) then this will cause problems. I need to double-check the initial PR before I'd be comfortable with this being merged.
(cherry picked from commit dd03612d8032050e4d60b8ac7fffae4d5911d422)
* StatusIcon: add field to set if icon should be rendered with shading
* set/unset shader based on icon field
* set new field to true for hud icons
* re-shade health bars
(cherry picked from commit d314a41e4f5c166de5e59504090117435f6ba0c2)
* Suit sensors now know the 'total health' of an entity
* Missed the constructor 😔
(cherry picked from commit f5d9d3c4586252b6741f1c7473eef2b63b8fe586)
* Adds the option for you to toggle your OOC Patron color visibility to yourself and others.
* Makes the button magically disappear if you arent a patron
(cherry picked from commit 7ced9d42f0351319b20828115cad0abd274e4577)
* Fix rotation of dropped items
* combined world position rotation function for dumpable
* scuffed implementation?
* less scuffed?
* even less scuffed... I guess
* capital D
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 5aadb17be79f487f7b665035489dbe6f9fd6fdea)
* Make the advanced treatment modules beakers explosion-proof.
* undo changes
* Epic rename fail
* Explosion recursion data field
* Logic for data field
(cherry picked from commit 307a1c534dd132c8ce90b6fed79135452601a0b3)
* Adds a new slider to the misc tab in options that lets the player set chat window transparency
* Tweaked variable names
* Fixed order to match UI
* Renamed set chat window transparency function
* Changed and refactored to opacity instead of transparency
* Remove unnecessary int to float conversions
Slider used to be 0-100 while the CCVar was 0.0-1.0f. This is confusing and was only used for rounding to 2 decimal points.
* Round the value to two decimal points
* Remove rounding for now
* Rename
* Unhardcode chat color by moving to stylesheet
* Fix indent
* Make opacity slider only change opacity
---------
Co-authored-by: Your Name <you@example.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit bc31c193c25b297179e0de2bf54c2623fbeeebe0)
* move SolutionTransfer to shared and predict as much as possible
* fully move OpenableSystem to shared now that SolutionTransfer is
* fix imports for everything
* doc for solution transfer system
* trolling
* add scoopable system
* make ash and foam scoopable
* untroll
* untroll real
* make clickable it work
* troll
* the scooping room
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1db178b63254c5b509a6493a631fddb596b376a4)
* Add door electronics configuration menu
* Use file-scoped namespaces
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Open door electronics configuration menu only with network configurator
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Make the access list in the id card computer a separate control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix merge conflict
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove DoorElectronics tag
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Integrate doors with #17927
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move door electornics ui stuff to the right place
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Some review fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* More fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* review fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move all accesses from airlock prototypes to door electronics
Signed-off-by: c4llv07e <kseandi@gmail.com>
* rework door electronics config access list
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove Linq from the door electronics user interface
* [WIP] Add EntityWhitelist to the activatable ui component
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Better interaction system
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Refactor
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix some door electronics not working without AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move AccessReaderComponent update code to the AccessReaderSystem
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecesary newlines in the door access prototypes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused variables in access level control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecessary method from the door electronics configuration menu
Signed-off-by: c4llv07e <kseandi@gmail.com>
* [WIP] change access type from string to ProtoId<AccessLevelPrototype>
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused methods
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Newline fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Restored to a functional state
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix access configurator not working with door electronics AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Replace all string access fields with ProtoId
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move access level control initialization into Populate method
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Review
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 64bb8dbdd50e0b1e5744e1eb0cc6f24bda959ade)
* Adds the CentComm Disk and configures it to work with direct-use shuttles
* Added functionality for drone shuttles (i.e. cargo shuttle)
* Adds support for pods, and a disk console object for disks to be inserted into. Also sprites.
* Added the disk to HoP's locker
* Removed leftover logs & comments
* Fix for integration test
* Apply suggestions from code review (formatting & proper DataField)
Co-authored-by: 0x6273 <0x40@keemail.me>
* Fix integration test & changes based on code review
* Includes Disk Cases to contain Coordinate Disks, which are now CDs instead of Floppy Disks
* Check pods & non-evac shuttles for CentCom travel, even in FTL
* Import
* Remove CentCom travel restrictions & pod disk consoles
* Major changes that changes the coordinates disk system to work with salvage expeditions
* Missed CC diskcase removal
* Fix build
* Review suggestions and changes
* Major additional changes after merge
* Minor tag miss
* Integration test fix
* review
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit bed9e9ac6a068495ff70f09eb852a9c7a156d632)
Admins bypass doafters. As such, the code that runs on doafter
completion is ran before the sound is actually created. This then leads
to the sound never being stopped, and as such it would infinitely play.
This commit gets around the issue by manually stopping the sound should
the doafter fail to start. If we could be sure that the doafter would
never fail, then we could just move the call to StartDigging above
starting the doafter but this is currently not possible.
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 83374935262265679e554780bcd42017238f059a)
* stealthy hypo
* ExaminableSolution hand check when in covert implement.
ExaminableSolution now has 'hidden' datafield to enable chemical inspection only in hand.
* cleaning code
* more cleaning
* Hidden datafield renamed to HeldOnly
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 4e618e9387ffe9696e1241f6073aaa03e126832d)
* Block access to solutions in equipped spillables.
* Stop Drink verb appearing if the solution can't be accessed.
(cherry picked from commit 1b94e0156311c918d17c7de4b79fedd328e04efc)
* Initial radial menu prototyping for the RCD
* Radial UI buttons can send messages to the server
* Beginning to update RCDSystem
* RCD building system in progress
* Further updates
* Added extra effects, RCDSystem now reads RCD prototype data
* Replacing tiles is instant, multiple constructions are allowed, deconstruction is broken
* Added extra functionality to RadialContainers plus documentation
* Fixed localization of RCD UI strings
* Menu opens near cursor, added basic RCD
* Avoiding merge conflict
* Implemented atomized construction / deconstruction rules
* Increased RCD ammo base charges
* Moved input context definition to content
* Removed obsoleted code
* Updates to system
* Switch machine and computer frames for electrical cabling
* Added construction ghosts
* Fixed issue with keybind detection code
* Fixed RCD construction ghost mispredications
* Code clean up
* Updated deconstruction effects
* RCDs effects don't rotate
* Code clean up
* Balancing for ammo counts
* Code clean up
* Added missing localized strings
* More clean up
* Made directional window handling more robust
* Added documentation to radial menus and made them no longer dependent on Content
* Made radial containers more robust
* Further robustness to the radial menu
* The RCD submenu buttons are only shown when the destination layer has at least one children
* Expanded upon deconstructing plus construction balance
* Fixed line endings
* Updated list of RCD deconstructable entities. Now needs a component to deconstruct instead of a tag
* Bug fixes
* Revert unnecessary change
* Updated RCD strings
* Fixed bug
* More fixes
* Deconstructed tiles/subflooring convert to lattice instead
* Fixed failed tests (Linux doesn't like invalid spritespecifer paths)
* Fixing merge conflict
* Updated airlock assembly
* Fixing merge conflict
* Fixing merge conflict
* More fixing...
* Removed erroneous project file change
* Fixed string handling issue
* Trying to fix merge conflict
* Still fixing merge conflicts
* Balancing
* Hidden RCD construction ghosts when in 'build' mode
* Fixing merge conflict
* Implemented requested changes (Part 1)
* Added more requested changes
* Fix for failed test. Removed sussy null suppression
* Made requested changes - custom construction ghost system was replaced
* Fixing merge conflict
* Fixed merge conflict
* Fixed bug in RCD construction ghost validation
* Fixing merge conflict
* Merge conflict fixed
* Made required update
* Removed lingering RCD deconstruct tag
* Fixing merge conflict
* Merge conflict fixed
* Made requested changes
* Bug fixes and balancing
* Made string names more consistent
* Can no longer stack catwalks
(cherry picked from commit 02273ca0e7a4091bac88e585ecca5253dd0e7fd7)
* Can now search the uplink store interface with a searchbar.
* Search text updates no longer send server messages. Persists listings locally.
* Formatting fixes and tidying.
* Added helper method to get localised name and description (or otherwise, entity name and description) of store listing items.
* Update Content.Client/Store/Ui/StoreMenu.xaml
* Review change; moved localisation helper functions to their own class.
* Prevent thread-unsafe behaviour as-per review.
* Remove dummy boxcontainer
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit de62ec204b04809175945a2ccfd4dbce6dafd8eb)
* Adds new Component: EmitSoundOnInteractUsing
* Missed an import
* File-scoping
* Replace ID check with Prototype check
* Moved component and system to shared. Set prediction to true.
* Removed impoper imports and changed namespace of component to reflect changed folder.
* Following function naming theme
* All this code is basically deltanedas's, but it was a learning experience for me
* Update Content.Shared/Sound/Components/EmitSoundOnInteractUsingComponent.cs
* Update Content.Shared/Sound/Components/EmitSoundOnInteractUsingComponent.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit daaa7c6de0d21c5b8d9c0b659eb62878a0410d3d)
* Hyposprays Draw from Jugs
* Fix last onlyMobs usage in yml
* Some Suggested Changes
* Remove unnecessary datafield name declarations
* Remove unnecessary dirtying of component
* Same line parentheses
* Added client-side HypospraySystem
* Cache UI values and only updates if values change
* empty line
* Update label
* Label change
* Reimplement ReactionMixerSystem
* Remove DataField from Hypospray Toggle Mode
* Change ToggleMode from enum to Bool OnlyAffectsMobs
* Add DataField required back since it's required for replays...?
* update EligibleEntity and uses of it
* Add user argument back
* Adds newline
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Guard for dirty entity
* Adds summary tag
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit f192d7901fedd134c38a6cab38731f8e93994492)
The FTL UI on the shuttle console would reset the FTL progress bar every time you open it. This is because the server only sends "time until completion", not a start/end time. The FTL code now uses a separate start/end time so the exact same progress bar can be preserved.
For convenience, I made a StartEndTime record struct that stores the actual tuple. This is now used by the code and has some helpers.
(cherry picked from commit 3b791459c74c6b56c8ae6204a936f6de06674b93)
This increases the probability for the following effects caused by Ion Storms:
Chance to affect a Station Borg: 50% -> 80%
Chance to replace a Law: 10% -> 20%
Chance to remove a Law: 10% -> 20%
Chance to shuffle Laws: 10% -> 20%
(cherry picked from commit 649af483e486e99785e9a1517fa3263c0723034e)
* combine same-tile explosions in the same tick
* !
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 355d00a0f2529a5beac6426837fad129d45a41a6)
* polymorph changes
Adds poly proto ids to polymorph action event and checks for proto id when performing
* nullable proto id
* Replaces instances of Polymorph prototype with a proto id and tryindex
* birdup
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 06b14f30cd9267abcb135e6031a273905cf1ba40)
* Add auto-mode to reagent grinder
* Remove redundant stuff with DataField
* Use margin instead of dummy control
* Resolve grinder component
(cherry picked from commit a606909d30477453bc23765df4c78f04b2ead522)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50
* final toCoords Removed
* Remove all unused variables and dead code paths
* remove always true variable, should be a cvar or something instead
* remove superfluous variables from tests
(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
* Separated "thank you" messages from general ads
* Moved MessagePackPrototype to shared, cleaned up AdvertiseComponent, and actually killed AdvertisementsPackPrototype.
+More suggests changes.
* Rename PackPrototypeID to Pack in both components.
(cherry picked from commit 794a447bb7f0a36abaac802e0fa4d1ce7c8998ef)
* add Name field to SpeechVerbPrototype
* extra locale for voice mask ui
* SpeechVerb ui and handling
* raaaaaaaaa
* reeeeeeeeal
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* fix sort
* did you hear john syndicate died of ligma
* Update Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit d13da2837d3a919df2101b37eae945e633c76c56)
* add SaveItemLocation keybind
* make item direction public to avoid having to change between Angle for no reason
* add item location saving
* show
* Added a better save keybind, made it draw saved positions, and trying to save in a position it has already been saved in removes that position.
* w
* code style
* Make taken spots appear blue
* style
* !
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: notquitehadouken <tripwiregamer@gmail.com>
Co-authored-by: I.K <45953835+notquitehadouken@users.noreply.github.com>
(cherry picked from commit 6863a7cc26f815ec9089003e8735777cea927d0f)
* Give 'em something to talk about
* Wire panel visuals
* Wire graphics tweak
* More ads and thanks
* More ads for a noisy arcade
* New screen for space villain machines
* Implement EmitSoundIntervalComponent and a bunch of arcade noises
* Require power for sounds
* Allow earlier startup intervals
* Orange glow
* Audio attributions
* Include the PR link
* Replace EmitSoundInterval with expanded SpamEmitSound
* Remove pacman-themed arcade sounds
* Documentation good.
* Updated methods to use Entity<T>
* Refactored SpamEmitSound to get rid of accumulator and chance.
* Fixed prewarm logic
* Moved stuff to Shared
* Fix outdated YAML
* Better prediction, auto pause handling
* Make enable/disable reset the timer instead of trying to save it.
(cherry picked from commit b1ba6b5bb615615cc58f255dc9fe84c5ffe8822b)
* Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal.
* Revert "Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal."
This reverts commit c730d6499b6908f6ae7c52e21d5338fa3b7eb80e.
* Reapply "Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal."
This reverts commit 3c2d66af865a11ca55eb0e98db58a955c0d70c00.
* -Removed cooldown entirely
(cherry picked from commit 578f7e4f2c1cde38e1c66fa2b5fbbb2903576dec)
* Fix test
* Kill float accumulators
* Use entity proxy methods
* DataField auto name generation where possible
* Kill comp properties
* Clean up server comps
* Make events record structs
* Clean up shared body code
* Clean up server body code
* Rename organ events to be same names as in med refactor
(cherry picked from commit 37b8d78dac047122fe77038bafb8e682132db3cd)
* Fix cuffs breaking after they stop being pulled
* Do proper interaction check for UncuffAttempt
* Minor cleanup
Take as much out as possible from _net.IsServer() if blocks.
Misc cleanup
(cherry picked from commit 4630e94c661f7af35610e24b7bd337bc30ef9fd5)
* Make mind shield implants unable to be implanted more than once
* Default AllowMultipleImplants to false and update implanters.yml
* Use TryComp instead of TryGetComponent
* Deny multiple implants for fun implants too.
* Make comment more precise
(cherry picked from commit 771390bb6741074935e5f24c0aa9c87bc7b5ad09)
* SS14-17313 Chat Censorship Systems
Adds some systems to manage chat censorship:
1. No-op: does nothing
2. SimpleCensor: a regex-free censor with a variety of rules to use
3. RegexCensor: a censor that uses regex.
This exposes a singleton backed by a builder pattern (ChatCensor) that
is set up, probably during the code init phase, and then globally available
for your censorship needs.
* Migrate to Shared
* Add a reset function to the builder.
* Resolve PJB's feedback; add unit tests
(cherry picked from commit bf98a6a8bb2a57fb149459d6b053eaaf6abc8cd7)
* Add DeviceNetworkJammerComponent & System
Allows for entities to "jam" DeviceNetwork packets.
Whenever a device attempts to send a packet, the
DeviceNetworkJammerSystem listens for the BeforePacketSentEvent.
From there if any entity with the jammer component is within range of
either the sender or receiver of the packet the event will be cancelled.
Additionally jammers can only block packets in certain networks. If a
packet is not being transmitted in one of the networks it can block then
even if the jammer is in range the event will not be cancelled.
The range is stored in the jammer component along with the networks it
can jam.
Jammable network ids are stored as strings which seems to be how custom
networks are stored (E.g. network ids for suit sensors).
To allow for all of this, the BeforePacketSentEvent was modified to
provide the NetworkId.
* Make JammerSystem for the radio jammer use the DeviceNetworkJammer. Remove redundant event.
* Replace calls to TryDistance with InRange
(cherry picked from commit 266cc85f57c883b3a604a66da91d94bb1e18ec5d)
* make landmine work on stepping off
* update methods naming
* made both step modes possible
* updated stepoff event raise to not interfere with game physics internals
* added comments
* figuring out how audiosystem works
* added beep sound effect, updated how stepoff trigger works to make it more consistent
* updated source in attributions.yml
* made stepoff working every time
* introduced suggested changes
* updated janitor's WetSignMine to have audio
* made cleaner events and bashing my head at OnEndCollide event raise
* inverted conditional where applicable
* review
---------
Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 54dd273f660d6d8d523d0771bb8d8437373b082e)
* haunted dungeon
* Initial work
Still needs prefab gen work to make it interesting.
* ime a worm
* weh
* Work
* Slight tweaks
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 952b7f4c4e8e957c0c3765f7b20f2745c9297e27)
* Remove second shove check.
* Change when popups and sounds are created.
Reduces phantom shoves that feel bad.
* why didn't i think of this i saw it earlier...
* Replaced Is fields with prefix
* remove some dependencies to fix tests???
(cherry picked from commit 5a2c74499889f80393a90335b182632cfbe8e2fb)
* Fix bypassing bonking with verb
* Revert "Fix bypassing bonking with verb"
This reverts commit efa0f0f5777b893bcee5a852994cfa1e3fda3e71.
* Properly refactored BonkSystem.
* Oh hey, this is redundant now
* Better solution
* Reduced default bonk chance from 75% to 50%
* Also do a little grammar fix
* Moved BonkChance from BonkableComponent to ClumsyComponent.
* Revert "Moved BonkChance from BonkableComponent to ClumsyComponent."
This reverts commit 0acbd9273f20ec478692603781adf15e06e5ed41.
* Another little grammar fix
* Matched default bonk doAfter length to default climb doAfter length
* Fixed duplicate popups
* Check CanVault with verb use too. Add granularity to ClimbingComponent and remove Leg/Foot requirement.
* Don't show verb if you can't climb
* Removed CanForceClimb
* byref record struct
(cherry picked from commit 225bc3c5aeffbef6286b607b02cd24a8ad75a437)
Fix puller not being improperly unset on PullableComponent while being unpulled.
When unpulled, the pullableComp has its puller field set to null after the message signifying the pulling has stopped
has been sent. Since the component has a field to determine whether its owner is being pulled which is determined by
the puller field, systems listening on the event would think that the owner of the component was still being pulled.
(cherry picked from commit a6c018d755ee4f35fb8e3ab597fa90c7592fe920)
* Prep for DoorRemote Status
* Door Remote Mode Messages
* plural opens and closes
* never trust webedits
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit e627a0d24bc8ae89665feb0b0d519b5fbb77ce32)
Fixes#26211
Admin messages now have separate "seen" and "dismissed" fields. The idea is that an admin should be able to tell whether a user pressed the "dismiss for now" button. Instead of using "seen" as "show this message to players when they join", "dismissed" is now used for this.
Existing notes in the database will automatically be marked as dismissed on migration. A note cannot be dismissed without being seen (enforced via constraint in the database too, aren't I fancy).
As part of this, it has become impossible for a player to play without dismissing the message in some form. Instead of a shitty popup window, the popup is now a fullscreen overlay that blocks clicks behind it, making the game unplayable. Also, if a user somehow has multiple messages they will be combined into one popup.
Also I had enough respect for the codebase to make it look better and clean up the code somewhat. Yippee.
(cherry picked from commit d776c4b392a082dba7539d77cfa20fc904ed4091)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.
* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.
* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.
* Fix issue introduced by merge.
* Use interaction system for determining whether a distance is within range
* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.
* Exorcise ghost.
The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.
* Exorcise ghost Pt. 2
* Allow for movement check to be overriden in zero g and adjust doafter args where needed.
You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars
* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.
* Fix evil incorrect and uneeded comments
(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
* 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)
* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)
* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.
* refactor: incapsulated info on current lobby track in simple record
* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic
* refactor: xml-doc for LobbyPlaylistChangedEvent
* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
(cherry picked from commit 4c87dcd3cb92855df1fa01dea52d2ddd09f2adce)
* Alert autoremove v0
* Code cleanup and timing
* comment
* Tritium, code compression
* not resolving manually
* reduced lookups, new comp
* fix-fix yes
* use RemCompDeferred, handle OnUnpaused
* missed a todo
* entitysystem resolve
* remove unnecessary component updates
* remove AlertState from comp, move EntityUnpausedEvent actions to AlertStateComponent's Timespan
* Code cleanup
* comments
* combines AutoRemove input into Clear
* minor logic adjustment that does not really change anything but is less ambiguous
(cherry picked from commit ecd2d5a644540c6ad28903ee4fb2af87876e3030)
* add ActionAttemptEvent
* add ConfirmableAction compsys
* make suicide actions confirmable
* use new trolling techniques
* better query and dirty them
* death
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit ad3f3a5d360be6f7c8acb9c7753b45653a28cc0f)
* Using wrench on AME doesn't first try to put it in.
* Refactor AME to use ItemSlot for fuel.
* Apparently these names want to match.
(cherry picked from commit c47391011d0f7f56dfcba8e4db348f0dc0d58c09)
Added it to cargo pallet and the ATS puter. Small steps. Also moved the log until the anchoring is actually confirmed to prevent dummy logs.
(cherry picked from commit 542574261731a91483d0bdca82abb7a3f81c05fd)
* Whisper bleed update v3
* missed a few
* Add bleeding message to health analyzer.
* Fix bleed notification not updating.
* Apparently this either doesnt exist
(cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50)
* handheld
* Update meta.json
* Update meta.json
* Update cargo.yml
* research
* add to borg
* bruh
* borg to T2
* fix
(cherry picked from commit 7a5f81ddb46e47078b983bfc9ba015ee67752ee3)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.
(cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074)
* Initial commit
* Remove damage from cuffs entirely
* Changed from Action uncuffing cooldown to UseDelay cooldown
* Minor merge conflict fix
* Edit the actual correct line
* Submodule fix
(cherry picked from commit 485fb4cb652793ab4f9cbe90bb2cbf555fbf5540)
Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists.
Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff.
Also I made the character profile validation logic take dependencies in via parameter because fuck resolves.
(cherry picked from commit 8d244f7b76ba881253eb94611acaab31865c3920)
* Implemented contents display for dispenser UI
* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Resolve the netent into a euid first
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 100ece2e2078ab2fe99f4ce1ab36b2cd05319772)
IDK what this arg is for but seems okay with guns. Without it it always thinks the insertion can work.
(cherry picked from commit ad29dbe302ac921b9e3f6cbd3ded79788db27b46)
* Toggleable items now can change their shape depends on toggle state
* Update Content.Shared/Item/SharedItemSystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 1a5f7c39b2a2c244d5d947d8ff8f09250f21450b)
ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now.
(cherry picked from commit d8e5f5c24b88bf8096ddaec11e80f1af2953637b)
* Make department / job list sorting consistent.
This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.
We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).
Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.
* Fix jittery job icons in lists.
They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.
Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)
Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.
Also gave a margin next to the icon on the crew manifest. Margins people!
(cherry picked from commit 715794dd414c5d4b794cd6f2201983ecbc5d4f17)
* Fix formatting problem with FullOpened
* Moved to Shared and networked
* Revert "Fix formatting problem with FullOpened"
This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.
(cherry picked from commit 381bb9020aeba82e9cad111c77c34bee29d52c68)
* Add option for admins to disable bwoink
In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.
* Add silent indicator to discord relay
* Use string interpolation
(cherry picked from commit a3c93b0bd7478c0f75daaa2f7d0bd8b88565b27e)
* PlayerListControl fixes.
Fix a button being selected by default always, which then can't be selected properly for real. This affected multiple admin UIs.
This broke due to upstream RT changes but ButtonGroup was always kinda busted so whatever. Uses the new IsNoneSetAllowed to implement everything properly.
Also make sure the selected player STAYS selected when filtering the list and stuff.
Also this PlayerInfo record has been changed to only do equality on the User ID because otherwise it'd need to compare each field individually which would be weird.
* Revert changes to ListContainer
This change was made default in the engine, no longer necessary here.
(cherry picked from commit 74a31ac5f3316cc865ab9f39f39efff4e0b9e748)
God bloody christ. There's like three layers of shit here.
So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.
Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.
Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.
Fixes#19897
(cherry picked from commit 2e6eaa45c57c7f5ba561d1fb1ef6712d2432a8fa)
* Added support for fill levels to metamorphic glasses
* Fix warnings and cleanup
* Don't break non-metamorphic fills!
(cherry picked from commit e74f3019f7dc36a9e8ba19ae253692ed4af864c7)
This is a visualizer somewhat similar to the Generic. It allows configuring appearance info based on specific CVars the user has set. This allows YAML to easily configure alternatives for accessibility CVars like reduced motion.
(cherry picked from commit 1ce21553152199e3d97a8d02c11922fb8db5fd52)
Adds a massban flag to the admin flags used on ss14 to ban large amounts of players rom a .tsv file
Co-authored-by: Geekyhobo <66805063+Ahlytlex@users.noreply.github.com>
(cherry picked from commit dbf2c64cfd5a47088f5b20e850862a202795d5c8)
* Save round information into the replay
* Add round end text too
* This is way better
* Get actual job
* oop
* OK THERE
* Fake line endings to make life easier
* I was told this yaml is legal
* I just realised this will make my life easier
* REVIEWS BABY IM A PROGRAMMER MOMMY
* Live pjb reaction
* Live pjb reaction 2
* Reviews 2
* Dont need this
* Please no more have mercy on my soul
* Oh frick
(cherry picked from commit cb999d23f4b15e1c182e1ae4bf2e414306822f89)
* nymphs now don't get deleted together with the body of the diona
* moved nymph system to server
(cherry picked from commit 9969bd25841b5162d80125c9a2fc000a94c3b558)
* Porting & implementation
* Fix two stupid errors
* Human not humans
* fix audio path
* Fix test fails & update cooldown
* Work on reviews & test fail
* Rework nymph organ system.
* Make the nymph organs nospawn.
* IsDeadIC
(cherry picked from commit 407d4aed586a5143dc1dd0d31e7898f6df07a411)
* Add test for two chemistry issues
1. rounding issue with reaction processing when making chloral hydrate
2. reliable assert trip due to the ValidateSolution() heat capacity issue.
* Fix FixedPoint2 arithmetic
Fix internal floating point arithmetic in places where it could be avoided.
Fix incorrect rounding mode used in other places (it should always floor, like regular int arithmetic).
I had to add an explicit epsilon value for float -> FixedPoint2 because something like 1.05 is actually like 1.04999 and that'd cause it to be rounded down to 1.04.
This fixes reaction reagent processing in cases where the reagent inputs can't cleanly divide. Previously, when making 30u chloral hydrate by adding the chlorine in 10u increments you'd end up with 0.04 chlorine left over. This was caused by division in the reaction code rounding up in some cases. Changing division here to always round down fixes it.
* Attempt to fix heat capacity precision assert issues.
Fixes#22126
First, we just increase the tolerance of the assert. It was way too low.
Second, actually put a cap on float drift from one-off _heatCapacity changes.
* Fix float -> FixedPoint2 epsilon for negative number, fix tests.
* Fix DamageableTest
* Oh yeah I need to call CleanReturnAsync
(cherry picked from commit 33611b7094ba9540326a6f0f6edd2017640e61db)
* LockVisualizer
* Fix state
* Clean some code
* Make it component, fix tests fail
* Fix for StateUnlocked
Now it is possible to manually set the unlocked state and it will work!
* Optimize LockVisualizer, add check for unlocked state
* No todo I guess
(cherry picked from commit c7870882f6f956eea07cbb4738ae45c8805c8ce6)
* Initial commit
* Moved params to sound
* Removed type tag
* Removed null check
* Forced default
(cherry picked from commit 1de3f24f16733521d22543708a59e72a6b396c71)
* Unghettoify mindshield icons
Adds support for layers in status icons, through the StatusIconLayer enum and the new "layer" datafield. Defaults to the Base layer where functionally remains unchanged.
* TG icon for shield
probably better than the shitty one I made in paint
* forgor meta.json
I forgor
* Emo review
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit bced73f67657246bc167531414ea0be5a5bba6bf)
Actually use more icon states for deployed/armed/about to explode
Also unlit layer.
Also examine text
(cherry picked from commit 3a45d519dcc3679375b5239b6f1881cdd1a07344)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.
(cherry picked from commit 6d8be538c90cf4c3a6636e2f8b84631af457cd42)
* voxnames
* New generator parameters, names are more readable
* bunch of missing vox stuff
* more names
* sad
(cherry picked from commit 5a9ab3b315c90ddd054f2e2524af023d909e2a9e)
* Facelift Microwave UI
Includes new background light in UI, Uses predictive input, UI now properly disables buttons when microwave is active
* Microwave now shows Elapsed time
* Fixed bad formatting
* Added new term for "BottomMargin"
* Change yellow color
* Update StyleNano.cs
just spacing fixed
* Cook time countdown now detached from server
Instead of the server constantly sending out messages for the cook countdown, it is now predicted client side using TimeSpan
* Update MicrowaveMenu.xaml
forgot to re-add item space
(cherry picked from commit 25f73f64065f370d8560ff4695579c259e4b7667)
* Implement closing; add open/close verbs
* Add breakable seals
* Allow custom verb names; make condiment bottles closeable
* Remove pointless VV annotations and false defaults
* Split Sealable off into a new component
* Should have a Closed event too
* Oh hey, there are icons I could use
* Ternary operator
* Add support for seal visualizers
* Moved Sealable to Shared, added networking
* Replaced bottle_close1.ogg
(cherry picked from commit 75e47fff9e5150a4de37e4d3c8a8b278f0a1a2cd)
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
* make door status use SendSignal
* LastSignals and logic, add ClearSignal api too
* make everything outputting a logic signal default to false
* refactor ops
* :trollface:
* :trollface:
* protoid for LastSignals
* oop
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit f41ece37c3bc04d77b2d0ef791d190c5c0d11f36)
* Adds option to disable character names in chat/speechbubbles
* Moved the coloring of names to clientside
* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs
* Changed to be put under Accessibility section
* Cache CVar
(cherry picked from commit 247be5b5c770261544f4e468ea09422efb0f7028)
* Predict two-way levers
Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.
* space
* a
(cherry picked from commit 05a2ddff1cc415c3bdf1e15ef3a2c953bcb5384b)
Fixing gibbing contents not respecting Include/Exclude container lists. This is currently unused
(cherry picked from commit 8e59b4f50546c9ba53981ab4b22bcd1595d775d6)
* Moving Gibbing rework out from medrefactor into it's own PR
* Re-enabled warning for missing gibbable on TryGibEntity
* Implemented better logic for gibbing failover and better logging
* Allowing audio params and drop scattering customization per component. Created UnGibbable organ base types and made brains ungibbable.
Removed delete brain from gibBody function. Artifact crusher does not destroy brains anymore. It only destroyed brains before not other organs which was wierd.
* Update Content.Shared/Body/Systems/SharedBodySystem.Body.cs
Fixing space for multiplication
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Added event raised when attempting to gib contained entities to allow modification of allowed and excluded container ids
* removing audioParams var from component (sound specifier includes it)
* Fixing signature
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 541d8f8715e4e74a77501863c2573aaa1eb33add)
* It begins
* Delete error.txt
* Patch by Debug
* HIDING WINGS NOW WORKS
* Runs smoother from Shared
* Delete HarpyVisualsSystem.cs
* The entire clientside script is no longer needed, and the visuals now work correctly. Helmetbug is gone.
* Update HarpyVisualsSystem.cs
* First completed Harpy Hardsuit
* Captain and Atmos tech birdsuits
* Update hardsuit-helmets.yml
* And more content
* Adding new finch tail <3
* whoops
* guh
* I swear the tail works now, I just need the adhd meds to kick in
* birb juggsuit
* More stuff
* Nukie hardsuits
* fixing clipping issues on birb juggsuit
* Update meta.json
* aaaaaaaaa
* two more
* Ton of extra harpy sprites
* Create equipped-INNERCLOTHING-harpy.png
* Harpy Ultravision trait
TODO: Optional trait that disables it
* Trait that removes Ultravision
* Code optimizations
* Adding hueshift maps to all harpy markings
* No more jumpsuits
* 1984 the harpy jumpsuits, they are no longer needed
* last 2
* final QA pass
* shennanigans related to an earlier merge conflict
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Felinid changes.
A plan
* Just slappin it together
for a friend to see and help
* Somethin somethin
Cos I could be at yours on friday
Tonight's at the place we started
It's a long way back from sorry
But here I go ....
How does it feel, how does it feel
Just tell me something
I don't know what to tell you
I don't know what to say
I got into my head, i'm sorry i threw it away
But i'm so glad you came back, even through all the pain
Let me try and mend it, i can promise that i have changed
Oh, let me give you all of me
Can we just sort it out for real
* just makin this less messy.... I guess
* Just tell me somethin.
How does it feel, how does it feel.
* .
* cleaning....
* Makes it work. Yey.
* just a small change tbh.
* okay maybe just a bit.
* Hm, maybe....
* This feels bit better.
* hopefully fixes yaml linter
* Update Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml
Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
Signed-off-by: Adrian16199 <144424013+Adrian16199@users.noreply.github.com>
* Doin the changes.
* Renaming.
* Renaming notes.
---------
Signed-off-by: Adrian16199 <144424013+Adrian16199@users.noreply.github.com>
Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
* move stuff to server and some refactoring
* update spikables to not use triggering
* add Delete bool just incase
* a new egg
* mom can we have webedit. no, we have webedit at home
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 55dbe26019ed22e11f017393c028c6760699343d)
Relay wasn't really networked properly and this annoys me.
EntityStorage is still pretty skrunkly but this fixes the main issue I think.
(cherry picked from commit 042feae2e91f41f7d39e55340405e3c448903d61)
* add face bandanas
* oops
* make face bandanas butcherable, also one bite
* oops
* Add mouth IdentityBlocker to bandanas
* refactor to use foldablecomponent
* remove some leftover bits
* remove HamsterWearable until face sprite updated
* oops
* review changes
* remove a few unneeded bits
(cherry picked from commit b503fe586423773ed6484a9ead8ff21673dcdc66)
* adds refunds to stores
* Adds method to check for starting map
* comments, datafields, some requested changes
* turns event into ref event
* Adds datafields
* Switches to entity terminating event
* Changes store entity to be nullable and checks if store is terminating to remove reference.
* Tryadd instead of containskey
* Adds a refund disable method, disables refund on bought ent container changes if not an action
* Removes datafield specification
* Readds missing using statement
* Removes unused using statements
* What the heck is listing data
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 257909fd97c05bfde837a76afe5c5c612afc9f28)
* Decoupled from gravity, constant animation time, manual networking, cubic interpolation
* Reduced overshoot
* Implemented PointAttemptEvent, reacts with mobstate & sleeping
* Brains can no longer point, PBs must be inside a chassis
* Removed chassis check, made callback more obvious
(cherry picked from commit d01d75073cc4179ca5e34cacccd2ca6387e2bf99)
* 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
(cherry picked from commit 0d8254b2a2891f8d5623c9878bd0e567d0c7fe3c)
* made hit sound logic potentially better
* Function already tries all fallbacks, no reason to return bool
* NoDamageSound execution path
(cherry picked from commit b98dc669741a3e5199e9fa03d82703821ab5284c)
This standardises it with audio and whatever. Me when I sprinkle nullchecks everywhere.
Was 50/50 on making new non-nullable methods but figured it would bloat too hard and you can't access strings by .Value anyway.
(cherry picked from commit 606c5a8c8b1005de62c33d5de888f67a8eae0ccc)
* refactor and add Department to PaintableAirlock, move it to server dir since its in namespace
* add departments to doors, cleanup
* add style -> departments mapping
* AirlockDepartmentsPrototype
* update shared spray stuff to have department
* name file the same as the class name
* department optional
* refactor spray painter system + send department
* fixy
* client
* no need to rewrite ActivateableUi
* pro ops
* the reckoning
* hiss
* .
* :trollface:
* add standard atmos colors to palette
* Update Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit c49c78bafaddc3ed69714eaf41920e1565dbd292)
* Remove obsolete transform call
Shrimple PR also fixed bad flatpack call that would break on non-standard tilesizes.
* Update calls
* weh
(cherry picked from commit 52808694e0a479c162930a0aae20e91b68bc67a4)
* Fix outdated component name in assaultbelt whitelist
RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)
* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared
* Move LightReplacerComponent to Shared
* Move Utensil, Mousetrap components to Shared
* Move SprayPainterComponent to Shared
The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.
* Add trivial Produce and Seed components to Client
This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Delete .run/Content Server+Client.run.xml
HOW DID THIS GET IN HERE ITS NOT AHHHH
* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update ExplodeOnTriggerComponent.cs
* Revert "Delete .run/Content Server+Client.run.xml"
This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.
* Fix?
* cannot figure out how to get this to go back please forgive
* Fixes a network issue
* leftovers
* Fixes
---------
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 467e983ba972a7ae749c95448febd19c7c285514)
* Initial work on having the Rev icons not be visible to ghosts depending on a Cvar and a component.
This commit just makes it so that the revcomponent and headrev component
are not shared with clients that shouldn't know about them. This is due
to the concern that clients having access to those components, even if
no image was displayed could allow modified clients to have meta
knowledge of revs.
Currently this has the issue that if a player later
for example becomes a rev, none of the existing rev components get
networked to them. I am not sure there is currently an effecient
solution to this.
This is probably in an issue for a lot more stuff. I might just make it
so all the logic just moves to the client on whether to put the icon
again.
Also this commit adds the ShowRevIconsComponent to allow anyone with it to just
view rev icons.
* Rev components now get communicated to clients that didn't have them previously and the AntagIconSystem is now properly checking whether to give the icons.
We now dirty all the rev/headrev components when someone gets converted
or gets the ViewRevIcons component. The AntagIconSystem now checks
whether it should draw the icons mostly based on an event, this is still done
client side.
This is not a full proof solution to make it so clients can't know
someone is an antag when they shouldn't because:
1. There are other components that need similar treatment, to my
knowledge not to for revs but for other antags. Maybe even the mind
component. This could be addressed in future PRs.
2. We cannot ensure that clients forget about these components if the
client gets deconverted for example. We can of course have code that
does this, but it will necessarily need to be done on the client and
if the client is modified then there is no way to ensure this.
Of course at that point they should already know who their fellow
revs are so this might not be an issue.
I now need to do the same thing for zombies in a future commit.
A similar system for nukies also needs to be looked at but I will not be
doing that in the PR this commit ends up in.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Merged 2 if statements into 1 on the Zombiesystem.
* Cut down on code duplication in AntagStatusIconSystem
Now instead of having a seperate function for each component, there is 1 generic function. Functions for special cases
like the Rev/Headrev comp can have a separate function that does the special check and then calls the generic one.
This is done through the IAntagStatusIconComponent interface which provides a common interface to get the Icon.
* Removed some duplication from the SharedRevolutionarySystem with generics.
I have no idea why I didn't think of this sooner.
* Addressed Reviews I think
I think events get unsubbed automatically but I am probably missing something that I have not understood.
Either way this is a requested change.
* Replace war crimes with actual fixes for reviews
It was not clear to me what the reviews meant
* Addressed reviews by removing need for cvars.
Whether icons are visible to ghosts is now determined by a bool in IAntagStatusIcon which all antag components
with status icons should implement.
* Update Content.Shared/Revolutionary/SharedRevolutionarySystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 8b19b7fab9dd8fb115f65794d97a26ebb9aa1142)
* Add AFK detection for aHelp relay and admin specific afk time.
* Correct query to new refactor
* Change AFK timeout to 10min or else Pancake closes my PR 😭
* It wasnt a bug it was a feature, way less aHelps that way.
* aHelp Colors arn't real!
* Update Content.Shared/CCVar/CCVars.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 00841217062ba60d38320dfd2b93288548bb4201)
* add Placeholder and make default buttons flags consistent w old behaviour
* DialogWindow ops
* make QuickDialog use DialogWindow
* Update Content.Client/UserInterface/Controls/DialogWindow.xaml
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 6b03aaaec78bd50c8f4730c9aa7d0f5cea76e782)
* Cleanups PolymorphSystem
* forgot this
* Nah
* Fix test
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit b8f0ed3975a4b887ca8dd75dcc07e0ac5ee11646)
* Space lube now makes you slide
* review
* oh lord he slippin
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 4f3b8d740cecfb736b018fd78a2be71f5397644d)
* Adds Visitor role and ShowInIdCardConsole property
* Add visitor to Agent ID card
* Fixes yaml test
* Fixes based on feedback
* Fixes based on feedback
(cherry picked from commit 1862f8aa1745f147fa54428179e568c9298a9fda)
* Change emagged laws to append modifiers instead of completely changing them.
* Maybe fix everything not working
* bugfix
* Fix missing secrecy law and allow basic borgs to be emagged correctly
* Localization
* Actual localization
* test
* Test
* Remove dummy debug value
* Fix bad law ordering
* Tweak the secrecy law
* Minor law tweaks
* Remove obsolete argument
* Fix YAML
(cherry picked from commit 27592ba898201d0b09c95f6b0958503407d01bb5)
* Remove wheelchairs
Vehicle code is dogwater and wheelchairs just keeps exposing edgecases. If someone wants it brought it back they can do vehicle refactor.
* Also this one
* Remove vehicles
* goodbye vehicles
* Remove this check
* sasd
* Cronch
* Add sprites back
* jani
(cherry picked from commit d2f20d8955a25a32aa5fb9b3631a41921b464cd4)
* Firestarter fixes
- Actually networks the action.
- Namespace fixes.
* No networky for you
(cherry picked from commit a6ea8b210db079d30823e7b4d8faa32aefa17582)
* Raise `StationPostInitEvent` broadcast
* Basic variation pass handling
* standardize names + rule entities
* why does it work like that?
* add to defaults
* light break variation pass
* ent spawn entry
* move some stationevent utility functions to gamerule + add one for finding random tile on specified station
* forgot how statistics works
* powered light variation pass is good now
* station tile count function
* public method to ensure all solutions (for procedural use before mapinit)
* move gamerulesystem utility funcs to partial
* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit
* trash & puddle variation passes!
* oh yeah
* ehh lets live a little
* std
* utility for game rule check based on comp
* entprotoid the trash spawner oops
* generalize trash variation
* use added instead of started for secret rule
* random cleanup
* generic replacement variation system
* Wall rusting variation rule
* account for modifying while enumerating
* use localaabb
* fix test
* minor tweaks
* reinforced wall replacer + puddletweaker
(cherry picked from commit cc24ba6a317c4bee84ffa1eda8397c255ca92be9)
Fix improper prediction on unpryable doors.
Entities that had CanPry to false on their components would get
improperly predicted as pryable on the client because the check was only
preformed on the server. Same problem existed for welded doors. Moved
the check from server to shared.
(cherry picked from commit 9bebdf57069f8c2e2b045009a98bcf46caa68732)
* added signal control to portable generators
* added documentation
* Discard changes to Content.Server/Radio/EntitySystems/HeadsetSystem.cs
* added DeviceNetworkComponent and WirelessNetworkConnectionComponent to generator prototype
* made GeneratorSignalControlComponent nicer
* implemented auto-revving
* added back necessary dependency
* can't send do-after event manually
* repeat now works with auto revving
* fixed
* removed vv
* stopping generating when it is revving now makes it stop revving
* Update Content.Shared/Power/Generator/ActiveGeneratorRevvingComponent.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* used resolve instead of TryComp
---------
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit 5d2ddc0d8b313d80fbcecd6719c5048ec2aea3e7)
* Revert "Make flare gun explode, damage and stun the player when used with the wrong ammo (#22349)"
This reverts commit e301378114b245fa6927372f83c19868cb90b13c.
# Conflicts:
# Content.Shared/Weapons/Ranged/Components/GunComponent.cs
# Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml
# Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml
* Fix revert conflicts
* Update Content.Shared/Weapons/Ranged/Components/GunComponent.cs
(cherry picked from commit e1901aa6b602516f0f7cc3f29844c77e90c77977)
* BatteryWeaponFireModes refactor
Made the code a bit better but still needs integrating into attachments.
* murder
* Fix serialization
* weh
* weh
(cherry picked from commit 58b55ba06c5de031079915a607ccf3adad781f93)
People are using these as unhackable and hard-to-tailgate airlocks into sec. They should not be trivial for security officers to move through.
Made LockComponent have configurable lock times to implement this.
(cherry picked from commit 8ca7cb59a3b83e86c9b27a9549bf85a9f914b6fe)
* PACMAN generators show network load/supply.
This gives more feedback to players that their PACMAN is properly connected and what the network status is (i.e. you don't have enough generators).
* Buff JRPACMAN to 8 kW.
Shifted all power values up by +3 kW.
They're frequently too weak to power even single rooms so they deserve a buff.
* Change unit format helpers number format.
Always displays one digit of precision. This avoids jumping around when a value is changing live.
(cherry picked from commit f855cb2b0065083447128778c31c2a93bcd70a6a)
* Ports colored chat names
* Update name color on every message
---------
Co-authored-by: ike709 <ike709@github.com>
(cherry picked from commit 6cbe4a8fb6d39745141e71233d386206c36a1e19)
* DamageSpecifier [Obsolete] Total => GetTotal()
* Remove obsolete Total member from DamageSpecifier.
(cherry picked from commit c77eb8691dc08d384a88ddaf3b734f7777d741b5)
* Bunch of revolver fixes
Some stuff wasn't working with prediction so this should fix all of it.
* a
* fix weh
* Also usedelay
(cherry picked from commit 9bb2781bfca68bde47ce52576cb894bb41ab6511)
* Add announce message length to UI and make a cvar for it
* Update comm console server-side trim to use the cvar
* Rely on the new OnTextChanged event
Because OnKeyBindUp only works for keys that have binds
* Add a similar indicator to nukies' war declaration UI
* Remove message length indicators for now cuz it requires the engine update
* Rename cvar slightly
* Refactor duplicated code to a helper method
* Remove message trimming from *Window class as it's better to live in the BoundUserInterface where the other message handling happens
* Rename to chat.max_announcement_length
(cherry picked from commit 8c5898b0065cd2cf196c0383bc99c57c0f11795b)
* sans
* Papyrus
* add to game
* tweak stick
* fixes
* Update Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Update Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit b3b64e6cf29f313a9782fb95ae8727f907b1836a)
* Update job priorities when job requirements are getting updated
* Sort jobs by weight and then by the name
* Sort departments too
(cherry picked from commit 4f307a49be5796eaa7b02f5988a83ea04db95535)
* localize beacons
* No not like that
* Tesla beacons were already depreciated, time to give the reaper their due
* Entity name fallback
* The real treasure was the far easier solution we missed along the way
* weh
* Shared mapinit
* fix RT version
* a single line break
(cherry picked from commit efdc6f8d4c5dc8c593b6403c6592f0ddc6212266)
* Check and restrict players from fultoning their equipped items
* Changed fulton whitelist to items and anchorables
* Stop from anchored items being fultoned
* Moved containermanager check to CanFulton function
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1ff31f8b7a450bc7aa5a638a8a63b318a5cf5363)
* Prevent EntityStorages from being opened while inside a mech.
* compressed into few lines
* unneeded line
* Popup client
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit e89be95d4c3085d7d6d08ad5aafa942cfc32c934)
* initial commit
* made it emaggable
* removed OnAttemptEmagEvent
* moved emagging to shared
* added local file to git
(cherry picked from commit fd673cf6e30599f5895d58c3281eba2901301401)
* Various sounds ported
* Replace wall_bonk.ogg
* Metal/metalglass break sound pass
* Replace metalbreak.ogg
* Replace woodhit
* Replcae tap.ogg n some smack uses
* Fix lint
* Replace bang.ogg and some instances of hit_kick.ogg
* couple more
* fix wood sound
* i may be stupid
* le attributing
* bro what
* standardize more destruction sounds
* fix melee hit sound cutting off
* window threshold sounds and remove `destroySound` it literally doesnt exist
(cherry picked from commit 818b07ecf82bdd72dc5524f6bc093067b2ef6472)
* Restarts have max player count
* Now counts ingame ghosts to determine if restart can be called
* consistant cvar name
* Added a player count with state conditional
(cherry picked from commit 7bf62f1d1904b591580b17b2b5079f0dfe769e4b)
* Fix error when starting a DoAfter while handling one on the same entity
* Reuse array
(cherry picked from commit 9ad1ae5d963cf294d2f68d06ce07506dedbefe64)
Change the slot ID back to what it was to keep old map saves with an item in the slot loading correctly.
This also fixes the "You can't put this in the dispenser!" message not appearing when inserting an item without FitsInDispenserComponent because the whitelisted slot name wasn't changed.
(cherry picked from commit 7a7d0017b504dec4b1d390b941af9791d9677287)
* Add limited-reagent dispensers
* Add empty versions for all dispensers
* Fix lint
* Set initial window size so all buttons are visible
* Simplify logic, add parenthesis
* Use localized name for initial labels
* Adjust button style
* Avoid touching items before MapInit
* Remove pre-labeling
* Reduce diff
* Clean up YAML
* Fix test
* Really fix test
* Document
* Adjust based on review
* Add labels for obnoxiously long bottles
---------
Co-authored-by: AWF <you@example.com>
(cherry picked from commit 9394a262458df76d9c4156f147bed902e3feac75)
* Execution (you monster)
not done
* woops
* more stuff
* Melee executions
* Prevent executing those who can interact
* Better checks for if you can execute
* Scale the execution time of a knife with its attack speed
* Translations for fucking up an execution
* rename some functions
* Properly scale execution speed of melee weapons
* Fix checks in CanExecuteWithAny
* Allow executing yourself (funny)
* More versatile localisation
* Suicide with guns
* Popups for successful gun executions
* whoops
* Stop flare guns crashing the game on executions
* Various tweaks
* Remove some old usings
* Pacifists can no longer execute
* Remove unnecessary check
* Use CanShoot in gunsystem
* Capitalisation in ftl string
* Fix melee executions not playing a sound
* localisation tweaks
(cherry picked from commit 2e83f5a0ecc5fea0177acd94e22133de0d614588)
* Added TransferActionWithNewAttached and TransferAllActionsWithNewAttached and OnActionAdded event method to ActionContainerSystem. These are needed where the action needs to have a different attached entity for usage. Fixed a bug with not being able to upgrade actions between levels. Added a way to grant and remove a singular action.
* adds an action container component to mind on action added to fix tests
* Swaps trycomp for hascomp
* Maybe this will fix the thests
* Grants action container to performer as well
* Wait that makes no sense, removing that
* fixes mind action grant logic
* Changes ent check back to netent check
* Reverts unintended container changes
(cherry picked from commit c8466055ef34f9a5cbd987546c7865889a54f5ed)
* Cryogenic sleep units
* pause map support
* no more body deletion
* Cryogenic Storage Units
* boowomp
* no more emag, no more dropping present people
(cherry picked from commit 736b9dd7df6e35f07fed88686c7c863ac61af846)
* Grave digging and decomposition
* fix
* update based on review comments
* code review
* remove unused field
(cherry picked from commit fd7ff690b1ad7b1cf6cd62deba3076684e3e9282)
* Fix error when the client gets an Eui state message before its open message
* Revert "Fix error when the client gets an Eui state message before its open message"
This reverts commit 440e2746ee8d77306f59ddea558eda32ec927f18.
* Make all Eui msgs reliable ordered
(cherry picked from commit 95ef20223c1abaf6ff0baaf76b73e92dfd921efb)
* feat(star.yml): make throwable star damage stamina
* feat(Components): add new StaminaTresholdDamageOnEmbedComponent
* feat(SharedProjectileSystem): update system with new events to change
stamins treshold on embeed projectile remove / add
* feat(StaminaSystem): update system with new subscriptions
* feat(throwing_stars): update yml with new component
* feat(StaminaDamageOnEmbed): add stamina damage on embeed
* cleanup unused / ajust numbers
* fix(StaminaSystem / OnEmbedComponent ) apply requested changes
* Rest of the review
* another warning
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit b80f7eed6ee05c9e4963477369cffaa44dda19e8)
* add primary departments
* make command and station specific secondary
* add a unit test
* fixy
* compile
* webedit ops
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit d1d11d09c7a2698fa723c11a910258f69c3d7b9e)
Fixes#23645
The problem is that the solution editor UI is an EUI, so the UI updates before the game states are applied.
A correct fix would be to move it to a BUI in some way, but that's a little involved as we don't really have pre-existing code that uses BUIs in a manner good for this. I decided against this because I realized we'd want to have more tools similar to this and tbh I kinda figured integrating it with VV would be a better fix instead, so...
This is a bad workaround to manually synchronize the UI updates against game timing. It's not pretty but it works.
(cherry picked from commit 3a2cd95d7f8d2b6975ebfda715b4cbf858e74668)
* Give .props files 2-space indents.
* Move to Central Package Management.
Allows us to store NuGet package versions all in one place. Yay!
* Update NuGet packages and fix code for changes.
Notable:
Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.
* Remove dotnet-eng NuGet package source.
I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.
* Remove Robust.Physics project.
Never used.
* Remove erroneous NVorbis reference.
Should be VorbisPizza and otherwise wasn't used.
* Sandbox fixes
* Remove unused unit test package references.
Castle.Core and NUnit.ConsoleRunner.
* Update NUnit to 4.0.1
This requires replacing all the old assertion methods because they removed them 🥲
* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.
* Add Robust.Analyzers.Test
* Update submodule
* commit to re-run CI
(cherry picked from commit a6c9c36b688a1ba78ff4c12502e81661cf607b6c)
* Move Exclamation entity
* Add Whistle Component and Whistle System
* Add BaseWhistle prototype
* Add sound to BaseWhistle
* Add SecurityWhistle prototype
* Add Sprite and Icon to SecurityWhistle
* Add whistleExclamation prototype
* Fix SecurityWhistle prototype
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
* Add whistles to sec vendingMachine
* Revert "Add sound to BaseWhistle"
This reverts commit 0c2eeab1286fb778ed7a845e59c642f667582a4a.
* Add sounds for BaseWhistle
* Make atributions compact
* Remove unnecessary spaces
* Make WhistleSystem class sealed
* Remove possibility to exclamate one person from WhistleComponent
* Remove delay from WhistleSystem
Increase delay
* Remove unnecessary HashSet
* Try replace Resolve
* Refactor sound emmiting
* Rework spawn of exclamation
* Move WhistleComponent from Server to Shared
* Edit WhistleComponent because of moving
* Move WhistleSystem from Server to Client
* Edit WhistleSystem because of moving
* Add new event
* Add server part of WhistleSystem
* Modify system for prediction
* Add documentation to WhistleComponent
* Revert "Modify system for prediction"
This reverts commit 89abb290571ff47deb5491b0f720f6bde079110b.
* Revert "Add server part of WhistleSystem"
This reverts commit ca52ca081f30fb164f401c1818d08531f02af284.
* Revert "Add new event"
This reverts commit 5ca9694757c94c03ca72d5b2f56f5f23503a3263.
* Move system from client to shared
* Modify whistle system because of moving
* Separate checks and action
* Organize file folders according to conventions
* Make component Networked
* Change trigger component for WhistleSystem
* Put indents betwen methods
* Rework WhistleExclamation prototype
* Change variable name
* Add serializer to WhistleComponent
* Rename one variable
* add predict possibility to Shared
* add Client part of prediction
* Add Server part of prediction
* Increase whistle distance
* Prevent spawn for invisible entities
* WhistleComponent now use file-scoped namespace
* Delete unnecessary part from MakeLoudWhistle
* Add Resolve check
* Delete Server and Client part for prediction
* Make system prediction properly
* Change prediction behaviour
* Fix unexpected error occured
* Avoid using obsolete methods
* Add comments
* Update DataField to make it shorter
* Update size for new size system
* Prevent ping for invisible entities for real now
* Avoid triggering unnecessary debug asserts
---------
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
(cherry picked from commit fa3da1ab825c2140c8119e723028f292a7b772c3)
* Add doors to the navmap
* tweaksies
* gah
* draw primitive
* draw primitive? at least take me out to dinner first!
* Update Content.Client/Pinpointer/UI/NavMapControl.cs
* casualties
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1886941da6c807ec604cad902233a3ba559b2b25)
* Fix borg becoming emag immune if emag attempted with panel closed.
* new event
* removed code added in accessreader
* fix emag 1984
(cherry picked from commit 23e714e523f18ffe5c4a2e1e2186142371dbf0bb)
* Fix bug where prying would succeed even a door could no longer be pried.
* Remove redundant call to Resolve
* Remove redundant comment
(cherry picked from commit 88045afcf01eedd282d98fba3e3430e66745d3a0)
* Moved vendor thank you messages into AdvertisementPack, making them vendor-specific.
Wrote a few example messages.
* Only display thank yous when closing the UI after a purchase.
* Tweaked a few messages
* More custom messages
* Missed one
(cherry picked from commit eb9770efb91fab68696938008fedb5ab1a10f15f)
* Update ChemicalReaction and ReagentEffect logs.
* Updated explosion log as well, and small cleanup.
(cherry picked from commit aa7fcb19ec2c5f93182da102579db6a3b17b80ec)
* Stuff
* Fix RoundStatus Action
* Rename stuff
* Also needs to run on the main thread
* minor stuff
* Move to not be an EntitySystem
* Part 1 of making this less shit
* Make some more stuff run on main thread
* Actor check, logging and remove token from log.
* Better log
* Change ActionKick to use Guid instead of username
* Fix build
* Bandaid fix for test fails
(cherry picked from commit dfc8ea6aee85776dd1676df601ff8c22ea205a08)
* Auto generate dice component state handling, and update data field annotations
* Missed one.
(cherry picked from commit 39e59cb77ff7cf43ebaaed84c4b22a70275e3b7b)
* fixing access levels and removed strings from data defs
* Fixing proximity detector performance
- Re-added component filtering for the close entity search.
- Changed criteria functionality to only allow for searching for entities with all specified comps (matching any would be too unperformant)
(cherry picked from commit 3261962f8c37a90c4fe0591b422d3b0bcf7a7523)
* Set pAI up with a trackless map
* Added a untracked map user interface class to support gps-less mapping
* Added to pAI by default, expect it to be given to borgs as well in time.
As the personal AI is literally immobile as a ghost, it is useful to ensure that people carry one. With that idea in mind, it is worth giving the pAI a reason to be carried that doesn't depend on the player having a cracking selection of midi files on hand.
* Tried to use new ProtoId and have EntityUid on the client as commented by metalgearsloth
* Review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 412f3f470c92bf2d974b13bc4e5e1c964d3a5346)
* Initial prediction
* new group handling
* groups for all examines that use multiple rn
* compile
* why was it doing this??
* handle newlines with sorting properly
(cherry picked from commit 0ae3858b69b695697ea9300609460f8ddb70ebbf)
* Fix Round Restarted Announcements not playing
Just make the RoundFlow manager play the funny
announcement sound effect, rather than pass it
through to players in an event that doesn't work.
Only three round end announcements probably
isn't enough. Maybe it is time for fresh memes.
* Remove the handling in ClientGameTicker.
* Pass in a specific filepass to broadcast.
* you make one line change in vscode and the linter
goes AH-HAH I CAN HELP YOU LET ME CLEAN
THIS UP and I'm like 😔 and have to revert
(cherry picked from commit a9075e5d247e425d737ff334b67c2146a6869cc8)
* Fix throwing bad regencontacts call
Throwing needs throwing out the window but this stops it causing problems with anomalies.
* Bandaid throwing
(cherry picked from commit 8b7bec2f1d3724bace4b5e9466a4908a582cf7cb)
* Fix atmos UI inconsistent culture usage
* Remove the need to pass localization manager
(cherry picked from commit 3d911a64c7789f1e1de0df94dd27a4f0fdf05dcf)
added reparent bool for this kinds of unequips
Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
(cherry picked from commit 920d7068e5987e45a62e4beb2c8c17190cd62bce)
* Allows a possibility for a new reagant to work on dead if applied.
To use it, go to Resources\Prototypes\Reagents\medicine.yml and add worksOnTheDead: true to any reagent.
* Update Content.Shared/Chemistry/Reagent/ReagentPrototype.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Update Content.Server/Body/Systems/MetabolizerSystem.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 78f4bec3e1fe51ab29b5b7e5b3a6e5416298f377)
* PR 1
* fix an error with health bar overlay (#1292)
* Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566)
* [1612] change ShowHealthBarsComponent's DamageContainer field to a list (#1662)
* fix build
* no crit entities from not updating
* cleanup
* namespace
* undu irrelevant changes
* undo icon change
* make health bar 1 px taller and icon 1 px shorter
* fix medibot
* fix comment
* don't show health bar ratio when in crit
* fix build
* put the crit bar back
* don't render healthbars for mobs that are in containers
* draw more boxes without the background sprite
* fine status icon for all bio mobs
* add wacky mandatory things
* attempt 2
* whoops wrong file
* cool, this works too
* move null check to top
* only 1 init
* security huds
* remove shader
* fix build after cleanup
* slight cleanup
* little more cleanup
* Remove clothing grant component system
* security HUD now shows a job icon on entities with a body
* remove sec stuff and do similar changes to split off PR + remove unused comp
* process comments
* don't return
* update to ComponentAddedOverlaySystemBase
* no cache
* colors and not rendering out of sight
* touch ups
* fix build & cleanup
* undo
* remove shader from icons
* process comments
* documentation
* fix licence
* validate prototype id
* just use args
* rename method and append in method
* type
* just fucken delete the command
* space
* undo
* remove
* don't use LocalPlayer
* re-add showhealthbars command, but working
* rename icon lists and conform health icon code to the others
* space
* undo
* update command
* oops
---------
Co-authored-by: Rane <60792108+Elijahrane@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit eed663e8b4d91ee772ccb54fc8a55e4c4afdcd64)
* Fix robusted dionas not being recoverable
* Implement a polymorph cooldown field, used for TreeMorph
Allows the polymorphed Diona some time to work off robust harvest
without immediately polymorphing again.
* Minor adjustment to polymorph cooldown timing
* Apply suggestions from code review
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* fix: trigger polymorph revert on destruction
As suggested by mirrorcult, DamageThresholdReached is not the ideal
candidate for reverting a polymorph on destruction, as there exists a
DestructionEventArgs to listen for instead.
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit a9b797a0917868fc888b612e59fd22d07b5f8118)
* HellSpawn Mob
* added spawner
* summary for the namespace
* larger collider, cannot enter single tile corridors.
* fix
* remove duplicate from yml, fix attributions.
* moved action to shared, moved comp to shared, networked comp, separated heal, fixed attributions
* removed flammable from hellspawn
removed the healing effect from firestarter ability (healing can be separate ability).
* Update attributions.yml
fix attributions
* fix
* fix
(cherry picked from commit b06d9cb64a53e387240fa804853d3ee2a4d3f11b)
* moved ComputerBoardComponent to Content.Shared
* made flatpacker accept computer boards
* made flatpack system and ui function with computer boards
* fixed it so that flatpacks of computers are correctly coloured to fit their computer board colour
* unhardcoded the computer flatpack assembly cost
* Combined GetFlatpackCreationCost(...) with GetflatpackCreationCostForComputer(...)
* removed code duplication in SharedFlatpackSystem
* removed code duplication from FlatpackCreatorMenu.xaml.cs
* remove code duplication from FlatpackSystem (on the server)
* fixed indentation error
(cherry picked from commit 082bde40ca3fd39fff5daea26de4311cf2001f85)
* kobold variety - allows kobolds to have random colors and horns
* hey lets maybe not crash in this case, lets maybe let the color continue being null in this case
* excuse us vscode what the fuck is this
* brightens kob base, makes kob outline more bold, fixes to the prototype because our code spaghett
* okay yeah angler horns just dont work At All. the floppy kobold ears, however? MWAH. chef's kis
* we've been staring at these critters all day - makes base color line up with the base color of some of the markings
(cherry picked from commit 4d0d2e4c5a13987f27401d981c892a7fca8d876a)
* glowy lights - makes light fixtures actually physically glow when active
* serviced the lights
* ya sure
(cherry picked from commit 1a531342c5c8b2860054f79479b02c8083f3b5d0)
* AutoCompState + ItemToggle fixes
Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds.
* Also catch these
(cherry picked from commit 2166958bd0c23b7b9fd5c699eaeee910d1db62bf)
* Flatpacker and flatpacks
* ok that's good enough
* convert solars/AME to flatpacks
* mats, mats, we are the mats
* basic mechanics are DONE
* thing
* final UI
* sloth
* rped jumpscare
* rename
(cherry picked from commit 1c11332fa4b77d556e7f3db17f391dbd2664cda5)
* source in my guidebook
* finish it!
* sir yes sir oorah
* network that bitch, baby
(cherry picked from commit f538a2e34a4b62ac406a5871a3c52e51f8f0fad4)
* SS14-23184 Migrate Lathe Material Ejection Code to MaterialStorage
The lathe material ejection code acts as a do-nothing
man-in-the-middle system that does work that would be
reasonable for any MaterialStorage-using machine to
use. This has been fixed by migrating the ejection
code to MaterialStorage, allowing anything that uses
the system to eject mats it is storing.
* Fix some YAML references. Science!!
(cherry picked from commit f850047341108b286170197d12f4d13946ee0b40)
* good commit
* Revert "good commit"
This reverts commit 2559a9ad8b642827446e151adc90057d667be60d.
* EVEN BETTER PR
* even more better
(cherry picked from commit 83bd93726770a0ab10415d1dcefccb95af06305f)
* Artifact analyzer now pauses on power-loss
Instead of just cancelling the current scan, the artifact analyzer
will now pause in case of power-loss.
Scanning will automatically resume when power returns.
* Improve artifact scanning pausing
This builds upon the latest improvements in artifact scanning
regarding UI update.
(cherry picked from commit 4fe93cf456f28d14da144431be5b567a3896cd4e)
* Fix AccessRecord not serializing correctly on map saves
* record struct my beloved
* Final tweaks
* pro
* This is no longer necessary
(cherry picked from commit a4dd4828cf585a5534c7ecc86aeb43484c924d00)
* upload all textures
finished easiest part - TeslaGenerator
* Added Tesla energy logic
* add lightning pulse priority
* work
* optimise lightning arc system
* now tesla moving to LightningTarget entity and consume it
* some audio work
add airlock and computers to the LightningTarget
* add nice visual and explosions
add crashing to game
* rsi meta fix
* disabling explosions (crashing server)
I'll get back to that problem later.
* adding important admin logging
* a little bit of cleaning and documentation
* Persistent attempts to fix the server crashing on explosions. Accidental cleaning of everything I see.
* now the tesla incinerates everything it touches except the containment field.
* colliders work
* fix falling tesla on ground after being exploded
* add consume sound, add spawn and collapses sound
* added TeslaGenerator to cargo trading console
* add all tesla part to cargo trading console
* Tesla coils: Turn on and off, get energy from lightning, give energy to the grid.
* tesla coil is ready
* tesla grounding rod is ready
* clean up
* clean up 2
* grounding rods now working without power
* add LightningResistance parameter for LightningTarget Component
* add chaotic teleport
* eletrocution remove?
* deltanedas fix pack
* more fixes
* FIXES
* FIIIXEEES
* The "Grounding Rod" component is removed, and replaced with "LightiningSparking", which is responsible for changing the visuals when hit by lightning. Duplicate code from the coil is removed.
* ops
* fix
* nah, is escaped anyway
* increase tesla collider size
* keron bb
* try fix test?
* fix
* bruh
* check turn off sus comp
* prototype cleaning
* FIIX
* return and fix sus component
* fix tesla eating lightnings, now mini tesla is electrocuted
* commented some issues
* remove linq sorting
fix jumping system
minor fixes
* fix second Linq
* fix tesla colliders! Yeah, it works
* fix componentregistration
* Just retests
* not fix
* FIX TESLA
* fixes
* store targets
* back
* make dictionary of hashsets
* some sloth fixes
* stump
* playtest balance energy generation, return to unpotimized (but working) lightning shoot
* parity
* work on
* some new fix, some new bug (chasingComponent not chasing)
* comment
* fix ChasingWalkSystem
* fix collider tesla problem
* revert old unoptimized shoot lightning
* new fix pack
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 88d7cfb4c035a5a5c2c3e7fc643b9a0d4ad18f5f)
* Add some tests and fix some bugs
* Add more helper methods
* remove submodule
* fix merge
* also fix DirtyAll()
* poke
(cherry picked from commit 35ba42af9ccbbe41e8a3e59b30f2799ef8ca4b8d)
* Remove n rename cruft old shit
* Artifact analyzer UI updating optimization
* Revert "Remove n rename cruft old shit"
This reverts commit 8789338fb20f77d79c5b0e40719896efe0103fcc.
(cherry picked from commit ab6726136f452dc4372a5cc8d1d5dcabf65024b3)
* Change the vote and cvar
* Only denies successful votes
* Add comments because I'm a good coder, I swear
* I added a space to the first line of ccvars it's so over
(cherry picked from commit 82ddf451e6d70710a93d40aa1f5bbb7138333fb3)
* Add sprite movement states
Did it for borgs for reference for future implementations.
* Fix
* Fix prediction issue
* review
(cherry picked from commit 9a40cf81f55722083a985e4cdddda9c6008beb08)
* Fix pulling mispredicts
* Make behaviour consistent
* Good ol terminating entities
(cherry picked from commit 721a445bbd707d21744ba01220e5ce46eda84e4e)
* Make some prototypes use frozen collections
* poke tests
* Remove frozen dictionary enumeration
(cherry picked from commit 8587c3778abdf94041a491b1ff6330fbe6746c03)
* Add a 'Copy' button to the fax UI
* Add ValidatePrototypeId attribute
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit b20fcf51411761710a7289765d216bd3980ded35)
* Fixed EnergySword and variants having incorrect sound on attacking when in their Off state.
* Removed the unused ItemToggle from the serverside and created a new shared ItemToggleComponent and System, now used for the e-blade family of items. Also added e-blade hum and swing sounds. Thanks Sloth for the initial code!
* Changing Stunbaton system to include the itemToggle system.
* Adapted changes that have come up in the meantime.
* Changed damagespecifier to be serializable and autoNetworked in melee weapon components. Fixes a bug that makes it so client-side, damage values are not updated on toggle.
* Made the ItemToggleSystem have both a shared and a server component. Ported the Stun Baton and Stun Prod to the new toggleable system. Added a failure to activate noise component.
* Ported the welders to the new item toggle system. Set it so deactivated damage and item size default to the item's regular options.
* Removed unnecessary usings.
* Small modification to the stun prod.
* Made the integration test use the new method to turn the welders on.
* Fixed a few testing issues, applied a few changes requested by Delta.
* Updated Stunbaton code for consistentcy when it comes to calling the itemToggle component.
* Removed a redundant return; as per Delta.
Made examining the stun baton for charge rely on the battery component instead.
* Removed the welder visualizer system, now using the generic one. Removed some unused usings. Removed the welder visuals and layers.
Ported lighters to the new system.
Added zippi (sic) lighters.
* Renamed variables used to make them less generic.
* Simplified the light update code.
* Fixed the unit test to use the itemToggle system for welders now.
* Made the name shorter. I can't tell if the welding damage when interacted with actually does anything though. I can't figure out how to trigger it.
* Fixed some YML issues.
* Added a client side item toggle system just to make the shared code run on local UID's too.
* Fixed some more Yaml.
* Made the Zippi lighter have its own parent item, so it doesnt' conflict with the random pattern on the regular lighter.
* Made the zippi lighter its own in-hand sprites.
* Added a summary for the activated property in itemtoggle component.
* Fixed a typo in the itemToggle Component.
* Fixed a typo.
* Added to the remarks for the ItemToggleComponent.
* Fixed up the lighter yaml to make it use a generic term instead of a toggle layer enum for the random skin.
* Fixed a bug I introduced accidentally with the humming sound.
* Removed 2 unnecessary events from the ItemToggleSystem and component.
* Fixed a bug by only making the server run the item activation code, since the client cannot predict whether or not the activation will be cancelled.
* Cleaned up some names and functions getting called.
* Renamed a couple of variables and removed the explicit datafields from the component. Removed "activated: false" from yml since they're already deactivated by default.
* Added an IsActivated function, used it in the welder and stun baton systems code.
Refactored welder code to remove the WelderToggle event, now using the ItemToggleActivatedEvent instead for eye protection check.
* Fixed a typo. Added some comments.
* Split the ItemToggle into smaller components.
Changed the items that used the toggle system to work with the smaller components.
Made the mirror shield reflect energy shots with a 95% chance.
* Fixed the namespaces for the server components and whatnot.
* Fixed a doubled deactivation sound from using activated wieldable items (like the double Esword).
Fixed wrong yml with the e-dagger.
Fixed the disarm malus code.
* Added the zippo lighter to the detective's trench coat.
* Removed the default hit sound for the double e-sword since it was unnecessary.
* Changed e-sword damage numbers to be in line with the changes made by Emisse.
* Made no damage sounds be autoNetworked, so it changes can be changed on activation/deactivation of items.
Made Welders and Eswords sound like themselves but quieter if they hit for 0 damage, instead of taps.
You can choose what sound to play when a weapon does 0 damage when activated now.
Fixed a bug with swing sounds.
* Typo.
* Fixed a bug where the welder would blind you if you used it while it was off.
* Created a single abstract method called when an item has completed its toggle.
* Update Content.Server/Eye/Blinding/EyeProtection/EyeProtectionSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fixed a comment.
* Made most component variables readOnly for ItemToggle. There is no need to be able to change them from within the variable viewer.
* Removed trailing white spaces.
* Made the Use a field instead of a property in the itemToggleActivation/Deactivation attempt events.
* Small fixes.
* Removed ForceToggle, just use the toggle method instead.
* Fixed a bug with item sharpness staying even after getting deactivated, if the item gained sharpness that way (esword).
* Used ProtoId in the welder component.
* Made damage NetSerializable as well.
* Added networking and data fields to a couple of components.
* Made component variables autonetworked. Added some comments.
* Moved the events that modify item components on toggle to events, handled (where possible) in the systems linked to said components.
* Made all the component variables readWrite again.
* Added the component get to the WelderStatus.
* Added a predictable bool to the item toggle component.
* Replaced the Activated/Deactivated events with ToggleDone, with an Activated argument. Used that to simplify some systems.
* Added a reflect update raise event.
* Removed the Zippo changes. To add in a later PR.
* Removed the zippo from meta.json too.
* Small fix.
* Another small fix.
* Fixed the wieldable system thing in ItemToggle.
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit a3fbab84e645a16a30845aa1e683e7ffc0e3b8cd)
* Prototyping whole station wire map
* More prototyping
* Added icons for the different power distributors and toggleable cable displays
* Power cable layouts are now only sent to the client when the power monitor is open
* UI prototyping
* Power monitors can now see the sprites of distant entities, long entity names are truncated
* Updated how network devices are added to the player's PVS
* More feature prototypes
* Added source / load symbols
* Final prototype! Time to actually code it properly...
* Start of code clean up
* Continuing code clean up
* Fixed UI appearance
* Code clean up complete
* Removed unnecessary changes
* Updated how power values are calculated, added UI warnings for power sinks and power net checks
* Updated how power values are calculated again, added support for portable generators
* Removed unnecessary files
* Map beacons start toggled off, console map now works outside the station, fixed substation icon
* Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected
* Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap
* Updated the colors/positions of HV cables and SMESes to improve contrast
* Fixed SMES color in map legend
* Partially fixed auto-scrolling on device selection, made sublists alphabetical
* Changed how auto-scroll is handled
* Changed the font color of the console warning messages
* Reduced the font size of beacon labels
* Added the station name to the console
* Organized references
* Removed unwanted changes to RobustToolbox
* Fix merge conflict
* Fix merge conflict, maybe
* Fix merge conflict
* Updated outdated reference
* Fixed portable_generator.yml
* Implemented a number of requested changes, move bit masks to a shared component
* Navigate listings via the navmap
* First attempt at improving efficiency
* Second attempt at optimization, entity grouping added for solar panels
* Finished solar panel entity joining
* Finished major revisions, code clean up needed
* Finializing optimizations
* Made requested changes
* Bug fix, removed obsolete code
* Bug fixes
* Bug fixes
* STarted revisions
* Further revisions
* More revision
* Finalizing revisions. Need to make RT PR
* Code tidying
* More code tidying
* Trying to avoid merge conflicts
* Trying to avoid merge conflicts
* Removed use of PVS
* Improving efficiency
* Addressed a bunch of outstanding issues
* Clear old data on console refresh
* UI adjustments
* Made node comparison more robust. More devices can be combined into one entry
* Added missing component 'dirty'
(cherry picked from commit 1de682e23fd3cb832fa3328a7e6c4bd4b1a858f7)
* Check for divide by near zero (#22876)
* Clamp after AdjustMoles() (#22907)
Clamping is needed because x - x can be negative with floating point
numbers. If we don't clamp here, the caller always has to call
GetMoles(), clamp, then SetMoles(), which makes this function not very
useful.
* Add maximum atmos temperature limit (#22882)
* Add Tmax
* Increase Tmax
* Revert "Add YAML gas reactions (#22803)" (#22939)
This reverts commit 054321d2c2c17eb55a1640150131c61c29a3eb2b.
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Completely untested first commit
* Get basic program flow working
* Add Innocent
* Add Fancy Rich Text
* Icon
Thanks, IcedQuinn!
* Add Cartridge icons
* New image from IcedQuinn
* Add explanation on what a Sophont is, to be automatically appended to any text referencing a Sophont later on
* Convert tabs to spaces
* remove [bold] tags from loc
* Make text bold again
* Alter formatting, reduce text length for sophont explanation to fit it on the screen
* Update Resources/Locale/en-US/deltav/cartridge-loader/cartridges.ftl
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: Tim Falken <timfalken@hotmail.com>
* Add program to more PDA's
* Add a tip about the app
* Recreate flow in yaml
todo: actually load and use this yaml
* Remove the old state machine, and add configurable yaml prototypes to define pages
* Move page to its own file
---------
Signed-off-by: Tim Falken <timfalken@hotmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
MinimumTemperatureDeltaToConsider sets the minimum temperature
difference for a heat capacity calculation to be run. The problem is
that when heating up large quantities of gas (e.g. with a heater), a
small dT becomes an even smaller dT when running DivideInto(). This
means that small changes in temperature are completely ignored.
Fixes#14220
Because the entity they start following is moving, the physics system gives the follower opposing velocity to counteract, at the time the parent change happens. This happens *after* the follower system tries to clear the follower's velocity, so the follower gets some velocity that will still move them a bit off-center.
Fix is easy enough, just reset velocity *after* reparenting, not before.
* the grinch will ruin christmas
* comments here, comments there, comments should not be a thing :godo:
* Unsubscribe from CVar
* rename cvar to be clearer.
* Change switch to if statement.
* sync
* sync
* no more squiggles..
* last build error
* updated maps for testing
* some issue with receiving arrivals setup
* networkpayload refactor. TODO: accurate timings
* timings accurate. TODO: backport old bugfix
* all set?
* cleaned up source. TODO: diff arrivals methods
* cleaned component. TODO: escape polish, docs
* first documentation pass
* escape timers work
* no more magic numbers
* removed dead code leads
* sync
sync
* Automatic changelog update
* shuttle timer groundwork
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
* BBQ rib sandwich (#21180)
* Fix missing toggle fullscreen loc string (#21264)
* Cave Decoration pack (#21265)
* add chromite chasm
* add desert chasm
* snow chasm
* finish
* fixes and tweaks (#21172)
* Automatic changelog update
* Fix ItemPlacer (#21160)
This is going to lead to many entities being ticked unnecessarily and performance problems.
* headrev spawn music (#21119)
* headrev spawn music
* :trollface:
* skill issue
* double skill issue
* :trollface:
* :trollface:
* :trollface:
* Automatic changelog update
* Techfab resprite + department fab sprites (#21136)
* Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM
* typo fix
* addressing review
* Show "departed and moved on" for when a ghost role is taken (#21092)
* fix ghost role not counting for "departed and moved on"
* I don't think that bit was needed so away it goes
* hopefully finish the upsream merge
* Automatic changelog update
* Implant whitelist/blacklisting (#20678)
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Automatic changelog update
* Ion storm event (#20277)
* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Automatic changelog update
* A return to foam (foam rework) (#20831)
* Automatic changelog update
* ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)
* "assist with medical efforts"
* CentComm official description change
* give cburn ert mask
* Ert medic hardsuit uses blood-red medic values
* description changes, they all used to use the blood-red description
* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.
* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.
* spawn suffix changes
* shorten suffix
* drop armor from ert jumpsuits
* drop armor from DS jumpsuit
* add more armor to death squad to make up for removed armor in the uniform.
* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values
* add nanotrasen
* removed duplicate
* give centcom IDs their hud icon
* replace all ert bulletproof armor with basic universal armor
* replace all oxygen tanks with air tanks; species is random.
* remove gun and meds from ert engineer kit
* give ert engineer materials
* remove weapons and meds from janitor ert
* give ert janitor light replacer
* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.
* Give ert sec the security pistol kit
* typo
* give eva ert sec pistol
* give eva janitor ert gas mask
* give jani purple gloves
* medical gloves for medical ert
* replicate security loadout to leader
* quick ert lecter spawns for lazy admins
* better suffixes to find them easier
* add cburn to ertspawn
* Replace "Spawn" with "role"
* Add death squad. Give ert engineer gas analyzer.
* death squad using wrong equipment
* typo
* missing ghost roles on lecter loadouts
* add freedom implanter to deathsquad
* deathsquad ghost role text
* Operative sounds better
* give Ds flashbang box (why isn't it entirely filled?)
* fix typo. add energy shield to DS
* fix typos
* all centcomm roles are now mindshielded. These cannot be removed.
* Rider didnt include some of the changes ?
* give zipties instead of cuffs for mass arrests!
* upgrade ERT survival boxes to extended capacity
* give cburn extended oxygen too
* Automatic changelog update
* Restore Leviathan's 80 pop cap (#21281)
* Un-revert IPlayerManager refactor (#21244)
* Update engine to v172.0.0 (#21288)
* Bandaid tests (#21292)
* rename the rocks (#21275)
* Make crystals noRot (#21279)
IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.
* Fix nukies sound not played (#21268)
* Play sound and sending greeting message works for nukies now!!!!!
* oops
* silly change
* Automatic changelog update
* Fix hijack objective (#21241)
* Fix hijack
* Max difficulty
* Remove GridModifiedEvent (#21291)
* Update submodule to 173.0.0 (#21296)
* Fix namespace error (#21298)
* Update yaml sequence option in editorconfig (#21297)
* Fix namespace (#21299)
* fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)
* Health analyzer UI improve (#17280)
* Automatic changelog update
* User accessible playtime (#21242)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Moves cloning comp & cloning event to shared (#21253)
* Generalizes solution overflow & slightly increases space lube yield (#21094)
* generalize SolutionSpikeOverflowEvent
* let reactions overflow
* spacelube: 3 -> 5
* restore TryMixAndOverflow threshold cap
* Automatic changelog update
* Move ActorComponent to shared (#21293)
* Update engine to v174.0.0 (#21311)
* Fix planet command help message (#21312)
* Wearable bee plush (#20623)
* add
* fix
* temporary change, needs fixing
* mayb fix
* actually fix FR
* yes
* Automatic changelog update
* remove pulse rifle from ert medic (#21310)
* Content audio (#20862)
* Automatic changelog update
* Update submodule to 175.0.0 (#21318)
* Revert "Update submodule to 175.0.0 (#21318)" (#21319)
* Atomic bomb add uranium (#21143)
* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.
* Atomic bomb
* Action bugfixes (#21321)
* Disable OOC during round (#21323)
* Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)
* Automatic changelog update
* Update belt.yml (#21317)
changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)
* New foam sprites (edge sprites) (#21308)
* New foam sprites (icon smoothing)
* changed to edge sprites for foam
* fix
* edges for metal foams
* fix
* Fix bola stam damage, bring back old construction requirements (#21340)
* Automatic changelog update
* Added thermal insulation to flannel jackets (#21273)
* Automatic changelog update
* Space Asshole Gear (#21243)
* Add Space Asshole Coat
* Add sledgehammer
* Adjust sledgehammer damage values
* Add copyright string to sledgehammer
* Fix broken slot highlight in midnight theme. (#21331)
* removed dead code leads
removed redundant ensurecomps
* textscreen documentation
* remove redundant ensurecomps
* Add hint for the examine trigger effect (#21166)
* examine locale
* examine trigger desc
Automatic changelog update
cornmeal is actually obtainable now (#21162)
* do the thing
* lets find out
* Update Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Automatic changelog update
Healing skeletons by pouring milk over them (and clean pie remains off their skulls) (#21231)
* mvp done - skellies can heal by spillink regular milk on themselves and clean themselves off creaming with water
* added other types of healing milk, also made a separate reaction to oat milk - it has almost no calcium in it
* fixed indent error, made a dumb mistake
Automatic changelog update
Fix anomaly locators frantically beeping when entering detection range. (#21178)
* reset beep timer when out of range
* prevent deficit from impacting beep timing
Automatic changelog update
Remove "mk --> mmm, okay" and "u --> you" to chatsan anti slang (#21177)
Automatic changelog update
Adds AttemptEntity(Uns|S)tickEvent. (#20728)
* try-stick
* convert spider charge to attempt-stick-events
Change ListContainer to send null when selected is removed from the data (#20595)
fix feeding unremovable items (#21234)
Automatic changelog update
Power switchable refactor (#20419)
Co-authored-by: deltanedas <@deltanedas:kde.org>
simple space mobs cant be flashed (#20784)
Co-authored-by: deltanedas <@deltanedas:kde.org>
give roundstart borgs names (#20081)
Co-authored-by: deltanedas <@deltanedas:kde.org>
fix searching on vending machines (#21233)
syndicate snack box (#21024)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Fix DockingControl (#21238)
Shadow Dimension visual pack (#21237)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Potato battery update + potato AI (#21142)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
[TEST MERGE] Slot-based Storage (#21212)
Automatic changelog update
Some mild item size balancing + fixes (#21250)
Automatic changelog update
Revert "Storage TEST MERGE" (#21258)
Add missing changelog for storage refactor revert (#21259)
* sync
sync
* Automatic changelog update
shuttle timer groundwork
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
BBQ rib sandwich (#21180)
Fix missing toggle fullscreen loc string (#21264)
Cave Decoration pack (#21265)
* add chromite chasm
* add desert chasm
* snow chasm
* finish
fixes and tweaks (#21172)
Automatic changelog update
Fix ItemPlacer (#21160)
This is going to lead to many entities being ticked unnecessarily and performance problems.
headrev spawn music (#21119)
* headrev spawn music
* :trollface:
* skill issue
* double skill issue
* :trollface:
* :trollface:
* :trollface:
Automatic changelog update
Techfab resprite + department fab sprites (#21136)
Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM
* typo fix
* addressing review
Show "departed and moved on" for when a ghost role is taken (#21092)
* fix ghost role not counting for "departed and moved on"
* I don't think that bit was needed so away it goes
* hopefully finish the upsream merge
Automatic changelog update
Implant whitelist/blacklisting (#20678)
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Automatic changelog update
Ion storm event (#20277)
* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Automatic changelog update
A return to foam (foam rework) (#20831)
Automatic changelog update
ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)
* "assist with medical efforts"
* CentComm official description change
* give cburn ert mask
* Ert medic hardsuit uses blood-red medic values
* description changes, they all used to use the blood-red description
* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.
* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.
* spawn suffix changes
* shorten suffix
* drop armor from ert jumpsuits
* drop armor from DS jumpsuit
* add more armor to death squad to make up for removed armor in the uniform.
* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values
* add nanotrasen
* removed duplicate
* give centcom IDs their hud icon
* replace all ert bulletproof armor with basic universal armor
* replace all oxygen tanks with air tanks; species is random.
* remove gun and meds from ert engineer kit
* give ert engineer materials
* remove weapons and meds from janitor ert
* give ert janitor light replacer
* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.
* Give ert sec the security pistol kit
* typo
* give eva ert sec pistol
* give eva janitor ert gas mask
* give jani purple gloves
* medical gloves for medical ert
* replicate security loadout to leader
* quick ert lecter spawns for lazy admins
* better suffixes to find them easier
* add cburn to ertspawn
* Replace "Spawn" with "role"
* Add death squad. Give ert engineer gas analyzer.
* death squad using wrong equipment
* typo
* missing ghost roles on lecter loadouts
* add freedom implanter to deathsquad
* deathsquad ghost role text
* Operative sounds better
* give Ds flashbang box (why isn't it entirely filled?)
* fix typo. add energy shield to DS
* fix typos
* all centcomm roles are now mindshielded. These cannot be removed.
* Rider didnt include some of the changes ?
* give zipties instead of cuffs for mass arrests!
* upgrade ERT survival boxes to extended capacity
* give cburn extended oxygen too
Automatic changelog update
Restore Leviathan's 80 pop cap (#21281)
Un-revert IPlayerManager refactor (#21244)
Update engine to v172.0.0 (#21288)
Bandaid tests (#21292)
rename the rocks (#21275)
Make crystals noRot (#21279)
IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.
Fix nukies sound not played (#21268)
* Play sound and sending greeting message works for nukies now!!!!!
* oops
* silly change
Automatic changelog update
Fix hijack objective (#21241)
* Fix hijack
* Max difficulty
Remove GridModifiedEvent (#21291)
Update submodule to 173.0.0 (#21296)
Fix namespace error (#21298)
Update yaml sequence option in editorconfig (#21297)
Fix namespace (#21299)
fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)
Health analyzer UI improve (#17280)
Automatic changelog update
User accessible playtime (#21242)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Automatic changelog update
Moves cloning comp & cloning event to shared (#21253)
Generalizes solution overflow & slightly increases space lube yield (#21094)
* generalize SolutionSpikeOverflowEvent
* let reactions overflow
* spacelube: 3 -> 5
* restore TryMixAndOverflow threshold cap
Automatic changelog update
Move ActorComponent to shared (#21293)
Update engine to v174.0.0 (#21311)
Fix planet command help message (#21312)
Wearable bee plush (#20623)
* add
* fix
* temporary change, needs fixing
* mayb fix
* actually fix FR
* yes
Automatic changelog update
remove pulse rifle from ert medic (#21310)
Content audio (#20862)
Automatic changelog update
Update submodule to 175.0.0 (#21318)
Revert "Update submodule to 175.0.0 (#21318)" (#21319)
Atomic bomb add uranium (#21143)
* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.
* Atomic bomb
Action bugfixes (#21321)
Disable OOC during round (#21323)
Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)
Automatic changelog update
Update belt.yml (#21317)
changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)
New foam sprites (edge sprites) (#21308)
* New foam sprites (icon smoothing)
* changed to edge sprites for foam
* fix
* edges for metal foams
* fix
Fix bola stam damage, bring back old construction requirements (#21340)
Automatic changelog update
Added thermal insulation to flannel jackets (#21273)
Automatic changelog update
Space Asshole Gear (#21243)
* Add Space Asshole Coat
* Add sledgehammer
* Adjust sledgehammer damage values
* Add copyright string to sledgehammer
Fix broken slot highlight in midnight theme. (#21331)
* removed old ensurecomps, stubs
removed dead code leads
removed redundant ensurecomps
sync
sync
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
removed dead code leads
textscreen documentation
remove redundant ensurecomps
* sync
* new shuttletimer sprite/offset
* sync
* sync
* sync
* sync
* sync
* builds
* sync
* sync
* sync
* offset adjustments
* timer pattern implemented
* arrivals timer system seems to work
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* implements shuttletimers
* centcomm timers
* set color to tg 1097fb
* textscreen -> signalscreen, shuttletimer -> screen
* move screens out of timer.yml
* pruned unused properties/imports
* license+copyright for screen.rsi
* forgor change signaltimer event handler doc
* roundstart arrivals ftl logic
* block signaltimer screentext updates during timing
* merged robust 185
* centcomm carpet uid collision PLEASE MERGE MY PR
* remove arrivalssystem entitymanager dependency
* refactored magic strings, added roundend getters
* specific vgstation sprite commit licensing
---------
* first pass
* chemical breakdowns !!!!
* mintemp salt because why not
* we don't really need this, no?
* if at first we don't succeed...
* ...then run debug tests again
* Flare gun can now only be loaded with actual flares
* Make flare gun loadable with other shells, but destroy it and damage and stun the user when used
* tweak
* Logic fix + QOL add-ons
* damageOnWrongAmmo in gun component
* cleanup
* Add more DNA interactions
* remove unused import
* update based on feedback
* Add event for chemistrysystem.injector
* move event to shared; transfer dna to implanter
* doafter and interaction event fixes
* add BreakOnHandChange
* doh
* use events instead of updating component directly
* Add DataFields to ForensicScannerComponent fields
* Convert most events to system api call
* Adds uses before delay so actions can be used multiple times before cooldown
* adds methods to get remaining charges, to set uses before delay, and to set use delay
* adds method to change action name
* moves set usedelay
* action upgrade ECS
* adds method to reset remaining uses
* adds upgrade events
* refactors action upgrade event and adds logic to parse it
* fix serialization issue
* adds level up draft method
* adds action commands and a command to upgrade an action
* more warning lines to help
* Gets action to upgrade properly
* Removes unneeded fields from the action upgrade component and now properly raises the level of the new action
* Cleans up dead code and comments
* Fixes punctuation in actions-commands and adds a TryUpgradeAction method.
* removes TODO comment
* robust fix
* removes RT
* readds RT
* update RT to 190
* removes change name method
* removes remaining uses & related fields and adds that functionality to charges
* Adds Charges to action tooltips that require it
* clustergrenades go boom
* Small tweaks
* Some tweaks and soaplet
* clustergrenadesystem changes and launcher types
* small tweaks
* typo
* whitespace
* rsi edit
* another typo
* add containers
* Some changes related to merge
* Forgot to change name
* Made changes based on review
* Removed new china lake ammo based on feedback in other PR
* Unneeded nested loop moment
* Nested loop needed after all moment
Add atmos.speedup which is effectively a atmos-only time compression
CVar. This adjusts heat capacities and transfer rates to effectively
globally speed up the time constants of atmos.
This allows faster response to heating/cooling changes and faster
cleanups (by buffing scrubbers, pumps, and everything else) that is
tunable through one global time compression CVar.
It also achieves this without any thermodynamic unsoundness.
* remove empty file real
* support explosion resistance for non-worn things
* remove redundant entitystorage resistance
* port entitystorage optimisation to apply for everything with 100% resistance
* add explosion resistance for bag contents
* make thing reusable
* add resistance to chest rig too
* medical chest rig too
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Editable "NeedsHands" for SharedPullerComponent
* is { get; set; } better?
* Waiter, waiter! There's a worm in my access!
They call me the worst clown there is.
* Get the comp to dirty.
* Velcroboy changes
* Fix compilation errors
* Fix borked path
* Fix
* Moved to shared, fixed some problems with code
* Cleanup
* Fix paths
* Fix
* Move files around
* Moved DiggingSystem to Server
* Revert "Removes Prisoner selection from maps (#262)"
This reverts commit d73f485fa2.
* Fix alwaysUseSpawner, add DesiredSpawnPointType
Prisoners are now forced to spawn in the prison again.
* Updated map prototypes for prisoner
Yaaay, we love confinement!
* Update asterisk.yml
Add a drain to the cell area :trollface:
---------
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Disable artifact spam on roundend
I think part of the issue was the enormous amount of logspam but at any rate this turns it off.
* Also this
* And these
* Use object-spaced bounding boxes for putting stuff in crates
* Use existing _lookup.GetAABB, different component
* PR edits updated
* Remove unused bits from around GetAABB
* Use GetAABBNoContainer
* Gateway generation
* Gateway stuff
* gatewehs
* mercenaries
* play area
* Range fixes and tweaks
* weh
* Gateway UI polish
* Lots of fixes
* Knock some items off
* Fix dungeon spawning
Realistically we should probably be using a salvage job.
* wahwah
* wehvs
* expression
* weh
* eee
* a
* a
* WEH
* frfr
* Gatwey
* Fix gateway windows
* Fix gateway windows
* a
* a
* Better layer masking
* a
* a
* Noise fixes
* a
* Fix fractal calculations
* a
* More fixes
* Fixes
* Add layers back in
* Fixes
* namespaces and ftl
* Other TODO
* Fix distance
* Cleanup
* Fix test
In CanImplant, FirstOrDefault would make up a new implant with default
values if there wasn't any to inject. This resulted in localization
errors and exceptions. Replacing with FirstOrNull fixes the issue.
We've had it at like, 18, 12, and 7, I think 7 is too low and 18 is definitely too high.
Ideally:
- 2 minutes to get inside
- 7 or so minutes inside.
- 2 minutes as a buffer to either fulton themselves out or run out if necessary.
* gee
* forgor comments
* licence for audio
* Update equipped-BELT.png
* Makes the sprite change but shitcode
Because shitcode makes everyone happy
* it only got two of them firemodes lets not lie
* We can name this appropriately now
* Apply 3 suggestions from code review
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: Fluffiest Floofers <thebluewulf@gmail.com>
* update sources
* Energy Gun + more firemodes
its still energygun only
---------
Signed-off-by: Fluffiest Floofers <thebluewulf@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
* added TileAnomalySystem to AnomalyIce
* added FloorIce for station
* created ice crust entity to spawn under ice anomaly
* update draw depth for ice crust
* uh oh, added ice-sliding but at what cost
* resolved mispredicts
* updated sprite alpha, removed appearance component (not used)
* fixed function not reflecting event name, left datafield attributes blank, added one comment about saving data (?)
---------
Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
* soap reagent and soapy water
* make soapy water recognizable
* Fix tile cleaning bug
CleanDecalsReaction was able to take more than the reactVolume it was given.
* make soapy water an evaporating reagent
* Tile reactions when mopping
* Fix indescribably soap flavor
* Adjust soap flavours
Soap and soapy water now taste clean and syndie soap tastes like punishment.
* Better soap numbers & DeleteOnSolutionEmpty
* Changed TrashOnEmpty to TrashOnSolutionEmpty
* Last TrashOnSolutionEmpty change
* Fix merged code not compiling
* Requested changes.
This reverts commit 74f1098008e4cd6e13778a385e3f69712e4833d7. That moment when you have to sneak changes in via other commits. I'd literally rather just skip this entire entity instead of trying to change the added stuff.
* Added candy bucket and component to update appearance of held containers akin to it
* cleanup newline
* newline was load-bearing
* moved component to Shared, cleanup
* newline is spooky
* You build and run without errors, stop pretending otherwise
* Updated for new storage system in master branch
* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Carrying system.
Carrying someone in your arms, maybe your beloved or a high criminal, is nice for both.
TO DO-Pretty much make it work
* Many more additions to actualy make it work...
Halfly
* ITS WORKING!!!
Not done yet, need to improve it
* THE CARRIABLE UPDATE!!!!!
YEEEEEEEEEEEEEEEEEEEEEEEEEEE
(Thanks death for helping with that one issue that I wasnt able to figure out x3)
---------
Signed-off-by: Adrian16199 <144424013+Adrian16199@users.noreply.github.com>
* Fix saw sound error on client
The sound tried to play using shared PlayPvs which doesn't work on client. PlayPredicted handles client and server.
Fixed NextSound not playing again while continuously gibbing items.
* Fix duplicate splat sound on Recycler gibbing
* Deep Fryer And Its Powers
The Deep Fryer has been implemented. It uses Corn Oil, Ghee, and Olive Oil to fry. Other features include:
1. Mixing Oil and Water at a certain temperature causes smoke.
2. When throwing an object at the Deep Fryer, a Chef will *always* land the shot, but anyone else has a chance of missing.
3. When an item is sliced, an event is triggered that other items can see.
* Update meal_recipes.yml
* Reworking the effects so they won't trigger on init.
* Create DeepFryerTest.cs
* Commenting out the UnsafeOilVolumeEffects part of the .yml. Something about the sound script inside of it breaks UnintializedSaveTest and it's not necessary for a smoke reaction to occur anyway.
* Update DeepFryerSystem.cs
* Fix moth color blending
Also fuck verifying the hue, whats the worst they can do
* Replace my lerps with MathHelper.Lerp
I guess I should've looked more. Still, why no Color.Lerp >:(
* Update SkinColor.cs
* Harpy Customization ExPac 1
* Update meta.json
* Holy fuck I found out swappable instrument works on them.
* Fixing a bug where dead harpies can sing
* Review Changes
Also I remembered to add Vulpakin mimicry
* Color color
* Harpies can no longer sing while dead
* Simpler fix
* Update Content.Server/DeltaV/Harpy/HarpySingerSystem.cs
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update Content.Server/DeltaV/Harpy/HarpySingerSystem.cs
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update speech_emote_sounds.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Fixing a 6 month old speech bug because it annoys birds
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Cleanup more follower leaks
Rather than check stop everywhere we'll just check it on start and cleanup the old following. If someone were already following and followed something new the FollowedComponent would never get cleaned up and would never have its ref to the entity removed.
* Don't cause archetype changes
* Fix not removing RevolutionaryRoleComponent from minds on mindshield application
* Simplify other part of the mindshield code
* Fix being able to mindshield head revs
* Other way around
* raise MeleeAttackEvent on the user after swinging
* add disable bool to RevealNinja
* uncloak ninja after attacking
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* TryGetObjectiveComp
* helper function to get objective
* store N of jacked doors in condition
* store called in threat bool in condition
* store techs in steal research condition
* fix access
* remove unused transform system
* use popup from shared system
* fix formatting
* condition => obj everywhere
* i fogror to remove downloaded nodes from role
* change signature
* use query
* View Variables
* spider charge detonated => condition
* Funny birb start
* Adding yet another harpy.yml
One day the linter will be happy. That day is not today
* Adding the traitor item, sans component
Still need to refactor ActionChangeVoiceMask into an implantable component on the DeltaV namespace
* GUH, EMOTES
* URIST MCHARPY WORKS
* Rename uplink-catalog.ftl.txt to uplink-catalog.ftl
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Icon Fix
* Changing DAW to Synthesizer by Debug's request
* removing percussion so it sounds better
* Update implanters.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update uplink_catalog.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Update speech_emote_sounds.yml
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Create modifier_sets.yml
* More fixins
* THE WINGS ARE HERE
* Fixing harpy wings
* Finally finished with all of the "Natural" sounds, birb sounds next
* Adding default tail.
* Semifinal commit, all defaults are ready
* FINAL COMMIT UNLESS THE LINTERS MURDER ME
* Guh?
* Final fix
* For reasons I don't know, they didn't have handcuff layers
* Updating HarpySinger to use microphone as default
Birds will sing
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Confiscating Urist McHarpy's 3rd leg
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* Psionics
It's a ton of stuff relating to the basic Psionics system and all the powers.
I'm saving this as a bit of a sanity check before moving forward.
Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Some final psionic cleanup.
The last batch of content.
* Update RobustToolbox
* rebased
* Revert "Update RobustToolbox"
This reverts commit c0cf35d03f.
* Update RobustToolbox
* Revert "Update RobustToolbox"
This reverts commit c4dc828df7.
* Update RobustToolbox
* Psionics
It's a ton of stuff relating to the basic Psionics system and all the powers.
I'm saving this as a bit of a sanity check before moving forward.
Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Some final psionic cleanup.
The last batch of content.
* rebased
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Broken Commit
With these changes in place, the unit does not work. Recording them so i don't lose my work.
* Brings it All Together.
Dawn of the final Commit. Rebase completed.
* Update RobustToolbox
* Changed 'Station Events' to 'StationEvents' and cleaned up the Delta-V Events.yml file of duplicate events.
* Delete ghost_roles.yml
Duplicate.
* Update familiars.yml
* Update familiars.yml
* Update GlimmerReactiveSystem.cs
* Makes tinfoil hats craftable.
* Decided I'm not dealing with adding fugitives or Glimmer Wisps right now.
* Psionic invisibility won't work now that Eye component exists. Or at least, the integrator test won't psas.
* Update special.yml
* Added #nyanotrasen code or //Nyanotrasen code to many, many files.
* Properly fixes comments.
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: PHCodes <47927305+PHCodes@users.noreply.github.com>
Co-authored-by: Debug <sidneymaatman@gmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* redone
* I FUCKING HATE SPAWNING STUFF IN SHARED
* inheritdoc
* owo
* fly broken wings
* From a server event to just an event.
* more info
* a comment and a different comment
* Partial
* Emo's requested changes.
* wuh
* head ache
* they call me mean names (laugh track)
* basic stuff
* Fabricate them candies
* the candy creator and laws
* Technically still a normal borg
* jobicon
* migration
* Make the CMO their supervisor
* duplicate migration
* job timer
I hate this I wish all borgs could just be JobBorg
* works better if its not in the wrong repo
* buh
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Two doors for the couriers living in logistics
But they were, all of them, deceived, for another access was given to the HoL.
* actually put the access in the id computer
* add paramedic-only access
* edit chemvend
upped jug amounts in each vend to accomodate for their use, and adds all emagged chemicals from the dispenser to them
* add portafib
* added comments and tweaked rollerbed
* one line comments
* Update IdCardConsoleComponent.cs
* increase crate price
* Comment, misspelling adjustments
removed unnecessary comments (ones indicating a Delta V change while already in the Delta V directory)
* not all jugs are created equal
this wont work btw
* chemvend restock price
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Reverse Engineering.
It's engineering. It's reversed. I implemented Bluespace Crystals to get everything to work. I may have missed some recipes in the Lathes. Otherwise, everything seems like it just works. Blukie suits baby.
* Fixing the Bonus mechanic out of testing.
* Fixing Attributions.
* Fixing Attributions again because it won't let me put in multiple links into one string.
* Not dealing with Techfabs right now, integration tests will not pass with them.
* Added appropriate comments
---------
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Near-sighted trait from SIMPLE STATION 14
AKA PARKSTATION
COMING NOW TO THE REBASE!!!!
FUNNY CODE MADE BY DEATH (allegedly)[joke]{unless?}
After i figure out what does a component not have a setter mean.
* Aparently this was needed
The trait doesnt appear in the traits so thats funny.
* The - update
Aparently its very important.
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Fix gibbing & body system
Makes it so that bodies no longer have two sets of torso organs and that gibbed bodies get spread around on the floor again.
* Actually fix the double torso problem
* rootSlot in cameFrom
* Remove SetCoordinates inside GibBody()
* Don't use entity.RandomOffset() in GibBody()
* Gibbing now uses _random.NextVector2()
* change threats to be weighted random and a little cleanup
* ninja rule stores weighted random id for threats
* move threats out of the rule and into weighted random
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>