* AMEPartComponent: Switch to ToolSystem.HasQuality because this bugs me.
* Multitool can read power when you examine a cable with the multitool held.
* Multitool power reading: Condense storage information
* power-sensing multitool: Fix ToolSystem ref.
* Power-reading multitools: Fix misuse of GetComponent
* Uplink menu has icons now
* Add item icons
* Add few descriptions
* Better withdraw window
* Finished with withdraw window
* Refactored withdraw ui and fix some bugs
* Basic withdraw
* Quick fixes
* Removed uplink listing for TCs
* Move slider to separate control
* Final touches
* A bit more
* Not again...
* Fixed names
* Address review
* Fixed robust
* Non necessary check
* XAML verb menu
* fix ghost FOV
* spacing
* rename missed "ContextMenu"->"EntityMenu" instances
* move visibility checks to verb system
* update comment
* Remove CanSeeContainerCheck
* use ScrollContainer measure option
* MaxWidth / texxt line wrapping
* verb category default
Now when you click on a verb category, it should default to running the first member of that category.
This makes it much more convenient to eject/insert when there is only a single option
* only apply style to first verb category entry
* Use new visibility flags
* FoV -> Fov
* Revert "only apply style to first verb category entry"
This reverts commit 9a6a17dba600e3ae0421caed59fcab145c260c99.
* make all entity menu visibility checks clientside
* Fix empty unbuckle category
* fix merge
* testing decription textlabel
* Move uplink listing to a new menu
* Add search bar
* Added description
* Added radio uplink
* Added preset uplinks
* Minor fix
* Fixed comma
* Graft from https://github.com/space-wizards/space-station-14/pull/3049
* 'openahelp' command
* Add AHelp into escape menu
* Add a way to ahelp a player from the kick window
* bwoink: XAMLify, bugfix, etc.
* Rename the kick/bwoink window the Player Actions Panel
* Add the bwoink sound y'all know and love
adminhelp.ogg taken from d775e1ac80/sound/effects/adminhelp.ogg
(available in master, therefore see master license: "All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.")
"Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW."
Actual source is https://freesound.org/people/martian/sounds/19261/ (CC0)
The sound had been reversed and the volume altered.
* Actually play the bwoink sound on receiving an ahelp that you didn't send
* Moved pen slot to separate component
* Moved it all to more generic item slot class
* Add sounds
* Item slots now supports many slots
* Some clean-up
* Refactored slots a bit
* Moving ID card out
* Moving pda to system
* Moving PDA owner to ECS
* Moved PDA flashlight to separate component
* Toggle lights work through events
* Fixing UI
* Moving uplink to separate component
* Continue moving uplink to separate component
* More cleaning
* Removing pda shared
* Nuked shared pda component
* Fixed flashlight
* Pen slot now showed in UI
* Light toggle now shows correctly in UI
* Small refactoring of item slots
* Added contained entity
* Fixed tests
* Finished with PDA
* Moving PDA uplink to separate window
* Adding-removing uplink should show new button
* Working on a better debug
* Debug command to add uplink
* Uplink send state to UI
* Almost working UI
* Uplink correcty updates when you buy-sell items
* Ups
* Moved localization to separate file
* Minor fixes
* Removed item slots methods events
* Removed PDA owner name
* Removed one uplink event
* Deleted all uplink events
* Removed flashlight events
* Update Content.Shared/Traitor/Uplink/UplinkVisuals.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameTicking/Presets/PresetTraitorDeathMatch.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Item slots system review
* Flashlight review
* PDA to XAML
* Move UplinkMenu to seperate class, fix WeightedColors methods
* Move UI to XAML
* Moved events to entity id
* Address review
* Removed uplink extensions
* Minor fix
* Moved item slots to shared
* My bad Robust...
* Fixed pda sound
* Fixed pda tests
* Fixed pda test again
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Visne <vincefvanwijk@gmail.com>
* Fix syringe message stating you're attempting to draw from yourself when you aren't
* Fix various missing capabilities (syringes, beakers, drinks)
* And fix mug inject/dispense/etc, too!
* Injectors can now refill things, and switch over drinks and cups thereof to be refillable rather than injectable
* Disallow construction of construction ghosts from inside a container
* Move IsInContainer check to before doing container ensuring
* Move IsInContainer check to HandleStartStructureConstruction to allow building items but not construct structures when inside a cozy locker
* Update Resources/Locale/en-US/construction/construction-system.ftl
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* wielding kinda works
* rough out all the edges, wielding works nicely
* popups + loc
* increase damage & extra damage against whitelist
* small fixes
* forgot to actually do that
* reviews
* reviews + thing
* use resistances and not extradamageagainstwhitelist
* slashy
* make increasedamageonwield and melee hit events work with modifiersets
* Silly individual
* Add draggable tabletop component
* Use EntityCoordinates instead
* Don't send coordinates every frame
* Add chessboard + verb WIP
* Add documentation, verb networking works now
* Work so far
Need PVS refactor before being able to continue
Current code is broken
* viewsubscriber magic
* yes
* Fix map creation
* Add chess pieces, attempt prediction
* Add chess sprites and yml
* Clamping + other stuff
* fix
* stuff
* StopDragging() StartDragging()
* add piece grabbing
* Refactor dragging player to seperate event
* 🤣 Who did this 🤣💯👌
* 📮 sussy 📮
* Update chessboard sprite, scale piece while dragging
* yes
* ye
* y
* Close tabletop window when player dies
* Make interaction check more sane
* Fix funny behaviour when stunned
* Add icon
* Fix rsi
* Make time passed check more accurate
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Use EyeManager.PixelsPerMeter
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Add missing import
* Move viewport properties to XAML
* Make shared system and component abstract
* Use built in EntityManager
* Use RaiseNetworkEvent instead of SendSystemNetworkMessage
* Cache ViewSubscriberSystem
* Move unnecessary code to prototype
* Delete map on component shutdown instead of round restart
* Make documentation match rest of codebase
* Use ComponentManager instead of TryGetComponent
* Use TryGetComponent instead of GetComponent
* Add nullspace check to ClampPositionToViewport()
* Set world pos instead of local pos
* Improve server side verification
* Use visualizer
* Add netsync: false to sprites using visualizer
* Close window when chessboard is picked up
* Update to master
* Fix bug when opening window while another is opened
* Use ComponentManager
* Use TryGetValue
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Rename SolutionContainerCaps -> Capability
* Move IExamine event to Chemistry System.
* ECS the ISolutionChange into SolutionChangeEvent
* Unify SolutionContainer into a single shared component
* Replace ISolutionInteraction with SolutionContainerComponent
* Move all methods from SolutionContainer to ChemistrySystem
* Refactor EntitySystem calls to Dependencies
* Refactor SolutionContainer to SolutionManager
* Fix yamls
* Fix test fails
* Fix post merge issues
* Fix various issues with SolutionManager
* More fixes
* Fix more components
* Fix events not being directed
* Fixes for Hypospray
* Separate removal and iteration on Metabolism
* Fix creampie problems
* Address some of sloth's issues
* Refactors for Systems
* Refactored solution location
* Fix tests
* Address more sloth issues
* Fix dependency
* Fix merge conflicts
* Add xmldocs for Capabilities components
* Remove HasSolution/TryGetDefaultSolution and Add/Remove Drainable/Refillable
* Replace Grindable/Juiceable with Extractable
* Refactor field names
* Fix Drainable
* Fix some issues with spillable and injector
* Fix issues with Grinder
* Fix Beaker having duplicate solutions
* Fix foaming
* Address some MGS issues
* Fix Uid issues
* Fix errors in solution Tranfer
* Fixed some extra values constant values
* Cola is drinkable now
* started work
* some more work, ui working (somewhat)
* stuff
* reorganization
* some more reorg
* conveyors
* conveyors working
* finalized (dis)connection
added linkattempt
added feedback text
work on conveyors
* removed command
add rangecheck
* fixed inrange check
* handling
* ui no longer kanser, ship it
* adresses reviews
* reformats file
* reformats file
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
* Add DamageType And DamageGroup Prototypes
* Remove DamageTypePrototype Field "name" as its redundant
* Change I/DamageableComponent to use prototypes
* Update DamageContainer, ReisistanceSet and DamageChangeData
* Change Barotrauma Component to use DamageType from DamageSystem
* Update AsteroidRockComponent
* update some more components
* update some more components
* Fix m o r e c o m p o n e n t s and their damageType
* all thats left is bug/missing node hunting then verification.
* push changes
* update submodule
* Merge fixes
* push DGP for example
* update damagecomponent across shared and server
* fix a few bugs
* Fix Merge issues
* Refactor damageablecomponent update (#4406)
* Fixing merge.
I messed up part of the merge. this should fix it?
* Barotrauma now uses prototypeManager
As System.Runtime.CompilerServices also has a [Dependency], I think I had to use the full path [Robust.Shared.IoC.Dependency]
* FlammableComponent now uses prototypeManager
* SuicideCommands now use prototypeManager
* Changed many files to use prototypeManager to resolve damaege prototypes
Yeah.... prototype references would be very nice. maybe this was all a waste of time.
* Grouping prototypeManager.Index with datafield definitions
This will make it easier to eventually add prototype references
* removed unused variable
* Moved lines around.
Lines now consistent with other TODO PROTOTYPE blocks
* Grouping more prototypeManager.Index with datafield definitions
* Removed unnecessary code
* Added more prototypeManager indexing
These ones weren't pointed out by DrSmug. But I think this is all of them? That or my regex is shit.
* Remove redundant _damage field
* Remove redundant _currentTemperature
* Moved variables down
* Added prototypeManager indexing to TemperatureComponent
* WeaponComponent/System now use ProtptypeManager
And as far as I can tell damageType is required, and therefore should never have been null anyway?
* Make ranged weapon clumsy fire effects datafields
And yes, the order in which the clumsy effects occur is very important.
* Made damage on vital body part loss a datafield
* Renamed several damageGroup variables to group
* Capitalised DamageListToDamageGroup
* Make radiation and explosion damage types datafields
* Renamed _supportedDamageGroupIDs and _supportedDamageTypeIDs
* Fixed mistakes
Frogot to remove prototypeManager index DamageTypeTrigger, and wrong variable visibility in TemperatureComponent
* Added necessary code
Is something tragically wrong?
* MeleeWeapon damageType is not actually required
* Fixing someone else's mistakes
A search comes up with nothing in the yaml files, and its not a required field. So no one uses it? Hopefully?
* Changed and renamed damageTypeToDamageGroup
Previously would incorrectly return the total container damage for each group, not the total in the group
* renaming varitables
* Renamed variable DamageClasses
* Added dictionary converting functions
* Added ID-keyed dictionaries
* Making MedicalScanner use ID dictionaries, instead of prototype dictionaries
Oh oh no. I've been able to avoid UI & networking up until now. I have no Idea what I am doing.
* Fix Medical Scanner
* Summary (required)
The joke here is that this fixes the empty summary.
* Removed DamageableComponent.GetDamageGroup/Type
* Renamed "damage classes" to groups.
* Update ChangeDamage description
* Replaced Heal() with SettAllDamage()
Heal() was just a confusing name,
* More Class -> Group renaming
* Replace Class with Group in yaml files
DamageClassTrigger does not appear in any yaml? only in testing?
DamageTypeTrigger appears only in human.yaml?
HealthChangeMetabolism is Mostly in medicine.yml and one in soad.yaml
Why the hell is Cola metabolizable by plants? Who is pouring cola on their plants!?!?
* Fix _prototypeManager being null errors.
* Changing comments
Where are the prototype references
* MetabolismComponent doesn't give free heals anymore.
* Changes HungerComponent healing.
Previously I think it would actually damage you. Only did this as I though it was causing the fast healing. Turns out that was just BREATHING.
* Generalised a function in DamageableComponent and moved it to DamageGroupPrototype
previously DamageTypesDictToDamageGroupDict was private to DamageableComponent, but was also quite general (nearly a static function). As this sort of function may be needed by other components using DamageGroupPrototypes in the future, I moved it there as a static function instead.
* modified DamageableComponent.ChangeDamage()
ignoreResistances was renamed to ignoreDamageResistances to make it clearer that it had no effect on healing.
Now uses default argument for ignoreDamageResistances, so when healing you are not forced to specify an argument that does nothing.
Also made some general changes to ignoreResistances()
* Changed class->group and added missing damage type functionality to DamageContainerPrototypes
* Added Comments to damage.yml
* Misc Changes to DamageableComponent
* Differentiated between group support and group applicability
So far, every damage type is a member of one, and only one, damage group. So this change has no real effect so far.
* Added proposed alternative to ChangeDamage()
* fixed error in DamageGroupPrototype
* Changes to DamageableComponent
Lots of changes to comments.
Some variables renamed in IDamageableComponent and DamageableComponent (also required renaming in other files)
Some minor logic changes, mostly for incorrect descirptions of boolean return values.
Also further differentiating between ApplicableGroups and SupportedGroups... if that will ever even matter
* Generalised MedicalScannerComponent
If needed, can print miscellaneous damage types now
* Fixed HealthChangeMetabolism bug
* Changing Comments around
* More questions
* Made Barotrauma default to blunt
* Fix RejuvenateTest.cs
* Comments
* Coments and variable names
* fix some master-merge issues
* Removed redundant fields
* Misc changes for readbility of PR diff
* Consistent naming
* Fixed atmos damage bug
* Removed Ranting
* Fixed Hunger after I broke it
* Fixing Bugs
* Removed stupid question
* Removed more stupid questions
* Fix potential null errors.
* Made boolean return values consistent
Also renamed several functions, to make it clear they return a bool. Docs were also updated.
* Removed IoCManager.InjectDependencies()
* Removed unnecessary 'suffocation' prefix
* Fixed Spelling
Also removed accidentally left in logger call
* Fixed Medical Scanner
* Apply suggestions from code review
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Changing comments and whitespaces
* Made damage thresholds trigger datafields required
* So many typos
* Changes to DamageableComponents
Changed documentation in IDamageableComponent
Made testing code more readable.
Relabelled groups as 'Applicable' either 'Fully Supported'
* Removed function and degeneralised
* Update DamageableComponent.cs
Removed unused parameters
Fixed Networking
* Added IoCManager.Resolve
* Now using alternative TryChangeDamage()
* Removed function from DamageGroupPrototype
* Removing comments
* Remove bad if statement?
* Fix damageChanged ordering
* Fix hurt server command
* Changed //TODO PROTOTYPE blocks
Now use PrototypeManager differently. Wherever possible, only retrieve the prototype once.
Also added default damage types to some more datafields
* Update Content.Shared/Damage/Container/DamageContainerPrototype.cs
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* renamed _accumulatedHealth -> _accumulatedDamage and added TODOs
* Another class-> group
* Fix bug in generalisation of damage container prototypes
* Addes Tests to make sure I dont keep adding bugs to my own code.
* Changed Return values when setting
* Removed unused class
* Added more tests, split tests into three files
* Made damage types public and VV read-write-able
* Minor changes to DamageableComponent
Replaced internal use of GetDamagePerType with _damageDict and removed some unnecessary fields
* Fix Suicide, by adding IoC Resolve()
* Fix DamageGroupTrigger bug
* Fix typos in tests
* Change comments./docstrings & spacing
* Merge tests, use test prototypes
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Fix merge issues
Co-authored-by: Silver <Silvertorch5@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>