2a220fb331
Move base classes out of gs-entbase. This evolution only happened because classes such as CBaseMonster that once existed were replaced and it grew from there.
...
Tweak g_developer prints for scripted_sequences.
2022-07-19 15:22:15 -07:00
dc1cbc5da8
NSMonster: add InSequence() method. Fix scripted sequences.
...
PMove: use self.mins instead of PHY_HULL_MINS when testing friction.
disable friction for monsters for now, as it can break some scripted sequences.
2022-07-18 11:32:18 -07:00
d7418151f0
Client: Disable some expensive routines when paused.
2022-07-18 10:02:04 -07:00
0ae901f5e1
NSMonster: Add InAnimation() method. Also prohibit movement when in an animation.
2022-07-18 09:22:18 -07:00
4566d07313
NSMonster/NSTalkMonster: more reshuffling done. Started moving the pathfinding components over into a new class named NSNavAI
2022-07-17 20:34:19 -07:00
6c895d73b7
NSMonster: Initial work towards reworking states.
2022-07-17 00:04:01 -07:00
Ivan Kukush
ea462ea8ac
NSMonster: move enemy invalidation from AttackThink() to SeeThink()
...
During enemy invalidation reseting m_eEnemy to __NULL__ also set monster state to idle,
should be a task for NSMonster::SetEnemy() which is missed right now.
Add new NSMonster::IsValidEnemy(entity enemy) - returns TRUE if 'enemy' should be
considered a valid target for killing, visibility/reachability is not checked.
Add sanity checkes in NSMonster::WalkRoute() otherwise __NULL__ m_eEnemy could be used.
NSMonster_FindClosestPlayer() use IsValidEnemy() insead of health checking,
probably too strict and that changes its behaviour too much, probably.
2022-07-17 01:35:22 +03:00
66b09de431
Big commit fixing many regressions since crunch hit. env_sprite has been reworked.
...
multi_manager entities now behave correctly when calling themselves in MULTITHREADED mode.
Remove GS_RENDERFX option. Too many entities rely on its functionality anyway.
Fixed some rendermode behaviour - ladders will no longer be visible.
You can now see the playermodel (and no longer the viewmodel) in mirrors.
Fixed a lot of warnings.
2022-07-07 09:10:14 -07:00
a7d7dcd9ee
Change the last commit by turning this into an NSMonster specific function instead.
2022-06-08 17:41:02 -07:00
ad093548b5
Clean up some misc building stuff. Based on input by BartoCH, many thanks!
...
I'd like to make the gmake check nicer when I have more time.
2022-06-06 19:58:29 -07:00
50070b031b
NSMonster: Add MSF_HORDE flag. That marks a monster as constantly being aware and finding the nearest player for attack.
2022-05-26 15:24:08 -07:00
299b2eed72
scripted_sequence & multi_manager: Mark both their return values as positive once they've triggered their targets only.
2022-05-04 13:59:10 -07:00
ef6c200751
NSTalkMonster: pause CHAN_VOICE and resume when unpaused.
2022-05-04 10:59:42 -07:00
66e982b901
NSMonster: Go over the animation code to add timers that handle ACT-based sequences better.
2022-05-01 22:45:30 -07:00
e79a2e9c2e
NSMonster: Add method bool CanCrouch(). Monsters will then attempt to crouch.
...
SoundDefs: Add support for distshader on Sound_PlayAt() calls.
2022-04-10 07:01:14 -07:00
6fb067eed3
My name has changed, so an update to the copyright to reflect it.
2022-03-11 11:40:43 -08:00
578da4a779
Add VGUI_Active() which returns whether or not we're drawing VGUI elements,
...
add SNDFL_ALERTS to sound shaders, which will alert enemy AI of suspicious
behaviour, fix a health-setting bug in NSSurfacePropEntity and remove
playerslot check in item_pickup from base/
2022-01-28 16:02:00 -08:00
abdce0b61d
NSMonster: Improve 'seeing', don't target just anything with takedamage set to YES.
...
Add 'AlertNearby()' which is called when a monster sees a new enemy,
gets hit or dies.
2022-01-28 12:31:24 -08:00
92bb821ad9
NSMonster: Add GetWalk/Run/ChaseSpeed methods to override movement speeds
...
of each monster class that's based upon it.
2022-01-25 20:07:25 -08:00
7963b11a7d
NSMonster: Add MeleeMaxDistance() and MeleeCondition(), so classes can
...
easily override condition and distance of their melee attacks.
2022-01-24 12:29:06 -08:00
709f0a2297
scripted_sequence: More work to make c1a3 and t0a0a work properly
2022-01-21 17:24:39 -08:00
06d07738b6
Clean up the base classes, get rid of having to manually include the entbase
...
defs.h for the respective progs.
2022-01-20 16:23:29 -08:00
11c37f789d
NSMonster: Add TriggerCondition for death of an NSMonster.
2022-01-10 13:18:25 -08:00
749424aa84
NSMonster: Add support for actions (used in e.g. HLMDL) to query which seq
...
to play. This will be expanded shortly in-engine to support more formats...
2022-01-06 19:27:08 -08:00
fa5cdd5a80
Initial commit of the Save/Restore system, this is the first reference
...
implementation of QuakeC controlled save-files and SV_PerformLoad() and
SV_PerformSave that Spoike added into FTEQW for Nuclide.
2021-10-22 20:51:51 +02:00
249e4bc612
Massive revamp of the Nuclide system classes, more efficient networking
...
and memory usage thanks to intelligent boxing of fields.
Added Util_TimeToString, removed old VOX code, added lots of new helper
classes...
2021-10-20 01:19:10 +02:00