Commit Graph

158 Commits

Author SHA1 Message Date
chromiumboy
dfd3e36a0a Sentry turrets - Part 4: The sentry turret and its primary systems (#35123)
* Initial commit

* Removed mention of StationAiTurretComponent (for now)

* Prep for moving out of draft

* Fixing merge conflict

* Re-added new net frequencies to AI turrets

* Removed turret control content

* Removed unintended change

* Final tweaks

* Fixed incorrect file name

* Improvement to fire mode handling

* Addressed review comments

* Updated how turret wire panel auto-closing is handled

* Ranged NPCs no longer waste shots on stunned targets

* Fixed bug in tracking broken state

* Addressed review comments

* Bug fix

* Removed unnecessary event call
2025-03-29 12:55:58 -05:00
Plykiya
96501f4966 Adds popup when firing gun while gun has no ammo (#34816)
* Adds popup when firing gun while gun has no ammo

* simplify

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-13 10:21:24 +03:00
slarticodefast
7283f9b6dc fix delta state in SharedGunSystem (#35510) 2025-02-26 22:11:17 +11:00
slarticodefast
d171057680 UseInHandEvent cleanup (#35231) 2025-02-18 23:27:30 +11:00
sleepyyapril
5af13ae807 Fix Double Muzzle Flash (#33981)
* Pass user to effects to properly fix double muzzle flash.

* Use gun when user is null.

* Update MuzzleFlashEvent.cs

* Update MuzzleFlashEvent.cs

* Update GunSystem.cs

* Update SharedGunSystem.cs

* Update MuzzleFlashEvent.cs

* Update SharedGunSystem.cs

* Update SharedGunSystem.cs

* Update Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

---------

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
2025-01-30 14:34:05 +01:00
themias
b2b3b22a04 Apply forensics when loading with an ammo box (#32280) 2025-01-04 14:41:45 +01:00
metalgearsloth
9f4aa1ebe0 Implement some field-level deltas (#28242)
* Update GasTileOverlayState

* Update DecalGridState

* Update NavMapState

* poke

* poke2

* poke3

* Implement field deltas for guns

* Content done

* Update

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2024-12-21 15:54:11 +11:00
BramvanZijp
ce9fc82382 Rework the HoS's Energy Shotgun (Varying energy consumption depending on fire-mode + re-adds a toned down self recharge.) (#32104)
* Rebalance HoS's Energy Shotgun

* SLIGHTLY Up the max charge so the gun properly recharges all of its charges, which matters a lot more with the self charge cooldown system.

* Prevent recharge cooldown if 0 power is used.

* Makes the clientside HUD actually update to reflect the changes in firecost and thus max/current charges.

* Properly fix that recharging to just under full issue instead of applying a budget fix to only the eshotgun.

* Clean up the client ammo UI fix.

* Update the self recharger component to comply with maintainer request.

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Remove code that was made redundant by a hotfix from another PR.

* Make the recharge pause on EMP, document things where needed, clean up code as per maintainer request, add a note to make the code better when power is moved to shared.

* Fix another internal issue

* Code cleanup + fix the rapid recharge verb to remove pause.

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-12-11 17:21:04 +01:00
metalgearsloth
1a8e469c58 Fix battery self-recharge mispredicts (#33384) 2024-12-11 16:58:02 +01:00
MilenVolf
8b154899b5 Allow editing angle of the fired projectile (#33254)
Add Angle datafield to `ProjectileComponent`. It allows to change the angle of the fired projectile
2024-11-12 20:11:02 +01:00
SlamBamActionman
b15d5a7f27 Changes to "Burst" firemode; Drozd, WT550 and C20-r (#31292)
* Initial commit

* Change burst fire variable to be a set value rather than a multiplier
2024-11-06 15:39:16 +01:00
BramvanZijp
d588409909 Rework the Flare Gun & add a Security Shell Gun. (#32829)
* Rework flaregun and add security shell gun

* Make flare gun twice as likely to appear in emergency lockers

* Security shell gun can now fire lethal shells like the flare gun used to be able to.

* Rebalance the sec shell gun material cost to primarily be steel instead of plastic

* Define the ShellShotgunLight tag in tags.yml

* Leave the no lethal shells for normal flareguns to a different PR.

* Move a comment to re-run checks.

* Bye bye lethal shells from plastic guns.

* Fix weird whitespace issue.

* Make the sec shell gun inherit the normal flare gun.

* Remove the rack verb and update the sec shell gun description

* Remove the ability to fire lethals from flare guns, pending blowing up the gun

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2024-11-06 15:27:10 +01:00
Nemanja
e510504596 Hivelord mob (#31322)
* Hivelord

* make it longah
2024-09-11 09:52:27 -04:00
metalgearsloth
1649ed45bd Add access to gun components (#30688)
* Add access to gun components

Found from an rmc14 PR.

* Admin verbs proving why access needs to exist

* Someone is probably going to post this pr to le reddit and complain about self-merges.
2024-08-09 17:39:27 +10:00
Plykiya
190ceda02e Add BreakOnDropItem, update do afters, remove unnecessary declarations (#30361)
* Add BreakOnDropItem, update do afters, remove unnecessary declarations

* bola

* Changed my mind about the nuke

* gennies too

* Make the comments more clear.

* Sorry for the trailing commas

* Revert "Sorry for the trailing commas"

This reverts commit e60fd9a30977393df3344948e6d5c0ce035723cd.

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-08 13:39:46 +02:00
slarticodefast
bb2981400c replace all uses of TryGetContainingContainer with non-obsolete overload (#30583)
* replace all uses of TryGetContainerContainer with non-obsolete overload

* rerun
2024-08-04 15:38:53 +10:00
Kaga-404
745d90ad73 Revolver fixes for caseless ammo and wielding (#30117)
* handled check

* splits Handled and TryResetDelay checks
2024-08-02 15:43:11 +10:00
Errant
eb861d173f Wrong magazine popup (#29046)
* wrong magazine

* a single typo

* removed GunSystem solution

* magazine misfit warnings
2024-07-22 23:36:05 -07:00
metalgearsloth
b4ec629b9f Fix muzzle flash tracking (#30163)
* Fix muzzle flash tracking

User was never set on the networked event but we don't really need it anyway.

* Also this one
2024-07-21 02:09:16 -04:00
Plykiya
6c1d1057d5 Replace DetachParentToNull() with DetachEntity() (#29992)
DETACH PARENT TO ENTITY

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-13 20:59:33 +10:00
Cojoke
08b12f34b3 Fix Shotgun Spam Loading (#29827) 2024-07-09 14:23:08 +10:00
geraeumig
ab8b3ecec2 Fix magazine sprites after Auto Eject (#28859)
Co-authored-by: geraeumig <alfenos@proton.me>
2024-06-12 22:23:15 -04:00
Plykiya
c5ff647ca6 Replace obsolete EntityWhitelist IsValid usages part 2 (#28506) 2024-06-03 17:40:03 -04:00
Plykiya
d6ba166d3b Replace obsolete EntityWhitelist IsValid usages (#28465)
* Replace obsolete whitelist is valid with whitelist system

* Consistency

* Fix logic

* Bork

* I figured out how to get whitelists on the client lol

* test fail

* woops

* HELP ME FUNCTIONS

* Fix errors

* simplify

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-06-01 23:10:24 -04:00
DrSmugleaf
e3a66136bf Fix the client thinking it cannot shoot after mispredicting when it actually can (#28464) 2024-06-01 02:35:14 -07:00
Nemanja
a1a8f04036 Decouple interactions from hands, cleanup old events, add new fears (#28393)
* ok basic shit

* second part

* pretend it isn't real it can't hurt you.

* 👁️ 👁️

* shadowcommander review
2024-05-31 13:26:19 -07:00
Leon Friedrich
53213a0200 Fix gun cooldown timespan overflow exception (#28136) 2024-05-19 16:07:45 -06:00
DrSmugleaf
f22e5404aa Make failing to fire a gun that requires wielding not delay the next shot (#27973)
Make failing to fire a wield-only gun not delay the next shot
2024-05-13 21:53:47 -07:00
Kara
855234aa30 Resolve 'TransformComponent.MapPosition' is obsolete in content (#27939)
* Resolve `'TransformComponent.MapPosition' is obsolete: 'Use TransformSystem.GetMapCoordinates'` in content

* build?
2024-05-12 10:31:54 -04:00
DrSmugleaf
8b88fe4bb7 Make projectiles not hit crit mobs unless clicked on (#27905) 2024-05-11 11:42:11 -04:00
deltanedas
d6d1c9ed8a make dragons breathe fire (#26746)
* add ActionGun system

* add RepeatingTrigger

* dragons breath projectile, repeatedly explodes

* give dragon fire breathing action, fireproof it

* oop

* oop 2

* prevent troll

* proper repeating thing

* pro

* webedit ops

* realops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-07 17:25:41 -07:00
metalgearsloth
5053c8afdb Fix effects (#27533)
* Fix effects

- Fix muzzle flash rotations.
- Fix effects so they update every frame.
- Fix effects tanking client performance.

* Fix merge artifact
2024-05-02 12:40:07 +10:00
DrSmugleaf
13cef85a6e Fix rockets and lasers looking like they have nothing loaded (#26933) 2024-04-14 13:17:17 +10:00
Jake Huxell
59e46aab93 Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests
2024-03-29 16:28:16 +11:00
Tayrtahn
964c6d54ca Code cleanup: Purge obsoleted SharedPhysicsSystem methods (#26287)
Updated calls to SharedPhysicsSystem methods
2024-03-25 17:37:25 +11:00
IProduceWidgets
451890b85b Fix admin verb to set unspawned ballisic ammo count (#26411)
Don't crash if an invalid value is given.
2024-03-24 17:45:01 -07:00
Tayrtahn
4a83c36585 Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No
2024-03-19 23:27:02 -04:00
nikthechampiongr
362d56981f Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments
2024-03-19 21:09:00 +11:00
metalgearsloth
fc0ff8fb31 Fix gun cycling ammo count update (#25635)
Doesn't update correctly when cycling.
2024-02-27 11:40:19 -05:00
metalgearsloth
a9502be29e Revert "Fix chat bubbles (#25643)" (#25645)
* Revert "Fix chat bubbles (#25643)"

This reverts commit 23d2c4d924.

* Revert "Fixes obsolete Transform warnings in Content. (#25256)"

This reverts commit f284b43ff6.
2024-02-28 00:51:20 +11:00
TemporalOroboros
f284b43ff6 Fixes obsolete Transform warnings in Content. (#25256)
* Fix TransformComponent.MapPosition warnings in Content.Client

* Fix TransformComponent.MapPosition warnings in Content.IntegrationTests

* Fix TransformComponent.MapPosition warnings in Content.Shared

* Fix TransformComponent.MapPosition warnings in Content.Server

* Fix TransformComponent.WorldPosition warnings in Content.Shared

* Fix TransformComponent.WorldPosition warnings in Content.Client
Excepts ClickableComponent b/c that needs to be ECS'd entirely later

* Fix TransformComponent.WorldPosition warnings in Content.Server

* Fix TransformComponent.WorldRotation warnings in Content.*

* Fix TransformComponent.MapPosition warnings I missed

* Fix TransformComponent.WorldMatrix warnings in Content.*

* Fix TransformComponent.InvWorldMatrix warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotationMatrixWithInv warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotationMatrix warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotation warnings in Content.*

* Fix TransformComponent.Anchored.set warnings in Content.*

* Fix TransformComponent.Coordinates.set warnings in Content.*

* Fix TransformComponent.LocalPosition.set warnings in Content.*

* Fix TransformComponent.AttachToGridOrMap warnings in Content.*

* Fix TransformComponent.AttachParent warnings in Content.*

* Preempt TransformComponent.LocalRotation.set warnings in Content.Shared

* Preempt TransformComponent.LocalRotation.set warnings in Content.Client

* Preempt TransformComponent.LocalRotation.set warnings in Content.IntegrationTests

* Preempt TransformComponent.LocalRotation.set warnings in Content.Server

* Fix/Preempt the remaining obsolete TransformComponent properties/methods in Content.*

* ECS ClickableComponent

* Fix obsolete SharedTransformSystem methods in Content.*

* Fix ExplosionOverlay `SharedTransformSystem` dependency

* Maybe fix null eye position breaking tests

* MGS requested changes
2024-02-27 12:06:20 +11:00
Pieter-Jan Briers
e00f74505c Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.
2024-02-26 14:36:19 +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
metalgearsloth
58b55ba06c BatteryWeaponFireModes refactor (#24502)
* BatteryWeaponFireModes refactor

Made the code a bit better but still needs integrating into attachments.

* murder

* Fix serialization

* weh

* weh
2024-01-29 11:09:56 +11:00
DrSmugleaf
4e8b1fb0d3 Add events for GunComponent values, muzzle flashes and cartridge spread (#24077)
* Add a modifier event for GunComponent values

* Add docs

* Add VV readwrite to modified values

* Add more docs

* More docs

* Add Gun parameter to GunRefreshModifiersEvent

* Add another event for handling cartridge spread

* Fix pneumatic speed
2024-01-29 10:32:42 +11:00
Dakamakat
7b2e382929 Use can attach check on shot attempt (#24396)
refactor(SharedGunSystem): use can attach check on shot attempt
2024-01-22 23:15:00 -05:00
metalgearsloth
9bb2781bfc Bunch of revolver fixes (#19649)
* Bunch of revolver fixes

Some stuff wasn't working with prediction so this should fix all of it.

* a

* fix weh

* Also usedelay
2024-01-21 22:16:46 +11:00
Ed
a2d5d74b46 Star Wars 14: Shuttle weapon update (#23644)
* setup codebase

* make auto-fire, but its broken

* collider problem

* fix rate, add toggle port

* add laser

* power cages

* ginormous cells

* fix inhand

* add pirate cannon

* salvage gun

* functional Nuke cannon

* rewrite to standart grenade

* fix naming, add emp sprite

* grenade cartridge

* thruster fix

* nuke cannon

* audio + visual polish

* balance tweak

* tweaks

* laser balance tweak: new Electronic damage modifier set, reduce structural cannon damage

* resprite energy cages, start implementing in game

* fix cage recharger craft

* add small laser gun

* fix colliders

* add  lasers and ptk to research and crafting

* finish implementing weapon to rnd and sec

* some fixes

* splitted grenades and cannon balls

* integrate new cannon balls

* tweaks stick

* move circuits to sectechfab, fix

* fix?

* add ability to E shoot, without signals

* fix!

* fix?!?! and naming tweak

* go!

* Lank fix

* oh

* mornings don't start with coffee.

* the morning starts with bug fixes.

* fucking bugs!

* finally

* it is now possible to craft projectiles separately from cartridges

* +2 fix

* refactor

* piu

* More weight

* add AutoShootGunComponent

* move autoshoot to partial

* SetEnabled()

* some fixes

* remove CanShootWithoutUser field

* remove null-checks ToCoordinates from AttemptShoot()

* war without reason

* return to home

* ?

* forgot remove it

* review

* Fix formatting and update path

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-01-21 19:58:40 +11:00
metalgearsloth
b535909a49 Fix gun bolt crash (#24283)
Deleting non-predicted entities moment.
2024-01-19 21:14:41 +11:00