mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-30 08:34:27 +00:00
Crossbow gravgun tweaks
This commit is contained in:
parent
b9af0eb80a
commit
22b1664df8
@ -40,6 +40,20 @@ class CCrossbowBolt : public CBaseEntity
|
||||
void EXPORT BubbleThink( void );
|
||||
void EXPORT BoltTouch( CBaseEntity *pOther );
|
||||
void EXPORT ExplodeThink( void );
|
||||
float TouchGravGun( CBaseEntity *attacker, int stage )
|
||||
{
|
||||
if( stage >= 2 )
|
||||
{
|
||||
|
||||
pev->movetype = MOVETYPE_FLY;
|
||||
pev->solid = SOLID_BBOX;
|
||||
pev->nextthink = gpGlobals->time + 60.0;
|
||||
SetTouch( &CCrossbowBolt::BoltTouch );
|
||||
UTIL_MakeVectors( attacker->pev->v_angle + attacker->pev->punchangle);
|
||||
pev->angles = UTIL_VecToAngles(gpGlobals->v_forward);
|
||||
}
|
||||
return 2000;
|
||||
}
|
||||
|
||||
int m_iTrail;
|
||||
|
||||
@ -149,12 +163,12 @@ void CCrossbowBolt::BoltTouch( CBaseEntity *pOther )
|
||||
Vector vecDir = pev->velocity.Normalize();
|
||||
UTIL_SetOrigin( pev, pev->origin - vecDir * 12 );
|
||||
pev->angles = UTIL_VecToAngles( vecDir );
|
||||
pev->solid = SOLID_NOT;
|
||||
//pev->solid = SOLID_NOT;
|
||||
pev->movetype = MOVETYPE_FLY;
|
||||
pev->velocity = Vector( 0, 0, 0 );
|
||||
pev->avelocity.z = 0;
|
||||
pev->angles.z = RANDOM_LONG( 0, 360 );
|
||||
pev->nextthink = gpGlobals->time + 10.0;
|
||||
pev->nextthink = gpGlobals->time + 60.0;
|
||||
}
|
||||
else if( pOther->pev->movetype == MOVETYPE_PUSH || pOther->pev->movetype == MOVETYPE_PUSHSTEP )
|
||||
{
|
||||
@ -165,7 +179,7 @@ void CCrossbowBolt::BoltTouch( CBaseEntity *pOther )
|
||||
pev->velocity = Vector( 0, 0, 0 );
|
||||
pev->avelocity.z = 0;
|
||||
pev->angles.z = RANDOM_LONG( 0, 360 );
|
||||
pev->nextthink = gpGlobals->time + 10.0;
|
||||
pev->nextthink = gpGlobals->time + 60.0;
|
||||
|
||||
// g-cont. Setup movewith feature
|
||||
pev->movetype = MOVETYPE_COMPOUND; // set movewith type
|
||||
@ -388,6 +402,12 @@ void CCrossbow::FireSniperBolt()
|
||||
CBaseEntity::Instance( tr.pHit )->TraceAttack( m_pPlayer->pev, 120, vecDir, &tr, DMG_BULLET | DMG_NEVERGIB );
|
||||
ApplyMultiDamage( pev, m_pPlayer->pev );
|
||||
}
|
||||
CCrossbowBolt *pBolt = CCrossbowBolt::BoltCreate();
|
||||
pBolt->pev->origin = tr.vecEndPos;
|
||||
pBolt->pev->angles = -anglesAim;
|
||||
pBolt->pev->owner = m_pPlayer->edict();
|
||||
pBolt->pev->avelocity.z = 10;
|
||||
pBolt->SetTouch( NULL );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user