Commit Graph

60 Commits

Author SHA1 Message Date
Hannah Giovanna Dawson
cdbe92d37d Update DamageableSystem to modern standards (#39417)
* Update DamageableSystem to modern standards

* DamageContainerId -> DamageContainerID with lint flag

* Replace strings with protoids

* Make CVar subscription declarations all consistently whitespaced

* ChangeDamage -> TryChangeDamage, cope with C# jank

* Revert event signature changes

* Restore a comment

* Re-add two queries

* Init the queries

* Use appearanceQuery in DamageChanged

* Use damageableQuery in TryChangeDamage

* Use damageableQuery in SetDamageModifierSetId

* Final cleanup, fix sandboxing

* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage

* Re-organize DamageableSystem

* first big fuck you breaking change.

* THATS A LOT OF DAMAGE!!!

* Fix test fails

* test fixes 2

* push it

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-27 19:53:04 +00:00
Tayrtahn
75db49f9c0 Clean up all missing EntitySystem proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
SlamBamActionman
43d08100b9 "New player" admin logging improvements (#35961)
* Initial commit

* Adjust a whoooole bunch of logs

* Also spears

* Track going crit

* Review fix

* Review fixes
2025-03-20 20:56:51 +01:00
SlamBamActionman
3200ba88a5 Add ability for +VVEDIT users to scale damage/healing in the game (#35255)
* Initial commit

* Add universal modifier for all damage/heals, make guidebooks work.

* help text
2025-02-18 08:28:42 +01:00
SlamBamActionman
e58d031300 Hristov & .60 changes - Hristov Rework, Part 2 (#31662)
* Initial commit

* Updated values to reflect new resistances

* Review fixes

* Review fixes

* LINQ BEGONETH
2025-02-04 22:55:09 +01:00
Winkarst
ce672acf91 Fix meteor's ArithmeticException (#33556)
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
2024-12-05 13:20:27 +01:00
Leon Friedrich
54337911d3 Only auto-enable internals when necessary (#28248)
* Only auto-enable internals when necessary

* Add toxic gas check

* Rename Any -> AnyPositive
2024-05-31 12:28:11 +10:00
Leon Friedrich
0f6e1196d8 Use non-generic TryComp() for metadata & transform (#28133) 2024-05-20 22:40:35 -07:00
metalgearsloth
d204896bf5 Fix projectiles (#25636) 2024-02-28 00:04:32 +11:00
metalgearsloth
bb0776c496 Revert "Cleanup ExecutionSystem (#24382)" (#25555)
* Revert "Cleanup ExecutionSystem (#24382)"

This reverts commit bcbe2ec1af.

* Revert "Executions (#24150)"

This reverts commit 2e83f5a0ec.

# Conflicts:
#	Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs
2024-02-25 22:36:17 +11:00
nikthechampiongr
bcbe2ec1af Cleanup ExecutionSystem (#24382)
* Creat Execution Component and add to sharp items

* Kill Server ExecutionSystem. Create ExecutionSystem in shared. Create ActiveExecution Component.
Transferred the Execution system into shared. Heavily re-wrote the system in order to reduce duplication,
and remove gun code from the system.
The melee weapon modifier which was dependant on swing rate was removed.

The ActiveExecutionComponent was created in order to apply the damage modifier to the shot from a gun execution.
It is added just before the gun fires and removed after an attempt is made.

* Fix bugs

The execution completed text will now only show up if the gun fires.

The client also no longer crashes because I forgot to network the component.

* Remove clumsy text

* Make BaseSword abstract

* Add ExecutionComponent to every weapon

* Fix bug

* Remove execution comp from battery weapons

Currently the gun system does not have a way to alter hitscan damage like it does with projectiles.

* Cleanup

* Revert "Remove clumsy text"

This reverts commit a46da6448d5d179a4e936f9213d5622bedb58a16.

* Actually fix the ExecutionSystem

Everything about the shot goes through the gun system now.
The Damage multiplier is only applied when a projectile impacts the target so people that get in the way don't get hit
with 9 times damage for no reason.

In order to make suicides work I needed to create fake EntityCoordinates because the gun system and the projectile
system do not play well with a projectile that has the same start and end position.

* Make launchers able to execute

* Fix prediction bug

The OnAmmoShotEvent is only raised on the server.

* Readd ability for clowns to accidentally shoot themselves while executing

* Cleanup

* Reset melee cooldown to initial value

* Address reviews fix bug

Addressed reviews on overriding messages.
Now I actually mark doafters as handled.
Return normal cooldown to some meleeweapons I forgot on the previous commit.

* Address Reviews

Remove duplication

* Exorcise codebase

Remove evil null coercion that I was sure I removed a while ago

* Address reviews again

* Remove melee weapon attack logic and rely on the system. Remove gun and
melee checks.

* Make system functional again and cleanup

* Remove code I forgot to remove

* Cleanup

* stalled

* Selectively revert gun penetration

The collision layer check doesn't work and I don't have time to fix it.

* Fixes

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-02-25 22:07:10 +11:00
LordCarve
c77eb8691d DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.
2024-01-21 18:59:14 -07:00
Arendian
04a8761bb6 decelerator nerf and projectile penetration mini refactor (#24032)
* decelerator nerf and projectile fix

* datafield name difference

* forgot to add component

* missed datafield styling

* comment made summary

* CanPenetrateComponent and CollisionLayer check.

* Small comment changes
2024-01-14 15:39:09 -08:00
Nemanja
aea68b942a Fix PA particles (#23719) 2024-01-07 23:22:46 -07:00
Arendian
3e766402b9 Cluster grenades for uplink and security (#22029)
* clustergrenades go boom

* Small tweaks

* Some tweaks and soaplet

* clustergrenadesystem changes and launcher types

* small tweaks

* typo

* whitespace

* rsi edit

* another typo

* add containers

* Some changes related to merge

* Forgot to change name

* Made changes based on review

* Removed new china lake ammo based on feedback in other PR

* Unneeded nested loop moment

* Nested loop needed after all moment
2023-12-13 22:30:42 -05:00
DrSmugleaf
c72b95db6b Fix debug assert when shooting guns (#21070) 2023-10-18 15:45:35 +11:00
Leon Friedrich
364c9b7f0a DamageableSystem cleanup & performance improvements (#20820) 2023-10-09 03:27:41 +11:00
Kara
f8d194b117 Bows & arrows (#19771) 2023-09-22 02:45:21 -07:00
metalgearsloth
5a0fc68be2 Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
PixelTK
9fef38ab60 Projectile and damage events now include the origin (#19322) 2023-08-27 12:28:59 -04:00
metalgearsloth
735626654a Remove FixtureId (#19280) 2023-08-23 18:55:58 +10:00
metalgearsloth
0f917d22d7 Color flash effect fixes (#18952) 2023-08-10 10:44:52 -07:00
Slava0135
b49f0df05e fix reflected projectiles dealing stamina damage (#17648) 2023-08-06 23:44:41 +10:00
Slava0135
d4c8065e8a Move and rename damage effect to color flash effect (#18263)
* move damage effect to different package

* rename to ColorFlashEffect

* renaming some other things
2023-08-01 19:02:54 +03:00
metalgearsloth
68480af109 Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
metalgearsloth
347dcfbeb5 Add reflection for crystals (#16426) 2023-05-15 15:21:05 +10:00
metalgearsloth
6417bb4fa0 Proto-kinetic crusher (#16277)
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2023-05-14 13:15:18 +10:00
Leon Friedrich
2bd5fb3736 Remove obsolete Fixture.Body references (#16259) 2023-05-09 17:21:26 +10:00
Slava0135
6412289334 Make energy sword reflect projectiles and hitscan shots (#14029) 2023-04-02 23:48:32 +10:00
metalgearsloth
4e2b94199e Bullet flyby sounds (#8317) 2022-05-21 01:04:47 -07:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Vera Aguilera Puerto
a67b846786 Fix deletion check in ProjectileSystem.
Another casualty from the IEntity removal.
2022-03-05 01:29:08 +01:00
Acruid
b3b171da7f ECSatize CameraRecoilSystem (#5448)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-12-27 17:50:12 +11:00
Paul
7757b94333 adds a few logitems & bumps bullethit to high/extreme, depending on if a player was hit 2021-12-20 15:17:40 +01:00
Leon Friedrich
7f81f0b8b8 Add more pretty strings to logs (#5768) 2021-12-13 12:22:58 +01:00
Vera Aguilera Puerto
f6371c6e62 Make all current admin logs use ToPrettyString 2021-12-11 16:00:10 +01:00
Vera Aguilera Puerto
c8b65be747 Replace IEntityManager resolves in systems for cached EntityManager 2021-12-08 13:00:43 +01:00
DrSmugleaf
215cae5655 Fix more errors 2021-12-06 00:52:58 +01:00
DrSmugleaf
2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Vera Aguilera Puerto
5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto
a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Vera Aguilera Puerto
69b270017b Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
Vera Aguilera Puerto
0feebbff00 Inline HasComponent entirely 2021-12-03 12:23:18 +01:00
Vera Aguilera Puerto
e3227546b3 Inline Delete 2021-12-03 11:43:03 +01:00
Vera Aguilera Puerto
b2035543e2 Inline Deleted 2021-12-03 11:30:03 +01:00
Pieter-Jan Briers
64861ff034 Add Content.Shared.Database (#5588) 2021-11-28 14:56:53 +01:00
Leon Friedrich
0de4b7bc9f Modify damage logging. (#5579) 2021-11-28 14:34:44 +01:00
Moony
c576eb91d3 Adds like 17 new logs (#5499)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2021-11-24 23:52:31 +01:00
Vera Aguilera Puerto
0be5ff829b Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Leon Friedrich
df584ad446 ECS damageable (#4529)
* ECS and damage Data

* Comments and newlines

* Added Comments

* Make TryChangeDamageEvent immutable

* Remove SetAllDamage event

Use public SetAllDamage function instead

* Undo destructible mistakes

That was some shit code.

* Rename DamageData to DamageSpecifier

And misc small edits

misc

* Cache trigger prototypes.

* Renaming destructible classes & functions

* Revert "Cache trigger prototypes."

This reverts commit 86bae15ba6616884dba75f552dfdfbe2d1fb6586.

* Replace prototypes with prototype IDs.

* Split damage.yml into individual files

* move get/handle component state to system

* Update HealthChange doc

* Make godmode call Dirty() on damageable component

* Add Initialize() to fix damage test

* Make non-static

* uncache resistance set prototype and trim DamageableComponentState

* Remove unnecessary Dirty() calls during initialization

* RemoveTryChangeDamageEvent

* revert Dirty()

* Fix MobState relying on DamageableComponent.Dirty()

* Fix DisposalUnit Tests.

These were previously failing, but because the async was not await-ed, this never raised the exception.

After I fixed MobState component, this exception stopped happening and instead the assertions started being tested & failing

* Disposal test 2: electric boogaloo

* Fix typos/mistakes

also add comments and fix spacing.

* Use Uids instead of IEntity

* fix merge

* Comments, a merge issue, and making some damage ignore resistances

* Extend DamageSpecifier and use it for DamageableComponent

* fix master merge

* Fix Disposal unit test. Again.

Snapgrids were removed in master

* Execute Exectute
2021-09-14 10:07:37 -07:00