mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2024-12-27 23:35:30 +03:00
Exposed npc_sniper to VScript
This commit is contained in:
parent
8d807b5b0b
commit
97116a5eca
@ -334,6 +334,10 @@ private:
|
|||||||
|
|
||||||
bool IsPlayerAllySniper();
|
bool IsPlayerAllySniper();
|
||||||
|
|
||||||
|
#ifdef MAPBASE
|
||||||
|
const Vector &GetPaintCursor() { return m_vecPaintCursor; }
|
||||||
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
/// This is the variable from which m_flPaintTime gets set.
|
/// This is the variable from which m_flPaintTime gets set.
|
||||||
@ -403,6 +407,9 @@ private:
|
|||||||
DEFINE_CUSTOM_AI;
|
DEFINE_CUSTOM_AI;
|
||||||
|
|
||||||
DECLARE_DATADESC();
|
DECLARE_DATADESC();
|
||||||
|
#ifdef MAPBASE_VSCRIPT
|
||||||
|
DECLARE_ENT_SCRIPTDESC();
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -500,6 +507,26 @@ BEGIN_DATADESC( CProtoSniper )
|
|||||||
|
|
||||||
END_DATADESC()
|
END_DATADESC()
|
||||||
|
|
||||||
|
#ifdef MAPBASE_VSCRIPT
|
||||||
|
BEGIN_ENT_SCRIPTDESC( CProtoSniper, CAI_BaseNPC, "Combine sniper NPC." )
|
||||||
|
|
||||||
|
DEFINE_SCRIPTFUNC( GetBulletSpeed, "" )
|
||||||
|
DEFINE_SCRIPTFUNC( GetBulletOrigin, "" )
|
||||||
|
DEFINE_SCRIPTFUNC( ScopeGlint, "" )
|
||||||
|
|
||||||
|
DEFINE_SCRIPTFUNC( GetPositionParameter, "" )
|
||||||
|
DEFINE_SCRIPTFUNC( IsSweepingRandomly, "" )
|
||||||
|
DEFINE_SCRIPTFUNC( FindFrustratedShot, "" )
|
||||||
|
|
||||||
|
DEFINE_SCRIPTFUNC( IsLaserOn, "" )
|
||||||
|
DEFINE_SCRIPTFUNC( LaserOn, "" )
|
||||||
|
DEFINE_SCRIPTFUNC( LaserOff, "" )
|
||||||
|
|
||||||
|
DEFINE_SCRIPTFUNC( GetPaintCursor, "Get the point the sniper is currently aiming at." )
|
||||||
|
|
||||||
|
END_SCRIPTDESC()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
@ -2588,6 +2615,19 @@ Vector CProtoSniper::DesiredBodyTarget( CBaseEntity *pTarget )
|
|||||||
// By default, aim for the center
|
// By default, aim for the center
|
||||||
Vector vecTarget = pTarget->WorldSpaceCenter();
|
Vector vecTarget = pTarget->WorldSpaceCenter();
|
||||||
|
|
||||||
|
#ifdef MAPBASE_VSCRIPT
|
||||||
|
if (m_ScriptScope.IsInitialized() && g_Hook_GetActualShootPosition.CanRunInScope(m_ScriptScope))
|
||||||
|
{
|
||||||
|
ScriptVariant_t functionReturn;
|
||||||
|
ScriptVariant_t args[] = { GetBulletOrigin(), ToHScript( pTarget ) };
|
||||||
|
if (g_Hook_GetActualShootPosition.Call( m_ScriptScope, &functionReturn, args ))
|
||||||
|
{
|
||||||
|
if (functionReturn.m_type == FIELD_VECTOR && functionReturn.m_pVector->LengthSqr() != 0.0f)
|
||||||
|
return *functionReturn.m_pVector;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
float flTimeSinceLastMiss = gpGlobals->curtime - m_flTimeLastShotMissed;
|
float flTimeSinceLastMiss = gpGlobals->curtime - m_flTimeLastShotMissed;
|
||||||
|
|
||||||
if( pTarget->GetFlags() & FL_CLIENT )
|
if( pTarget->GetFlags() & FL_CLIENT )
|
||||||
|
Loading…
Reference in New Issue
Block a user