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