Commit Graph

338 Commits

Author SHA1 Message Date
Pieter-Jan Briers e39ddd4802
Permissions panel. 2020-11-10 16:50:28 +01:00
chairbender 5f788c3318
Alerts System and UI (#2529)
* #272 add bordered panel for effects bar

* #272 avoid mouse overlapping tooltip when near edges,
change tooltip colors to match mockups

* #272 WIP defining status effect states as YML and
sending them as encoded integers

* #272 refactor to use new alert system

* #272 refactor to use new alert system

* #272 fix various bugs with new alert system and update
alerts to have color

* #272 WIP

* #272 rename status effects to alerts

* #272 WIP reworking alert internals to avoid code dup
and eliminate enum

* #272 refactor alerts to use
categories and fix various bugs

* #272 more alert bugfixes

* #272 alert ordering

* #272 callback-based approach for alert clicks

* #272 add debug commands for alerts

* #272 utilize new GridContainer capabilities for sizing of alerts tab

* #272 scale alerts height based on
window size

* #272 fix tooltip flicker

* #272 transparent alert panel

* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip

* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip

* #272 alert prototype tests

* #272 alert manager tests

* #272 alert order tests

* #272 simple unit test for alerts component

* #272 integration test for alerts

* #272 rework alerts to use enums instead
of id / category

* #272 various cleanups for PR

* #272 use byte for more compact alert messages

* #272 rename StatusEffects folder to Alerts,
add missing NetSerializable
2020-11-10 15:22:19 +11:00
Exp c82199610d
Fix Exception when updating preview (#2533) 2020-11-09 18:36:45 +01:00
Exp d45072495e
Adds a live preview to the character customizer (#2523)
* Preview

* -Dispose Dummy
-Unsubscribe from OnServerDataLoaded
2020-11-08 23:44:04 +11:00
DrSmugleaf bf5b9ad03b
Change cvar usages to use CVarDef and define them in CCVars (#2250)
* Change cvar usages to use CVarDef and define them in CCVars

* Merge fixes

* Remove duplicate cvar registration
2020-11-07 11:15:56 +11:00
Tomeno 015539dcdc
Revert to old cooldown and unify with DoAfter (#2469)
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2020-11-02 11:32:03 +01:00
zionnBE 14b0a6eae4
Add admin teleport button (#2435)
Co-authored-by: zionnBE <zionn@tfwno.gf>
2020-10-30 01:05:49 +01:00
Paul Ritter 6a0aa9b72f
Singularity, Particle Accelerator & Radiation Collectors (#2169)
* basic radiation generator

* might need this

* thonk

* big thonk

* oop

* e

* werks

* sprite

* oopsy woopsy

* radiation

* clean up file

* makes it work, probably

* minor fixes

* resources

* progress on component

* this will no longer be necessary

* radiation go brrrr

* finally fix container issues

* out var

Co-authored-by: Remie Richards <remierichards@gmail.com>

* second out fix

* another out fix

Co-authored-by: Remie Richards <remierichards@gmail.com>

* switch case

* fix switch

* sound and improvements

* nullable

* basic containment field system

* ensure alignment

* fix beam placement logic

* field generation fully working

* fix potential crash

* working containment functionality

* extremely basic emitter functionality

* fix radiation panel naming

* emitter stuff

* oopsies

* fixes

* some fixes

* cleanup

* small fix and move emitter file

* add sprite resources for PA

* slight rework of the singulo
adds rads

* pushing for smugleaf :)

* added radiationpanels

* some fixes for the singulo

* containmentfield

* pa wip

* progress

* pa working

* emitter fix

* works :)

* ui works

* some work on ui & pa

* progress

* ui work & misc fixes

* GREYSCALE

* pa ui polish
containmentfieldgen rework

* singulo rework
added snapgrid

* getcomponent get out

* singulo rework
added collisiongroups underplating & passable

* yaml work:
- collision boxes
- singulo now unshaded

* no unlit

* misc changes

* pa wires

* add usability check

* nullable enable

* minor fix

* power need added

* reenables containment field energy drain
menu close button
singularity collider fix

* sprite replacement

* finished singulo pulling

* pjb fixes

* fixing sprites & minor adjustments

* decrease containmentfield power

* some yml adjustments

* unlit layers
singulogenerator

* singulogen

* everything works just not the powergetting on the pa
i wanna die

* Adds PA construction graphs, PA construction works

* Snap to grid parts when completing construction

* updated to newest master

* inb4 i work on power

* fixes upstream merge
adds power need to particleaccelerator

* properly implements power & apc power

* Emitters are now fancy.

* I have actually no idea how this happened.

* Give PA a wiring LayoutId

* PA is an acronym

* indicators
fixes hacking

* Singulo is a word you blasphemous IDE.

* Rewrite the PA.

* Fancy names for PA parts.

* Wiring fixes, strength wire cutting.

* fixes projectile & ignores components

* nullability errors

* fixes integration tests

Co-authored-by: unusualcrow <unusualcrow@protonmail.com>
Co-authored-by: L.E.D <10257081+unusualcrow@users.noreply.github.com>
Co-authored-by: Remie Richards <remierichards@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-28 19:19:47 +01:00
DrSmugleaf f785ec4efb
Add pulling taking up a hand (#2405)
* Add pulling taking up a hand

* Revert unnecessary refactor
2020-10-28 10:16:40 +01:00
Víctor Aguilera Puerto 870d052354
Gas tanks and masks (#2409)
Co-authored-by: a.rudenko <creadth@gmail.com>
Co-authored-by: creadth <creadth@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-27 20:53:44 +01:00
Víctor Aguilera Puerto 48841a274d
Remove default grids (content) (#2241)
* Default grids go poof

* Address review

* Update submodule

* Fix DoAfterSystem for entities without grid.

* Fix SubFloorHideSystem for entities without grid.

* Fix ExplosionHelper for coordinates that aren't in a grid

* Fix TurfHelpers' GetWorldTileBox crash in the case of invalid grid

* Fix tile prying component crash when trying to pry space.

* Spill fixes when passing coordinates without grids.

* Are you static'in, son?

* Change SaveLoadSaveTest grid Id hardcoded value
It's still hardcoded, but at least now it's correct!

* Only send debug AI thing if grid is not invalid

* Update submodule.

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-21 17:13:41 +02:00
Rich da0b6f333c
Standardized colors between DoAfter and Cooldown progress (red > yellow > green). (#2291) 2020-10-18 18:11:44 +02:00
NuclearWinter b4ea6857cd
Ghost Teleporting (#2071)
* Fix?

Nuked everything and put my code back in, hope everything works

* Nullable fix?

* nullable fix electric boogaloo

* Haha nullable error go brrr

send help

* Cleanup and fix not clearing the button list

* Remove unnecessary brackets and parentheses

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-16 20:36:20 +02:00
DrSmugleaf 435fb2630e
Disable job buttons when they aren't available or late join is disallowed (#2251)
* Disable job buttons when they aren't available

In real time too, the technology is overwhelming

* Jobs are all unavailable when late join is disallowed.

* Better ToggleDisallowLateJoin command parsing

* Add togglelatejoin to groups.

Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-10-16 11:22:58 +02:00
DrSmugleaf 50bc61b672
Add IResettingEntitySystem for entity systems that do resetting cleanup (#2257)
* Add IResettingEntitySystem for entity systems that do resetting cleanup

* You got a license for that submodule update?
2020-10-14 22:45:53 +02:00
metalgearsloth d769661692
Fix some build warnings (#2226)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-11 16:42:53 +02:00
Víctor Aguilera Puerto 32876c78fe
Random default characters (#2216) 2020-10-11 13:15:09 +02:00
DrSmugleaf aa6e0e7539
Add SSS traitor label and fix ally sync (#2200) 2020-10-09 18:57:09 +02:00
Pieter-Jan Briers 390d064304
Re-organize in-memory character profile storage.
Now uses a dictionary of int -> profile instead of an array filled with nulls.
2020-10-06 15:13:16 +02:00
Swept d00ae036f8
Fonts moved from textures to proper folder (#2159)
* Initial

* Deletes old loc
2020-10-04 18:07:15 +02:00
Pieter-Jan Briers 66c8a68891
Holy crap auth works (#2099)
* Holy crap auth works

* Fix some usages of UserID instead of UserName

* Refactor preferences.

They be non-async now. Also faster.

* Rename DbContext.

* Guest username assignment.

* Fix saving of profiles.

* Don't store data for guests.

* Fix generating invalid random colors.

* Don't allow dumb garbage for char preferences.

* Bans.

* Lol forgot to fill out the command description.

* Connection log.

* Rename all the tables and columns to be snake_case.

* Re-do migrations.

* Fixing tests and warnings.

* Update submodule
2020-09-29 14:26:00 +02:00
DTanxxx 3e6f0eef58
Removed the last bits of dependencies on localization manager (#2127)
* Removed the last bits of dependencies on localization manager

* Updated submodules to resolve error

Co-authored-by: David Tan <>
2020-09-26 15:30:13 +02:00
derek 158f765895
Keybind to stop pulling. (#2094)
* keybind to stop pulling.

* smug
2020-09-16 23:58:50 +02:00
DTanxxx 27a5a7a09c
Removed LocalizationManager dependencies (#2059)
* Removed LocalizationManager dependencies

* Fixed error

Co-authored-by: David Tan <>
2020-09-16 23:55:50 +02:00
DrSmugleaf 74943a2770
Typo, redundant string interpolation, namespaces and imports cleanup (#2068)
* Readonly, typos and redundant string interpolations

* Namespaces

* Optimize imports

* Address reviews

* but actually

* Localize missing strings

* Remove redundant vars
2020-09-13 14:23:52 +02:00
Pieter-Jan Briers 03d6697323
Add UI scale option to options menu. 2020-09-07 14:08:06 +02:00
Pieter-Jan Briers f96f286ca4
Rework options menu.
It's much nicer now.
2020-09-07 12:23:28 +02:00
Pieter-Jan Briers 005aad8da5
Allow disabling margins on StripeBack. 2020-09-07 12:23:28 +02:00
Pieter-Jan Briers 0440bb5e75
Tweak colors for caution buttons. 2020-09-07 12:23:27 +02:00
Pieter-Jan Briers 0de5cfed7f
Update submodule (remove options menu) 2020-09-07 11:08:01 +02:00
Pieter-Jan Briers 527fababe0
Adds key rebinding window 2020-09-07 11:05:18 +02:00
Pieter-Jan Briers a1c1769d23
Rework button styling to add a "caution" button type.
It's red.
2020-09-07 11:04:03 +02:00
Exp fd21ceb0cf
Improves the Admin PlayerList (#1989)
* -Makes PlayerList scrollable
-Player names clip when they are too long
-Shows Player count

* Add padding to make columns more noticeable

* -Added Separators between the columns
-Pushed List a bit down

* Add alternating row colors
2020-09-02 18:47:13 +02:00
SoulSloth e40e3fa267
Cloning (#1932)
* Add art assets for cloning

* Added a 'Scan DNA' button to the medical scanner

* Made the UI update unconditional for the medical scanner until checks for power changes are in place

* Update Medical scanner to reflect powered status and fix #1774

* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state

* Add disabling logic to 'Scan DNA' button on medical scanner

* Removed un-used libraries

* changed scan dna button to Scan and Save DNA

* Added cloning machine code infrastructure copied from Medical Scanner

* Added a list to cloning menu containing some numbers

* Cloning Machine UI sends a message to the cloning component with the entityUID

* New scans now show up in cloning pod menu

* fixed cloning machine collision shape

* cloning machine can now spawn the right player profile assuming the attatched entity is still correct.

* refactored cloning system to use a map of integer ids to player Minds

* Added a return to body cloning loop for the ghost

* Fixed warning for _playerManager being possibly null, added TODO note for ghost return to body button acting as a toggle

* removed #nullable from cloningMachineWindow"

* Trying to get rid of nullable error

* fix CloningMachine to not initilize with it's owner components

* updated CloningMachine server component to play nice with the new nullable rules

* replace flag with eventBus message for sending a ghosts mind to a clone body

* Refactor cloning so that a popup option is used to get user consent for cloning

* Refactoring

* Reverting unused changes for cloning component

* Added proper cloning pod sprites and a visualizer so 'idle' and 'cloning' states are properly reflected

* added missing robust toolbox contents

* Added cloning NoMind State and made cloning take time

* Added cloning progress bar and mind status indicator to cloning pod

* Added missing localization calls, removeed 'returned to cloned body' from ghostUI

* Added unsubscribe for cloningStartedMessage in Mindcomponent.cs OnRemove

* Added eject button to cloningMachine and clamped the cloning progress bar to 100%

* Added condition to eject body on cloningmachine so bodies can't be ejected until cloning is done

* Add click-dragOn functionality to the medical scanner for things with a bodyManager

* Messed with scan query so it doesn't fail on dead bodies as long as Mind still owns the mob

* refactored clonning scan check on medical scanner so it doesn't do a linq query

* merge with rogue toolbox

* Change the name of Cloning Machine to the less generic Cloning Pod

* Changed Cloning Pod so it pauses cloning while the power is out

* Removed the evil LocalizationManager from the cloning menus and used the static Loc instead

* removed localization dependency from bound accpetCloning user interface

* Removed Ilocalization dependency I accidentally added to ghost ui

* Update Content.Client/GameObjects/Components/MedicalScanner/MedicalScannerComponent.cs

Co-authored-by: Exp <theexp111@gmail.com>

* Changed null check to tryget in case for cloning UiButton.Clone

* Parameterized Cloning time on serverside component

* tried to reset Robust toolbox module to current master

* Added null check to ghost client component message handling, unsubscribe to the mind component listening to the cloning question ui, fixed _clonningProgress typo, moved CloningPod component dependencies to actually be dependencies, removed un-needed disposals of cloning windows, added disposals missing in boundUserInterfaces.

* Reset submodule

* corrected exception for cloning pod visualizer to refer to cloning pod state and not medical scanner state

* Fix typo

* Unsubscribe from onUiReceiveMessage in mindcomponent in the onRemove function, not the acceptcloningui function

* unsubscribe from OnUiReceiveMessage in CloningPodComponent

* unssubscribe from ghostreturn message in cloningpodComponent onRemove

Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-02 12:07:54 +02:00
DrSmugleaf 8f9ed2f562
Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods (#1965)
* Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods

* Remove redundant code
2020-09-01 12:34:53 +02:00
Exp b993ebb30a
Status Effect Tooltip & Notify on click (#1943)
* -Show tooltip on hover
-Show notify on click

* -Status Effects now get removed instead of going invisible
-Removed empty textures for that

* Revert break in HungerComponent
2020-08-29 13:33:38 +02:00
DrSmugleaf 548ef3dedb
Add HUD button that displays your SSS role and allies (#1895)
* Add button that displays your SSS role and allies

* Capitalize button name

* Add cases for 0, 1 and invalid number of allies

* Make the ally syncing system saner
2020-08-27 16:39:29 +02:00
Exp 292ef4ef16
Admin Menu (#1648)
* First Prototype

* Command Window

* Dropdown

* Is this better?

* That's kinda better?

* Added divider

* Shit

* Check if Admin Menu & Commands are allowed

* -Funcy Shit
-Now gets properly the playerlist
-Fixed kick reason

* Dropdown Improvement with some more func

* -Added DirectCommand for commands that don't need a ui
-Added RestartRound

* Better way to make DirectCommandButtons

* -Some new Tabs
-Player list

* -Split Buttons
-Regions
-Fixed Test Command

* Some server buttons

* Playerlist alignment

* Fucky SpawnEntites & SpawnTiles in AdminBus

* -Debug Buttons
-Few more commands

* -Make dem controls thicc
-SpinBox

* Escape Kick Reason

* Only create the window when you press the button

* Adds StationEvents

* Nullable "fixes"

* This thing wasn't made for buttons

* Call other constructor for empty CommandButton

* Request method in the interface

* -Pushed most Controls to be fields
-No more dict passing
-Removed test cmd
-Regions to better navigate

* -Bound to key
-Removed from escape menu
-Remember cmd windows
-Close all cmd windows on toggle

* -Moved dependency

* Merge fixes

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-25 17:18:32 +02:00
DrSmugleaf 8a27a5322a Replace pragma warning 649 disable/restore with default! 2020-08-24 14:10:28 +02:00
Exp 769a371be6
Make the lobby player list include the ready indicator and not hack it together (#1860)
* Started new Lobby

* -Proper styling
-Use a scrollcontainer :smilethink:

* Too lazy to add a stylerule, too young to optimize css

* Fix typo

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-24 12:11:53 +02:00
Exp 1b634739ac
Observers are shown as observers in the RoundEndSummary (#1838)
* Observers are shown as observers in the RoundEndSummary

* Fix typo

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-22 12:45:49 +02:00
Pieter-Jan Briers 0eba05c604
Fix exception in preferences preview. 2020-08-20 22:37:48 +02:00
Pieter-Jan Briers bf60a4e9fc
Merge branch 'master' into mathmerge 2020-08-20 20:33:43 +02:00
Víctor Aguilera Puerto 9e7d698145
Allow specifying a text to be shown to players in the summary when ending the round. (#1818)
* Allow specifying a text to be shown to players when ending the round.
Also sets text

* Fix comment
2020-08-20 18:09:29 +02:00
Pieter-Jan Briers ed1a96e536
Nullability fixes. 2020-08-20 16:48:15 +02:00
Exp 81fea61b72
Fix Roundend Summary Overlap (#1789)
* Fixed translation

* Temp fix

* Add "TODO: Remove" Comment
2020-08-19 17:02:31 +02:00
Exp 5de57d6cd2
Ready Indicator in the lobby (#1771)
* Ready Indicator in the lobby

* Use SessionID instead of Name

* Don't show ready state when game is already running

* Make Ready List not selectable

* -Remove disconnected sessions from Ready
-Fix showing ReadyStatus when staying in lobby
2020-08-18 14:52:59 +02:00
Visne 0b448b500d Merge MathHelper and FloatMath
Requires  space-wizards/RobustToolbox#1234
2020-08-16 14:54:52 +02:00
Vince b647ad0f42
Refactor UpdateKinematics() and fix a lot of Content warnings (#1709)
Most warnings were related to EntityQuery and IPhysicsComponent.
Partially fixes #1650 and fixes #1682
2020-08-15 20:38:35 -07:00
Víctor Aguilera Puerto c3df108b27
Stripping (#1668)
* Start work on stripping.

* more strippable work

* Stripping works

* Nullable

* MORE NULLABLE

* nullable moment

* life is pain

* Interaction check.

* Update Content.Client/GameObjects/Components/HUD/Inventory/StrippableBoundUserInterface.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Client/GameObjects/Components/HUD/Inventory/StrippableBoundUserInterface.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/GameObjects/Components/GUI/SharedStrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Rename InventoryComponent and HandsComponent's OnChanged event to OnItemChanged

* Apply suggestions from code review

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Use static EquipmentSlotDefines

* Do not expose ContainerSlot on Inventory or Hands.

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-15 20:33:42 +02:00
DrSmugleaf 4a8ed41e3a
Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes
2020-08-13 14:40:27 +02:00
Pieter-Jan Briers e76003948b
Remove this parameter from FloatMath.Clamp.
That was a stupid idea.
2020-08-12 21:19:34 +02:00
Pieter-Jan Briers f182ff5613
Remove CannyFastMath. 2020-08-12 21:19:34 +02:00
Swept 85d8051bf1
Removes "spawn entities" and "spawn tiles" from the escape menu (#1606) 2020-08-07 03:46:01 +02:00
Swept 54c0264f01
Adds "Quit Game" and "Disconnect" button to Escape Menu (#1602) 2020-08-06 13:35:32 +02:00
DrSmugleaf 0a82aba88e
Add pulling (#1409)
* Initial framework for pulling.

* Make it possible to pull items via (temporary) keybind Ctrl+Click, make items follow the player correctly.

* Make other objects pullable, implement functionality for moving an object being pulled, make only one object able to be pulled at a time.

* Make sure that MoveTo won't allow collisions with the player

* Update everything to work with the new physics engine

* Update Content.Server/GameObjects/EntitySystems/Click/InteractionSystem.cs

Co-authored-by: ComicIronic <comicironic@gmail.com>

* Physics update and convert to direct type casts

* Add notnull checks

* Add pull keybinds to the tutorial window

* Move PullController to shared

* Fix pulled items getting left behind

* Fix moving pulled objects into walls

* Remove flooring of coordinates when moving pulled objects

* Add missing null check in PutInHand

* Change pulling keybind to control and throwing to alt

* Change PhysicsComponent references to IPhysicsComponent

* Add trying to pull a pulled entity disabling the pull

* Add pulled status effect

* Fix merge conflicts

* Merge fixes

* Make players pullable

* Fix being able to pull yourself

* Change pull moving to use a velocity

* Update pulled and pulling icons to not be buckle

A tragedy

* Make pulled and pulling icons more consistent

* Remove empty not pulled and not pulling images

* Pulled icon update

* Pulled icon update

* Add clicking pulling status effect to stop the pull

* Fix spacewalking when pulling

* Merge conflict fixes

* Add a pull verb

* Fix nullable error

* Add pulling through the entity drop down menu

Co-authored-by: Jackson Lewis <inquisitivepenguin@protonmail.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
2020-07-27 00:54:32 +02:00
Pieter-Jan Briers 804f287ee3
Improve item slot hover.
1. Use a separate SpriteView for the hover entity to avoid any bookkeeping issues
2. don't set storagebutton visibility.
2020-07-26 17:57:48 +02:00
Moses 8e08c64fcf
Show if items can be placed in a slot when hovering (#1480)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-26 14:25:38 +02:00
DrSmugleaf 4b4e83d2bf
Add changing the amount of hands on the GUI depending on your body parts (#1406)
* Multiple hands in gui first pass

* Remove IHandsComponent interface

* Create hand class and more hand textures

* Refactor ServerHandsComponent to use a single list of hands

* Seal SharedHand

* Fix picked up items not showing on top of the hand buttons

* Remove HandsGui buttons and panels dictionaries

* Fix items in hands rendering

* Fix wrong hand container comparison

* Fix not updating the location of duplicate hands

* Change ClientHandsComponent to use a SortedList instead of a dictionary

* More merge conflict fixes

* Change SortedList to List

* Fix hand button order

* Add item tooltip for more than 2 hands and updating when removing hands

* Add add hand and remove hand command

* Merge conflict fixes

* Remove nullable reference type from ContainerSlot

* Fix texture errors

* Fix error when reaching 0 hands

* Fix error when swapping hands with no hands

* Merged remove hand methods

* Fix item panel texture errors

* Merge conflict fixes

* Fix addhand and removehand command descriptions

* Add properly displaying tooltips for 2 hands

* Make hand indexes and locations consistent across the client and server

* Add dropping held entity if a hand is removed

* Change hand location to be calculated by index

* Made different hand gui updates more consistent

* Remove human body yml testing changes

* Sanitize addhand and removehand commands

* Merge conflict fixes

* Remove testing changes

* Revert body system changes

* Add missing imports

* Remove obsolete hands parameter in yml files

* Fix broken import

* Fix startup error and adding and removing hands on the same tick

* Make hand container id use an uint

In case someone gets more than 2 billion hands

* Rename hand component files

* Make hands state use an array
2020-07-25 15:11:16 +02:00
DrSmugleaf 245dbdaa3a
Add pointing (#1435)
* Add pointing keybind and simple message

* Add turning the player when pointing

* Add pointing arrow

* Make the popup message appear on the pointing entity

* Add pointing to tiles and space and proper grammar

* Move pointing bind from HandsSystem to PointingSystem

* Add more messages for pointing depending on the viewer perspective

* Fix non nullable reference type

* Serialize pointing arrow duration

* Serialize pointing arrow step and add summaries

* Make arrow speed serializable and make it depend on frame time

* Add 0.2 second delay between pointings

* Add pointing arrow yaml examples

* Add the ability for pointing arrows to be rogue

* Remove rogue package reference

* Add point to verb

https://cdn.discordapp.com/attachments/313107470031650816/735268651636228197/unknown.png

* Add shift middle clicking an entity in the verb menu to point at it

* Add VV to PointingArrowComponent

* Increase pointing delay from 0.2 to 0.5 seconds

* Address reviews

* Fix nullability errors

* Separate pointing and rogue pointing code

* Fix rogue pointing arrow visuals

* Made rogue pointing arrow rotation adjustment readable for mortals

* Make rogue pointing arrows less destructive

* Cleanup more of the rogue pointing arrow code
2020-07-24 14:51:18 +02:00
Pieter-Jan Briers 37a893c8ad
Adds side-open button styles. 2020-07-17 12:06:52 +02:00
ike709 915fffb635
Latejoin Job Selection (#1284)
* UI version 1

* Latejoining

* cleanup

* missed a line

* Various fixes

* comment
2020-07-10 15:27:55 +02:00
ike709 2d2385032a
Admin chat (#1287)
* Admin chat

* Change it to show username, not character name

* moves the thing

* Removes SenderEntity
2020-07-08 12:18:16 +02:00
DrSmugleaf e7d756811e
Replace CanBeNull annotations with nullable reference types (#1270)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-08 01:41:20 +02:00
AJCM-git ae41d03ec6
Re-organizing the Resources folder. Part 1. (#1234)
* First commit

* Lockers

* Lockers electric boogaloo

* Crates and Lockers

* Almost finishing the Textures folder

* Updating texture paths. Reminder to fix:
* Lockers
* Windows
* Vending Machines
* APC
* Catwalks
* Bedsheets and Cloaks
* Status effects

* dont know what happened here

* Commit before merge

* re-organizing

* Lockers broken

* Commit before merge

* Submodule

* renaming

* Fixing most issues

* forgot these ones

* Updating submodule

* typo

* Fixing some paths

* fixing some paths

* updating submodule

* (hopefully) fixing the submodule
2020-07-07 19:19:00 +02:00
chairbender b35333d366
Click Drag Functionality + Refactor Interaction Interfaces (#1125)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-06 23:27:03 +02:00
ike709 c019d428a7
Antag preferences and antag prototype (#1264)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-06 23:24:29 +02:00
ike709 3bab2fd803
Focus OOC hotkey (#1272) 2020-07-06 15:45:58 +02:00
windarkata 6775ae8153
Cargo Console Limit (#1095)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 14:45:40 +02:00
Pieter-Jan Briers 579ff6bb26
Use async DB queries. 2020-06-26 03:46:28 +02:00
Pieter-Jan Briers da45a52325
WiP movement prediction. 2020-06-24 02:21:20 +02:00
Pieter-Jan Briers e063d49a49
Use new stylesheet syntax in StyleSpace 2020-06-18 02:38:40 +02:00
Tyler Young de274de9e3
use CannyFastMath in various places even where it might not be any different
also update a bunch of packages

clean up redundant YamlDotNet references
2020-06-14 09:36:53 -04:00
Pieter-Jan Briers 422f64fed0
Credits 2020-06-14 15:15:15 +02:00
Tyler Young ca1d255b6c
For @Tomeno; Shader form of Cooldown Animation (#1113)
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2020-06-12 18:53:41 +02:00
ComicIronic 3cedcaf004
Silence ScreenToWorld warnings (#1098)
This fixes one case of GridCoordinates being used unnecessarily, in
GameScreenBase.

It replaces other cases with explicit calls to TryFindGridAt and
GetDefaultGrid.
2020-06-12 18:36:25 +02:00
Tomeno 4cb61b8693
Adds color changing to cooldown circle and a blink animation when done (#1087)
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2020-06-09 12:18:09 +02:00
Tomeno 7d10c99070
Makes the cooldown graphic look cooler (#994) 2020-05-25 14:07:19 +02:00
Tomeno af0ec2aeb9
Replaces cooldown circle (#956) 2020-05-23 11:26:59 +02:00
Pieter-Jan Briers 63b0df5ba2
Fix ItemSlotButton and HandsGui handling all input.
Fixes #904
2020-05-11 11:19:41 +02:00
Pieter-Jan Briers 079dc839de
Merge pull request #905 from ShadowCommander/FixHandDoubleClick 2020-05-11 11:07:46 +02:00
ShadowCommander 04ffe032dc Fixes hand double click from CanFocus 2020-05-10 22:48:14 -07:00
Hugo Laloge a34983b095 Add emotes as borderless speech "bubbles" 2020-05-09 15:53:37 +02:00
Pieter-Jan Briers cf9edddf2f
Update submodule, UI fixes. 2020-05-05 23:59:31 +02:00
Hugal31 fbaafa8366
Add smart equip shortcuts (#873) 2020-05-05 00:39:15 +02:00
Pieter-Jan Briers e2677bab51
Wide attacks on space, remove UseOrAttack. 2020-05-03 16:03:52 +02:00
Hugal31 0215092016
Add a style to the popup messages (#867) 2020-05-02 23:20:12 +02:00
FL-OZ e5847910c7
Merge branch 'master' into round_end_screen 2020-04-15 14:00:56 -05:00
scuffedjays 1605a50098 Changed duration to use TimeSpan.
Using actual round realtime span to determine round length.
2020-04-14 23:26:37 -05:00
scuffedjays 18e10e289e Added tabs to separate player info and general round info.
Colored players IC name depending on antag status.
2020-04-12 00:59:44 -05:00
scuffedjays 5d3018d76d Change frm ItemList to list of labels with markup 2020-04-11 10:31:44 -05:00
scuffedjays 3ce50879b7 New struct for basic round end info per player. 2020-04-10 01:37:14 -05:00
scuffedjays c47368231b Add scrollable player list to round end menu with OOC Usernames. 2020-04-08 23:51:49 -05:00
scuffedjays febe9aa46c Removed unused. Use Loc instead. 2020-04-08 19:09:02 -05:00
scuffedjays 02f9c5259c Add foundation for Round End Summary Screen.
Adjust GamePreset class, added title alongside description.
2020-04-08 06:07:54 -05:00
zumorica a0d114c672 Ghost sprites and a bunch of fixes 2020-04-05 02:29:04 +02:00
zumorica 0902844457 Merge branch 'master' into 2020-03-03-g-g-g-g-g-g-g-g-ghooooosts 2020-04-04 17:17:11 +02:00
Pieter-Jan Briers 5edfa2db34
Re-organize style sheets and add StyleSpace. 2020-04-04 15:10:51 +02:00
zumorica 91f039d2af Merge branch 'master' into 2020-03-03-g-g-g-g-g-g-g-g-ghooooosts 2020-03-28 23:48:00 +01:00
zumorica 7f19381bec Ghost command, some other stuff 2020-03-03 20:37:26 +01:00
zumorica 055f09d501 Button to return to body 2020-03-03 19:10:25 +01:00
zumorica 6905394e8a Add placeholder ghost UI, ghost component 2020-03-03 19:10:25 +01:00
ShadowCommander 3edfdb8763 Refactor CharacterSetupButton into a ContainerButton 2020-02-27 04:15:02 -08:00
ShadowCommander 14f6cbb845 Refactor ContainerButtons to use a StyleClass for formatting instead of typeof 2020-02-27 04:15:00 -08:00
ShadowCommander 4bdb45731a Clean up MouseFilterMode.Ignore from Controls 2020-02-27 04:14:59 -08:00
Pieter-Jan Briers 0e6b55de66
Clean up client game ticker status code.
Fixes #495
2020-02-26 16:42:12 +01:00
Decappi 289ab4818f
#621 - Added sandbox spawner documentation to tutorial (#737) 2020-02-26 06:31:08 +01:00
Víctor Aguilera Puerto 4f397e1ce2
Fix warnings (#723) 2020-02-23 00:28:50 +01:00
Pieter-Jan Briers 08fcbdf271
Populate tutorial window key binds with proper key names. 2020-02-17 11:29:52 +01:00
Pieter-Jan Briers 011ac0fd7d
Fix inverted triangle path on Linux.
@ShadowCommander you messed up the casing on the file path.
2020-02-17 11:29:19 +01:00
ShadowCommander 983d626ce4 Fix Styling 2020-02-14 18:05:35 -08:00
ShadowCommander 92030c6724 Update NanoStyle for refactored Button and CheckBox 2020-02-14 04:18:14 -08:00
ShadowCommander 718bf0edc3 Update Button references 2020-02-14 04:17:07 -08:00
ShadowCommander 5f26944df9 Add styles for ContainerButton and OptionButton 2020-02-13 00:47:46 -08:00
moneyl b965dfea33
Fix toggle UI keybind in tutorial window (#669)
Is shift + f4, not F1
2020-02-09 23:35:35 +01:00
Pieter-Jan Briers eb7c80ba7a
You can no longer place unless you are in admin or sandbox. 2020-02-08 20:45:02 +01:00
moneyl d8afa6bc03
Update & improve tutorial window (#586)
* Update & improve tutorial window

- Fix scroll bar not showing up till window is resized/scrolled.
- Update keybinds and information.
- Add "quick controls" before detailed explanation for quick reference.
- Add section headers with larger font.

* Add more keybinds

Adds more keybinds from keybinds.yml

* Address code review

- Remove paragraph explaining controls in favor of quick list.
- Remove use of ForceRunLayoutUpdate(). Need to find bug causing scroll bar to not show up until resize. Can do in separate PR.

* Add gameplay section

Adds gameplay section with some important notes on respawning and combat node.

* Fix typo

"it's keybind" -> "its keybind"
2020-02-07 00:07:13 +01:00
DamianX 4a833e82cd Update character list when one of them is selected (#561) 2020-01-25 14:37:04 +01:00
Acruid a86363a6d2 API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Pieter-Jan Briers f95c5b7921
Adds job icons to the job list. 2020-01-24 16:31:18 +01:00
DamianX 46ce6bf45e Implemented random character creation (#548)
* Implemented random character creation

* Pick from a list and apply a bit of randomness instead

* Rename SetInitialData, unselect list entries properly
2020-01-24 00:56:26 +01:00
Pieter-Jan Briers 32fae60930
Make slot buttons in character setup less wide.
Most normal names will fit easily.
2020-01-21 03:37:27 +01:00
Pieter-Jan Briers 6537aead64
Use MapCoordinates.Nullspace 2020-01-20 22:26:28 +01:00
Pieter-Jan Briers f6fe9ce85c
Show job title in character setup. 2020-01-20 10:30:06 +01:00
Pieter-Jan Briers 75aa9541e0
Equip clothing to preview dummies in the lobby. 2020-01-20 10:30:06 +01:00
Pieter-Jan Briers 03bfb22559
Fix profile editor not correctly enforcing single high-priority job. 2020-01-20 10:30:06 +01:00
ShadowCommander 57c3f63a26 Fix HandsGui StatusPanel capturing input (#525) 2020-01-20 01:31:46 +01:00
Pieter-Jan Briers fc2d53eb4f
Adds preference unavailable setting to profiles. 2020-01-19 18:33:22 +01:00
DamianX 1bd17f73b1 Actually save when pressing "save and close" (#523) 2020-01-19 14:54:11 +01:00
Pieter-Jan Briers f86ad6175e
Basic implementation of jobs in the character profile. 2020-01-19 09:42:26 +01:00
DamianX 802fda3cfd Added option to generate random character name (#519)
* Added option to generate random character name

* awk '!seen[$0]++'
2020-01-18 23:09:14 +01:00
DamianX b5feb0db2a Fixed character setup save button (#518) 2020-01-18 16:57:11 +01:00
Pieter-Jan Briers 4b60c03688
Fix Sex not showing in character preview panel. 2020-01-18 04:38:56 +01:00
ShadowCommander e0aaab56e3 Implement StorageButton on HandsGUI and click empty hand to swap… (#517)
Also moved duplicate sprite view code to ItemSlotManager
2020-01-18 03:41:47 +01:00
DamianX a4e369e629 added Character Setup (#511)
* added Character Setup

* whoops

* reverted unrelated changes

* Made everything work post-rebase

* Removed unused PreferencesChanged event

* nope, don't need this

* HumanoidProfileEditorPanel -> HumanoidProfileEditor

* Set initial data for hair pickers

* Fixed nullable warning

* Renamed LooksComponent -> HumanoidAppearanceComponent

* Renamed LooksComponentState -> HumanoidAppearanceComponentState

* Final renaming maybe

* Use a human-like dummy instead of a real human

* Change preferences structs back to classes
2020-01-18 01:54:13 +01:00
ShadowCommander d03da83fda Inventory Input (#503)
* Create ItemSlotButton

* Refactor inventory buttons

Refactor so that KeyBind handling of inventory and hands are the same.

* Refactor InventoryInterfaceController to call ItemSlotManager with entities

This change allows HandsGUI and InventoryInterfaceController to just call ItemSlotManager.OnButtonPressed with an entity instead of a slot.

* Add CooldownCircle to ItemSlotButton

This allows Hands and Inventory to have cooldown circles on their ItemSlots.

* Refactor HandsGUI to use ItemSlots

This allows functionality and GUI to be the same between Inventory and Hands.

Added clicking empty hand to switch ActiveHand to clicked hand.

* Implement CooldownCircle in ItemSlotManager

Reorganize files
2020-01-17 15:43:20 +01:00
Pieter-Jan Briers da932c5caa
Styling for Slider. 2020-01-15 14:27:47 +01:00
Pieter-Jan Briers 411c23c46e
Item status! 2020-01-09 00:28:04 +01:00
Pieter-Jan Briers 43cb54bb21
Override orientation of handsgui sprites.
Fixes #474
2019-12-24 01:22:20 +01:00
Pieter-Jan Briers 4f3f82f27f
Fix cooldown circles not being centered. 2019-12-22 21:50:40 +01:00
DamianX 63b98f26a6 Fixed a bunch of unused variables warnings (#492) 2019-12-15 14:12:23 +01:00
Pieter-Jan Briers 26da24c3c5
UI Layout v2. (#489)
* UI Layout v2.

* Lobby fixed.
2019-12-05 16:00:03 +01:00
Peter Wedder 45567c7acc Scrollbar min size. (#464) 2019-11-28 14:28:33 +01:00
L.E.D 35f9de3366 Make examination of items in hand possible (#459) 2019-11-23 21:57:44 +01:00
ShadowCommander 1580750606 Implement Cargo Console (#413)
* Implement Cargo Console

Add to CargoConsoleComponent GalacticBank information for syncing Bank Account Balance.

Implement CargoOrderDatabase on the server side and a list of orders in the CargoOrderDatabaseComponent on the client side. This makes it easier to change data on the server side but also utilize the state syncing between components.

Implement GalacticMarketComponent.
Only productIds get sent. Both client and server create their lists from YAML.

Implement basic spawning of items from approved orders in CargoOrderDatabase.

* Finish Cargo Console

Add validation to make sure Order Amount is one or more.

Implement approve and cancel buttons to CargoConsoleMenu orders list row.

Add price to CargoConsoleMenu product list row.

Implement CargoOrderDataManager to consolidate CargoOrder lists.

Refactor CargoOrderDatabaseComponent to use CargoOrderDataManager instead of storing duplicate lists.

Implement canceling orders.
Implement approving orders.

Fix sprite links.

Implement Cargo Request Console.
2019-11-22 01:37:14 +01:00
ZelteHonor b2e2aef78d Rider static analysis (#433)
* Non-accessed local variable

* Merge cast and type checks.

* StringComparison.Ordinal added for better culture support

* Supposed code improvement in launcher. Remove unused code.

* Update ExplosionHelper.cs

Unintentional change.

* Optimized Import

* Add Robust.Shared.Utility import where it was deleted

* Other random suggestion

* Improve my comment
2019-11-13 23:37:46 +01:00
Pieter-Jan Briers 841bb101c5
Visualize melee weapon cooldowns in HUD. 2019-11-12 01:43:11 +01:00
metalgearsloth 12cf5559c2 Refactor SpeciesUI into overlay and status effects (#381)
* Refactor SpeciesUI into overlay and status effects

All components that update the UI will need to use PlayerAttached for cases where the Mind transfers I think.

* Change overlay / status effects to use states

* Change TryRemoveStatus to RemoveStatus

Doesn't return a bool so not trying.
Addressing PJB's feedback.
2019-10-30 16:37:22 +01:00
Pieter-Jan Briers 69796bf1bc
Make targeting doll less ugly. 2019-10-22 23:16:12 +02:00
Pieter-Jan Briers 44c9feaebf
Fix Leave button in lobby being off to the right. 2019-10-20 22:39:22 +02:00