2019-01-16 16:43:50 +00:00
|
|
|
/***
|
|
|
|
*
|
|
|
|
* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved.
|
|
|
|
*
|
|
|
|
* See the file LICENSE attached with the sources for usage details.
|
|
|
|
*
|
|
|
|
****/
|
2017-01-03 01:02:00 +00:00
|
|
|
|
|
|
|
#ifdef SSQC
|
|
|
|
void BaseMelee_Draw( void ) {
|
|
|
|
self.iCurrentMag = 0;
|
|
|
|
self.iCurrentCaliber = 0;
|
|
|
|
|
|
|
|
Client_SendEvent( self, EV_WEAPON_DRAW );
|
|
|
|
}
|
|
|
|
|
2017-01-08 15:12:02 +00:00
|
|
|
int BaseMelee_Attack( void ) {
|
2017-01-03 01:02:00 +00:00
|
|
|
vector vSource;
|
|
|
|
vector vOrigin;
|
|
|
|
|
|
|
|
makevectors( self.v_angle );
|
|
|
|
vSource = ( self.origin + self.view_ofs );
|
2017-01-03 18:31:24 +00:00
|
|
|
traceline( vSource, vSource + ( v_forward * 64 ), MOVE_HITMODEL, self );
|
2017-01-03 01:02:00 +00:00
|
|
|
|
2017-01-08 15:42:26 +00:00
|
|
|
if ( trace_fraction == 1.0 ) {
|
2017-01-08 15:12:02 +00:00
|
|
|
return FALSE;
|
2017-01-08 15:42:26 +00:00
|
|
|
}
|
2017-01-03 01:02:00 +00:00
|
|
|
|
|
|
|
vOrigin = trace_endpos - v_forward * 2;
|
|
|
|
|
|
|
|
if ( trace_ent.takedamage ) {
|
2017-01-08 15:12:02 +00:00
|
|
|
if ( trace_ent.iBleeds == TRUE ) {
|
2017-01-07 16:29:27 +00:00
|
|
|
Effect_Impact( IMPACT_FLESH, trace_endpos, trace_plane_normal );
|
2017-01-08 15:42:26 +00:00
|
|
|
sound( self, CHAN_WEAPON, sprintf( "weapons/knife_hit%d.wav", floor( ( random() * 4 ) + 1 ) ), 1, ATTN_NORM );
|
2017-01-07 16:29:27 +00:00
|
|
|
}
|
2017-11-11 21:46:04 +00:00
|
|
|
Damage_Apply( trace_ent, self, wptTable[ self.weapon ].iDamage, trace_endpos, FALSE );
|
2018-12-09 05:06:32 +00:00
|
|
|
} else {
|
2017-01-08 15:12:02 +00:00
|
|
|
Effect_Impact( IMPACT_MELEE, trace_endpos, trace_plane_normal );
|
2018-12-09 05:06:32 +00:00
|
|
|
}
|
2017-01-08 15:12:02 +00:00
|
|
|
|
|
|
|
return TRUE;
|
2017-01-03 01:02:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void BaseMelee_Delayed( float fDelay ) {
|
|
|
|
static void BaseMelee_Delayed_Trigger( void ) {
|
|
|
|
BaseMelee_Attack();
|
|
|
|
}
|
|
|
|
|
|
|
|
self.think = BaseMelee_Delayed_Trigger;
|
|
|
|
self.nextthink = time + fDelay;
|
|
|
|
}
|
|
|
|
#endif
|