//-------------------------------------------------------------- // TGB: turns out we can see anim events on the client as well, d'oh, so lets use them //-------------------------------------------------------------- bool CWeaponZMFists::OnFireEvent( C_BaseViewModel *pViewModel, const Vector& origin, const QAngle& angles, int event, const char *options ) { if (event == AE_ZM_MELEEHIT) { //DevMsg("Heard MeleeHit on client!\n"); HandleAnimEventMeleeHit(GetOwner()); return true; } return false; }
//----------------------------------------------------------------------------- // Animation event //----------------------------------------------------------------------------- void CWeaponKatana::Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator ) { switch( pEvent->event ) { case EVENT_WEAPON_MELEE_HIT: HandleAnimEventMeleeHit( pEvent, pOperator ); break; default: BaseClass::Operator_HandleAnimEvent( pEvent, pOperator ); break; } }
//----------------------------------------------------------------------------- // Animation event // TGB: this is called by baseclass's HandleAnimEvent, so we don't actually want to override that one when we have this //----------------------------------------------------------------------------- void CWeaponZMFists::Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator ) { switch( pEvent->event ) { case AE_ZM_MELEEHIT: HandleAnimEventMeleeHit( pOperator ); break; default: BaseClass::Operator_HandleAnimEvent( pEvent, pOperator ); break; } }
void CBaseCombatWeapon::Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator ) { if ( (pEvent->type & AE_TYPE_NEWEVENTSYSTEM) && (pEvent->type & AE_TYPE_SERVER) ) { if ( pEvent->event == EVENT_WEAPON_MELEE_HIT ) { HandleAnimEventMeleeHit( pEvent, pOperator ); } else if ( pEvent->event == AE_WPN_PLAYWPNSOUND ) { int iSnd = GetWeaponSoundFromString(pEvent->options); if ( iSnd != -1 ) { WeaponSound( (WeaponSound_t)iSnd ); } } } DevWarning( 2, "Unhandled animation event %d from %s --> %s\n", pEvent->event, pOperator->GetClassname(), GetClassname() ); }