Commit Graph

74 Commits

Author SHA1 Message Date
DrSmugleaf 602dac393e
Add Buckling (#1155)
* Create BuckleableComponent.cs

* Add strap component and keybind to buckle targeted entity

* Remove buckle keybind, turn it into a verb

* Add moving and attaching the buckled entity to the strap

* Fix reality collapsing when clicking on a buckled entity

* Add strap position to buckle a mob in the standing or down position

* Add new default strap position that makes no change to the mob's standing state

* Add Strap component to office chairs and stools

* Add Strap component to the pilot chair

* Add buckled status effect icon

* Add status effect click behaviour

* Add buckling and unbuckling sounds

* Change Buckle verb to only appear when an entity can be currently buckled

* Rotate buckled entity in the direction of the seat

* Disable entity rotation when buckled

* Fix buckle rotation on beds

* Buckling now finds the closest strap to the buckleable entity

* Fix rotation when unbuckling an entity

* Move buckle verb to StrapComponent

* Added buckled entity unbuckle verb, range and interaction checks

* Add checks for currently occupied straps

* Add unbuckling entity if its respective strap component is removed

* Add Clickable, InteractionOutline and Collidable components to bed

* Add rotation property to strap component

* Rename Buckleable to Buckle

* Add Buckle and Strap sizes to buckle multiple entities in the same strap

* Remove out of range popup message from strap verb GetData

* Move BuckledTo setter logic to its methods

* Fix Strap BuckledEntities being public

* Fix not updating status when Buckle component is removed

* Change BuckleComponent.BuckledTo to be of type StrapComponent

* Fix NRE when unbuckling

* Add buckle perspective messages

* Fix not equals comparison in strap verb

* Add added check to Strap TryAdd

* Change buckle.ogg and unbuckle.ogg from stereo to mono

* Remove -2f volume on buckle and unbuckle sounds

* Add summary to Strap TryAdd and Remove methods

* Make buckled entities unable to fall

* Fix default strap position not rotating the buckled entity

* Add downing after unbuckling an entity if it is knocked down

* Prevent an entity from buckling onto itself

Fixes stack overflow error

* Disable recursive buckling

* Add buckling onto straps by clicking them with an empty hand

* Add recursive buckle check to the trybuckle method as well

* Fix being able to click on a different strap to unbuckle from the current one

* Merge TryUnbuckle and ForceUnbuckle with a force argument

* Remove explicit unimplemented status effect clicking cases

* Add documentation to EffectBlockerSystem and ActionBlockerSystem
2020-06-25 15:52:24 +02:00
Pieter-Jan Briers 5a5a3b8548
Move "players don't collide with mobs" to shared to fix mispredicts on it. 2020-06-24 11:58:13 +02:00
Pieter-Jan Briers f3a816321c
Merge branch 'master' into 20-06-24-movement-prediction 2020-06-24 04:04:43 +02:00
Pieter-Jan Briers da45a52325
WiP movement prediction. 2020-06-24 02:21:20 +02:00
Víctor Aguilera Puerto 7089b60738 Rejuvenate now resets stuns.
Fixes #1198
2020-06-23 21:05:25 +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
Víctor Aguilera Puerto cb5acf7cd3
Cooldown for status effects (#1109) 2020-06-12 16:22:36 +02:00
Tyler Young 077e726c33
add complete strings that aren't defined in content files to allow them to be mapped (#1105) 2020-06-12 04:15:10 +02:00
Víctor Aguilera Puerto df342548b5 Fix SpeciesComponent not taking state CanEquip/CanUnequip/CanChangeDirection into account 2020-06-09 02:35:22 +02:00
Víctor Aguilera Puerto 952fa9f7ed
Drop items on entering dead or crit states (#1082)
* Drop items on dead or crit
2020-06-07 16:48:53 +02:00
Memory 21c41f28ed
Refactor all references to AudioSystem functions now that the old ones are obsolete. (#1081)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-07 15:55:15 +02:00
Remie Richards 2e38c194f7
IExamine can now limit certain details behind a 'details' range check. (#1039)
* IExamine can now limit certain details behind a 'details' range check.

* Comic's Review fixes.
- colour -> color. My ancestors are saddened by this.
- Can see wire panel opened/closed at any distance again.
2020-05-31 20:29:06 +02:00
Víctor Aguilera Puerto a9a43f25ce Remove unused IEntitySystemManager dependencies. 2020-05-31 19:58:49 +02:00
FL-OZ 53900b79e9
Rename `SoundComponent` and refactor its wrong usages. (#1036)
* Rename `SoundComponent` and refactor its wrong usages.

* Replace verbose IoC grabs with EntitySysetm.Get

* unused depend

Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-05-31 19:40:36 +02:00
Hugal31 ab6bc42a4a
Begin to use text macros (#914) 2020-05-28 00:58:57 +02:00
Pieter-Jan Briers 82b7a09880
Fix exceptions from deleting pilot chair with player in it. 2020-05-23 22:51:41 +02:00
Clyybber 1ad9a10050
Fix #274 (#927) 2020-05-23 17:23:25 +02:00
Pieter-Jan Briers 18ce80a43c
Merge physics rewrite 2020-05-23 01:26:43 +02:00
zumorica 51f06c4142 Math -> MathF 2020-05-14 18:58:45 +02:00
zumorica 569a5b3c85 Add IStunModifier component interface 2020-05-14 18:03:08 +02:00
zumorica ebb49b3377 Document some stun code 2020-05-14 17:49:40 +02:00
zumorica b5cf3cf2da Adds stun status effect 2020-05-14 17:44:09 +02:00
zumorica a8275b4fae Sounds for stun baton 2020-05-14 16:13:25 +02:00
zumorica 390127924b Add slowdown stun 2020-05-13 22:35:23 +02:00
zumorica 4e843358bd Remove useless bools 2020-05-13 22:13:22 +02:00
zumorica 6428cdd596 Adds stunbaton 2020-05-13 20:21:03 +02:00
zumorica a524eca44b Action blocker for changing direction 2020-05-13 19:26:39 +02:00
zumorica c3c5b87fd5 Expose data on StunnableComponent 2020-05-13 19:10:29 +02:00
zumorica f968128af7 StandingStateHelper, StunSystem 2020-05-13 19:04:50 +02:00
zumorica b85161a35f Adds stuns 2020-05-13 16:53:01 +02:00
Víctor Aguilera Puerto 5d7514674e
Suspicion on the Space Station gamemode (#849) 2020-05-03 11:25:39 +02:00
Pieter-Jan Briers d1a672ba32
Fix crashes from MindComponent trying to spawn ghosts on deleted grids. 2020-04-23 16:04:41 +02:00
Pieter-Jan Briers 7aeb7d9cbc
Merge pull request #829 from Zumorica/2020-04-20-mind-examine-message 2020-04-20 16:21:10 +02:00
zumorica 3f3b7ca969 Add examine info toggle 2020-04-20 11:37:05 +02:00
Jackson Lewis 6a22f2629b Update content repo and RobustToolbox 2020-04-20 10:36:02 +01:00
zumorica 7803bb87bc Add examine message for minds whose player disconnected or ghosted. 2020-04-20 11:14:04 +02:00
Pieter-Jan Briers 93c8007f5e
Merge branch 'master' into prediction 2020-04-18 14:07:02 +02:00
Pieter-Jan Briers 028ca7a732
Remove hardcoded ghosting from MoverSystem. 2020-04-18 12:10:50 +02:00
Pieter-Jan Briers ce2d6175d2
Handle MindComponent deletion:
You now get turned into a ghost if it happens, or return to body gets disabled if you were already ghosted.
2020-04-18 00:39:22 +02:00
Pieter-Jan Briers f790eeb34d
RaisePredictiveEvent works.
Needs sequence numbers fixed.
2020-03-25 17:53:50 +01:00
Pieter-Jan Briers 705aeceba6
Need to merge this 2020-03-25 11:16:57 +01:00
Víctor Aguilera Puerto d1ff84e95d
Add CanAttack to IActionBlocker, prevent using guns when dead (#769) 2020-03-03 15:10:09 +01:00
Injazz 15fa417a4f
Explosion now throws affected entities, fixes probability/severi… (#732)
* throwforce and probability fixes for explosions

Applies force to all affected by explosion entities with ItemComponent
Fixes probability issues with explosion related callbacks

* dependency fix, throw helper

* delete TODO

Co-authored-by: gituhabu <48828502+gituhabu@users.noreply.github.com>
2020-02-24 03:52:15 +01:00
Acruid ee6eec9c40 SubscribeEvent() has been split into SubscribeNetworkEvent() and SubscribeLocalEvent() methods on EntitySystem.
Most methods on EntityEventBus now require callers to specify the source (Local or Network) of the events.
2020-02-19 17:08:59 -08:00
Víctor Aguilera Puerto 70c41f63b0
Adds InRangeUnobstructed method to InteractionSystem (#698)
* You cannot pickup items across walls, or pickup items when dead/in crit.

* Adds InRangeUnobstructed method to InteractionSystem.
Changes HandsSystem and ItemComponent to use it.
2020-02-16 23:04:06 +01:00
Víctor Aguilera Puerto 934f6fb7e2
Add OnDamaged method to IOnDamageBehavior (#685)
* Add OnDamaged method to IOnDamageBehavior

* Adds Source, SourceMob to OnDamage.
2020-02-13 15:57:40 +01:00
Pieter-Jan Briers ca57749a3b
Remove bad use of GetAssemblyByName. 2020-01-25 20:39:39 +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
Acruid 32103979ed CollidableComponent and ICollideableComponent namespace was changed in the engine.
Minor code cleanup.
2020-01-11 14:12:20 -08:00
Víctor Aguilera Puerto fedc0ad71c Adds playable instruments, IDropped, IHandSelected and IHandDese… (#368)
* Instrument test.

* Midi stuff

* Some more work

* This actually works now!

* update

* Midi Audio works!

* Lots of stuff, and cool interfaces for items

* Update

* Fix a few things

* It just works

* Move textures to another folder, remove placeholder description from instruments

* Fix warning

* Use renderer enum

* Instruments now use DisposeRenderer method, and send MidiEvents as they receive them. Deletes InstrumentSystem whoo.

* Fix incorrect sprite paths

* Instruments take midi file size check into account when enabling/disabling midi playback buttons

* Fix crash when pressing drop on empty hand.

* Use new renderer return values for midi/input

* Xylophones are no longer handheld instruments, fix their sprites.

* Use new API

* Remove nfluidsynth from solution

* Timing information

* Use IGameTiming.CurTime for timestamps instead
2019-11-25 00:11:47 +01:00