Example #1
0
File: player.c Project: deurk/ktx
void player_diee9()
{
	self->s.v.frame = 102;
	self->think = ( func_t ) player_diee9;
	self->s.v.nextthink = g_globalvars.time + 0.1;
	PlayerDead();
}
Example #2
0
void CGpApp::CollisionEnemyMissilesAndPlayer()
{
	INT i;

	if (PLAYER_STATUS_ALIVE != m_PlayerStatus)
		return;


	for(i=0; i != MISSILEMAX; ++i)
	{

		if (LC_TRUE == m_EnemyMissiles[i].nAlive)
		{
			if (LC_OK <= LCXCollisionRect2RectLTWH(
				m_EnemyMissiles[i].m_pos.x, m_EnemyMissiles[i].m_pos.y,
				(FLOAT)MISSILE_WIDTH, (FLOAT)MISSILE_HEIGHT,
				m_Player.m_pos.x, m_Player.m_pos.y,
				(FLOAT)PLAYER_WIDTH, (FLOAT)PLAYER_HEIGHT))
			{
				m_EnemyMissiles[i].nAlive = LC_FALSE;

				if(LC_FALSE == ShieldProtect(10))
				{
					PlayerDead();
				}

				m_pSnd[2]->Play();

				break;
			}
		}
	}
}
Example #3
0
void CGpApp::CollisionPlayerAndEnemies()
{
	INT i;

	if (PLAYER_STATUS_ALIVE == m_PlayerStatus)
	{
		for(i=0; i != ENEMIESMAX; ++i)
		{
			if (LC_TRUE == m_Enemies[i].nAlive)
			{
				if (LC_OK <= LCXCollisionRect2RectLTWH(
					m_Enemies[i].m_pos.x, m_Enemies[i].m_pos.y,
					(FLOAT)ENEMY_WIDTH, (FLOAT)ENEMY_HEIGHT,
					m_Player.m_pos.x, m_Player.m_pos.y,
					(FLOAT)PLAYER_WIDTH,(FLOAT)PLAYER_HEIGHT))
				{
					m_Enemies[i].nAlive = LC_FALSE;

					if(LC_FALSE == ShieldProtect(30))
					{
						PlayerDead();
					}

					m_pSnd[2]->Play();

					break;
				}
			}
		}
	}
}
Example #4
0
File: player.c Project: deurk/ktx
void player_diec15()
{
	self->s.v.frame = 84;
	self->think = ( func_t ) player_diec15;
	self->s.v.nextthink = g_globalvars.time + 0.1;

	PlayerDead();
}
Example #5
0
File: player.c Project: deurk/ktx
void player_diea11()
{
	self->s.v.frame = 60;
	self->think = ( func_t ) player_diea11;
	self->s.v.nextthink = g_globalvars.time + 0.1;

	PlayerDead();
}
Example #6
0
void player_die_ax9()
{
	self->s.v.frame = 49;
	self->s.v.think = ( func_t ) player_die_ax9;
	self->s.v.nextthink = g_globalvars.time + 0.1;

	PlayerDead();
}
Example #7
0
int Game::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QGraphicsView::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: step(); break;
        case 1: FinishLevel(); break;
        case 2: PlayerDead(); break;
        case 3: hit(); break;
        default: ;
        }
        _id -= 4;
    }
    return _id;
}
Example #8
0
File: player.c Project: deurk/ktx
void PlayerDie()
{
	self->ca_alive = false;

	DropPowerups();

	if ( isCTF() )
	{
		if ( self->hook_out )
		{
			GrappleReset( self->hook );
			self->attack_finished = g_globalvars.time + 0.75;
			self->hook_out = true; // FIXME: for which reason this set to true?
		}

		DropRune();
		PlayerDropFlag( self, false );
	}

	TeamplayDeathEvent (self);
#ifdef BOT_SUPPORT
	BotPlayerDeathEvent (self);
#endif

	self->s.v.items -= ( int ) self->s.v.items & IT_INVISIBILITY;
	self->invisible_finished = 0;	// don't die as eyes
	self->invincible_finished = 0;
// so we have quad few milleseconds after death
//	self->super_damage_finished = 0; // moved to prethink, like in ktpro
	self->radsuit_finished = 0;

	self->s.v.modelindex = modelindex_player;	// don't use eyes

	DropBackpack();

	self->weaponmodel = "";
	if (vw_enabled)
		self->vw_index = 9;	// null vwep model

	SetVector( self->s.v.view_ofs, 0, 0, -8 );
	self->s.v.deadflag = DEAD_DYING;
	self->s.v.solid = SOLID_NOT;
	self->s.v.flags -= ( ( int ) ( self->s.v.flags ) ) & FL_ONGROUND;
	self->s.v.movetype = MOVETYPE_TOSS;
	if ( self->s.v.velocity[2] < 10 )
		self->s.v.velocity[2] = self->s.v.velocity[2] + g_random() * 300;

    if ( self->s.v.health < -40 || dtSQUISH == self->deathtype || dtSUICIDE == self->deathtype || isRA() || isCA() )
	{
		GibPlayer();

		// Yawnmode: respawn has the same delay (900ms) regardless of deathtype gib/normal
		// - Molgrum

		// Hoonymode: Also force some time, e.g. to prevent instant respawn after /kill which
		// can cause bug if kill telefrags an idle player (counts as two points...)
		// only ever happens in testing, but oh well --phil
		if ( k_yawnmode || isHoonyModeDuel() )
		{
			self->s.v.nextthink = g_globalvars.time + 0.9;
			self->think = ( func_t ) PlayerDead;
			return;
		}

		PlayerDead();
		return;
	}

    if( match_in_progress == 2 )
		DeathSound();

	self->s.v.angles[0] = 0;
	self->s.v.angles[2] = 0;


    // function part split and called here
	StartDie();
}