12#ifndef TT_INCLUDE_WEAPONMGR_H
13#define TT_INCLUDE_WEAPONMGR_H
14#include "Definition.h"
18class AmmoDefinitionClass :
public DefinitionClass {
24 AMMO_TYPE_C4_PROXIMITY,
26 AmmoDefinitionClass(
void );
27 virtual uint32 Get_Class_ID(
void )
const;
28 virtual PersistClass * Create(
void )
const {
return NULL; }
29 virtual bool Save( ChunkSaveClass &csave );
30 virtual bool Load( ChunkLoadClass &cload );
31 virtual const PersistFactoryClass & Get_Factory(
void )
const;
33 virtual void Dump (FileClass &file);
35 DECLARE_EDITABLE( AmmoDefinitionClass, DefinitionClass );
36 bool operator == (
const AmmoDefinitionClass & vector)
const {
return false; }
37 bool operator != (
const AmmoDefinitionClass & vector)
const {
return true; }
38 StringClass ModelFilename;
39 StringClass ModelName;
49 StringClass TrailEmitter;
56 bool TerrainActivated;
58 safe_float EffectiveRange;
60 float RandomTrackingScale;
62 safe_float ChargeTime;
63 int ContinuousSoundDefID;
65 StringClass ContinuousEmitterName;
72 float C4TriggerRange1;
73 float C4TriggerRange2;
74 float C4TriggerRange3;
86 StringClass BeamTexture;
87 bool BeamSubdivisionEnabled;
88 float BeamSubdivisionScale;
89 bool BeamSubdivisionFrozen;
91 StringClass IconTextureName;
92 RectClass IconTextureUV;
94 float GrenadeSafetyTime;
96 safe_float TargetingRange;
99 bool TrackingIgnoreVehicle;
100 bool TrackingIgnoreSoldier;
101 bool TrackingIgnoreVTOL;
104#if (PARAM_EDITING_ON) || (DDBEDIT) || (W3DVIEWER)
105 Vector3 ProjectileExtent;
107 SafeDataClass<Vector3> ProjectileExtent;
110 friend class PresetDump;
113class WeaponDefinitionClass :
public DefinitionClass {
115 WeaponDefinitionClass(
void );
116 virtual uint32 Get_Class_ID(
void )
const;
117 virtual PersistClass * Create(
void )
const {
return NULL; }
118 virtual bool Save( ChunkSaveClass &csave );
119 virtual bool Load( ChunkLoadClass &cload );
120 virtual const PersistFactoryClass & Get_Factory(
void )
const;
122 virtual void Dump (FileClass &file);
123 virtual void DumpPhys (FileClass &file);
125 DECLARE_EDITABLE( WeaponDefinitionClass, DefinitionClass );
126 bool operator == (
const WeaponDefinitionClass & vector)
const {
return false; }
127 bool operator != (
const WeaponDefinitionClass & vector)
const {
return true; }
130 StringClass IdleAnim;
131 StringClass FireAnim;
132 StringClass BackModel;
134 safe_float ReloadTime;
137 bool CanReceiveGenericCnCAmmo;
140 int MuzzleFlashPhysDefID;
141 StringClass FirstPersonModel;
142 Vector3 FirstPersonOffset;
144 StringClass HUDIconTextureName;
145 int ReloadSoundDefID;
147 int PrimaryAmmoDefID;
148 int SecondaryAmmoDefID;
152 bool AGiveWeaponsWeapon;
153 safe_int MaxInventoryRounds;
155 StringClass IconTextureName;
156 RectClass IconTextureUV;
158 StringClass HumanFiringAnimation;
159 StringClass ScopeTexture;
162 int GlobalFireSoundDefID;
163 bool AreaEffectWeapon;
164 bool AreaEffectWeaponAffectOwner;
165 bool AreaEffectWeaponAffectFriendly;
166 bool AreaEffectWeaponAffectEnemy;
167 bool AreaEffectWeaponAffectNeutral;
168 StringClass FirstPersonAnim;
169 bool DoTiltWhileReloading;
170 bool AllowEmptyShots;
171 friend class PresetDump;
174class ExplosionDefinitionClass :
public DefinitionClass {
177 virtual void Dump (FileClass &file);
178 virtual void DumpPhys (FileClass &file);
180 DECLARE_EDITABLE(ExplosionDefinitionClass,DefinitionClass);
184 float DamageStrength;
187 StringClass DecalFilename;
189 bool AnimatedExplosion;
190 float CameraShakeIntensity;
191 float CameraShakeRadius;
192 float CameraShakeDuration;
193 float CollisionDamageMultiplier;
195 ExplosionDefinitionClass();
196 virtual ~ExplosionDefinitionClass();
197 virtual const PersistFactoryClass &Get_Factory()
const;
198 virtual bool Save(ChunkSaveClass &csave);
199 virtual bool Load(ChunkLoadClass &cload);
200 virtual uint32 Get_Class_ID()
const;
201 virtual PersistClass *Create()
const;
202 friend class PresetDump;