* 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>
* 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
* 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
* Transition code to new controller system
* Fix shuttles not moving
* Fix throwing
* Fix guns
* Change hands to use physics.Stop() and remove item fumble method
* Added: CanReach property to AfterAttack events which signals if the attack was within reach.
Fixed: You cannot construct/deconstruct things out of reach.
Fixed: Construction entities now preserve transform rotation.
Fixed: No more exceptions about missing grids when constructing world entities.
Fixed: Used the proper intermediate sprite for intermediate entities.
Fixed: Issue with missing sprite layers on ghost.
* The alligator is greedy, he always eats the bigger number...
* Adds a check so that you cannot use tools on entities that are obstructed from view.
* Add some extra comments
* Remove the redundant closedTiles variable
* Rename some variables to better match the common naming schemes
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
The panel was staying when an individual part was toggled. I also removed some other redundant code.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Flash component, overlay and shader
Add BeginDraw method to Overlay.cs
* Add flash icons, sounds
* Progress
* Multiple overlays without enums
* This is probably the worst way to do this IDK
* Remove nullable reference type
* Add AttackEventArgs as parameter to OnHitEntities
MeleeWeaponComponent.Attack now continues when OnHitEntities returns true (it hit something)
Add OverlayType enum so client and server can agree on overlay ids
Move IConfigurable to its own file
Add AoE flash with shorter duration
Flashing someone slows them down
* Add arc to flash
Set item size to something reasonable
Remove chat log message when flash burns out
* Remove unused interface