mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-02-03 10:35:42 +00:00
Fix deagle spread. Don't use m_pEagleLaser in conditions shared between client and server (#18)
This commit is contained in:
parent
68af4923a1
commit
ef6099ceed
@ -880,6 +880,10 @@ void HUD_WeaponsPostThink( local_state_s *from, local_state_s *to, usercmd_t *cm
|
|||||||
( (CRpg *)player.m_pActiveItem )->m_fSpotActive = (int)from->client.vuser2[1];
|
( (CRpg *)player.m_pActiveItem )->m_fSpotActive = (int)from->client.vuser2[1];
|
||||||
( (CRpg *)player.m_pActiveItem )->m_cActiveRockets = (int)from->client.vuser2[2];
|
( (CRpg *)player.m_pActiveItem )->m_cActiveRockets = (int)from->client.vuser2[2];
|
||||||
}
|
}
|
||||||
|
else if (player.m_pActiveItem->m_iId == WEAPON_EAGLE)
|
||||||
|
{
|
||||||
|
( (CEagle *)player.m_pActiveItem )->m_fEagleLaserActive = (int)from->client.vuser2[1];
|
||||||
|
}
|
||||||
else if( player.m_pActiveItem->m_iId == WEAPON_M249 )
|
else if( player.m_pActiveItem->m_iId == WEAPON_M249 )
|
||||||
{
|
{
|
||||||
player.ammo_556 = (int)from->client.vuser2[1];
|
player.ammo_556 = (int)from->client.vuser2[1];
|
||||||
@ -964,6 +968,10 @@ void HUD_WeaponsPostThink( local_state_s *from, local_state_s *to, usercmd_t *cm
|
|||||||
from->client.vuser2[1] = ( (CRpg *)player.m_pActiveItem)->m_fSpotActive;
|
from->client.vuser2[1] = ( (CRpg *)player.m_pActiveItem)->m_fSpotActive;
|
||||||
from->client.vuser2[2] = ( (CRpg *)player.m_pActiveItem)->m_cActiveRockets;
|
from->client.vuser2[2] = ( (CRpg *)player.m_pActiveItem)->m_cActiveRockets;
|
||||||
}
|
}
|
||||||
|
else if ( player.m_pActiveItem->m_iId == WEAPON_EAGLE )
|
||||||
|
{
|
||||||
|
from->client.vuser2[1] = ( (CEagle *)player.m_pActiveItem )->m_fEagleLaserActive;;
|
||||||
|
}
|
||||||
else if( player.m_pActiveItem->m_iId == WEAPON_M249 )
|
else if( player.m_pActiveItem->m_iId == WEAPON_M249 )
|
||||||
{
|
{
|
||||||
from->client.vuser2[1] = player.ammo_556;
|
from->client.vuser2[1] = player.ammo_556;
|
||||||
|
@ -1814,6 +1814,10 @@ void UpdateClientData( const struct edict_s *ent, int sendweapons, struct client
|
|||||||
cd->vuser2.y = ( (CRpg *)pl->m_pActiveItem )->m_fSpotActive;
|
cd->vuser2.y = ( (CRpg *)pl->m_pActiveItem )->m_fSpotActive;
|
||||||
cd->vuser2.z = ( (CRpg *)pl->m_pActiveItem )->m_cActiveRockets;
|
cd->vuser2.z = ( (CRpg *)pl->m_pActiveItem )->m_cActiveRockets;
|
||||||
}
|
}
|
||||||
|
else if( pl->m_pActiveItem->m_iId == WEAPON_EAGLE )
|
||||||
|
{
|
||||||
|
cd->vuser2.y = ( (CEagle *)pl->m_pActiveItem )->m_fEagleLaserActive;
|
||||||
|
}
|
||||||
else if( pl->m_pActiveItem->m_iId == WEAPON_M249 )
|
else if( pl->m_pActiveItem->m_iId == WEAPON_M249 )
|
||||||
{
|
{
|
||||||
cd->vuser2.y = pl->ammo_556;
|
cd->vuser2.y = pl->ammo_556;
|
||||||
|
@ -100,22 +100,18 @@ void CEagle::Holster( int skiplocal /* = 0 */ )
|
|||||||
|
|
||||||
void CEagle::SecondaryAttack()
|
void CEagle::SecondaryAttack()
|
||||||
{
|
{
|
||||||
if ((m_pEagleLaser && m_fEagleLaserActive) // don't turn off if it was not created yet
|
bool wasActive = m_fEagleLaserActive;
|
||||||
|| !m_fEagleLaserActive)
|
m_fEagleLaserActive = !m_fEagleLaserActive;
|
||||||
|
if (wasActive)
|
||||||
{
|
{
|
||||||
m_fEagleLaserActive = !m_fEagleLaserActive;
|
if (m_pEagleLaser)
|
||||||
if (!m_fEagleLaserActive && m_pEagleLaser)
|
|
||||||
{
|
{
|
||||||
EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/desert_eagle_sight2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
|
EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/desert_eagle_sight2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
|
||||||
m_pEagleLaser->Killed( NULL, GIB_NORMAL );
|
m_pEagleLaser->Killed( NULL, GIB_NORMAL );
|
||||||
m_pEagleLaser = NULL;
|
m_pEagleLaser = NULL;
|
||||||
}
|
}
|
||||||
m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.5;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.1;
|
|
||||||
}
|
}
|
||||||
|
m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CEagle::PrimaryAttack()
|
void CEagle::PrimaryAttack()
|
||||||
@ -141,7 +137,7 @@ void CEagle::PrimaryAttack()
|
|||||||
|
|
||||||
UpdateSpot( );
|
UpdateSpot( );
|
||||||
|
|
||||||
float flSpread = 0.01;
|
float flSpread = 0.001;
|
||||||
|
|
||||||
m_iClip--;
|
m_iClip--;
|
||||||
|
|
||||||
@ -166,7 +162,7 @@ void CEagle::PrimaryAttack()
|
|||||||
vecAiming = gpGlobals->v_forward;
|
vecAiming = gpGlobals->v_forward;
|
||||||
|
|
||||||
Vector vecDir;
|
Vector vecDir;
|
||||||
if (m_pEagleLaser)
|
if (m_fEagleLaserActive)
|
||||||
{
|
{
|
||||||
vecDir = m_pPlayer->FireBulletsPlayer( 1, vecSrc, vecAiming, Vector( flSpread, flSpread, flSpread ), 8192, BULLET_PLAYER_357, 0, 0, m_pPlayer->pev, m_pPlayer->random_seed );
|
vecDir = m_pPlayer->FireBulletsPlayer( 1, vecSrc, vecAiming, Vector( flSpread, flSpread, flSpread ), 8192, BULLET_PLAYER_357, 0, 0, m_pPlayer->pev, m_pPlayer->random_seed );
|
||||||
m_flNextPrimaryAttack = UTIL_WeaponTimeBase()+ 0.5;
|
m_flNextPrimaryAttack = UTIL_WeaponTimeBase()+ 0.5;
|
||||||
@ -178,7 +174,7 @@ void CEagle::PrimaryAttack()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
flSpread = 0.1;
|
flSpread = 0.1;
|
||||||
vecDir = m_pPlayer->FireBulletsPlayer( 1, vecSrc, vecAiming, VECTOR_CONE_10DEGREES, 8192, BULLET_PLAYER_357, 0, 0, m_pPlayer->pev, m_pPlayer->random_seed );
|
vecDir = m_pPlayer->FireBulletsPlayer( 1, vecSrc, vecAiming, Vector(flSpread, flSpread, flSpread), 8192, BULLET_PLAYER_357, 0, 0, m_pPlayer->pev, m_pPlayer->random_seed );
|
||||||
m_flNextPrimaryAttack = UTIL_WeaponTimeBase()+ 0.22;
|
m_flNextPrimaryAttack = UTIL_WeaponTimeBase()+ 0.22;
|
||||||
m_fLaserOn = FALSE;
|
m_fLaserOn = FALSE;
|
||||||
}
|
}
|
||||||
@ -260,7 +256,7 @@ void CEagle::WeaponIdle( void )
|
|||||||
int iAnim;
|
int iAnim;
|
||||||
float flRand = UTIL_SharedRandomFloat( m_pPlayer->random_seed, 0.0, 1.0 );
|
float flRand = UTIL_SharedRandomFloat( m_pPlayer->random_seed, 0.0, 1.0 );
|
||||||
|
|
||||||
if (m_pEagleLaser)
|
if (m_fEagleLaserActive)
|
||||||
{
|
{
|
||||||
if (flRand > 0.5 )
|
if (flRand > 0.5 )
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user