Пример #1
0
BOOL obj_Building::OnCreate()
{
	parent::OnCreate();
	
	ChangeAnim();

	return 1;
}
Пример #2
0
void CShamLightning :: Spawn( void )
{
	PRECACHE_MODEL( "models/s_light.mdl" );

	// Safety removal
	pev->nextthink = gpGlobals->time + 0.7f;
	SetThink( &CBasePlayer::SUB_Remove );

	SET_MODEL( ENT(pev), "models/s_light.mdl" );
	UTIL_SetOrigin( pev, pev->origin );

	ChangeAnim( 0 );
}
Пример #3
0
void NPC::NPCAi(void)
{
	m_frameInterval = gpGlobals->time - m_lastThinkTime;
	m_lastThinkTime = gpGlobals->time;

	m_nextThinkTime = gpGlobals->time + 0.1f;

	g_npcAS = ASC_IDLE;
	m_moveSpeed = 0.0f;
	m_destOrigin = nullvec;
		
	FindWaypoint();

	FindEnemy();
	if (m_task & TASK_ENEMY)
		TaskEnemy();
	else if (m_task & TASK_MOVETOTARGET)
		TaskMoveTarget();
	else
		TaskBase();

	if (m_destOrigin == nullvec && m_currentWaypointIndex != -1)
	{
		m_destOrigin = m_waypointOrigin;
		m_lookAt = m_destOrigin;
		m_moveSpeed = pev->maxspeed;
	}

	if (m_iDamage)
	{
		m_changeActionTime = -1.0f;
		g_npcAS |= ASC_DAMAGE;
		m_iDamage = false;
	}

	FacePosition();
	MoveAction();

	ChangeAnim();
	pev->nextthink = m_nextThinkTime;
}
Пример #4
0
void NPC::DeadThink(void)
{
	if (m_deadActionTime == -1.0f)
	{
		m_deadActionTime = gpGlobals->time + 5.0f;
		m_changeActionTime = -1.0f;

		pev->velocity = nullvec;
		pev->takedamage = DAMAGE_NO;
		pev->deadflag = DEAD_DEAD;
		pev->solid = SOLID_NOT;

		g_npcAS |= ASC_DEAD;
		FacePosition();
		ChangeAnim();

		if (strcmp(m_npcSound[NS_DEAD], "null") != 0)
			EMIT_SOUND(GetEntity (), CHAN_VOICE, m_npcSound[NS_DEAD], VOL_NORM, ATTN_NORM);

		pev->nextthink = -1;
	}
	else if (m_deadActionTime <= gpGlobals->time)
		m_needRemove = true;
}