SEGS  0.4.2
Super Entity Game Server
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
power_definitions.h
Go to the documentation of this file.
1 /*
2  * SEGS - Super Entity Game Server
3  * http://www.segs.io/
4  * Copyright (c) 2006 - 2018 SEGS Team (see Authors.txt)
5  * This software is licensed! (See License.txt for details)
6  */
7 
8 #pragma once
9 #include <QtCore/QHash>
10 #include <vector>
11 
12 enum class SeqBitNames : uint32_t;
13 
14 enum class StoredPower_Type
15 {
16  Click = 0,
17  Auto = 1,
18  Toggle = 2,
19  Boost = 3,
20  Inspiration = 4,
21 };
22 
23 enum class StoredEntEnum : uint32_t
24 {
25  None = 0,
26  Caster = 1,
27  Player = 2,
28  DeadPlayer = 3,
29  Teammate = 4,
30  Enemy = 5,
31  DeadVillain = 6,
32  NPC = 7,
33  Friend = 8,
34  Foe = 9,
35  Location = 10,
36  Any = 11,
37  DeadTeammate = 12,
39  Teleport = 14,
40 };
41 
42 enum StoredVisibility : uint32_t
43 {
46 };
47 
48 enum class StoredAffectArea : uint32_t
49 {
50  Character = 0,
51  Cone = 1,
52  Sphere = 2,
53  Location = 3,
54 };
55 
56 enum class StoredAiReport : uint32_t
57 {
58  Always = 0,
59  Never = 1,
60  HitsOnly = 2,
61  MissOnly = 3,
62 };
63 
64 enum DurationEnum : int32_t
65 {
66  kInstant = -1,
67  kUntilKilled = 999999, // Until Shut Off
68 };
69 
70 enum class AttribStackType
71 {
72  Stack = 0,
73  Ignore = 1,
74  Extend = 2,
75  Replace = 3
76 };
77 
78 enum class AttribModType : uint32_t
79 {
80  Duration = 0,
81  Magnitude = 1,
82  Constant = 2,
83 };
84 
85 enum class AttribModTarget : uint32_t
86 {
87  Self = 0,
88  Target = 1,
89 };
90 
91 enum class AttribMod_Aspect : uint32_t
92 {
93  Current = 0,
94  Maximum = 4,
95  Strength = 8,
96  Resistance = 0xC,
97  Absolute = 0x10,
98  CurrentAbsolute = 0x10,
99 };
100 
101 enum class PowerType : uint32_t
102 {
103  Click = 0,
104  Auto = 1,
105  Toggle = 2,
106  Boost = 3,
107  Inspiration = 4,
108  NumTypes = 5,
109 };
110 
111 // I'm unsure as to the validity of this
112 enum class AttackType : uint32_t {
113  None = 0,
114  Claw = 1,
115  Kunfu = 2,
116  Gun = 3,
117  Blade = 4,
118  Blunt = 5,
119  Handgun = 6,
120  Combat = 7,
121  Weapon = 8,
122  Speed = 9,
123  Teleport = 10,
124  Carry = 11,
125  Club = 12,
126 };
127 
129 {
130  QString name;
136  QString Table;
137  float Scale;
138  int Attrib; //
141  float Duration; // Special values in DurationEnum
142  float Magnitude;
143  int Delay;
144  int Period;
145  int Chance;
151  std::vector<int> ContinuingBits;
152  QString ContinuingFX;
153  std::vector<int> ConditionalBits; // 5c
154  QString ConditionalFX;
155  QString EntityDef;
159 };
160 
162 {
163  QString m_Name;
169  QString DisplayName;
170  QString DisplayHelp;
175  QString IconName;
176  std::vector<SeqBitNames> ModeSeqBits;
177  std::vector<uint32_t> ActivationBits;
178  std::vector<uint32_t> WindUpBits; // 3c
179  std::vector<uint32_t> InitialAttackBits;
180  std::vector<uint32_t> AttackBits;
181  std::vector<uint32_t> HitBits;
182  std::vector<uint32_t> BlockBits;
183  std::vector<uint32_t> DeathBits;
184  QString ActivationFX;
185  QString WindUpFX;
187  QString AttackFX;
188  QString BlockFX;
189  QString HitFX;
190  QString DeathFX;
197  std::vector<uint32_t> AttackTypes;
198  std::vector<QString> Requires;
199  float Accuracy;
204  int AIReport;
206  float Radius;
207  float Arc;
208  float Range;
220  float m_UsageTime;
222  float m_Lifetime;
226  std::vector<StoredEntEnum> EntsAffected;
227  std::vector<StoredEntEnum> EntsAutoHit;
228  std::vector<uint32_t> BoostsAllowed;
229  std::vector<uint32_t> GroupMembership;
230  std::vector<QString> AIGroups;
231  std::vector<StoredAttribMod> pAttribMod;
233  int iCntUsed;
234  int iCntHits;
236 };
237 
239 {
240  QString Name;
242  QString DisplayName;
243  QString DisplayHelp;
245  QString IconName;
246  std::vector<Power_Data> m_Powers;
247  QHash<QString, Power_Data *> m_hash_table;
248  std::vector<int32_t> Available;
249 };
250 
251 enum
252 {
254 };
255 
257 {
258  QString name;
259  QString disp_name;
260  QString disp_help;
262  std::vector<Parse_PowerSet> m_PowerSets;
263  QHash<QString, Parse_PowerSet *> m_powers_hash;
264 };
265 
267 {
268  std::vector<StoredPowerCategory> m_categories;
269  QHash<QString, StoredPowerCategory *> categories_hash;
270 };
std::vector< QString > AIGroups
Definition: power_definitions.h:230
QString WindUpFX
Definition: power_definitions.h:185
float FramesBeforeHit_seconds
Definition: power_definitions.h:211
std::vector< StoredEntEnum > EntsAffected
Definition: power_definitions.h:226
int IgnoreStrength
Definition: power_definitions.h:200
Definition: power_definitions.h:44
int ptr_powerset_available
Definition: power_definitions.h:164
StoredEntEnum
Definition: power_definitions.h:23
int DelayedHit
Definition: power_definitions.h:194
float Range
Definition: power_definitions.h:208
int m_InitialFramesBeforeHit
Definition: power_definitions.h:191
Definition: power_definitions.h:253
int fDamageGiven
Definition: power_definitions.h:232
int m_AttackFrames
Definition: power_definitions.h:193
float Magnitude
Definition: power_definitions.h:142
std::vector< uint32_t > BoostsAllowed
Definition: power_definitions.h:228
Definition: Character.h:55
std::vector< uint32_t > GroupMembership
Definition: power_definitions.h:229
Definition: power_definitions.h:256
int Period
Definition: power_definitions.h:144
PowerType
Definition: power_definitions.h:101
int CancelOnMiss
Definition: power_definitions.h:146
QString IconName
Definition: power_definitions.h:175
std::vector< int > ContinuingBits
Definition: power_definitions.h:151
std::vector< int32_t > Available
Definition: power_definitions.h:248
QString DisplayAttackerHit
Definition: power_definitions.h:132
QString AttackFX
Definition: power_definitions.h:187
QString ConditionalFX
Definition: power_definitions.h:154
AttribModType Type
Definition: power_definitions.h:140
DurationEnum
Definition: power_definitions.h:64
int m_FramesBeforeHit
Definition: power_definitions.h:192
std::vector< uint32_t > BlockBits
Definition: power_definitions.h:182
std::vector< StoredAttribMod > pAttribMod
Definition: power_definitions.h:231
int AllowResistance
Definition: power_definitions.h:149
float Scale
Definition: power_definitions.h:137
AttribMod_Aspect Aspect
Definition: power_definitions.h:139
QString ContinuingFX
Definition: power_definitions.h:152
std::vector< Parse_PowerSet > m_PowerSets
Definition: power_definitions.h:262
AttribStackType
Definition: power_definitions.h:70
AttribStackType StackType
Definition: power_definitions.h:150
float InitialFramesBeforeHit_seconds
Definition: power_definitions.h:210
std::vector< uint32_t > DeathBits
Definition: power_definitions.h:183
PowerType Type
Definition: power_definitions.h:196
QString DeathFX
Definition: power_definitions.h:190
AttribModType
Definition: power_definitions.h:78
struct Power_Data * parent_StoredPower
Definition: power_definitions.h:134
float EnduranceCost
Definition: power_definitions.h:216
int Delay
Definition: power_definitions.h:143
float m_Lifetime
Definition: power_definitions.h:222
std::vector< int > ConditionalBits
Definition: power_definitions.h:153
std::vector< Power_Data > m_Powers
Definition: power_definitions.h:246
StoredAiReport
Definition: power_definitions.h:56
QString InitialAttackFX
Definition: power_definitions.h:186
std::vector< uint32_t > HitBits
Definition: power_definitions.h:181
int category_idx
Definition: power_definitions.h:166
struct Parse_PowerSet * parent_StoredPowerSet
Definition: power_definitions.h:165
QString Name
Definition: power_definitions.h:240
StoredEntEnum Target
Definition: power_definitions.h:224
float TimeToActivate
Definition: power_definitions.h:212
std::vector< StoredEntEnum > EntsAutoHit
Definition: power_definitions.h:227
float ActivatePeriod
Definition: power_definitions.h:215
float Radius
Definition: power_definitions.h:206
std::vector< SeqBitNames > ModeSeqBits
Definition: power_definitions.h:176
std::vector< uint32_t > InitialAttackBits
Definition: power_definitions.h:179
QString Table
Definition: power_definitions.h:136
int ProjectileSpeed
Definition: power_definitions.h:195
QHash< QString, Power_Data * > m_hash_table
Definition: power_definitions.h:247
QString DisplayAttackerHit
Definition: power_definitions.h:173
std::vector< uint32_t > AttackTypes
Definition: power_definitions.h:197
AttribMod_Aspect
Definition: power_definitions.h:91
AttribModTarget
Definition: power_definitions.h:85
std::vector< QString > Requires
Definition: power_definitions.h:198
QString disp_name
Definition: power_definitions.h:259
Definition: power_definitions.h:67
Definition: Friend.h:13
QString ActivationFX
Definition: power_definitions.h:184
int powerset_idx
Definition: power_definitions.h:167
Definition: power_definitions.h:238
int power_index
Definition: power_definitions.h:168
float Arc
Definition: power_definitions.h:207
QHash< QString, Parse_PowerSet * > m_powers_hash
Definition: power_definitions.h:263
StoredPower_Type
Definition: power_definitions.h:14
int m_NumCharges
Definition: power_definitions.h:219
StoredAffectArea
Definition: power_definitions.h:48
QString PriorityListOffense
Definition: power_definitions.h:156
std::vector< uint32_t > AttackBits
Definition: power_definitions.h:180
int AIReport
Definition: power_definitions.h:204
Definition: power_definitions.h:66
struct StoredPowerCategory * parent_PowerCategory
Definition: power_definitions.h:241
StoredVisibility
Definition: power_definitions.h:42
QString DisplayShortHelp
Definition: power_definitions.h:171
QString DisplayName
Definition: power_definitions.h:242
float Accuracy
Definition: power_definitions.h:199
Definition: power_definitions.h:161
std::vector< StoredPowerCategory > m_categories
Definition: power_definitions.h:268
std::vector< uint32_t > ActivationBits
Definition: power_definitions.h:177
int Chance
Definition: power_definitions.h:145
float InterruptTime
Definition: power_definitions.h:214
QString name
Definition: power_definitions.h:258
float Duration
Definition: power_definitions.h:141
int iCntHits
Definition: power_definitions.h:234
QString DisplayShortHelp
Definition: power_definitions.h:244
QString m_Name
Definition: power_definitions.h:163
int NearGround
Definition: power_definitions.h:147
Definition: power_definitions.h:266
StoredEntEnum TargetSecondary
Definition: power_definitions.h:225
Definition: power_definitions.h:45
QString IconName
Definition: power_definitions.h:245
QString DisplayVictimHit
Definition: power_definitions.h:174
int Attrib
Definition: power_definitions.h:138
int DestroyOnLimit
Definition: power_definitions.h:217
int iCntMisses
Definition: power_definitions.h:235
QString DisplayHelp
Definition: power_definitions.h:243
int AllowStrength
Definition: power_definitions.h:148
QString PriorityListPassive
Definition: power_definitions.h:158
int limited_use
Definition: power_definitions.h:218
std::vector< uint32_t > WindUpBits
Definition: power_definitions.h:178
QString DisplayHelp
Definition: power_definitions.h:170
AttribModTarget Target
Definition: power_definitions.h:135
int index_in_power
Definition: power_definitions.h:131
QString disp_short_help
Definition: power_definitions.h:261
int NearGround
Definition: power_definitions.h:201
float m_UsageTime
Definition: power_definitions.h:220
QString DisplayVictimHit
Definition: power_definitions.h:133
int iCntUsed
Definition: power_definitions.h:233
StoredVisibility TargetVisibility
Definition: power_definitions.h:223
QString DisplayName
Definition: power_definitions.h:169
QString EntityDef
Definition: power_definitions.h:155
QString name
Definition: power_definitions.h:130
StoredAffectArea EffectArea
Definition: power_definitions.h:205
int TargetNearGround
Definition: power_definitions.h:202
float RangeSecondary
Definition: power_definitions.h:209
QString HitFX
Definition: power_definitions.h:189
int CastableAfterDeath
Definition: power_definitions.h:203
QHash< QString, StoredPowerCategory * > categories_hash
Definition: power_definitions.h:269
int has_lifetime
Definition: power_definitions.h:221
QString DisplayAttackerAttack
Definition: power_definitions.h:172
QString disp_help
Definition: power_definitions.h:260
QString BlockFX
Definition: power_definitions.h:188
AttackType
Definition: power_definitions.h:112
float RechargeTime
Definition: power_definitions.h:213
Definition: power_definitions.h:128
QString PriorityListDefense
Definition: power_definitions.h:157