Commit Graph

78 Commits

Author SHA1 Message Date
Cojoke
ef1fadf275 Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-09-02 13:26:04 +02:00
Sigil
4a54bb7c1d Fixes the projectile list in AmmoShotEvent when firing something with a ProjectileSpreadComponent (#31300)
Fixed multiple projectile addition.
2024-08-22 13:05:56 -04:00
RiceMar1244
b432dc6125 Shotgun spread refactor (#27773)
* Moves spread data to new component

* Refactors shotgun spread code

* Makes shotgun cartridges and projectiles use new component

* Attempts to fix nullable build error

* Fixes hitscan weapons that I broke :(

* Saviour commit?

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2024-08-03 09:26:32 -04:00
Cojoke
19a06b6cc0 Fix the ability to shoot out of crates (#28961)
* Fix the ability to shoot out of crates

* Makes it check what inventory the player is in

* use IsEntityOrParentInContainer

* Fix Issues Github had

* gaahhh... Prevents lasers from being shot out of crates

* gaahhh... Prevents lasers from being shot out of crates

* Fix laser?

* hmmm... this is better looking I think?

* Uncook indentation

* Rerun tests?
2024-07-11 15:14:49 +10:00
Cojoke
57858cd6a5 Lasers passover objects like projectiles unless the target is clicked on (#28768)
* uh...

* fix

* alright, there we go

* Revert "alright, there we go"

This reverts commit 448180bfa58cc24c42a4d59ef34c017b9941f37b.

* Make lasers not hit certain objects and lying mobs unless clicked on

* comment

* Update Content.Server/Weapons/Ranged/Systems/GunSystem.cs

* an l vanished?

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-06-14 12:04:45 +10:00
eoineoineoin
b44b159431 Replace Matrix3 with System.Numerics.Matrix3x2 (#27443)
Replace Matrix3 with Matrix3x2
2024-06-02 14:07:41 +10: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
DrSmugleaf
8b88fe4bb7 Make projectiles not hit crit mobs unless clicked on (#27905) 2024-05-11 11:42:11 -04: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
6b5e99f5eb Make bullets inherit the velocity of the grid, not the gun or player (#27484) 2024-04-29 23:12:29 +10:00
Bixkitts
ae8a68b7cd MeleeHitSoundSystem (#25005)
* Began work to unscrew melee noises

* finished

* cleanup

* cleanup

* Update Content.Server/Weapons/Melee/MeleeWeaponSystem.cs

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* _Style

* Fix merge

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-03-31 16:21:01 +11: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
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
Tayrtahn
2935e5bd78 Remove all obsolete BatteryComponent method calls (#25871)
Removed all obsolete, non-ECS method calls to BatteryComponent
2024-03-06 16:34:50 +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
Jessica M
d0c24f9aff Makes clumsy not delete guns (#25243)
clumsy no longer deletes guns

Co-authored-by: Jessica M <jessica@maybe.sh>
2024-02-14 16:04:06 -07:00
metalgearsloth
e1901aa6b6 Revert "Make flare gun explode, damage and stun the player when used … (#24679)
* Revert "Make flare gun explode, damage and stun the player when used with the wrong ammo (#22349)"

This reverts commit e301378114.

# Conflicts:
#	Content.Shared/Weapons/Ranged/Components/GunComponent.cs
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml

* Fix revert conflicts

* Update Content.Shared/Weapons/Ranged/Components/GunComponent.cs
2024-01-29 11:20:34 +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
LordCarve
c77eb8691d DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.
2024-01-21 18:59:14 -07: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
keronshb
2375a6cd1d Moves ShootProjectile to shared (#24007) 2024-01-13 15:52:02 +11:00
TemporalOroboros
d23c8d5c19 Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00
Emisse
938d6d9945 Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00
TemporalOroboros
d75e743dd7 Solution Entities (#21916)
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class

* Switches over to the Solutions.Solution Solution

* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions

* Switches over to the Containers.XYZ namespace

* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods

* Start using SolutionSystem for Solution manipulation

* EnumerateSolutions

* Move TryGetMixableSolution

* Move EnsureSolution to Server

* Create Solution Entities

* Stop using obsolete solution system methods

* Fix prototype component tests

* Add using ..Audio.Systems; back

* Wrap solution container slots in ContainerSlots

* Actually add the slot to the solution container map

* Dirty SolutionContainerComponent when ensuring solutions

* Revert namespace changes

* Remerge SolutionSystem and SolutionContainerSystem

* SolutionContainerManagerComponent refactor

* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release

* Readd examine reagent sorting

* Fix errors

* Poke tests

* Fix solution names not being applied

* Fix WoolyComponent including statement

* Fix merge skew

* Fix compile errors

* Make reactions use solntities

* Reindent solution class namespace

* Field attribute changes

* AutoGenerateComponentState for SolutionContainerComponent

* SolutionContainerComponent -> ContainedSolutionComponent

* ref ReactionAttemptEvent

* Denetwork preinit solutions

* Misc 1

* Nullable TryGetSolution out vars

* Cache associated solutions

* Fix merge skew

* Use explicit regions in SharedSolutionContainerSystem.Capabilities

* Add debug assert

* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent

* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName

* SolutionComponent doc comments

* Implicit DataField names and property purge

* ReagentEffect DataField names

* Local variables for readability

* Sort using statements + Entity<T> event handlers

* Fix compile erros

* Fix compile errors

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-12-28 17:58:14 -08:00
TemporalOroboros
7a77d6d5dd Content ecs containers (#22484) 2023-12-28 01:30:03 -04:00
MendaxxDev
e301378114 Make flare gun explode, damage and stun the player when used with the wrong ammo (#22349)
* Flare gun can now only be loaded with actual flares

* Make flare gun loadable with other shells, but destroy it and damage and stun the user when used

* tweak

* Logic fix + QOL add-ons

* damageOnWrongAmmo in gun component

* cleanup
2023-12-15 02:57:59 -07:00
DrSmugleaf
c72b95db6b Fix debug assert when shooting guns (#21070) 2023-10-18 15:45:35 +11:00
TemporalOroboros
0775ab6a14 Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-15 03:45:28 +11:00
Leon Friedrich
364c9b7f0a DamageableSystem cleanup & performance improvements (#20820) 2023-10-09 03:27:41 +11:00
DrSmugleaf
a44fa86b68 Update trivial components to use auto comp states (#20539) 2023-09-28 16:20:29 -07:00
metalgearsloth
5a0fc68be2 Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
metalgearsloth
3ab346f471 Remove Ammo component references (#19537) 2023-08-31 14:33:28 -07:00
chromiumboy
26eb71f1eb C.H.I.M.P handcannon redesign (#19004)
* Added basic alternative fire mode system for the CHIMP

* Redesign of the CHIMP handcannon
- the CHIMP now has an internal rechargable battery (10 shots at 100% charge)
- it has three alternative fire modes, one for each particle type, that its user can easily switch between
- syndicate scientists have access to an experimental version which can also fire omega particles (4 TC)
- each particle type now has a distinct color and damage type: delta (red): heat, epsilon (green): radiation, zeta (yellow): shock, omega (purple): heat + radiation. This affects A.P.E.s as well
- CHIMP particles now do 10 damage (up from 5)
- all CHIMP particle cartridges have been removed from the game (including the syndicate omega particle ammo pack)

* Code revisions

* Code revisions
- Removed changes to particle damage and damage types
- The experimental CHIMP was removed from the syndicate uplink and replaced with an upgrade kit, which when used on a standard CHIMP will convert it to an experimental one

* Code revisions
- Added a 2 second DoAfter for applying the upgrade kit

* Fixed spelling mistake

* Update projectiles.yml

Removed commented code

* Update Content.Server/Weapons/Ranged/Systems/AlternativeFireModesSystem.cs

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Code revisions
- Implemented changes requested by EmoGarbage
- Removed UpgradeKitComponent in favor of using a construction graph
- Renamed AlternativeFireModesComponent.cs to BatteryWeaponFireModesComponent.cs

Textures
- Reverted omega particle to being a green color
- Epsilon particles are now a cyan color

* Added comments

* Revisions
- Moved BatteryWeaponFireModesComponent from Shared to Server
- Restricted access to this component to BatteryWeaponFireModesSystem
- Changed the CHIMP upgrade kit to a chip
- Updated the localization files to reflect this change

* Delete interaction-upgrade-kit-component.ftl

This file is no longer needed

* Update battery_guns.yml

Added new description for the experimental CHIMP

* Update battery_guns.yml

Updated experimental CHIMP description again...

* Fixed issue with ItemComponent

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2023-08-19 18:54:52 -04:00
TaralGit
8acac895fc (Re)Adds open bolt animations for gun sprites (#17219)
Co-authored-by: and_a <and_a@DESKTOP-RJENGIR>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-08-13 15:58:07 +10:00
metalgearsloth
0f917d22d7 Color flash effect fixes (#18952) 2023-08-10 10:44:52 -07:00
Slava0135
53db6bc265 Examine throwable damage (#18580) 2023-08-07 19:09:35 +10:00
metalgearsloth
a5ed3af5b1 Gun cleanup (#18682) 2023-08-05 12:49:27 +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
Arendian
2c5f202dca Eject casings some distance from the gun (#18081)
Makes bullet casings launch a bit away from you when shooting a gun. Cycling still drops it at your feet.

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-07-29 14:07:31 -07:00
Arendian
580d481710 Make clumsy entities able to shoot funny weapons (#18156)
* Make clumsy entities able to shoot funny weapons

* remove unneeded line
2023-07-19 15:22:07 -06:00
metalgearsloth
68480af109 Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
Chief-Engineer
9b1d587235 add reflect logs (#17006) 2023-06-01 15:57:31 +10:00
metalgearsloth
cd487b66e4 Content mapmanager query changes (#16894) 2023-05-28 23:22:44 +10:00
Chief-Engineer
0053ddb8f8 fix hitscan log (#16884) 2023-05-28 17:01:08 +10:00
metalgearsloth
552fbb0585 Adds grappling gun (#16662) 2023-05-27 14:15:15 +10:00
metalgearsloth
775258be52 Add tether gun (#16430) 2023-05-18 11:36:06 +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