Commit Graph

6199 Commits

Author SHA1 Message Date
metalgearsloth
b8911d58ac Optimise slipperysystem (#4566)
* Optimise slipperysystem

That ToArray call no longer showing up on a profiler

* Woops
2021-09-06 15:49:05 +02:00
metalgearsloth
f35ea5418d Pass in EntityManager to Mover
Saves 5% of mover code
2021-09-06 18:20:44 +10:00
metalgearsloth
8c5aaafee3 Stop atmos spamming physics bodies awake
ApplyLinearImpulse already wakes it up so there's no point for this besides slammin physics.
2021-09-06 02:22:23 +10:00
metalgearsloth
e752775a7c Update submodule 2021-09-06 01:29:51 +10:00
metalgearsloth
c5a0b18be1 Fix icon smoothing on rotated grid 2021-09-05 17:23:47 +10:00
Ygg01
53b53c3e0e Cigarette ecs (#4495)
* Reorganized Shared.Storage folder

* Replace StorageCounter with Item Counter

* Change stack visuals setting data

* Fix mirrorcult suggestions

* Fix items from upstream

* Fix type formatting
2021-09-04 10:42:32 -07:00
Leon Friedrich
fc1ddb00cb Fix Tests (#4561) 2021-09-03 21:13:34 -07:00
PJBot
0dfa847b2e Automatic changelog update 2021-09-03 16:46:05 -04:00
metalgearsloth
6648972818 Add some SoundOnLand components to engineering (#4556)
From tg
2021-09-03 13:45:02 -07:00
Leon Friedrich
c7cfc8a90c fix dead alert (#4558) 2021-09-02 21:11:12 -07:00
PJBot
e3cf87a106 Automatic changelog update 2021-09-01 22:36:18 -04:00
metalgearsloth
5ade8c2695 Fix pulling lerping (#4550) 2021-09-01 19:35:16 -07:00
metalgearsloth
744b4e5ce6 Remove empty changelog entry 2021-09-02 12:16:18 +10:00
PJBot
fee5fef219 Automatic changelog update 2021-09-01 19:40:21 -04:00
metalgearsloth
03d1df8190 Fix lobby exception (#4544)
From what I could tell whenever LobbyState is entered it makes a new Lobby + CharacterSetup GUI via Startup. These events are never disposed of under Shutdown + the lobby should be null whenever we're not in LobbyState (as the control ends up disposed).

The lobby == null checks could probably also be null asserts as they shouldn't be null when those methods are being called.
2021-09-01 16:39:19 -07:00
Pieter-Jan Briers
85c7cea457 Update submodule 2021-09-01 18:32:08 +02:00
Pieter-Jan Briers
3ee36350cb More IoC constructor removal 2021-09-01 13:29:52 +02:00
Pieter-Jan Briers
a3fc00dc29 Change some data definitions to not do IoC resolve in their constructors. 2021-09-01 13:23:52 +02:00
Pieter-Jan Briers
bf9d60ae0f Update submodule
Has engine fixes for compat mode.
2021-09-01 01:25:48 +02:00
PJBot
64a620f2aa Automatic changelog update 2021-08-31 08:47:14 -04:00
metalgearsloth
0f5b84c560 Don't call LandEvent if the item is caught (#4512)
* Don't call LandEvent if the item is caught

Or more specifically if it's inserted into a container.

* Soft hands check
2021-08-31 22:46:11 +10:00
metalgearsloth
df7d6c4d90 PoweredLight uses PointLights for appearance (#4540)
* PoweredLight uses PointLights for appearance

Previously this just set PointLightComponent data via the visualizer which lead to desyncs in the data between client and server. If the server pointlight was dirtied at any point then the pointlight data set via appearance visualizers was bulldozed.

* Address review
2021-08-31 18:45:02 +10:00
PJBot
09ff15da1f Automatic changelog update 2021-08-31 04:34:58 -04:00
Alex Evgrashin
4c873e53f2 Refactor ghost boo to ECS (#4511)
* Moved ghost boo to ecs

* Fixed small light exception

* No need to inject EM

* Moved cooldown and time to fields

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-08-31 18:33:55 +10:00
PJBot
4b4c8a41d7 Automatic changelog update 2021-08-30 18:26:10 -04:00
Swept
66a9bb9487 Adds unique sprite for NTBlockGame screen (#4539)
* Separates arcade.rsi from computers.rsi

* Changes NTBlockGame screen

* Added better blockgame sprite

* Fixes minute issue with sprite
2021-08-31 00:25:08 +02:00
Vera Aguilera Puerto
fa48e2abae Move StackSystem Use method to SharedStackSystem 2021-08-30 12:31:28 +02:00
Vera Aguilera Puerto
d1fe278afc Stack components are now entirely logicless.
- GetState is handled in SharedStackSystem
- Adds friend attributes to the stack components
2021-08-30 11:49:09 +02:00
Vera Aguilera Puerto
f15ed2ba50 Updates ComponentHandleState usages to be by-ref (#4535) 2021-08-30 11:33:48 +02:00
Pieter-Jan Briers
9cf37b6e68 Fix event handler leaks in LauncherConnecting 2021-08-30 01:50:54 +02:00
Pieter-Jan Briers
97584c16da Remove OutputPath overrides for shared.
Pretty sure this will reduce recompilation when switching between debug and release in rider, so sounds like a good idea to me.
2021-08-30 01:38:29 +02:00
metalgearsloth
9c7626255b Update submodule 2021-08-29 14:23:43 +10:00
metalgearsloth
4e46cf7d27 Make content use EntityLookupFlags (#4531)
* Use lookup flags

* Woops
2021-08-29 14:23:11 +10:00
Swept
a3c19ad439 Replaces outdated code in GravitySystem.cs (#4505) 2021-08-28 00:36:30 +02:00
Swept
36d4cb5f05 Updates submodule 2021-08-27 15:21:09 -07:00
Paul Ritter
e11a9b282a machine linking refactor to ecs (#4323)
* 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>
2021-08-27 17:46:02 +02:00
PJBot
4a68032ea1 Automatic changelog update 2021-08-26 05:46:08 -04:00
Alex Evgrashin
18a1178654 Fix admin events UI (#4530) 2021-08-26 11:45:05 +02:00
PJBot
50bc156d82 Automatic changelog update 2021-08-25 07:46:35 -04:00
ShadowCommander
20a3991227 Fix deconstruction when on a step in the middle of an edge (#4519) 2021-08-25 13:45:33 +02:00
PJBot
718906bf63 Automatic changelog update 2021-08-25 06:36:41 -04:00
ShadowCommander
1ce9645ebe Fix thrown entities getting parented to player parent (#4528) 2021-08-25 12:35:37 +02:00
Vera Aguilera Puerto
745a2138fe Removes a single newline.
Very important commit.
2021-08-24 23:13:03 +02:00
Leon Friedrich
32d99eaba9 Damageable Refactor 3: Revenge of the Instamerge (#4524)
* 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>
2021-08-24 11:06:27 -06:00
PJBot
2a8dc0e9c7 Automatic changelog update 2021-08-24 11:37:53 -04:00
Swept
4418b61d8a Fixes power crisis and lights up engineering some more (#4509) 2021-08-24 15:36:50 +00:00
metalgearsloth
34bb257c0b Fix windoors 2021-08-24 18:47:13 +10:00
metalgearsloth
81f0231900 Update submodule 2021-08-24 18:31:43 +10:00
metalgearsloth
5143106544 Fix bounds ordering (#4514)
* Fix all bounds

* fix windoor bounds

* Fix clickable
2021-08-24 18:31:20 +10:00
Paul Ritter
01de0db5ed fixes some bugs with the shuttleconsole (#4517)
* fixes some bugs with the shuttleconsole

* Update Content.Server/Shuttles/ShuttleConsoleSystem.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2021-08-24 09:58:06 +02:00