//===========================================================================// // File: ammobin.cpp // // Project: BattleTech Brick: Mech weapons // // Contents: AmmoBin -- ammunition store with cook-off heat // //---------------------------------------------------------------------------// // Copyright (C) 1995, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #include #pragma hdrstop #if !defined(AMMOBIN_HPP) # include #endif #if !defined(MECH_HPP) # include #endif Derivation AmmoBin::ClassDerivations( HeatWatcher::ClassDerivations, "AmmoBin" ); AmmoBin::SharedData AmmoBin::DefaultData( AmmoBin::ClassDerivations, Subsystem::MessageHandlers, Subsystem::AttributeIndex, Subsystem::StateCount ); AmmoBin::AmmoBin( Mech *owner, int subsystem_ID, SubsystemResource *resource, SharedData &shared_data ): HeatWatcher(owner, subsystem_ID, resource, shared_data), ammoAlarm(6) { Check(owner); Check_Pointer(resource); ammoCount = resource->ammoCount; initialAmmoCount = resource->ammoCount; feedRate = resource->feedRate; feedTimer = 0.0f; ammoClassID = resource->ammoClassID; ammoModelFile = resource->ammoModelFile; explosionModelFile = resource->explosionModelFile; heatPerRound = resource->heatPerRound; cookOffArmed = 0; cookOffTime = 0; reserved = 0; for (int i = 0; i < 12; ++i) { cookOffState[i] = 0; } Check_Fpu(); } AmmoBin::~AmmoBin() { } Logical AmmoBin::TestClass(Mech &) { return True; } Logical AmmoBin::TestInstance() const { return IsDerivedFrom(ClassDerivations); }