int CASW_Harvester::TranslateSchedule( int scheduleType ) { if ( scheduleType == SCHED_RANGE_ATTACK1 ) { RemoveAllGestures(); return SCHED_ASW_HARVESTER_LAY_CRITTER; } if ( scheduleType == SCHED_COMBAT_FACE && IsUnreachable( GetEnemy() ) ) return SCHED_TAKE_COVER_FROM_ENEMY; return BaseClass::TranslateSchedule( scheduleType ); }
//----------------------------------------------------------------------------- // Raises the Sentrygun one level //----------------------------------------------------------------------------- void CObjectSentrygun::StartUpgrading( void ) { // Increase level m_iUpgradeLevel++; // more health int iMaxHealth = GetMaxHealth(); SetMaxHealth( iMaxHealth * 1.2 ); SetHealth( iMaxHealth * 1.2 ); EmitSound( "Building_Sentrygun.Built" ); switch( m_iUpgradeLevel ) { case 2: SetModel( SENTRY_MODEL_LEVEL_2_UPGRADE ); m_flHeavyBulletResist = SENTRYGUN_MINIGUN_RESIST_LVL_2; SetViewOffset( SENTRYGUN_EYE_OFFSET_LEVEL_2 ); m_iMaxAmmoShells = SENTRYGUN_MAX_SHELLS_2; break; case 3: SetModel( SENTRY_MODEL_LEVEL_3_UPGRADE ); m_iAmmoRockets = SENTRYGUN_MAX_ROCKETS; m_flHeavyBulletResist = SENTRYGUN_MINIGUN_RESIST_LVL_3; SetViewOffset( SENTRYGUN_EYE_OFFSET_LEVEL_3 ); m_iMaxAmmoShells = SENTRYGUN_MAX_SHELLS_3; break; default: Assert(0); break; } // more ammo capability m_iAmmoShells = m_iMaxAmmoShells; m_iState.Set( SENTRY_STATE_UPGRADING ); SetActivity( ACT_OBJ_UPGRADING ); m_flUpgradeCompleteTime = gpGlobals->curtime + SENTRY_UPGRADE_DURATION; RemoveAllGestures(); }