[#4] Fix wrong angles on shocktroopers beams and roaches.
This commit is contained in:
@@ -288,34 +288,24 @@ void CMStrooper::HandleAnimEvent(MonsterEvent_t *pEvent)
|
|||||||
UTIL_MakeVectors(pev->angles);
|
UTIL_MakeVectors(pev->angles);
|
||||||
Vector vecShootOrigin = vecGunPos + gpGlobals->v_forward * 32;
|
Vector vecShootOrigin = vecGunPos + gpGlobals->v_forward * 32;
|
||||||
Vector vecShootDir = ShootAtEnemy( vecShootOrigin );
|
Vector vecShootDir = ShootAtEnemy( vecShootOrigin );
|
||||||
vecGunAngles = UTIL_VecToAngles(vecShootDir);
|
vecGunAngles = UTIL_VecToAngles( vecShootDir );
|
||||||
|
vecGunAngles.z += RANDOM_FLOAT( -0.05, 0 );
|
||||||
//CBaseEntity *pShock = CBaseEntity::Create("shock_beam", vecShootOrigin, vecGunAngles, edict());
|
|
||||||
CMShock *pShock = CreateClassPtr((CMShock *)NULL);
|
Vector vecVelocity = vecShootDir * 2000;
|
||||||
|
|
||||||
|
edict_t *pShock = CMShock::Shoot( pev, vecGunAngles, vecShootOrigin, vecVelocity );
|
||||||
if (pShock != NULL)
|
if (pShock != NULL)
|
||||||
{
|
{
|
||||||
pShock->pev->origin = vecShootOrigin;
|
m_cAmmoLoaded--;
|
||||||
|
SetBlending( 0, vecGunAngles.x );
|
||||||
|
|
||||||
vecGunAngles.z += RANDOM_FLOAT( -0.05, 0 );
|
// Play fire sound.
|
||||||
pShock->pev->angles = UTIL_VecToAngles( vecGunAngles );
|
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/shock_fire.wav", 1, ATTN_NORM);
|
||||||
pShock->pev->owner = edict();
|
}
|
||||||
|
else
|
||||||
// Initialize these for entities who don't link to the world
|
{
|
||||||
pShock->pev->absmin = pShock->pev->origin - Vector(1,1,1);
|
ALERT( at_console, "Cannot create shock_beam!\n" );
|
||||||
pShock->pev->absmax = pShock->pev->origin + Vector(1,1,1);
|
|
||||||
|
|
||||||
pShock->Spawn();
|
|
||||||
|
|
||||||
pShock->pev->velocity = vecShootDir * 2000;
|
|
||||||
pShock->pev->nextthink = gpGlobals->time;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_cAmmoLoaded--;
|
|
||||||
SetBlending( 0, vecGunAngles.x );
|
|
||||||
|
|
||||||
// Play fire sound.
|
|
||||||
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/shock_fire.wav", 1, ATTN_NORM);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -590,12 +580,8 @@ void CMStrooper::DropShockRoach(bool gibbed)
|
|||||||
CMShockRoach *roach = CreateClassPtr((CMShockRoach *)NULL);
|
CMShockRoach *roach = CreateClassPtr((CMShockRoach *)NULL);
|
||||||
if (roach != NULL)
|
if (roach != NULL)
|
||||||
{
|
{
|
||||||
roach->pev->origin = vecPos;
|
UTIL_SetOrigin(roach->pev, vecPos);
|
||||||
roach->pev->angles = UTIL_VecToAngles( vecDropAngles );
|
roach->pev->angles = vecDropAngles;
|
||||||
|
|
||||||
// Initialize these for entities who don't link to the world
|
|
||||||
roach->pev->absmin = roach->pev->origin - Vector(1,1,1);
|
|
||||||
roach->pev->absmax = roach->pev->origin + Vector(1,1,1);
|
|
||||||
|
|
||||||
roach->Spawn();
|
roach->Spawn();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user