Skip to content

Commit

Permalink
HLPS2 hgrunt AI
Browse files Browse the repository at this point in the history
  • Loading branch information
IntriguingTiles committed Sep 16, 2024
1 parent e8bb945 commit 72a2be7
Show file tree
Hide file tree
Showing 6 changed files with 449 additions and 14 deletions.
3 changes: 3 additions & 0 deletions dlls/basemonster.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ class CBaseMonster : public CBaseToggle

bool m_AllowItemDropping = true;

EHANDLE m_hUnknown_0x294;
float m_fUnknown_0x29c;

bool Save(CSave& save) override;
bool Restore(CRestore& restore) override;

Expand Down
3 changes: 3 additions & 0 deletions dlls/combat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1232,6 +1232,7 @@ bool CBaseEntity::FVisible(CBaseEntity* pEntity)
vecTargetOrigin = pEntity->EyePosition();

UTIL_TraceLine(vecLookerOrigin, vecTargetOrigin, ignore_monsters, ignore_glass, ENT(pev) /*pentIgnore*/, &tr);
UTIL_TRACELINE_THROUGH_FUNC_WALL(tr, vecTargetOrigin, ignore_monsters, ignore_glass)

if (tr.flFraction != 1.0)
{
Expand All @@ -1255,6 +1256,7 @@ bool CBaseEntity::FVisible(const Vector& vecOrigin)
vecLookerOrigin = EyePosition(); //look through the caller's 'eyes'

UTIL_TraceLine(vecLookerOrigin, vecOrigin, ignore_monsters, ignore_glass, ENT(pev) /*pentIgnore*/, &tr);
UTIL_TRACELINE_THROUGH_FUNC_WALL(tr, vecOrigin, ignore_monsters, ignore_glass)

if (tr.flFraction != 1.0)
{
Expand Down Expand Up @@ -1395,6 +1397,7 @@ void CBaseEntity::FireBullets(unsigned int cShots, Vector vecSrc, Vector vecDirS

vecEnd = vecSrc + vecDir * flDistance;
UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev) /*pentIgnore*/, &tr);
UTIL_TRACELINE_THROUGH_FUNC_WALL(tr, vecEnd, dont_ignore_monsters, dont_ignore_glass)

if (iTracerFreq != 0 && (tracerCount++ % iTracerFreq) == 0)
{
Expand Down
38 changes: 38 additions & 0 deletions dlls/ggrenade.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,7 @@ void CGrenade::Spawn()
UTIL_SetSize(pev, Vector(0, 0, 0), Vector(0, 0, 0));

pev->dmg = 100;
m_bPickedUp = false;
m_fRegisteredSound = false;
}

Expand Down Expand Up @@ -436,6 +437,43 @@ CGrenade* CGrenade::ShootTimed(entvars_t* pevOwner, Vector vecStart, Vector vecV
return pGrenade;
}

void CGrenade::KickBack(entvars_t* pevOwner, Vector vecVelocity, float time)
{
pev->velocity = vecVelocity;
SetTouch(&CGrenade::BounceTouch);
UTIL_SetOrigin(pev, pev->origin + Vector(0, 0, 1));
pev->flags &= ~FL_ONGROUND;
pev->effects &= ~EF_NODRAW;
pev->movetype = MOVETYPE_BOUNCE;
pev->solid = SOLID_BBOX;
pev->owner = ENT(pevOwner);
pev->dmgtime = gpGlobals->time + time;
SetThink(&CGrenade::TumbleThink);
pev->nextthink = gpGlobals->time + 0.1;
pev->sequence = RANDOM_LONG(3, 6);
pev->framerate = 1.0;
pev->frame = 0;
m_bPickedUp = false;
}

void CGrenade::ThrowBack(entvars_t* pevOwner, Vector vecStart, Vector vecVelocity, float time)
{
pev->velocity = vecVelocity;
SetTouch(&CGrenade::BounceTouch);
UTIL_SetOrigin(pev, vecStart);
pev->flags &= ~FL_ONGROUND;
pev->effects &= ~EF_NODRAW;
pev->movetype = MOVETYPE_BOUNCE;
pev->solid = SOLID_BBOX;
pev->owner = ENT(pevOwner);
pev->dmgtime = gpGlobals->time + time;
SetThink(&CGrenade::TumbleThink);
pev->nextthink = gpGlobals->time + 0.1;
pev->sequence = RANDOM_LONG(3, 6);
pev->framerate = 1.0;
pev->frame = 0;
m_bPickedUp = false;
}

CGrenade* CGrenade::ShootSatchelCharge(entvars_t* pevOwner, Vector vecStart, Vector vecVelocity)
{
Expand Down
Loading

0 comments on commit 72a2be7

Please sign in to comment.