[#4] Fix wrong angles on shocktroopers beams and roaches.

This commit is contained in:
Giegue
2023-03-02 14:09:15 -03:00
parent 4b087efde8
commit e1bd51b220

View File

@@ -289,34 +289,24 @@ void CMStrooper::HandleAnimEvent(MonsterEvent_t *pEvent)
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()); Vector vecVelocity = vecShootDir * 2000;
CMShock *pShock = CreateClassPtr((CMShock *)NULL);
edict_t *pShock = CMShock::Shoot( pev, vecGunAngles, vecShootOrigin, vecVelocity );
if (pShock != NULL) if (pShock != NULL)
{ {
pShock->pev->origin = vecShootOrigin;
vecGunAngles.z += RANDOM_FLOAT( -0.05, 0 );
pShock->pev->angles = UTIL_VecToAngles( vecGunAngles );
pShock->pev->owner = edict();
// Initialize these for entities who don't link to the world
pShock->pev->absmin = pShock->pev->origin - Vector(1,1,1);
pShock->pev->absmax = pShock->pev->origin + Vector(1,1,1);
pShock->Spawn();
pShock->pev->velocity = vecShootDir * 2000;
pShock->pev->nextthink = gpGlobals->time;
}
m_cAmmoLoaded--; m_cAmmoLoaded--;
SetBlending( 0, vecGunAngles.x ); SetBlending( 0, vecGunAngles.x );
// Play fire sound. // Play fire sound.
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/shock_fire.wav", 1, ATTN_NORM); EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/shock_fire.wav", 1, ATTN_NORM);
} }
else
{
ALERT( at_console, "Cannot create shock_beam!\n" );
}
}
} }
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();