Files
2026-05-23 20:50:12 -07:00

132 lines
2.0 KiB
C++

// Weapon_pda.cpp
//
#pragma hdrstop
#include "precompiled.h"
#include "../Game_local.h"
/*
================
rvmWeaponPDA::Init
================
*/
void rvmWeaponPDA::Init( idWeapon* weapon )
{
rvmWeaponObject::Init( weapon );
}
/*
================
rvmWeaponPDA::Raise
================
*/
stateResult_t rvmWeaponPDA::Raise( stateParms_t* parms )
{
enum RisingState
{
RISING_NOTSET = 0,
RISING_WAIT
};
switch( parms->stage )
{
case RISING_NOTSET:
owner->Event_PlayAnim( ANIMCHANNEL_ALL, "raise", false );
parms->stage = RISING_WAIT;
return SRESULT_WAIT;
case RISING_WAIT:
if( owner->Event_AnimDone( ANIMCHANNEL_ALL, 0 ) )
{
return SRESULT_DONE;
}
return SRESULT_WAIT;
}
return SRESULT_ERROR;
}
/*
================
rvmWeaponPDA::Lower
================
*/
stateResult_t rvmWeaponPDA::Lower( stateParms_t* parms )
{
enum LoweringState
{
LOWERING_NOTSET = 0,
LOWERING_WAIT
};
switch( parms->stage )
{
case LOWERING_NOTSET:
owner->Event_PlayAnim( ANIMCHANNEL_ALL, "putaway", false );
parms->stage = LOWERING_WAIT;
return SRESULT_WAIT;
case LOWERING_WAIT:
if( owner->Event_AnimDone( ANIMCHANNEL_ALL, 0 ) )
{
SetState( "Holstered" );
return SRESULT_DONE;
}
return SRESULT_WAIT;
}
return SRESULT_ERROR;
}
/*
================
rvmWeaponPDA::Idle
================
*/
stateResult_t rvmWeaponPDA::Idle( stateParms_t* parms )
{
enum IdleState
{
IDLE_NOTSET = 0,
IDLE_WAIT
};
switch( parms->stage )
{
case IDLE_NOTSET:
owner->GetOwner()->Event_OpenPDA();
parms->stage = IDLE_WAIT;
return SRESULT_WAIT;
case IDLE_WAIT:
if( !owner->GetOwner()->objectiveSystemOpen )
{
//owner->WeaponState( WP_LOWERING, 0 );
owner->LowerWeapon();
return SRESULT_DONE;
}
return SRESULT_WAIT;
}
}
/*
================
rvmWeaponPDA::Fire
================
*/
stateResult_t rvmWeaponPDA::Fire( stateParms_t* parms )
{
return SRESULT_DONE;
}
/*
================
rvmWeaponPDA::Reload
================
*/
stateResult_t rvmWeaponPDA::Reload( stateParms_t* parms )
{
return SRESULT_DONE;
}