12#ifndef TT_INCLUDE_C4GAMEOBJ_H
13#define TT_INCLUDE_C4GAMEOBJ_H
14#include "SimpleGameObj.h"
18class AmmoDefinitionClass;
20class C4GameObj :
public SimpleGameObj
24 ReferencerClass Owner;
25 PlayerDataClass *Player;
26 const AmmoDefinitionClass* AmmoDef;
29 bool attachedToDynamic;
30 ReferencerClass attachObject;
31 Vector3 AttachLocation;
33 PhysClass* attachPhysics;
38 const PersistFactoryClass &Get_Factory()
const;
42 void Init(
const C4GameObjDef &);
43 SCRIPTS_API
const C4GameObjDef & Get_Definition(
void )
const ;
44 void Init_C4(AmmoDefinitionClass
const *ammoPreset, SoldierGameObj* owner, uint32 detonationMode,
const Matrix3D& muzzle);
45 CollisionReactionType Collision_Occurred(
const CollisionEventClass& collide);
46 bool Save(ChunkSaveClass &csave);
47 bool Load(ChunkLoadClass &cload);
51 void Completely_Damaged(
const OffenseObjectClass &offense);
52 void Get_Information(StringClass &str);
53 void Export_Rare(BitStreamClass &BitStream);
54 void Import_Rare(BitStreamClass &BitStream);
57 static void Maintain_C4_Limit(
int limit);
58 C4GameObj * As_C4GameObj() {
return this;}
59 ScriptableGameObj * Get_Stuck_Object() {
return attachObject;}
60 SoldierGameObj *Get_Owner()
const {
return (SoldierGameObj*)Owner.Get_Ptr();}
61 const AmmoDefinitionClass *Get_Ammo_Def() {
return AmmoDef;}
62 PlayerDataClass *Get_Player_Data() {
return Player;}