Commit Graph

8 Commits

Author SHA1 Message Date
Mervill
4265b4a052 Replace obsolete functions in NPC systems (#31448)
(cherry picked from commit e85c25a7468b4daea7a5f1deb85900a9151651cf)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:10:33 +10:00
osjarw
0226a6843f NPC exits MeleeOperator on invalid EntityUid (#30005)
EntityUid 0 problem fix

(cherry picked from commit 922be642904ede5988835a9143357d47be731b8d)
2025-07-20 15:10:32 +10:00
VMSolidus
4ca5bf2131 Weapon Range Fixes (#2442)
My previous code for melee weapon range modifiers was missing, this PR
restores and adds actual functionality for weapon range modifiers in all
instances of weapon range, as well as adds specific range modifiers for
light attack and disarm attack.

🆑
- fix: Fixed melee weapons "Bonus range for heavy attacks" not
functioning correctly.
- add: Added support for melee weapons having bonus range on disarms or
light attacks.
2025-07-12 02:16:34 +10:00
Spatison
a2557f75a6 Upstream (#129) 2024-11-21 17:49:04 +07:00
VMSolidus
4a64a31bd3 Variable NPC Juke Aggression (#935)
# Description

This PR un-hardcodes the JukeSystem timer, such that individual NPC HTN
Blackboards can directly state how often, and how far they wish to juke.
The effect of this is that NPCs are no longer completely impossible to
hit with left-clicks in melee combat, while also allowing for more
"Elite" enemies that juke more aggressively and more often to be
created.

Additionally, by introducing an exit condition based on this new "Juke
Cooldown", I have made the Juke Operator run a metric shitload of
expensive calculations 5000 times less often.

<details><summary><h1>Media</h1></summary>
<p>

Melee enemy with the new default juke settings, 0.5 second juke
duration, with 5 second juke Cooldown. The reagent slime will attempt to
close to melee with its enemy, but will now only attempt to evade melee
attacks once per 5 seconds. They will otherwise attempt to stay within
melee range.


https://github.com/user-attachments/assets/653e2064-e404-4be6-a958-da43096de502

</p>
</details>

# Changelog

🆑
- tweak: JukeOperator now allows for JukeDuration and JukeCooldown
arguments. JukeCooldown is a new feature where enemies must wait an
amount of time in seconds equal to the JukeCooldown, before they are
allowed to attempt to dodge a melee attack.
- tweak: By default, NPCs will only attempt to dodge attacks once every
5 seconds.
- fix: JukeOperator now performs extremely expensive math 5000 times
less often. EXIT CONDITIONS PEOPLE!
2024-10-19 13:12:12 +07:00
Pieter-Jan Briers
e7a3b82a8d Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.

(cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074)
2024-03-07 00:57:05 +01:00
metalgearsloth
e9a4b1c747 Fix NPC juke stuttering (#19805) 2023-09-03 21:34:20 -07:00
metalgearsloth
c31c848afd Shooting NPCs and more (#18042)
* Add pirate shooting

* Shooting working

* Basics working

* Refactor time

* More conversion

* Update primitives

* Update yml

* weh

* Building again

* Draft

* weh

* b

* Start shutdown

* Starting to take form

* Code side done

* is it worky

* Fix prototypes

* stuff

* Shitty working

* Juke events working

* Even more cleanup

* RTX

* Fix interaction combat mode and compquery

* GetAmmoCount relays

* Fix rotation speed

* Juke fixes

* fixes

* weh

* The collision avoidance never ends

* Fixes

* Pause support

* framework

* lazy

* Fix idling

* Fix drip

* goobed

* Fix takeover shutdown bug

* Merge fixes

* shitter

* Fix carpos
2023-08-01 19:48:56 -05:00