// how does the
thing die
int
dyingType;
enum
{
DIE_SMOKE
= 0,
DIE_FIREBALL,
DIE_SHORT_FIREBALL,
DIE_INTERMITTENT_FIRE,
DIE_INTERMITTENT_SMOKE
};
public:
// rates and
timers for targeting
VU_TIME nextTargetUpdate;
VU_TIME targetUpdateRate;
VU_TIME nextGeomCalc;
VU_TIME geomCalcRate;
virtual void InitData (void);
virtual void
Cleanup(void);
public:
void SendFireMessage (SimWeaponClass*
curWeapon, int type, int startFlag, SimObjectType* targetPtr, VU_ID tgtId
= FalconNullId);
// Avionics
PilotInputs* theInputs;
void InitWeapons (ushort *type, ushort
*num);
enum SOI {SOI_HUD,
SOI_RADAR, SOI_WEAPON};
SOI curSOI;
void SOIManager(SOI newSOI);
BaseBrain* Brain(void) {return theBrain;};
//Steering Info
WayPointClass*
curWaypoint;
WayPointClass* waypoint;
Int32 numWaypoints;
virtual void ReceiveOrders (FalconEvent*) {};
void ApplyProximityDamage (void);
// for dying,
we no longer send the death message as soon as
// strength
goes to 0, we delay until object explodes
FalconDeathMessage
*deathMessage;
SimVehicleClass(int type);
SimVehicleClass(VU_BYTE** stream);
SimVehicleClass(FILE* filePtr);
virtual ~SimVehicleClass
(void);
virtual void Init
(SimInitDataClass* initData);
virtual int Wake
(void);
virtual int Sleep
(void);
virtual void MakeLocal
(void);
virtual void MakeRemote
(void);
virtual int Exec
(void);
virtual void SetDead
(int);
virtual void ApplyDamage
(FalconDamageMessage *damageMessage);
virtual FireControlComputer*
GetFCC(void) { return NULL; };
virtual SMSBaseClass*
GetSMS(void) { return NULL; };
virtual float
GetRCSFactor (void);
virtual float
GetIRFactor (void);
virtual int GetRadarType (void);
virtual long
GetTotalFuel (void) { return -1; };
// KCK: -1 means "unfueled vehicle"
//all ground
vehicles and helicopters have pilots until they die
//this determines
whether they can talk on the radio or not
virtual int HasPilot (void)
{ return TRUE;}
virtual int IsVehicle (void)
{ return TRUE;}
// this function can be called for entities
which aren't necessarily
// exec'd in a frame (ie ground units),
but need to have their
// gun tracers and (possibly other)
weapons serviced
virtual void WeaponKeepAlive(
void ) { return; };
// virtual function interface
// serialization functions
virtual int SaveSize();
virtual int Save(VU_BYTE
**stream); // returns bytes written
virtual int Save(FILE
*file);
// returns bytes written
// event handlers
virtual int Handle(VuFullUpdateEvent
*event);
virtual int Handle(VuPositionUpdateEvent
*event);
virtual int Handle(VuTransferEvent
*event);
virtual VU_ERRCODE
InsertionCallback(void);