The search keyword must be a single word (no spaces).

common.j

1
//============================================================================
2
// Native types. All native functions take extended handle types when
3
// possible to help prevent passing bad values to native functions
4
//
5
type agent                extends     handle  // all reference counted objects
6
type event              extends     agent  // a reference to an event registration
7
type player             extends     agent  // a single player reference
8
type widget             extends     agent  // an interactive game object with life
9
type unit               extends     widget  // a single unit reference
10
type destructable       extends     widget
11
type item               extends     widget
12
type ability            extends     agent
13
type buff               extends     ability
14
type force              extends     agent
15
type group              extends     agent
16
type trigger            extends     agent
17
type triggercondition   extends     agent
18
type triggeraction      extends     handle
19
type timer              extends     agent
20
type location           extends     agent
21
type region             extends     agent
22
type rect               extends     agent
23
type boolexpr           extends     agent
24
type sound              extends     agent
25
type conditionfunc      extends     boolexpr
26
type filterfunc         extends     boolexpr
27
type unitpool           extends     handle
28
type itempool           extends     handle
29
type race               extends     handle
30
type alliancetype       extends     handle
31
type racepreference     extends     handle
32
type gamestate          extends     handle
33
type igamestate         extends     gamestate
34
type fgamestate         extends     gamestate
35
type playerstate        extends     handle
36
type playerscore        extends     handle
37
type playergameresult   extends     handle
38
type unitstate          extends     handle
39
type aidifficulty       extends     handle
40
41
type eventid            extends     handle
42
type gameevent          extends     eventid
43
type playerevent        extends     eventid
44
type playerunitevent    extends     eventid
45
type unitevent          extends     eventid
46
type limitop            extends     eventid
47
type widgetevent        extends     eventid
48
type dialogevent        extends     eventid
49
type unittype           extends     handle
50
51
type gamespeed          extends     handle
52
type gamedifficulty     extends     handle
53
type gametype           extends     handle
54
type mapflag            extends     handle
55
type mapvisibility      extends     handle
56
type mapsetting         extends     handle
57
type mapdensity         extends     handle
58
type mapcontrol         extends     handle
59
type minimapicon        extends     handle
60
type playerslotstate    extends     handle
61
type volumegroup        extends     handle
62
type camerafield        extends     handle
63
type camerasetup        extends     handle
64
type playercolor        extends     handle
65
type placement          extends     handle
66
type startlocprio       extends     handle
67
type raritycontrol      extends     handle
68
type blendmode          extends     handle
69
type texmapflags        extends     handle
70
type effect             extends     agent
71
type effecttype         extends     handle
72
type weathereffect      extends     handle
73
type terraindeformation extends     handle
74
type fogstate           extends     handle
75
type fogmodifier        extends     agent
76
type dialog             extends     agent
77
type button             extends     agent
78
type quest              extends     agent
79
type questitem          extends     agent
80
type defeatcondition    extends     agent
81
type timerdialog        extends     agent
82
type leaderboard        extends     agent
83
type multiboard         extends     agent
84
type multiboarditem     extends     agent
85
type trackable          extends     agent
86
type gamecache          extends     agent
87
type version            extends     handle
88
type itemtype           extends     handle
89
type texttag            extends     handle
90
type attacktype         extends     handle
91
type damagetype         extends     handle
92
type weapontype         extends     handle
93
type soundtype          extends     handle
94
type lightning          extends     handle
95
type pathingtype        extends     handle
96
type mousebuttontype    extends     handle
97
type animtype           extends     handle
98
type subanimtype        extends     handle
99
type image              extends     handle
100
type ubersplat          extends     handle
101
type hashtable          extends     agent
102
type framehandle        extends     handle
103
type originframetype    extends     handle
104
type framepointtype     extends     handle
105
type textaligntype      extends     handle
106
type frameeventtype     extends     handle
107
type oskeytype          extends     handle
108
type abilityintegerfield            extends handle
109
type abilityrealfield               extends handle
110
type abilitybooleanfield            extends handle
111
type abilitystringfield             extends handle
112
type abilityintegerlevelfield       extends handle
113
type abilityreallevelfield          extends handle
114
type abilitybooleanlevelfield       extends handle
115
type abilitystringlevelfield        extends handle
116
type abilityintegerlevelarrayfield  extends handle
117
type abilityreallevelarrayfield     extends handle
118
type abilitybooleanlevelarrayfield  extends handle
119
type abilitystringlevelarrayfield   extends handle
120
type unitintegerfield               extends handle
121
type unitrealfield                  extends handle
122
type unitbooleanfield               extends handle
123
type unitstringfield                extends handle
124
type unitweaponintegerfield         extends handle
125
type unitweaponrealfield            extends handle
126
type unitweaponbooleanfield         extends handle
127
type unitweaponstringfield          extends handle
128
type itemintegerfield               extends handle
129
type itemrealfield                  extends handle
130
type itembooleanfield               extends handle
131
type itemstringfield                extends handle
132
type movetype                       extends handle
133
type targetflag                     extends handle
134
type armortype                      extends handle
135
type heroattribute                  extends handle
136
type defensetype                    extends handle
137
type regentype                      extends handle
138
type unitcategory                   extends handle
139
type pathingflag                    extends handle
140
type commandbuttoneffect            extends handle
141
142
143
constant native ConvertRace                 takes integer i returns race
144
constant native ConvertAllianceType         takes integer i returns alliancetype
145
constant native ConvertRacePref             takes integer i returns racepreference
146
constant native ConvertIGameState           takes integer i returns igamestate
147
constant native ConvertFGameState           takes integer i returns fgamestate
148
constant native ConvertPlayerState          takes integer i returns playerstate
149
constant native ConvertPlayerScore          takes integer i returns playerscore
150
constant native ConvertPlayerGameResult     takes integer i returns playergameresult
151
constant native ConvertUnitState            takes integer i returns unitstate
152
constant native ConvertAIDifficulty         takes integer i returns aidifficulty
153
constant native ConvertGameEvent            takes integer i returns gameevent
154
constant native ConvertPlayerEvent          takes integer i returns playerevent
155
constant native ConvertPlayerUnitEvent      takes integer i returns playerunitevent
156
constant native ConvertWidgetEvent          takes integer i returns widgetevent
157
constant native ConvertDialogEvent          takes integer i returns dialogevent
158
constant native ConvertUnitEvent            takes integer i returns unitevent
159
constant native ConvertLimitOp              takes integer i returns limitop
160
constant native ConvertUnitType             takes integer i returns unittype
161
constant native ConvertGameSpeed            takes integer i returns gamespeed
162
constant native ConvertPlacement            takes integer i returns placement
163
constant native ConvertStartLocPrio         takes integer i returns startlocprio
164
constant native ConvertGameDifficulty       takes integer i returns gamedifficulty
165
constant native ConvertGameType             takes integer i returns gametype
166
constant native ConvertMapFlag              takes integer i returns mapflag
167
constant native ConvertMapVisibility        takes integer i returns mapvisibility
168
constant native ConvertMapSetting           takes integer i returns mapsetting
169
constant native ConvertMapDensity           takes integer i returns mapdensity
170
constant native ConvertMapControl           takes integer i returns mapcontrol
171
constant native ConvertPlayerColor          takes integer i returns playercolor
172
constant native ConvertPlayerSlotState      takes integer i returns playerslotstate
173
constant native ConvertVolumeGroup          takes integer i returns volumegroup
174
constant native ConvertCameraField          takes integer i returns camerafield
175
constant native ConvertBlendMode            takes integer i returns blendmode
176
constant native ConvertRarityControl        takes integer i returns raritycontrol
177
constant native ConvertTexMapFlags          takes integer i returns texmapflags
178
constant native ConvertFogState             takes integer i returns fogstate
179
constant native ConvertEffectType           takes integer i returns effecttype
180
constant native ConvertVersion              takes integer i returns version
181
constant native ConvertItemType             takes integer i returns itemtype
182
constant native ConvertAttackType           takes integer i returns attacktype
183
constant native ConvertDamageType           takes integer i returns damagetype
184
constant native ConvertWeaponType           takes integer i returns weapontype
185
constant native ConvertSoundType            takes integer i returns soundtype
186
constant native ConvertPathingType          takes integer i returns pathingtype
187
constant native ConvertMouseButtonType      takes integer i returns mousebuttontype
188
constant native ConvertAnimType             takes integer i returns animtype
189
constant native ConvertSubAnimType          takes integer i returns subanimtype
190
constant native ConvertOriginFrameType      takes integer i returns originframetype
191
constant native ConvertFramePointType       takes integer i returns framepointtype
192
constant native ConvertTextAlignType        takes integer i returns textaligntype
193
constant native ConvertFrameEventType       takes integer i returns frameeventtype
194
constant native ConvertOsKeyType            takes integer i returns oskeytype
195
constant native ConvertAbilityIntegerField              takes integer i returns abilityintegerfield
196
constant native ConvertAbilityRealField                 takes integer i returns abilityrealfield
197
constant native ConvertAbilityBooleanField              takes integer i returns abilitybooleanfield
198
constant native ConvertAbilityStringField               takes integer i returns abilitystringfield
199
constant native ConvertAbilityIntegerLevelField         takes integer i returns abilityintegerlevelfield
200
constant native ConvertAbilityRealLevelField            takes integer i returns abilityreallevelfield
201
constant native ConvertAbilityBooleanLevelField         takes integer i returns abilitybooleanlevelfield
202
constant native ConvertAbilityStringLevelField          takes integer i returns abilitystringlevelfield
203
constant native ConvertAbilityIntegerLevelArrayField    takes integer i returns abilityintegerlevelarrayfield
204
constant native ConvertAbilityRealLevelArrayField       takes integer i returns abilityreallevelarrayfield
205
constant native ConvertAbilityBooleanLevelArrayField    takes integer i returns abilitybooleanlevelarrayfield
206
constant native ConvertAbilityStringLevelArrayField     takes integer i returns abilitystringlevelarrayfield
207
constant native ConvertUnitIntegerField                 takes integer i returns unitintegerfield
208
constant native ConvertUnitRealField                    takes integer i returns unitrealfield
209
constant native ConvertUnitBooleanField                 takes integer i returns unitbooleanfield
210
constant native ConvertUnitStringField                  takes integer i returns unitstringfield
211
constant native ConvertUnitWeaponIntegerField           takes integer i returns unitweaponintegerfield
212
constant native ConvertUnitWeaponRealField              takes integer i returns unitweaponrealfield
213
constant native ConvertUnitWeaponBooleanField           takes integer i returns unitweaponbooleanfield
214
constant native ConvertUnitWeaponStringField            takes integer i returns unitweaponstringfield
215
constant native ConvertItemIntegerField                 takes integer i returns itemintegerfield
216
constant native ConvertItemRealField                    takes integer i returns itemrealfield
217
constant native ConvertItemBooleanField                 takes integer i returns itembooleanfield
218
constant native ConvertItemStringField                  takes integer i returns itemstringfield
219
constant native ConvertMoveType                         takes integer i returns movetype
220
constant native ConvertTargetFlag                       takes integer i returns targetflag
221
constant native ConvertArmorType                        takes integer i returns armortype
222
constant native ConvertHeroAttribute                    takes integer i returns heroattribute
223
constant native ConvertDefenseType                      takes integer i returns defensetype
224
constant native ConvertRegenType                        takes integer i returns regentype
225
constant native ConvertUnitCategory                     takes integer i returns unitcategory
226
constant native ConvertPathingFlag                      takes integer i returns pathingflag
227
228
constant native OrderId                     takes string  orderIdString     returns integer
229
constant native OrderId2String              takes integer orderId           returns string
230
constant native UnitId                      takes string  unitIdString      returns integer
231
constant native UnitId2String               takes integer unitId            returns string
232
233
// Not currently working correctly...
234
constant native AbilityId                   takes string  abilityIdString   returns integer
235
constant native AbilityId2String            takes integer abilityId         returns string
236
237
// Looks up the "name" field for any object (unit, item, ability)
238
constant native GetObjectName               takes integer objectId          returns string
239
240
constant native GetBJMaxPlayers             takes nothing returns integer
241
constant native GetBJPlayerNeutralVictim    takes nothing returns integer
242
constant native GetBJPlayerNeutralExtra     takes nothing returns integer
243
constant native GetBJMaxPlayerSlots         takes nothing returns integer
244
constant native GetPlayerNeutralPassive     takes nothing returns integer
245
constant native GetPlayerNeutralAggressive  takes nothing returns integer
246
247
globals
248
249
//===================================================
250
// Game Constants
251
//===================================================
252
253
    // pfff
254
    constant boolean            FALSE                           = false
255
    constant boolean            TRUE                            = true
256
    constant integer            JASS_MAX_ARRAY_SIZE             = 32768
257
258
    constant integer            PLAYER_NEUTRAL_PASSIVE          = GetPlayerNeutralPassive()
259
    constant integer            PLAYER_NEUTRAL_AGGRESSIVE       = GetPlayerNeutralAggressive()
260
261
    constant playercolor        PLAYER_COLOR_RED                = ConvertPlayerColor(0)
262
    constant playercolor        PLAYER_COLOR_BLUE               = ConvertPlayerColor(1)
263
    constant playercolor        PLAYER_COLOR_CYAN               = ConvertPlayerColor(2)
264
    constant playercolor        PLAYER_COLOR_PURPLE             = ConvertPlayerColor(3)
265
    constant playercolor        PLAYER_COLOR_YELLOW             = ConvertPlayerColor(4)
266
    constant playercolor        PLAYER_COLOR_ORANGE             = ConvertPlayerColor(5)
267
    constant playercolor        PLAYER_COLOR_GREEN              = ConvertPlayerColor(6)
268
    constant playercolor        PLAYER_COLOR_PINK               = ConvertPlayerColor(7)
269
    constant playercolor        PLAYER_COLOR_LIGHT_GRAY         = ConvertPlayerColor(8)
270
    constant playercolor        PLAYER_COLOR_LIGHT_BLUE         = ConvertPlayerColor(9)
271
    constant playercolor        PLAYER_COLOR_AQUA               = ConvertPlayerColor(10)
272
    constant playercolor        PLAYER_COLOR_BROWN              = ConvertPlayerColor(11)
273
    constant playercolor        PLAYER_COLOR_MAROON             = ConvertPlayerColor(12)
274
    constant playercolor        PLAYER_COLOR_NAVY               = ConvertPlayerColor(13)
275
    constant playercolor        PLAYER_COLOR_TURQUOISE          = ConvertPlayerColor(14)
276
    constant playercolor        PLAYER_COLOR_VIOLET             = ConvertPlayerColor(15)
277
    constant playercolor        PLAYER_COLOR_WHEAT              = ConvertPlayerColor(16)
278
    constant playercolor        PLAYER_COLOR_PEACH              = ConvertPlayerColor(17)
279
    constant playercolor        PLAYER_COLOR_MINT               = ConvertPlayerColor(18)
280
    constant playercolor        PLAYER_COLOR_LAVENDER           = ConvertPlayerColor(19)
281
    constant playercolor        PLAYER_COLOR_COAL               = ConvertPlayerColor(20)
282
    constant playercolor        PLAYER_COLOR_SNOW               = ConvertPlayerColor(21)
283
    constant playercolor        PLAYER_COLOR_EMERALD            = ConvertPlayerColor(22)
284
    constant playercolor        PLAYER_COLOR_PEANUT             = ConvertPlayerColor(23)
285
286
    constant race               RACE_HUMAN                      = ConvertRace(1)
287
    constant race               RACE_ORC                        = ConvertRace(2)
288
    constant race               RACE_UNDEAD                     = ConvertRace(3)
289
    constant race               RACE_NIGHTELF                   = ConvertRace(4)
290
    constant race               RACE_DEMON                      = ConvertRace(5)
291
    constant race               RACE_OTHER                      = ConvertRace(7)
292
293
    constant playergameresult   PLAYER_GAME_RESULT_VICTORY      = ConvertPlayerGameResult(0)
294
    constant playergameresult   PLAYER_GAME_RESULT_DEFEAT       = ConvertPlayerGameResult(1)
295
    constant playergameresult   PLAYER_GAME_RESULT_TIE          = ConvertPlayerGameResult(2)
296
    constant playergameresult   PLAYER_GAME_RESULT_NEUTRAL      = ConvertPlayerGameResult(3)
297
298
    constant alliancetype       ALLIANCE_PASSIVE                = ConvertAllianceType(0)
299
    constant alliancetype       ALLIANCE_HELP_REQUEST           = ConvertAllianceType(1)
300
    constant alliancetype       ALLIANCE_HELP_RESPONSE          = ConvertAllianceType(2)
301
    constant alliancetype       ALLIANCE_SHARED_XP              = ConvertAllianceType(3)
302
    constant alliancetype       ALLIANCE_SHARED_SPELLS          = ConvertAllianceType(4)
303
    constant alliancetype       ALLIANCE_SHARED_VISION          = ConvertAllianceType(5)
304
    constant alliancetype       ALLIANCE_SHARED_CONTROL         = ConvertAllianceType(6)
305
    constant alliancetype       ALLIANCE_SHARED_ADVANCED_CONTROL= ConvertAllianceType(7)
306
    constant alliancetype       ALLIANCE_RESCUABLE              = ConvertAllianceType(8)
307
    constant alliancetype       ALLIANCE_SHARED_VISION_FORCED   = ConvertAllianceType(9)
308
309
    constant version            VERSION_REIGN_OF_CHAOS          = ConvertVersion(0)
310
    constant version            VERSION_FROZEN_THRONE           = ConvertVersion(1)
311
312
    constant attacktype         ATTACK_TYPE_NORMAL              = ConvertAttackType(0)
313
    constant attacktype         ATTACK_TYPE_MELEE               = ConvertAttackType(1)
314
    constant attacktype         ATTACK_TYPE_PIERCE              = ConvertAttackType(2)
315
    constant attacktype         ATTACK_TYPE_SIEGE               = ConvertAttackType(3)
316
    constant attacktype         ATTACK_TYPE_MAGIC               = ConvertAttackType(4)
317
    constant attacktype         ATTACK_TYPE_CHAOS               = ConvertAttackType(5)
318
    constant attacktype         ATTACK_TYPE_HERO                = ConvertAttackType(6)
319
320
    constant damagetype         DAMAGE_TYPE_UNKNOWN             = ConvertDamageType(0)
321
    constant damagetype         DAMAGE_TYPE_NORMAL              = ConvertDamageType(4)
322
    constant damagetype         DAMAGE_TYPE_ENHANCED            = ConvertDamageType(5)
323
    constant damagetype         DAMAGE_TYPE_FIRE                = ConvertDamageType(8)
324
    constant damagetype         DAMAGE_TYPE_COLD                = ConvertDamageType(9)
325
    constant damagetype         DAMAGE_TYPE_LIGHTNING           = ConvertDamageType(10)
326
    constant damagetype         DAMAGE_TYPE_POISON              = ConvertDamageType(11)
327
    constant damagetype         DAMAGE_TYPE_DISEASE             = ConvertDamageType(12)
328
    constant damagetype         DAMAGE_TYPE_DIVINE              = ConvertDamageType(13)
329
    constant damagetype         DAMAGE_TYPE_MAGIC               = ConvertDamageType(14)
330
    constant damagetype         DAMAGE_TYPE_SONIC               = ConvertDamageType(15)
331
    constant damagetype         DAMAGE_TYPE_ACID                = ConvertDamageType(16)
332
    constant damagetype         DAMAGE_TYPE_FORCE               = ConvertDamageType(17)
333
    constant damagetype         DAMAGE_TYPE_DEATH               = ConvertDamageType(18)
334
    constant damagetype         DAMAGE_TYPE_MIND                = ConvertDamageType(19)
335
    constant damagetype         DAMAGE_TYPE_PLANT               = ConvertDamageType(20)
336
    constant damagetype         DAMAGE_TYPE_DEFENSIVE           = ConvertDamageType(21)
337
    constant damagetype         DAMAGE_TYPE_DEMOLITION          = ConvertDamageType(22)
338
    constant damagetype         DAMAGE_TYPE_SLOW_POISON         = ConvertDamageType(23)
339
    constant damagetype         DAMAGE_TYPE_SPIRIT_LINK         = ConvertDamageType(24)
340
    constant damagetype         DAMAGE_TYPE_SHADOW_STRIKE       = ConvertDamageType(25)
341
    constant damagetype         DAMAGE_TYPE_UNIVERSAL           = ConvertDamageType(26)
342
343
    constant weapontype         WEAPON_TYPE_WHOKNOWS            = ConvertWeaponType(0)
344
    constant weapontype         WEAPON_TYPE_METAL_LIGHT_CHOP    = ConvertWeaponType(1)
345
    constant weapontype         WEAPON_TYPE_METAL_MEDIUM_CHOP   = ConvertWeaponType(2)
346
    constant weapontype         WEAPON_TYPE_METAL_HEAVY_CHOP    = ConvertWeaponType(3)
347
    constant weapontype         WEAPON_TYPE_METAL_LIGHT_SLICE   = ConvertWeaponType(4)
348
    constant weapontype         WEAPON_TYPE_METAL_MEDIUM_SLICE  = ConvertWeaponType(5)
349
    constant weapontype         WEAPON_TYPE_METAL_HEAVY_SLICE   = ConvertWeaponType(6)
350
    constant weapontype         WEAPON_TYPE_METAL_MEDIUM_BASH   = ConvertWeaponType(7)
351
    constant weapontype         WEAPON_TYPE_METAL_HEAVY_BASH    = ConvertWeaponType(8)
352
    constant weapontype         WEAPON_TYPE_METAL_MEDIUM_STAB   = ConvertWeaponType(9)
353
    constant weapontype         WEAPON_TYPE_METAL_HEAVY_STAB    = ConvertWeaponType(10)
354
    constant weapontype         WEAPON_TYPE_WOOD_LIGHT_SLICE    = ConvertWeaponType(11)
355
    constant weapontype         WEAPON_TYPE_WOOD_MEDIUM_SLICE   = ConvertWeaponType(12)
356
    constant weapontype         WEAPON_TYPE_WOOD_HEAVY_SLICE    = ConvertWeaponType(13)
357
    constant weapontype         WEAPON_TYPE_WOOD_LIGHT_BASH     = ConvertWeaponType(14)
358
    constant weapontype         WEAPON_TYPE_WOOD_MEDIUM_BASH    = ConvertWeaponType(15)
359
    constant weapontype         WEAPON_TYPE_WOOD_HEAVY_BASH     = ConvertWeaponType(16)
360
    constant weapontype         WEAPON_TYPE_WOOD_LIGHT_STAB     = ConvertWeaponType(17)
361
    constant weapontype         WEAPON_TYPE_WOOD_MEDIUM_STAB    = ConvertWeaponType(18)
362
    constant weapontype         WEAPON_TYPE_CLAW_LIGHT_SLICE    = ConvertWeaponType(19)
363
    constant weapontype         WEAPON_TYPE_CLAW_MEDIUM_SLICE   = ConvertWeaponType(20)
364
    constant weapontype         WEAPON_TYPE_CLAW_HEAVY_SLICE    = ConvertWeaponType(21)
365
    constant weapontype         WEAPON_TYPE_AXE_MEDIUM_CHOP     = ConvertWeaponType(22)
366
    constant weapontype         WEAPON_TYPE_ROCK_HEAVY_BASH     = ConvertWeaponType(23)
367
368
    constant pathingtype        PATHING_TYPE_ANY                = ConvertPathingType(0)
369
    constant pathingtype        PATHING_TYPE_WALKABILITY        = ConvertPathingType(1)
370
    constant pathingtype        PATHING_TYPE_FLYABILITY         = ConvertPathingType(2)
371
    constant pathingtype        PATHING_TYPE_BUILDABILITY       = ConvertPathingType(3)
372
    constant pathingtype        PATHING_TYPE_PEONHARVESTPATHING = ConvertPathingType(4)
373
    constant pathingtype        PATHING_TYPE_BLIGHTPATHING      = ConvertPathingType(5)
374
    constant pathingtype        PATHING_TYPE_FLOATABILITY       = ConvertPathingType(6)
375
    constant pathingtype        PATHING_TYPE_AMPHIBIOUSPATHING  = ConvertPathingType(7)
376
377
    constant mousebuttontype    MOUSE_BUTTON_TYPE_LEFT          = ConvertMouseButtonType(1)
378
    constant mousebuttontype    MOUSE_BUTTON_TYPE_MIDDLE        = ConvertMouseButtonType(2)
379
    constant mousebuttontype    MOUSE_BUTTON_TYPE_RIGHT         = ConvertMouseButtonType(3)
380
381
    constant animtype           ANIM_TYPE_BIRTH                 = ConvertAnimType(0)
382
    constant animtype           ANIM_TYPE_DEATH                 = ConvertAnimType(1)
383
    constant animtype           ANIM_TYPE_DECAY                 = ConvertAnimType(2)
384
    constant animtype           ANIM_TYPE_DISSIPATE             = ConvertAnimType(3)
385
    constant animtype           ANIM_TYPE_STAND                 = ConvertAnimType(4)
386
    constant animtype           ANIM_TYPE_WALK                  = ConvertAnimType(5)
387
    constant animtype           ANIM_TYPE_ATTACK                = ConvertAnimType(6)
388
    constant animtype           ANIM_TYPE_MORPH                 = ConvertAnimType(7)
389
    constant animtype           ANIM_TYPE_SLEEP                 = ConvertAnimType(8)
390
    constant animtype           ANIM_TYPE_SPELL                 = ConvertAnimType(9)
391
    constant animtype           ANIM_TYPE_PORTRAIT              = ConvertAnimType(10)
392
393
    constant subanimtype        SUBANIM_TYPE_ROOTED             = ConvertSubAnimType(11)
394
    constant subanimtype        SUBANIM_TYPE_ALTERNATE_EX       = ConvertSubAnimType(12)
395
    constant subanimtype        SUBANIM_TYPE_LOOPING            = ConvertSubAnimType(13)
396
    constant subanimtype        SUBANIM_TYPE_SLAM               = ConvertSubAnimType(14)
397
    constant subanimtype        SUBANIM_TYPE_THROW              = ConvertSubAnimType(15)
398
    constant subanimtype        SUBANIM_TYPE_SPIKED             = ConvertSubAnimType(16)
399
    constant subanimtype        SUBANIM_TYPE_FAST               = ConvertSubAnimType(17)
400
    constant subanimtype        SUBANIM_TYPE_SPIN               = ConvertSubAnimType(18)
401
    constant subanimtype        SUBANIM_TYPE_READY              = ConvertSubAnimType(19)
402
    constant subanimtype        SUBANIM_TYPE_CHANNEL            = ConvertSubAnimType(20)
403
    constant subanimtype        SUBANIM_TYPE_DEFEND             = ConvertSubAnimType(21)
404
    constant subanimtype        SUBANIM_TYPE_VICTORY            = ConvertSubAnimType(22)
405
    constant subanimtype        SUBANIM_TYPE_TURN               = ConvertSubAnimType(23)
406
    constant subanimtype        SUBANIM_TYPE_LEFT               = ConvertSubAnimType(24)
407
    constant subanimtype        SUBANIM_TYPE_RIGHT              = ConvertSubAnimType(25)
408
    constant subanimtype        SUBANIM_TYPE_FIRE               = ConvertSubAnimType(26)
409
    constant subanimtype        SUBANIM_TYPE_FLESH              = ConvertSubAnimType(27)
410
    constant subanimtype        SUBANIM_TYPE_HIT                = ConvertSubAnimType(28)
411
    constant subanimtype        SUBANIM_TYPE_WOUNDED            = ConvertSubAnimType(29)
412
    constant subanimtype        SUBANIM_TYPE_LIGHT              = ConvertSubAnimType(30)
413
    constant subanimtype        SUBANIM_TYPE_MODERATE           = ConvertSubAnimType(31)
414
    constant subanimtype        SUBANIM_TYPE_SEVERE             = ConvertSubAnimType(32)
415
    constant subanimtype        SUBANIM_TYPE_CRITICAL           = ConvertSubAnimType(33)
416
    constant subanimtype        SUBANIM_TYPE_COMPLETE           = ConvertSubAnimType(34)
417
    constant subanimtype        SUBANIM_TYPE_GOLD               = ConvertSubAnimType(35)
418
    constant subanimtype        SUBANIM_TYPE_LUMBER             = ConvertSubAnimType(36)
419
    constant subanimtype        SUBANIM_TYPE_WORK               = ConvertSubAnimType(37)
420
    constant subanimtype        SUBANIM_TYPE_TALK               = ConvertSubAnimType(38)
421
    constant subanimtype        SUBANIM_TYPE_FIRST              = ConvertSubAnimType(39)
422
    constant subanimtype        SUBANIM_TYPE_SECOND             = ConvertSubAnimType(40)
423
    constant subanimtype        SUBANIM_TYPE_THIRD              = ConvertSubAnimType(41)
424
    constant subanimtype        SUBANIM_TYPE_FOURTH             = ConvertSubAnimType(42)
425
    constant subanimtype        SUBANIM_TYPE_FIFTH              = ConvertSubAnimType(43)
426
    constant subanimtype        SUBANIM_TYPE_ONE                = ConvertSubAnimType(44)
427
    constant subanimtype        SUBANIM_TYPE_TWO                = ConvertSubAnimType(45)
428
    constant subanimtype        SUBANIM_TYPE_THREE              = ConvertSubAnimType(46)
429
    constant subanimtype        SUBANIM_TYPE_FOUR               = ConvertSubAnimType(47)
430
    constant subanimtype        SUBANIM_TYPE_FIVE               = ConvertSubAnimType(48)
431
    constant subanimtype        SUBANIM_TYPE_SMALL              = ConvertSubAnimType(49)
432
    constant subanimtype        SUBANIM_TYPE_MEDIUM             = ConvertSubAnimType(50)
433
    constant subanimtype        SUBANIM_TYPE_LARGE              = ConvertSubAnimType(51)
434
    constant subanimtype        SUBANIM_TYPE_UPGRADE            = ConvertSubAnimType(52)
435
    constant subanimtype        SUBANIM_TYPE_DRAIN              = ConvertSubAnimType(53)
436
    constant subanimtype        SUBANIM_TYPE_FILL               = ConvertSubAnimType(54)
437
    constant subanimtype        SUBANIM_TYPE_CHAINLIGHTNING     = ConvertSubAnimType(55)
438
    constant subanimtype        SUBANIM_TYPE_EATTREE            = ConvertSubAnimType(56)
439
    constant subanimtype        SUBANIM_TYPE_PUKE               = ConvertSubAnimType(57)
440
    constant subanimtype        SUBANIM_TYPE_FLAIL              = ConvertSubAnimType(58)
441
    constant subanimtype        SUBANIM_TYPE_OFF                = ConvertSubAnimType(59)
442
    constant subanimtype        SUBANIM_TYPE_SWIM               = ConvertSubAnimType(60)
443
    constant subanimtype        SUBANIM_TYPE_ENTANGLE           = ConvertSubAnimType(61)
444
    constant subanimtype        SUBANIM_TYPE_BERSERK            = ConvertSubAnimType(62)
445
446
//===================================================
447
// Map Setup Constants
448
//===================================================
449
450
    constant racepreference     RACE_PREF_HUMAN                     = ConvertRacePref(1)
451
    constant racepreference     RACE_PREF_ORC                       = ConvertRacePref(2)
452
    constant racepreference     RACE_PREF_NIGHTELF                  = ConvertRacePref(4)
453
    constant racepreference     RACE_PREF_UNDEAD                    = ConvertRacePref(8)
454
    constant racepreference     RACE_PREF_DEMON                     = ConvertRacePref(16)
455
    constant racepreference     RACE_PREF_RANDOM                    = ConvertRacePref(32)
456
    constant racepreference     RACE_PREF_USER_SELECTABLE           = ConvertRacePref(64)
457
458
    constant mapcontrol         MAP_CONTROL_USER                    = ConvertMapControl(0)
459
    constant mapcontrol         MAP_CONTROL_COMPUTER                = ConvertMapControl(1)
460
    constant mapcontrol         MAP_CONTROL_RESCUABLE               = ConvertMapControl(2)
461
    constant mapcontrol         MAP_CONTROL_NEUTRAL                 = ConvertMapControl(3)
462
    constant mapcontrol         MAP_CONTROL_CREEP                   = ConvertMapControl(4)
463
    constant mapcontrol         MAP_CONTROL_NONE                    = ConvertMapControl(5)
464
465
    constant gametype           GAME_TYPE_MELEE                     = ConvertGameType(1)
466
    constant gametype           GAME_TYPE_FFA                       = ConvertGameType(2)
467
    constant gametype           GAME_TYPE_USE_MAP_SETTINGS          = ConvertGameType(4)
468
    constant gametype           GAME_TYPE_BLIZ                      = ConvertGameType(8)
469
    constant gametype           GAME_TYPE_ONE_ON_ONE                = ConvertGameType(16)
470
    constant gametype           GAME_TYPE_TWO_TEAM_PLAY             = ConvertGameType(32)
471
    constant gametype           GAME_TYPE_THREE_TEAM_PLAY           = ConvertGameType(64)
472
    constant gametype           GAME_TYPE_FOUR_TEAM_PLAY            = ConvertGameType(128)
473
474
    constant mapflag            MAP_FOG_HIDE_TERRAIN                = ConvertMapFlag(1)
475
    constant mapflag            MAP_FOG_MAP_EXPLORED                = ConvertMapFlag(2)
476
    constant mapflag            MAP_FOG_ALWAYS_VISIBLE              = ConvertMapFlag(4)
477
478
    constant mapflag            MAP_USE_HANDICAPS                   = ConvertMapFlag(8)
479
    constant mapflag            MAP_OBSERVERS                       = ConvertMapFlag(16)
480
    constant mapflag            MAP_OBSERVERS_ON_DEATH              = ConvertMapFlag(32)
481
482
    constant mapflag            MAP_FIXED_COLORS                    = ConvertMapFlag(128)
483
484
    constant mapflag            MAP_LOCK_RESOURCE_TRADING           = ConvertMapFlag(256)
485
    constant mapflag            MAP_RESOURCE_TRADING_ALLIES_ONLY    = ConvertMapFlag(512)
486
487
    constant mapflag            MAP_LOCK_ALLIANCE_CHANGES           = ConvertMapFlag(1024)
488
    constant mapflag            MAP_ALLIANCE_CHANGES_HIDDEN         = ConvertMapFlag(2048)
489
490
    constant mapflag            MAP_CHEATS                          = ConvertMapFlag(4096)
491
    constant mapflag            MAP_CHEATS_HIDDEN                   = ConvertMapFlag(8192)
492
493
    constant mapflag            MAP_LOCK_SPEED                      = ConvertMapFlag(8192*2)
494
    constant mapflag            MAP_LOCK_RANDOM_SEED                = ConvertMapFlag(8192*4)
495
    constant mapflag            MAP_SHARED_ADVANCED_CONTROL         = ConvertMapFlag(8192*8)
496
    constant mapflag            MAP_RANDOM_HERO                     = ConvertMapFlag(8192*16)
497
    constant mapflag            MAP_RANDOM_RACES                    = ConvertMapFlag(8192*32)
498
    constant mapflag            MAP_RELOADED                        = ConvertMapFlag(8192*64)
499
500
    constant placement          MAP_PLACEMENT_RANDOM                = ConvertPlacement(0)   // random among all slots
501
    constant placement          MAP_PLACEMENT_FIXED                 = ConvertPlacement(1)   // player 0 in start loc 0...
502
    constant placement          MAP_PLACEMENT_USE_MAP_SETTINGS      = ConvertPlacement(2)   // whatever was specified by the script
503
    constant placement          MAP_PLACEMENT_TEAMS_TOGETHER        = ConvertPlacement(3)   // random with allies next to each other
504
505
    constant startlocprio       MAP_LOC_PRIO_LOW                    = ConvertStartLocPrio(0)
506
    constant startlocprio       MAP_LOC_PRIO_HIGH                   = ConvertStartLocPrio(1)
507
    constant startlocprio       MAP_LOC_PRIO_NOT                    = ConvertStartLocPrio(2)
508
509
    constant mapdensity         MAP_DENSITY_NONE                    = ConvertMapDensity(0)
510
    constant mapdensity         MAP_DENSITY_LIGHT                   = ConvertMapDensity(1)
511
    constant mapdensity         MAP_DENSITY_MEDIUM                  = ConvertMapDensity(2)
512
    constant mapdensity         MAP_DENSITY_HEAVY                   = ConvertMapDensity(3)
513
514
    constant gamedifficulty     MAP_DIFFICULTY_EASY                 = ConvertGameDifficulty(0)
515
    constant gamedifficulty     MAP_DIFFICULTY_NORMAL               = ConvertGameDifficulty(1)
516
    constant gamedifficulty     MAP_DIFFICULTY_HARD                 = ConvertGameDifficulty(2)
517
    constant gamedifficulty     MAP_DIFFICULTY_INSANE               = ConvertGameDifficulty(3)
518
519
    constant gamespeed          MAP_SPEED_SLOWEST                   = ConvertGameSpeed(0)
520
    constant gamespeed          MAP_SPEED_SLOW                      = ConvertGameSpeed(1)
521
    constant gamespeed          MAP_SPEED_NORMAL                    = ConvertGameSpeed(2)
522
    constant gamespeed          MAP_SPEED_FAST                      = ConvertGameSpeed(3)
523
    constant gamespeed          MAP_SPEED_FASTEST                   = ConvertGameSpeed(4)
524
525
    constant playerslotstate    PLAYER_SLOT_STATE_EMPTY             = ConvertPlayerSlotState(0)
526
    constant playerslotstate    PLAYER_SLOT_STATE_PLAYING           = ConvertPlayerSlotState(1)
527
    constant playerslotstate    PLAYER_SLOT_STATE_LEFT              = ConvertPlayerSlotState(2)
528
529
//===================================================
530
// Sound Constants
531
//===================================================
532
    constant volumegroup        SOUND_VOLUMEGROUP_UNITMOVEMENT      = ConvertVolumeGroup(0)
533
    constant volumegroup        SOUND_VOLUMEGROUP_UNITSOUNDS        = ConvertVolumeGroup(1)
534
    constant volumegroup        SOUND_VOLUMEGROUP_COMBAT            = ConvertVolumeGroup(2)
535
    constant volumegroup        SOUND_VOLUMEGROUP_SPELLS            = ConvertVolumeGroup(3)
536
    constant volumegroup        SOUND_VOLUMEGROUP_UI                = ConvertVolumeGroup(4)
537
    constant volumegroup        SOUND_VOLUMEGROUP_MUSIC             = ConvertVolumeGroup(5)
538
    constant volumegroup        SOUND_VOLUMEGROUP_AMBIENTSOUNDS     = ConvertVolumeGroup(6)
539
    constant volumegroup        SOUND_VOLUMEGROUP_FIRE              = ConvertVolumeGroup(7)
540
//Cinematic Sound Constants
541
    constant volumegroup        SOUND_VOLUMEGROUP_CINEMATIC_GENERAL         = ConvertVolumeGroup(8)
542
    constant volumegroup        SOUND_VOLUMEGROUP_CINEMATIC_AMBIENT         = ConvertVolumeGroup(9)
543
    constant volumegroup        SOUND_VOLUMEGROUP_CINEMATIC_MUSIC           = ConvertVolumeGroup(10)
544
    constant volumegroup        SOUND_VOLUMEGROUP_CINEMATIC_DIALOGUE        = ConvertVolumeGroup(11)
545
    constant volumegroup        SOUND_VOLUMEGROUP_CINEMATIC_SOUND_EFFECTS_1 = ConvertVolumeGroup(12)
546
    constant volumegroup        SOUND_VOLUMEGROUP_CINEMATIC_SOUND_EFFECTS_2 = ConvertVolumeGroup(13)
547
    constant volumegroup        SOUND_VOLUMEGROUP_CINEMATIC_SOUND_EFFECTS_3 = ConvertVolumeGroup(14)
548
549
550
//===================================================
551
// Game, Player, and Unit States
552
//
553
// For use with TriggerRegister<X>StateEvent
554
//
555
//===================================================
556
557
    constant igamestate GAME_STATE_DIVINE_INTERVENTION          = ConvertIGameState(0)
558
    constant igamestate GAME_STATE_DISCONNECTED                 = ConvertIGameState(1)
559
    constant fgamestate GAME_STATE_TIME_OF_DAY                  = ConvertFGameState(2)
560
561
    constant playerstate PLAYER_STATE_GAME_RESULT               = ConvertPlayerState(0)
562
563
    // current resource levels
564
    //
565
    constant playerstate PLAYER_STATE_RESOURCE_GOLD             = ConvertPlayerState(1)
566
    constant playerstate PLAYER_STATE_RESOURCE_LUMBER           = ConvertPlayerState(2)
567
    constant playerstate PLAYER_STATE_RESOURCE_HERO_TOKENS      = ConvertPlayerState(3)
568
    constant playerstate PLAYER_STATE_RESOURCE_FOOD_CAP         = ConvertPlayerState(4)
569
    constant playerstate PLAYER_STATE_RESOURCE_FOOD_USED        = ConvertPlayerState(5)
570
    constant playerstate PLAYER_STATE_FOOD_CAP_CEILING          = ConvertPlayerState(6)
571
572
    constant playerstate PLAYER_STATE_GIVES_BOUNTY              = ConvertPlayerState(7)
573
    constant playerstate PLAYER_STATE_ALLIED_VICTORY            = ConvertPlayerState(8)
574
    constant playerstate PLAYER_STATE_PLACED                    = ConvertPlayerState(9)
575
    constant playerstate PLAYER_STATE_OBSERVER_ON_DEATH         = ConvertPlayerState(10)
576
    constant playerstate PLAYER_STATE_OBSERVER                  = ConvertPlayerState(11)
577
    constant playerstate PLAYER_STATE_UNFOLLOWABLE              = ConvertPlayerState(12)
578
579
    // taxation rate for each resource
580
    //
581
    constant playerstate PLAYER_STATE_GOLD_UPKEEP_RATE          = ConvertPlayerState(13)
582
    constant playerstate PLAYER_STATE_LUMBER_UPKEEP_RATE        = ConvertPlayerState(14)
583
584
    // cumulative resources collected by the player during the mission
585
    //
586
    constant playerstate PLAYER_STATE_GOLD_GATHERED             = ConvertPlayerState(15)
587
    constant playerstate PLAYER_STATE_LUMBER_GATHERED           = ConvertPlayerState(16)
588
589
    constant playerstate PLAYER_STATE_NO_CREEP_SLEEP            = ConvertPlayerState(25)
590
591
    constant unitstate UNIT_STATE_LIFE                          = ConvertUnitState(0)
592
    constant unitstate UNIT_STATE_MAX_LIFE                      = ConvertUnitState(1)
593
    constant unitstate UNIT_STATE_MANA                          = ConvertUnitState(2)
594
    constant unitstate UNIT_STATE_MAX_MANA                      = ConvertUnitState(3)
595
596
    constant aidifficulty AI_DIFFICULTY_NEWBIE                  = ConvertAIDifficulty(0)
597
    constant aidifficulty AI_DIFFICULTY_NORMAL                  = ConvertAIDifficulty(1)
598
    constant aidifficulty AI_DIFFICULTY_INSANE                  = ConvertAIDifficulty(2)
599
600
    // player score values
601
    constant playerscore PLAYER_SCORE_UNITS_TRAINED             = ConvertPlayerScore(0)
602
    constant playerscore PLAYER_SCORE_UNITS_KILLED              = ConvertPlayerScore(1)
603
    constant playerscore PLAYER_SCORE_STRUCT_BUILT              = ConvertPlayerScore(2)
604
    constant playerscore PLAYER_SCORE_STRUCT_RAZED              = ConvertPlayerScore(3)
605
    constant playerscore PLAYER_SCORE_TECH_PERCENT              = ConvertPlayerScore(4)
606
    constant playerscore PLAYER_SCORE_FOOD_MAXPROD              = ConvertPlayerScore(5)
607
    constant playerscore PLAYER_SCORE_FOOD_MAXUSED              = ConvertPlayerScore(6)
608
    constant playerscore PLAYER_SCORE_HEROES_KILLED             = ConvertPlayerScore(7)
609
    constant playerscore PLAYER_SCORE_ITEMS_GAINED              = ConvertPlayerScore(8)
610
    constant playerscore PLAYER_SCORE_MERCS_HIRED               = ConvertPlayerScore(9)
611
    constant playerscore PLAYER_SCORE_GOLD_MINED_TOTAL          = ConvertPlayerScore(10)
612
    constant playerscore PLAYER_SCORE_GOLD_MINED_UPKEEP         = ConvertPlayerScore(11)
613
    constant playerscore PLAYER_SCORE_GOLD_LOST_UPKEEP          = ConvertPlayerScore(12)
614
    constant playerscore PLAYER_SCORE_GOLD_LOST_TAX             = ConvertPlayerScore(13)
615
    constant playerscore PLAYER_SCORE_GOLD_GIVEN                = ConvertPlayerScore(14)
616
    constant playerscore PLAYER_SCORE_GOLD_RECEIVED             = ConvertPlayerScore(15)
617
    constant playerscore PLAYER_SCORE_LUMBER_TOTAL              = ConvertPlayerScore(16)
618
    constant playerscore PLAYER_SCORE_LUMBER_LOST_UPKEEP        = ConvertPlayerScore(17)
619
    constant playerscore PLAYER_SCORE_LUMBER_LOST_TAX           = ConvertPlayerScore(18)
620
    constant playerscore PLAYER_SCORE_LUMBER_GIVEN              = ConvertPlayerScore(19)
621
    constant playerscore PLAYER_SCORE_LUMBER_RECEIVED           = ConvertPlayerScore(20)
622
    constant playerscore PLAYER_SCORE_UNIT_TOTAL                = ConvertPlayerScore(21)
623
    constant playerscore PLAYER_SCORE_HERO_TOTAL                = ConvertPlayerScore(22)
624
    constant playerscore PLAYER_SCORE_RESOURCE_TOTAL            = ConvertPlayerScore(23)
625
    constant playerscore PLAYER_SCORE_TOTAL                     = ConvertPlayerScore(24)
626
627
//===================================================
628
// Game, Player and Unit Events
629
//
630
//  When an event causes a trigger to fire these
631
//  values allow the action code to determine which
632
//  event was dispatched and therefore which set of
633
//  native functions should be used to get information
634
//  about the event.
635
//
636
// Do NOT change the order or value of these constants
637
// without insuring that the JASS_GAME_EVENTS_WAR3 enum
638
// is changed to match.
639
//
640
//===================================================
641
642
    //===================================================
643
    // For use with TriggerRegisterGameEvent
644
    //===================================================
645
646
    constant gameevent EVENT_GAME_VICTORY                       = ConvertGameEvent(0)
647
    constant gameevent EVENT_GAME_END_LEVEL                     = ConvertGameEvent(1)
648
649
    constant gameevent EVENT_GAME_VARIABLE_LIMIT                = ConvertGameEvent(2)
650
    constant gameevent EVENT_GAME_STATE_LIMIT                   = ConvertGameEvent(3)
651
652
    constant gameevent EVENT_GAME_TIMER_EXPIRED                 = ConvertGameEvent(4)
653
654
    constant gameevent EVENT_GAME_ENTER_REGION                  = ConvertGameEvent(5)
655
    constant gameevent EVENT_GAME_LEAVE_REGION                  = ConvertGameEvent(6)
656
657
    constant gameevent EVENT_GAME_TRACKABLE_HIT                 = ConvertGameEvent(7)
658
    constant gameevent EVENT_GAME_TRACKABLE_TRACK               = ConvertGameEvent(8)
659
660
    constant gameevent EVENT_GAME_SHOW_SKILL                    = ConvertGameEvent(9)
661
    constant gameevent EVENT_GAME_BUILD_SUBMENU                 = ConvertGameEvent(10)
662
663
    //===================================================
664
    // For use with TriggerRegisterPlayerEvent
665
    //===================================================
666
    constant playerevent EVENT_PLAYER_STATE_LIMIT               = ConvertPlayerEvent(11)
667
    constant playerevent EVENT_PLAYER_ALLIANCE_CHANGED          = ConvertPlayerEvent(12)
668
669
    constant playerevent EVENT_PLAYER_DEFEAT                    = ConvertPlayerEvent(13)
670
    constant playerevent EVENT_PLAYER_VICTORY                   = ConvertPlayerEvent(14)
671
    constant playerevent EVENT_PLAYER_LEAVE                     = ConvertPlayerEvent(15)
672
    constant playerevent EVENT_PLAYER_CHAT                      = ConvertPlayerEvent(16)
673
    constant playerevent EVENT_PLAYER_END_CINEMATIC             = ConvertPlayerEvent(17)
674
675
    //===================================================
676
    // For use with TriggerRegisterPlayerUnitEvent
677
    //===================================================
678
679
    constant playerunitevent EVENT_PLAYER_UNIT_ATTACKED                 = ConvertPlayerUnitEvent(18)
680
    constant playerunitevent EVENT_PLAYER_UNIT_RESCUED                  = ConvertPlayerUnitEvent(19)
681
682
    constant playerunitevent EVENT_PLAYER_UNIT_DEATH                    = ConvertPlayerUnitEvent(20)
683
    constant playerunitevent EVENT_PLAYER_UNIT_DECAY                    = ConvertPlayerUnitEvent(21)
684
685
    constant playerunitevent EVENT_PLAYER_UNIT_DETECTED                 = ConvertPlayerUnitEvent(22)
686
    constant playerunitevent EVENT_PLAYER_UNIT_HIDDEN                   = ConvertPlayerUnitEvent(23)
687
688
    constant playerunitevent EVENT_PLAYER_UNIT_SELECTED                 = ConvertPlayerUnitEvent(24)
689
    constant playerunitevent EVENT_PLAYER_UNIT_DESELECTED               = ConvertPlayerUnitEvent(25)
690
691
    constant playerunitevent EVENT_PLAYER_UNIT_CONSTRUCT_START          = ConvertPlayerUnitEvent(26)
692
    constant playerunitevent EVENT_PLAYER_UNIT_CONSTRUCT_CANCEL         = ConvertPlayerUnitEvent(27)
693
    constant playerunitevent EVENT_PLAYER_UNIT_CONSTRUCT_FINISH         = ConvertPlayerUnitEvent(28)
694
695
    constant playerunitevent EVENT_PLAYER_UNIT_UPGRADE_START            = ConvertPlayerUnitEvent(29)
696
    constant playerunitevent EVENT_PLAYER_UNIT_UPGRADE_CANCEL           = ConvertPlayerUnitEvent(30)
697
    constant playerunitevent EVENT_PLAYER_UNIT_UPGRADE_FINISH           = ConvertPlayerUnitEvent(31)
698
699
    constant playerunitevent EVENT_PLAYER_UNIT_TRAIN_START              = ConvertPlayerUnitEvent(32)
700
    constant playerunitevent EVENT_PLAYER_UNIT_TRAIN_CANCEL             = ConvertPlayerUnitEvent(33)
701
    constant playerunitevent EVENT_PLAYER_UNIT_TRAIN_FINISH             = ConvertPlayerUnitEvent(34)
702
703
    constant playerunitevent EVENT_PLAYER_UNIT_RESEARCH_START           = ConvertPlayerUnitEvent(35)
704
    constant playerunitevent EVENT_PLAYER_UNIT_RESEARCH_CANCEL          = ConvertPlayerUnitEvent(36)
705
    constant playerunitevent EVENT_PLAYER_UNIT_RESEARCH_FINISH          = ConvertPlayerUnitEvent(37)
706
    constant playerunitevent EVENT_PLAYER_UNIT_ISSUED_ORDER             = ConvertPlayerUnitEvent(38)
707
    constant playerunitevent EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER       = ConvertPlayerUnitEvent(39)
708
    constant playerunitevent EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER      = ConvertPlayerUnitEvent(40)
709
    constant playerunitevent EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER        = ConvertPlayerUnitEvent(40)    // for compat
710
711
    constant playerunitevent EVENT_PLAYER_HERO_LEVEL                    = ConvertPlayerUnitEvent(41)
712
    constant playerunitevent EVENT_PLAYER_HERO_SKILL                    = ConvertPlayerUnitEvent(42)
713
714
    constant playerunitevent EVENT_PLAYER_HERO_REVIVABLE                = ConvertPlayerUnitEvent(43)
715
716
    constant playerunitevent EVENT_PLAYER_HERO_REVIVE_START             = ConvertPlayerUnitEvent(44)
717
    constant playerunitevent EVENT_PLAYER_HERO_REVIVE_CANCEL            = ConvertPlayerUnitEvent(45)
718
    constant playerunitevent EVENT_PLAYER_HERO_REVIVE_FINISH            = ConvertPlayerUnitEvent(46)
719
    constant playerunitevent EVENT_PLAYER_UNIT_SUMMON                   = ConvertPlayerUnitEvent(47)
720
    constant playerunitevent EVENT_PLAYER_UNIT_DROP_ITEM                = ConvertPlayerUnitEvent(48)
721
    constant playerunitevent EVENT_PLAYER_UNIT_PICKUP_ITEM              = ConvertPlayerUnitEvent(49)
722
    constant playerunitevent EVENT_PLAYER_UNIT_USE_ITEM                 = ConvertPlayerUnitEvent(50)
723
724
    constant playerunitevent EVENT_PLAYER_UNIT_LOADED                   = ConvertPlayerUnitEvent(51)
725
    constant playerunitevent EVENT_PLAYER_UNIT_DAMAGED                  = ConvertPlayerUnitEvent(308)
726
    constant playerunitevent EVENT_PLAYER_UNIT_DAMAGING                 = ConvertPlayerUnitEvent(315)
727
728
    //===================================================
729
    // For use with TriggerRegisterUnitEvent
730
    //===================================================
731
732
    constant unitevent EVENT_UNIT_DAMAGED                               = ConvertUnitEvent(52)
733
    constant unitevent EVENT_UNIT_DAMAGING                              = ConvertUnitEvent(314)
734
    constant unitevent EVENT_UNIT_DEATH                                 = ConvertUnitEvent(53)
735
    constant unitevent EVENT_UNIT_DECAY                                 = ConvertUnitEvent(54)
736
    constant unitevent EVENT_UNIT_DETECTED                              = ConvertUnitEvent(55)
737
    constant unitevent EVENT_UNIT_HIDDEN                                = ConvertUnitEvent(56)
738
    constant unitevent EVENT_UNIT_SELECTED                              = ConvertUnitEvent(57)
739
    constant unitevent EVENT_UNIT_DESELECTED                            = ConvertUnitEvent(58)
740
                                                                        
741
    constant unitevent EVENT_UNIT_STATE_LIMIT                           = ConvertUnitEvent(59)                                                                        
742
743
    // Events which may have a filter for the "other unit"              
744
    //                                                                  
745
    constant unitevent EVENT_UNIT_ACQUIRED_TARGET                       = ConvertUnitEvent(60)
746
    constant unitevent EVENT_UNIT_TARGET_IN_RANGE                       = ConvertUnitEvent(61)
747
    constant unitevent EVENT_UNIT_ATTACKED                              = ConvertUnitEvent(62)
748
    constant unitevent EVENT_UNIT_RESCUED                               = ConvertUnitEvent(63)
749
                                                                        
750
    constant unitevent EVENT_UNIT_CONSTRUCT_CANCEL                      = ConvertUnitEvent(64)
751
    constant unitevent EVENT_UNIT_CONSTRUCT_FINISH                      = ConvertUnitEvent(65)
752
                                                                        
753
    constant unitevent EVENT_UNIT_UPGRADE_START                         = ConvertUnitEvent(66)
754
    constant unitevent EVENT_UNIT_UPGRADE_CANCEL                        = ConvertUnitEvent(67)
755
    constant unitevent EVENT_UNIT_UPGRADE_FINISH                        = ConvertUnitEvent(68)
756
                                                                        
757
    // Events which involve the specified unit performing               
758
    // training of other units                                          
759
    //                                                                  
760
    constant unitevent EVENT_UNIT_TRAIN_START                           = ConvertUnitEvent(69)
761
    constant unitevent EVENT_UNIT_TRAIN_CANCEL                          = ConvertUnitEvent(70)
762
    constant unitevent EVENT_UNIT_TRAIN_FINISH                          = ConvertUnitEvent(71)
763
                                                                        
764
    constant unitevent EVENT_UNIT_RESEARCH_START                        = ConvertUnitEvent(72)
765
    constant unitevent EVENT_UNIT_RESEARCH_CANCEL                       = ConvertUnitEvent(73)
766
    constant unitevent EVENT_UNIT_RESEARCH_FINISH                       = ConvertUnitEvent(74)
767
                                                                        
768
    constant unitevent EVENT_UNIT_ISSUED_ORDER                          = ConvertUnitEvent(75)
769
    constant unitevent EVENT_UNIT_ISSUED_POINT_ORDER                    = ConvertUnitEvent(76)
770
    constant unitevent EVENT_UNIT_ISSUED_TARGET_ORDER                   = ConvertUnitEvent(77)
771
                                                                       
772
    constant unitevent EVENT_UNIT_HERO_LEVEL                            = ConvertUnitEvent(78)
773
    constant unitevent EVENT_UNIT_HERO_SKILL                            = ConvertUnitEvent(79)
774
                                                                        
775
    constant unitevent EVENT_UNIT_HERO_REVIVABLE                        = ConvertUnitEvent(80)
776
    constant unitevent EVENT_UNIT_HERO_REVIVE_START                     = ConvertUnitEvent(81)
777
    constant unitevent EVENT_UNIT_HERO_REVIVE_CANCEL                    = ConvertUnitEvent(82)
778
    constant unitevent EVENT_UNIT_HERO_REVIVE_FINISH                    = ConvertUnitEvent(83)
779
                                                                        
780
    constant unitevent EVENT_UNIT_SUMMON                                = ConvertUnitEvent(84)
781
                                                                        
782
    constant unitevent EVENT_UNIT_DROP_ITEM                             = ConvertUnitEvent(85)
783
    constant unitevent EVENT_UNIT_PICKUP_ITEM                           = ConvertUnitEvent(86)
784
    constant unitevent EVENT_UNIT_USE_ITEM                              = ConvertUnitEvent(87)
785
786
    constant unitevent EVENT_UNIT_LOADED                                = ConvertUnitEvent(88)
787
788
    constant widgetevent EVENT_WIDGET_DEATH                             = ConvertWidgetEvent(89)
789
790
    constant dialogevent EVENT_DIALOG_BUTTON_CLICK                      = ConvertDialogEvent(90)
791
    constant dialogevent EVENT_DIALOG_CLICK                             = ConvertDialogEvent(91)
792
793
    //===================================================
794
    // Frozen Throne Expansion Events
795
    // Need to be added here to preserve compat
796
    //===================================================
797
   
798
    //===================================================    
799
    // For use with TriggerRegisterGameEvent
800
    //===================================================
801
802
    constant gameevent          EVENT_GAME_LOADED                       = ConvertGameEvent(256)
803
    constant gameevent          EVENT_GAME_TOURNAMENT_FINISH_SOON       = ConvertGameEvent(257)
804
    constant gameevent          EVENT_GAME_TOURNAMENT_FINISH_NOW        = ConvertGameEvent(258)
805
    constant gameevent          EVENT_GAME_SAVE                         = ConvertGameEvent(259)
806
    constant gameevent          EVENT_GAME_CUSTOM_UI_FRAME              = ConvertGameEvent(310)
807
808
    //===================================================
809
    // For use with TriggerRegisterPlayerEvent
810
    //===================================================
811
812
    constant playerevent        EVENT_PLAYER_ARROW_LEFT_DOWN            = ConvertPlayerEvent(261)
813
    constant playerevent        EVENT_PLAYER_ARROW_LEFT_UP              = ConvertPlayerEvent(262)
814
    constant playerevent        EVENT_PLAYER_ARROW_RIGHT_DOWN           = ConvertPlayerEvent(263)
815
    constant playerevent        EVENT_PLAYER_ARROW_RIGHT_UP             = ConvertPlayerEvent(264)
816
    constant playerevent        EVENT_PLAYER_ARROW_DOWN_DOWN            = ConvertPlayerEvent(265)
817
    constant playerevent        EVENT_PLAYER_ARROW_DOWN_UP              = ConvertPlayerEvent(266)
818
    constant playerevent        EVENT_PLAYER_ARROW_UP_DOWN              = ConvertPlayerEvent(267)
819
    constant playerevent        EVENT_PLAYER_ARROW_UP_UP                = ConvertPlayerEvent(268)
820
    constant playerevent        EVENT_PLAYER_MOUSE_DOWN                 = ConvertPlayerEvent(305)
821
    constant playerevent        EVENT_PLAYER_MOUSE_UP                   = ConvertPlayerEvent(306)
822
    constant playerevent        EVENT_PLAYER_MOUSE_MOVE                 = ConvertPlayerEvent(307)
823
    constant playerevent        EVENT_PLAYER_SYNC_DATA                  = ConvertPlayerEvent(309)
824
    constant playerevent        EVENT_PLAYER_KEY                        = ConvertPlayerEvent(311)
825
    constant playerevent        EVENT_PLAYER_KEY_DOWN                   = ConvertPlayerEvent(312)
826
    constant playerevent        EVENT_PLAYER_KEY_UP                     = ConvertPlayerEvent(313)
827
828
    //===================================================
829
    // For use with TriggerRegisterPlayerUnitEvent
830
    //===================================================
831
832
    constant playerunitevent    EVENT_PLAYER_UNIT_SELL                  = ConvertPlayerUnitEvent(269)
833
    constant playerunitevent    EVENT_PLAYER_UNIT_CHANGE_OWNER          = ConvertPlayerUnitEvent(270)
834
    constant playerunitevent    EVENT_PLAYER_UNIT_SELL_ITEM             = ConvertPlayerUnitEvent(271)
835
    constant playerunitevent    EVENT_PLAYER_UNIT_SPELL_CHANNEL         = ConvertPlayerUnitEvent(272)
836
    constant playerunitevent    EVENT_PLAYER_UNIT_SPELL_CAST            = ConvertPlayerUnitEvent(273)
837
    constant playerunitevent    EVENT_PLAYER_UNIT_SPELL_EFFECT          = ConvertPlayerUnitEvent(274)
838
    constant playerunitevent    EVENT_PLAYER_UNIT_SPELL_FINISH          = ConvertPlayerUnitEvent(275)
839
    constant playerunitevent    EVENT_PLAYER_UNIT_SPELL_ENDCAST         = ConvertPlayerUnitEvent(276)
840
    constant playerunitevent    EVENT_PLAYER_UNIT_PAWN_ITEM             = ConvertPlayerUnitEvent(277)
841
    constant playerunitevent    EVENT_PLAYER_UNIT_STACK_ITEM            = ConvertPlayerUnitEvent(319)
842
843
    //===================================================
844
    // For use with TriggerRegisterUnitEvent
845
    //===================================================
846
847
    constant unitevent          EVENT_UNIT_SELL                         = ConvertUnitEvent(286)
848
    constant unitevent          EVENT_UNIT_CHANGE_OWNER                 = ConvertUnitEvent(287)
849
    constant unitevent          EVENT_UNIT_SELL_ITEM                    = ConvertUnitEvent(288)
850
    constant unitevent          EVENT_UNIT_SPELL_CHANNEL                = ConvertUnitEvent(289)
851
    constant unitevent          EVENT_UNIT_SPELL_CAST                   = ConvertUnitEvent(290)
852
    constant unitevent          EVENT_UNIT_SPELL_EFFECT                 = ConvertUnitEvent(291)
853
    constant unitevent          EVENT_UNIT_SPELL_FINISH                 = ConvertUnitEvent(292)
854
    constant unitevent          EVENT_UNIT_SPELL_ENDCAST                = ConvertUnitEvent(293)
855
    constant unitevent          EVENT_UNIT_PAWN_ITEM                    = ConvertUnitEvent(294)
856
    constant unitevent          EVENT_UNIT_STACK_ITEM                   = ConvertUnitEvent(318)
857
858
    //===================================================
859
    // Limit Event API constants
860
    // variable, player state, game state, and unit state events
861
    // ( do NOT change the order of these... )
862
    //===================================================
863
    constant limitop LESS_THAN                              = ConvertLimitOp(0)
864
    constant limitop LESS_THAN_OR_EQUAL                     = ConvertLimitOp(1)
865
    constant limitop EQUAL                                  = ConvertLimitOp(2)
866
    constant limitop GREATER_THAN_OR_EQUAL                  = ConvertLimitOp(3)
867
    constant limitop GREATER_THAN                           = ConvertLimitOp(4)
868
    constant limitop NOT_EQUAL                              = ConvertLimitOp(5)
869
870
//===================================================
871
// Unit Type Constants for use with IsUnitType()
872
//===================================================
873
874
    constant unittype UNIT_TYPE_HERO                        = ConvertUnitType(0)
875
    constant unittype UNIT_TYPE_DEAD                        = ConvertUnitType(1)
876
    constant unittype UNIT_TYPE_STRUCTURE                   = ConvertUnitType(2)
877
878
    constant unittype UNIT_TYPE_FLYING                      = ConvertUnitType(3)
879
    constant unittype UNIT_TYPE_GROUND                      = ConvertUnitType(4)
880
881
    constant unittype UNIT_TYPE_ATTACKS_FLYING              = ConvertUnitType(5)
882
    constant unittype UNIT_TYPE_ATTACKS_GROUND              = ConvertUnitType(6)
883
884
    constant unittype UNIT_TYPE_MELEE_ATTACKER              = ConvertUnitType(7)
885
    constant unittype UNIT_TYPE_RANGED_ATTACKER             = ConvertUnitType(8)
886
887
    constant unittype UNIT_TYPE_GIANT                       = ConvertUnitType(9)
888
    constant unittype UNIT_TYPE_SUMMONED                    = ConvertUnitType(10)
889
    constant unittype UNIT_TYPE_STUNNED                     = ConvertUnitType(11)
890
    constant unittype UNIT_TYPE_PLAGUED                     = ConvertUnitType(12)
891
    constant unittype UNIT_TYPE_SNARED                      = ConvertUnitType(13)
892
893
    constant unittype UNIT_TYPE_UNDEAD                      = ConvertUnitType(14)
894
    constant unittype UNIT_TYPE_MECHANICAL                  = ConvertUnitType(15)
895
    constant unittype UNIT_TYPE_PEON                        = ConvertUnitType(16)
896
    constant unittype UNIT_TYPE_SAPPER                      = ConvertUnitType(17)
897
    constant unittype UNIT_TYPE_TOWNHALL                    = ConvertUnitType(18)
898
    constant unittype UNIT_TYPE_ANCIENT                     = ConvertUnitType(19)
899
900
    constant unittype UNIT_TYPE_TAUREN                      = ConvertUnitType(20)
901
    constant unittype UNIT_TYPE_POISONED                    = ConvertUnitType(21)
902
    constant unittype UNIT_TYPE_POLYMORPHED                 = ConvertUnitType(22)
903
    constant unittype UNIT_TYPE_SLEEPING                    = ConvertUnitType(23)
904
    constant unittype UNIT_TYPE_RESISTANT                   = ConvertUnitType(24)
905
    constant unittype UNIT_TYPE_ETHEREAL                    = ConvertUnitType(25)
906
    constant unittype UNIT_TYPE_MAGIC_IMMUNE                = ConvertUnitType(26)
907
908
//===================================================
909
// Unit Type Constants for use with ChooseRandomItemEx()
910
//===================================================
911
912
    constant itemtype ITEM_TYPE_PERMANENT                   = ConvertItemType(0)
913
    constant itemtype ITEM_TYPE_CHARGED                     = ConvertItemType(1)
914
    constant itemtype ITEM_TYPE_POWERUP                     = ConvertItemType(2)
915
    constant itemtype ITEM_TYPE_ARTIFACT                    = ConvertItemType(3)
916
    constant itemtype ITEM_TYPE_PURCHASABLE                 = ConvertItemType(4)
917
    constant itemtype ITEM_TYPE_CAMPAIGN                    = ConvertItemType(5)
918
    constant itemtype ITEM_TYPE_MISCELLANEOUS               = ConvertItemType(6)
919
    constant itemtype ITEM_TYPE_UNKNOWN                     = ConvertItemType(7)
920
    constant itemtype ITEM_TYPE_ANY                         = ConvertItemType(8)
921
922
    // Deprecated, should use ITEM_TYPE_POWERUP
923
    constant itemtype ITEM_TYPE_TOME                        = ConvertItemType(2)
924
925
//===================================================
926
// Animatable Camera Fields
927
//===================================================
928
929
    constant camerafield CAMERA_FIELD_TARGET_DISTANCE       = ConvertCameraField(0)
930
    constant camerafield CAMERA_FIELD_FARZ                  = ConvertCameraField(1)
931
    constant camerafield CAMERA_FIELD_ANGLE_OF_ATTACK       = ConvertCameraField(2)
932
    constant camerafield CAMERA_FIELD_FIELD_OF_VIEW         = ConvertCameraField(3)
933
    constant camerafield CAMERA_FIELD_ROLL                  = ConvertCameraField(4)
934
    constant camerafield CAMERA_FIELD_ROTATION              = ConvertCameraField(5)
935
    constant camerafield CAMERA_FIELD_ZOFFSET               = ConvertCameraField(6)
936
    constant camerafield CAMERA_FIELD_NEARZ                 = ConvertCameraField(7)
937
    constant camerafield CAMERA_FIELD_LOCAL_PITCH           = ConvertCameraField(8)
938
    constant camerafield CAMERA_FIELD_LOCAL_YAW             = ConvertCameraField(9)
939
    constant camerafield CAMERA_FIELD_LOCAL_ROLL            = ConvertCameraField(10)
940
941
    constant blendmode   BLEND_MODE_NONE                    = ConvertBlendMode(0)
942
    constant blendmode   BLEND_MODE_DONT_CARE               = ConvertBlendMode(0)
943
    constant blendmode   BLEND_MODE_KEYALPHA                = ConvertBlendMode(1)
944
    constant blendmode   BLEND_MODE_BLEND                   = ConvertBlendMode(2)
945
    constant blendmode   BLEND_MODE_ADDITIVE                = ConvertBlendMode(3)
946
    constant blendmode   BLEND_MODE_MODULATE                = ConvertBlendMode(4)
947
    constant blendmode   BLEND_MODE_MODULATE_2X             = ConvertBlendMode(5)
948
949
    constant raritycontrol  RARITY_FREQUENT                 = ConvertRarityControl(0)
950
    constant raritycontrol  RARITY_RARE                     = ConvertRarityControl(1)
951
952
    constant texmapflags    TEXMAP_FLAG_NONE                = ConvertTexMapFlags(0)
953
    constant texmapflags    TEXMAP_FLAG_WRAP_U              = ConvertTexMapFlags(1)
954
    constant texmapflags    TEXMAP_FLAG_WRAP_V              = ConvertTexMapFlags(2)
955
    constant texmapflags    TEXMAP_FLAG_WRAP_UV             = ConvertTexMapFlags(3)
956
957
    constant fogstate       FOG_OF_WAR_MASKED               = ConvertFogState(1)
958
    constant fogstate       FOG_OF_WAR_FOGGED               = ConvertFogState(2)
959
    constant fogstate       FOG_OF_WAR_VISIBLE              = ConvertFogState(4)
960
961
//===================================================
962
// Camera Margin constants for use with GetCameraMargin
963
//===================================================
964
965
    constant integer        CAMERA_MARGIN_LEFT              = 0
966
    constant integer        CAMERA_MARGIN_RIGHT             = 1
967
    constant integer        CAMERA_MARGIN_TOP               = 2
968
    constant integer        CAMERA_MARGIN_BOTTOM            = 3
969
970
//===================================================
971
// Effect API constants
972
//===================================================
973
974
    constant effecttype     EFFECT_TYPE_EFFECT              = ConvertEffectType(0)
975
    constant effecttype     EFFECT_TYPE_TARGET              = ConvertEffectType(1)
976
    constant effecttype     EFFECT_TYPE_CASTER              = ConvertEffectType(2)
977
    constant effecttype     EFFECT_TYPE_SPECIAL             = ConvertEffectType(3)
978
    constant effecttype     EFFECT_TYPE_AREA_EFFECT         = ConvertEffectType(4)
979
    constant effecttype     EFFECT_TYPE_MISSILE             = ConvertEffectType(5)
980
    constant effecttype     EFFECT_TYPE_LIGHTNING           = ConvertEffectType(6)
981
982
    constant soundtype      SOUND_TYPE_EFFECT               = ConvertSoundType(0)
983
    constant soundtype      SOUND_TYPE_EFFECT_LOOPED        = ConvertSoundType(1)
984
985
//===================================================
986
// Custom UI API constants
987
//===================================================
988
989
    constant originframetype        ORIGIN_FRAME_GAME_UI                    = ConvertOriginFrameType(0)
990
    constant originframetype        ORIGIN_FRAME_COMMAND_BUTTON             = ConvertOriginFrameType(1)
991
    constant originframetype        ORIGIN_FRAME_HERO_BAR                   = ConvertOriginFrameType(2)
992
    constant originframetype        ORIGIN_FRAME_HERO_BUTTON                = ConvertOriginFrameType(3)
993
    constant originframetype        ORIGIN_FRAME_HERO_HP_BAR                = ConvertOriginFrameType(4)
994
    constant originframetype        ORIGIN_FRAME_HERO_MANA_BAR              = ConvertOriginFrameType(5)
995
    constant originframetype        ORIGIN_FRAME_HERO_BUTTON_INDICATOR      = ConvertOriginFrameType(6)
996
    constant originframetype        ORIGIN_FRAME_ITEM_BUTTON                = ConvertOriginFrameType(7)
997
    constant originframetype        ORIGIN_FRAME_MINIMAP                    = ConvertOriginFrameType(8)
998
    constant originframetype        ORIGIN_FRAME_MINIMAP_BUTTON             = ConvertOriginFrameType(9)
999
    constant originframetype        ORIGIN_FRAME_SYSTEM_BUTTON              = ConvertOriginFrameType(10)
1000
    constant originframetype        ORIGIN_FRAME_TOOLTIP                    = ConvertOriginFrameType(11)
1001
    constant originframetype        ORIGIN_FRAME_UBERTOOLTIP                = ConvertOriginFrameType(12)
1002
    constant originframetype        ORIGIN_FRAME_CHAT_MSG                   = ConvertOriginFrameType(13)
1003
    constant originframetype        ORIGIN_FRAME_UNIT_MSG                   = ConvertOriginFrameType(14)
1004
    constant originframetype        ORIGIN_FRAME_TOP_MSG                    = ConvertOriginFrameType(15)
1005
    constant originframetype        ORIGIN_FRAME_PORTRAIT                   = ConvertOriginFrameType(16)
1006
    constant originframetype        ORIGIN_FRAME_WORLD_FRAME                = ConvertOriginFrameType(17)
1007
    constant originframetype        ORIGIN_FRAME_SIMPLE_UI_PARENT           = ConvertOriginFrameType(18)
1008
    constant originframetype        ORIGIN_FRAME_PORTRAIT_HP_TEXT           = ConvertOriginFrameType(19)
1009
    constant originframetype        ORIGIN_FRAME_PORTRAIT_MANA_TEXT         = ConvertOriginFrameType(20)
1010
    constant originframetype        ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR        = ConvertOriginFrameType(21)
1011
    constant originframetype        ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR_LABEL  = ConvertOriginFrameType(22)
1012
1013
    constant framepointtype         FRAMEPOINT_TOPLEFT                   = ConvertFramePointType(0)
1014
    constant framepointtype         FRAMEPOINT_TOP                       = ConvertFramePointType(1)
1015
    constant framepointtype         FRAMEPOINT_TOPRIGHT                  = ConvertFramePointType(2)
1016
    constant framepointtype         FRAMEPOINT_LEFT                      = ConvertFramePointType(3)
1017
    constant framepointtype         FRAMEPOINT_CENTER                    = ConvertFramePointType(4)
1018
    constant framepointtype         FRAMEPOINT_RIGHT                     = ConvertFramePointType(5)
1019
    constant framepointtype         FRAMEPOINT_BOTTOMLEFT                = ConvertFramePointType(6)
1020
    constant framepointtype         FRAMEPOINT_BOTTOM                    = ConvertFramePointType(7)
1021
    constant framepointtype         FRAMEPOINT_BOTTOMRIGHT               = ConvertFramePointType(8)
1022
1023
    constant textaligntype          TEXT_JUSTIFY_TOP                     = ConvertTextAlignType(0)
1024
    constant textaligntype          TEXT_JUSTIFY_MIDDLE                  = ConvertTextAlignType(1)
1025
    constant textaligntype          TEXT_JUSTIFY_BOTTOM                  = ConvertTextAlignType(2)
1026
    constant textaligntype          TEXT_JUSTIFY_LEFT                    = ConvertTextAlignType(3)
1027
    constant textaligntype          TEXT_JUSTIFY_CENTER                  = ConvertTextAlignType(4)
1028
    constant textaligntype          TEXT_JUSTIFY_RIGHT                   = ConvertTextAlignType(5)
1029
1030
    constant frameeventtype         FRAMEEVENT_CONTROL_CLICK             = ConvertFrameEventType(1)
1031
    constant frameeventtype         FRAMEEVENT_MOUSE_ENTER               = ConvertFrameEventType(2)
1032
    constant frameeventtype         FRAMEEVENT_MOUSE_LEAVE               = ConvertFrameEventType(3)
1033
    constant frameeventtype         FRAMEEVENT_MOUSE_UP                  = ConvertFrameEventType(4)
1034
    constant frameeventtype         FRAMEEVENT_MOUSE_DOWN                = ConvertFrameEventType(5)
1035
    constant frameeventtype         FRAMEEVENT_MOUSE_WHEEL               = ConvertFrameEventType(6)
1036
    constant frameeventtype         FRAMEEVENT_CHECKBOX_CHECKED          = ConvertFrameEventType(7)
1037
    constant frameeventtype         FRAMEEVENT_CHECKBOX_UNCHECKED        = ConvertFrameEventType(8)
1038
    constant frameeventtype         FRAMEEVENT_EDITBOX_TEXT_CHANGED      = ConvertFrameEventType(9)
1039
    constant frameeventtype         FRAMEEVENT_POPUPMENU_ITEM_CHANGED    = ConvertFrameEventType(10)
1040
    constant frameeventtype         FRAMEEVENT_MOUSE_DOUBLECLICK         = ConvertFrameEventType(11)
1041
    constant frameeventtype         FRAMEEVENT_SPRITE_ANIM_UPDATE        = ConvertFrameEventType(12)
1042
    constant frameeventtype         FRAMEEVENT_SLIDER_VALUE_CHANGED      = ConvertFrameEventType(13)
1043
    constant frameeventtype         FRAMEEVENT_DIALOG_CANCEL             = ConvertFrameEventType(14)
1044
    constant frameeventtype         FRAMEEVENT_DIALOG_ACCEPT             = ConvertFrameEventType(15)
1045
    constant frameeventtype         FRAMEEVENT_EDITBOX_ENTER             = ConvertFrameEventType(16)
1046
1047
//===================================================
1048
// OS Key constants
1049
//===================================================
1050
1051
    constant oskeytype              OSKEY_BACKSPACE                      = ConvertOsKeyType($08)
1052
    constant oskeytype              OSKEY_TAB                            = ConvertOsKeyType($09)
1053
    constant oskeytype              OSKEY_CLEAR                          = ConvertOsKeyType($0C)
1054
    constant oskeytype              OSKEY_RETURN                         = ConvertOsKeyType($0D)
1055
    constant oskeytype              OSKEY_SHIFT                          = ConvertOsKeyType($10)
1056
    constant oskeytype              OSKEY_CONTROL                        = ConvertOsKeyType($11)
1057
    constant oskeytype              OSKEY_ALT                            = ConvertOsKeyType($12)
1058
    constant oskeytype              OSKEY_PAUSE                          = ConvertOsKeyType($13)
1059
    constant oskeytype              OSKEY_CAPSLOCK                       = ConvertOsKeyType($14)
1060
    constant oskeytype              OSKEY_KANA                           = ConvertOsKeyType($15)
1061
    constant oskeytype              OSKEY_HANGUL                         = ConvertOsKeyType($15)
1062
    constant oskeytype              OSKEY_JUNJA                          = ConvertOsKeyType($17)
1063
    constant oskeytype              OSKEY_FINAL                          = ConvertOsKeyType($18)
1064
    constant oskeytype              OSKEY_HANJA                          = ConvertOsKeyType($19)
1065
    constant oskeytype              OSKEY_KANJI                          = ConvertOsKeyType($19)
1066
    constant oskeytype              OSKEY_ESCAPE                         = ConvertOsKeyType($1B)
1067
    constant oskeytype              OSKEY_CONVERT                        = ConvertOsKeyType($1C)
1068
    constant oskeytype              OSKEY_NONCONVERT                     = ConvertOsKeyType($1D)
1069
    constant oskeytype              OSKEY_ACCEPT                         = ConvertOsKeyType($1E)
1070
    constant oskeytype              OSKEY_MODECHANGE                     = ConvertOsKeyType($1F)
1071
    constant oskeytype              OSKEY_SPACE                          = ConvertOsKeyType($20)
1072
    constant oskeytype              OSKEY_PAGEUP                         = ConvertOsKeyType($21)
1073
    constant oskeytype              OSKEY_PAGEDOWN                       = ConvertOsKeyType($22)
1074
    constant oskeytype              OSKEY_END                            = ConvertOsKeyType($23)
1075
    constant oskeytype              OSKEY_HOME                           = ConvertOsKeyType($24)
1076
    constant oskeytype              OSKEY_LEFT                           = ConvertOsKeyType($25)
1077
    constant oskeytype              OSKEY_UP                             = ConvertOsKeyType($26)
1078
    constant oskeytype              OSKEY_RIGHT                          = ConvertOsKeyType($27)
1079
    constant oskeytype              OSKEY_DOWN                           = ConvertOsKeyType($28)
1080
    constant oskeytype              OSKEY_SELECT                         = ConvertOsKeyType($29)
1081
    constant oskeytype              OSKEY_PRINT                          = ConvertOsKeyType($2A)
1082
    constant oskeytype              OSKEY_EXECUTE                        = ConvertOsKeyType($2B)
1083
    constant oskeytype              OSKEY_PRINTSCREEN                    = ConvertOsKeyType($2C)
1084
    constant oskeytype              OSKEY_INSERT                         = ConvertOsKeyType($2D)
1085
    constant oskeytype              OSKEY_DELETE                         = ConvertOsKeyType($2E)
1086
    constant oskeytype              OSKEY_HELP                           = ConvertOsKeyType($2F)
1087
    constant oskeytype              OSKEY_0                              = ConvertOsKeyType($30)
1088
    constant oskeytype              OSKEY_1                              = ConvertOsKeyType($31)
1089
    constant oskeytype              OSKEY_2                              = ConvertOsKeyType($32)
1090
    constant oskeytype              OSKEY_3                              = ConvertOsKeyType($33)
1091
    constant oskeytype              OSKEY_4                              = ConvertOsKeyType($34)
1092
    constant oskeytype              OSKEY_5                              = ConvertOsKeyType($35)
1093
    constant oskeytype              OSKEY_6                              = ConvertOsKeyType($36)
1094
    constant oskeytype              OSKEY_7                              = ConvertOsKeyType($37)
1095
    constant oskeytype              OSKEY_8                              = ConvertOsKeyType($38)
1096
    constant oskeytype              OSKEY_9                              = ConvertOsKeyType($39)
1097
    constant oskeytype              OSKEY_A                              = ConvertOsKeyType($41)
1098
    constant oskeytype              OSKEY_B                              = ConvertOsKeyType($42)
1099
    constant oskeytype              OSKEY_C                              = ConvertOsKeyType($43)
1100
    constant oskeytype              OSKEY_D                              = ConvertOsKeyType($44)
1101
    constant oskeytype              OSKEY_E                              = ConvertOsKeyType($45)
1102
    constant oskeytype              OSKEY_F                              = ConvertOsKeyType($46)
1103
    constant oskeytype              OSKEY_G                              = ConvertOsKeyType($47)
1104
    constant oskeytype              OSKEY_H                              = ConvertOsKeyType($48)
1105
    constant oskeytype              OSKEY_I                              = ConvertOsKeyType($49)
1106
    constant oskeytype              OSKEY_J                              = ConvertOsKeyType($4A)
1107
    constant oskeytype              OSKEY_K                              = ConvertOsKeyType($4B)
1108
    constant oskeytype              OSKEY_L                              = ConvertOsKeyType($4C)
1109
    constant oskeytype              OSKEY_M                              = ConvertOsKeyType($4D)
1110
    constant oskeytype              OSKEY_N                              = ConvertOsKeyType($4E)
1111
    constant oskeytype              OSKEY_O                              = ConvertOsKeyType($4F)
1112
    constant oskeytype              OSKEY_P                              = ConvertOsKeyType($50)
1113
    constant oskeytype              OSKEY_Q                              = ConvertOsKeyType($51)
1114
    constant oskeytype              OSKEY_R                              = ConvertOsKeyType($52)
1115
    constant oskeytype              OSKEY_S                              = ConvertOsKeyType($53)
1116
    constant oskeytype              OSKEY_T                              = ConvertOsKeyType($54)
1117
    constant oskeytype              OSKEY_U                              = ConvertOsKeyType($55)
1118
    constant oskeytype              OSKEY_V                              = ConvertOsKeyType($56)
1119
    constant oskeytype              OSKEY_W                              = ConvertOsKeyType($57)
1120
    constant oskeytype              OSKEY_X                              = ConvertOsKeyType($58)
1121
    constant oskeytype              OSKEY_Y                              = ConvertOsKeyType($59)
1122
    constant oskeytype              OSKEY_Z                              = ConvertOsKeyType($5A)
1123
    constant oskeytype              OSKEY_LMETA                          = ConvertOsKeyType($5B)
1124
    constant oskeytype              OSKEY_RMETA                          = ConvertOsKeyType($5C)
1125
    constant oskeytype              OSKEY_APPS                           = ConvertOsKeyType($5D)
1126
    constant oskeytype              OSKEY_SLEEP                          = ConvertOsKeyType($5F)
1127
    constant oskeytype              OSKEY_NUMPAD0                        = ConvertOsKeyType($60)
1128
    constant oskeytype              OSKEY_NUMPAD1                        = ConvertOsKeyType($61)
1129
    constant oskeytype              OSKEY_NUMPAD2                        = ConvertOsKeyType($62)
1130
    constant oskeytype              OSKEY_NUMPAD3                        = ConvertOsKeyType($63)
1131
    constant oskeytype              OSKEY_NUMPAD4                        = ConvertOsKeyType($64)
1132
    constant oskeytype              OSKEY_NUMPAD5                        = ConvertOsKeyType($65)
1133
    constant oskeytype              OSKEY_NUMPAD6                        = ConvertOsKeyType($66)
1134
    constant oskeytype              OSKEY_NUMPAD7                        = ConvertOsKeyType($67)
1135
    constant oskeytype              OSKEY_NUMPAD8                        = ConvertOsKeyType($68)
1136
    constant oskeytype              OSKEY_NUMPAD9                        = ConvertOsKeyType($69)
1137
    constant oskeytype              OSKEY_MULTIPLY                       = ConvertOsKeyType($6A)
1138
    constant oskeytype              OSKEY_ADD                            = ConvertOsKeyType($6B)
1139
    constant oskeytype              OSKEY_SEPARATOR                      = ConvertOsKeyType($6C)
1140
    constant oskeytype              OSKEY_SUBTRACT                       = ConvertOsKeyType($6D)
1141
    constant oskeytype              OSKEY_DECIMAL                        = ConvertOsKeyType($6E)
1142
    constant oskeytype              OSKEY_DIVIDE                         = ConvertOsKeyType($6F)
1143
    constant oskeytype              OSKEY_F1                             = ConvertOsKeyType($70)
1144
    constant oskeytype              OSKEY_F2                             = ConvertOsKeyType($71)
1145
    constant oskeytype              OSKEY_F3                             = ConvertOsKeyType($72)
1146
    constant oskeytype              OSKEY_F4                             = ConvertOsKeyType($73)
1147
    constant oskeytype              OSKEY_F5                             = ConvertOsKeyType($74)
1148
    constant oskeytype              OSKEY_F6                             = ConvertOsKeyType($75)
1149
    constant oskeytype              OSKEY_F7                             = ConvertOsKeyType($76)
1150
    constant oskeytype              OSKEY_F8                             = ConvertOsKeyType($77)
1151
    constant oskeytype              OSKEY_F9                             = ConvertOsKeyType($78)
1152
    constant oskeytype              OSKEY_F10                            = ConvertOsKeyType($79)
1153
    constant oskeytype              OSKEY_F11                            = ConvertOsKeyType($7A)
1154
    constant oskeytype              OSKEY_F12                            = ConvertOsKeyType($7B)
1155
    constant oskeytype              OSKEY_F13                            = ConvertOsKeyType($7C)
1156
    constant oskeytype              OSKEY_F14                            = ConvertOsKeyType($7D)
1157
    constant oskeytype              OSKEY_F15                            = ConvertOsKeyType($7E)
1158
    constant oskeytype              OSKEY_F16                            = ConvertOsKeyType($7F)
1159
    constant oskeytype              OSKEY_F17                            = ConvertOsKeyType($80)
1160
    constant oskeytype              OSKEY_F18                            = ConvertOsKeyType($81)
1161
    constant oskeytype              OSKEY_F19                            = ConvertOsKeyType($82)
1162
    constant oskeytype              OSKEY_F20                            = ConvertOsKeyType($83)
1163
    constant oskeytype              OSKEY_F21                            = ConvertOsKeyType($84)
1164
    constant oskeytype              OSKEY_F22                            = ConvertOsKeyType($85)
1165
    constant oskeytype              OSKEY_F23                            = ConvertOsKeyType($86)
1166
    constant oskeytype              OSKEY_F24                            = ConvertOsKeyType($87)
1167
    constant oskeytype              OSKEY_NUMLOCK                        = ConvertOsKeyType($90)
1168
    constant oskeytype              OSKEY_SCROLLLOCK                     = ConvertOsKeyType($91)
1169
    constant oskeytype              OSKEY_OEM_NEC_EQUAL                  = ConvertOsKeyType($92)
1170
    constant oskeytype              OSKEY_OEM_FJ_JISHO                   = ConvertOsKeyType($92)
1171
    constant oskeytype              OSKEY_OEM_FJ_MASSHOU                 = ConvertOsKeyType($93)
1172
    constant oskeytype              OSKEY_OEM_FJ_TOUROKU                 = ConvertOsKeyType($94)
1173
    constant oskeytype              OSKEY_OEM_FJ_LOYA                    = ConvertOsKeyType($95)
1174
    constant oskeytype              OSKEY_OEM_FJ_ROYA                    = ConvertOsKeyType($96)
1175
    constant oskeytype              OSKEY_LSHIFT                         = ConvertOsKeyType($A0)
1176
    constant oskeytype              OSKEY_RSHIFT                         = ConvertOsKeyType($A1)
1177
    constant oskeytype              OSKEY_LCONTROL                       = ConvertOsKeyType($A2)
1178
    constant oskeytype              OSKEY_RCONTROL                       = ConvertOsKeyType($A3)
1179
    constant oskeytype              OSKEY_LALT                           = ConvertOsKeyType($A4)
1180
    constant oskeytype              OSKEY_RALT                           = ConvertOsKeyType($A5)
1181
    constant oskeytype              OSKEY_BROWSER_BACK                   = ConvertOsKeyType($A6)
1182
    constant oskeytype              OSKEY_BROWSER_FORWARD                = ConvertOsKeyType($A7)
1183
    constant oskeytype              OSKEY_BROWSER_REFRESH                = ConvertOsKeyType($A8)
1184
    constant oskeytype              OSKEY_BROWSER_STOP                   = ConvertOsKeyType($A9)
1185
    constant oskeytype              OSKEY_BROWSER_SEARCH                 = ConvertOsKeyType($AA)
1186
    constant oskeytype              OSKEY_BROWSER_FAVORITES              = ConvertOsKeyType($AB)
1187
    constant oskeytype              OSKEY_BROWSER_HOME                   = ConvertOsKeyType($AC)
1188
    constant oskeytype              OSKEY_VOLUME_MUTE                    = ConvertOsKeyType($AD)
1189
    constant oskeytype              OSKEY_VOLUME_DOWN                    = ConvertOsKeyType($AE)
1190
    constant oskeytype              OSKEY_VOLUME_UP                      = ConvertOsKeyType($AF)
1191
    constant oskeytype              OSKEY_MEDIA_NEXT_TRACK               = ConvertOsKeyType($B0)
1192
    constant oskeytype              OSKEY_MEDIA_PREV_TRACK               = ConvertOsKeyType($B1)
1193
    constant oskeytype              OSKEY_MEDIA_STOP                     = ConvertOsKeyType($B2)
1194
    constant oskeytype              OSKEY_MEDIA_PLAY_PAUSE               = ConvertOsKeyType($B3)
1195
    constant oskeytype              OSKEY_LAUNCH_MAIL                    = ConvertOsKeyType($B4)
1196
    constant oskeytype              OSKEY_LAUNCH_MEDIA_SELECT            = ConvertOsKeyType($B5)
1197
    constant oskeytype              OSKEY_LAUNCH_APP1                    = ConvertOsKeyType($B6)
1198
    constant oskeytype              OSKEY_LAUNCH_APP2                    = ConvertOsKeyType($B7)
1199
    constant oskeytype              OSKEY_OEM_1                          = ConvertOsKeyType($BA)
1200
    constant oskeytype              OSKEY_OEM_PLUS                       = ConvertOsKeyType($BB)
1201
    constant oskeytype              OSKEY_OEM_COMMA                      = ConvertOsKeyType($BC)
1202
    constant oskeytype              OSKEY_OEM_MINUS                      = ConvertOsKeyType($BD)
1203
    constant oskeytype              OSKEY_OEM_PERIOD                     = ConvertOsKeyType($BE)
1204
    constant oskeytype              OSKEY_OEM_2                          = ConvertOsKeyType($BF)
1205
    constant oskeytype              OSKEY_OEM_3                          = ConvertOsKeyType($C0)
1206
    constant oskeytype              OSKEY_OEM_4                          = ConvertOsKeyType($DB)
1207
    constant oskeytype              OSKEY_OEM_5                          = ConvertOsKeyType($DC)
1208
    constant oskeytype              OSKEY_OEM_6                          = ConvertOsKeyType($DD)
1209
    constant oskeytype              OSKEY_OEM_7                          = ConvertOsKeyType($DE)
1210
    constant oskeytype              OSKEY_OEM_8                          = ConvertOsKeyType($DF)
1211
    constant oskeytype              OSKEY_OEM_AX                         = ConvertOsKeyType($E1)
1212
    constant oskeytype              OSKEY_OEM_102                        = ConvertOsKeyType($E2)
1213
    constant oskeytype              OSKEY_ICO_HELP                       = ConvertOsKeyType($E3)
1214
    constant oskeytype              OSKEY_ICO_00                         = ConvertOsKeyType($E4)
1215
    constant oskeytype              OSKEY_PROCESSKEY                     = ConvertOsKeyType($E5)
1216
    constant oskeytype              OSKEY_ICO_CLEAR                      = ConvertOsKeyType($E6)
1217
    constant oskeytype              OSKEY_PACKET                         = ConvertOsKeyType($E7)
1218
    constant oskeytype              OSKEY_OEM_RESET                      = ConvertOsKeyType($E9)
1219
    constant oskeytype              OSKEY_OEM_JUMP                       = ConvertOsKeyType($EA)
1220
    constant oskeytype              OSKEY_OEM_PA1                        = ConvertOsKeyType($EB)
1221
    constant oskeytype              OSKEY_OEM_PA2                        = ConvertOsKeyType($EC)
1222
    constant oskeytype              OSKEY_OEM_PA3                        = ConvertOsKeyType($ED)
1223
    constant oskeytype              OSKEY_OEM_WSCTRL                     = ConvertOsKeyType($EE)
1224
    constant oskeytype              OSKEY_OEM_CUSEL                      = ConvertOsKeyType($EF)
1225
    constant oskeytype              OSKEY_OEM_ATTN                       = ConvertOsKeyType($F0)
1226
    constant oskeytype              OSKEY_OEM_FINISH                     = ConvertOsKeyType($F1)
1227
    constant oskeytype              OSKEY_OEM_COPY                       = ConvertOsKeyType($F2)
1228
    constant oskeytype              OSKEY_OEM_AUTO                       = ConvertOsKeyType($F3)
1229
    constant oskeytype              OSKEY_OEM_ENLW                       = ConvertOsKeyType($F4)
1230
    constant oskeytype              OSKEY_OEM_BACKTAB                    = ConvertOsKeyType($F5)
1231
    constant oskeytype              OSKEY_ATTN                           = ConvertOsKeyType($F6)
1232
    constant oskeytype              OSKEY_CRSEL                          = ConvertOsKeyType($F7)
1233
    constant oskeytype              OSKEY_EXSEL                          = ConvertOsKeyType($F8)
1234
    constant oskeytype              OSKEY_EREOF                          = ConvertOsKeyType($F9)
1235
    constant oskeytype              OSKEY_PLAY                           = ConvertOsKeyType($FA)
1236
    constant oskeytype              OSKEY_ZOOM                           = ConvertOsKeyType($FB)
1237
    constant oskeytype              OSKEY_NONAME                         = ConvertOsKeyType($FC)
1238
    constant oskeytype              OSKEY_PA1                            = ConvertOsKeyType($FD)
1239
    constant oskeytype              OSKEY_OEM_CLEAR                      = ConvertOsKeyType($FE)
1240
1241
//===================================================
1242
// Instanced Object Operation API constants
1243
//===================================================
1244
    
1245
    // Ability
1246
    constant abilityintegerfield ABILITY_IF_BUTTON_POSITION_NORMAL_X        = ConvertAbilityIntegerField('abpx')
1247
    constant abilityintegerfield ABILITY_IF_BUTTON_POSITION_NORMAL_Y        = ConvertAbilityIntegerField('abpy')
1248
    constant abilityintegerfield ABILITY_IF_BUTTON_POSITION_ACTIVATED_X     = ConvertAbilityIntegerField('aubx')
1249
    constant abilityintegerfield ABILITY_IF_BUTTON_POSITION_ACTIVATED_Y     = ConvertAbilityIntegerField('auby')
1250
    constant abilityintegerfield ABILITY_IF_BUTTON_POSITION_RESEARCH_X      = ConvertAbilityIntegerField('arpx')
1251
    constant abilityintegerfield ABILITY_IF_BUTTON_POSITION_RESEARCH_Y      = ConvertAbilityIntegerField('arpy')
1252
    constant abilityintegerfield ABILITY_IF_MISSILE_SPEED                   = ConvertAbilityIntegerField('amsp')
1253
    constant abilityintegerfield ABILITY_IF_TARGET_ATTACHMENTS              = ConvertAbilityIntegerField('atac')
1254
    constant abilityintegerfield ABILITY_IF_CASTER_ATTACHMENTS              = ConvertAbilityIntegerField('acac')
1255
    constant abilityintegerfield ABILITY_IF_PRIORITY                        = ConvertAbilityIntegerField('apri')
1256
    constant abilityintegerfield ABILITY_IF_LEVELS                          = ConvertAbilityIntegerField('alev')
1257
    constant abilityintegerfield ABILITY_IF_REQUIRED_LEVEL                  = ConvertAbilityIntegerField('arlv')
1258
    constant abilityintegerfield ABILITY_IF_LEVEL_SKIP_REQUIREMENT          = ConvertAbilityIntegerField('alsk') 
1259
1260
    constant abilitybooleanfield ABILITY_BF_HERO_ABILITY                    = ConvertAbilityBooleanField('aher') // Get only
1261
    constant abilitybooleanfield ABILITY_BF_ITEM_ABILITY                    = ConvertAbilityBooleanField('aite')
1262
    constant abilitybooleanfield ABILITY_BF_CHECK_DEPENDENCIES              = ConvertAbilityBooleanField('achd')
1263
1264
    constant abilityrealfield ABILITY_RF_ARF_MISSILE_ARC                    = ConvertAbilityRealField('amac')
1265
1266
    constant abilitystringfield ABILITY_SF_NAME                             = ConvertAbilityStringField('anam') // Get Only
1267
    constant abilitystringfield ABILITY_SF_ICON_ACTIVATED                   = ConvertAbilityStringField('auar')
1268
    constant abilitystringfield ABILITY_SF_ICON_RESEARCH                    = ConvertAbilityStringField('arar')
1269
    constant abilitystringfield ABILITY_SF_EFFECT_SOUND                     = ConvertAbilityStringField('aefs')
1270
    constant abilitystringfield ABILITY_SF_EFFECT_SOUND_LOOPING             = ConvertAbilityStringField('aefl')
1271
1272
    constant abilityintegerlevelfield ABILITY_ILF_MANA_COST                         = ConvertAbilityIntegerLevelField('amcs')
1273
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_WAVES                   = ConvertAbilityIntegerLevelField('Hbz1')
1274
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_SHARDS                  = ConvertAbilityIntegerLevelField('Hbz3')
1275
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_UNITS_TELEPORTED        = ConvertAbilityIntegerLevelField('Hmt1')
1276
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_COUNT_HWE2          = ConvertAbilityIntegerLevelField('Hwe2')
1277
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_IMAGES                  = ConvertAbilityIntegerLevelField('Omi1')
1278
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_CORPSES_RAISED_UAN1     = ConvertAbilityIntegerLevelField('Uan1')
1279
    constant abilityintegerlevelfield ABILITY_ILF_MORPHING_FLAGS                    = ConvertAbilityIntegerLevelField('Eme2')
1280
    constant abilityintegerlevelfield ABILITY_ILF_STRENGTH_BONUS_NRG5               = ConvertAbilityIntegerLevelField('Nrg5')
1281
    constant abilityintegerlevelfield ABILITY_ILF_DEFENSE_BONUS_NRG6                = ConvertAbilityIntegerLevelField('Nrg6')
1282
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_TARGETS_HIT             = ConvertAbilityIntegerLevelField('Ocl2')
1283
    constant abilityintegerlevelfield ABILITY_ILF_DETECTION_TYPE_OFS1               = ConvertAbilityIntegerLevelField('Ofs1')
1284
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_SUMMONED_UNITS_OSF2     = ConvertAbilityIntegerLevelField('Osf2')
1285
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_SUMMONED_UNITS_EFN1     = ConvertAbilityIntegerLevelField('Efn1')
1286
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_CORPSES_RAISED_HRE1     = ConvertAbilityIntegerLevelField('Hre1')
1287
    constant abilityintegerlevelfield ABILITY_ILF_STACK_FLAGS                       = ConvertAbilityIntegerLevelField('Hca4')
1288
    constant abilityintegerlevelfield ABILITY_ILF_MINIMUM_NUMBER_OF_UNITS           = ConvertAbilityIntegerLevelField('Ndp2')
1289
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_NUMBER_OF_UNITS_NDP3      = ConvertAbilityIntegerLevelField('Ndp3')
1290
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_UNITS_CREATED_NRC2      = ConvertAbilityIntegerLevelField('Nrc2')
1291
    constant abilityintegerlevelfield ABILITY_ILF_SHIELD_LIFE                       = ConvertAbilityIntegerLevelField('Ams3')
1292
    constant abilityintegerlevelfield ABILITY_ILF_MANA_LOSS_AMS4                    = ConvertAbilityIntegerLevelField('Ams4')
1293
    constant abilityintegerlevelfield ABILITY_ILF_GOLD_PER_INTERVAL_BGM1            = ConvertAbilityIntegerLevelField('Bgm1')
1294
    constant abilityintegerlevelfield ABILITY_ILF_MAX_NUMBER_OF_MINERS              = ConvertAbilityIntegerLevelField('Bgm3')
1295
    constant abilityintegerlevelfield ABILITY_ILF_CARGO_CAPACITY                    = ConvertAbilityIntegerLevelField('Car1')
1296
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_CREEP_LEVEL_DEV3          = ConvertAbilityIntegerLevelField('Dev3')
1297
    constant abilityintegerlevelfield ABILITY_ILF_MAX_CREEP_LEVEL_DEV1              = ConvertAbilityIntegerLevelField('Dev1')
1298
    constant abilityintegerlevelfield ABILITY_ILF_GOLD_PER_INTERVAL_EGM1            = ConvertAbilityIntegerLevelField('Egm1')
1299
    constant abilityintegerlevelfield ABILITY_ILF_DEFENSE_REDUCTION                 = ConvertAbilityIntegerLevelField('Fae1')
1300
    constant abilityintegerlevelfield ABILITY_ILF_DETECTION_TYPE_FLA1               = ConvertAbilityIntegerLevelField('Fla1')
1301
    constant abilityintegerlevelfield ABILITY_ILF_FLARE_COUNT                       = ConvertAbilityIntegerLevelField('Fla3')
1302
    constant abilityintegerlevelfield ABILITY_ILF_MAX_GOLD                          = ConvertAbilityIntegerLevelField('Gld1')
1303
    constant abilityintegerlevelfield ABILITY_ILF_MINING_CAPACITY                   = ConvertAbilityIntegerLevelField('Gld3')
1304
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_NUMBER_OF_CORPSES_GYD1    = ConvertAbilityIntegerLevelField('Gyd1')
1305
    constant abilityintegerlevelfield ABILITY_ILF_DAMAGE_TO_TREE                    = ConvertAbilityIntegerLevelField('Har1')
1306
    constant abilityintegerlevelfield ABILITY_ILF_LUMBER_CAPACITY                   = ConvertAbilityIntegerLevelField('Har2')
1307
    constant abilityintegerlevelfield ABILITY_ILF_GOLD_CAPACITY                     = ConvertAbilityIntegerLevelField('Har3')
1308
    constant abilityintegerlevelfield ABILITY_ILF_DEFENSE_INCREASE_INF2             = ConvertAbilityIntegerLevelField('Inf2')
1309
    constant abilityintegerlevelfield ABILITY_ILF_INTERACTION_TYPE                  = ConvertAbilityIntegerLevelField('Neu2')
1310
    constant abilityintegerlevelfield ABILITY_ILF_GOLD_COST_NDT1                    = ConvertAbilityIntegerLevelField('Ndt1')
1311
    constant abilityintegerlevelfield ABILITY_ILF_LUMBER_COST_NDT2                  = ConvertAbilityIntegerLevelField('Ndt2')
1312
    constant abilityintegerlevelfield ABILITY_ILF_DETECTION_TYPE_NDT3               = ConvertAbilityIntegerLevelField('Ndt3')
1313
    constant abilityintegerlevelfield ABILITY_ILF_STACKING_TYPE_POI4                = ConvertAbilityIntegerLevelField('Poi4')
1314
    constant abilityintegerlevelfield ABILITY_ILF_STACKING_TYPE_POA5                = ConvertAbilityIntegerLevelField('Poa5')
1315
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_CREEP_LEVEL_PLY1          = ConvertAbilityIntegerLevelField('Ply1')
1316
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_CREEP_LEVEL_POS1          = ConvertAbilityIntegerLevelField('Pos1')
1317
    constant abilityintegerlevelfield ABILITY_ILF_MOVEMENT_UPDATE_FREQUENCY_PRG1    = ConvertAbilityIntegerLevelField('Prg1')
1318
    constant abilityintegerlevelfield ABILITY_ILF_ATTACK_UPDATE_FREQUENCY_PRG2      = ConvertAbilityIntegerLevelField('Prg2')
1319
    constant abilityintegerlevelfield ABILITY_ILF_MANA_LOSS_PRG6                    = ConvertAbilityIntegerLevelField('Prg6')
1320
    constant abilityintegerlevelfield ABILITY_ILF_UNITS_SUMMONED_TYPE_ONE           = ConvertAbilityIntegerLevelField('Rai1')
1321
    constant abilityintegerlevelfield ABILITY_ILF_UNITS_SUMMONED_TYPE_TWO           = ConvertAbilityIntegerLevelField('Rai2')
1322
    constant abilityintegerlevelfield ABILITY_ILF_MAX_UNITS_SUMMONED                = ConvertAbilityIntegerLevelField('Ucb5')
1323
    constant abilityintegerlevelfield ABILITY_ILF_ALLOW_WHEN_FULL_REJ3              = ConvertAbilityIntegerLevelField('Rej3')
1324
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_UNITS_CHARGED_TO_CASTER   = ConvertAbilityIntegerLevelField('Rpb5')
1325
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_UNITS_AFFECTED            = ConvertAbilityIntegerLevelField('Rpb6')
1326
    constant abilityintegerlevelfield ABILITY_ILF_DEFENSE_INCREASE_ROA2             = ConvertAbilityIntegerLevelField('Roa2')
1327
    constant abilityintegerlevelfield ABILITY_ILF_MAX_UNITS_ROA7                    = ConvertAbilityIntegerLevelField('Roa7')
1328
    constant abilityintegerlevelfield ABILITY_ILF_ROOTED_WEAPONS                    = ConvertAbilityIntegerLevelField('Roo1')
1329
    constant abilityintegerlevelfield ABILITY_ILF_UPROOTED_WEAPONS                  = ConvertAbilityIntegerLevelField('Roo2')
1330
    constant abilityintegerlevelfield ABILITY_ILF_UPROOTED_DEFENSE_TYPE             = ConvertAbilityIntegerLevelField('Roo4')
1331
    constant abilityintegerlevelfield ABILITY_ILF_ACCUMULATION_STEP                 = ConvertAbilityIntegerLevelField('Sal2')
1332
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_OWLS                    = ConvertAbilityIntegerLevelField('Esn4')
1333
    constant abilityintegerlevelfield ABILITY_ILF_STACKING_TYPE_SPO4                = ConvertAbilityIntegerLevelField('Spo4')
1334
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_UNITS                   = ConvertAbilityIntegerLevelField('Sod1')
1335
    constant abilityintegerlevelfield ABILITY_ILF_SPIDER_CAPACITY                   = ConvertAbilityIntegerLevelField('Spa1')
1336
    constant abilityintegerlevelfield ABILITY_ILF_INTERVALS_BEFORE_CHANGING_TREES   = ConvertAbilityIntegerLevelField('Wha2')
1337
    constant abilityintegerlevelfield ABILITY_ILF_AGILITY_BONUS                     = ConvertAbilityIntegerLevelField('Iagi')
1338
    constant abilityintegerlevelfield ABILITY_ILF_INTELLIGENCE_BONUS                = ConvertAbilityIntegerLevelField('Iint')
1339
    constant abilityintegerlevelfield ABILITY_ILF_STRENGTH_BONUS_ISTR               = ConvertAbilityIntegerLevelField('Istr')
1340
    constant abilityintegerlevelfield ABILITY_ILF_ATTACK_BONUS                      = ConvertAbilityIntegerLevelField('Iatt')
1341
    constant abilityintegerlevelfield ABILITY_ILF_DEFENSE_BONUS_IDEF                = ConvertAbilityIntegerLevelField('Idef')
1342
    constant abilityintegerlevelfield ABILITY_ILF_SUMMON_1_AMOUNT                   = ConvertAbilityIntegerLevelField('Isn1')
1343
    constant abilityintegerlevelfield ABILITY_ILF_SUMMON_2_AMOUNT                   = ConvertAbilityIntegerLevelField('Isn2')
1344
    constant abilityintegerlevelfield ABILITY_ILF_EXPERIENCE_GAINED                 = ConvertAbilityIntegerLevelField('Ixpg')
1345
    constant abilityintegerlevelfield ABILITY_ILF_HIT_POINTS_GAINED_IHPG            = ConvertAbilityIntegerLevelField('Ihpg')
1346
    constant abilityintegerlevelfield ABILITY_ILF_MANA_POINTS_GAINED_IMPG           = ConvertAbilityIntegerLevelField('Impg')
1347
    constant abilityintegerlevelfield ABILITY_ILF_HIT_POINTS_GAINED_IHP2            = ConvertAbilityIntegerLevelField('Ihp2')
1348
    constant abilityintegerlevelfield ABILITY_ILF_MANA_POINTS_GAINED_IMP2           = ConvertAbilityIntegerLevelField('Imp2')
1349
    constant abilityintegerlevelfield ABILITY_ILF_DAMAGE_BONUS_DICE                 = ConvertAbilityIntegerLevelField('Idic')
1350
    constant abilityintegerlevelfield ABILITY_ILF_ARMOR_PENALTY_IARP                = ConvertAbilityIntegerLevelField('Iarp')
1351
    constant abilityintegerlevelfield ABILITY_ILF_ENABLED_ATTACK_INDEX_IOB5         = ConvertAbilityIntegerLevelField('Iob5')
1352
    constant abilityintegerlevelfield ABILITY_ILF_LEVELS_GAINED                     = ConvertAbilityIntegerLevelField('Ilev')
1353
    constant abilityintegerlevelfield ABILITY_ILF_MAX_LIFE_GAINED                   = ConvertAbilityIntegerLevelField('Ilif')
1354
    constant abilityintegerlevelfield ABILITY_ILF_MAX_MANA_GAINED                   = ConvertAbilityIntegerLevelField('Iman')
1355
    constant abilityintegerlevelfield ABILITY_ILF_GOLD_GIVEN                        = ConvertAbilityIntegerLevelField('Igol')
1356
    constant abilityintegerlevelfield ABILITY_ILF_LUMBER_GIVEN                      = ConvertAbilityIntegerLevelField('Ilum')
1357
    constant abilityintegerlevelfield ABILITY_ILF_DETECTION_TYPE_IFA1               = ConvertAbilityIntegerLevelField('Ifa1')
1358
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_CREEP_LEVEL_ICRE          = ConvertAbilityIntegerLevelField('Icre')
1359
    constant abilityintegerlevelfield ABILITY_ILF_MOVEMENT_SPEED_BONUS              = ConvertAbilityIntegerLevelField('Imvb')
1360
    constant abilityintegerlevelfield ABILITY_ILF_HIT_POINTS_REGENERATED_PER_SECOND = ConvertAbilityIntegerLevelField('Ihpr')
1361
    constant abilityintegerlevelfield ABILITY_ILF_SIGHT_RANGE_BONUS                 = ConvertAbilityIntegerLevelField('Isib')
1362
    constant abilityintegerlevelfield ABILITY_ILF_DAMAGE_PER_DURATION               = ConvertAbilityIntegerLevelField('Icfd')
1363
    constant abilityintegerlevelfield ABILITY_ILF_MANA_USED_PER_SECOND              = ConvertAbilityIntegerLevelField('Icfm')
1364
    constant abilityintegerlevelfield ABILITY_ILF_EXTRA_MANA_REQUIRED               = ConvertAbilityIntegerLevelField('Icfx')
1365
    constant abilityintegerlevelfield ABILITY_ILF_DETECTION_RADIUS_IDET             = ConvertAbilityIntegerLevelField('Idet')
1366
    constant abilityintegerlevelfield ABILITY_ILF_MANA_LOSS_PER_UNIT_IDIM           = ConvertAbilityIntegerLevelField('Idim')
1367
    constant abilityintegerlevelfield ABILITY_ILF_DAMAGE_TO_SUMMONED_UNITS_IDID     = ConvertAbilityIntegerLevelField('Idid')
1368
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_NUMBER_OF_UNITS_IREC      = ConvertAbilityIntegerLevelField('Irec')
1369
    constant abilityintegerlevelfield ABILITY_ILF_DELAY_AFTER_DEATH_SECONDS         = ConvertAbilityIntegerLevelField('Ircd')
1370
    constant abilityintegerlevelfield ABILITY_ILF_RESTORED_LIFE                     = ConvertAbilityIntegerLevelField('irc2')
1371
    constant abilityintegerlevelfield ABILITY_ILF_RESTORED_MANA__1_FOR_CURRENT      = ConvertAbilityIntegerLevelField('irc3')
1372
    constant abilityintegerlevelfield ABILITY_ILF_HIT_POINTS_RESTORED               = ConvertAbilityIntegerLevelField('Ihps')
1373
    constant abilityintegerlevelfield ABILITY_ILF_MANA_POINTS_RESTORED              = ConvertAbilityIntegerLevelField('Imps')
1374
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_NUMBER_OF_UNITS_ITPM      = ConvertAbilityIntegerLevelField('Itpm')
1375
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_CORPSES_RAISED_CAD1     = ConvertAbilityIntegerLevelField('Cad1')
1376
    constant abilityintegerlevelfield ABILITY_ILF_TERRAIN_DEFORMATION_DURATION_MS   = ConvertAbilityIntegerLevelField('Wrs3')
1377
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_UNITS                     = ConvertAbilityIntegerLevelField('Uds1')
1378
    constant abilityintegerlevelfield ABILITY_ILF_DETECTION_TYPE_DET1               = ConvertAbilityIntegerLevelField('Det1')
1379
    constant abilityintegerlevelfield ABILITY_ILF_GOLD_COST_PER_STRUCTURE           = ConvertAbilityIntegerLevelField('Nsp1')
1380
    constant abilityintegerlevelfield ABILITY_ILF_LUMBER_COST_PER_USE               = ConvertAbilityIntegerLevelField('Nsp2')
1381
    constant abilityintegerlevelfield ABILITY_ILF_DETECTION_TYPE_NSP3               = ConvertAbilityIntegerLevelField('Nsp3')
1382
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_SWARM_UNITS             = ConvertAbilityIntegerLevelField('Uls1')
1383
    constant abilityintegerlevelfield ABILITY_ILF_MAX_SWARM_UNITS_PER_TARGET        = ConvertAbilityIntegerLevelField('Uls3')
1384
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_SUMMONED_UNITS_NBA2     = ConvertAbilityIntegerLevelField('Nba2')
1385
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_CREEP_LEVEL_NCH1          = ConvertAbilityIntegerLevelField('Nch1')
1386
    constant abilityintegerlevelfield ABILITY_ILF_ATTACKS_PREVENTED                 = ConvertAbilityIntegerLevelField('Nsi1')
1387
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_NUMBER_OF_TARGETS_EFK3    = ConvertAbilityIntegerLevelField('Efk3')
1388
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_SUMMONED_UNITS_ESV1     = ConvertAbilityIntegerLevelField('Esv1')
1389
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_NUMBER_OF_CORPSES_EXH1    = ConvertAbilityIntegerLevelField('exh1')
1390
    constant abilityintegerlevelfield ABILITY_ILF_ITEM_CAPACITY                     = ConvertAbilityIntegerLevelField('inv1')
1391
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_NUMBER_OF_TARGETS_SPL2    = ConvertAbilityIntegerLevelField('spl2')
1392
    constant abilityintegerlevelfield ABILITY_ILF_ALLOW_WHEN_FULL_IRL3              = ConvertAbilityIntegerLevelField('irl3')
1393
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_DISPELLED_UNITS           = ConvertAbilityIntegerLevelField('idc3')
1394
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_LURES                   = ConvertAbilityIntegerLevelField('imo1')
1395
    constant abilityintegerlevelfield ABILITY_ILF_NEW_TIME_OF_DAY_HOUR              = ConvertAbilityIntegerLevelField('ict1')
1396
    constant abilityintegerlevelfield ABILITY_ILF_NEW_TIME_OF_DAY_MINUTE            = ConvertAbilityIntegerLevelField('ict2')
1397
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_UNITS_CREATED_MEC1      = ConvertAbilityIntegerLevelField('mec1')
1398
    constant abilityintegerlevelfield ABILITY_ILF_MINIMUM_SPELLS                    = ConvertAbilityIntegerLevelField('spb3')
1399
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_SPELLS                    = ConvertAbilityIntegerLevelField('spb4')
1400
    constant abilityintegerlevelfield ABILITY_ILF_DISABLED_ATTACK_INDEX             = ConvertAbilityIntegerLevelField('gra3')
1401
    constant abilityintegerlevelfield ABILITY_ILF_ENABLED_ATTACK_INDEX_GRA4         = ConvertAbilityIntegerLevelField('gra4')
1402
    constant abilityintegerlevelfield ABILITY_ILF_MAXIMUM_ATTACKS                   = ConvertAbilityIntegerLevelField('gra5')
1403
    constant abilityintegerlevelfield ABILITY_ILF_BUILDING_TYPES_ALLOWED_NPR1       = ConvertAbilityIntegerLevelField('Npr1')
1404
    constant abilityintegerlevelfield ABILITY_ILF_BUILDING_TYPES_ALLOWED_NSA1       = ConvertAbilityIntegerLevelField('Nsa1')
1405
    constant abilityintegerlevelfield ABILITY_ILF_ATTACK_MODIFICATION               = ConvertAbilityIntegerLevelField('Iaa1')
1406
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_COUNT_NPA5          = ConvertAbilityIntegerLevelField('Npa5')
1407
    constant abilityintegerlevelfield ABILITY_ILF_UPGRADE_LEVELS                    = ConvertAbilityIntegerLevelField('Igl1')
1408
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_SUMMONED_UNITS_NDO2     = ConvertAbilityIntegerLevelField('Ndo2')
1409
    constant abilityintegerlevelfield ABILITY_ILF_BEASTS_PER_SECOND                 = ConvertAbilityIntegerLevelField('Nst1')
1410
    constant abilityintegerlevelfield ABILITY_ILF_TARGET_TYPE                       = ConvertAbilityIntegerLevelField('Ncl2')
1411
    constant abilityintegerlevelfield ABILITY_ILF_OPTIONS                           = ConvertAbilityIntegerLevelField('Ncl3')
1412
    constant abilityintegerlevelfield ABILITY_ILF_ARMOR_PENALTY_NAB3                = ConvertAbilityIntegerLevelField('Nab3')
1413
    constant abilityintegerlevelfield ABILITY_ILF_WAVE_COUNT_NHS6                   = ConvertAbilityIntegerLevelField('Nhs6')
1414
    constant abilityintegerlevelfield ABILITY_ILF_MAX_CREEP_LEVEL_NTM3              = ConvertAbilityIntegerLevelField('Ntm3')
1415
    constant abilityintegerlevelfield ABILITY_ILF_MISSILE_COUNT                     = ConvertAbilityIntegerLevelField('Ncs3')
1416
    constant abilityintegerlevelfield ABILITY_ILF_SPLIT_ATTACK_COUNT                = ConvertAbilityIntegerLevelField('Nlm3')
1417
    constant abilityintegerlevelfield ABILITY_ILF_GENERATION_COUNT                  = ConvertAbilityIntegerLevelField('Nlm6')
1418
    constant abilityintegerlevelfield ABILITY_ILF_ROCK_RING_COUNT                   = ConvertAbilityIntegerLevelField('Nvc1')
1419
    constant abilityintegerlevelfield ABILITY_ILF_WAVE_COUNT_NVC2                   = ConvertAbilityIntegerLevelField('Nvc2')
1420
    constant abilityintegerlevelfield ABILITY_ILF_PREFER_HOSTILES_TAU1              = ConvertAbilityIntegerLevelField('Tau1')
1421
    constant abilityintegerlevelfield ABILITY_ILF_PREFER_FRIENDLIES_TAU2            = ConvertAbilityIntegerLevelField('Tau2')
1422
    constant abilityintegerlevelfield ABILITY_ILF_MAX_UNITS_TAU3                    = ConvertAbilityIntegerLevelField('Tau3')
1423
    constant abilityintegerlevelfield ABILITY_ILF_NUMBER_OF_PULSES                  = ConvertAbilityIntegerLevelField('Tau4')
1424
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_TYPE_HWE1           = ConvertAbilityIntegerLevelField('Hwe1')
1425
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_UIN4                = ConvertAbilityIntegerLevelField('Uin4')
1426
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_OSF1                = ConvertAbilityIntegerLevelField('Osf1')
1427
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_TYPE_EFNU           = ConvertAbilityIntegerLevelField('Efnu')
1428
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_TYPE_NBAU           = ConvertAbilityIntegerLevelField('Nbau')
1429
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_TYPE_NTOU           = ConvertAbilityIntegerLevelField('Ntou')
1430
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_TYPE_ESVU           = ConvertAbilityIntegerLevelField('Esvu')
1431
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_TYPES               = ConvertAbilityIntegerLevelField('Nef1')
1432
    constant abilityintegerlevelfield ABILITY_ILF_SUMMONED_UNIT_TYPE_NDOU           = ConvertAbilityIntegerLevelField('Ndou')
1433
    constant abilityintegerlevelfield ABILITY_ILF_ALTERNATE_FORM_UNIT_EMEU          = ConvertAbilityIntegerLevelField('Emeu')
1434
    constant abilityintegerlevelfield ABILITY_ILF_PLAGUE_WARD_UNIT_TYPE             = ConvertAbilityIntegerLevelField('Aplu')
1435
    constant abilityintegerlevelfield ABILITY_ILF_ALLOWED_UNIT_TYPE_BTL1            = ConvertAbilityIntegerLevelField('Btl1')
1436
    constant abilityintegerlevelfield ABILITY_ILF_NEW_UNIT_TYPE                     = ConvertAbilityIntegerLevelField('Cha1')
1437
    constant abilityintegerlevelfield ABILITY_ILF_RESULTING_UNIT_TYPE_ENT1          = ConvertAbilityIntegerLevelField('ent1')
1438
    constant abilityintegerlevelfield ABILITY_ILF_CORPSE_UNIT_TYPE                  = ConvertAbilityIntegerLevelField('Gydu')
1439
    constant abilityintegerlevelfield ABILITY_ILF_ALLOWED_UNIT_TYPE_LOA1            = ConvertAbilityIntegerLevelField('Loa1')
1440
    constant abilityintegerlevelfield ABILITY_ILF_UNIT_TYPE_FOR_LIMIT_CHECK         = ConvertAbilityIntegerLevelField('Raiu')
1441
    constant abilityintegerlevelfield ABILITY_ILF_WARD_UNIT_TYPE_STAU               = ConvertAbilityIntegerLevelField('Stau')
1442
    constant abilityintegerlevelfield ABILITY_ILF_EFFECT_ABILITY                    = ConvertAbilityIntegerLevelField('Iobu')
1443
    constant abilityintegerlevelfield ABILITY_ILF_CONVERSION_UNIT                   = ConvertAbilityIntegerLevelField('Ndc2')
1444
    constant abilityintegerlevelfield ABILITY_ILF_UNIT_TO_PRESERVE                  = ConvertAbilityIntegerLevelField('Nsl1')
1445
    constant abilityintegerlevelfield ABILITY_ILF_UNIT_TYPE_ALLOWED                 = ConvertAbilityIntegerLevelField('Chl1')
1446
    constant abilityintegerlevelfield ABILITY_ILF_SWARM_UNIT_TYPE                   = ConvertAbilityIntegerLevelField('Ulsu')
1447
    constant abilityintegerlevelfield ABILITY_ILF_RESULTING_UNIT_TYPE_COAU          = ConvertAbilityIntegerLevelField('coau')
1448
    constant abilityintegerlevelfield ABILITY_ILF_UNIT_TYPE_EXHU                    = ConvertAbilityIntegerLevelField('exhu')
1449
    constant abilityintegerlevelfield ABILITY_ILF_WARD_UNIT_TYPE_HWDU               = ConvertAbilityIntegerLevelField('hwdu')
1450
    constant abilityintegerlevelfield ABILITY_ILF_LURE_UNIT_TYPE                    = ConvertAbilityIntegerLevelField('imou')
1451
    constant abilityintegerlevelfield ABILITY_ILF_UNIT_TYPE_IPMU                    = ConvertAbilityIntegerLevelField('ipmu')
1452
    constant abilityintegerlevelfield ABILITY_ILF_FACTORY_UNIT_ID                   = ConvertAbilityIntegerLevelField('Nsyu')
1453
    constant abilityintegerlevelfield ABILITY_ILF_SPAWN_UNIT_ID_NFYU                = ConvertAbilityIntegerLevelField('Nfyu')
1454
    constant abilityintegerlevelfield ABILITY_ILF_DESTRUCTIBLE_ID                   = ConvertAbilityIntegerLevelField('Nvcu')
1455
    constant abilityintegerlevelfield ABILITY_ILF_UPGRADE_TYPE                      = ConvertAbilityIntegerLevelField('Iglu')
1456
1457
    constant abilityreallevelfield ABILITY_RLF_CASTING_TIME                                      = ConvertAbilityRealLevelField('acas')
1458
    constant abilityreallevelfield ABILITY_RLF_DURATION_NORMAL                                   = ConvertAbilityRealLevelField('adur')
1459
    constant abilityreallevelfield ABILITY_RLF_DURATION_HERO                                     = ConvertAbilityRealLevelField('ahdu')
1460
    constant abilityreallevelfield ABILITY_RLF_COOLDOWN                                          = ConvertAbilityRealLevelField('acdn')
1461
    constant abilityreallevelfield ABILITY_RLF_AREA_OF_EFFECT                                    = ConvertAbilityRealLevelField('aare')
1462
    constant abilityreallevelfield ABILITY_RLF_CAST_RANGE                                        = ConvertAbilityRealLevelField('aran')
1463
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_HBZ2                                       = ConvertAbilityRealLevelField('Hbz2')
1464
    constant abilityreallevelfield ABILITY_RLF_BUILDING_REDUCTION_HBZ4                           = ConvertAbilityRealLevelField('Hbz4')
1465
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_HBZ5                            = ConvertAbilityRealLevelField('Hbz5')
1466
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_DAMAGE_PER_WAVE                           = ConvertAbilityRealLevelField('Hbz6')
1467
    constant abilityreallevelfield ABILITY_RLF_MANA_REGENERATION_INCREASE                        = ConvertAbilityRealLevelField('Hab1')
1468
    constant abilityreallevelfield ABILITY_RLF_CASTING_DELAY                                     = ConvertAbilityRealLevelField('Hmt2')
1469
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_OWW1                            = ConvertAbilityRealLevelField('Oww1')
1470
    constant abilityreallevelfield ABILITY_RLF_MAGIC_DAMAGE_REDUCTION_OWW2                       = ConvertAbilityRealLevelField('Oww2')
1471
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_CRITICAL_STRIKE                         = ConvertAbilityRealLevelField('Ocr1')
1472
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_MULTIPLIER_OCR2                            = ConvertAbilityRealLevelField('Ocr2')
1473
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_OCR3                                 = ConvertAbilityRealLevelField('Ocr3')
1474
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_EVADE_OCR4                              = ConvertAbilityRealLevelField('Ocr4')
1475
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DEALT_PERCENT_OMI2                         = ConvertAbilityRealLevelField('Omi2')
1476
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_TAKEN_PERCENT_OMI3                         = ConvertAbilityRealLevelField('Omi3')
1477
    constant abilityreallevelfield ABILITY_RLF_ANIMATION_DELAY                                   = ConvertAbilityRealLevelField('Omi4')
1478
    constant abilityreallevelfield ABILITY_RLF_TRANSITION_TIME                                   = ConvertAbilityRealLevelField('Owk1')
1479
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_INCREASE_PERCENT_OWK2              = ConvertAbilityRealLevelField('Owk2')
1480
    constant abilityreallevelfield ABILITY_RLF_BACKSTAB_DAMAGE                                   = ConvertAbilityRealLevelField('Owk3')
1481
    constant abilityreallevelfield ABILITY_RLF_AMOUNT_HEALED_DAMAGED_UDC1                        = ConvertAbilityRealLevelField('Udc1')
1482
    constant abilityreallevelfield ABILITY_RLF_LIFE_CONVERTED_TO_MANA                            = ConvertAbilityRealLevelField('Udp1')
1483
    constant abilityreallevelfield ABILITY_RLF_LIFE_CONVERTED_TO_LIFE                            = ConvertAbilityRealLevelField('Udp2')
1484
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_INCREASE_PERCENT_UAU1              = ConvertAbilityRealLevelField('Uau1')
1485
    constant abilityreallevelfield ABILITY_RLF_LIFE_REGENERATION_INCREASE_PERCENT                = ConvertAbilityRealLevelField('Uau2')
1486
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_EVADE_EEV1                              = ConvertAbilityRealLevelField('Eev1')
1487
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_INTERVAL                               = ConvertAbilityRealLevelField('Eim1')
1488
    constant abilityreallevelfield ABILITY_RLF_MANA_DRAINED_PER_SECOND_EIM2                      = ConvertAbilityRealLevelField('Eim2')
1489
    constant abilityreallevelfield ABILITY_RLF_BUFFER_MANA_REQUIRED                              = ConvertAbilityRealLevelField('Eim3')
1490
    constant abilityreallevelfield ABILITY_RLF_MAX_MANA_DRAINED                                  = ConvertAbilityRealLevelField('Emb1')
1491
    constant abilityreallevelfield ABILITY_RLF_BOLT_DELAY                                        = ConvertAbilityRealLevelField('Emb2')
1492
    constant abilityreallevelfield ABILITY_RLF_BOLT_LIFETIME                                     = ConvertAbilityRealLevelField('Emb3')
1493
    constant abilityreallevelfield ABILITY_RLF_ALTITUDE_ADJUSTMENT_DURATION                      = ConvertAbilityRealLevelField('Eme3')
1494
    constant abilityreallevelfield ABILITY_RLF_LANDING_DELAY_TIME                                = ConvertAbilityRealLevelField('Eme4')
1495
    constant abilityreallevelfield ABILITY_RLF_ALTERNATE_FORM_HIT_POINT_BONUS                    = ConvertAbilityRealLevelField('Eme5')
1496
    constant abilityreallevelfield ABILITY_RLF_MOVE_SPEED_BONUS_INFO_PANEL_ONLY                  = ConvertAbilityRealLevelField('Ncr5')
1497
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_BONUS_INFO_PANEL_ONLY                = ConvertAbilityRealLevelField('Ncr6')
1498
    constant abilityreallevelfield ABILITY_RLF_LIFE_REGENERATION_RATE_PER_SECOND                 = ConvertAbilityRealLevelField('ave5')
1499
    constant abilityreallevelfield ABILITY_RLF_STUN_DURATION_USL1                                = ConvertAbilityRealLevelField('Usl1')
1500
    constant abilityreallevelfield ABILITY_RLF_ATTACK_DAMAGE_STOLEN_PERCENT                      = ConvertAbilityRealLevelField('Uav1')
1501
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_UCS1                                       = ConvertAbilityRealLevelField('Ucs1')
1502
    constant abilityreallevelfield ABILITY_RLF_MAX_DAMAGE_UCS2                                   = ConvertAbilityRealLevelField('Ucs2')
1503
    constant abilityreallevelfield ABILITY_RLF_DISTANCE_UCS3                                     = ConvertAbilityRealLevelField('Ucs3')
1504
    constant abilityreallevelfield ABILITY_RLF_FINAL_AREA_UCS4                                   = ConvertAbilityRealLevelField('Ucs4')
1505
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_UIN1                                       = ConvertAbilityRealLevelField('Uin1')
1506
    constant abilityreallevelfield ABILITY_RLF_DURATION                                          = ConvertAbilityRealLevelField('Uin2')
1507
    constant abilityreallevelfield ABILITY_RLF_IMPACT_DELAY                                      = ConvertAbilityRealLevelField('Uin3')
1508
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_TARGET_OCL1                            = ConvertAbilityRealLevelField('Ocl1')
1509
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_REDUCTION_PER_TARGET                       = ConvertAbilityRealLevelField('Ocl3')
1510
    constant abilityreallevelfield ABILITY_RLF_EFFECT_DELAY_OEQ1                                 = ConvertAbilityRealLevelField('Oeq1')
1511
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_TO_BUILDINGS                    = ConvertAbilityRealLevelField('Oeq2')
1512
    constant abilityreallevelfield ABILITY_RLF_UNITS_SLOWED_PERCENT                              = ConvertAbilityRealLevelField('Oeq3')
1513
    constant abilityreallevelfield ABILITY_RLF_FINAL_AREA_OEQ4                                   = ConvertAbilityRealLevelField('Oeq4')
1514
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_EER1                            = ConvertAbilityRealLevelField('Eer1')
1515
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DEALT_TO_ATTACKERS                         = ConvertAbilityRealLevelField('Eah1')
1516
    constant abilityreallevelfield ABILITY_RLF_LIFE_HEALED                                       = ConvertAbilityRealLevelField('Etq1')
1517
    constant abilityreallevelfield ABILITY_RLF_HEAL_INTERVAL                                     = ConvertAbilityRealLevelField('Etq2')
1518
    constant abilityreallevelfield ABILITY_RLF_BUILDING_REDUCTION_ETQ3                           = ConvertAbilityRealLevelField('Etq3')
1519
    constant abilityreallevelfield ABILITY_RLF_INITIAL_IMMUNITY_DURATION                         = ConvertAbilityRealLevelField('Etq4')
1520
    constant abilityreallevelfield ABILITY_RLF_MAX_LIFE_DRAINED_PER_SECOND_PERCENT               = ConvertAbilityRealLevelField('Udd1')
1521
    constant abilityreallevelfield ABILITY_RLF_BUILDING_REDUCTION_UDD2                           = ConvertAbilityRealLevelField('Udd2')
1522
    constant abilityreallevelfield ABILITY_RLF_ARMOR_DURATION                                    = ConvertAbilityRealLevelField('Ufa1')
1523
    constant abilityreallevelfield ABILITY_RLF_ARMOR_BONUS_UFA2                                  = ConvertAbilityRealLevelField('Ufa2')
1524
    constant abilityreallevelfield ABILITY_RLF_AREA_OF_EFFECT_DAMAGE                             = ConvertAbilityRealLevelField('Ufn1')
1525
    constant abilityreallevelfield ABILITY_RLF_SPECIFIC_TARGET_DAMAGE_UFN2                       = ConvertAbilityRealLevelField('Ufn2')
1526
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_HFA1                                 = ConvertAbilityRealLevelField('Hfa1')
1527
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DEALT_ESF1                                 = ConvertAbilityRealLevelField('Esf1')
1528
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_INTERVAL_ESF2                              = ConvertAbilityRealLevelField('Esf2')
1529
    constant abilityreallevelfield ABILITY_RLF_BUILDING_REDUCTION_ESF3                           = ConvertAbilityRealLevelField('Esf3')
1530
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_PERCENT                              = ConvertAbilityRealLevelField('Ear1')
1531
    constant abilityreallevelfield ABILITY_RLF_DEFENSE_BONUS_HAV1                                = ConvertAbilityRealLevelField('Hav1')
1532
    constant abilityreallevelfield ABILITY_RLF_HIT_POINT_BONUS                                   = ConvertAbilityRealLevelField('Hav2')
1533
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_HAV3                                 = ConvertAbilityRealLevelField('Hav3')
1534
    constant abilityreallevelfield ABILITY_RLF_MAGIC_DAMAGE_REDUCTION_HAV4                       = ConvertAbilityRealLevelField('Hav4')
1535
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_BASH                                    = ConvertAbilityRealLevelField('Hbh1')
1536
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_MULTIPLIER_HBH2                            = ConvertAbilityRealLevelField('Hbh2')
1537
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_HBH3                                 = ConvertAbilityRealLevelField('Hbh3')
1538
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_MISS_HBH4                               = ConvertAbilityRealLevelField('Hbh4')
1539
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_HTB1                                       = ConvertAbilityRealLevelField('Htb1')
1540
    constant abilityreallevelfield ABILITY_RLF_AOE_DAMAGE                                        = ConvertAbilityRealLevelField('Htc1')
1541
    constant abilityreallevelfield ABILITY_RLF_SPECIFIC_TARGET_DAMAGE_HTC2                       = ConvertAbilityRealLevelField('Htc2')
1542
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_REDUCTION_PERCENT_HTC3             = ConvertAbilityRealLevelField('Htc3')
1543
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_REDUCTION_PERCENT_HTC4               = ConvertAbilityRealLevelField('Htc4')
1544
    constant abilityreallevelfield ABILITY_RLF_ARMOR_BONUS_HAD1                                  = ConvertAbilityRealLevelField('Had1')
1545
    constant abilityreallevelfield ABILITY_RLF_AMOUNT_HEALED_DAMAGED_HHB1                        = ConvertAbilityRealLevelField('Hhb1')
1546
    constant abilityreallevelfield ABILITY_RLF_EXTRA_DAMAGE_HCA1                                 = ConvertAbilityRealLevelField('Hca1')
1547
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_FACTOR_HCA2                        = ConvertAbilityRealLevelField('Hca2')
1548
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_FACTOR_HCA3                          = ConvertAbilityRealLevelField('Hca3')
1549
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_INCREASE_PERCENT_OAE1              = ConvertAbilityRealLevelField('Oae1')
1550
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_INCREASE_PERCENT_OAE2                = ConvertAbilityRealLevelField('Oae2')
1551
    constant abilityreallevelfield ABILITY_RLF_REINCARNATION_DELAY                               = ConvertAbilityRealLevelField('Ore1')
1552
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_OSH1                                       = ConvertAbilityRealLevelField('Osh1')
1553
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_DAMAGE_OSH2                               = ConvertAbilityRealLevelField('Osh2')
1554
    constant abilityreallevelfield ABILITY_RLF_DISTANCE_OSH3                                     = ConvertAbilityRealLevelField('Osh3')
1555
    constant abilityreallevelfield ABILITY_RLF_FINAL_AREA_OSH4                                   = ConvertAbilityRealLevelField('Osh4')
1556
    constant abilityreallevelfield ABILITY_RLF_GRAPHIC_DELAY_NFD1                                = ConvertAbilityRealLevelField('Nfd1')
1557
    constant abilityreallevelfield ABILITY_RLF_GRAPHIC_DURATION_NFD2                             = ConvertAbilityRealLevelField('Nfd2')
1558
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_NFD3                                       = ConvertAbilityRealLevelField('Nfd3')
1559
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DAMAGE_AMS1                         = ConvertAbilityRealLevelField('Ams1')
1560
    constant abilityreallevelfield ABILITY_RLF_MAGIC_DAMAGE_REDUCTION_AMS2                       = ConvertAbilityRealLevelField('Ams2')
1561
    constant abilityreallevelfield ABILITY_RLF_AURA_DURATION                                     = ConvertAbilityRealLevelField('Apl1')
1562
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_APL2                            = ConvertAbilityRealLevelField('Apl2')
1563
    constant abilityreallevelfield ABILITY_RLF_DURATION_OF_PLAGUE_WARD                           = ConvertAbilityRealLevelField('Apl3')
1564
    constant abilityreallevelfield ABILITY_RLF_AMOUNT_OF_HIT_POINTS_REGENERATED                  = ConvertAbilityRealLevelField('Oar1')
1565
    constant abilityreallevelfield ABILITY_RLF_ATTACK_DAMAGE_INCREASE_AKB1                       = ConvertAbilityRealLevelField('Akb1')
1566
    constant abilityreallevelfield ABILITY_RLF_MANA_LOSS_ADM1                                    = ConvertAbilityRealLevelField('Adm1')
1567
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DAMAGE_ADM2                         = ConvertAbilityRealLevelField('Adm2')
1568
    constant abilityreallevelfield ABILITY_RLF_EXPANSION_AMOUNT                                  = ConvertAbilityRealLevelField('Bli1')
1569
    constant abilityreallevelfield ABILITY_RLF_INTERVAL_DURATION_BGM2                            = ConvertAbilityRealLevelField('Bgm2')
1570
    constant abilityreallevelfield ABILITY_RLF_RADIUS_OF_MINING_RING                             = ConvertAbilityRealLevelField('Bgm4')
1571
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_INCREASE_PERCENT_BLO1                = ConvertAbilityRealLevelField('Blo1')
1572
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_INCREASE_PERCENT_BLO2              = ConvertAbilityRealLevelField('Blo2')
1573
    constant abilityreallevelfield ABILITY_RLF_SCALING_FACTOR                                    = ConvertAbilityRealLevelField('Blo3')
1574
    constant abilityreallevelfield ABILITY_RLF_HIT_POINTS_PER_SECOND_CAN1                        = ConvertAbilityRealLevelField('Can1')
1575
    constant abilityreallevelfield ABILITY_RLF_MAX_HIT_POINTS                                    = ConvertAbilityRealLevelField('Can2')
1576
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_DEV2                            = ConvertAbilityRealLevelField('Dev2')
1577
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_UPDATE_FREQUENCY_CHD1                    = ConvertAbilityRealLevelField('Chd1')
1578
    constant abilityreallevelfield ABILITY_RLF_ATTACK_UPDATE_FREQUENCY_CHD2                      = ConvertAbilityRealLevelField('Chd2')
1579
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DAMAGE_CHD3                         = ConvertAbilityRealLevelField('Chd3')
1580
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_REDUCTION_PERCENT_CRI1             = ConvertAbilityRealLevelField('Cri1')
1581
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_REDUCTION_PERCENT_CRI2               = ConvertAbilityRealLevelField('Cri2')
1582
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_REDUCTION_CRI3                             = ConvertAbilityRealLevelField('Cri3')
1583
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_MISS_CRS                                = ConvertAbilityRealLevelField('Crs1')
1584
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_RADIUS_DDA1                           = ConvertAbilityRealLevelField('Dda1')
1585
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_AMOUNT_DDA2                           = ConvertAbilityRealLevelField('Dda2')
1586
    constant abilityreallevelfield ABILITY_RLF_PARTIAL_DAMAGE_RADIUS                             = ConvertAbilityRealLevelField('Dda3')
1587
    constant abilityreallevelfield ABILITY_RLF_PARTIAL_DAMAGE_AMOUNT                             = ConvertAbilityRealLevelField('Dda4')
1588
    constant abilityreallevelfield ABILITY_RLF_BUILDING_DAMAGE_FACTOR_SDS1                       = ConvertAbilityRealLevelField('Sds1')
1589
    constant abilityreallevelfield ABILITY_RLF_MAX_DAMAGE_UCO5                                   = ConvertAbilityRealLevelField('Uco5')
1590
    constant abilityreallevelfield ABILITY_RLF_MOVE_SPEED_BONUS_UCO6                             = ConvertAbilityRealLevelField('Uco6')
1591
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_TAKEN_PERCENT_DEF1                         = ConvertAbilityRealLevelField('Def1')
1592
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DEALT_PERCENT_DEF2                         = ConvertAbilityRealLevelField('Def2')
1593
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_FACTOR_DEF3                        = ConvertAbilityRealLevelField('Def3')
1594
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_FACTOR_DEF4                          = ConvertAbilityRealLevelField('Def4')
1595
    constant abilityreallevelfield ABILITY_RLF_MAGIC_DAMAGE_REDUCTION_DEF5                       = ConvertAbilityRealLevelField('Def5')
1596
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_DEFLECT                                 = ConvertAbilityRealLevelField('Def6')
1597
    constant abilityreallevelfield ABILITY_RLF_DEFLECT_DAMAGE_TAKEN_PIERCING                     = ConvertAbilityRealLevelField('Def7')
1598
    constant abilityreallevelfield ABILITY_RLF_DEFLECT_DAMAGE_TAKEN_SPELLS                       = ConvertAbilityRealLevelField('Def8')
1599
    constant abilityreallevelfield ABILITY_RLF_RIP_DELAY                                         = ConvertAbilityRealLevelField('Eat1')
1600
    constant abilityreallevelfield ABILITY_RLF_EAT_DELAY                                         = ConvertAbilityRealLevelField('Eat2')
1601
    constant abilityreallevelfield ABILITY_RLF_HIT_POINTS_GAINED_EAT3                            = ConvertAbilityRealLevelField('Eat3')
1602
    constant abilityreallevelfield ABILITY_RLF_AIR_UNIT_LOWER_DURATION                           = ConvertAbilityRealLevelField('Ens1')
1603
    constant abilityreallevelfield ABILITY_RLF_AIR_UNIT_HEIGHT                                   = ConvertAbilityRealLevelField('Ens2')
1604
    constant abilityreallevelfield ABILITY_RLF_MELEE_ATTACK_RANGE                                = ConvertAbilityRealLevelField('Ens3')
1605
    constant abilityreallevelfield ABILITY_RLF_INTERVAL_DURATION_EGM2                            = ConvertAbilityRealLevelField('Egm2')
1606
    constant abilityreallevelfield ABILITY_RLF_EFFECT_DELAY_FLA2                                 = ConvertAbilityRealLevelField('Fla2')
1607
    constant abilityreallevelfield ABILITY_RLF_MINING_DURATION                                   = ConvertAbilityRealLevelField('Gld2')
1608
    constant abilityreallevelfield ABILITY_RLF_RADIUS_OF_GRAVESTONES                             = ConvertAbilityRealLevelField('Gyd2')
1609
    constant abilityreallevelfield ABILITY_RLF_RADIUS_OF_CORPSES                                 = ConvertAbilityRealLevelField('Gyd3')
1610
    constant abilityreallevelfield ABILITY_RLF_HIT_POINTS_GAINED_HEA1                            = ConvertAbilityRealLevelField('Hea1')
1611
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_INCREASE_PERCENT_INF1                      = ConvertAbilityRealLevelField('Inf1')
1612
    constant abilityreallevelfield ABILITY_RLF_AUTOCAST_RANGE                                    = ConvertAbilityRealLevelField('Inf3')
1613
    constant abilityreallevelfield ABILITY_RLF_LIFE_REGEN_RATE                                   = ConvertAbilityRealLevelField('Inf4')
1614
    constant abilityreallevelfield ABILITY_RLF_GRAPHIC_DELAY_LIT1                                = ConvertAbilityRealLevelField('Lit1')
1615
    constant abilityreallevelfield ABILITY_RLF_GRAPHIC_DURATION_LIT2                             = ConvertAbilityRealLevelField('Lit2')
1616
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_LSH1                            = ConvertAbilityRealLevelField('Lsh1')
1617
    constant abilityreallevelfield ABILITY_RLF_MANA_GAINED                                       = ConvertAbilityRealLevelField('Mbt1')
1618
    constant abilityreallevelfield ABILITY_RLF_HIT_POINTS_GAINED_MBT2                            = ConvertAbilityRealLevelField('Mbt2')
1619
    constant abilityreallevelfield ABILITY_RLF_AUTOCAST_REQUIREMENT                              = ConvertAbilityRealLevelField('Mbt3')
1620
    constant abilityreallevelfield ABILITY_RLF_WATER_HEIGHT                                      = ConvertAbilityRealLevelField('Mbt4')
1621
    constant abilityreallevelfield ABILITY_RLF_ACTIVATION_DELAY_MIN1                             = ConvertAbilityRealLevelField('Min1')
1622
    constant abilityreallevelfield ABILITY_RLF_INVISIBILITY_TRANSITION_TIME                      = ConvertAbilityRealLevelField('Min2')
1623
    constant abilityreallevelfield ABILITY_RLF_ACTIVATION_RADIUS                                 = ConvertAbilityRealLevelField('Neu1')
1624
    constant abilityreallevelfield ABILITY_RLF_AMOUNT_REGENERATED                                = ConvertAbilityRealLevelField('Arm1')
1625
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_POI1                            = ConvertAbilityRealLevelField('Poi1')
1626
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_FACTOR_POI2                          = ConvertAbilityRealLevelField('Poi2')
1627
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_FACTOR_POI3                        = ConvertAbilityRealLevelField('Poi3')
1628
    constant abilityreallevelfield ABILITY_RLF_EXTRA_DAMAGE_POA1                                 = ConvertAbilityRealLevelField('Poa1')
1629
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_POA2                            = ConvertAbilityRealLevelField('Poa2')
1630
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_FACTOR_POA3                          = ConvertAbilityRealLevelField('Poa3')
1631
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_FACTOR_POA4                        = ConvertAbilityRealLevelField('Poa4')   
1632
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_AMPLIFICATION                              = ConvertAbilityRealLevelField('Pos2')
1633
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_STOMP_PERCENT                           = ConvertAbilityRealLevelField('War1')
1634
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DEALT_WAR2                                 = ConvertAbilityRealLevelField('War2')
1635
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_RADIUS_WAR3                           = ConvertAbilityRealLevelField('War3')
1636
    constant abilityreallevelfield ABILITY_RLF_HALF_DAMAGE_RADIUS_WAR4                           = ConvertAbilityRealLevelField('War4')
1637
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DAMAGE_PRG3                         = ConvertAbilityRealLevelField('Prg3')
1638
    constant abilityreallevelfield ABILITY_RLF_UNIT_PAUSE_DURATION                               = ConvertAbilityRealLevelField('Prg4')
1639
    constant abilityreallevelfield ABILITY_RLF_HERO_PAUSE_DURATION                               = ConvertAbilityRealLevelField('Prg5')
1640
    constant abilityreallevelfield ABILITY_RLF_HIT_POINTS_GAINED_REJ1                            = ConvertAbilityRealLevelField('Rej1')
1641
    constant abilityreallevelfield ABILITY_RLF_MANA_POINTS_GAINED_REJ2                           = ConvertAbilityRealLevelField('Rej2')
1642
    constant abilityreallevelfield ABILITY_RLF_MINIMUM_LIFE_REQUIRED                             = ConvertAbilityRealLevelField('Rpb3')
1643
    constant abilityreallevelfield ABILITY_RLF_MINIMUM_MANA_REQUIRED                             = ConvertAbilityRealLevelField('Rpb4')
1644
    constant abilityreallevelfield ABILITY_RLF_REPAIR_COST_RATIO                                 = ConvertAbilityRealLevelField('Rep1')
1645
    constant abilityreallevelfield ABILITY_RLF_REPAIR_TIME_RATIO                                 = ConvertAbilityRealLevelField('Rep2')
1646
    constant abilityreallevelfield ABILITY_RLF_POWERBUILD_COST                                   = ConvertAbilityRealLevelField('Rep3')
1647
    constant abilityreallevelfield ABILITY_RLF_POWERBUILD_RATE                                   = ConvertAbilityRealLevelField('Rep4')
1648
    constant abilityreallevelfield ABILITY_RLF_NAVAL_RANGE_BONUS                                 = ConvertAbilityRealLevelField('Rep5')
1649
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_INCREASE_PERCENT_ROA1                      = ConvertAbilityRealLevelField('Roa1')
1650
    constant abilityreallevelfield ABILITY_RLF_LIFE_REGENERATION_RATE                            = ConvertAbilityRealLevelField('Roa3')
1651
    constant abilityreallevelfield ABILITY_RLF_MANA_REGEN                                        = ConvertAbilityRealLevelField('Roa4')
1652
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_INCREASE                                   = ConvertAbilityRealLevelField('Nbr1')
1653
    constant abilityreallevelfield ABILITY_RLF_SALVAGE_COST_RATIO                                = ConvertAbilityRealLevelField('Sal1')
1654
    constant abilityreallevelfield ABILITY_RLF_IN_FLIGHT_SIGHT_RADIUS                            = ConvertAbilityRealLevelField('Esn1')
1655
    constant abilityreallevelfield ABILITY_RLF_HOVERING_SIGHT_RADIUS                             = ConvertAbilityRealLevelField('Esn2')
1656
    constant abilityreallevelfield ABILITY_RLF_HOVERING_HEIGHT                                   = ConvertAbilityRealLevelField('Esn3')
1657
    constant abilityreallevelfield ABILITY_RLF_DURATION_OF_OWLS                                  = ConvertAbilityRealLevelField('Esn5')
1658
    constant abilityreallevelfield ABILITY_RLF_FADE_DURATION                                     = ConvertAbilityRealLevelField('Shm1')
1659
    constant abilityreallevelfield ABILITY_RLF_DAY_NIGHT_DURATION                                = ConvertAbilityRealLevelField('Shm2')
1660
    constant abilityreallevelfield ABILITY_RLF_ACTION_DURATION                                   = ConvertAbilityRealLevelField('Shm3')
1661
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_FACTOR_SLO1                        = ConvertAbilityRealLevelField('Slo1')
1662
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_FACTOR_SLO2                          = ConvertAbilityRealLevelField('Slo2')
1663
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_SPO1                            = ConvertAbilityRealLevelField('Spo1')
1664
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_FACTOR_SPO2                        = ConvertAbilityRealLevelField('Spo2')
1665
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_FACTOR_SPO3                          = ConvertAbilityRealLevelField('Spo3')
1666
    constant abilityreallevelfield ABILITY_RLF_ACTIVATION_DELAY_STA1                             = ConvertAbilityRealLevelField('Sta1')
1667
    constant abilityreallevelfield ABILITY_RLF_DETECTION_RADIUS_STA2                             = ConvertAbilityRealLevelField('Sta2')
1668
    constant abilityreallevelfield ABILITY_RLF_DETONATION_RADIUS                                 = ConvertAbilityRealLevelField('Sta3')
1669
    constant abilityreallevelfield ABILITY_RLF_STUN_DURATION_STA4                                = ConvertAbilityRealLevelField('Sta4')
1670
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_BONUS_PERCENT                        = ConvertAbilityRealLevelField('Uhf1')
1671
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_UHF2                            = ConvertAbilityRealLevelField('Uhf2')
1672
    constant abilityreallevelfield ABILITY_RLF_LUMBER_PER_INTERVAL                               = ConvertAbilityRealLevelField('Wha1')
1673
    constant abilityreallevelfield ABILITY_RLF_ART_ATTACHMENT_HEIGHT                             = ConvertAbilityRealLevelField('Wha3')
1674
    constant abilityreallevelfield ABILITY_RLF_TELEPORT_AREA_WIDTH                               = ConvertAbilityRealLevelField('Wrp1')
1675
    constant abilityreallevelfield ABILITY_RLF_TELEPORT_AREA_HEIGHT                              = ConvertAbilityRealLevelField('Wrp2')
1676
    constant abilityreallevelfield ABILITY_RLF_LIFE_STOLEN_PER_ATTACK                            = ConvertAbilityRealLevelField('Ivam')
1677
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_IDAM                                 = ConvertAbilityRealLevelField('Idam')
1678
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_HIT_UNITS_PERCENT                       = ConvertAbilityRealLevelField('Iob2')
1679
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_HIT_HEROS_PERCENT                       = ConvertAbilityRealLevelField('Iob3')
1680
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_HIT_SUMMONS_PERCENT                     = ConvertAbilityRealLevelField('Iob4')
1681
    constant abilityreallevelfield ABILITY_RLF_DELAY_FOR_TARGET_EFFECT                           = ConvertAbilityRealLevelField('Idel')
1682
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DEALT_PERCENT_OF_NORMAL                    = ConvertAbilityRealLevelField('Iild')
1683
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_RECEIVED_MULTIPLIER                        = ConvertAbilityRealLevelField('Iilw')
1684
    constant abilityreallevelfield ABILITY_RLF_MANA_REGENERATION_BONUS_AS_FRACTION_OF_NORMAL     = ConvertAbilityRealLevelField('Imrp')
1685
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_INCREASE_ISPI                      = ConvertAbilityRealLevelField('Ispi')
1686
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_IDPS                            = ConvertAbilityRealLevelField('Idps')
1687
    constant abilityreallevelfield ABILITY_RLF_ATTACK_DAMAGE_INCREASE_CAC1                       = ConvertAbilityRealLevelField('Cac1')
1688
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_COR1                            = ConvertAbilityRealLevelField('Cor1')
1689
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_INCREASE_ISX1                        = ConvertAbilityRealLevelField('Isx1')
1690
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_WRS1                                       = ConvertAbilityRealLevelField('Wrs1')
1691
    constant abilityreallevelfield ABILITY_RLF_TERRAIN_DEFORMATION_AMPLITUDE                     = ConvertAbilityRealLevelField('Wrs2')
1692
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_CTC1                                       = ConvertAbilityRealLevelField('Ctc1')
1693
    constant abilityreallevelfield ABILITY_RLF_EXTRA_DAMAGE_TO_TARGET                            = ConvertAbilityRealLevelField('Ctc2')
1694
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_REDUCTION_CTC3                     = ConvertAbilityRealLevelField('Ctc3')
1695
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_REDUCTION_CTC4                       = ConvertAbilityRealLevelField('Ctc4')
1696
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_CTB1                                       = ConvertAbilityRealLevelField('Ctb1')
1697
    constant abilityreallevelfield ABILITY_RLF_CASTING_DELAY_SECONDS                             = ConvertAbilityRealLevelField('Uds2')
1698
    constant abilityreallevelfield ABILITY_RLF_MANA_LOSS_PER_UNIT_DTN1                           = ConvertAbilityRealLevelField('Dtn1')
1699
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_TO_SUMMONED_UNITS_DTN2                     = ConvertAbilityRealLevelField('Dtn2')
1700
    constant abilityreallevelfield ABILITY_RLF_TRANSITION_TIME_SECONDS                           = ConvertAbilityRealLevelField('Ivs1')
1701
    constant abilityreallevelfield ABILITY_RLF_MANA_DRAINED_PER_SECOND_NMR1                      = ConvertAbilityRealLevelField('Nmr1')
1702
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_REDUCE_DAMAGE_PERCENT                   = ConvertAbilityRealLevelField('Ssk1')
1703
    constant abilityreallevelfield ABILITY_RLF_MINIMUM_DAMAGE                                    = ConvertAbilityRealLevelField('Ssk2')
1704
    constant abilityreallevelfield ABILITY_RLF_IGNORED_DAMAGE                                    = ConvertAbilityRealLevelField('Ssk3')
1705
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_DEALT                                 = ConvertAbilityRealLevelField('Hfs1')
1706
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_INTERVAL                              = ConvertAbilityRealLevelField('Hfs2')
1707
    constant abilityreallevelfield ABILITY_RLF_HALF_DAMAGE_DEALT                                 = ConvertAbilityRealLevelField('Hfs3')
1708
    constant abilityreallevelfield ABILITY_RLF_HALF_DAMAGE_INTERVAL                              = ConvertAbilityRealLevelField('Hfs4')
1709
    constant abilityreallevelfield ABILITY_RLF_BUILDING_REDUCTION_HFS5                           = ConvertAbilityRealLevelField('Hfs5')
1710
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_DAMAGE_HFS6                               = ConvertAbilityRealLevelField('Hfs6')
1711
    constant abilityreallevelfield ABILITY_RLF_MANA_PER_HIT_POINT                                = ConvertAbilityRealLevelField('Nms1')
1712
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_ABSORBED_PERCENT                           = ConvertAbilityRealLevelField('Nms2')
1713
    constant abilityreallevelfield ABILITY_RLF_WAVE_DISTANCE                                     = ConvertAbilityRealLevelField('Uim1')
1714
    constant abilityreallevelfield ABILITY_RLF_WAVE_TIME_SECONDS                                 = ConvertAbilityRealLevelField('Uim2')
1715
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DEALT_UIM3                                 = ConvertAbilityRealLevelField('Uim3')
1716
    constant abilityreallevelfield ABILITY_RLF_AIR_TIME_SECONDS_UIM4                             = ConvertAbilityRealLevelField('Uim4')
1717
    constant abilityreallevelfield ABILITY_RLF_UNIT_RELEASE_INTERVAL_SECONDS                     = ConvertAbilityRealLevelField('Uls2')
1718
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_RETURN_FACTOR                              = ConvertAbilityRealLevelField('Uls4')
1719
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_RETURN_THRESHOLD                           = ConvertAbilityRealLevelField('Uls5')
1720
    constant abilityreallevelfield ABILITY_RLF_RETURNED_DAMAGE_FACTOR                            = ConvertAbilityRealLevelField('Uts1')
1721
    constant abilityreallevelfield ABILITY_RLF_RECEIVED_DAMAGE_FACTOR                            = ConvertAbilityRealLevelField('Uts2')
1722
    constant abilityreallevelfield ABILITY_RLF_DEFENSE_BONUS_UTS3                                = ConvertAbilityRealLevelField('Uts3')
1723
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_NBA1                                 = ConvertAbilityRealLevelField('Nba1')
1724
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DURATION_SECONDS_NBA3               = ConvertAbilityRealLevelField('Nba3')
1725
    constant abilityreallevelfield ABILITY_RLF_MANA_PER_SUMMONED_HITPOINT                        = ConvertAbilityRealLevelField('Cmg2')
1726
    constant abilityreallevelfield ABILITY_RLF_CHARGE_FOR_CURRENT_LIFE                           = ConvertAbilityRealLevelField('Cmg3')
1727
    constant abilityreallevelfield ABILITY_RLF_HIT_POINTS_DRAINED                                = ConvertAbilityRealLevelField('Ndr1')
1728
    constant abilityreallevelfield ABILITY_RLF_MANA_POINTS_DRAINED                               = ConvertAbilityRealLevelField('Ndr2')
1729
    constant abilityreallevelfield ABILITY_RLF_DRAIN_INTERVAL_SECONDS                            = ConvertAbilityRealLevelField('Ndr3')
1730
    constant abilityreallevelfield ABILITY_RLF_LIFE_TRANSFERRED_PER_SECOND                       = ConvertAbilityRealLevelField('Ndr4')
1731
    constant abilityreallevelfield ABILITY_RLF_MANA_TRANSFERRED_PER_SECOND                       = ConvertAbilityRealLevelField('Ndr5')
1732
    constant abilityreallevelfield ABILITY_RLF_BONUS_LIFE_FACTOR                                 = ConvertAbilityRealLevelField('Ndr6')
1733
    constant abilityreallevelfield ABILITY_RLF_BONUS_LIFE_DECAY                                  = ConvertAbilityRealLevelField('Ndr7')
1734
    constant abilityreallevelfield ABILITY_RLF_BONUS_MANA_FACTOR                                 = ConvertAbilityRealLevelField('Ndr8')
1735
    constant abilityreallevelfield ABILITY_RLF_BONUS_MANA_DECAY                                  = ConvertAbilityRealLevelField('Ndr9')
1736
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_MISS_PERCENT                            = ConvertAbilityRealLevelField('Nsi2')
1737
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_MODIFIER                           = ConvertAbilityRealLevelField('Nsi3')
1738
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_MODIFIER                             = ConvertAbilityRealLevelField('Nsi4')
1739
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_TDG1                            = ConvertAbilityRealLevelField('Tdg1')
1740
    constant abilityreallevelfield ABILITY_RLF_MEDIUM_DAMAGE_RADIUS_TDG2                         = ConvertAbilityRealLevelField('Tdg2')
1741
    constant abilityreallevelfield ABILITY_RLF_MEDIUM_DAMAGE_PER_SECOND                          = ConvertAbilityRealLevelField('Tdg3')
1742
    constant abilityreallevelfield ABILITY_RLF_SMALL_DAMAGE_RADIUS_TDG4                          = ConvertAbilityRealLevelField('Tdg4')
1743
    constant abilityreallevelfield ABILITY_RLF_SMALL_DAMAGE_PER_SECOND                           = ConvertAbilityRealLevelField('Tdg5')
1744
    constant abilityreallevelfield ABILITY_RLF_AIR_TIME_SECONDS_TSP1                             = ConvertAbilityRealLevelField('Tsp1')
1745
    constant abilityreallevelfield ABILITY_RLF_MINIMUM_HIT_INTERVAL_SECONDS                      = ConvertAbilityRealLevelField('Tsp2')
1746
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_NBF5                            = ConvertAbilityRealLevelField('Nbf5')
1747
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_RANGE                                     = ConvertAbilityRealLevelField('Ebl1')
1748
    constant abilityreallevelfield ABILITY_RLF_MINIMUM_RANGE                                     = ConvertAbilityRealLevelField('Ebl2')
1749
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_TARGET_EFK1                            = ConvertAbilityRealLevelField('Efk1')
1750
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_TOTAL_DAMAGE                              = ConvertAbilityRealLevelField('Efk2')
1751
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_SPEED_ADJUSTMENT                          = ConvertAbilityRealLevelField('Efk4')
1752
    constant abilityreallevelfield ABILITY_RLF_DECAYING_DAMAGE                                   = ConvertAbilityRealLevelField('Esh1')
1753
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_FACTOR_ESH2                        = ConvertAbilityRealLevelField('Esh2')
1754
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_FACTOR_ESH3                          = ConvertAbilityRealLevelField('Esh3')
1755
    constant abilityreallevelfield ABILITY_RLF_DECAY_POWER                                       = ConvertAbilityRealLevelField('Esh4')
1756
    constant abilityreallevelfield ABILITY_RLF_INITIAL_DAMAGE_ESH5                               = ConvertAbilityRealLevelField('Esh5')
1757
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_LIFE_ABSORBED                             = ConvertAbilityRealLevelField('abs1')
1758
    constant abilityreallevelfield ABILITY_RLF_MAXIMUM_MANA_ABSORBED                             = ConvertAbilityRealLevelField('abs2')
1759
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_INCREASE_BSK1                      = ConvertAbilityRealLevelField('bsk1')
1760
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_INCREASE_BSK2                        = ConvertAbilityRealLevelField('bsk2')
1761
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_TAKEN_INCREASE                             = ConvertAbilityRealLevelField('bsk3')
1762
    constant abilityreallevelfield ABILITY_RLF_LIFE_PER_UNIT                                     = ConvertAbilityRealLevelField('dvm1')
1763
    constant abilityreallevelfield ABILITY_RLF_MANA_PER_UNIT                                     = ConvertAbilityRealLevelField('dvm2')
1764
    constant abilityreallevelfield ABILITY_RLF_LIFE_PER_BUFF                                     = ConvertAbilityRealLevelField('dvm3')
1765
    constant abilityreallevelfield ABILITY_RLF_MANA_PER_BUFF                                     = ConvertAbilityRealLevelField('dvm4')
1766
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DAMAGE_DVM5                         = ConvertAbilityRealLevelField('dvm5')
1767
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_FAK1                                 = ConvertAbilityRealLevelField('fak1')
1768
    constant abilityreallevelfield ABILITY_RLF_MEDIUM_DAMAGE_FACTOR_FAK2                         = ConvertAbilityRealLevelField('fak2')
1769
    constant abilityreallevelfield ABILITY_RLF_SMALL_DAMAGE_FACTOR_FAK3                          = ConvertAbilityRealLevelField('fak3')
1770
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_RADIUS_FAK4                           = ConvertAbilityRealLevelField('fak4')
1771
    constant abilityreallevelfield ABILITY_RLF_HALF_DAMAGE_RADIUS_FAK5                           = ConvertAbilityRealLevelField('fak5')
1772
    constant abilityreallevelfield ABILITY_RLF_EXTRA_DAMAGE_PER_SECOND                           = ConvertAbilityRealLevelField('liq1')
1773
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_REDUCTION_LIQ2                     = ConvertAbilityRealLevelField('liq2')
1774
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_REDUCTION_LIQ3                       = ConvertAbilityRealLevelField('liq3')
1775
    constant abilityreallevelfield ABILITY_RLF_MAGIC_DAMAGE_FACTOR                               = ConvertAbilityRealLevelField('mim1')
1776
    constant abilityreallevelfield ABILITY_RLF_UNIT_DAMAGE_PER_MANA_POINT                        = ConvertAbilityRealLevelField('mfl1')
1777
    constant abilityreallevelfield ABILITY_RLF_HERO_DAMAGE_PER_MANA_POINT                        = ConvertAbilityRealLevelField('mfl2')
1778
    constant abilityreallevelfield ABILITY_RLF_UNIT_MAXIMUM_DAMAGE                               = ConvertAbilityRealLevelField('mfl3')
1779
    constant abilityreallevelfield ABILITY_RLF_HERO_MAXIMUM_DAMAGE                               = ConvertAbilityRealLevelField('mfl4')
1780
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_COOLDOWN                                   = ConvertAbilityRealLevelField('mfl5')
1781
    constant abilityreallevelfield ABILITY_RLF_DISTRIBUTED_DAMAGE_FACTOR_SPL1                    = ConvertAbilityRealLevelField('spl1')
1782
    constant abilityreallevelfield ABILITY_RLF_LIFE_REGENERATED                                  = ConvertAbilityRealLevelField('irl1')
1783
    constant abilityreallevelfield ABILITY_RLF_MANA_REGENERATED                                  = ConvertAbilityRealLevelField('irl2')
1784
    constant abilityreallevelfield ABILITY_RLF_MANA_LOSS_PER_UNIT_IDC1                           = ConvertAbilityRealLevelField('idc1')
1785
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DAMAGE_IDC2                         = ConvertAbilityRealLevelField('idc2')
1786
    constant abilityreallevelfield ABILITY_RLF_ACTIVATION_DELAY_IMO2                             = ConvertAbilityRealLevelField('imo2')
1787
    constant abilityreallevelfield ABILITY_RLF_LURE_INTERVAL_SECONDS                             = ConvertAbilityRealLevelField('imo3')
1788
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_ISR1                                 = ConvertAbilityRealLevelField('isr1')
1789
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_REDUCTION_ISR2                             = ConvertAbilityRealLevelField('isr2')
1790
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_IPV1                                 = ConvertAbilityRealLevelField('ipv1')
1791
    constant abilityreallevelfield ABILITY_RLF_LIFE_STEAL_AMOUNT                                 = ConvertAbilityRealLevelField('ipv2')
1792
    constant abilityreallevelfield ABILITY_RLF_LIFE_RESTORED_FACTOR                              = ConvertAbilityRealLevelField('ast1')
1793
    constant abilityreallevelfield ABILITY_RLF_MANA_RESTORED_FACTOR                              = ConvertAbilityRealLevelField('ast2')
1794
    constant abilityreallevelfield ABILITY_RLF_ATTACH_DELAY                                      = ConvertAbilityRealLevelField('gra1')
1795
    constant abilityreallevelfield ABILITY_RLF_REMOVE_DELAY                                      = ConvertAbilityRealLevelField('gra2')
1796
    constant abilityreallevelfield ABILITY_RLF_HERO_REGENERATION_DELAY                           = ConvertAbilityRealLevelField('Nsa2')
1797
    constant abilityreallevelfield ABILITY_RLF_UNIT_REGENERATION_DELAY                           = ConvertAbilityRealLevelField('Nsa3')
1798
    constant abilityreallevelfield ABILITY_RLF_MAGIC_DAMAGE_REDUCTION_NSA4                       = ConvertAbilityRealLevelField('Nsa4')
1799
    constant abilityreallevelfield ABILITY_RLF_HIT_POINTS_PER_SECOND_NSA5                        = ConvertAbilityRealLevelField('Nsa5')
1800
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_TO_SUMMONED_UNITS_IXS1                     = ConvertAbilityRealLevelField('Ixs1')
1801
    constant abilityreallevelfield ABILITY_RLF_MAGIC_DAMAGE_REDUCTION_IXS2                       = ConvertAbilityRealLevelField('Ixs2')
1802
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DURATION                            = ConvertAbilityRealLevelField('Npa6')
1803
    constant abilityreallevelfield ABILITY_RLF_SHIELD_COOLDOWN_TIME                              = ConvertAbilityRealLevelField('Nse1')
1804
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_NDO1                            = ConvertAbilityRealLevelField('Ndo1')
1805
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_UNIT_DURATION_SECONDS_NDO3               = ConvertAbilityRealLevelField('Ndo3')
1806
    constant abilityreallevelfield ABILITY_RLF_MEDIUM_DAMAGE_RADIUS_FLK1                         = ConvertAbilityRealLevelField('flk1')
1807
    constant abilityreallevelfield ABILITY_RLF_SMALL_DAMAGE_RADIUS_FLK2                          = ConvertAbilityRealLevelField('flk2')
1808
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_AMOUNT_FLK3                           = ConvertAbilityRealLevelField('flk3')
1809
    constant abilityreallevelfield ABILITY_RLF_MEDIUM_DAMAGE_AMOUNT                              = ConvertAbilityRealLevelField('flk4')
1810
    constant abilityreallevelfield ABILITY_RLF_SMALL_DAMAGE_AMOUNT                               = ConvertAbilityRealLevelField('flk5')
1811
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_REDUCTION_PERCENT_HBN1             = ConvertAbilityRealLevelField('Hbn1')
1812
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_REDUCTION_PERCENT_HBN2               = ConvertAbilityRealLevelField('Hbn2')
1813
    constant abilityreallevelfield ABILITY_RLF_MAX_MANA_DRAINED_UNITS                            = ConvertAbilityRealLevelField('fbk1')
1814
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_RATIO_UNITS_PERCENT                        = ConvertAbilityRealLevelField('fbk2')
1815
    constant abilityreallevelfield ABILITY_RLF_MAX_MANA_DRAINED_HEROS                            = ConvertAbilityRealLevelField('fbk3')
1816
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_RATIO_HEROS_PERCENT                        = ConvertAbilityRealLevelField('fbk4')
1817
    constant abilityreallevelfield ABILITY_RLF_SUMMONED_DAMAGE                                   = ConvertAbilityRealLevelField('fbk5')
1818
    constant abilityreallevelfield ABILITY_RLF_DISTRIBUTED_DAMAGE_FACTOR_NCA1                    = ConvertAbilityRealLevelField('nca1')
1819
    constant abilityreallevelfield ABILITY_RLF_INITIAL_DAMAGE_PXF1                               = ConvertAbilityRealLevelField('pxf1')
1820
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_PXF2                            = ConvertAbilityRealLevelField('pxf2')
1821
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PER_SECOND_MLS1                            = ConvertAbilityRealLevelField('mls1')
1822
    constant abilityreallevelfield ABILITY_RLF_BEAST_COLLISION_RADIUS                            = ConvertAbilityRealLevelField('Nst2')
1823
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_AMOUNT_NST3                                = ConvertAbilityRealLevelField('Nst3')
1824
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_RADIUS                                     = ConvertAbilityRealLevelField('Nst4')
1825
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_DELAY                                      = ConvertAbilityRealLevelField('Nst5')
1826
    constant abilityreallevelfield ABILITY_RLF_FOLLOW_THROUGH_TIME                               = ConvertAbilityRealLevelField('Ncl1')
1827
    constant abilityreallevelfield ABILITY_RLF_ART_DURATION                                      = ConvertAbilityRealLevelField('Ncl4')
1828
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_REDUCTION_PERCENT_NAB1             = ConvertAbilityRealLevelField('Nab1')
1829
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_REDUCTION_PERCENT_NAB2               = ConvertAbilityRealLevelField('Nab2')
1830
    constant abilityreallevelfield ABILITY_RLF_PRIMARY_DAMAGE                                    = ConvertAbilityRealLevelField('Nab4')
1831
    constant abilityreallevelfield ABILITY_RLF_SECONDARY_DAMAGE                                  = ConvertAbilityRealLevelField('Nab5')
1832
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_INTERVAL_NAB6                              = ConvertAbilityRealLevelField('Nab6')
1833
    constant abilityreallevelfield ABILITY_RLF_GOLD_COST_FACTOR                                  = ConvertAbilityRealLevelField('Ntm1')
1834
    constant abilityreallevelfield ABILITY_RLF_LUMBER_COST_FACTOR                                = ConvertAbilityRealLevelField('Ntm2')
1835
    constant abilityreallevelfield ABILITY_RLF_MOVE_SPEED_BONUS_NEG1                             = ConvertAbilityRealLevelField('Neg1')
1836
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_BONUS_NEG2                                 = ConvertAbilityRealLevelField('Neg2')
1837
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_AMOUNT_NCS1                                = ConvertAbilityRealLevelField('Ncs1')
1838
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_INTERVAL_NCS2                              = ConvertAbilityRealLevelField('Ncs2')
1839
    constant abilityreallevelfield ABILITY_RLF_MAX_DAMAGE_NCS4                                   = ConvertAbilityRealLevelField('Ncs4')
1840
    constant abilityreallevelfield ABILITY_RLF_BUILDING_DAMAGE_FACTOR_NCS5                       = ConvertAbilityRealLevelField('Ncs5')
1841
    constant abilityreallevelfield ABILITY_RLF_EFFECT_DURATION                                   = ConvertAbilityRealLevelField('Ncs6')
1842
    constant abilityreallevelfield ABILITY_RLF_SPAWN_INTERVAL_NSY1                               = ConvertAbilityRealLevelField('Nsy1')
1843
    constant abilityreallevelfield ABILITY_RLF_SPAWN_UNIT_DURATION                               = ConvertAbilityRealLevelField('Nsy3')
1844
    constant abilityreallevelfield ABILITY_RLF_SPAWN_UNIT_OFFSET                                 = ConvertAbilityRealLevelField('Nsy4')
1845
    constant abilityreallevelfield ABILITY_RLF_LEASH_RANGE_NSY5                                  = ConvertAbilityRealLevelField('Nsy5')
1846
    constant abilityreallevelfield ABILITY_RLF_SPAWN_INTERVAL_NFY1                               = ConvertAbilityRealLevelField('Nfy1')
1847
    constant abilityreallevelfield ABILITY_RLF_LEASH_RANGE_NFY2                                  = ConvertAbilityRealLevelField('Nfy2')
1848
    constant abilityreallevelfield ABILITY_RLF_CHANCE_TO_DEMOLISH                                = ConvertAbilityRealLevelField('Nde1')
1849
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_MULTIPLIER_BUILDINGS                       = ConvertAbilityRealLevelField('Nde2')
1850
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_MULTIPLIER_UNITS                           = ConvertAbilityRealLevelField('Nde3')
1851
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_MULTIPLIER_HEROES                          = ConvertAbilityRealLevelField('Nde4')
1852
    constant abilityreallevelfield ABILITY_RLF_BONUS_DAMAGE_MULTIPLIER                           = ConvertAbilityRealLevelField('Nic1')
1853
    constant abilityreallevelfield ABILITY_RLF_DEATH_DAMAGE_FULL_AMOUNT                          = ConvertAbilityRealLevelField('Nic2')
1854
    constant abilityreallevelfield ABILITY_RLF_DEATH_DAMAGE_FULL_AREA                            = ConvertAbilityRealLevelField('Nic3')
1855
    constant abilityreallevelfield ABILITY_RLF_DEATH_DAMAGE_HALF_AMOUNT                          = ConvertAbilityRealLevelField('Nic4')
1856
    constant abilityreallevelfield ABILITY_RLF_DEATH_DAMAGE_HALF_AREA                            = ConvertAbilityRealLevelField('Nic5')
1857
    constant abilityreallevelfield ABILITY_RLF_DEATH_DAMAGE_DELAY                                = ConvertAbilityRealLevelField('Nic6')
1858
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_AMOUNT_NSO1                                = ConvertAbilityRealLevelField('Nso1')
1859
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PERIOD                                     = ConvertAbilityRealLevelField('Nso2')
1860
    constant abilityreallevelfield ABILITY_RLF_DAMAGE_PENALTY                                    = ConvertAbilityRealLevelField('Nso3')
1861
    constant abilityreallevelfield ABILITY_RLF_MOVEMENT_SPEED_REDUCTION_PERCENT_NSO4             = ConvertAbilityRealLevelField('Nso4')
1862
    constant abilityreallevelfield ABILITY_RLF_ATTACK_SPEED_REDUCTION_PERCENT_NSO5               = ConvertAbilityRealLevelField('Nso5')
1863
    constant abilityreallevelfield ABILITY_RLF_SPLIT_DELAY                                       = ConvertAbilityRealLevelField('Nlm2')
1864
    constant abilityreallevelfield ABILITY_RLF_MAX_HITPOINT_FACTOR                               = ConvertAbilityRealLevelField('Nlm4')
1865
    constant abilityreallevelfield ABILITY_RLF_LIFE_DURATION_SPLIT_BONUS                         = ConvertAbilityRealLevelField('Nlm5')
1866
    constant abilityreallevelfield ABILITY_RLF_WAVE_INTERVAL                                     = ConvertAbilityRealLevelField('Nvc3')
1867
    constant abilityreallevelfield ABILITY_RLF_BUILDING_DAMAGE_FACTOR_NVC4                       = ConvertAbilityRealLevelField('Nvc4')
1868
    constant abilityreallevelfield ABILITY_RLF_FULL_DAMAGE_AMOUNT_NVC5                           = ConvertAbilityRealLevelField('Nvc5')
1869
    constant abilityreallevelfield ABILITY_RLF_HALF_DAMAGE_FACTOR                                = ConvertAbilityRealLevelField('Nvc6')
1870
    constant abilityreallevelfield ABILITY_RLF_INTERVAL_BETWEEN_PULSES                           = ConvertAbilityRealLevelField('Tau5')
1871
1872
    constant abilitybooleanlevelfield ABILITY_BLF_PERCENT_BONUS_HAB2            = ConvertAbilityBooleanLevelField('Hab2')
1873
    constant abilitybooleanlevelfield ABILITY_BLF_USE_TELEPORT_CLUSTERING_HMT3  = ConvertAbilityBooleanLevelField('Hmt3')
1874
    constant abilitybooleanlevelfield ABILITY_BLF_NEVER_MISS_OCR5               = ConvertAbilityBooleanLevelField('Ocr5')
1875
    constant abilitybooleanlevelfield ABILITY_BLF_EXCLUDE_ITEM_DAMAGE           = ConvertAbilityBooleanLevelField('Ocr6')
1876
    constant abilitybooleanlevelfield ABILITY_BLF_BACKSTAB_DAMAGE               = ConvertAbilityBooleanLevelField('Owk4')
1877
    constant abilitybooleanlevelfield ABILITY_BLF_INHERIT_UPGRADES_UAN3         = ConvertAbilityBooleanLevelField('Uan3')
1878
    constant abilitybooleanlevelfield ABILITY_BLF_MANA_CONVERSION_AS_PERCENT    = ConvertAbilityBooleanLevelField('Udp3')
1879
    constant abilitybooleanlevelfield ABILITY_BLF_LIFE_CONVERSION_AS_PERCENT    = ConvertAbilityBooleanLevelField('Udp4')
1880
    constant abilitybooleanlevelfield ABILITY_BLF_LEAVE_TARGET_ALIVE            = ConvertAbilityBooleanLevelField('Udp5')
1881
    constant abilitybooleanlevelfield ABILITY_BLF_PERCENT_BONUS_UAU3            = ConvertAbilityBooleanLevelField('Uau3')
1882
    constant abilitybooleanlevelfield ABILITY_BLF_DAMAGE_IS_PERCENT_RECEIVED    = ConvertAbilityBooleanLevelField('Eah2')
1883
    constant abilitybooleanlevelfield ABILITY_BLF_MELEE_BONUS                   = ConvertAbilityBooleanLevelField('Ear2')
1884
    constant abilitybooleanlevelfield ABILITY_BLF_RANGED_BONUS                  = ConvertAbilityBooleanLevelField('Ear3')
1885
    constant abilitybooleanlevelfield ABILITY_BLF_FLAT_BONUS                    = ConvertAbilityBooleanLevelField('Ear4')
1886
    constant abilitybooleanlevelfield ABILITY_BLF_NEVER_MISS_HBH5               = ConvertAbilityBooleanLevelField('Hbh5')
1887
    constant abilitybooleanlevelfield ABILITY_BLF_PERCENT_BONUS_HAD2            = ConvertAbilityBooleanLevelField('Had2')
1888
    constant abilitybooleanlevelfield ABILITY_BLF_CAN_DEACTIVATE                = ConvertAbilityBooleanLevelField('Hds1')
1889
    constant abilitybooleanlevelfield ABILITY_BLF_RAISED_UNITS_ARE_INVULNERABLE = ConvertAbilityBooleanLevelField('Hre2')
1890
    constant abilitybooleanlevelfield ABILITY_BLF_PERCENTAGE_OAR2               = ConvertAbilityBooleanLevelField('Oar2')
1891
    constant abilitybooleanlevelfield ABILITY_BLF_SUMMON_BUSY_UNITS             = ConvertAbilityBooleanLevelField('Btl2')
1892
    constant abilitybooleanlevelfield ABILITY_BLF_CREATES_BLIGHT                = ConvertAbilityBooleanLevelField('Bli2')
1893
    constant abilitybooleanlevelfield ABILITY_BLF_EXPLODES_ON_DEATH             = ConvertAbilityBooleanLevelField('Sds6')
1894
    constant abilitybooleanlevelfield ABILITY_BLF_ALWAYS_AUTOCAST_FAE2          = ConvertAbilityBooleanLevelField('Fae2')
1895
    constant abilitybooleanlevelfield ABILITY_BLF_REGENERATE_ONLY_AT_NIGHT      = ConvertAbilityBooleanLevelField('Mbt5')
1896
    constant abilitybooleanlevelfield ABILITY_BLF_SHOW_SELECT_UNIT_BUTTON       = ConvertAbilityBooleanLevelField('Neu3')
1897
    constant abilitybooleanlevelfield ABILITY_BLF_SHOW_UNIT_INDICATOR           = ConvertAbilityBooleanLevelField('Neu4')
1898
    constant abilitybooleanlevelfield ABILITY_BLF_CHARGE_OWNING_PLAYER          = ConvertAbilityBooleanLevelField('Ans6')
1899
    constant abilitybooleanlevelfield ABILITY_BLF_PERCENTAGE_ARM2               = ConvertAbilityBooleanLevelField('Arm2')
1900
    constant abilitybooleanlevelfield ABILITY_BLF_TARGET_IS_INVULNERABLE        = ConvertAbilityBooleanLevelField('Pos3')
1901
    constant abilitybooleanlevelfield ABILITY_BLF_TARGET_IS_MAGIC_IMMUNE        = ConvertAbilityBooleanLevelField('Pos4')
1902
    constant abilitybooleanlevelfield ABILITY_BLF_KILL_ON_CASTER_DEATH          = ConvertAbilityBooleanLevelField('Ucb6')
1903
    constant abilitybooleanlevelfield ABILITY_BLF_NO_TARGET_REQUIRED_REJ4       = ConvertAbilityBooleanLevelField('Rej4')
1904
    constant abilitybooleanlevelfield ABILITY_BLF_ACCEPTS_GOLD                  = ConvertAbilityBooleanLevelField('Rtn1')
1905
    constant abilitybooleanlevelfield ABILITY_BLF_ACCEPTS_LUMBER                = ConvertAbilityBooleanLevelField('Rtn2')
1906
    constant abilitybooleanlevelfield ABILITY_BLF_PREFER_HOSTILES_ROA5          = ConvertAbilityBooleanLevelField('Roa5')
1907
    constant abilitybooleanlevelfield ABILITY_BLF_PREFER_FRIENDLIES_ROA6        = ConvertAbilityBooleanLevelField('Roa6')
1908
    constant abilitybooleanlevelfield ABILITY_BLF_ROOTED_TURNING                = ConvertAbilityBooleanLevelField('Roo3')
1909
    constant abilitybooleanlevelfield ABILITY_BLF_ALWAYS_AUTOCAST_SLO3          = ConvertAbilityBooleanLevelField('Slo3')
1910
    constant abilitybooleanlevelfield ABILITY_BLF_HIDE_BUTTON                   = ConvertAbilityBooleanLevelField('Ihid')
1911
    constant abilitybooleanlevelfield ABILITY_BLF_USE_TELEPORT_CLUSTERING_ITP2  = ConvertAbilityBooleanLevelField('Itp2')
1912
    constant abilitybooleanlevelfield ABILITY_BLF_IMMUNE_TO_MORPH_EFFECTS       = ConvertAbilityBooleanLevelField('Eth1')
1913
    constant abilitybooleanlevelfield ABILITY_BLF_DOES_NOT_BLOCK_BUILDINGS      = ConvertAbilityBooleanLevelField('Eth2')
1914
    constant abilitybooleanlevelfield ABILITY_BLF_AUTO_ACQUIRE_ATTACK_TARGETS   = ConvertAbilityBooleanLevelField('Gho1')
1915
    constant abilitybooleanlevelfield ABILITY_BLF_IMMUNE_TO_MORPH_EFFECTS_GHO2  = ConvertAbilityBooleanLevelField('Gho2')
1916
    constant abilitybooleanlevelfield ABILITY_BLF_DO_NOT_BLOCK_BUILDINGS        = ConvertAbilityBooleanLevelField('Gho3')
1917
    constant abilitybooleanlevelfield ABILITY_BLF_INCLUDE_RANGED_DAMAGE         = ConvertAbilityBooleanLevelField('Ssk4')
1918
    constant abilitybooleanlevelfield ABILITY_BLF_INCLUDE_MELEE_DAMAGE          = ConvertAbilityBooleanLevelField('Ssk5')
1919
    constant abilitybooleanlevelfield ABILITY_BLF_MOVE_TO_PARTNER               = ConvertAbilityBooleanLevelField('coa2')
1920
    constant abilitybooleanlevelfield ABILITY_BLF_CAN_BE_DISPELLED              = ConvertAbilityBooleanLevelField('cyc1')
1921
    constant abilitybooleanlevelfield ABILITY_BLF_IGNORE_FRIENDLY_BUFFS         = ConvertAbilityBooleanLevelField('dvm6')
1922
    constant abilitybooleanlevelfield ABILITY_BLF_DROP_ITEMS_ON_DEATH           = ConvertAbilityBooleanLevelField('inv2')
1923
    constant abilitybooleanlevelfield ABILITY_BLF_CAN_USE_ITEMS                 = ConvertAbilityBooleanLevelField('inv3')
1924
    constant abilitybooleanlevelfield ABILITY_BLF_CAN_GET_ITEMS                 = ConvertAbilityBooleanLevelField('inv4')
1925
    constant abilitybooleanlevelfield ABILITY_BLF_CAN_DROP_ITEMS                = ConvertAbilityBooleanLevelField('inv5')
1926
    constant abilitybooleanlevelfield ABILITY_BLF_REPAIRS_ALLOWED               = ConvertAbilityBooleanLevelField('liq4')
1927
    constant abilitybooleanlevelfield ABILITY_BLF_CASTER_ONLY_SPLASH            = ConvertAbilityBooleanLevelField('mfl6')
1928
    constant abilitybooleanlevelfield ABILITY_BLF_NO_TARGET_REQUIRED_IRL4       = ConvertAbilityBooleanLevelField('irl4')
1929
    constant abilitybooleanlevelfield ABILITY_BLF_DISPEL_ON_ATTACK              = ConvertAbilityBooleanLevelField('irl5')
1930
    constant abilitybooleanlevelfield ABILITY_BLF_AMOUNT_IS_RAW_VALUE           = ConvertAbilityBooleanLevelField('ipv3')
1931
    constant abilitybooleanlevelfield ABILITY_BLF_SHARED_SPELL_COOLDOWN         = ConvertAbilityBooleanLevelField('spb2')
1932
    constant abilitybooleanlevelfield ABILITY_BLF_SLEEP_ONCE                    = ConvertAbilityBooleanLevelField('sla1')
1933
    constant abilitybooleanlevelfield ABILITY_BLF_ALLOW_ON_ANY_PLAYER_SLOT      = ConvertAbilityBooleanLevelField('sla2')
1934
    constant abilitybooleanlevelfield ABILITY_BLF_DISABLE_OTHER_ABILITIES       = ConvertAbilityBooleanLevelField('Ncl5')
1935
    constant abilitybooleanlevelfield ABILITY_BLF_ALLOW_BOUNTY                  = ConvertAbilityBooleanLevelField('Ntm4')
1936
1937
    constant abilitystringlevelfield ABILITY_SLF_ICON_NORMAL                    = ConvertAbilityStringLevelField('aart')
1938
    constant abilitystringlevelfield ABILITY_SLF_CASTER                         = ConvertAbilityStringLevelField('acat')
1939
    constant abilitystringlevelfield ABILITY_SLF_TARGET                         = ConvertAbilityStringLevelField('atat')
1940
    constant abilitystringlevelfield ABILITY_SLF_SPECIAL                        = ConvertAbilityStringLevelField('asat')
1941
    constant abilitystringlevelfield ABILITY_SLF_EFFECT                         = ConvertAbilityStringLevelField('aeat')
1942
    constant abilitystringlevelfield ABILITY_SLF_AREA_EFFECT                    = ConvertAbilityStringLevelField('aaea')
1943
    constant abilitystringlevelfield ABILITY_SLF_LIGHTNING_EFFECTS              = ConvertAbilityStringLevelField('alig')
1944
    constant abilitystringlevelfield ABILITY_SLF_MISSILE_ART                    = ConvertAbilityStringLevelField('amat')
1945
    constant abilitystringlevelfield ABILITY_SLF_TOOLTIP_LEARN                  = ConvertAbilityStringLevelField('aret')
1946
    constant abilitystringlevelfield ABILITY_SLF_TOOLTIP_LEARN_EXTENDED         = ConvertAbilityStringLevelField('arut')
1947
    constant abilitystringlevelfield ABILITY_SLF_TOOLTIP_NORMAL                 = ConvertAbilityStringLevelField('atp1')
1948
    constant abilitystringlevelfield ABILITY_SLF_TOOLTIP_TURN_OFF               = ConvertAbilityStringLevelField('aut1')
1949
    constant abilitystringlevelfield ABILITY_SLF_TOOLTIP_NORMAL_EXTENDED        = ConvertAbilityStringLevelField('aub1')
1950
    constant abilitystringlevelfield ABILITY_SLF_TOOLTIP_TURN_OFF_EXTENDED      = ConvertAbilityStringLevelField('auu1')
1951
    constant abilitystringlevelfield ABILITY_SLF_NORMAL_FORM_UNIT_EME1          = ConvertAbilityStringLevelField('Eme1')
1952
    constant abilitystringlevelfield ABILITY_SLF_SPAWNED_UNITS                  = ConvertAbilityStringLevelField('Ndp1')
1953
    constant abilitystringlevelfield ABILITY_SLF_ABILITY_FOR_UNIT_CREATION      = ConvertAbilityStringLevelField('Nrc1')
1954
    constant abilitystringlevelfield ABILITY_SLF_NORMAL_FORM_UNIT_MIL1          = ConvertAbilityStringLevelField('Mil1')
1955
    constant abilitystringlevelfield ABILITY_SLF_ALTERNATE_FORM_UNIT_MIL2       = ConvertAbilityStringLevelField('Mil2')
1956
    constant abilitystringlevelfield ABILITY_SLF_BASE_ORDER_ID_ANS5             = ConvertAbilityStringLevelField('Ans5')
1957
    constant abilitystringlevelfield ABILITY_SLF_MORPH_UNITS_GROUND             = ConvertAbilityStringLevelField('Ply2')
1958
    constant abilitystringlevelfield ABILITY_SLF_MORPH_UNITS_AIR                = ConvertAbilityStringLevelField('Ply3')
1959
    constant abilitystringlevelfield ABILITY_SLF_MORPH_UNITS_AMPHIBIOUS         = ConvertAbilityStringLevelField('Ply4')
1960
    constant abilitystringlevelfield ABILITY_SLF_MORPH_UNITS_WATER              = ConvertAbilityStringLevelField('Ply5')
1961
    constant abilitystringlevelfield ABILITY_SLF_UNIT_TYPE_ONE                  = ConvertAbilityStringLevelField('Rai3')
1962
    constant abilitystringlevelfield ABILITY_SLF_UNIT_TYPE_TWO                  = ConvertAbilityStringLevelField('Rai4')
1963
    constant abilitystringlevelfield ABILITY_SLF_UNIT_TYPE_SOD2                 = ConvertAbilityStringLevelField('Sod2')
1964
    constant abilitystringlevelfield ABILITY_SLF_SUMMON_1_UNIT_TYPE             = ConvertAbilityStringLevelField('Ist1')
1965
    constant abilitystringlevelfield ABILITY_SLF_SUMMON_2_UNIT_TYPE             = ConvertAbilityStringLevelField('Ist2')
1966
    constant abilitystringlevelfield ABILITY_SLF_RACE_TO_CONVERT                = ConvertAbilityStringLevelField('Ndc1')
1967
    constant abilitystringlevelfield ABILITY_SLF_PARTNER_UNIT_TYPE              = ConvertAbilityStringLevelField('coa1')
1968
    constant abilitystringlevelfield ABILITY_SLF_PARTNER_UNIT_TYPE_ONE          = ConvertAbilityStringLevelField('dcp1')
1969
    constant abilitystringlevelfield ABILITY_SLF_PARTNER_UNIT_TYPE_TWO          = ConvertAbilityStringLevelField('dcp2')
1970
    constant abilitystringlevelfield ABILITY_SLF_REQUIRED_UNIT_TYPE             = ConvertAbilityStringLevelField('tpi1')
1971
    constant abilitystringlevelfield ABILITY_SLF_CONVERTED_UNIT_TYPE            = ConvertAbilityStringLevelField('tpi2')
1972
    constant abilitystringlevelfield ABILITY_SLF_SPELL_LIST                     = ConvertAbilityStringLevelField('spb1')
1973
    constant abilitystringlevelfield ABILITY_SLF_BASE_ORDER_ID_SPB5             = ConvertAbilityStringLevelField('spb5')
1974
    constant abilitystringlevelfield ABILITY_SLF_BASE_ORDER_ID_NCL6             = ConvertAbilityStringLevelField('Ncl6')
1975
    constant abilitystringlevelfield ABILITY_SLF_ABILITY_UPGRADE_1              = ConvertAbilityStringLevelField('Neg3')
1976
    constant abilitystringlevelfield ABILITY_SLF_ABILITY_UPGRADE_2              = ConvertAbilityStringLevelField('Neg4')
1977
    constant abilitystringlevelfield ABILITY_SLF_ABILITY_UPGRADE_3              = ConvertAbilityStringLevelField('Neg5')
1978
    constant abilitystringlevelfield ABILITY_SLF_ABILITY_UPGRADE_4              = ConvertAbilityStringLevelField('Neg6')
1979
    constant abilitystringlevelfield ABILITY_SLF_SPAWN_UNIT_ID_NSY2             = ConvertAbilityStringLevelField('Nsy2')
1980
1981
    // Item
1982
    constant itemintegerfield ITEM_IF_LEVEL                 = ConvertItemIntegerField('ilev')
1983
    constant itemintegerfield ITEM_IF_NUMBER_OF_CHARGES     = ConvertItemIntegerField('iuse')
1984
    constant itemintegerfield ITEM_IF_COOLDOWN_GROUP        = ConvertItemIntegerField('icid')
1985
    constant itemintegerfield ITEM_IF_MAX_HIT_POINTS        = ConvertItemIntegerField('ihtp')
1986
    constant itemintegerfield ITEM_IF_HIT_POINTS            = ConvertItemIntegerField('ihpc')
1987
    constant itemintegerfield ITEM_IF_PRIORITY              = ConvertItemIntegerField('ipri')
1988
    constant itemintegerfield ITEM_IF_ARMOR_TYPE            = ConvertItemIntegerField('iarm')
1989
    constant itemintegerfield ITEM_IF_TINTING_COLOR_RED     = ConvertItemIntegerField('iclr')
1990
    constant itemintegerfield ITEM_IF_TINTING_COLOR_GREEN   = ConvertItemIntegerField('iclg')
1991
    constant itemintegerfield ITEM_IF_TINTING_COLOR_BLUE    = ConvertItemIntegerField('iclb')
1992
    constant itemintegerfield ITEM_IF_TINTING_COLOR_ALPHA   = ConvertItemIntegerField('ical')
1993
1994
    constant itemrealfield ITEM_RF_SCALING_VALUE            = ConvertItemRealField('isca')
1995
1996
    constant itembooleanfield ITEM_BF_DROPPED_WHEN_CARRIER_DIES         = ConvertItemBooleanField('idrp')
1997
    constant itembooleanfield ITEM_BF_CAN_BE_DROPPED                    = ConvertItemBooleanField('idro')
1998
    constant itembooleanfield ITEM_BF_PERISHABLE                        = ConvertItemBooleanField('iper')
1999
    constant itembooleanfield ITEM_BF_INCLUDE_AS_RANDOM_CHOICE          = ConvertItemBooleanField('iprn')
2000
    constant itembooleanfield ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED   = ConvertItemBooleanField('ipow')
2001
    constant itembooleanfield ITEM_BF_CAN_BE_SOLD_TO_MERCHANTS          = ConvertItemBooleanField('ipaw')
2002
    constant itembooleanfield ITEM_BF_ACTIVELY_USED                     = ConvertItemBooleanField('iusa')
2003
2004
    constant itemstringfield ITEM_SF_MODEL_USED                         = ConvertItemStringField('ifil')
2005
2006
    // Unit
2007
    constant unitintegerfield UNIT_IF_DEFENSE_TYPE                          = ConvertUnitIntegerField('udty')
2008
    constant unitintegerfield UNIT_IF_ARMOR_TYPE                            = ConvertUnitIntegerField('uarm')
2009
    constant unitintegerfield UNIT_IF_LOOPING_FADE_IN_RATE                  = ConvertUnitIntegerField('ulfi')
2010
    constant unitintegerfield UNIT_IF_LOOPING_FADE_OUT_RATE                 = ConvertUnitIntegerField('ulfo')
2011
    constant unitintegerfield UNIT_IF_AGILITY                               = ConvertUnitIntegerField('uagc')
2012
    constant unitintegerfield UNIT_IF_INTELLIGENCE                          = ConvertUnitIntegerField('uinc')
2013
    constant unitintegerfield UNIT_IF_STRENGTH                              = ConvertUnitIntegerField('ustc')
2014
    constant unitintegerfield UNIT_IF_AGILITY_PERMANENT                     = ConvertUnitIntegerField('uagm')
2015
    constant unitintegerfield UNIT_IF_INTELLIGENCE_PERMANENT                = ConvertUnitIntegerField('uinm')
2016
    constant unitintegerfield UNIT_IF_STRENGTH_PERMANENT                    = ConvertUnitIntegerField('ustm')
2017
    constant unitintegerfield UNIT_IF_AGILITY_WITH_BONUS                    = ConvertUnitIntegerField('uagb')
2018
    constant unitintegerfield UNIT_IF_INTELLIGENCE_WITH_BONUS               = ConvertUnitIntegerField('uinb')
2019
    constant unitintegerfield UNIT_IF_STRENGTH_WITH_BONUS                   = ConvertUnitIntegerField('ustb')
2020
    constant unitintegerfield UNIT_IF_GOLD_BOUNTY_AWARDED_NUMBER_OF_DICE    = ConvertUnitIntegerField('ubdi')
2021
    constant unitintegerfield UNIT_IF_GOLD_BOUNTY_AWARDED_BASE              = ConvertUnitIntegerField('ubba')
2022
    constant unitintegerfield UNIT_IF_GOLD_BOUNTY_AWARDED_SIDES_PER_DIE     = ConvertUnitIntegerField('ubsi')
2023
    constant unitintegerfield UNIT_IF_LUMBER_BOUNTY_AWARDED_NUMBER_OF_DICE  = ConvertUnitIntegerField('ulbd')
2024
    constant unitintegerfield UNIT_IF_LUMBER_BOUNTY_AWARDED_BASE            = ConvertUnitIntegerField('ulba')
2025
    constant unitintegerfield UNIT_IF_LUMBER_BOUNTY_AWARDED_SIDES_PER_DIE   = ConvertUnitIntegerField('ulbs')
2026
    constant unitintegerfield UNIT_IF_LEVEL                                 = ConvertUnitIntegerField('ulev')
2027
    constant unitintegerfield UNIT_IF_FORMATION_RANK                        = ConvertUnitIntegerField('ufor')
2028
    constant unitintegerfield UNIT_IF_ORIENTATION_INTERPOLATION             = ConvertUnitIntegerField('uori')
2029
    constant unitintegerfield UNIT_IF_ELEVATION_SAMPLE_POINTS               = ConvertUnitIntegerField('uept')
2030
    constant unitintegerfield UNIT_IF_TINTING_COLOR_RED                     = ConvertUnitIntegerField('uclr')
2031
    constant unitintegerfield UNIT_IF_TINTING_COLOR_GREEN                   = ConvertUnitIntegerField('uclg')
2032
    constant unitintegerfield UNIT_IF_TINTING_COLOR_BLUE                    = ConvertUnitIntegerField('uclb')
2033
    constant unitintegerfield UNIT_IF_TINTING_COLOR_ALPHA                   = ConvertUnitIntegerField('ucal')
2034
    constant unitintegerfield UNIT_IF_MOVE_TYPE                             = ConvertUnitIntegerField('umvt')
2035
    constant unitintegerfield UNIT_IF_TARGETED_AS                           = ConvertUnitIntegerField('utar')
2036
    constant unitintegerfield UNIT_IF_UNIT_CLASSIFICATION                   = ConvertUnitIntegerField('utyp')
2037
    constant unitintegerfield UNIT_IF_HIT_POINTS_REGENERATION_TYPE          = ConvertUnitIntegerField('uhrt')
2038
    constant unitintegerfield UNIT_IF_PLACEMENT_PREVENTED_BY                = ConvertUnitIntegerField('upar')
2039
    constant unitintegerfield UNIT_IF_PRIMARY_ATTRIBUTE                     = ConvertUnitIntegerField('upra')
2040
2041
    constant unitrealfield UNIT_RF_STRENGTH_PER_LEVEL                       = ConvertUnitRealField('ustp')
2042
    constant unitrealfield UNIT_RF_AGILITY_PER_LEVEL                        = ConvertUnitRealField('uagp')
2043
    constant unitrealfield UNIT_RF_INTELLIGENCE_PER_LEVEL                   = ConvertUnitRealField('uinp')
2044
    constant unitrealfield UNIT_RF_HIT_POINTS_REGENERATION_RATE             = ConvertUnitRealField('uhpr')
2045
    constant unitrealfield UNIT_RF_MANA_REGENERATION                        = ConvertUnitRealField('umpr')
2046
    constant unitrealfield UNIT_RF_DEATH_TIME                               = ConvertUnitRealField('udtm')
2047
    constant unitrealfield UNIT_RF_FLY_HEIGHT                               = ConvertUnitRealField('ufyh')
2048
    constant unitrealfield UNIT_RF_FLY_MAX_HEIGHT                           = ConvertUnitRealField('ufmh')
2049
    constant unitrealfield UNIT_RF_TURN_RATE                                = ConvertUnitRealField('umvr')
2050
    constant unitrealfield UNIT_RF_ELEVATION_SAMPLE_RADIUS                  = ConvertUnitRealField('uerd')
2051
    constant unitrealfield UNIT_RF_FOG_OF_WAR_SAMPLE_RADIUS                 = ConvertUnitRealField('ufrd')
2052
    constant unitrealfield UNIT_RF_MAXIMUM_PITCH_ANGLE_DEGREES              = ConvertUnitRealField('umxp')
2053
    constant unitrealfield UNIT_RF_MAXIMUM_ROLL_ANGLE_DEGREES               = ConvertUnitRealField('umxr')
2054
    constant unitrealfield UNIT_RF_SCALING_VALUE                            = ConvertUnitRealField('usca')
2055
    constant unitrealfield UNIT_RF_ANIMATION_RUN_SPEED                      = ConvertUnitRealField('urun')
2056
    constant unitrealfield UNIT_RF_SELECTION_SCALE                          = ConvertUnitRealField('ussc')
2057
    constant unitrealfield UNIT_RF_SELECTION_CIRCLE_HEIGHT                  = ConvertUnitRealField('uslz')
2058
    constant unitrealfield UNIT_RF_SHADOW_IMAGE_HEIGHT                      = ConvertUnitRealField('ushh')
2059
    constant unitrealfield UNIT_RF_SHADOW_IMAGE_WIDTH                       = ConvertUnitRealField('ushw')
2060
    constant unitrealfield UNIT_RF_SHADOW_IMAGE_CENTER_X                    = ConvertUnitRealField('ushx')
2061
    constant unitrealfield UNIT_RF_SHADOW_IMAGE_CENTER_Y                    = ConvertUnitRealField('ushy')
2062
    constant unitrealfield UNIT_RF_ANIMATION_WALK_SPEED                     = ConvertUnitRealField('uwal')
2063
    constant unitrealfield UNIT_RF_DEFENSE                                  = ConvertUnitRealField('udfc')
2064
    constant unitrealfield UNIT_RF_SIGHT_RADIUS                             = ConvertUnitRealField('usir')
2065
    constant unitrealfield UNIT_RF_PRIORITY                                 = ConvertUnitRealField('upri')
2066
    constant unitrealfield UNIT_RF_SPEED                                    = ConvertUnitRealField('umvc')
2067
    constant unitrealfield UNIT_RF_OCCLUDER_HEIGHT                          = ConvertUnitRealField('uocc')
2068
    constant unitrealfield UNIT_RF_HP                                       = ConvertUnitRealField('uhpc')
2069
    constant unitrealfield UNIT_RF_MANA                                     = ConvertUnitRealField('umpc')
2070
    constant unitrealfield UNIT_RF_ACQUISITION_RANGE                        = ConvertUnitRealField('uacq')
2071
    constant unitrealfield UNIT_RF_CAST_BACK_SWING                          = ConvertUnitRealField('ucbs')
2072
    constant unitrealfield UNIT_RF_CAST_POINT                               = ConvertUnitRealField('ucpt')
2073
    constant unitrealfield UNIT_RF_MINIMUM_ATTACK_RANGE                     = ConvertUnitRealField('uamn')
2074
2075
    constant unitbooleanfield UNIT_BF_RAISABLE                              = ConvertUnitBooleanField('urai')
2076
    constant unitbooleanfield UNIT_BF_DECAYABLE                             = ConvertUnitBooleanField('udec')
2077
    constant unitbooleanfield UNIT_BF_IS_A_BUILDING                         = ConvertUnitBooleanField('ubdg')
2078
    constant unitbooleanfield UNIT_BF_USE_EXTENDED_LINE_OF_SIGHT            = ConvertUnitBooleanField('ulos')
2079
    constant unitbooleanfield UNIT_BF_NEUTRAL_BUILDING_SHOWS_MINIMAP_ICON   = ConvertUnitBooleanField('unbm')
2080
    constant unitbooleanfield UNIT_BF_HERO_HIDE_HERO_INTERFACE_ICON         = ConvertUnitBooleanField('uhhb')
2081
    constant unitbooleanfield UNIT_BF_HERO_HIDE_HERO_MINIMAP_DISPLAY        = ConvertUnitBooleanField('uhhm')
2082
    constant unitbooleanfield UNIT_BF_HERO_HIDE_HERO_DEATH_MESSAGE          = ConvertUnitBooleanField('uhhd')
2083
    constant unitbooleanfield UNIT_BF_HIDE_MINIMAP_DISPLAY                  = ConvertUnitBooleanField('uhom')
2084
    constant unitbooleanfield UNIT_BF_SCALE_PROJECTILES                     = ConvertUnitBooleanField('uscb')
2085
    constant unitbooleanfield UNIT_BF_SELECTION_CIRCLE_ON_WATER             = ConvertUnitBooleanField('usew')
2086
    constant unitbooleanfield UNIT_BF_HAS_WATER_SHADOW                      = ConvertUnitBooleanField('ushr')
2087
2088
    constant unitstringfield UNIT_SF_NAME                   = ConvertUnitStringField('unam')
2089
    constant unitstringfield UNIT_SF_PROPER_NAMES           = ConvertUnitStringField('upro')
2090
    constant unitstringfield UNIT_SF_GROUND_TEXTURE         = ConvertUnitStringField('uubs')
2091
    constant unitstringfield UNIT_SF_SHADOW_IMAGE_UNIT      = ConvertUnitStringField('ushu')
2092
2093
    // Unit Weapon
2094
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_DAMAGE_NUMBER_OF_DICE     = ConvertUnitWeaponIntegerField('ua1d')
2095
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_DAMAGE_BASE               = ConvertUnitWeaponIntegerField('ua1b')
2096
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_DAMAGE_SIDES_PER_DIE      = ConvertUnitWeaponIntegerField('ua1s')
2097
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_MAXIMUM_NUMBER_OF_TARGETS = ConvertUnitWeaponIntegerField('utc1')
2098
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_ATTACK_TYPE               = ConvertUnitWeaponIntegerField('ua1t')
2099
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_WEAPON_SOUND              = ConvertUnitWeaponIntegerField('ucs1')
2100
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_AREA_OF_EFFECT_TARGETS    = ConvertUnitWeaponIntegerField('ua1p')
2101
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_TARGETS_ALLOWED           = ConvertUnitWeaponIntegerField('ua1g')
2102
2103
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_BACKSWING_POINT              = ConvertUnitWeaponRealField('ubs1')
2104
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_DAMAGE_POINT                 = ConvertUnitWeaponRealField('udp1')
2105
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_BASE_COOLDOWN                = ConvertUnitWeaponRealField('ua1c')
2106
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_DAMAGE_LOSS_FACTOR           = ConvertUnitWeaponRealField('udl1')
2107
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_DAMAGE_FACTOR_MEDIUM         = ConvertUnitWeaponRealField('uhd1')
2108
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_DAMAGE_FACTOR_SMALL          = ConvertUnitWeaponRealField('uqd1')
2109
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_DAMAGE_SPILL_DISTANCE        = ConvertUnitWeaponRealField('usd1')
2110
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_DAMAGE_SPILL_RADIUS          = ConvertUnitWeaponRealField('usr1')
2111
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_PROJECTILE_SPEED             = ConvertUnitWeaponRealField('ua1z')
2112
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_PROJECTILE_ARC               = ConvertUnitWeaponRealField('uma1')
2113
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_AREA_OF_EFFECT_FULL_DAMAGE   = ConvertUnitWeaponRealField('ua1f')
2114
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_AREA_OF_EFFECT_MEDIUM_DAMAGE = ConvertUnitWeaponRealField('ua1h')
2115
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_AREA_OF_EFFECT_SMALL_DAMAGE  = ConvertUnitWeaponRealField('ua1q')
2116
    constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_RANGE                        = ConvertUnitWeaponRealField('ua1r')
2117
2118
    constant unitweaponbooleanfield UNIT_WEAPON_BF_ATTACK_SHOW_UI                   = ConvertUnitWeaponBooleanField('uwu1')
2119
    constant unitweaponbooleanfield UNIT_WEAPON_BF_ATTACKS_ENABLED                  = ConvertUnitWeaponBooleanField('uaen')
2120
    constant unitweaponbooleanfield UNIT_WEAPON_BF_ATTACK_PROJECTILE_HOMING_ENABLED = ConvertUnitWeaponBooleanField('umh1')
2121
    
2122
    constant unitweaponstringfield UNIT_WEAPON_SF_ATTACK_PROJECTILE_ART             = ConvertUnitWeaponStringField('ua1m')
2123
2124
    // Move Type
2125
    constant movetype       MOVE_TYPE_UNKNOWN               = ConvertMoveType(0)
2126
    constant movetype       MOVE_TYPE_FOOT                  = ConvertMoveType(1)
2127
    constant movetype       MOVE_TYPE_FLY                   = ConvertMoveType(2)
2128
    constant movetype       MOVE_TYPE_HORSE                 = ConvertMoveType(4)
2129
    constant movetype       MOVE_TYPE_HOVER                 = ConvertMoveType(8)
2130
    constant movetype       MOVE_TYPE_FLOAT                 = ConvertMoveType(16)
2131
    constant movetype       MOVE_TYPE_AMPHIBIOUS            = ConvertMoveType(32)
2132
    constant movetype       MOVE_TYPE_UNBUILDABLE           = ConvertMoveType(64)
2133
    
2134
    // Target Flag
2135
    constant targetflag     TARGET_FLAG_NONE                = ConvertTargetFlag(1)
2136
    constant targetflag     TARGET_FLAG_GROUND              = ConvertTargetFlag(2)
2137
    constant targetflag     TARGET_FLAG_AIR                 = ConvertTargetFlag(4)
2138
    constant targetflag     TARGET_FLAG_STRUCTURE           = ConvertTargetFlag(8)
2139
    constant targetflag     TARGET_FLAG_WARD                = ConvertTargetFlag(16)
2140
    constant targetflag     TARGET_FLAG_ITEM                = ConvertTargetFlag(32)
2141
    constant targetflag     TARGET_FLAG_TREE                = ConvertTargetFlag(64)
2142
    constant targetflag     TARGET_FLAG_WALL                = ConvertTargetFlag(128)
2143
    constant targetflag     TARGET_FLAG_DEBRIS              = ConvertTargetFlag(256)
2144
    constant targetflag     TARGET_FLAG_DECORATION          = ConvertTargetFlag(512)
2145
    constant targetflag     TARGET_FLAG_BRIDGE              = ConvertTargetFlag(1024)
2146
2147
    // defense type
2148
    constant defensetype    DEFENSE_TYPE_LIGHT              = ConvertDefenseType(0)
2149
    constant defensetype    DEFENSE_TYPE_MEDIUM             = ConvertDefenseType(1)
2150
    constant defensetype    DEFENSE_TYPE_LARGE              = ConvertDefenseType(2)
2151
    constant defensetype    DEFENSE_TYPE_FORT               = ConvertDefenseType(3)
2152
    constant defensetype    DEFENSE_TYPE_NORMAL             = ConvertDefenseType(4)
2153
    constant defensetype    DEFENSE_TYPE_HERO               = ConvertDefenseType(5)
2154
    constant defensetype    DEFENSE_TYPE_DIVINE             = ConvertDefenseType(6)
2155
    constant defensetype    DEFENSE_TYPE_NONE               = ConvertDefenseType(7)
2156
2157
    // Hero Attribute
2158
    constant heroattribute  HERO_ATTRIBUTE_STR              = ConvertHeroAttribute(1)
2159
    constant heroattribute  HERO_ATTRIBUTE_INT              = ConvertHeroAttribute(2)
2160
    constant heroattribute  HERO_ATTRIBUTE_AGI              = ConvertHeroAttribute(3)
2161
2162
    // Armor Type
2163
    constant armortype      ARMOR_TYPE_WHOKNOWS             = ConvertArmorType(0)
2164
    constant armortype      ARMOR_TYPE_FLESH                = ConvertArmorType(1)
2165
    constant armortype      ARMOR_TYPE_METAL                = ConvertArmorType(2)
2166
    constant armortype      ARMOR_TYPE_WOOD                 = ConvertArmorType(3)
2167
    constant armortype      ARMOR_TYPE_ETHREAL              = ConvertArmorType(4)
2168
    constant armortype      ARMOR_TYPE_STONE                = ConvertArmorType(5)
2169
2170
    // Regeneration Type
2171
    constant regentype      REGENERATION_TYPE_NONE          = ConvertRegenType(0)
2172
    constant regentype      REGENERATION_TYPE_ALWAYS        = ConvertRegenType(1)
2173
    constant regentype      REGENERATION_TYPE_BLIGHT        = ConvertRegenType(2)
2174
    constant regentype      REGENERATION_TYPE_DAY           = ConvertRegenType(3)
2175
    constant regentype      REGENERATION_TYPE_NIGHT         = ConvertRegenType(4)
2176
2177
    // Unit Category
2178
    constant unitcategory   UNIT_CATEGORY_GIANT             = ConvertUnitCategory(1)
2179
    constant unitcategory   UNIT_CATEGORY_UNDEAD            = ConvertUnitCategory(2)
2180
    constant unitcategory   UNIT_CATEGORY_SUMMONED          = ConvertUnitCategory(4)
2181
    constant unitcategory   UNIT_CATEGORY_MECHANICAL        = ConvertUnitCategory(8)
2182
    constant unitcategory   UNIT_CATEGORY_PEON              = ConvertUnitCategory(16)
2183
    constant unitcategory   UNIT_CATEGORY_SAPPER            = ConvertUnitCategory(32)
2184
    constant unitcategory   UNIT_CATEGORY_TOWNHALL          = ConvertUnitCategory(64)
2185
    constant unitcategory   UNIT_CATEGORY_ANCIENT           = ConvertUnitCategory(128)
2186
    constant unitcategory   UNIT_CATEGORY_NEUTRAL           = ConvertUnitCategory(256)
2187
    constant unitcategory   UNIT_CATEGORY_WARD              = ConvertUnitCategory(512)
2188
    constant unitcategory   UNIT_CATEGORY_STANDON           = ConvertUnitCategory(1024)
2189
    constant unitcategory   UNIT_CATEGORY_TAUREN            = ConvertUnitCategory(2048)
2190
2191
    // Pathing Flag
2192
    constant pathingflag    PATHING_FLAG_UNWALKABLE             = ConvertPathingFlag(2)
2193
    constant pathingflag    PATHING_FLAG_UNFLYABLE              = ConvertPathingFlag(4)
2194
    constant pathingflag    PATHING_FLAG_UNBUILDABLE            = ConvertPathingFlag(8)
2195
    constant pathingflag    PATHING_FLAG_UNPEONHARVEST          = ConvertPathingFlag(16)
2196
    constant pathingflag    PATHING_FLAG_BLIGHTED               = ConvertPathingFlag(32)
2197
    constant pathingflag    PATHING_FLAG_UNFLOATABLE            = ConvertPathingFlag(64)
2198
    constant pathingflag    PATHING_FLAG_UNAMPHIBIOUS           = ConvertPathingFlag(128)
2199
    constant pathingflag    PATHING_FLAG_UNITEMPLACABLE         = ConvertPathingFlag(256)
2200
2201
endglobals
2202
2203
//============================================================================
2204
// MathAPI
2205
native Deg2Rad  takes real degrees returns real
2206
native Rad2Deg  takes real radians returns real
2207
2208
native Sin      takes real radians returns real
2209
native Cos      takes real radians returns real
2210
native Tan      takes real radians returns real
2211
2212
// Expect values between -1 and 1...returns 0 for invalid input
2213
native Asin     takes real y returns real
2214
native Acos     takes real x returns real
2215
2216
native Atan     takes real x returns real
2217
2218
// Returns 0 if x and y are both 0
2219
native Atan2    takes real y, real x returns real
2220
2221
// Returns 0 if x <= 0
2222
native SquareRoot takes real x returns real
2223
2224
// computes x to the y power
2225
// y == 0.0             => 1
2226
// x ==0.0 and y < 0    => 0
2227
//
2228
native Pow      takes real x, real power returns real
2229
2230
constant native MathRound takes real r returns integer
2231
2232
//============================================================================
2233
// String Utility API
2234
native I2R  takes integer i returns real
2235
native R2I  takes real r returns integer
2236
native I2S  takes integer i returns string
2237
native R2S  takes real r returns string
2238
native R2SW takes real r, integer width, integer precision returns string
2239
native S2I  takes string s returns integer
2240
native S2R  takes string s returns real
2241
native GetHandleId takes handle h returns integer
2242
native SubString takes string source, integer start, integer end returns string
2243
native StringLength takes string s returns integer
2244
native StringCase takes string source, boolean upper returns string
2245
native StringHash takes string s returns integer
2246
2247
native GetLocalizedString takes string source returns string
2248
native GetLocalizedHotkey takes string source returns integer
2249
2250
//============================================================================
2251
// Map Setup API
2252
//
2253
//  These are native functions for describing the map configuration
2254
//  these funcs should only be used in the "config" function of
2255
//  a map script. The functions should also be called in this order
2256
//  ( i.e. call SetPlayers before SetPlayerColor...
2257
//
2258
2259
native SetMapName           takes string name returns nothing
2260
native SetMapDescription    takes string description returns nothing
2261
2262
native SetTeams             takes integer teamcount returns nothing
2263
native SetPlayers           takes integer playercount returns nothing
2264
2265
native DefineStartLocation          takes integer whichStartLoc, real x, real y returns nothing
2266
native DefineStartLocationLoc       takes integer whichStartLoc, location whichLocation returns nothing
2267
native SetStartLocPrioCount         takes integer whichStartLoc, integer prioSlotCount returns nothing
2268
native SetStartLocPrio              takes integer whichStartLoc, integer prioSlotIndex, integer otherStartLocIndex, startlocprio priority returns nothing
2269
native GetStartLocPrioSlot          takes integer whichStartLoc, integer prioSlotIndex returns integer
2270
native GetStartLocPrio              takes integer whichStartLoc, integer prioSlotIndex returns startlocprio
2271
native SetEnemyStartLocPrioCount    takes integer whichStartLoc, integer prioSlotCount returns nothing
2272
native SetEnemyStartLocPrio         takes integer whichStartLoc, integer prioSlotIndex, integer otherStartLocIndex, startlocprio priority returns nothing
2273
2274
native SetGameTypeSupported takes gametype whichGameType, boolean value returns nothing
2275
native SetMapFlag           takes mapflag whichMapFlag, boolean value returns nothing
2276
native SetGamePlacement     takes placement whichPlacementType returns nothing
2277
native SetGameSpeed         takes gamespeed whichspeed returns nothing
2278
native SetGameDifficulty    takes gamedifficulty whichdifficulty returns nothing
2279
native SetResourceDensity   takes mapdensity whichdensity returns nothing
2280
native SetCreatureDensity   takes mapdensity whichdensity returns nothing
2281
2282
native GetTeams             takes nothing returns integer
2283
native GetPlayers           takes nothing returns integer
2284
2285
native IsGameTypeSupported  takes gametype whichGameType returns boolean
2286
native GetGameTypeSelected  takes nothing returns gametype
2287
native IsMapFlagSet         takes mapflag whichMapFlag returns boolean
2288
2289
constant native GetGamePlacement     takes nothing returns placement
2290
constant native GetGameSpeed         takes nothing returns gamespeed
2291
constant native GetGameDifficulty    takes nothing returns gamedifficulty
2292
constant native GetResourceDensity   takes nothing returns mapdensity
2293
constant native GetCreatureDensity   takes nothing returns mapdensity
2294
constant native GetStartLocationX    takes integer whichStartLocation returns real
2295
constant native GetStartLocationY    takes integer whichStartLocation returns real
2296
constant native GetStartLocationLoc  takes integer whichStartLocation returns location
2297
2298
2299
native SetPlayerTeam            takes player whichPlayer, integer whichTeam returns nothing
2300
native SetPlayerStartLocation   takes player whichPlayer, integer startLocIndex returns nothing
2301
// forces player to have the specified start loc and marks the start loc as occupied
2302
// which removes it from consideration for subsequently placed players
2303
// ( i.e. you can use this to put people in a fixed loc and then
2304
//   use random placement for any unplaced players etc )
2305
native ForcePlayerStartLocation takes player whichPlayer, integer startLocIndex returns nothing
2306
native SetPlayerColor           takes player whichPlayer, playercolor color returns nothing
2307
native SetPlayerAlliance        takes player sourcePlayer, player otherPlayer, alliancetype whichAllianceSetting, boolean value returns nothing
2308
native SetPlayerTaxRate         takes player sourcePlayer, player otherPlayer, playerstate whichResource, integer rate returns nothing
2309
native SetPlayerRacePreference  takes player whichPlayer, racepreference whichRacePreference returns nothing
2310
native SetPlayerRaceSelectable  takes player whichPlayer, boolean value returns nothing
2311
native SetPlayerController      takes player whichPlayer, mapcontrol controlType returns nothing
2312
native SetPlayerName            takes player whichPlayer, string name returns nothing
2313
2314
native SetPlayerOnScoreScreen   takes player whichPlayer, boolean flag returns nothing
2315
2316
native GetPlayerTeam            takes player whichPlayer returns integer
2317
native GetPlayerStartLocation   takes player whichPlayer returns integer
2318
native GetPlayerColor           takes player whichPlayer returns playercolor
2319
native GetPlayerSelectable      takes player whichPlayer returns boolean
2320
native GetPlayerController      takes player whichPlayer returns mapcontrol
2321
native GetPlayerSlotState       takes player whichPlayer returns playerslotstate
2322
native GetPlayerTaxRate         takes player sourcePlayer, player otherPlayer, playerstate whichResource returns integer
2323
native IsPlayerRacePrefSet      takes player whichPlayer, racepreference pref returns boolean
2324
native GetPlayerName            takes player whichPlayer returns string
2325
2326
//============================================================================
2327
// Timer API
2328
//
2329
native CreateTimer          takes nothing returns timer
2330
native DestroyTimer         takes timer whichTimer returns nothing
2331
native TimerStart           takes timer whichTimer, real timeout, boolean periodic, code handlerFunc returns nothing
2332
native TimerGetElapsed      takes timer whichTimer returns real
2333
native TimerGetRemaining    takes timer whichTimer returns real
2334
native TimerGetTimeout      takes timer whichTimer returns real
2335
native PauseTimer           takes timer whichTimer returns nothing
2336
native ResumeTimer          takes timer whichTimer returns nothing
2337
native GetExpiredTimer      takes nothing returns timer
2338
2339
//============================================================================
2340
// Group API
2341
//
2342
native CreateGroup                          takes nothing returns group
2343
native DestroyGroup                         takes group whichGroup returns nothing
2344
native GroupAddUnit                         takes group whichGroup, unit whichUnit returns boolean
2345
native GroupRemoveUnit                      takes group whichGroup, unit whichUnit returns boolean
2346
native BlzGroupAddGroupFast                 takes group whichGroup, group addGroup returns integer
2347
native BlzGroupRemoveGroupFast              takes group whichGroup, group removeGroup returns integer
2348
native GroupClear                           takes group whichGroup returns nothing
2349
native BlzGroupGetSize                      takes group whichGroup returns integer
2350
native BlzGroupUnitAt                       takes group whichGroup, integer index returns unit
2351
native GroupEnumUnitsOfType                 takes group whichGroup, string unitname, boolexpr filter returns nothing
2352
native GroupEnumUnitsOfPlayer               takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
2353
native GroupEnumUnitsOfTypeCounted          takes group whichGroup, string unitname, boolexpr filter, integer countLimit returns nothing
2354
native GroupEnumUnitsInRect                 takes group whichGroup, rect r, boolexpr filter returns nothing
2355
native GroupEnumUnitsInRectCounted          takes group whichGroup, rect r, boolexpr filter, integer countLimit returns nothing
2356
native GroupEnumUnitsInRange                takes group whichGroup, real x, real y, real radius, boolexpr filter returns nothing
2357
native GroupEnumUnitsInRangeOfLoc           takes group whichGroup, location whichLocation, real radius, boolexpr filter returns nothing
2358
native GroupEnumUnitsInRangeCounted         takes group whichGroup, real x, real y, real radius, boolexpr filter, integer countLimit returns nothing
2359
native GroupEnumUnitsInRangeOfLocCounted    takes group whichGroup, location whichLocation, real radius, boolexpr filter, integer countLimit returns nothing
2360
native GroupEnumUnitsSelected               takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
2361
2362
native GroupImmediateOrder                  takes group whichGroup, string order returns boolean
2363
native GroupImmediateOrderById              takes group whichGroup, integer order returns boolean
2364
native GroupPointOrder                      takes group whichGroup, string order, real x, real y returns boolean
2365
native GroupPointOrderLoc                   takes group whichGroup, string order, location whichLocation returns boolean
2366
native GroupPointOrderById                  takes group whichGroup, integer order, real x, real y returns boolean
2367
native GroupPointOrderByIdLoc               takes group whichGroup, integer order, location whichLocation returns boolean
2368
native GroupTargetOrder                     takes group whichGroup, string order, widget targetWidget returns boolean
2369
native GroupTargetOrderById                 takes group whichGroup, integer order, widget targetWidget returns boolean
2370
2371
// This will be difficult to support with potentially disjoint, cell-based regions
2372
// as it would involve enumerating all the cells that are covered by a particularregion
2373
// a better implementation would be a trigger that adds relevant units as they enter
2374
// and removes them if they leave...
2375
native ForGroup                 takes group whichGroup, code callback returns nothing
2376
native FirstOfGroup             takes group whichGroup returns unit
2377
2378
//============================================================================
2379
// Force API
2380
//
2381
native CreateForce              takes nothing returns force
2382
native DestroyForce             takes force whichForce returns nothing
2383
native ForceAddPlayer           takes force whichForce, player whichPlayer returns nothing
2384
native ForceRemovePlayer        takes force whichForce, player whichPlayer returns nothing
2385
native BlzForceHasPlayer        takes force whichForce, player whichPlayer returns boolean
2386
native ForceClear               takes force whichForce returns nothing
2387
native ForceEnumPlayers         takes force whichForce, boolexpr filter returns nothing
2388
native ForceEnumPlayersCounted  takes force whichForce, boolexpr filter, integer countLimit returns nothing
2389
native ForceEnumAllies          takes force whichForce, player whichPlayer, boolexpr filter returns nothing
2390
native ForceEnumEnemies         takes force whichForce, player whichPlayer, boolexpr filter returns nothing
2391
native ForForce                 takes force whichForce, code callback returns nothing
2392
2393
//============================================================================
2394
// Region and Location API
2395
//
2396
native Rect                     takes real minx, real miny, real maxx, real maxy returns rect
2397
native RectFromLoc              takes location min, location max returns rect
2398
native RemoveRect               takes rect whichRect returns nothing
2399
native SetRect                  takes rect whichRect, real minx, real miny, real maxx, real maxy returns nothing
2400
native SetRectFromLoc           takes rect whichRect, location min, location max returns nothing
2401
native MoveRectTo               takes rect whichRect, real newCenterX, real newCenterY returns nothing
2402
native MoveRectToLoc            takes rect whichRect, location newCenterLoc returns nothing
2403
2404
native GetRectCenterX           takes rect whichRect returns real
2405
native GetRectCenterY           takes rect whichRect returns real
2406
native GetRectMinX              takes rect whichRect returns real
2407
native GetRectMinY              takes rect whichRect returns real
2408
native GetRectMaxX              takes rect whichRect returns real
2409
native GetRectMaxY              takes rect whichRect returns real
2410
2411
native CreateRegion             takes nothing returns region
2412
native RemoveRegion             takes region whichRegion returns nothing
2413
2414
native RegionAddRect            takes region whichRegion, rect r returns nothing
2415
native RegionClearRect          takes region whichRegion, rect r returns nothing
2416
2417
native RegionAddCell           takes region whichRegion, real x, real y returns nothing
2418
native RegionAddCellAtLoc      takes region whichRegion, location whichLocation returns nothing
2419
native RegionClearCell         takes region whichRegion, real x, real y returns nothing
2420
native RegionClearCellAtLoc    takes region whichRegion, location whichLocation returns nothing
2421
2422
native Location                 takes real x, real y returns location
2423
native RemoveLocation           takes location whichLocation returns nothing
2424
native MoveLocation             takes location whichLocation, real newX, real newY returns nothing
2425
native GetLocationX             takes location whichLocation returns real
2426
native GetLocationY             takes location whichLocation returns real
2427
2428
// This function is asynchronous. The values it returns are not guaranteed synchronous between each player.
2429
//  If you attempt to use it in a synchronous manner, it may cause a desync.
2430
native GetLocationZ             takes location whichLocation returns real
2431
2432
native IsUnitInRegion               takes region whichRegion, unit whichUnit returns boolean
2433
native IsPointInRegion              takes region whichRegion, real x, real y returns boolean
2434
native IsLocationInRegion           takes region whichRegion, location whichLocation returns boolean
2435
2436
// Returns full map bounds, including unplayable borders, in world coordinates
2437
native GetWorldBounds           takes nothing returns rect
2438
2439
//============================================================================
2440
// Native trigger interface
2441
//
2442
native CreateTrigger    takes nothing returns trigger
2443
native DestroyTrigger   takes trigger whichTrigger returns nothing
2444
native ResetTrigger     takes trigger whichTrigger returns nothing
2445
native EnableTrigger    takes trigger whichTrigger returns nothing
2446
native DisableTrigger   takes trigger whichTrigger returns nothing
2447
native IsTriggerEnabled takes trigger whichTrigger returns boolean
2448
2449
native TriggerWaitOnSleeps   takes trigger whichTrigger, boolean flag returns nothing
2450
native IsTriggerWaitOnSleeps takes trigger whichTrigger returns boolean
2451
2452
constant native GetFilterUnit       takes nothing returns unit
2453
constant native GetEnumUnit         takes nothing returns unit
2454
2455
constant native GetFilterDestructable   takes nothing returns destructable
2456
constant native GetEnumDestructable     takes nothing returns destructable
2457
2458
constant native GetFilterItem           takes nothing returns item
2459
constant native GetEnumItem             takes nothing returns item
2460
2461
constant native ParseTags               takes string taggedString returns string
2462
2463
constant native GetFilterPlayer     takes nothing returns player
2464
constant native GetEnumPlayer       takes nothing returns player
2465
2466
constant native GetTriggeringTrigger    takes nothing returns trigger
2467
constant native GetTriggerEventId       takes nothing returns eventid
2468
constant native GetTriggerEvalCount     takes trigger whichTrigger returns integer
2469
constant native GetTriggerExecCount     takes trigger whichTrigger returns integer
2470
2471
native ExecuteFunc          takes string funcName returns nothing
2472
2473
//============================================================================
2474
// Boolean Expr API ( for compositing trigger conditions and unit filter funcs...)
2475
//============================================================================
2476
native And              takes boolexpr operandA, boolexpr operandB returns boolexpr
2477
native Or               takes boolexpr operandA, boolexpr operandB returns boolexpr
2478
native Not              takes boolexpr operand returns boolexpr
2479
native Condition        takes code func returns conditionfunc
2480
native DestroyCondition takes conditionfunc c returns nothing
2481
native Filter           takes code func returns filterfunc
2482
native DestroyFilter    takes filterfunc f returns nothing
2483
native DestroyBoolExpr  takes boolexpr e returns nothing
2484
2485
//============================================================================
2486
// Trigger Game Event API
2487
//============================================================================
2488
2489
native TriggerRegisterVariableEvent takes trigger whichTrigger, string varName, limitop opcode, real limitval returns event
2490
2491
    // EVENT_GAME_VARIABLE_LIMIT
2492
    //constant native string GetTriggeringVariableName takes nothing returns string
2493
2494
// Creates it's own timer and triggers when it expires
2495
native TriggerRegisterTimerEvent takes trigger whichTrigger, real timeout, boolean periodic returns event
2496
2497
// Triggers when the timer you tell it about expires
2498
native TriggerRegisterTimerExpireEvent takes trigger whichTrigger, timer t returns event
2499
2500
native TriggerRegisterGameStateEvent takes trigger whichTrigger, gamestate whichState, limitop opcode, real limitval returns event
2501
2502
native TriggerRegisterDialogEvent       takes trigger whichTrigger, dialog whichDialog returns event
2503
native TriggerRegisterDialogButtonEvent takes trigger whichTrigger, button whichButton returns event
2504
2505
//  EVENT_GAME_STATE_LIMIT
2506
constant native GetEventGameState takes nothing returns gamestate
2507
2508
native TriggerRegisterGameEvent takes trigger whichTrigger, gameevent whichGameEvent returns event
2509
2510
// EVENT_GAME_VICTORY
2511
constant native GetWinningPlayer takes nothing returns player
2512
2513
2514
native TriggerRegisterEnterRegion takes trigger whichTrigger, region whichRegion, boolexpr filter returns event
2515
2516
// EVENT_GAME_ENTER_REGION
2517
constant native GetTriggeringRegion takes nothing returns region
2518
constant native GetEnteringUnit takes nothing returns unit
2519
2520
// EVENT_GAME_LEAVE_REGION
2521
2522
native TriggerRegisterLeaveRegion takes trigger whichTrigger, region whichRegion, boolexpr filter returns event
2523
constant native GetLeavingUnit takes nothing returns unit
2524
2525
native TriggerRegisterTrackableHitEvent takes trigger whichTrigger, trackable t returns event
2526
native TriggerRegisterTrackableTrackEvent takes trigger whichTrigger, trackable t returns event
2527
2528
// EVENT_COMMAND_BUTTON_CLICK
2529
native TriggerRegisterCommandEvent takes trigger whichTrigger, integer whichAbility, string order returns event
2530
native TriggerRegisterUpgradeCommandEvent takes trigger whichTrigger, integer whichUpgrade returns event
2531
2532
// EVENT_GAME_TRACKABLE_HIT
2533
// EVENT_GAME_TRACKABLE_TRACK
2534
constant native GetTriggeringTrackable takes nothing returns trackable
2535
2536
// EVENT_DIALOG_BUTTON_CLICK
2537
constant native GetClickedButton takes nothing returns button
2538
constant native GetClickedDialog    takes nothing returns dialog
2539
2540
// EVENT_GAME_TOURNAMENT_FINISH_SOON
2541
constant native GetTournamentFinishSoonTimeRemaining takes nothing returns real
2542
constant native GetTournamentFinishNowRule takes nothing returns integer
2543
constant native GetTournamentFinishNowPlayer takes nothing returns player
2544
constant native GetTournamentScore takes player whichPlayer returns integer
2545
2546
// EVENT_GAME_SAVE
2547
constant native GetSaveBasicFilename takes nothing returns string
2548
2549
//============================================================================
2550
// Trigger Player Based Event API
2551
//============================================================================
2552
2553
native TriggerRegisterPlayerEvent takes trigger whichTrigger, player  whichPlayer, playerevent whichPlayerEvent returns event
2554
2555
// EVENT_PLAYER_DEFEAT
2556
// EVENT_PLAYER_VICTORY
2557
constant native GetTriggerPlayer takes nothing returns player
2558
2559
native TriggerRegisterPlayerUnitEvent takes trigger whichTrigger, player whichPlayer, playerunitevent whichPlayerUnitEvent, boolexpr filter returns event
2560
2561
// EVENT_PLAYER_HERO_LEVEL
2562
// EVENT_UNIT_HERO_LEVEL
2563
constant native GetLevelingUnit takes nothing returns unit
2564
2565
// EVENT_PLAYER_HERO_SKILL
2566
// EVENT_UNIT_HERO_SKILL
2567
constant native GetLearningUnit      takes nothing returns unit
2568
constant native GetLearnedSkill      takes nothing returns integer
2569
constant native GetLearnedSkillLevel takes nothing returns integer
2570
2571
// EVENT_PLAYER_HERO_REVIVABLE
2572
constant native GetRevivableUnit takes nothing returns unit
2573
2574
// EVENT_PLAYER_HERO_REVIVE_START
2575
// EVENT_PLAYER_HERO_REVIVE_CANCEL
2576
// EVENT_PLAYER_HERO_REVIVE_FINISH
2577
// EVENT_UNIT_HERO_REVIVE_START
2578
// EVENT_UNIT_HERO_REVIVE_CANCEL
2579
// EVENT_UNIT_HERO_REVIVE_FINISH
2580
constant native GetRevivingUnit takes nothing returns unit
2581
2582
// EVENT_PLAYER_UNIT_ATTACKED
2583
constant native GetAttacker takes nothing returns unit
2584
2585
// EVENT_PLAYER_UNIT_RESCUED
2586
constant native GetRescuer  takes nothing returns unit
2587
2588
// EVENT_PLAYER_UNIT_DEATH
2589
constant native GetDyingUnit takes nothing returns unit
2590
constant native GetKillingUnit takes nothing returns unit
2591
2592
// EVENT_PLAYER_UNIT_DECAY
2593
constant native GetDecayingUnit takes nothing returns unit
2594
2595
// EVENT_PLAYER_UNIT_SELECTED
2596
//constant native GetSelectedUnit takes nothing returns unit
2597
2598
// EVENT_PLAYER_UNIT_CONSTRUCT_START
2599
constant native GetConstructingStructure takes nothing returns unit
2600
2601
// EVENT_PLAYER_UNIT_CONSTRUCT_FINISH
2602
// EVENT_PLAYER_UNIT_CONSTRUCT_CANCEL
2603
constant native GetCancelledStructure takes nothing returns unit
2604
constant native GetConstructedStructure takes nothing returns unit
2605
2606
// EVENT_PLAYER_UNIT_RESEARCH_START
2607
// EVENT_PLAYER_UNIT_RESEARCH_CANCEL
2608
// EVENT_PLAYER_UNIT_RESEARCH_FINISH
2609
constant native GetResearchingUnit takes nothing returns unit
2610
constant native GetResearched takes nothing returns integer
2611
2612
// EVENT_PLAYER_UNIT_TRAIN_START
2613
// EVENT_PLAYER_UNIT_TRAIN_CANCEL
2614
constant native GetTrainedUnitType takes nothing returns integer
2615
2616
// EVENT_PLAYER_UNIT_TRAIN_FINISH
2617
constant native GetTrainedUnit takes nothing returns unit
2618
2619
// EVENT_PLAYER_UNIT_DETECTED
2620
constant native GetDetectedUnit takes nothing returns unit
2621
2622
// EVENT_PLAYER_UNIT_SUMMONED
2623
constant native GetSummoningUnit    takes nothing returns unit
2624
constant native GetSummonedUnit     takes nothing returns unit
2625
2626
// EVENT_PLAYER_UNIT_LOADED
2627
constant native GetTransportUnit    takes nothing returns unit
2628
constant native GetLoadedUnit       takes nothing returns unit
2629
2630
// EVENT_PLAYER_UNIT_SELL
2631
constant native GetSellingUnit      takes nothing returns unit
2632
constant native GetSoldUnit         takes nothing returns unit
2633
constant native GetBuyingUnit       takes nothing returns unit
2634
2635
// EVENT_PLAYER_UNIT_SELL_ITEM
2636
constant native GetSoldItem         takes nothing returns item
2637
2638
// EVENT_PLAYER_UNIT_CHANGE_OWNER
2639
constant native GetChangingUnit             takes nothing returns unit
2640
constant native GetChangingUnitPrevOwner    takes nothing returns player
2641
2642
// EVENT_PLAYER_UNIT_DROP_ITEM
2643
// EVENT_PLAYER_UNIT_PICKUP_ITEM
2644
// EVENT_PLAYER_UNIT_USE_ITEM
2645
constant native GetManipulatingUnit takes nothing returns unit
2646
constant native GetManipulatedItem  takes nothing returns item
2647
2648
// For EVENT_PLAYER_UNIT_PICKUP_ITEM, returns the item absorbing the picked up item in case it is stacking.
2649
// Returns null if the item was a powerup and not a stacking item.
2650
constant native BlzGetAbsorbingItem takes nothing returns item
2651
constant native BlzGetManipulatedItemWasAbsorbed takes nothing returns boolean
2652
2653
// EVENT_PLAYER_UNIT_STACK_ITEM
2654
// Source is the item that is losing charges, Target is the item getting charges.
2655
constant native BlzGetStackingItemSource takes nothing returns item
2656
constant native BlzGetStackingItemTarget takes nothing returns item
2657
constant native BlzGetStackingItemTargetPreviousCharges takes nothing returns integer
2658
2659
// EVENT_PLAYER_UNIT_ISSUED_ORDER
2660
constant native GetOrderedUnit takes nothing returns unit
2661
constant native GetIssuedOrderId takes nothing returns integer
2662
2663
// EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER
2664
constant native GetOrderPointX takes nothing returns real
2665
constant native GetOrderPointY takes nothing returns real
2666
constant native GetOrderPointLoc takes nothing returns location
2667
2668
// EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER
2669
constant native GetOrderTarget              takes nothing returns widget
2670
constant native GetOrderTargetDestructable  takes nothing returns destructable
2671
constant native GetOrderTargetItem          takes nothing returns item
2672
constant native GetOrderTargetUnit          takes nothing returns unit
2673
2674
// EVENT_UNIT_SPELL_CHANNEL
2675
// EVENT_UNIT_SPELL_CAST
2676
// EVENT_UNIT_SPELL_EFFECT
2677
// EVENT_UNIT_SPELL_FINISH
2678
// EVENT_UNIT_SPELL_ENDCAST
2679
// EVENT_PLAYER_UNIT_SPELL_CHANNEL
2680
// EVENT_PLAYER_UNIT_SPELL_CAST
2681
// EVENT_PLAYER_UNIT_SPELL_EFFECT
2682
// EVENT_PLAYER_UNIT_SPELL_FINISH
2683
// EVENT_PLAYER_UNIT_SPELL_ENDCAST
2684
constant native GetSpellAbilityUnit         takes nothing returns unit
2685
constant native GetSpellAbilityId           takes nothing returns integer
2686
constant native GetSpellAbility             takes nothing returns ability
2687
constant native GetSpellTargetLoc           takes nothing returns location
2688
constant native GetSpellTargetX                takes nothing returns real
2689
constant native GetSpellTargetY                takes nothing returns real
2690
constant native GetSpellTargetDestructable  takes nothing returns destructable
2691
constant native GetSpellTargetItem          takes nothing returns item
2692
constant native GetSpellTargetUnit          takes nothing returns unit
2693
2694
native TriggerRegisterPlayerAllianceChange takes trigger whichTrigger, player whichPlayer, alliancetype whichAlliance returns event
2695
native TriggerRegisterPlayerStateEvent takes trigger whichTrigger, player whichPlayer, playerstate whichState, limitop opcode, real limitval returns event
2696
2697
// EVENT_PLAYER_STATE_LIMIT
2698
constant native GetEventPlayerState takes nothing returns playerstate
2699
2700
native TriggerRegisterPlayerChatEvent takes trigger whichTrigger, player whichPlayer, string chatMessageToDetect, boolean exactMatchOnly returns event
2701
2702
// EVENT_PLAYER_CHAT
2703
2704
// returns the actual string they typed in ( same as what you registered for
2705
// if you required exact match )
2706
constant native GetEventPlayerChatString takes nothing returns string
2707
2708
// returns the string that you registered for
2709
constant native GetEventPlayerChatStringMatched takes nothing returns string
2710
2711
native TriggerRegisterDeathEvent takes trigger whichTrigger, widget whichWidget returns event
2712
2713
//============================================================================
2714
// Trigger Unit Based Event API
2715
//============================================================================
2716
2717
// returns handle to unit which triggered the most recent event when called from
2718
// within a trigger action function...returns null handle when used incorrectly
2719
2720
constant native GetTriggerUnit takes nothing returns unit
2721
2722
native TriggerRegisterUnitStateEvent takes trigger whichTrigger, unit whichUnit, unitstate whichState, limitop opcode, real limitval returns event
2723
2724
// EVENT_UNIT_STATE_LIMIT
2725
constant native GetEventUnitState takes nothing returns unitstate
2726
2727
native TriggerRegisterUnitEvent takes trigger whichTrigger, unit whichUnit, unitevent whichEvent returns event
2728
2729
// EVENT_UNIT_DAMAGED
2730
constant native GetEventDamage takes nothing returns real
2731
constant native GetEventDamageSource takes nothing returns unit
2732
2733
// EVENT_UNIT_DEATH
2734
// EVENT_UNIT_DECAY
2735
// Use the GetDyingUnit and GetDecayingUnit funcs above
2736
2737
// EVENT_UNIT_DETECTED
2738
constant native GetEventDetectingPlayer takes nothing returns player
2739
2740
native TriggerRegisterFilterUnitEvent takes trigger whichTrigger, unit whichUnit, unitevent whichEvent, boolexpr filter returns event
2741
2742
// EVENT_UNIT_ACQUIRED_TARGET
2743
// EVENT_UNIT_TARGET_IN_RANGE
2744
constant native GetEventTargetUnit takes nothing returns unit
2745
2746
// EVENT_UNIT_ATTACKED
2747
// Use GetAttacker from the Player Unit Event API Below...
2748
2749
// EVENT_UNIT_RESCUEDED
2750
// Use GetRescuer from the Player Unit Event API Below...
2751
2752
// EVENT_UNIT_CONSTRUCT_CANCEL
2753
// EVENT_UNIT_CONSTRUCT_FINISH
2754
2755
// See the Player Unit Construction Event API above for event info funcs
2756
2757
// EVENT_UNIT_TRAIN_START
2758
// EVENT_UNIT_TRAIN_CANCELLED
2759
// EVENT_UNIT_TRAIN_FINISH
2760
2761
// See the Player Unit Training Event API above for event info funcs
2762
2763
// EVENT_UNIT_SELL
2764
2765
// See the Player Unit Sell Event API above for event info funcs
2766
2767
// EVENT_UNIT_DROP_ITEM
2768
// EVENT_UNIT_PICKUP_ITEM
2769
// EVENT_UNIT_USE_ITEM
2770
// See the Player Unit/Item manipulation Event API above for event info funcs
2771
2772
// EVENT_UNIT_STACK_ITEM
2773
// See the Player Unit/Item stack Event API above for event info funcs
2774
2775
// EVENT_UNIT_ISSUED_ORDER
2776
// EVENT_UNIT_ISSUED_POINT_ORDER
2777
// EVENT_UNIT_ISSUED_TARGET_ORDER
2778
2779
// See the Player Unit Order Event API above for event info funcs
2780
2781
native TriggerRegisterUnitInRange takes trigger whichTrigger, unit whichUnit, real range, boolexpr filter returns event
2782
2783
native TriggerAddCondition    takes trigger whichTrigger, boolexpr condition returns triggercondition
2784
native TriggerRemoveCondition takes trigger whichTrigger, triggercondition whichCondition returns nothing
2785
native TriggerClearConditions takes trigger whichTrigger returns nothing
2786
2787
native TriggerAddAction     takes trigger whichTrigger, code actionFunc returns triggeraction
2788
native TriggerRemoveAction  takes trigger whichTrigger, triggeraction whichAction returns nothing
2789
native TriggerClearActions  takes trigger whichTrigger returns nothing
2790
native TriggerSleepAction   takes real timeout returns nothing
2791
native TriggerWaitForSound  takes sound s, real offset returns nothing
2792
native TriggerEvaluate      takes trigger whichTrigger returns boolean
2793
native TriggerExecute       takes trigger whichTrigger returns nothing
2794
native TriggerExecuteWait   takes trigger whichTrigger returns nothing
2795
native TriggerSyncStart     takes nothing returns nothing
2796
native TriggerSyncReady     takes nothing returns nothing
2797
2798
//============================================================================
2799
// Widget API
2800
native  GetWidgetLife   takes widget whichWidget returns real
2801
native  SetWidgetLife   takes widget whichWidget, real newLife returns nothing
2802
native  GetWidgetX      takes widget whichWidget returns real
2803
native  GetWidgetY      takes widget whichWidget returns real
2804
constant native GetTriggerWidget takes nothing returns widget
2805
2806
//============================================================================
2807
// Destructable Object API
2808
// Facing arguments are specified in degrees
2809
native          CreateDestructable          takes integer objectid, real x, real y, real face, real scale, integer variation returns destructable
2810
native          CreateDestructableZ         takes integer objectid, real x, real y, real z, real face, real scale, integer variation returns destructable
2811
native          CreateDeadDestructable      takes integer objectid, real x, real y, real face, real scale, integer variation returns destructable
2812
native          CreateDeadDestructableZ     takes integer objectid, real x, real y, real z, real face, real scale, integer variation returns destructable
2813
native          RemoveDestructable          takes destructable d returns nothing
2814
native          KillDestructable            takes destructable d returns nothing
2815
native          SetDestructableInvulnerable takes destructable d, boolean flag returns nothing
2816
native          IsDestructableInvulnerable  takes destructable d returns boolean
2817
native          EnumDestructablesInRect     takes rect r, boolexpr filter, code actionFunc returns nothing
2818
native          GetDestructableTypeId       takes destructable d returns integer
2819
native          GetDestructableX            takes destructable d returns real
2820
native          GetDestructableY            takes destructable d returns real
2821
native          SetDestructableLife         takes destructable d, real life returns nothing
2822
native          GetDestructableLife         takes destructable d returns real
2823
native          SetDestructableMaxLife      takes destructable d, real max returns nothing
2824
native          GetDestructableMaxLife      takes destructable d returns real
2825
native          DestructableRestoreLife     takes destructable d, real life, boolean birth returns nothing
2826
native          QueueDestructableAnimation  takes destructable d, string whichAnimation returns nothing
2827
native          SetDestructableAnimation    takes destructable d, string whichAnimation returns nothing
2828
native          SetDestructableAnimationSpeed takes destructable d, real speedFactor returns nothing
2829
native          ShowDestructable            takes destructable d, boolean flag returns nothing
2830
native          GetDestructableOccluderHeight takes destructable d returns real
2831
native          SetDestructableOccluderHeight takes destructable d, real height returns nothing
2832
native          GetDestructableName         takes destructable d returns string
2833
constant native GetTriggerDestructable takes nothing returns destructable
2834
2835
//============================================================================
2836
// Item API
2837
native          CreateItem      takes integer itemid, real x, real y returns item
2838
native          RemoveItem      takes item whichItem returns nothing
2839
native          GetItemPlayer   takes item whichItem returns player
2840
native          GetItemTypeId   takes item i returns integer
2841
native          GetItemX        takes item i returns real
2842
native          GetItemY        takes item i returns real
2843
native          SetItemPosition takes item i, real x, real y returns nothing
2844
native          SetItemDropOnDeath  takes item whichItem, boolean flag returns nothing
2845
native          SetItemDroppable takes item i, boolean flag returns nothing
2846
native          SetItemPawnable takes item i, boolean flag returns nothing
2847
native          SetItemPlayer    takes item whichItem, player whichPlayer, boolean changeColor returns nothing
2848
native          SetItemInvulnerable takes item whichItem, boolean flag returns nothing
2849
native          IsItemInvulnerable  takes item whichItem returns boolean
2850
native          SetItemVisible  takes item whichItem, boolean show returns nothing
2851
native          IsItemVisible   takes item whichItem returns boolean
2852
native          IsItemOwned     takes item whichItem returns boolean
2853
native          IsItemPowerup   takes item whichItem returns boolean
2854
native          IsItemSellable  takes item whichItem returns boolean
2855
native          IsItemPawnable  takes item whichItem returns boolean
2856
native          IsItemIdPowerup takes integer itemId returns boolean
2857
native          IsItemIdSellable takes integer itemId returns boolean
2858
native          IsItemIdPawnable takes integer itemId returns boolean
2859
native          EnumItemsInRect     takes rect r, boolexpr filter, code actionFunc returns nothing
2860
native          GetItemLevel    takes item whichItem returns integer
2861
native          GetItemType     takes item whichItem returns itemtype
2862
native          SetItemDropID   takes item whichItem, integer unitId returns nothing
2863
constant native GetItemName     takes item whichItem returns string
2864
native          GetItemCharges  takes item whichItem returns integer
2865
native          SetItemCharges  takes item whichItem, integer charges returns nothing
2866
native          GetItemUserData takes item whichItem returns integer
2867
native          SetItemUserData takes item whichItem, integer data returns nothing
2868
2869
//============================================================================
2870
// Unit API
2871
// Facing arguments are specified in degrees
2872
native          CreateUnit              takes player id, integer unitid, real x, real y, real face returns unit
2873
native          CreateUnitByName        takes player whichPlayer, string unitname, real x, real y, real face returns unit
2874
native          CreateUnitAtLoc         takes player id, integer unitid, location whichLocation, real face returns unit
2875
native          CreateUnitAtLocByName   takes player id, string unitname, location whichLocation, real face returns unit
2876
native          CreateCorpse            takes player whichPlayer, integer unitid, real x, real y, real face returns unit
2877
2878
native          KillUnit            takes unit whichUnit returns nothing
2879
native          RemoveUnit          takes unit whichUnit returns nothing
2880
native          ShowUnit            takes unit whichUnit, boolean show returns nothing
2881
2882
native          SetUnitState        takes unit whichUnit, unitstate whichUnitState, real newVal returns nothing
2883
native          SetUnitX            takes unit whichUnit, real newX returns nothing
2884
native          SetUnitY            takes unit whichUnit, real newY returns nothing
2885
native          SetUnitPosition     takes unit whichUnit, real newX, real newY returns nothing
2886
native          SetUnitPositionLoc  takes unit whichUnit, location whichLocation returns nothing
2887
native          SetUnitFacing       takes unit whichUnit, real facingAngle returns nothing
2888
native          SetUnitFacingTimed  takes unit whichUnit, real facingAngle, real duration returns nothing
2889
native          SetUnitMoveSpeed    takes unit whichUnit, real newSpeed returns nothing
2890
native          SetUnitFlyHeight    takes unit whichUnit, real newHeight, real rate returns nothing
2891
native          SetUnitTurnSpeed    takes unit whichUnit, real newTurnSpeed returns nothing
2892
native          SetUnitPropWindow   takes unit whichUnit, real newPropWindowAngle returns nothing
2893
native          SetUnitAcquireRange takes unit whichUnit, real newAcquireRange returns nothing
2894
native          SetUnitCreepGuard   takes unit whichUnit, boolean creepGuard returns nothing
2895
2896
native          GetUnitAcquireRange     takes unit whichUnit returns real
2897
native          GetUnitTurnSpeed        takes unit whichUnit returns real
2898
native          GetUnitPropWindow       takes unit whichUnit returns real
2899
native          GetUnitFlyHeight        takes unit whichUnit returns real
2900
2901
native          GetUnitDefaultAcquireRange      takes unit whichUnit returns real
2902
native          GetUnitDefaultTurnSpeed         takes unit whichUnit returns real
2903
native          GetUnitDefaultPropWindow        takes unit whichUnit returns real
2904
native          GetUnitDefaultFlyHeight         takes unit whichUnit returns real
2905
2906
native          SetUnitOwner        takes unit whichUnit, player whichPlayer, boolean changeColor returns nothing
2907
native          SetUnitColor        takes unit whichUnit, playercolor whichColor returns nothing
2908
2909
native          SetUnitScale        takes unit whichUnit, real scaleX, real scaleY, real scaleZ returns nothing
2910
native          SetUnitTimeScale    takes unit whichUnit, real timeScale returns nothing
2911
native          SetUnitBlendTime    takes unit whichUnit, real blendTime returns nothing
2912
native          SetUnitVertexColor  takes unit whichUnit, integer red, integer green, integer blue, integer alpha returns nothing
2913
2914
native          QueueUnitAnimation          takes unit whichUnit, string whichAnimation returns nothing
2915
native          SetUnitAnimation            takes unit whichUnit, string whichAnimation returns nothing
2916
native          SetUnitAnimationByIndex     takes unit whichUnit, integer whichAnimation returns nothing
2917
native          SetUnitAnimationWithRarity  takes unit whichUnit, string whichAnimation, raritycontrol rarity returns nothing
2918
native          AddUnitAnimationProperties  takes unit whichUnit, string animProperties, boolean add returns nothing
2919
2920
native          SetUnitLookAt       takes unit whichUnit, string whichBone, unit lookAtTarget, real offsetX, real offsetY, real offsetZ returns nothing
2921
native          ResetUnitLookAt     takes unit whichUnit returns nothing
2922
2923
native          SetUnitRescuable    takes unit whichUnit, player byWhichPlayer, boolean flag returns nothing
2924
native          SetUnitRescueRange  takes unit whichUnit, real range returns nothing
2925
2926
native          SetHeroStr          takes unit whichHero, integer newStr, boolean permanent returns nothing
2927
native          SetHeroAgi          takes unit whichHero, integer newAgi, boolean permanent returns nothing
2928
native          SetHeroInt          takes unit whichHero, integer newInt, boolean permanent returns nothing
2929
2930
native          GetHeroStr          takes unit whichHero, boolean includeBonuses returns integer
2931
native          GetHeroAgi          takes unit whichHero, boolean includeBonuses returns integer
2932
native          GetHeroInt          takes unit whichHero, boolean includeBonuses returns integer
2933
2934
native          UnitStripHeroLevel  takes unit whichHero, integer howManyLevels returns boolean
2935
2936
native          GetHeroXP           takes unit whichHero returns integer
2937
native          SetHeroXP           takes unit whichHero, integer newXpVal,  boolean showEyeCandy returns nothing
2938
2939
native          GetHeroSkillPoints      takes unit whichHero returns integer
2940
native          UnitModifySkillPoints   takes unit whichHero, integer skillPointDelta returns boolean
2941
2942
native          AddHeroXP           takes unit whichHero, integer xpToAdd,   boolean showEyeCandy returns nothing
2943
native          SetHeroLevel        takes unit whichHero, integer level,  boolean showEyeCandy returns nothing
2944
constant native GetHeroLevel        takes unit whichHero returns integer
2945
constant native GetUnitLevel        takes unit whichUnit returns integer
2946
native          GetHeroProperName   takes unit whichHero returns string
2947
native          SuspendHeroXP       takes unit whichHero, boolean flag returns nothing
2948
native          IsSuspendedXP       takes unit whichHero returns boolean
2949
native          SelectHeroSkill     takes unit whichHero, integer abilcode returns nothing
2950
native          GetUnitAbilityLevel takes unit whichUnit, integer abilcode returns integer
2951
native          DecUnitAbilityLevel takes unit whichUnit, integer abilcode returns integer
2952
native          IncUnitAbilityLevel takes unit whichUnit, integer abilcode returns integer
2953
native          SetUnitAbilityLevel takes unit whichUnit, integer abilcode, integer level returns integer
2954
native          ReviveHero          takes unit whichHero, real x, real y, boolean doEyecandy returns boolean
2955
native          ReviveHeroLoc       takes unit whichHero, location loc, boolean doEyecandy returns boolean
2956
native          SetUnitExploded     takes unit whichUnit, boolean exploded returns nothing
2957
native          SetUnitInvulnerable takes unit whichUnit, boolean flag returns nothing
2958
native          PauseUnit           takes unit whichUnit, boolean flag returns nothing
2959
native          IsUnitPaused        takes unit whichHero returns boolean
2960
native          SetUnitPathing      takes unit whichUnit, boolean flag returns nothing
2961
2962
native          ClearSelection      takes nothing returns nothing
2963
native          SelectUnit          takes unit whichUnit, boolean flag returns nothing
2964
2965
native          GetUnitPointValue       takes unit whichUnit returns integer
2966
native          GetUnitPointValueByType takes integer unitType returns integer
2967
//native        SetUnitPointValueByType takes integer unitType, integer newPointValue returns nothing
2968
2969
native          UnitAddItem             takes unit whichUnit, item whichItem returns boolean
2970
native          UnitAddItemById         takes unit whichUnit, integer itemId returns item
2971
native          UnitAddItemToSlotById   takes unit whichUnit, integer itemId, integer itemSlot returns boolean
2972
native          UnitRemoveItem          takes unit whichUnit, item whichItem returns nothing
2973
native          UnitRemoveItemFromSlot  takes unit whichUnit, integer itemSlot returns item
2974
native          UnitHasItem             takes unit whichUnit, item whichItem returns boolean
2975
native          UnitItemInSlot          takes unit whichUnit, integer itemSlot returns item
2976
native          UnitInventorySize       takes unit whichUnit returns integer
2977
2978
native          UnitDropItemPoint       takes unit whichUnit, item whichItem, real x, real y returns boolean
2979
native          UnitDropItemSlot        takes unit whichUnit, item whichItem, integer slot returns boolean
2980
native          UnitDropItemTarget      takes unit whichUnit, item whichItem, widget target returns boolean
2981
2982
native          UnitUseItem             takes unit whichUnit, item whichItem returns boolean
2983
native          UnitUseItemPoint        takes unit whichUnit, item whichItem, real x, real y returns boolean
2984
native          UnitUseItemTarget       takes unit whichUnit, item whichItem, widget target returns boolean
2985
2986
constant native GetUnitX            takes unit whichUnit returns real
2987
constant native GetUnitY            takes unit whichUnit returns real
2988
constant native GetUnitLoc          takes unit whichUnit returns location
2989
constant native GetUnitFacing       takes unit whichUnit returns real
2990
constant native GetUnitMoveSpeed    takes unit whichUnit returns real
2991
constant native GetUnitDefaultMoveSpeed takes unit whichUnit returns real
2992
constant native GetUnitState        takes unit whichUnit, unitstate whichUnitState returns real
2993
constant native GetOwningPlayer     takes unit whichUnit returns player
2994
constant native GetUnitTypeId       takes unit whichUnit returns integer
2995
constant native GetUnitRace         takes unit whichUnit returns race
2996
constant native GetUnitName         takes unit whichUnit returns string
2997
constant native GetUnitFoodUsed     takes unit whichUnit returns integer
2998
constant native GetUnitFoodMade     takes unit whichUnit returns integer
2999
constant native GetFoodMade         takes integer unitId returns integer
3000
constant native GetFoodUsed         takes integer unitId returns integer
3001
native          SetUnitUseFood      takes unit whichUnit, boolean useFood returns nothing
3002
3003
constant native GetUnitRallyPoint           takes unit whichUnit returns location
3004
constant native GetUnitRallyUnit            takes unit whichUnit returns unit
3005
constant native GetUnitRallyDestructable    takes unit whichUnit returns destructable
3006
3007
constant native IsUnitInGroup       takes unit whichUnit, group whichGroup returns boolean
3008
constant native IsUnitInForce       takes unit whichUnit, force whichForce returns boolean
3009
constant native IsUnitOwnedByPlayer takes unit whichUnit, player whichPlayer returns boolean
3010
constant native IsUnitAlly          takes unit whichUnit, player whichPlayer returns boolean
3011
constant native IsUnitEnemy         takes unit whichUnit, player whichPlayer returns boolean
3012
constant native IsUnitVisible       takes unit whichUnit, player whichPlayer returns boolean
3013
constant native IsUnitDetected      takes unit whichUnit, player whichPlayer returns boolean
3014
constant native IsUnitInvisible     takes unit whichUnit, player whichPlayer returns boolean
3015
constant native IsUnitFogged        takes unit whichUnit, player whichPlayer returns boolean
3016
constant native IsUnitMasked        takes unit whichUnit, player whichPlayer returns boolean
3017
constant native IsUnitSelected      takes unit whichUnit, player whichPlayer returns boolean
3018
constant native IsUnitRace          takes unit whichUnit, race whichRace returns boolean
3019
constant native IsUnitType          takes unit whichUnit, unittype whichUnitType returns boolean
3020
constant native IsUnit              takes unit whichUnit, unit whichSpecifiedUnit returns boolean
3021
constant native IsUnitInRange       takes unit whichUnit, unit otherUnit, real distance returns boolean
3022
constant native IsUnitInRangeXY     takes unit whichUnit, real x, real y, real distance returns boolean
3023
constant native IsUnitInRangeLoc    takes unit whichUnit, location whichLocation, real distance returns boolean
3024
constant native IsUnitHidden        takes unit whichUnit returns boolean
3025
constant native IsUnitIllusion      takes unit whichUnit returns boolean
3026
3027
constant native IsUnitInTransport   takes unit whichUnit, unit whichTransport returns boolean
3028
constant native IsUnitLoaded        takes unit whichUnit returns boolean
3029
3030
constant native IsHeroUnitId        takes integer unitId returns boolean
3031
constant native IsUnitIdType        takes integer unitId, unittype whichUnitType returns boolean
3032
3033
native UnitShareVision              takes unit whichUnit, player whichPlayer, boolean share returns nothing
3034
native UnitSuspendDecay             takes unit whichUnit, boolean suspend returns nothing
3035
native UnitAddType                  takes unit whichUnit, unittype whichUnitType returns boolean
3036
native UnitRemoveType               takes unit whichUnit, unittype whichUnitType returns boolean
3037
3038
native UnitAddAbility               takes unit whichUnit, integer abilityId returns boolean
3039
native UnitRemoveAbility            takes unit whichUnit, integer abilityId returns boolean
3040
native UnitMakeAbilityPermanent     takes unit whichUnit, boolean permanent, integer abilityId returns boolean
3041
native UnitRemoveBuffs              takes unit whichUnit, boolean removePositive, boolean removeNegative returns nothing
3042
native UnitRemoveBuffsEx            takes unit whichUnit, boolean removePositive, boolean removeNegative, boolean magic, boolean physical, boolean timedLife, boolean aura, boolean autoDispel returns nothing
3043
native UnitHasBuffsEx               takes unit whichUnit, boolean removePositive, boolean removeNegative, boolean magic, boolean physical, boolean timedLife, boolean aura, boolean autoDispel returns boolean
3044
native UnitCountBuffsEx             takes unit whichUnit, boolean removePositive, boolean removeNegative, boolean magic, boolean physical, boolean timedLife, boolean aura, boolean autoDispel returns integer
3045
native UnitAddSleep                 takes unit whichUnit, boolean add returns nothing
3046
native UnitCanSleep                 takes unit whichUnit returns boolean
3047
native UnitAddSleepPerm             takes unit whichUnit, boolean add returns nothing
3048
native UnitCanSleepPerm             takes unit whichUnit returns boolean
3049
native UnitIsSleeping               takes unit whichUnit returns boolean
3050
native UnitWakeUp                   takes unit whichUnit returns nothing
3051
native UnitApplyTimedLife           takes unit whichUnit, integer buffId, real duration returns nothing
3052
native UnitIgnoreAlarm              takes unit whichUnit, boolean flag returns boolean
3053
native UnitIgnoreAlarmToggled       takes unit whichUnit returns boolean
3054
native UnitResetCooldown            takes unit whichUnit returns nothing
3055
native UnitSetConstructionProgress  takes unit whichUnit, integer constructionPercentage returns nothing
3056
native UnitSetUpgradeProgress       takes unit whichUnit, integer upgradePercentage returns nothing
3057
native UnitPauseTimedLife           takes unit whichUnit, boolean flag returns nothing
3058
native UnitSetUsesAltIcon           takes unit whichUnit, boolean flag returns nothing
3059
3060
native UnitDamagePoint              takes unit whichUnit, real delay, real radius, real x, real y, real amount, boolean attack, boolean ranged, attacktype attackType, damagetype damageType, weapontype weaponType returns boolean
3061
native UnitDamageTarget             takes unit whichUnit, widget target, real amount, boolean attack, boolean ranged, attacktype attackType, damagetype damageType, weapontype weaponType returns boolean
3062
3063
native IssueImmediateOrder          takes unit whichUnit, string order returns boolean
3064
native IssueImmediateOrderById      takes unit whichUnit, integer order returns boolean
3065
native IssuePointOrder              takes unit whichUnit, string order, real x, real y returns boolean
3066
native IssuePointOrderLoc           takes unit whichUnit, string order, location whichLocation returns boolean
3067
native IssuePointOrderById          takes unit whichUnit, integer order, real x, real y returns boolean
3068
native IssuePointOrderByIdLoc       takes unit whichUnit, integer order, location whichLocation returns boolean
3069
native IssueTargetOrder             takes unit whichUnit, string order, widget targetWidget returns boolean
3070
native IssueTargetOrderById         takes unit whichUnit, integer order, widget targetWidget returns boolean
3071
native IssueInstantPointOrder       takes unit whichUnit, string order, real x, real y, widget instantTargetWidget returns boolean
3072
native IssueInstantPointOrderById   takes unit whichUnit, integer order, real x, real y, widget instantTargetWidget returns boolean
3073
native IssueInstantTargetOrder      takes unit whichUnit, string order, widget targetWidget, widget instantTargetWidget returns boolean
3074
native IssueInstantTargetOrderById  takes unit whichUnit, integer order, widget targetWidget, widget instantTargetWidget returns boolean
3075
native IssueBuildOrder              takes unit whichPeon, string unitToBuild, real x, real y returns boolean
3076
native IssueBuildOrderById          takes unit whichPeon, integer unitId, real x, real y returns boolean
3077
3078
native IssueNeutralImmediateOrder       takes player forWhichPlayer, unit neutralStructure, string unitToBuild returns boolean
3079
native IssueNeutralImmediateOrderById   takes player forWhichPlayer,unit neutralStructure, integer unitId returns boolean
3080
native IssueNeutralPointOrder           takes player forWhichPlayer,unit neutralStructure, string unitToBuild, real x, real y returns boolean
3081
native IssueNeutralPointOrderById       takes player forWhichPlayer,unit neutralStructure, integer unitId, real x, real y returns boolean
3082
native IssueNeutralTargetOrder          takes player forWhichPlayer,unit neutralStructure, string unitToBuild, widget target returns boolean
3083
native IssueNeutralTargetOrderById      takes player forWhichPlayer,unit neutralStructure, integer unitId, widget target returns boolean
3084
3085
native GetUnitCurrentOrder          takes unit whichUnit returns integer
3086
3087
native SetResourceAmount            takes unit whichUnit, integer amount returns nothing
3088
native AddResourceAmount            takes unit whichUnit, integer amount returns nothing
3089
native GetResourceAmount            takes unit whichUnit returns integer
3090
3091
native WaygateGetDestinationX       takes unit waygate returns real
3092
native WaygateGetDestinationY       takes unit waygate returns real
3093
native WaygateSetDestination        takes unit waygate, real x, real y returns nothing
3094
native WaygateActivate              takes unit waygate, boolean activate returns nothing
3095
native WaygateIsActive              takes unit waygate returns boolean
3096
3097
native AddItemToAllStock            takes integer itemId, integer currentStock, integer stockMax returns nothing
3098
native AddItemToStock               takes unit whichUnit, integer itemId, integer currentStock, integer stockMax returns nothing
3099
native AddUnitToAllStock            takes integer unitId, integer currentStock, integer stockMax returns nothing
3100
native AddUnitToStock               takes unit whichUnit, integer unitId, integer currentStock, integer stockMax returns nothing
3101
3102
native RemoveItemFromAllStock       takes integer itemId returns nothing
3103
native RemoveItemFromStock          takes unit whichUnit, integer itemId returns nothing
3104
native RemoveUnitFromAllStock       takes integer unitId returns nothing
3105
native RemoveUnitFromStock          takes unit whichUnit, integer unitId returns nothing
3106
3107
native SetAllItemTypeSlots          takes integer slots returns nothing
3108
native SetAllUnitTypeSlots          takes integer slots returns nothing
3109
native SetItemTypeSlots             takes unit whichUnit, integer slots returns nothing
3110
native SetUnitTypeSlots             takes unit whichUnit, integer slots returns nothing
3111
3112
native GetUnitUserData              takes unit whichUnit returns integer
3113
native SetUnitUserData              takes unit whichUnit, integer data returns nothing
3114
3115
//============================================================================
3116
// Player API
3117
constant native Player              takes integer number returns player
3118
constant native GetLocalPlayer      takes nothing returns player
3119
constant native IsPlayerAlly        takes player whichPlayer, player otherPlayer returns boolean
3120
constant native IsPlayerEnemy       takes player whichPlayer, player otherPlayer returns boolean
3121
constant native IsPlayerInForce     takes player whichPlayer, force whichForce returns boolean
3122
constant native IsPlayerObserver    takes player whichPlayer returns boolean
3123
constant native IsVisibleToPlayer           takes real x, real y, player whichPlayer returns boolean
3124
constant native IsLocationVisibleToPlayer   takes location whichLocation, player whichPlayer returns boolean
3125
constant native IsFoggedToPlayer            takes real x, real y, player whichPlayer returns boolean
3126
constant native IsLocationFoggedToPlayer    takes location whichLocation, player whichPlayer returns boolean
3127
constant native IsMaskedToPlayer            takes real x, real y, player whichPlayer returns boolean
3128
constant native IsLocationMaskedToPlayer    takes location whichLocation, player whichPlayer returns boolean
3129
3130
constant native GetPlayerRace           takes player whichPlayer returns race
3131
constant native GetPlayerId             takes player whichPlayer returns integer
3132
constant native GetPlayerUnitCount      takes player whichPlayer, boolean includeIncomplete returns integer
3133
constant native GetPlayerTypedUnitCount takes player whichPlayer, string unitName, boolean includeIncomplete, boolean includeUpgrades returns integer
3134
constant native GetPlayerStructureCount takes player whichPlayer, boolean includeIncomplete returns integer
3135
constant native GetPlayerState          takes player whichPlayer, playerstate whichPlayerState returns integer
3136
constant native GetPlayerScore          takes player whichPlayer, playerscore whichPlayerScore returns integer
3137
constant native GetPlayerAlliance       takes player sourcePlayer, player otherPlayer, alliancetype whichAllianceSetting returns boolean
3138
3139
constant native GetPlayerHandicap       takes player whichPlayer returns real
3140
constant native GetPlayerHandicapXP     takes player whichPlayer returns real
3141
constant native GetPlayerHandicapReviveTime takes player whichPlayer returns real
3142
constant native GetPlayerHandicapDamage takes player whichPlayer returns real
3143
constant native SetPlayerHandicap       takes player whichPlayer, real handicap returns nothing
3144
constant native SetPlayerHandicapXP     takes player whichPlayer, real handicap returns nothing
3145
constant native SetPlayerHandicapReviveTime takes player whichPlayer, real handicap returns nothing
3146
constant native SetPlayerHandicapDamage takes player whichPlayer, real handicap returns nothing
3147
3148
constant native SetPlayerTechMaxAllowed takes player whichPlayer, integer techid, integer maximum returns nothing
3149
constant native GetPlayerTechMaxAllowed takes player whichPlayer, integer techid returns integer
3150
constant native AddPlayerTechResearched takes player whichPlayer, integer techid, integer levels returns nothing
3151
constant native SetPlayerTechResearched takes player whichPlayer, integer techid, integer setToLevel returns nothing
3152
constant native GetPlayerTechResearched takes player whichPlayer, integer techid, boolean specificonly returns boolean
3153
constant native GetPlayerTechCount      takes player whichPlayer, integer techid, boolean specificonly returns integer
3154
3155
native SetPlayerUnitsOwner takes player whichPlayer, integer newOwner returns nothing
3156
native CripplePlayer takes player whichPlayer, force toWhichPlayers, boolean flag returns nothing
3157
3158
native SetPlayerAbilityAvailable        takes player whichPlayer, integer abilid, boolean avail returns nothing
3159
3160
native SetPlayerState   takes player whichPlayer, playerstate whichPlayerState, integer value returns nothing
3161
native RemovePlayer     takes player whichPlayer, playergameresult gameResult returns nothing
3162
3163
// Used to store hero level data for the scorescreen
3164
// before units are moved to neutral passive in melee games
3165
//
3166
native CachePlayerHeroData takes player whichPlayer returns nothing
3167
3168
//============================================================================
3169
// Fog of War API
3170
native  SetFogStateRect      takes player forWhichPlayer, fogstate whichState, rect where, boolean useSharedVision returns nothing
3171
native  SetFogStateRadius    takes player forWhichPlayer, fogstate whichState, real centerx, real centerY, real radius, boolean useSharedVision returns nothing
3172
native  SetFogStateRadiusLoc takes player forWhichPlayer, fogstate whichState, location center, real radius, boolean useSharedVision returns nothing
3173
native  FogMaskEnable        takes boolean enable returns nothing
3174
native  IsFogMaskEnabled     takes nothing returns boolean
3175
native  FogEnable            takes boolean enable returns nothing
3176
native  IsFogEnabled         takes nothing returns boolean
3177
3178
native CreateFogModifierRect        takes player forWhichPlayer, fogstate whichState, rect where, boolean useSharedVision, boolean afterUnits returns fogmodifier
3179
native CreateFogModifierRadius      takes player forWhichPlayer, fogstate whichState, real centerx, real centerY, real radius, boolean useSharedVision, boolean afterUnits returns fogmodifier
3180
native CreateFogModifierRadiusLoc   takes player forWhichPlayer, fogstate whichState, location center, real radius, boolean useSharedVision, boolean afterUnits returns fogmodifier
3181
native DestroyFogModifier           takes fogmodifier whichFogModifier returns nothing
3182
native FogModifierStart             takes fogmodifier whichFogModifier returns nothing
3183
native FogModifierStop              takes fogmodifier whichFogModifier returns nothing
3184
3185
//============================================================================
3186
// Game API
3187
native VersionGet takes nothing returns version
3188
native VersionCompatible takes version whichVersion returns boolean
3189
native VersionSupported takes version whichVersion returns boolean
3190
3191
native EndGame takes boolean doScoreScreen returns nothing
3192
3193
// Async only!
3194
native          ChangeLevel         takes string newLevel, boolean doScoreScreen returns nothing
3195
native          RestartGame         takes boolean doScoreScreen returns nothing
3196
native          ReloadGame          takes nothing returns nothing
3197
// %%% SetCampaignMenuRace is deprecated.  It must remain to support
3198
// old maps which use it, but all new maps should use SetCampaignMenuRaceEx
3199
native          SetCampaignMenuRace takes race r returns nothing
3200
native          SetCampaignMenuRaceEx takes integer campaignIndex returns nothing
3201
native          ForceCampaignSelectScreen takes nothing returns nothing
3202
3203
native          LoadGame                takes string saveFileName, boolean doScoreScreen returns nothing
3204
native          SaveGame                takes string saveFileName returns nothing
3205
native          RenameSaveDirectory     takes string sourceDirName, string destDirName returns boolean
3206
native          RemoveSaveDirectory     takes string sourceDirName returns boolean
3207
native          CopySaveGame            takes string sourceSaveName, string destSaveName returns boolean
3208
native          SaveGameExists          takes string saveName returns boolean
3209
native          SetMaxCheckpointSaves      takes integer maxCheckpointSaves returns nothing
3210
native          SaveGameCheckpoint      takes string saveFileName, boolean showWindow returns nothing
3211
native          SyncSelections          takes nothing returns nothing
3212
native          SetFloatGameState       takes fgamestate whichFloatGameState, real value returns nothing
3213
constant native GetFloatGameState       takes fgamestate whichFloatGameState returns real
3214
native          SetIntegerGameState     takes igamestate whichIntegerGameState, integer value returns nothing
3215
constant native GetIntegerGameState        takes igamestate whichIntegerGameState returns integer
3216
3217
3218
//============================================================================
3219
// Campaign API
3220
native  SetTutorialCleared      takes boolean cleared returns nothing
3221
native  SetMissionAvailable     takes integer campaignNumber, integer missionNumber, boolean available returns nothing
3222
native  SetCampaignAvailable    takes integer campaignNumber, boolean available  returns nothing
3223
native  SetOpCinematicAvailable takes integer campaignNumber, boolean available  returns nothing
3224
native  SetEdCinematicAvailable takes integer campaignNumber, boolean available  returns nothing
3225
native  GetDefaultDifficulty    takes nothing returns gamedifficulty
3226
native  SetDefaultDifficulty    takes gamedifficulty g returns nothing
3227
native  SetCustomCampaignButtonVisible  takes integer whichButton, boolean visible returns nothing
3228
native  GetCustomCampaignButtonVisible  takes integer whichButton returns boolean
3229
native  DoNotSaveReplay         takes nothing returns nothing
3230
3231
//============================================================================
3232
// Dialog API
3233
native DialogCreate                 takes nothing returns dialog
3234
native DialogDestroy                takes dialog whichDialog returns nothing
3235
native DialogClear                  takes dialog whichDialog returns nothing
3236
native DialogSetMessage             takes dialog whichDialog, string messageText returns nothing
3237
native DialogAddButton              takes dialog whichDialog, string buttonText, integer hotkey returns button
3238
native DialogAddQuitButton          takes dialog whichDialog, boolean doScoreScreen, string buttonText, integer hotkey returns button
3239
native DialogDisplay                takes player whichPlayer, dialog whichDialog, boolean flag returns nothing
3240
3241
// Creates a new or reads in an existing game cache file stored
3242
// in the current campaign profile dir
3243
//
3244
native  ReloadGameCachesFromDisk takes nothing returns boolean
3245
3246
native  InitGameCache    takes string campaignFile returns gamecache
3247
native  SaveGameCache    takes gamecache whichCache returns boolean
3248
3249
native  StoreInteger                    takes gamecache cache, string missionKey, string key, integer value returns nothing
3250
native  StoreReal                        takes gamecache cache, string missionKey, string key, real value returns nothing
3251
native  StoreBoolean                    takes gamecache cache, string missionKey, string key, boolean value returns nothing
3252
native  StoreUnit                        takes gamecache cache, string missionKey, string key, unit whichUnit returns boolean
3253
native  StoreString                        takes gamecache cache, string missionKey, string key, string value returns boolean
3254
3255
native SyncStoredInteger        takes gamecache cache, string missionKey, string key returns nothing
3256
native SyncStoredReal           takes gamecache cache, string missionKey, string key returns nothing
3257
native SyncStoredBoolean        takes gamecache cache, string missionKey, string key returns nothing
3258
native SyncStoredUnit           takes gamecache cache, string missionKey, string key returns nothing
3259
native SyncStoredString         takes gamecache cache, string missionKey, string key returns nothing
3260
3261
native  HaveStoredInteger                    takes gamecache cache, string missionKey, string key returns boolean
3262
native  HaveStoredReal                        takes gamecache cache, string missionKey, string key returns boolean
3263
native  HaveStoredBoolean                    takes gamecache cache, string missionKey, string key returns boolean
3264
native  HaveStoredUnit                        takes gamecache cache, string missionKey, string key returns boolean
3265
native  HaveStoredString                    takes gamecache cache, string missionKey, string key returns boolean
3266
3267
native  FlushGameCache                        takes gamecache cache returns nothing
3268
native  FlushStoredMission                    takes gamecache cache, string missionKey returns nothing
3269
native  FlushStoredInteger                    takes gamecache cache, string missionKey, string key returns nothing
3270
native  FlushStoredReal                        takes gamecache cache, string missionKey, string key returns nothing
3271
native  FlushStoredBoolean                    takes gamecache cache, string missionKey, string key returns nothing
3272
native  FlushStoredUnit                        takes gamecache cache, string missionKey, string key returns nothing
3273
native  FlushStoredString                    takes gamecache cache, string missionKey, string key returns nothing
3274
3275
// Will return 0 if the specified value's data is not found in the cache
3276
native  GetStoredInteger                takes gamecache cache, string missionKey, string key returns integer
3277
native  GetStoredReal                    takes gamecache cache, string missionKey, string key returns real
3278
native  GetStoredBoolean                takes gamecache cache, string missionKey, string key returns boolean
3279
native  GetStoredString                    takes gamecache cache, string missionKey, string key returns string
3280
native  RestoreUnit                        takes gamecache cache, string missionKey, string key, player forWhichPlayer, real x, real y, real facing returns unit
3281
3282
3283
native  InitHashtable    takes nothing returns hashtable
3284
3285
native  SaveInteger                        takes hashtable table, integer parentKey, integer childKey, integer value returns nothing
3286
native  SaveReal                        takes hashtable table, integer parentKey, integer childKey, real value returns nothing
3287
native  SaveBoolean                        takes hashtable table, integer parentKey, integer childKey, boolean value returns nothing
3288
native  SaveStr                            takes hashtable table, integer parentKey, integer childKey, string value returns boolean
3289
native  SavePlayerHandle                takes hashtable table, integer parentKey, integer childKey, player whichPlayer returns boolean
3290
native  SaveWidgetHandle                takes hashtable table, integer parentKey, integer childKey, widget whichWidget returns boolean
3291
native  SaveDestructableHandle            takes hashtable table, integer parentKey, integer childKey, destructable whichDestructable returns boolean
3292
native  SaveItemHandle                    takes hashtable table, integer parentKey, integer childKey, item whichItem returns boolean
3293
native  SaveUnitHandle                    takes hashtable table, integer parentKey, integer childKey, unit whichUnit returns boolean
3294
native  SaveAbilityHandle                takes hashtable table, integer parentKey, integer childKey, ability whichAbility returns boolean
3295
native  SaveTimerHandle                    takes hashtable table, integer parentKey, integer childKey, timer whichTimer returns boolean
3296
native  SaveTriggerHandle                takes hashtable table, integer parentKey, integer childKey, trigger whichTrigger returns boolean
3297
native  SaveTriggerConditionHandle        takes hashtable table, integer parentKey, integer childKey, triggercondition whichTriggercondition returns boolean
3298
native  SaveTriggerActionHandle            takes hashtable table, integer parentKey, integer childKey, triggeraction whichTriggeraction returns boolean
3299
native  SaveTriggerEventHandle            takes hashtable table, integer parentKey, integer childKey, event whichEvent returns boolean
3300
native  SaveForceHandle                    takes hashtable table, integer parentKey, integer childKey, force whichForce returns boolean
3301
native  SaveGroupHandle                    takes hashtable table, integer parentKey, integer childKey, group whichGroup returns boolean
3302
native  SaveLocationHandle                takes hashtable table, integer parentKey, integer childKey, location whichLocation returns boolean
3303
native  SaveRectHandle                    takes hashtable table, integer parentKey, integer childKey, rect whichRect returns boolean
3304
native  SaveBooleanExprHandle            takes hashtable table, integer parentKey, integer childKey, boolexpr whichBoolexpr returns boolean
3305
native  SaveSoundHandle                    takes hashtable table, integer parentKey, integer childKey, sound whichSound returns boolean
3306
native  SaveEffectHandle                takes hashtable table, integer parentKey, integer childKey, effect whichEffect returns boolean
3307
native  SaveUnitPoolHandle                takes hashtable table, integer parentKey, integer childKey, unitpool whichUnitpool returns boolean
3308
native  SaveItemPoolHandle                takes hashtable table, integer parentKey, integer childKey, itempool whichItempool returns boolean
3309
native  SaveQuestHandle                    takes hashtable table, integer parentKey, integer childKey, quest whichQuest returns boolean
3310
native  SaveQuestItemHandle                takes hashtable table, integer parentKey, integer childKey, questitem whichQuestitem returns boolean
3311
native  SaveDefeatConditionHandle        takes hashtable table, integer parentKey, integer childKey, defeatcondition whichDefeatcondition returns boolean
3312
native  SaveTimerDialogHandle            takes hashtable table, integer parentKey, integer childKey, timerdialog whichTimerdialog returns boolean
3313
native  SaveLeaderboardHandle            takes hashtable table, integer parentKey, integer childKey, leaderboard whichLeaderboard returns boolean
3314
native  SaveMultiboardHandle            takes hashtable table, integer parentKey, integer childKey, multiboard whichMultiboard returns boolean
3315
native  SaveMultiboardItemHandle        takes hashtable table, integer parentKey, integer childKey, multiboarditem whichMultiboarditem returns boolean
3316
native  SaveTrackableHandle                takes hashtable table, integer parentKey, integer childKey, trackable whichTrackable returns boolean
3317
native  SaveDialogHandle                takes hashtable table, integer parentKey, integer childKey, dialog whichDialog returns boolean
3318
native  SaveButtonHandle                takes hashtable table, integer parentKey, integer childKey, button whichButton returns boolean
3319
native  SaveTextTagHandle                takes hashtable table, integer parentKey, integer childKey, texttag whichTexttag returns boolean
3320
native  SaveLightningHandle                takes hashtable table, integer parentKey, integer childKey, lightning whichLightning returns boolean
3321
native  SaveImageHandle                    takes hashtable table, integer parentKey, integer childKey, image whichImage returns boolean
3322
native  SaveUbersplatHandle                takes hashtable table, integer parentKey, integer childKey, ubersplat whichUbersplat returns boolean
3323
native  SaveRegionHandle                takes hashtable table, integer parentKey, integer childKey, region whichRegion returns boolean
3324
native  SaveFogStateHandle                takes hashtable table, integer parentKey, integer childKey, fogstate whichFogState returns boolean
3325
native  SaveFogModifierHandle            takes hashtable table, integer parentKey, integer childKey, fogmodifier whichFogModifier returns boolean
3326
native  SaveAgentHandle                    takes hashtable table, integer parentKey, integer childKey, agent whichAgent returns boolean
3327
native  SaveHashtableHandle                takes hashtable table, integer parentKey, integer childKey, hashtable whichHashtable returns boolean
3328
native  SaveFrameHandle                    takes hashtable table, integer parentKey, integer childKey, framehandle whichFrameHandle returns boolean
3329
3330
3331
native  LoadInteger                    takes hashtable table, integer parentKey, integer childKey returns integer
3332
native  LoadReal                    takes hashtable table, integer parentKey, integer childKey returns real
3333
native  LoadBoolean                    takes hashtable table, integer parentKey, integer childKey returns boolean
3334
native  LoadStr                     takes hashtable table, integer parentKey, integer childKey returns string
3335
native  LoadPlayerHandle            takes hashtable table, integer parentKey, integer childKey returns player
3336
native  LoadWidgetHandle            takes hashtable table, integer parentKey, integer childKey returns widget
3337
native  LoadDestructableHandle        takes hashtable table, integer parentKey, integer childKey returns destructable
3338
native  LoadItemHandle                takes hashtable table, integer parentKey, integer childKey returns item
3339
native  LoadUnitHandle                takes hashtable table, integer parentKey, integer childKey returns unit
3340
native  LoadAbilityHandle            takes hashtable table, integer parentKey, integer childKey returns ability
3341
native  LoadTimerHandle                takes hashtable table, integer parentKey, integer childKey returns timer
3342
native  LoadTriggerHandle            takes hashtable table, integer parentKey, integer childKey returns trigger
3343
native  LoadTriggerConditionHandle    takes hashtable table, integer parentKey, integer childKey returns triggercondition
3344
native  LoadTriggerActionHandle        takes hashtable table, integer parentKey, integer childKey returns triggeraction
3345
native  LoadTriggerEventHandle        takes hashtable table, integer parentKey, integer childKey returns event
3346
native  LoadForceHandle                takes hashtable table, integer parentKey, integer childKey returns force
3347
native  LoadGroupHandle                takes hashtable table, integer parentKey, integer childKey returns group
3348
native  LoadLocationHandle            takes hashtable table, integer parentKey, integer childKey returns location
3349
native  LoadRectHandle                takes hashtable table, integer parentKey, integer childKey returns rect
3350
native  LoadBooleanExprHandle        takes hashtable table, integer parentKey, integer childKey returns boolexpr
3351
native  LoadSoundHandle                takes hashtable table, integer parentKey, integer childKey returns sound
3352
native  LoadEffectHandle            takes hashtable table, integer parentKey, integer childKey returns effect
3353
native  LoadUnitPoolHandle            takes hashtable table, integer parentKey, integer childKey returns unitpool
3354
native  LoadItemPoolHandle            takes hashtable table, integer parentKey, integer childKey returns itempool
3355
native  LoadQuestHandle                takes hashtable table, integer parentKey, integer childKey returns quest
3356
native  LoadQuestItemHandle            takes hashtable table, integer parentKey, integer childKey returns questitem
3357
native  LoadDefeatConditionHandle    takes hashtable table, integer parentKey, integer childKey returns defeatcondition
3358
native  LoadTimerDialogHandle        takes hashtable table, integer parentKey, integer childKey returns timerdialog
3359
native  LoadLeaderboardHandle        takes hashtable table, integer parentKey, integer childKey returns leaderboard
3360
native  LoadMultiboardHandle        takes hashtable table, integer parentKey, integer childKey returns multiboard
3361
native  LoadMultiboardItemHandle    takes hashtable table, integer parentKey, integer childKey returns multiboarditem
3362
native  LoadTrackableHandle            takes hashtable table, integer parentKey, integer childKey returns trackable
3363
native  LoadDialogHandle            takes hashtable table, integer parentKey, integer childKey returns dialog
3364
native  LoadButtonHandle            takes hashtable table, integer parentKey, integer childKey returns button
3365
native  LoadTextTagHandle            takes hashtable table, integer parentKey, integer childKey returns texttag
3366
native  LoadLightningHandle            takes hashtable table, integer parentKey, integer childKey returns lightning
3367
native  LoadImageHandle                takes hashtable table, integer parentKey, integer childKey returns image
3368
native  LoadUbersplatHandle            takes hashtable table, integer parentKey, integer childKey returns ubersplat
3369
native  LoadRegionHandle            takes hashtable table, integer parentKey, integer childKey returns region
3370
native  LoadFogStateHandle            takes hashtable table, integer parentKey, integer childKey returns fogstate
3371
native  LoadFogModifierHandle        takes hashtable table, integer parentKey, integer childKey returns fogmodifier
3372
native  LoadHashtableHandle            takes hashtable table, integer parentKey, integer childKey returns hashtable
3373
native  LoadFrameHandle                takes hashtable table, integer parentKey, integer childKey returns framehandle
3374
3375
native  HaveSavedInteger                    takes hashtable table, integer parentKey, integer childKey returns boolean
3376
native  HaveSavedReal                        takes hashtable table, integer parentKey, integer childKey returns boolean
3377
native  HaveSavedBoolean                    takes hashtable table, integer parentKey, integer childKey returns boolean
3378
native  HaveSavedString                        takes hashtable table, integer parentKey, integer childKey returns boolean
3379
native  HaveSavedHandle                     takes hashtable table, integer parentKey, integer childKey returns boolean
3380
3381
native  RemoveSavedInteger                    takes hashtable table, integer parentKey, integer childKey returns nothing
3382
native  RemoveSavedReal                        takes hashtable table, integer parentKey, integer childKey returns nothing
3383
native  RemoveSavedBoolean                    takes hashtable table, integer parentKey, integer childKey returns nothing
3384
native  RemoveSavedString                    takes hashtable table, integer parentKey, integer childKey returns nothing
3385
native  RemoveSavedHandle                    takes hashtable table, integer parentKey, integer childKey returns nothing
3386
3387
native  FlushParentHashtable                        takes hashtable table returns nothing
3388
native  FlushChildHashtable                    takes hashtable table, integer parentKey returns nothing
3389
3390
3391
//============================================================================
3392
// Randomization API
3393
native GetRandomInt takes integer lowBound, integer highBound returns integer
3394
native GetRandomReal takes real lowBound, real highBound returns real
3395
3396
native CreateUnitPool           takes nothing returns unitpool
3397
native DestroyUnitPool          takes unitpool whichPool returns nothing
3398
native UnitPoolAddUnitType      takes unitpool whichPool, integer unitId, real weight returns nothing
3399
native UnitPoolRemoveUnitType   takes unitpool whichPool, integer unitId returns nothing
3400
native PlaceRandomUnit          takes unitpool whichPool, player forWhichPlayer, real x, real y, real facing returns unit
3401
3402
native CreateItemPool           takes nothing returns itempool
3403
native DestroyItemPool          takes itempool whichItemPool returns nothing
3404
native ItemPoolAddItemType      takes itempool whichItemPool, integer itemId, real weight returns nothing
3405
native ItemPoolRemoveItemType   takes itempool whichItemPool, integer itemId returns nothing
3406
native PlaceRandomItem          takes itempool whichItemPool, real x, real y returns item
3407
3408
// Choose any random unit/item. (NP means Neutral Passive)
3409
native ChooseRandomCreep        takes integer level returns integer
3410
native ChooseRandomNPBuilding   takes nothing returns integer
3411
native ChooseRandomItem         takes integer level returns integer
3412
native ChooseRandomItemEx       takes itemtype whichType, integer level returns integer
3413
native SetRandomSeed            takes integer seed returns nothing
3414
3415
//============================================================================
3416
// Visual API
3417
native SetTerrainFog                takes real a, real b, real c, real d, real e returns nothing
3418
native ResetTerrainFog              takes nothing returns nothing
3419
3420
native SetUnitFog                   takes real a, real b, real c, real d, real e returns nothing
3421
native SetTerrainFogEx              takes integer style, real zstart, real zend, real density, real red, real green, real blue returns nothing
3422
native DisplayTextToPlayer          takes player toPlayer, real x, real y, string message returns nothing
3423
native DisplayTimedTextToPlayer     takes player toPlayer, real x, real y, real duration, string message returns nothing
3424
native DisplayTimedTextFromPlayer   takes player toPlayer, real x, real y, real duration, string message returns nothing
3425
native ClearTextMessages            takes nothing returns nothing
3426
native SetDayNightModels            takes string terrainDNCFile, string unitDNCFile returns nothing
3427
native SetPortraitLight             takes string portraitDNCFile returns nothing
3428
native SetSkyModel                  takes string skyModelFile returns nothing
3429
native EnableUserControl            takes boolean b returns nothing
3430
native EnableUserUI                 takes boolean b returns nothing
3431
native SuspendTimeOfDay             takes boolean b returns nothing
3432
native SetTimeOfDayScale            takes real r returns nothing
3433
native GetTimeOfDayScale            takes nothing returns real
3434
native ShowInterface                takes boolean flag, real fadeDuration returns nothing
3435
native PauseGame                    takes boolean flag returns nothing
3436
native UnitAddIndicator             takes unit whichUnit, integer red, integer green, integer blue, integer alpha returns nothing
3437
native AddIndicator                 takes widget whichWidget, integer red, integer green, integer blue, integer alpha returns nothing
3438
native PingMinimap                  takes real x, real y, real duration returns nothing
3439
native PingMinimapEx                takes real x, real y, real duration, integer red, integer green, integer blue, boolean extraEffects returns nothing
3440
native CreateMinimapIconOnUnit      takes unit whichUnit, integer red, integer green, integer blue, string pingPath, fogstate fogVisibility returns minimapicon
3441
native CreateMinimapIconAtLoc       takes location where, integer red, integer green, integer blue, string pingPath, fogstate fogVisibility returns minimapicon
3442
native CreateMinimapIcon            takes real x, real y, integer red, integer green, integer blue, string pingPath, fogstate fogVisibility returns minimapicon
3443
native SkinManagerGetLocalPath      takes string key returns string
3444
native DestroyMinimapIcon           takes minimapicon pingId returns nothing
3445
native SetMinimapIconVisible        takes minimapicon whichMinimapIcon, boolean visible returns nothing
3446
native SetMinimapIconOrphanDestroy  takes minimapicon whichMinimapIcon, boolean doDestroy returns nothing
3447
native EnableOcclusion              takes boolean flag returns nothing
3448
native SetIntroShotText             takes string introText returns nothing
3449
native SetIntroShotModel            takes string introModelPath returns nothing
3450
native EnableWorldFogBoundary       takes boolean b returns nothing
3451
native PlayModelCinematic           takes string modelName returns nothing
3452
native PlayCinematic                takes string movieName returns nothing
3453
native ForceUIKey                   takes string key returns nothing
3454
native ForceUICancel                takes nothing returns nothing
3455
native DisplayLoadDialog            takes nothing returns nothing
3456
native SetAltMinimapIcon            takes string iconPath returns nothing
3457
native DisableRestartMission        takes boolean flag returns nothing
3458
3459
native CreateTextTag                takes nothing returns texttag
3460
native DestroyTextTag               takes texttag t returns nothing
3461
native SetTextTagText               takes texttag t, string s, real height returns nothing
3462
native SetTextTagPos                takes texttag t, real x, real y, real heightOffset returns nothing
3463
native SetTextTagPosUnit            takes texttag t, unit whichUnit, real heightOffset returns nothing
3464
native SetTextTagColor              takes texttag t, integer red, integer green, integer blue, integer alpha returns nothing
3465
native SetTextTagVelocity           takes texttag t, real xvel, real yvel returns nothing
3466
native SetTextTagVisibility         takes texttag t, boolean flag returns nothing
3467
native SetTextTagSuspended          takes texttag t, boolean flag returns nothing
3468
native SetTextTagPermanent          takes texttag t, boolean flag returns nothing
3469
native SetTextTagAge                takes texttag t, real age returns nothing
3470
native SetTextTagLifespan           takes texttag t, real lifespan returns nothing
3471
native SetTextTagFadepoint          takes texttag t, real fadepoint returns nothing
3472
3473
native SetReservedLocalHeroButtons  takes integer reserved returns nothing
3474
native GetAllyColorFilterState      takes nothing returns integer
3475
native SetAllyColorFilterState      takes integer state returns nothing
3476
native GetCreepCampFilterState      takes nothing returns boolean
3477
native SetCreepCampFilterState      takes boolean state returns nothing
3478
native EnableMinimapFilterButtons   takes boolean enableAlly, boolean enableCreep returns nothing
3479
native EnableDragSelect             takes boolean state, boolean ui returns nothing
3480
native EnablePreSelect              takes boolean state, boolean ui returns nothing
3481
native EnableSelect                 takes boolean state, boolean ui returns nothing
3482
3483
//============================================================================
3484
// Trackable API
3485
native CreateTrackable      takes string trackableModelPath, real x, real y, real facing returns trackable
3486
3487
//============================================================================
3488
// Quest API
3489
native CreateQuest          takes nothing returns quest
3490
native DestroyQuest         takes quest whichQuest returns nothing
3491
native QuestSetTitle        takes quest whichQuest, string title returns nothing
3492
native QuestSetDescription  takes quest whichQuest, string description returns nothing
3493
native QuestSetIconPath     takes quest whichQuest, string iconPath returns nothing
3494
3495
native QuestSetRequired     takes quest whichQuest, boolean required   returns nothing
3496
native QuestSetCompleted    takes quest whichQuest, boolean completed  returns nothing
3497
native QuestSetDiscovered   takes quest whichQuest, boolean discovered returns nothing
3498
native QuestSetFailed       takes quest whichQuest, boolean failed     returns nothing
3499
native QuestSetEnabled      takes quest whichQuest, boolean enabled    returns nothing
3500
3501
native IsQuestRequired     takes quest whichQuest returns boolean
3502
native IsQuestCompleted    takes quest whichQuest returns boolean
3503
native IsQuestDiscovered   takes quest whichQuest returns boolean
3504
native IsQuestFailed       takes quest whichQuest returns boolean
3505
native IsQuestEnabled      takes quest whichQuest returns boolean
3506
3507
native QuestCreateItem          takes quest whichQuest returns questitem
3508
native QuestItemSetDescription  takes questitem whichQuestItem, string description returns nothing
3509
native QuestItemSetCompleted    takes questitem whichQuestItem, boolean completed returns nothing
3510
3511
native IsQuestItemCompleted     takes questitem whichQuestItem returns boolean
3512
3513
native CreateDefeatCondition            takes nothing returns defeatcondition
3514
native DestroyDefeatCondition           takes defeatcondition whichCondition returns nothing
3515
native DefeatConditionSetDescription    takes defeatcondition whichCondition, string description returns nothing
3516
3517
native FlashQuestDialogButton   takes nothing returns nothing
3518
native ForceQuestDialogUpdate   takes nothing returns nothing
3519
3520
//============================================================================
3521
// Timer Dialog API
3522
native CreateTimerDialog                takes timer t returns timerdialog
3523
native DestroyTimerDialog               takes timerdialog whichDialog returns nothing
3524
native TimerDialogSetTitle              takes timerdialog whichDialog, string title returns nothing
3525
native TimerDialogSetTitleColor         takes timerdialog whichDialog, integer red, integer green, integer blue, integer alpha returns nothing
3526
native TimerDialogSetTimeColor          takes timerdialog whichDialog, integer red, integer green, integer blue, integer alpha returns nothing
3527
native TimerDialogSetSpeed              takes timerdialog whichDialog, real speedMultFactor returns nothing
3528
native TimerDialogDisplay               takes timerdialog whichDialog, boolean display returns nothing
3529
native IsTimerDialogDisplayed           takes timerdialog whichDialog returns boolean
3530
native TimerDialogSetRealTimeRemaining  takes timerdialog whichDialog, real timeRemaining returns nothing
3531
3532
//============================================================================
3533
// Leaderboard API
3534
3535
// Create a leaderboard object
3536
native CreateLeaderboard                takes nothing returns leaderboard
3537
native DestroyLeaderboard               takes leaderboard lb returns nothing
3538
3539
native LeaderboardDisplay               takes leaderboard lb, boolean show returns nothing
3540
native IsLeaderboardDisplayed           takes leaderboard lb returns boolean
3541
3542
native LeaderboardGetItemCount          takes leaderboard lb returns integer
3543
3544
native LeaderboardSetSizeByItemCount    takes leaderboard lb, integer count returns nothing
3545
native LeaderboardAddItem               takes leaderboard lb, string label, integer value, player p returns nothing
3546
native LeaderboardRemoveItem            takes leaderboard lb, integer index returns nothing
3547
native LeaderboardRemovePlayerItem      takes leaderboard lb, player p returns nothing
3548
native LeaderboardClear                 takes leaderboard lb returns nothing
3549
3550
native LeaderboardSortItemsByValue      takes leaderboard lb, boolean ascending returns nothing
3551
native LeaderboardSortItemsByPlayer     takes leaderboard lb, boolean ascending returns nothing
3552
native LeaderboardSortItemsByLabel      takes leaderboard lb, boolean ascending returns nothing
3553
3554
native LeaderboardHasPlayerItem         takes leaderboard lb, player p returns boolean
3555
native LeaderboardGetPlayerIndex        takes leaderboard lb, player p returns integer
3556
native LeaderboardSetLabel              takes leaderboard lb, string label returns nothing
3557
native LeaderboardGetLabelText          takes leaderboard lb returns string
3558
3559
native PlayerSetLeaderboard             takes player toPlayer, leaderboard lb returns nothing
3560
native PlayerGetLeaderboard             takes player toPlayer returns leaderboard
3561
3562
native LeaderboardSetLabelColor         takes leaderboard lb, integer red, integer green, integer blue, integer alpha returns nothing
3563
native LeaderboardSetValueColor         takes leaderboard lb, integer red, integer green, integer blue, integer alpha returns nothing
3564
native LeaderboardSetStyle              takes leaderboard lb, boolean showLabel, boolean showNames, boolean showValues, boolean showIcons returns nothing
3565
3566
native LeaderboardSetItemValue          takes leaderboard lb, integer whichItem, integer val returns nothing
3567
native LeaderboardSetItemLabel          takes leaderboard lb, integer whichItem, string val returns nothing
3568
native LeaderboardSetItemStyle          takes leaderboard lb, integer whichItem, boolean showLabel, boolean showValue, boolean showIcon returns nothing
3569
native LeaderboardSetItemLabelColor     takes leaderboard lb, integer whichItem, integer red, integer green, integer blue, integer alpha returns nothing
3570
native LeaderboardSetItemValueColor     takes leaderboard lb, integer whichItem, integer red, integer green, integer blue, integer alpha returns nothing
3571
3572
//============================================================================
3573
// Multiboard API
3574
//============================================================================
3575
3576
// Create a multiboard object
3577
native CreateMultiboard                 takes nothing returns multiboard
3578
native DestroyMultiboard                takes multiboard lb returns nothing
3579
3580
native MultiboardDisplay                takes multiboard lb, boolean show returns nothing
3581
native IsMultiboardDisplayed            takes multiboard lb returns boolean
3582
3583
native MultiboardMinimize               takes multiboard lb, boolean minimize returns nothing
3584
native IsMultiboardMinimized            takes multiboard lb returns boolean
3585
native MultiboardClear                  takes multiboard lb returns nothing
3586
3587
native MultiboardSetTitleText           takes multiboard lb, string label returns nothing
3588
native MultiboardGetTitleText           takes multiboard lb returns string
3589
native MultiboardSetTitleTextColor      takes multiboard lb, integer red, integer green, integer blue, integer alpha returns nothing
3590
3591
native MultiboardGetRowCount            takes multiboard lb returns integer
3592
native MultiboardGetColumnCount         takes multiboard lb returns integer
3593
3594
native MultiboardSetColumnCount         takes multiboard lb, integer count returns nothing
3595
native MultiboardSetRowCount            takes multiboard lb, integer count returns nothing
3596
3597
// broadcast settings to all items
3598
native MultiboardSetItemsStyle          takes multiboard lb, boolean showValues, boolean showIcons returns nothing
3599
native MultiboardSetItemsValue          takes multiboard lb, string value returns nothing
3600
native MultiboardSetItemsValueColor     takes multiboard lb, integer red, integer green, integer blue, integer alpha returns nothing
3601
native MultiboardSetItemsWidth          takes multiboard lb, real width returns nothing
3602
native MultiboardSetItemsIcon           takes multiboard lb, string iconPath returns nothing
3603
3604
3605
// funcs for modifying individual items
3606
native MultiboardGetItem                takes multiboard lb, integer row, integer column returns multiboarditem
3607
native MultiboardReleaseItem            takes multiboarditem mbi returns nothing
3608
3609
native MultiboardSetItemStyle           takes multiboarditem mbi, boolean showValue, boolean showIcon returns nothing
3610
native MultiboardSetItemValue           takes multiboarditem mbi, string val returns nothing
3611
native MultiboardSetItemValueColor      takes multiboarditem mbi, integer red, integer green, integer blue, integer alpha returns nothing
3612
native MultiboardSetItemWidth           takes multiboarditem mbi, real width returns nothing
3613
native MultiboardSetItemIcon            takes multiboarditem mbi, string iconFileName returns nothing
3614
3615
// meant to unequivocally suspend display of existing and
3616
// subsequently displayed multiboards
3617
//
3618
native MultiboardSuppressDisplay        takes boolean flag returns nothing
3619
3620
//============================================================================
3621
// Camera API
3622
native SetCameraPosition            takes real x, real y returns nothing
3623
native SetCameraQuickPosition       takes real x, real y returns nothing
3624
native SetCameraBounds              takes real x1, real y1, real x2, real y2, real x3, real y3, real x4, real y4 returns nothing
3625
native StopCamera                   takes nothing returns nothing
3626
native ResetToGameCamera            takes real duration returns nothing
3627
native PanCameraTo                  takes real x, real y returns nothing
3628
native PanCameraToTimed             takes real x, real y, real duration returns nothing
3629
native PanCameraToWithZ             takes real x, real y, real zOffsetDest returns nothing
3630
native PanCameraToTimedWithZ        takes real x, real y, real zOffsetDest, real duration returns nothing
3631
native SetCinematicCamera           takes string cameraModelFile returns nothing
3632
native SetCameraRotateMode          takes real x, real y, real radiansToSweep, real duration returns nothing
3633
native SetCameraField               takes camerafield whichField, real value, real duration returns nothing
3634
native AdjustCameraField            takes camerafield whichField, real offset, real duration returns nothing
3635
native SetCameraTargetController    takes unit whichUnit, real xoffset, real yoffset, boolean inheritOrientation returns nothing
3636
native SetCameraOrientController    takes unit whichUnit, real xoffset, real yoffset returns nothing
3637
3638
native CreateCameraSetup                    takes nothing returns camerasetup
3639
native CameraSetupSetField                  takes camerasetup whichSetup, camerafield whichField, real value, real duration returns nothing
3640
native CameraSetupGetField                  takes camerasetup whichSetup, camerafield whichField returns real
3641
native CameraSetupSetDestPosition           takes camerasetup whichSetup, real x, real y, real duration returns nothing
3642
native CameraSetupGetDestPositionLoc        takes camerasetup whichSetup returns location
3643
native CameraSetupGetDestPositionX          takes camerasetup whichSetup returns real
3644
native CameraSetupGetDestPositionY          takes camerasetup whichSetup returns real
3645
native CameraSetupApply                     takes camerasetup whichSetup, boolean doPan, boolean panTimed returns nothing
3646
native CameraSetupApplyWithZ                takes camerasetup whichSetup, real zDestOffset returns nothing
3647
native CameraSetupApplyForceDuration        takes camerasetup whichSetup, boolean doPan, real forceDuration returns nothing
3648
native CameraSetupApplyForceDurationWithZ   takes camerasetup whichSetup, real zDestOffset, real forceDuration returns nothing
3649
native BlzCameraSetupSetLabel               takes camerasetup whichSetup, string label returns nothing
3650
native BlzCameraSetupGetLabel               takes camerasetup whichSetup returns string
3651
3652
native CameraSetTargetNoise             takes real mag, real velocity returns nothing
3653
native CameraSetSourceNoise             takes real mag, real velocity returns nothing
3654
3655
native CameraSetTargetNoiseEx           takes real mag, real velocity, boolean vertOnly returns nothing
3656
native CameraSetSourceNoiseEx           takes real mag, real velocity, boolean vertOnly returns nothing
3657
3658
native CameraSetSmoothingFactor         takes real factor returns nothing
3659
3660
native CameraSetFocalDistance            takes real distance returns nothing
3661
native CameraSetDepthOfFieldScale       takes real scale returns nothing
3662
3663
native SetCineFilterTexture             takes string filename returns nothing
3664
native SetCineFilterBlendMode           takes blendmode whichMode returns nothing
3665
native SetCineFilterTexMapFlags         takes texmapflags whichFlags returns nothing
3666
native SetCineFilterStartUV             takes real minu, real minv, real maxu, real maxv returns nothing
3667
native SetCineFilterEndUV               takes real minu, real minv, real maxu, real maxv returns nothing
3668
native SetCineFilterStartColor          takes integer red, integer green, integer blue, integer alpha returns nothing
3669
native SetCineFilterEndColor            takes integer red, integer green, integer blue, integer alpha returns nothing
3670
native SetCineFilterDuration            takes real duration returns nothing
3671
native DisplayCineFilter                takes boolean flag returns nothing
3672
native IsCineFilterDisplayed            takes nothing returns boolean
3673
3674
native SetCinematicScene                takes integer portraitUnitId, playercolor color, string speakerTitle, string text, real sceneDuration, real voiceoverDuration returns nothing
3675
native EndCinematicScene                takes nothing returns nothing
3676
native ForceCinematicSubtitles          takes boolean flag returns nothing
3677
native SetCinematicAudio                takes boolean cinematicAudio returns nothing
3678
3679
native GetCameraMargin                  takes integer whichMargin returns real
3680
3681
// These return values for the local players camera only...
3682
constant native GetCameraBoundMinX          takes nothing returns real
3683
constant native GetCameraBoundMinY          takes nothing returns real
3684
constant native GetCameraBoundMaxX          takes nothing returns real
3685
constant native GetCameraBoundMaxY          takes nothing returns real
3686
constant native GetCameraField              takes camerafield whichField returns real
3687
constant native GetCameraTargetPositionX    takes nothing returns real
3688
constant native GetCameraTargetPositionY    takes nothing returns real
3689
constant native GetCameraTargetPositionZ    takes nothing returns real
3690
constant native GetCameraTargetPositionLoc  takes nothing returns location
3691
constant native GetCameraEyePositionX       takes nothing returns real
3692
constant native GetCameraEyePositionY       takes nothing returns real
3693
constant native GetCameraEyePositionZ       takes nothing returns real
3694
constant native GetCameraEyePositionLoc     takes nothing returns location
3695
3696
//============================================================================
3697
// Sound API
3698
//
3699
native NewSoundEnvironment          takes string environmentName returns nothing
3700
3701
native CreateSound                  takes string fileName, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate, string eaxSetting returns sound
3702
native CreateSoundFilenameWithLabel takes string fileName, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate, string SLKEntryName returns sound
3703
native CreateSoundFromLabel         takes string soundLabel, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate returns sound
3704
native CreateMIDISound              takes string soundLabel, integer fadeInRate, integer fadeOutRate returns sound
3705
3706
native SetSoundParamsFromLabel      takes sound soundHandle, string soundLabel returns nothing
3707
native SetSoundDistanceCutoff       takes sound soundHandle, real cutoff returns nothing
3708
native SetSoundChannel              takes sound soundHandle, integer channel returns nothing
3709
native SetSoundVolume               takes sound soundHandle, integer volume returns nothing
3710
native SetSoundPitch                takes sound soundHandle, real pitch returns nothing
3711
3712
// the following method must be called immediately after calling "StartSound"
3713
native SetSoundPlayPosition         takes sound soundHandle, integer millisecs returns nothing
3714
3715
// these calls are only valid if the sound was created with 3d enabled
3716
native SetSoundDistances            takes sound soundHandle, real minDist, real maxDist returns nothing
3717
native SetSoundConeAngles           takes sound soundHandle, real inside, real outside, integer outsideVolume returns nothing
3718
native SetSoundConeOrientation      takes sound soundHandle, real x, real y, real z returns nothing
3719
native SetSoundPosition             takes sound soundHandle, real x, real y, real z returns nothing
3720
native SetSoundVelocity             takes sound soundHandle, real x, real y, real z returns nothing
3721
native AttachSoundToUnit            takes sound soundHandle, unit whichUnit returns nothing
3722
3723
native StartSound                   takes sound soundHandle returns nothing
3724
native StartSoundEx                 takes sound soundHandle, boolean fadeIn returns nothing
3725
native StopSound                    takes sound soundHandle, boolean killWhenDone, boolean fadeOut returns nothing
3726
native KillSoundWhenDone            takes sound soundHandle returns nothing
3727
3728
// Music Interface. Note that if music is disabled, these calls do nothing
3729
native SetMapMusic                  takes string musicName, boolean random, integer index returns nothing
3730
native ClearMapMusic                takes nothing returns nothing
3731
3732
native PlayMusic                    takes string musicName returns nothing
3733
native PlayMusicEx                  takes string musicName, integer frommsecs, integer fadeinmsecs returns nothing
3734
native StopMusic                    takes boolean fadeOut returns nothing
3735
native ResumeMusic                  takes nothing returns nothing
3736
3737
native PlayThematicMusic            takes string musicFileName returns nothing
3738
native PlayThematicMusicEx          takes string musicFileName, integer frommsecs returns nothing
3739
native EndThematicMusic             takes nothing returns nothing
3740
3741
native SetMusicVolume               takes integer volume returns nothing
3742
native SetMusicPlayPosition         takes integer millisecs returns nothing
3743
native SetThematicMusicVolume       takes integer volume returns nothing
3744
native SetThematicMusicPlayPosition takes integer millisecs returns nothing
3745
3746
// other music and sound calls
3747
native SetSoundDuration             takes sound soundHandle, integer duration returns nothing
3748
native GetSoundDuration             takes sound soundHandle returns integer
3749
native GetSoundFileDuration         takes string musicFileName returns integer
3750
3751
native VolumeGroupSetVolume         takes volumegroup vgroup, real scale returns nothing
3752
native VolumeGroupReset             takes nothing returns nothing
3753
3754
native GetSoundIsPlaying            takes sound soundHandle returns boolean
3755
native GetSoundIsLoading            takes sound soundHandle returns boolean
3756
3757
native RegisterStackedSound         takes sound soundHandle, boolean byPosition, real rectwidth, real rectheight returns nothing
3758
native UnregisterStackedSound       takes sound soundHandle, boolean byPosition, real rectwidth, real rectheight returns nothing
3759
3760
native SetSoundFacialAnimationLabel takes sound soundHandle, string animationLabel returns boolean
3761
native SetSoundFacialAnimationGroupLabel takes sound soundHandle, string groupLabel returns boolean
3762
native SetSoundFacialAnimationSetFilepath takes sound soundHandle, string animationSetFilepath returns boolean
3763
3764
//Subtitle support that is attached to the soundHandle rather than as disperate data with the legacy UI
3765
native SetDialogueSpeakerNameKey    takes sound soundHandle, string speakerName returns boolean
3766
native GetDialogueSpeakerNameKey    takes sound soundHandle returns string
3767
native SetDialogueTextKey           takes sound soundHandle, string dialogueText returns boolean
3768
native GetDialogueTextKey           takes sound soundHandle returns string
3769
3770
//============================================================================
3771
// Effects API
3772
//
3773
native AddWeatherEffect             takes rect where, integer effectID returns weathereffect
3774
native RemoveWeatherEffect          takes weathereffect whichEffect returns nothing
3775
native EnableWeatherEffect          takes weathereffect whichEffect, boolean enable returns nothing
3776
3777
native TerrainDeformCrater          takes real x, real y, real radius, real depth, integer duration, boolean permanent returns terraindeformation
3778
native TerrainDeformRipple          takes real x, real y, real radius, real depth, integer duration, integer count, real spaceWaves, real timeWaves, real radiusStartPct, boolean limitNeg returns terraindeformation
3779
native TerrainDeformWave            takes real x, real y, real dirX, real dirY, real distance, real speed, real radius, real depth, integer trailTime, integer count returns terraindeformation
3780
native TerrainDeformRandom          takes real x, real y, real radius, real minDelta, real maxDelta, integer duration, integer updateInterval returns terraindeformation
3781
native TerrainDeformStop            takes terraindeformation deformation, integer duration returns nothing
3782
native TerrainDeformStopAll         takes nothing returns nothing
3783
3784
native AddSpecialEffect             takes string modelName, real x, real y returns effect
3785
native AddSpecialEffectLoc          takes string modelName, location where returns effect
3786
native AddSpecialEffectTarget       takes string modelName, widget targetWidget, string attachPointName returns effect
3787
native DestroyEffect                takes effect whichEffect returns nothing
3788
3789
native AddSpellEffect               takes string abilityString, effecttype t, real x, real y returns effect
3790
native AddSpellEffectLoc            takes string abilityString, effecttype t,location where returns effect
3791
native AddSpellEffectById           takes integer abilityId, effecttype t,real x, real y returns effect
3792
native AddSpellEffectByIdLoc        takes integer abilityId, effecttype t,location where returns effect
3793
native AddSpellEffectTarget         takes string modelName, effecttype t, widget targetWidget, string attachPoint returns effect
3794
native AddSpellEffectTargetById     takes integer abilityId, effecttype t, widget targetWidget, string attachPoint returns effect
3795
3796
native AddLightning                 takes string codeName, boolean checkVisibility, real x1, real y1, real x2, real y2 returns lightning
3797
native AddLightningEx               takes string codeName, boolean checkVisibility, real x1, real y1, real z1, real x2, real y2, real z2 returns lightning
3798
native DestroyLightning             takes lightning whichBolt returns boolean
3799
native MoveLightning                takes lightning whichBolt, boolean checkVisibility, real x1, real y1, real x2, real y2 returns boolean
3800
native MoveLightningEx              takes lightning whichBolt, boolean checkVisibility, real x1, real y1, real z1, real x2, real y2, real z2 returns boolean
3801
native GetLightningColorA           takes lightning whichBolt returns real
3802
native GetLightningColorR           takes lightning whichBolt returns real
3803
native GetLightningColorG           takes lightning whichBolt returns real
3804
native GetLightningColorB           takes lightning whichBolt returns real
3805
native SetLightningColor            takes lightning whichBolt, real r, real g, real b, real a returns boolean
3806
3807
native GetAbilityEffect             takes string abilityString, effecttype t, integer index returns string
3808
native GetAbilityEffectById         takes integer abilityId, effecttype t, integer index returns string
3809
native GetAbilitySound              takes string abilityString, soundtype t returns string
3810
native GetAbilitySoundById          takes integer abilityId, soundtype t returns string
3811
3812
//============================================================================
3813
// Terrain API
3814
//
3815
native GetTerrainCliffLevel         takes real x, real y returns integer
3816
native SetWaterBaseColor            takes integer red, integer green, integer blue, integer alpha returns nothing
3817
native SetWaterDeforms              takes boolean val returns nothing
3818
native GetTerrainType               takes real x, real y returns integer
3819
native GetTerrainVariance           takes real x, real y returns integer
3820
native SetTerrainType               takes real x, real y, integer terrainType, integer variation, integer area, integer shape returns nothing
3821
native IsTerrainPathable            takes real x, real y, pathingtype t returns boolean
3822
native SetTerrainPathable           takes real x, real y, pathingtype t, boolean flag returns nothing
3823
3824
//============================================================================
3825
// Image API
3826
//
3827
native CreateImage                  takes string file, real sizeX, real sizeY, real sizeZ, real posX, real posY, real posZ, real originX, real originY, real originZ, integer imageType returns image
3828
native DestroyImage                 takes image whichImage returns nothing
3829
native ShowImage                    takes image whichImage, boolean flag returns nothing
3830
native SetImageConstantHeight       takes image whichImage, boolean flag, real height returns nothing
3831
native SetImagePosition             takes image whichImage, real x, real y, real z returns nothing
3832
native SetImageColor                takes image whichImage, integer red, integer green, integer blue, integer alpha returns nothing
3833
native SetImageRender               takes image whichImage, boolean flag returns nothing
3834
native SetImageRenderAlways         takes image whichImage, boolean flag returns nothing
3835
native SetImageAboveWater           takes image whichImage, boolean flag, boolean useWaterAlpha returns nothing
3836
native SetImageType                 takes image whichImage, integer imageType returns nothing
3837
3838
//============================================================================
3839
// Ubersplat API
3840
//
3841
native CreateUbersplat              takes real x, real y, string name, integer red, integer green, integer blue, integer alpha, boolean forcePaused, boolean noBirthTime returns ubersplat
3842
native DestroyUbersplat             takes ubersplat whichSplat returns nothing
3843
native ResetUbersplat               takes ubersplat whichSplat returns nothing
3844
native FinishUbersplat              takes ubersplat whichSplat returns nothing
3845
native ShowUbersplat                takes ubersplat whichSplat, boolean flag returns nothing
3846
native SetUbersplatRender           takes ubersplat whichSplat, boolean flag returns nothing
3847
native SetUbersplatRenderAlways     takes ubersplat whichSplat, boolean flag returns nothing
3848
3849
//============================================================================
3850
// Blight API
3851
//
3852
native SetBlight                takes player whichPlayer, real x, real y, real radius, boolean addBlight returns nothing
3853
native SetBlightRect            takes player whichPlayer, rect r, boolean addBlight returns nothing
3854
native SetBlightPoint           takes player whichPlayer, real x, real y, boolean addBlight returns nothing
3855
native SetBlightLoc             takes player whichPlayer, location whichLocation, real radius, boolean addBlight returns nothing
3856
native CreateBlightedGoldmine   takes player id, real x, real y, real face returns unit
3857
native IsPointBlighted          takes real x, real y returns boolean
3858
3859
//============================================================================
3860
// Doodad API
3861
//
3862
native SetDoodadAnimation       takes real x, real y, real radius, integer doodadID, boolean nearestOnly, string animName, boolean animRandom returns nothing
3863
native SetDoodadAnimationRect   takes rect r, integer doodadID, string animName, boolean animRandom returns nothing
3864
3865
//============================================================================
3866
// Computer AI interface
3867
//
3868
native StartMeleeAI         takes player num, string script                 returns nothing
3869
native StartCampaignAI      takes player num, string script                 returns nothing
3870
native CommandAI            takes player num, integer command, integer data returns nothing
3871
native PauseCompAI          takes player p,   boolean pause                 returns nothing
3872
native GetAIDifficulty      takes player num                                returns aidifficulty
3873
3874
native RemoveGuardPosition  takes unit hUnit                                returns nothing
3875
native RecycleGuardPosition takes unit hUnit                                returns nothing
3876
native RemoveAllGuardPositions takes player num                             returns nothing
3877
3878
//============================================================================
3879
native Cheat            takes string cheatStr returns nothing
3880
native IsNoVictoryCheat takes nothing returns boolean
3881
native IsNoDefeatCheat  takes nothing returns boolean
3882
3883
native Preload          takes string filename returns nothing
3884
native PreloadEnd       takes real timeout returns nothing
3885
3886
native PreloadStart     takes nothing returns nothing
3887
native PreloadRefresh   takes nothing returns nothing
3888
native PreloadEndEx     takes nothing returns nothing
3889
3890
native PreloadGenClear  takes nothing returns nothing
3891
native PreloadGenStart  takes nothing returns nothing
3892
native PreloadGenEnd    takes string filename returns nothing
3893
native Preloader        takes string filename returns nothing
3894
3895
3896
//============================================================================
3897
//Machinima API
3898
//============================================================================
3899
native BlzHideCinematicPanels                     takes boolean enable returns nothing
3900
3901
3902
// Automation Test
3903
native AutomationSetTestType                    takes string testType returns nothing
3904
native AutomationTestStart                      takes string testName returns nothing
3905
native AutomationTestEnd                        takes nothing returns nothing
3906
native AutomationTestingFinished                takes nothing returns nothing
3907
3908
// JAPI Functions
3909
native BlzGetTriggerPlayerMouseX                   takes nothing returns real
3910
native BlzGetTriggerPlayerMouseY                   takes nothing returns real
3911
native BlzGetTriggerPlayerMousePosition            takes nothing returns location
3912
native BlzGetTriggerPlayerMouseButton              takes nothing returns mousebuttontype
3913
native BlzSetAbilityTooltip                        takes integer abilCode, string tooltip, integer level returns nothing
3914
native BlzSetAbilityActivatedTooltip               takes integer abilCode, string tooltip, integer level returns nothing
3915
native BlzSetAbilityExtendedTooltip                takes integer abilCode, string extendedTooltip, integer level returns nothing
3916
native BlzSetAbilityActivatedExtendedTooltip       takes integer abilCode, string extendedTooltip, integer level returns nothing
3917
native BlzSetAbilityResearchTooltip                takes integer abilCode, string researchTooltip, integer level returns nothing
3918
native BlzSetAbilityResearchExtendedTooltip        takes integer abilCode, string researchExtendedTooltip, integer level returns nothing
3919
native BlzGetAbilityTooltip                        takes integer abilCode, integer level returns string
3920
native BlzGetAbilityActivatedTooltip               takes integer abilCode, integer level returns string
3921
native BlzGetAbilityExtendedTooltip                takes integer abilCode, integer level returns string
3922
native BlzGetAbilityActivatedExtendedTooltip       takes integer abilCode, integer level returns string
3923
native BlzGetAbilityResearchTooltip                takes integer abilCode, integer level returns string
3924
native BlzGetAbilityResearchExtendedTooltip        takes integer abilCode, integer level returns string
3925
native BlzSetAbilityIcon                           takes integer abilCode, string iconPath returns nothing
3926
native BlzGetAbilityIcon                           takes integer abilCode returns string
3927
native BlzSetAbilityActivatedIcon                  takes integer abilCode, string iconPath returns nothing
3928
native BlzGetAbilityActivatedIcon                  takes integer abilCode returns string
3929
native BlzGetAbilityPosX                           takes integer abilCode returns integer
3930
native BlzGetAbilityPosY                           takes integer abilCode returns integer
3931
native BlzSetAbilityPosX                           takes integer abilCode, integer x returns nothing
3932
native BlzSetAbilityPosY                           takes integer abilCode, integer y returns nothing
3933
native BlzGetAbilityActivatedPosX                  takes integer abilCode returns integer
3934
native BlzGetAbilityActivatedPosY                  takes integer abilCode returns integer
3935
native BlzSetAbilityActivatedPosX                  takes integer abilCode, integer x returns nothing
3936
native BlzSetAbilityActivatedPosY                  takes integer abilCode, integer y returns nothing
3937
native BlzGetUnitMaxHP                             takes unit whichUnit returns integer
3938
native BlzSetUnitMaxHP                             takes unit whichUnit, integer hp returns nothing
3939
native BlzGetUnitMaxMana                           takes unit whichUnit returns integer
3940
native BlzSetUnitMaxMana                           takes unit whichUnit, integer mana returns nothing
3941
native BlzSetItemName                              takes item whichItem, string name returns nothing
3942
native BlzSetItemDescription                       takes item whichItem, string description returns nothing
3943
native BlzGetItemDescription                       takes item whichItem returns string
3944
native BlzSetItemTooltip                           takes item whichItem, string tooltip returns nothing
3945
native BlzGetItemTooltip                           takes item whichItem returns string
3946
native BlzSetItemExtendedTooltip                   takes item whichItem, string extendedTooltip returns nothing
3947
native BlzGetItemExtendedTooltip                   takes item whichItem returns string
3948
native BlzSetItemIconPath                          takes item whichItem, string iconPath returns nothing
3949
native BlzGetItemIconPath                          takes item whichItem returns string
3950
native BlzSetUnitName                              takes unit whichUnit, string name returns nothing
3951
native BlzSetHeroProperName                        takes unit whichUnit, string heroProperName returns nothing
3952
native BlzGetUnitBaseDamage                        takes unit whichUnit, integer weaponIndex returns integer
3953
native BlzSetUnitBaseDamage                        takes unit whichUnit, integer baseDamage, integer weaponIndex returns nothing
3954
native BlzGetUnitDiceNumber                        takes unit whichUnit, integer weaponIndex returns integer
3955
native BlzSetUnitDiceNumber                        takes unit whichUnit, integer diceNumber, integer weaponIndex returns nothing
3956
native BlzGetUnitDiceSides                         takes unit whichUnit, integer weaponIndex returns integer
3957
native BlzSetUnitDiceSides                         takes unit whichUnit, integer diceSides, integer weaponIndex returns nothing
3958
native BlzGetUnitAttackCooldown                    takes unit whichUnit, integer weaponIndex returns real
3959
native BlzSetUnitAttackCooldown                    takes unit whichUnit, real cooldown, integer weaponIndex returns nothing
3960
native BlzSetSpecialEffectColorByPlayer            takes effect whichEffect, player whichPlayer returns nothing
3961
native BlzSetSpecialEffectColor                    takes effect whichEffect, integer r, integer g, integer b returns nothing
3962
native BlzSetSpecialEffectAlpha                    takes effect whichEffect, integer alpha returns nothing
3963
native BlzSetSpecialEffectScale                    takes effect whichEffect, real scale returns nothing
3964
native BlzSetSpecialEffectPosition                 takes effect whichEffect, real x, real y, real z returns nothing
3965
native BlzSetSpecialEffectHeight                   takes effect whichEffect, real height returns nothing
3966
native BlzSetSpecialEffectTimeScale                takes effect whichEffect, real timeScale returns nothing
3967
native BlzSetSpecialEffectTime                     takes effect whichEffect, real time returns nothing
3968
native BlzSetSpecialEffectOrientation              takes effect whichEffect, real yaw, real pitch, real roll returns nothing
3969
native BlzSetSpecialEffectYaw                      takes effect whichEffect, real yaw returns nothing
3970
native BlzSetSpecialEffectPitch                    takes effect whichEffect, real pitch returns nothing
3971
native BlzSetSpecialEffectRoll                     takes effect whichEffect, real roll returns nothing
3972
native BlzSetSpecialEffectX                        takes effect whichEffect, real x returns nothing
3973
native BlzSetSpecialEffectY                        takes effect whichEffect, real y returns nothing
3974
native BlzSetSpecialEffectZ                        takes effect whichEffect, real z returns nothing
3975
native BlzSetSpecialEffectPositionLoc              takes effect whichEffect, location loc returns nothing
3976
native BlzGetLocalSpecialEffectX                   takes effect whichEffect returns real
3977
native BlzGetLocalSpecialEffectY                   takes effect whichEffect returns real
3978
native BlzGetLocalSpecialEffectZ                   takes effect whichEffect returns real
3979
native BlzSpecialEffectClearSubAnimations          takes effect whichEffect returns nothing
3980
native BlzSpecialEffectRemoveSubAnimation          takes effect whichEffect, subanimtype whichSubAnim returns nothing
3981
native BlzSpecialEffectAddSubAnimation             takes effect whichEffect, subanimtype whichSubAnim returns nothing
3982
native BlzPlaySpecialEffect                        takes effect whichEffect, animtype whichAnim returns nothing
3983
native BlzPlaySpecialEffectWithTimeScale           takes effect whichEffect, animtype whichAnim, real timeScale returns nothing
3984
native BlzGetAnimName                              takes animtype whichAnim returns string
3985
native BlzGetUnitArmor                             takes unit whichUnit returns real
3986
native BlzSetUnitArmor                             takes unit whichUnit, real armorAmount returns nothing
3987
native BlzUnitHideAbility                          takes unit whichUnit, integer abilId, boolean flag returns nothing
3988
native BlzUnitDisableAbility                       takes unit whichUnit, integer abilId, boolean flag, boolean hideUI returns nothing
3989
native BlzUnitCancelTimedLife                      takes unit whichUnit returns nothing
3990
native BlzIsUnitSelectable                         takes unit whichUnit returns boolean
3991
native BlzIsUnitInvulnerable                       takes unit whichUnit returns boolean
3992
native BlzUnitInterruptAttack                      takes unit whichUnit returns nothing
3993
native BlzGetUnitCollisionSize                     takes unit whichUnit returns real
3994
native BlzGetAbilityManaCost                       takes integer abilId, integer level returns integer
3995
native BlzGetAbilityCooldown                       takes integer abilId, integer level returns real
3996
native BlzSetUnitAbilityCooldown                   takes unit whichUnit, integer abilId, integer level, real cooldown returns nothing
3997
native BlzGetUnitAbilityCooldown                   takes unit whichUnit, integer abilId, integer level returns real
3998
native BlzGetUnitAbilityCooldownRemaining          takes unit whichUnit, integer abilId returns real
3999
native BlzEndUnitAbilityCooldown                   takes unit whichUnit, integer abilCode returns nothing
4000
native BlzStartUnitAbilityCooldown                 takes unit whichUnit, integer abilCode, real cooldown returns nothing
4001
native BlzGetUnitAbilityManaCost                   takes unit whichUnit, integer abilId, integer level returns integer
4002
native BlzSetUnitAbilityManaCost                   takes unit whichUnit, integer abilId, integer level, integer manaCost returns nothing
4003
native BlzGetLocalUnitZ                            takes unit whichUnit returns real
4004
native BlzDecPlayerTechResearched                  takes player whichPlayer, integer techid, integer levels returns nothing
4005
native BlzSetEventDamage                           takes real damage returns nothing
4006
native BlzGetEventDamageTarget                        takes nothing returns unit
4007
native BlzGetEventAttackType                         takes nothing returns attacktype
4008
native BlzGetEventDamageType                       takes nothing returns damagetype
4009
native BlzGetEventWeaponType                         takes nothing returns weapontype
4010
native BlzSetEventAttackType                       takes attacktype attackType returns boolean
4011
native BlzSetEventDamageType                       takes damagetype damageType returns boolean
4012
native BlzSetEventWeaponType                       takes weapontype weaponType returns boolean
4013
native BlzGetEventIsAttack                         takes nothing returns boolean
4014
// Add this function to follow the style of GetUnitX and GetUnitY, it has the same result as BlzGetLocalUnitZ
4015
native BlzGetUnitZ                                 takes unit whichUnit returns real
4016
native BlzEnableSelections                         takes boolean enableSelection, boolean enableSelectionCircle returns nothing
4017
native BlzIsSelectionEnabled                       takes nothing returns boolean
4018
native BlzIsSelectionCircleEnabled                 takes nothing returns boolean
4019
native BlzCameraSetupApplyForceDurationSmooth      takes camerasetup whichSetup, boolean doPan, real forcedDuration, real easeInDuration, real easeOutDuration, real smoothFactor returns nothing
4020
native BlzEnableTargetIndicator                    takes boolean enable returns nothing
4021
native BlzIsTargetIndicatorEnabled                 takes nothing returns boolean
4022
native BlzShowTerrain                              takes boolean show returns nothing
4023
native BlzShowSkyBox                               takes boolean show returns nothing
4024
native BlzStartRecording                           takes integer fps returns nothing
4025
native BlzEndRecording                             takes nothing returns nothing
4026
native BlzShowUnitTeamGlow                         takes unit whichUnit, boolean show returns nothing
4027
4028
native BlzGetOriginFrame                           takes originframetype frameType, integer index returns framehandle
4029
native BlzEnableUIAutoPosition                     takes boolean enable returns nothing
4030
native BlzHideOriginFrames                         takes boolean enable returns nothing
4031
native BlzConvertColor                             takes integer a, integer r, integer g, integer b returns integer
4032
native BlzLoadTOCFile                              takes string TOCFile returns boolean
4033
native BlzCreateFrame                              takes string name, framehandle owner, integer priority, integer createContext returns framehandle
4034
native BlzCreateSimpleFrame                        takes string name, framehandle owner, integer createContext returns framehandle
4035
native BlzCreateFrameByType                        takes string typeName, string name, framehandle owner, string inherits, integer createContext returns framehandle
4036
native BlzDestroyFrame                             takes framehandle frame returns nothing
4037
native BlzFrameSetPoint                            takes framehandle frame, framepointtype point, framehandle relative, framepointtype relativePoint, real x, real y returns nothing
4038
native BlzFrameSetAbsPoint                         takes framehandle frame, framepointtype point, real x, real y returns nothing
4039
native BlzFrameClearAllPoints                      takes framehandle frame returns nothing
4040
native BlzFrameSetAllPoints                        takes framehandle frame, framehandle relative returns nothing
4041
native BlzFrameSetVisible                          takes framehandle frame, boolean visible returns nothing
4042
native BlzFrameIsVisible                           takes framehandle frame returns boolean
4043
native BlzGetFrameByName                           takes string name, integer createContext returns framehandle
4044
native BlzFrameGetName                             takes framehandle frame returns string
4045
native BlzFrameClick                               takes framehandle frame returns nothing
4046
native BlzFrameSetText                             takes framehandle frame, string text returns nothing
4047
native BlzFrameGetText                             takes framehandle frame returns string
4048
native BlzFrameAddText                             takes framehandle frame, string text returns nothing
4049
native BlzFrameSetTextSizeLimit                    takes framehandle frame, integer size returns nothing
4050
native BlzFrameGetTextSizeLimit                    takes framehandle frame returns integer
4051
native BlzFrameSetTextColor                        takes framehandle frame, integer color returns nothing
4052
native BlzFrameSetFocus                            takes framehandle frame, boolean flag returns nothing
4053
native BlzFrameSetModel                            takes framehandle frame, string modelFile, integer cameraIndex returns nothing
4054
native BlzFrameSetEnable                           takes framehandle frame, boolean enabled returns nothing
4055
native BlzFrameGetEnable                           takes framehandle frame returns boolean
4056
native BlzFrameSetAlpha                            takes framehandle frame, integer alpha returns nothing
4057
native BlzFrameGetAlpha                            takes framehandle frame returns integer
4058
native BlzFrameSetSpriteAnimate                    takes framehandle frame, integer primaryProp, integer flags returns nothing
4059
native BlzFrameSetTexture                          takes framehandle frame, string texFile, integer flag, boolean blend returns nothing
4060
native BlzFrameSetScale                            takes framehandle frame, real scale returns nothing
4061
native BlzFrameSetTooltip                          takes framehandle frame, framehandle tooltip returns nothing
4062
native BlzFrameCageMouse                           takes framehandle frame, boolean enable returns nothing
4063
native BlzFrameSetValue                            takes framehandle frame, real value returns nothing
4064
native BlzFrameGetValue                            takes framehandle frame returns real
4065
native BlzFrameSetMinMaxValue                      takes framehandle frame, real minValue, real maxValue returns nothing
4066
native BlzFrameSetStepSize                         takes framehandle frame, real stepSize returns nothing
4067
native BlzFrameSetSize                             takes framehandle frame, real width, real height returns nothing
4068
native BlzFrameSetVertexColor                      takes framehandle frame, integer color returns nothing
4069
native BlzFrameSetLevel                            takes framehandle frame, integer level returns nothing
4070
native BlzFrameSetParent                           takes framehandle frame, framehandle parent returns nothing
4071
native BlzFrameGetParent                           takes framehandle frame returns framehandle
4072
native BlzFrameGetHeight                           takes framehandle frame returns real
4073
native BlzFrameGetWidth                            takes framehandle frame returns real
4074
native BlzFrameSetFont                             takes framehandle frame, string fileName, real height, integer flags returns nothing
4075
native BlzFrameSetTextAlignment                    takes framehandle frame, textaligntype vert, textaligntype horz returns nothing
4076
native BlzFrameGetChildrenCount                    takes framehandle frame returns integer
4077
native BlzFrameGetChild                            takes framehandle frame, integer index returns framehandle
4078
native BlzTriggerRegisterFrameEvent                takes trigger whichTrigger, framehandle frame, frameeventtype eventId returns event
4079
native BlzGetTriggerFrame                          takes nothing returns framehandle
4080
native BlzGetTriggerFrameEvent                     takes nothing returns frameeventtype
4081
native BlzGetTriggerFrameValue                     takes nothing returns real
4082
native BlzGetTriggerFrameText                      takes nothing returns string
4083
native BlzTriggerRegisterPlayerSyncEvent           takes trigger whichTrigger, player whichPlayer, string prefix, boolean fromServer returns event
4084
native BlzSendSyncData                             takes string prefix, string data returns boolean
4085
native BlzGetTriggerSyncPrefix                     takes nothing returns string
4086
native BlzGetTriggerSyncData                       takes nothing returns string
4087
native BlzTriggerRegisterPlayerKeyEvent            takes trigger whichTrigger, player whichPlayer, oskeytype key, integer metaKey, boolean keyDown returns event
4088
native BlzGetTriggerPlayerKey                      takes nothing returns oskeytype
4089
native BlzGetTriggerPlayerMetaKey                  takes nothing returns integer
4090
native BlzGetTriggerPlayerIsKeyDown                takes nothing returns boolean
4091
native BlzEnableCursor                             takes boolean enable returns nothing
4092
native BlzSetMousePos                              takes integer x, integer y returns nothing
4093
native BlzGetLocalClientWidth                      takes nothing returns integer
4094
native BlzGetLocalClientHeight                     takes nothing returns integer
4095
native BlzIsLocalClientActive                      takes nothing returns boolean
4096
native BlzGetMouseFocusUnit                        takes nothing returns unit
4097
native BlzChangeMinimapTerrainTex                  takes string texFile returns boolean
4098
native BlzGetLocale                                takes nothing returns string
4099
native BlzGetSpecialEffectScale                    takes effect whichEffect returns real
4100
native BlzSetSpecialEffectMatrixScale              takes effect whichEffect, real x, real y, real z returns nothing
4101
native BlzResetSpecialEffectMatrix                 takes effect whichEffect returns nothing
4102
native BlzGetUnitAbility                           takes unit whichUnit, integer abilId returns ability
4103
native BlzGetUnitAbilityByIndex                    takes unit whichUnit, integer index returns ability
4104
native BlzGetAbilityId                             takes ability whichAbility returns integer
4105
native BlzDisplayChatMessage                       takes player whichPlayer, integer recipient, string message returns nothing
4106
native BlzPauseUnitEx                              takes unit whichUnit, boolean flag returns nothing
4107
// native BlzFourCC2S                                 takes integer value returns string
4108
// native BlzS2FourCC                                 takes string value returns integer
4109
native BlzSetUnitFacingEx                          takes unit whichUnit, real facingAngle returns nothing
4110
4111
native CreateCommandButtonEffect                   takes integer abilityId, string order returns commandbuttoneffect
4112
native CreateUpgradeCommandButtonEffect            takes integer whichUprgade returns commandbuttoneffect
4113
native CreateLearnCommandButtonEffect              takes integer abilityId returns commandbuttoneffect
4114
native DestroyCommandButtonEffect                  takes commandbuttoneffect whichEffect returns nothing
4115
4116
// Bit Operations
4117
native BlzBitOr                                    takes integer x, integer y returns integer
4118
native BlzBitAnd                                   takes integer x, integer y returns integer
4119
native BlzBitXor                                   takes integer x, integer y returns integer 
4120
4121
// Intanced Object Operations
4122
// Ability
4123
native BlzGetAbilityBooleanField                   takes ability whichAbility, abilitybooleanfield whichField returns boolean
4124
native BlzGetAbilityIntegerField                   takes ability whichAbility, abilityintegerfield whichField returns integer
4125
native BlzGetAbilityRealField                      takes ability whichAbility, abilityrealfield whichField returns real
4126
native BlzGetAbilityStringField                    takes ability whichAbility, abilitystringfield whichField returns string
4127
native BlzGetAbilityBooleanLevelField              takes ability whichAbility, abilitybooleanlevelfield whichField, integer level returns boolean
4128
native BlzGetAbilityIntegerLevelField              takes ability whichAbility, abilityintegerlevelfield whichField, integer level returns integer
4129
native BlzGetAbilityRealLevelField                 takes ability whichAbility, abilityreallevelfield whichField, integer level returns real
4130
native BlzGetAbilityStringLevelField               takes ability whichAbility, abilitystringlevelfield whichField, integer level returns string
4131
native BlzGetAbilityBooleanLevelArrayField         takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, integer index returns boolean
4132
native BlzGetAbilityIntegerLevelArrayField         takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer index returns integer
4133
native BlzGetAbilityRealLevelArrayField            takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, integer index returns real
4134
native BlzGetAbilityStringLevelArrayField          takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, integer index returns string
4135
native BlzSetAbilityBooleanField                   takes ability whichAbility, abilitybooleanfield whichField, boolean value returns boolean
4136
native BlzSetAbilityIntegerField                   takes ability whichAbility, abilityintegerfield whichField, integer value returns boolean
4137
native BlzSetAbilityRealField                      takes ability whichAbility, abilityrealfield whichField, real value returns boolean
4138
native BlzSetAbilityStringField                    takes ability whichAbility, abilitystringfield whichField, string value returns boolean
4139
native BlzSetAbilityBooleanLevelField              takes ability whichAbility, abilitybooleanlevelfield whichField, integer level, boolean value returns boolean
4140
native BlzSetAbilityIntegerLevelField              takes ability whichAbility, abilityintegerlevelfield whichField, integer level, integer value returns boolean
4141
native BlzSetAbilityRealLevelField                 takes ability whichAbility, abilityreallevelfield whichField, integer level, real value returns boolean
4142
native BlzSetAbilityStringLevelField               takes ability whichAbility, abilitystringlevelfield whichField, integer level, string value returns boolean
4143
native BlzSetAbilityBooleanLevelArrayField         takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, integer index, boolean value returns boolean
4144
native BlzSetAbilityIntegerLevelArrayField         takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer index, integer value returns boolean
4145
native BlzSetAbilityRealLevelArrayField            takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, integer index, real value returns boolean
4146
native BlzSetAbilityStringLevelArrayField          takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, integer index, string value returns boolean
4147
native BlzAddAbilityBooleanLevelArrayField         takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, boolean value returns boolean
4148
native BlzAddAbilityIntegerLevelArrayField         takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer value returns boolean
4149
native BlzAddAbilityRealLevelArrayField            takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, real value returns boolean
4150
native BlzAddAbilityStringLevelArrayField          takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, string value returns boolean
4151
native BlzRemoveAbilityBooleanLevelArrayField      takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, boolean value returns boolean
4152
native BlzRemoveAbilityIntegerLevelArrayField      takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer value returns boolean
4153
native BlzRemoveAbilityRealLevelArrayField         takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, real value returns boolean
4154
native BlzRemoveAbilityStringLevelArrayField       takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, string value returns boolean
4155
4156
// Item 
4157
native BlzGetItemAbilityByIndex                    takes item whichItem, integer index returns ability
4158
native BlzGetItemAbility                           takes item whichItem, integer abilCode returns ability
4159
native BlzItemAddAbility                           takes item whichItem, integer abilCode returns boolean
4160
native BlzGetItemBooleanField                      takes item whichItem, itembooleanfield whichField returns boolean
4161
native BlzGetItemIntegerField                      takes item whichItem, itemintegerfield whichField returns integer
4162
native BlzGetItemRealField                         takes item whichItem, itemrealfield whichField returns real
4163
native BlzGetItemStringField                       takes item whichItem, itemstringfield whichField returns string
4164
native BlzSetItemBooleanField                      takes item whichItem, itembooleanfield whichField, boolean value returns boolean
4165
native BlzSetItemIntegerField                      takes item whichItem, itemintegerfield whichField, integer value returns boolean
4166
native BlzSetItemRealField                         takes item whichItem, itemrealfield whichField, real value returns boolean
4167
native BlzSetItemStringField                       takes item whichItem, itemstringfield whichField, string value returns boolean
4168
native BlzItemRemoveAbility                        takes item whichItem, integer abilCode returns boolean
4169
4170
// Unit 
4171
native BlzGetUnitBooleanField                      takes unit whichUnit, unitbooleanfield whichField returns boolean
4172
native BlzGetUnitIntegerField                      takes unit whichUnit, unitintegerfield whichField returns integer
4173
native BlzGetUnitRealField                         takes unit whichUnit, unitrealfield whichField returns real
4174
native BlzGetUnitStringField                       takes unit whichUnit, unitstringfield whichField returns string
4175
native BlzSetUnitBooleanField                      takes unit whichUnit, unitbooleanfield whichField, boolean value returns boolean
4176
native BlzSetUnitIntegerField                      takes unit whichUnit, unitintegerfield whichField, integer value returns boolean
4177
native BlzSetUnitRealField                         takes unit whichUnit, unitrealfield whichField, real value returns boolean
4178
native BlzSetUnitStringField                       takes unit whichUnit, unitstringfield whichField, string value returns boolean
4179
4180
// Unit Weapon
4181
native BlzGetUnitWeaponBooleanField                takes unit whichUnit, unitweaponbooleanfield whichField, integer index returns boolean
4182
native BlzGetUnitWeaponIntegerField                takes unit whichUnit, unitweaponintegerfield whichField, integer index returns integer
4183
native BlzGetUnitWeaponRealField                   takes unit whichUnit, unitweaponrealfield whichField, integer index returns real
4184
native BlzGetUnitWeaponStringField                 takes unit whichUnit, unitweaponstringfield whichField, integer index returns string
4185
native BlzSetUnitWeaponBooleanField                takes unit whichUnit, unitweaponbooleanfield whichField, integer index, boolean value returns boolean
4186
native BlzSetUnitWeaponIntegerField                takes unit whichUnit, unitweaponintegerfield whichField, integer index, integer value returns boolean
4187
native BlzSetUnitWeaponRealField                   takes unit whichUnit, unitweaponrealfield whichField, integer index, real value returns boolean
4188
native BlzSetUnitWeaponStringField                 takes unit whichUnit, unitweaponstringfield whichField, integer index, string value returns boolean
4189
4190
// Skin
4191
native BlzGetUnitSkin                                 takes unit whichUnit returns integer
4192
native BlzGetItemSkin                                 takes item whichItem returns integer
4193
// native BlzGetDestructableSkin                         takes destructable whichDestructable returns integer
4194
native BlzSetUnitSkin                                 takes unit whichUnit, integer skinId returns nothing
4195
native BlzSetItemSkin                                 takes item whichItem, integer skinId returns nothing
4196
// native BlzSetDestructableSkin                         takes destructable whichDestructable, integer skinId returns nothing
4197
4198
native BlzCreateItemWithSkin                       takes integer itemid, real x, real y, integer skinId returns item
4199
native BlzCreateUnitWithSkin                       takes player id, integer unitid, real x, real y, real face, integer skinId returns unit
4200
native BlzCreateDestructableWithSkin               takes integer objectid, real x, real y, real face, real scale, integer variation, integer skinId returns destructable
4201
native BlzCreateDestructableZWithSkin              takes integer objectid, real x, real y, real z, real face, real scale, integer variation, integer skinId returns destructable
4202
native BlzCreateDeadDestructableWithSkin           takes integer objectid, real x, real y, real face, real scale, integer variation, integer skinId returns destructable
4203
native BlzCreateDeadDestructableZWithSkin          takes integer objectid, real x, real y, real z, real face, real scale, integer variation, integer skinId returns destructable
4204
native BlzGetPlayerTownHallCount                   takes player whichPlayer returns integer
4205
4206
native BlzQueueImmediateOrderById      takes unit whichUnit, integer order returns boolean
4207
native BlzQueuePointOrderById          takes unit whichUnit, integer order, real x, real y returns boolean
4208
native BlzQueueTargetOrderById         takes unit whichUnit, integer order, widget targetWidget returns boolean
4209
native BlzQueueInstantPointOrderById   takes unit whichUnit, integer order, real x, real y, widget instantTargetWidget returns boolean
4210
native BlzQueueInstantTargetOrderById  takes unit whichUnit, integer order, widget targetWidget, widget instantTargetWidget returns boolean
4211
native BlzQueueBuildOrderById          takes unit whichPeon, integer unitId, real x, real y returns boolean
4212
native BlzQueueNeutralImmediateOrderById   takes player forWhichPlayer,unit neutralStructure, integer unitId returns boolean
4213
native BlzQueueNeutralPointOrderById       takes player forWhichPlayer,unit neutralStructure, integer unitId, real x, real y returns boolean
4214
native BlzQueueNeutralTargetOrderById      takes player forWhichPlayer,unit neutralStructure, integer unitId, widget target returns boolean
4215
4216
// returns the number of orders the unit currently has queued up
4217
native BlzGetUnitOrderCount takes unit whichUnit returns integer
4218
// clears either all orders or only queued up orders
4219
native BlzUnitClearOrders takes unit whichUnit, boolean onlyQueued returns nothing
4220
// stops the current order and optionally clears the queue
4221
native BlzUnitForceStopOrder takes unit whichUnit, boolean clearQueue returns nothing