mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-03-12 13:31:33 +00:00
Rework monster_terrorist code.
This commit is contained in:
parent
3bcd155d7b
commit
0034da4f35
@ -176,9 +176,8 @@ const char *CTerrorist::pDeathSounds[] =
|
|||||||
|
|
||||||
const char *CTerrorist::pBurstSounds[] =
|
const char *CTerrorist::pBurstSounds[] =
|
||||||
{
|
{
|
||||||
"weapons/hks1.wav",
|
"hgrunt/gr_mgun1.wav",
|
||||||
"weapons/hks2.wav",
|
"hgrunt/gr_mgun2.wav",
|
||||||
"weapons/hks3.wav",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -214,7 +213,7 @@ void CTerrorist::Shoot(Vector vecSpread, int iBulletType)
|
|||||||
//=========================================================
|
//=========================================================
|
||||||
void CTerrorist::ShootAK47(Vector vecSpread)
|
void CTerrorist::ShootAK47(Vector vecSpread)
|
||||||
{
|
{
|
||||||
Shoot(VECTOR_CONE_10DEGREES, BULLET_MONSTER_MP5);
|
Shoot(vecSpread, BULLET_MONSTER_MP5);
|
||||||
|
|
||||||
EMIT_SOUND(ENT(pev), CHAN_WEAPON, RANDOM_SOUND_ARRAY(pBurstSounds), 1, ATTN_NORM);
|
EMIT_SOUND(ENT(pev), CHAN_WEAPON, RANDOM_SOUND_ARRAY(pBurstSounds), 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
@ -307,7 +306,7 @@ void CTerrorist::Spawn()
|
|||||||
if (pev->weapons == 0)
|
if (pev->weapons == 0)
|
||||||
{
|
{
|
||||||
// initialize to original values
|
// initialize to original values
|
||||||
pev->weapons = TERROR_AK47 | TERROR_HANDGRENADE;
|
pev->weapons = TERROR_AK47;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prevent terrorist from using grenade launchers.
|
// Prevent terrorist from using grenade launchers.
|
||||||
@ -322,6 +321,10 @@ void CTerrorist::Spawn()
|
|||||||
{
|
{
|
||||||
m_cClipSize = TERRORIST_CLIP_SIZE;
|
m_cClipSize = TERRORIST_CLIP_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( pev->body == -1 )
|
||||||
|
pev->body = RANDOM_LONG( 0, 3 );
|
||||||
|
|
||||||
m_cAmmoLoaded = m_cClipSize;
|
m_cAmmoLoaded = m_cClipSize;
|
||||||
|
|
||||||
m_iTerrorFlags = 0;
|
m_iTerrorFlags = 0;
|
||||||
@ -355,7 +358,7 @@ void CTerrorist::Precache()
|
|||||||
|
|
||||||
// get voice pitch
|
// get voice pitch
|
||||||
if (RANDOM_LONG(0, 1))
|
if (RANDOM_LONG(0, 1))
|
||||||
m_voicePitch = 109 + RANDOM_LONG(0, 7);
|
m_voicePitch = 100 + RANDOM_LONG(0, 7);
|
||||||
else
|
else
|
||||||
m_voicePitch = 100;
|
m_voicePitch = 100;
|
||||||
|
|
||||||
@ -407,11 +410,18 @@ void CTerrorist::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecD
|
|||||||
{
|
{
|
||||||
if (pev->takedamage)
|
if (pev->takedamage)
|
||||||
{
|
{
|
||||||
// Human sentries are not allowed to drop weapons.
|
|
||||||
if (!IsHumanSentry())
|
if (!IsHumanSentry())
|
||||||
{
|
{
|
||||||
|
if( FBitSet( bitsDamageType, DMG_CLUB ) )
|
||||||
|
flDamage *= 2.0f;
|
||||||
|
|
||||||
if (ptr->iHitgroup == HITGROUP_RIGHTARM)
|
if (ptr->iHitgroup == HITGROUP_RIGHTARM)
|
||||||
{
|
{
|
||||||
|
flDamage -= 20.0f;
|
||||||
|
|
||||||
|
if( flDamage <= 0.0f )
|
||||||
|
flDamage = 10.0f;
|
||||||
|
|
||||||
// ==========================================
|
// ==========================================
|
||||||
// Code changes for- Night at the Office:
|
// Code changes for- Night at the Office:
|
||||||
// ==========================================
|
// ==========================================
|
||||||
@ -423,8 +433,8 @@ void CTerrorist::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecD
|
|||||||
|
|
||||||
if (HasWeapon())
|
if (HasWeapon())
|
||||||
{
|
{
|
||||||
Vector velocity = Vector(RANDOM_FLOAT(-10, 10), RANDOM_FLOAT(-10, 10), RANDOM_FLOAT(30, 40));
|
Vector velocity = Vector( RANDOM_FLOAT( -5, 5 ), RANDOM_FLOAT( -5, 5 ), RANDOM_FLOAT( -5, 5 ) );
|
||||||
Vector angVelocity = Vector(0, RANDOM_FLOAT(10, 20), 0);
|
Vector angVelocity = Vector(0, RANDOM_FLOAT(1, 10), 0);
|
||||||
|
|
||||||
DropWeapon(velocity, angVelocity);
|
DropWeapon(velocity, angVelocity);
|
||||||
|
|
||||||
@ -432,14 +442,15 @@ void CTerrorist::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecD
|
|||||||
m_afCapability &= ~bits_CAP_RANGE_ATTACK1;
|
m_afCapability &= ~bits_CAP_RANGE_ATTACK1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
// check for helmet shot
|
||||||
// check for helmet shot
|
else if (ptr->iHitgroup == 11)
|
||||||
else if (ptr->iHitgroup == 11)
|
{
|
||||||
{
|
// it's head shot anyways
|
||||||
// it's head shot anyways
|
ptr->iHitgroup = HITGROUP_HEAD;
|
||||||
ptr->iHitgroup = HITGROUP_HEAD;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
flDamage *= 5.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CSquadMonster::TraceAttack(pevAttacker, flDamage, vecDir, ptr, bitsDamageType);
|
CSquadMonster::TraceAttack(pevAttacker, flDamage, vecDir, ptr, bitsDamageType);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user