Tiberian Technologies Scripts Reference Revision: 9000
Loading...
Searching...
No Matches
weaponmgr.h
1/* Renegade Scripts.dll
2 Copyright 2013 Tiberian Technologies
3
4 This file is part of the Renegade scripts.dll
5 The Renegade scripts.dll is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 2, or (at your option) any later
8 version. See the file COPYING for more details.
9 In addition, an exemption is given to allow Run Time Dynamic Linking of this code with any closed source module that does not contain code covered by this licence.
10 Only the source code to the module(s) containing the licenced code has to be released.
11*/
12#ifndef TT_INCLUDE_WEAPONMGR_H
13#define TT_INCLUDE_WEAPONMGR_H
14#include "Definition.h"
15#include "Rect.h"
16#include "DataSafe.h"
17#include "Vector3.h"
18class AmmoDefinitionClass : public DefinitionClass {
19public:
20 enum {
21 AMMO_TYPE_NORMAL,
22 AMMO_TYPE_C4_REMOTE,
23 AMMO_TYPE_C4_TIMED,
24 AMMO_TYPE_C4_PROXIMITY,
25 };
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;
32#ifdef DDBEDIT
33 virtual void Dump (FileClass &file);
34#endif
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;
40 safe_int Warhead;
41 safe_float Damage;
42 safe_float Range;
43 safe_float Velocity;
44 float Gravity;
45 float Elasticity;
46 float RateOfFire;
47 float SprayAngle;
48 safe_int SprayCount;
49 StringClass TrailEmitter;
50 float AquireTime;
51 float BurstDelayTime;
52 safe_int BurstMax;
53 int SoftPierceLimit;
54 float TurnRate;
55 bool TimeActivated;
56 bool TerrainActivated;
57 bool IsTracking;
58 safe_float EffectiveRange;
59 int ExplosionDefID;
60 float RandomTrackingScale;
61 bool DisplayLaser;
62 safe_float ChargeTime;
63 int ContinuousSoundDefID;
64 int FireSoundDefID;
65 StringClass ContinuousEmitterName;
66 int MaxBounces;
67 int SprayBulletCost;
68 safe_int AmmoType;
69 float C4TriggerTime1;
70 float C4TriggerTime2;
71 float C4TriggerTime3;
72 float C4TriggerRange1;
73 float C4TriggerRange2;
74 float C4TriggerRange3;
75 int C4TimingSound1ID;
76 int C4TimingSound2ID;
77 int C4TimingSound3ID;
78 float AliasedSpeed;
79 int HitterType;
80 int BeaconDefID;
81 bool BeamEnabled;
82 Vector3 BeamColor;
83 float BeamTime;
84 float BeamWidth;
85 bool BeamEndCaps;
86 StringClass BeamTexture;
87 bool BeamSubdivisionEnabled;
88 float BeamSubdivisionScale;
89 bool BeamSubdivisionFrozen;
90 int IconNameID;
91 StringClass IconTextureName;
92 RectClass IconTextureUV;
93 Vector2 IconOffset;
94 float GrenadeSafetyTime;
95 bool C4Animation;
96 safe_float TargetingRange;//new
97 int C4Preset;
98 bool DisableHitscan;
99 bool TrackingIgnoreVehicle;
100 bool TrackingIgnoreSoldier;
101 bool TrackingIgnoreVTOL;
102 bool UseLighting;
103
104#if (PARAM_EDITING_ON) || (DDBEDIT) || (W3DVIEWER)
105 Vector3 ProjectileExtent;
106#else
107 SafeDataClass<Vector3> ProjectileExtent;
108#endif
109
110 friend class PresetDump;
111}; // 0110
112
113class WeaponDefinitionClass : public DefinitionClass {
114public:
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;
121#ifdef DDBEDIT
122 virtual void Dump (FileClass &file);
123 virtual void DumpPhys (FileClass &file);
124#endif
125 DECLARE_EDITABLE( WeaponDefinitionClass, DefinitionClass );
126 bool operator == ( const WeaponDefinitionClass & vector) const { return false; }
127 bool operator != ( const WeaponDefinitionClass & vector) const { return true; }
128 int Style;
129 StringClass Model;
130 StringClass IdleAnim;
131 StringClass FireAnim;
132 StringClass BackModel;
133 float SwitchTime;
134 safe_float ReloadTime;
135 float KeyNumber;
136 bool CanSnipe;
137 bool CanReceiveGenericCnCAmmo;
138 float Rating;
139 int EjectPhysDefID;
140 int MuzzleFlashPhysDefID;
141 StringClass FirstPersonModel;
142 Vector3 FirstPersonOffset;
143 float RecoilImpulse;
144 StringClass HUDIconTextureName;
145 int ReloadSoundDefID;
146 int EmptySoundDefID;
147 int PrimaryAmmoDefID;
148 int SecondaryAmmoDefID;
149 safe_int ClipSize;
150 float RecoilTime;
151 float RecoilScale;
152 bool AGiveWeaponsWeapon;
153 safe_int MaxInventoryRounds;
154 int IconNameID;
155 StringClass IconTextureName;
156 RectClass IconTextureUV;
157 Vector2 IconOffset;
158 StringClass HumanFiringAnimation;
159 StringClass ScopeTexture;
160 float MaxZoom;
161 float MinZoom;
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;
172}; // 00AC
173
174class ExplosionDefinitionClass : public DefinitionClass {
175public:
176#ifdef DDBEDIT
177 virtual void Dump (FileClass &file);
178 virtual void DumpPhys (FileClass &file);
179#endif
180 DECLARE_EDITABLE(ExplosionDefinitionClass,DefinitionClass);
181 int PhysDefID;
182 uint32 SoundDefID;
183 float DamageRadius;
184 float DamageStrength;
185 int Warhead;
186 bool DamageIsScaled;
187 StringClass DecalFilename;
188 float DecalSize;
189 bool AnimatedExplosion;
190 float CameraShakeIntensity;
191 float CameraShakeRadius;
192 float CameraShakeDuration;
193 float CollisionDamageMultiplier;
194 bool ResetMappers;
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;
203};
204
205#endif