#ifndef __BOB_H__ #define __BOB_H__ #include "g_local.h" #include "actor.h" #include "trigger.h" #include "concussion.h" #include "crossbow.h" // varient of the Plasma Bow that's the secondary fire only class EXPORT_FROM_DLL BobBow : public Weapon { public: CLASS_PROTOTYPE(BobBow); BobBow(); virtual void Shoot(Event *ev); }; extern Event EV_Bob_Concussion; class EXPORT_FROM_DLL Bob:public Actor { private: float concussiontime; int blastcount; // fire counter Vector lastfirepos; // where it last fired from Vector lastfiredir; // direction it last fired in public: CLASS_PROTOTYPE(Bob); Bob::Bob(); virtual void Prethink(void); void Killed(Event *ev); qboolean InConcussionFOV(Vector pos); void FireConcussion(Event *ev); void ConcussionEffect(Event *ev); virtual void Archive( Archiver &arc ); virtual void Unarchive( Archiver &arc ); }; inline EXPORT_FROM_DLL void Bob::Archive (Archiver &arc) { Actor::Archive(arc); arc.WriteFloat(concussiontime); arc.WriteInteger(blastcount); arc.WriteVector(lastfirepos); arc.WriteVector(lastfiredir); } inline EXPORT_FROM_DLL void Bob::Unarchive (Archiver &arc) { Actor::Unarchive(arc); arc.ReadFloat(&concussiontime); arc.ReadInteger(&blastcount); arc.ReadVector(&lastfirepos); arc.ReadVector(&lastfiredir); } #endif