Jass documentation Database

JASS Documentation Database REFORGED


Displaying content of file "common.j" at line "182"

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 unitintegerfield               extends handle
  117. type unitrealfield                  extends handle
  118. type unitbooleanfield               extends handle
  119. type unitstringfield                extends handle
  120. type unitweaponintegerfield         extends handle
  121. type unitweaponrealfield            extends handle
  122. type unitweaponbooleanfield         extends handle
  123. type unitweaponstringfield          extends handle
  124. type itemintegerfield               extends handle
  125. type itemrealfield                  extends handle
  126. type itembooleanfield               extends handle
  127. type itemstringfield                extends handle
  128. type movetype                       extends handle
  129. type targetflag                     extends handle
  130. type armortype                      extends handle
  131. type heroattribute                  extends handle
  132. type defensetype                    extends handle
  133. type regentype                      extends handle
  134. type unitcategory                   extends handle
  135. type pathingflag                    extends handle
  136. type commandbuttoneffect            extends handle
  137.  
  138.  
  139. constant native ConvertRace                 takes integer i returns race
  140. constant native ConvertAllianceType         takes integer i returns alliancetype
  141. constant native ConvertRacePref             takes integer i returns racepreference
  142. constant native ConvertIGameState           takes integer i returns igamestate
  143. constant native ConvertFGameState           takes integer i returns fgamestate
  144. constant native ConvertPlayerState          takes integer i returns playerstate
  145. constant native ConvertPlayerScore          takes integer i returns playerscore
  146. constant native ConvertPlayerGameResult     takes integer i returns playergameresult
  147. constant native ConvertUnitState            takes integer i returns unitstate
  148. constant native ConvertAIDifficulty         takes integer i returns aidifficulty
  149. constant native ConvertGameEvent            takes integer i returns gameevent
  150. constant native ConvertPlayerEvent          takes integer i returns playerevent
  151. constant native ConvertPlayerUnitEvent      takes integer i returns playerunitevent
  152. constant native ConvertWidgetEvent          takes integer i returns widgetevent
  153. constant native ConvertDialogEvent          takes integer i returns dialogevent
  154. constant native ConvertUnitEvent            takes integer i returns unitevent
  155. constant native ConvertLimitOp              takes integer i returns limitop
  156. constant native ConvertUnitType             takes integer i returns unittype
  157. constant native ConvertGameSpeed            takes integer i returns gamespeed
  158. constant native ConvertPlacement            takes integer i returns placement
  159. constant native ConvertStartLocPrio         takes integer i returns startlocprio
  160. constant native ConvertGameDifficulty       takes integer i returns gamedifficulty
  161. constant native ConvertGameType             takes integer i returns gametype
  162. constant native ConvertMapFlag              takes integer i returns mapflag
  163. constant native ConvertMapVisibility        takes integer i returns mapvisibility
  164. constant native ConvertMapSetting           takes integer i returns mapsetting
  165. constant native ConvertMapDensity           takes integer i returns mapdensity
  166. constant native ConvertMapControl           takes integer i returns mapcontrol
  167. constant native ConvertPlayerColor          takes integer i returns playercolor
  168. constant native ConvertPlayerSlotState      takes integer i returns playerslotstate
  169. constant native ConvertVolumeGroup          takes integer i returns volumegroup
  170. constant native ConvertCameraField          takes integer i returns camerafield
  171. constant native ConvertBlendMode            takes integer i returns blendmode
  172. constant native ConvertRarityControl        takes integer i returns raritycontrol
  173. constant native ConvertTexMapFlags          takes integer i returns texmapflags
  174. constant native ConvertFogState             takes integer i returns fogstate
  175. constant native ConvertEffectType           takes integer i returns effecttype
  176. constant native ConvertVersion              takes integer i returns version
  177. constant native ConvertItemType             takes integer i returns itemtype
  178. constant native ConvertAttackType           takes integer i returns attacktype
  179. constant native ConvertDamageType           takes integer i returns damagetype
  180. constant native ConvertWeaponType           takes integer i returns weapontype
  181. constant native ConvertSoundType            takes integer i returns soundtype
  182. constant native ConvertPathingType          takes integer i returns pathingtype
  183. constant native ConvertMouseButtonType      takes integer i returns mousebuttontype
  184. constant native ConvertAnimType             takes integer i returns animtype
  185. constant native ConvertSubAnimType          takes integer i returns subanimtype
  186. constant native ConvertOriginFrameType      takes integer i returns originframetype
  187. constant native ConvertFramePointType       takes integer i returns framepointtype
  188. constant native ConvertTextAlignType        takes integer i returns textaligntype
  189. constant native ConvertFrameEventType       takes integer i returns frameeventtype
  190. constant native ConvertOsKeyType            takes integer i returns oskeytype
  191. constant native ConvertAbilityIntegerField              takes integer i returns abilityintegerfield
  192. constant native ConvertAbilityRealField                 takes integer i returns abilityrealfield
  193. constant native ConvertAbilityBooleanField              takes integer i returns abilitybooleanfield
  194. constant native ConvertAbilityStringField               takes integer i returns abilitystringfield
  195. constant native ConvertAbilityIntegerLevelField         takes integer i returns abilityintegerlevelfield
  196. constant native ConvertAbilityRealLevelField            takes integer i returns abilityreallevelfield
  197. constant native ConvertAbilityBooleanLevelField         takes integer i returns abilitybooleanlevelfield
  198. constant native ConvertAbilityStringLevelField          takes integer i returns abilitystringlevelfield
  199. constant native ConvertUnitIntegerField                 takes integer i returns unitintegerfield
  200. constant native ConvertUnitRealField                    takes integer i returns unitrealfield
  201. constant native ConvertUnitBooleanField                 takes integer i returns unitbooleanfield
  202. constant native ConvertUnitStringField                  takes integer i returns unitstringfield
  203. constant native ConvertUnitWeaponIntegerField           takes integer i returns unitweaponintegerfield
  204. constant native ConvertUnitWeaponRealField              takes integer i returns unitweaponrealfield
  205. constant native ConvertUnitWeaponBooleanField           takes integer i returns unitweaponbooleanfield
  206. constant native ConvertUnitWeaponStringField            takes integer i returns unitweaponstringfield
  207. constant native ConvertItemIntegerField                 takes integer i returns itemintegerfield
  208. constant native ConvertItemRealField                    takes integer i returns itemrealfield
  209. constant native ConvertItemBooleanField                 takes integer i returns itembooleanfield
  210. constant native ConvertItemStringField                  takes integer i returns itemstringfield
  211. constant native ConvertMoveType                         takes integer i returns movetype
  212. constant native ConvertTargetFlag                       takes integer i returns targetflag
  213. constant native ConvertArmorType                        takes integer i returns armortype
  214. constant native ConvertHeroAttribute                    takes integer i returns heroattribute
  215. constant native ConvertDefenseType                      takes integer i returns defensetype
  216. constant native ConvertRegenType                        takes integer i returns regentype
  217. constant native ConvertUnitCategory                     takes integer i returns unitcategory
  218. constant native ConvertPathingFlag                      takes integer i returns pathingflag
  219.  
  220. constant native OrderId                     takes string  orderIdString     returns integer
  221. constant native OrderId2String              takes integer orderId           returns string
  222. constant native UnitId                      takes string  unitIdString      returns integer
  223. constant native UnitId2String               takes integer unitId            returns string
  224.  
  225. // Not currently working correctly...
  226. constant native AbilityId                   takes string  abilityIdString   returns integer
  227. constant native AbilityId2String            takes integer abilityId         returns string
  228.  
  229. // Looks up the "name" field for any object (unit, item, ability)
  230. constant native GetObjectName               takes integer objectId          returns string
  231.  
  232. constant native GetBJMaxPlayers             takes nothing returns integer
  233. constant native GetBJPlayerNeutralVictim    takes nothing returns integer
  234. constant native GetBJPlayerNeutralExtra     takes nothing returns integer
  235. constant native GetBJMaxPlayerSlots         takes nothing returns integer
  236. constant native GetPlayerNeutralPassive     takes nothing returns integer
  237. constant native GetPlayerNeutralAggressive  takes nothing returns integer
  238.  
  239. globals
  240.  
  241. //===================================================
  242. // Game Constants
  243. //===================================================
  244.  
  245.     // pfff
  246.     constant boolean            FALSE                           = false
  247.     constant boolean            TRUE                            = true
  248.     constant integer            JASS_MAX_ARRAY_SIZE             = 32768
  249.  
  250.     constant integer            PLAYER_NEUTRAL_PASSIVE          = GetPlayerNeutralPassive()
  251.     constant integer            PLAYER_NEUTRAL_AGGRESSIVE       = GetPlayerNeutralAggressive()
  252.  
  253.     constant playercolor        PLAYER_COLOR_RED                = ConvertPlayerColor(0)
  254.     constant playercolor        PLAYER_COLOR_BLUE               = ConvertPlayerColor(1)
  255.     constant playercolor        PLAYER_COLOR_CYAN               = ConvertPlayerColor(2)
  256.     constant playercolor        PLAYER_COLOR_PURPLE             = ConvertPlayerColor(3)
  257.     constant playercolor        PLAYER_COLOR_YELLOW             = ConvertPlayerColor(4)
  258.     constant playercolor        PLAYER_COLOR_ORANGE             = ConvertPlayerColor(5)
  259.     constant playercolor        PLAYER_COLOR_GREEN              = ConvertPlayerColor(6)
  260.     constant playercolor        PLAYER_COLOR_PINK               = ConvertPlayerColor(7)
  261.     constant playercolor        PLAYER_COLOR_LIGHT_GRAY         = ConvertPlayerColor(8)
  262.     constant playercolor        PLAYER_COLOR_LIGHT_BLUE         = ConvertPlayerColor(9)
  263.     constant playercolor        PLAYER_COLOR_AQUA               = ConvertPlayerColor(10)
  264.     constant playercolor        PLAYER_COLOR_BROWN              = ConvertPlayerColor(11)
  265.     constant playercolor        PLAYER_COLOR_MAROON             = ConvertPlayerColor(12)
  266.     constant playercolor        PLAYER_COLOR_NAVY               = ConvertPlayerColor(13)
  267.     constant playercolor        PLAYER_COLOR_TURQUOISE          = ConvertPlayerColor(14)
  268.     constant playercolor        PLAYER_COLOR_VIOLET             = ConvertPlayerColor(15)
  269.     constant playercolor        PLAYER_COLOR_WHEAT              = ConvertPlayerColor(16)
  270.     constant playercolor        PLAYER_COLOR_PEACH              = ConvertPlayerColor(17)
  271.     constant playercolor        PLAYER_COLOR_MINT               = ConvertPlayerColor(18)
  272.     constant playercolor        PLAYER_COLOR_LAVENDER           = ConvertPlayerColor(19)
  273.     constant playercolor        PLAYER_COLOR_COAL               = ConvertPlayerColor(20)
  274.     constant playercolor        PLAYER_COLOR_SNOW               = ConvertPlayerColor(21)
  275.     constant playercolor        PLAYER_COLOR_EMERALD            = ConvertPlayerColor(22)
  276.     constant playercolor        PLAYER_COLOR_PEANUT             = ConvertPlayerColor(23)
  277.  
  278.     constant race               RACE_HUMAN                      = ConvertRace(1)
  279.     constant race               RACE_ORC                        = ConvertRace(2)
  280.     constant race               RACE_UNDEAD                     = ConvertRace(3)
  281.     constant race               RACE_NIGHTELF                   = ConvertRace(4)
  282.     constant race               RACE_DEMON                      = ConvertRace(5)
  283.     constant race               RACE_OTHER                      = ConvertRace(7)
  284.  
  285.  
  286.     constant alliancetype       ALLIANCE_PASSIVE                = ConvertAllianceType(0)
  287.     constant alliancetype       ALLIANCE_HELP_REQUEST           = ConvertAllianceType(1)
  288.     constant alliancetype       ALLIANCE_HELP_RESPONSE          = ConvertAllianceType(2)
  289.     constant alliancetype       ALLIANCE_SHARED_XP              = ConvertAllianceType(3)
  290.     constant alliancetype       ALLIANCE_SHARED_SPELLS          = ConvertAllianceType(4)
  291.     constant alliancetype       ALLIANCE_SHARED_VISION          = ConvertAllianceType(5)
  292.     constant alliancetype       ALLIANCE_SHARED_CONTROL         = ConvertAllianceType(6)
  293.     constant alliancetype       ALLIANCE_RESCUABLE              = ConvertAllianceType(8)
  294.  
  295.     constant version            VERSION_REIGN_OF_CHAOS          = ConvertVersion(0)
  296.     constant version            VERSION_FROZEN_THRONE           = ConvertVersion(1)
  297.  
  298.     constant attacktype         ATTACK_TYPE_NORMAL              = ConvertAttackType(0)
  299.     constant attacktype         ATTACK_TYPE_MELEE               = ConvertAttackType(1)
  300.     constant attacktype         ATTACK_TYPE_PIERCE              = ConvertAttackType(2)
  301.     constant attacktype         ATTACK_TYPE_SIEGE               = ConvertAttackType(3)
  302.     constant attacktype         ATTACK_TYPE_MAGIC               = ConvertAttackType(4)
  303.     constant attacktype         ATTACK_TYPE_CHAOS               = ConvertAttackType(5)
  304.     constant attacktype         ATTACK_TYPE_HERO                = ConvertAttackType(6)
  305.  
  306.     constant damagetype         DAMAGE_TYPE_UNKNOWN             = ConvertDamageType(0)
  307.     constant damagetype         DAMAGE_TYPE_NORMAL              = ConvertDamageType(4)
  308.     constant damagetype         DAMAGE_TYPE_ENHANCED            = ConvertDamageType(5)
  309.     constant damagetype         DAMAGE_TYPE_FIRE                = ConvertDamageType(8)
  310.     constant damagetype         DAMAGE_TYPE_COLD                = ConvertDamageType(9)
  311.     constant damagetype         DAMAGE_TYPE_LIGHTNING           = ConvertDamageType(10)
  312.     constant damagetype         DAMAGE_TYPE_POISON              = ConvertDamageType(11)
  313.     constant damagetype         DAMAGE_TYPE_DISEASE             = ConvertDamageType(12)
  314.     constant damagetype         DAMAGE_TYPE_DIVINE              = ConvertDamageType(13)
  315.     constant damagetype         DAMAGE_TYPE_MAGIC               = ConvertDamageType(14)
  316.     constant damagetype         DAMAGE_TYPE_SONIC               = ConvertDamageType(15)
  317.     constant damagetype         DAMAGE_TYPE_ACID                = ConvertDamageType(16)
  318.     constant damagetype         DAMAGE_TYPE_FORCE               = ConvertDamageType(17)
  319.     constant damagetype         DAMAGE_TYPE_DEATH               = ConvertDamageType(18)
  320.     constant damagetype         DAMAGE_TYPE_MIND                = ConvertDamageType(19)
  321.     constant damagetype         DAMAGE_TYPE_PLANT               = ConvertDamageType(20)
  322.     constant damagetype         DAMAGE_TYPE_DEFENSIVE           = ConvertDamageType(21)
  323.     constant damagetype         DAMAGE_TYPE_DEMOLITION          = ConvertDamageType(22)
  324.     constant damagetype         DAMAGE_TYPE_SLOW_POISON         = ConvertDamageType(23)
  325.     constant damagetype         DAMAGE_TYPE_SPIRIT_LINK         = ConvertDamageType(24)
  326.     constant damagetype         DAMAGE_TYPE_SHADOW_STRIKE       = ConvertDamageType(25)
  327.     constant damagetype         DAMAGE_TYPE_UNIVERSAL           = ConvertDamageType(26)
  328.  
  329.     constant weapontype         WEAPON_TYPE_WHOKNOWS            = ConvertWeaponType(0)
  330.     constant weapontype         WEAPON_TYPE_METAL_LIGHT_CHOP    = ConvertWeaponType(1)
  331.     constant weapontype         WEAPON_TYPE_METAL_HEAVY_CHOP    = ConvertWeaponType(3)
  332.     constant weapontype         WEAPON_TYPE_METAL_HEAVY_BASH    = ConvertWeaponType(8)
  333.     constant weapontype         WEAPON_TYPE_METAL_HEAVY_STAB    = ConvertWeaponType(10)
  334.     constant weapontype         WEAPON_TYPE_WOOD_LIGHT_SLICE    = ConvertWeaponType(11)
  335.     constant weapontype         WEAPON_TYPE_WOOD_MEDIUM_SLICE   = ConvertWeaponType(12)
  336.     constant weapontype         WEAPON_TYPE_WOOD_HEAVY_SLICE    = ConvertWeaponType(13)
  337.     constant weapontype         WEAPON_TYPE_WOOD_LIGHT_BASH     = ConvertWeaponType(14)
  338.     constant weapontype         WEAPON_TYPE_WOOD_MEDIUM_BASH    = ConvertWeaponType(15)
  339.     constant weapontype         WEAPON_TYPE_WOOD_HEAVY_BASH     = ConvertWeaponType(16)
  340.     constant weapontype         WEAPON_TYPE_WOOD_LIGHT_STAB     = ConvertWeaponType(17)
  341.     constant weapontype         WEAPON_TYPE_WOOD_MEDIUM_STAB    = ConvertWeaponType(18)
  342.     constant weapontype         WEAPON_TYPE_CLAW_LIGHT_SLICE    = ConvertWeaponType(19)
  343.     constant weapontype         WEAPON_TYPE_CLAW_MEDIUM_SLICE   = ConvertWeaponType(20)
  344.     constant weapontype         WEAPON_TYPE_CLAW_HEAVY_SLICE    = ConvertWeaponType(21)
  345.     constant weapontype         WEAPON_TYPE_AXE_MEDIUM_CHOP     = ConvertWeaponType(22)
  346.     constant weapontype         WEAPON_TYPE_ROCK_HEAVY_BASH     = ConvertWeaponType(23)
  347.  
  348.     constant pathingtype        PATHING_TYPE_ANY                = ConvertPathingType(0)
  349.     constant pathingtype        PATHING_TYPE_WALKABILITY        = ConvertPathingType(1)
  350.     constant pathingtype        PATHING_TYPE_FLYABILITY         = ConvertPathingType(2)
  351.     constant pathingtype        PATHING_TYPE_BUILDABILITY       = ConvertPathingType(3)
  352.     constant pathingtype        PATHING_TYPE_BLIGHTPATHING      = ConvertPathingType(5)
  353.     constant pathingtype        PATHING_TYPE_FLOATABILITY       = ConvertPathingType(6)
  354.  
  355.     constant mousebuttontype    MOUSE_BUTTON_TYPE_LEFT          = ConvertMouseButtonType(1)
  356.  
  357.     constant animtype           ANIM_TYPE_BIRTH                 = ConvertAnimType(0)
  358.     constant animtype           ANIM_TYPE_DEATH                 = ConvertAnimType(1)
  359.     constant animtype           ANIM_TYPE_DECAY                 = ConvertAnimType(2)
  360.     constant animtype           ANIM_TYPE_DISSIPATE             = ConvertAnimType(3)
  361.     constant animtype           ANIM_TYPE_STAND                 = ConvertAnimType(4)
  362.     constant animtype           ANIM_TYPE_WALK                  = ConvertAnimType(5)
  363.     constant animtype           ANIM_TYPE_ATTACK                = ConvertAnimType(6)
  364.     constant animtype           ANIM_TYPE_MORPH                 = ConvertAnimType(7)
  365.     constant animtype           ANIM_TYPE_SLEEP                 = ConvertAnimType(8)
  366.     constant animtype           ANIM_TYPE_SPELL                 = ConvertAnimType(9)
  367.     constant animtype           ANIM_TYPE_PORTRAIT              = ConvertAnimType(10)
  368.  
  369.     constant subanimtype        SUBANIM_TYPE_ROOTED             = ConvertSubAnimType(11)
  370.     constant subanimtype        SUBANIM_TYPE_ALTERNATE_EX       = ConvertSubAnimType(12)
  371.     constant subanimtype        SUBANIM_TYPE_LOOPING            = ConvertSubAnimType(13)
  372.     constant subanimtype        SUBANIM_TYPE_SLAM               = ConvertSubAnimType(14)
  373.     constant subanimtype        SUBANIM_TYPE_THROW              = ConvertSubAnimType(15)
  374.     constant subanimtype        SUBANIM_TYPE_SPIKED             = ConvertSubAnimType(16)
  375.     constant subanimtype        SUBANIM_TYPE_FAST               = ConvertSubAnimType(17)
  376.     constant subanimtype        SUBANIM_TYPE_SPIN               = ConvertSubAnimType(18)
  377.     constant subanimtype        SUBANIM_TYPE_READY              = ConvertSubAnimType(19)
  378.     constant subanimtype        SUBANIM_TYPE_CHANNEL            = ConvertSubAnimType(20)
  379.     constant subanimtype        SUBANIM_TYPE_DEFEND             = ConvertSubAnimType(21)
  380.     constant subanimtype        SUBANIM_TYPE_VICTORY            = ConvertSubAnimType(22)
  381.     constant subanimtype        SUBANIM_TYPE_TURN               = ConvertSubAnimType(23)
  382.     constant subanimtype        SUBANIM_TYPE_LEFT               = ConvertSubAnimType(24)
  383.     constant subanimtype        SUBANIM_TYPE_RIGHT              = ConvertSubAnimType(25)
  384.     constant subanimtype        SUBANIM_TYPE_FIRE               = ConvertSubAnimType(26)
  385.     constant subanimtype        SUBANIM_TYPE_FLESH              = ConvertSubAnimType(27)
  386.     constant subanimtype        SUBANIM_TYPE_HIT                = ConvertSubAnimType(28)
  387.     constant subanimtype        SUBANIM_TYPE_WOUNDED            = ConvertSubAnimType(29)
  388.     constant subanimtype        SUBANIM_TYPE_LIGHT              = ConvertSubAnimType(30)
  389.     constant subanimtype        SUBANIM_TYPE_MODERATE           = ConvertSubAnimType(31)
  390.     constant subanimtype        SUBANIM_TYPE_SEVERE             = ConvertSubAnimType(32)
  391.     constant subanimtype        SUBANIM_TYPE_CRITICAL           = ConvertSubAnimType(33)
  392.     constant subanimtype        SUBANIM_TYPE_COMPLETE           = ConvertSubAnimType(34)
  393.     constant subanimtype        SUBANIM_TYPE_GOLD               = ConvertSubAnimType(35)
  394.     constant subanimtype        SUBANIM_TYPE_LUMBER             = ConvertSubAnimType(36)
  395.     constant subanimtype        SUBANIM_TYPE_WORK               = ConvertSubAnimType(37)
  396.     constant subanimtype        SUBANIM_TYPE_TALK               = ConvertSubAnimType(38)
  397.     constant subanimtype        SUBANIM_TYPE_FIRST              = ConvertSubAnimType(39)
  398.     constant subanimtype        SUBANIM_TYPE_SECOND             = ConvertSubAnimType(40)
  399.     constant subanimtype        SUBANIM_TYPE_THIRD              = ConvertSubAnimType(41)
  400.     constant subanimtype        SUBANIM_TYPE_FOURTH             = ConvertSubAnimType(42)
  401.     constant subanimtype        SUBANIM_TYPE_FIFTH              = ConvertSubAnimType(43)
  402.     constant subanimtype        SUBANIM_TYPE_ONE                = ConvertSubAnimType(44)
  403.     constant subanimtype        SUBANIM_TYPE_TWO                = ConvertSubAnimType(45)
  404.     constant subanimtype        SUBANIM_TYPE_THREE              = ConvertSubAnimType(46)
  405.     constant subanimtype        SUBANIM_TYPE_FOUR               = ConvertSubAnimType(47)
  406.     constant subanimtype        SUBANIM_TYPE_FIVE               = ConvertSubAnimType(48)
  407.     constant subanimtype        SUBANIM_TYPE_SMALL              = ConvertSubAnimType(49)
  408.     constant subanimtype        SUBANIM_TYPE_MEDIUM             = ConvertSubAnimType(50)
  409.     constant subanimtype        SUBANIM_TYPE_LARGE              = ConvertSubAnimType(51)
  410.     constant subanimtype        SUBANIM_TYPE_UPGRADE            = ConvertSubAnimType(52)
  411.     constant subanimtype        SUBANIM_TYPE_DRAIN              = ConvertSubAnimType(53)
  412.     constant subanimtype        SUBANIM_TYPE_FILL               = ConvertSubAnimType(54)
  413.     constant subanimtype        SUBANIM_TYPE_CHAINLIGHTNING     = ConvertSubAnimType(55)
  414.     constant subanimtype        SUBANIM_TYPE_EATTREE            = ConvertSubAnimType(56)
  415.     constant subanimtype        SUBANIM_TYPE_PUKE               = ConvertSubAnimType(57)
  416.     constant subanimtype        SUBANIM_TYPE_FLAIL              = ConvertSubAnimType(58)
  417.     constant subanimtype        SUBANIM_TYPE_OFF                = ConvertSubAnimType(59)
  418.     constant subanimtype        SUBANIM_TYPE_SWIM               = ConvertSubAnimType(60)
  419.     constant subanimtype        SUBANIM_TYPE_ENTANGLE           = ConvertSubAnimType(61)
  420.     constant subanimtype        SUBANIM_TYPE_BERSERK            = ConvertSubAnimType(62)
  421.  
  422. //===================================================
  423. // Map Setup Constants
  424. //===================================================
  425.  
  426.     constant racepreference     RACE_PREF_HUMAN                     = ConvertRacePref(1)
  427.     constant racepreference     RACE_PREF_ORC                       = ConvertRacePref(2)
  428.     constant racepreference     RACE_PREF_NIGHTELF                  = ConvertRacePref(4)
  429.     constant racepreference     RACE_PREF_UNDEAD                    = ConvertRacePref(8)
  430.     constant racepreference     RACE_PREF_DEMON                     = ConvertRacePref(16)
  431.     constant racepreference     RACE_PREF_RANDOM                    = ConvertRacePref(32)
  432.     constant racepreference     RACE_PREF_USER_SELECTABLE           = ConvertRacePref(64)
  433.  
  434.     constant mapcontrol         MAP_CONTROL_USER                    = ConvertMapControl(0)
  435.     constant mapcontrol         MAP_CONTROL_COMPUTER                = ConvertMapControl(1)
  436.     constant mapcontrol         MAP_CONTROL_RESCUABLE               = ConvertMapControl(2)
  437.     constant mapcontrol         MAP_CONTROL_NEUTRAL                 = ConvertMapControl(3)
  438.     constant mapcontrol         MAP_CONTROL_CREEP                   = ConvertMapControl(4)
  439.     constant mapcontrol         MAP_CONTROL_NONE                    = ConvertMapControl(5)
  440.  
  441.     constant gametype           GAME_TYPE_MELEE                     = ConvertGameType(1)
  442.     constant gametype           GAME_TYPE_FFA                       = ConvertGameType(2)
  443.     constant gametype           GAME_TYPE_USE_MAP_SETTINGS          = ConvertGameType(4)
  444.     constant gametype           GAME_TYPE_BLIZ                      = ConvertGameType(8)
  445.     constant gametype           GAME_TYPE_ONE_ON_ONE                = ConvertGameType(16)
  446.     constant gametype           GAME_TYPE_TWO_TEAM_PLAY             = ConvertGameType(32)
  447.     constant gametype           GAME_TYPE_THREE_TEAM_PLAY           = ConvertGameType(64)
  448.     constant gametype           GAME_TYPE_FOUR_TEAM_PLAY            = ConvertGameType(128)
  449.  
  450.     constant mapflag            MAP_FOG_HIDE_TERRAIN                = ConvertMapFlag(1)
  451.     constant mapflag            MAP_FOG_MAP_EXPLORED                = ConvertMapFlag(2)
  452.     constant mapflag            MAP_FOG_ALWAYS_VISIBLE              = ConvertMapFlag(4)
  453.  
  454.     constant mapflag            MAP_USE_HANDICAPS                   = ConvertMapFlag(8)
  455.     constant mapflag            MAP_OBSERVERS                       = ConvertMapFlag(16)
  456.     constant mapflag            MAP_OBSERVERS_ON_DEATH              = ConvertMapFlag(32)
  457.  
  458.     constant mapflag            MAP_FIXED_COLORS                    = ConvertMapFlag(128)
  459.  
  460.     constant mapflag            MAP_LOCK_RESOURCE_TRADING           = ConvertMapFlag(256)
  461.     constant mapflag            MAP_RESOURCE_TRADING_ALLIES_ONLY    = ConvertMapFlag(512)
  462.  
  463.     constant mapflag            MAP_LOCK_ALLIANCE_CHANGES           = ConvertMapFlag(1024)
  464.     constant mapflag            MAP_ALLIANCE_CHANGES_HIDDEN         = ConvertMapFlag(2048)
  465.  
  466.     constant mapflag            MAP_CHEATS                          = ConvertMapFlag(4096)
  467.     constant mapflag            MAP_CHEATS_HIDDEN                   = ConvertMapFlag(8192)
  468.  
  469.     constant mapflag            MAP_LOCK_SPEED                      = ConvertMapFlag(8192*2)
  470.     constant mapflag            MAP_LOCK_RANDOM_SEED                = ConvertMapFlag(8192*4)
  471.     constant mapflag            MAP_SHARED_ADVANCED_CONTROL         = ConvertMapFlag(8192*8)
  472.     constant mapflag            MAP_RANDOM_HERO                     = ConvertMapFlag(8192*16)
  473.     constant mapflag            MAP_RANDOM_RACES                    = ConvertMapFlag(8192*32)
  474.     constant mapflag            MAP_RELOADED                        = ConvertMapFlag(8192*64)
  475.  
  476.     constant placement          MAP_PLACEMENT_RANDOM                = ConvertPlacement(0)   // random among all slots
  477.     constant placement          MAP_PLACEMENT_FIXED                 = ConvertPlacement(1)   // player 0 in start loc 0...
  478.     constant placement          MAP_PLACEMENT_USE_MAP_SETTINGS      = ConvertPlacement(2)   // whatever was specified by the script
  479.     constant placement          MAP_PLACEMENT_TEAMS_TOGETHER        = ConvertPlacement(3)   // random with allies next to each other
  480.  
  481.     constant startlocprio       MAP_LOC_PRIO_LOW                    = ConvertStartLocPrio(0)
  482.     constant startlocprio       MAP_LOC_PRIO_HIGH                   = ConvertStartLocPrio(1)
  483.     constant startlocprio       MAP_LOC_PRIO_NOT                    = ConvertStartLocPrio(2)
  484.  
  485.     constant mapdensity         MAP_DENSITY_NONE                    = ConvertMapDensity(0)
  486.     constant mapdensity         MAP_DENSITY_LIGHT                   = ConvertMapDensity(1)
  487.     constant mapdensity         MAP_DENSITY_MEDIUM                  = ConvertMapDensity(2)
  488.     constant mapdensity         MAP_DENSITY_HEAVY                   = ConvertMapDensity(3)
  489.  
  490.     constant gamedifficulty     MAP_DIFFICULTY_EASY                 = ConvertGameDifficulty(0)
  491.     constant gamedifficulty     MAP_DIFFICULTY_NORMAL               = ConvertGameDifficulty(1)
  492.     constant gamedifficulty     MAP_DIFFICULTY_HARD                 = ConvertGameDifficulty(2)
  493.     constant gamedifficulty     MAP_DIFFICULTY_INSANE               = ConvertGameDifficulty(3)
  494.  
  495.     constant gamespeed          MAP_SPEED_SLOWEST                   = ConvertGameSpeed(0)
  496.     constant gamespeed          MAP_SPEED_SLOW                      = ConvertGameSpeed(1)
  497.     constant gamespeed          MAP_SPEED_NORMAL                    = ConvertGameSpeed(2)
  498.     constant gamespeed          MAP_SPEED_FAST                      = ConvertGameSpeed(3)
  499.     constant gamespeed          MAP_SPEED_FASTEST                   = ConvertGameSpeed(4)
  500.  
  501.     constant playerslotstate    PLAYER_SLOT_STATE_EMPTY             = ConvertPlayerSlotState(0)
  502.     constant playerslotstate    PLAYER_SLOT_STATE_PLAYING           = ConvertPlayerSlotState(1)
  503.     constant playerslotstate    PLAYER_SLOT_STATE_LEFT              = ConvertPlayerSlotState(2)
  504.  
  505. //===================================================
  506. // Sound Constants
  507. //===================================================
  508.     constant volumegroup        SOUND_VOLUMEGROUP_UNITMOVEMENT      = ConvertVolumeGroup(0)
  509.     constant volumegroup        SOUND_VOLUMEGROUP_UNITSOUNDS        = ConvertVolumeGroup(1)
  510.     constant volumegroup        SOUND_VOLUMEGROUP_COMBAT            = ConvertVolumeGroup(2)
  511.     constant volumegroup        SOUND_VOLUMEGROUP_SPELLS            = ConvertVolumeGroup(3)
  512.     constant volumegroup        SOUND_VOLUMEGROUP_UI                = ConvertVolumeGroup(4)
  513.     constant volumegroup        SOUND_VOLUMEGROUP_MUSIC             = ConvertVolumeGroup(5)
  514.     constant volumegroup        SOUND_VOLUMEGROUP_FIRE              = ConvertVolumeGroup(7)
  515.  
  516.  
  517. //===================================================
  518. // Game, Player, and Unit States
  519. //
  520. // For use with TriggerRegister<X>StateEvent
  521. //
  522. //===================================================
  523.  
  524.     constant igamestate GAME_STATE_DISCONNECTED                 = ConvertIGameState(1)
  525.     constant fgamestate GAME_STATE_TIME_OF_DAY                  = ConvertFGameState(2)
  526.  
  527.     constant playerstate PLAYER_STATE_GAME_RESULT               = ConvertPlayerState(0)
  528.  
  529.     // current resource levels
  530.     //
  531.     constant playerstate PLAYER_STATE_RESOURCE_GOLD             = ConvertPlayerState(1)
  532.  
  533.     constant playerstate PLAYER_STATE_GIVES_BOUNTY              = ConvertPlayerState(7)
  534.     constant playerstate PLAYER_STATE_ALLIED_VICTORY            = ConvertPlayerState(8)
  535.     constant playerstate PLAYER_STATE_PLACED                    = ConvertPlayerState(9)
  536.     constant playerstate PLAYER_STATE_OBSERVER                  = ConvertPlayerState(11)
  537.     constant playerstate PLAYER_STATE_UNFOLLOWABLE              = ConvertPlayerState(12)
  538.  
  539.     // taxation rate for each resource
  540.     //
  541.  
  542.     // cumulative resources collected by the player during the mission
  543.     //
  544.     constant playerstate PLAYER_STATE_GOLD_GATHERED             = ConvertPlayerState(15)
  545.     constant playerstate PLAYER_STATE_LUMBER_GATHERED           = ConvertPlayerState(16)
  546.  
  547.     constant playerstate PLAYER_STATE_NO_CREEP_SLEEP            = ConvertPlayerState(25)
  548.  
  549.     constant unitstate UNIT_STATE_LIFE                          = ConvertUnitState(0)
  550.     constant unitstate UNIT_STATE_MAX_LIFE                      = ConvertUnitState(1)
  551.     constant unitstate UNIT_STATE_MANA                          = ConvertUnitState(2)
  552.     constant unitstate UNIT_STATE_MAX_MANA                      = ConvertUnitState(3)
  553.  
  554.     constant aidifficulty AI_DIFFICULTY_NEWBIE                  = ConvertAIDifficulty(0)
  555.     constant aidifficulty AI_DIFFICULTY_NORMAL                  = ConvertAIDifficulty(1)
  556.     constant aidifficulty AI_DIFFICULTY_INSANE                  = ConvertAIDifficulty(2)
  557.  
  558.     // player score values
  559.     constant playerscore PLAYER_SCORE_UNITS_TRAINED             = ConvertPlayerScore(0)
  560.     constant playerscore PLAYER_SCORE_UNITS_KILLED              = ConvertPlayerScore(1)
  561.     constant playerscore PLAYER_SCORE_STRUCT_BUILT              = ConvertPlayerScore(2)
  562.     constant playerscore PLAYER_SCORE_STRUCT_RAZED              = ConvertPlayerScore(3)
  563.     constant playerscore PLAYER_SCORE_TECH_PERCENT              = ConvertPlayerScore(4)
  564.     constant playerscore PLAYER_SCORE_FOOD_MAXPROD              = ConvertPlayerScore(5)
  565.     constant playerscore PLAYER_SCORE_FOOD_MAXUSED              = ConvertPlayerScore(6)
  566.     constant playerscore PLAYER_SCORE_HEROES_KILLED             = ConvertPlayerScore(7)
  567.     constant playerscore PLAYER_SCORE_ITEMS_GAINED              = ConvertPlayerScore(8)
  568.     constant playerscore PLAYER_SCORE_MERCS_HIRED               = ConvertPlayerScore(9)
  569.     constant playerscore PLAYER_SCORE_GOLD_LOST_TAX             = ConvertPlayerScore(13)
  570.     constant playerscore PLAYER_SCORE_GOLD_GIVEN                = ConvertPlayerScore(14)
  571.     constant playerscore PLAYER_SCORE_GOLD_RECEIVED             = ConvertPlayerScore(15)
  572.     constant playerscore PLAYER_SCORE_LUMBER_TOTAL              = ConvertPlayerScore(16)
  573.     constant playerscore PLAYER_SCORE_LUMBER_LOST_TAX           = ConvertPlayerScore(18)
  574.     constant playerscore PLAYER_SCORE_LUMBER_GIVEN              = ConvertPlayerScore(19)
  575.     constant playerscore PLAYER_SCORE_LUMBER_RECEIVED           = ConvertPlayerScore(20)
  576.     constant playerscore PLAYER_SCORE_UNIT_TOTAL                = ConvertPlayerScore(21)
  577.     constant playerscore PLAYER_SCORE_HERO_TOTAL                = ConvertPlayerScore(22)
  578.     constant playerscore PLAYER_SCORE_RESOURCE_TOTAL            = ConvertPlayerScore(23)
  579.     constant playerscore PLAYER_SCORE_TOTAL                     = ConvertPlayerScore(24)
  580.  
  581. //===================================================
  582. // Game, Player and Unit Events
  583. //
  584. //  When an event causes a trigger to fire these
  585. //  values allow the action code to determine which
  586. //  event was dispatched and therefore which set of
  587. //  native functions should be used to get information
  588. //  about the event.
  589. //
  590. // Do NOT change the order or value of these constants
  591. // without insuring that the JASS_GAME_EVENTS_WAR3 enum
  592. // is changed to match.
  593. //
  594. //===================================================
  595.  
  596.     //===================================================
  597.     // For use with TriggerRegisterGameEvent
  598.     //===================================================
  599.  
  600.     constant gameevent EVENT_GAME_VICTORY                       = ConvertGameEvent(0)
  601.     constant gameevent EVENT_GAME_END_LEVEL                     = ConvertGameEvent(1)
  602.  
  603.     constant gameevent EVENT_GAME_VARIABLE_LIMIT                = ConvertGameEvent(2)
  604.     constant gameevent EVENT_GAME_STATE_LIMIT                   = ConvertGameEvent(3)
  605.  
  606.     constant gameevent EVENT_GAME_TIMER_EXPIRED                 = ConvertGameEvent(4)
  607.  
  608.     constant gameevent EVENT_GAME_ENTER_REGION                  = ConvertGameEvent(5)
  609.     constant gameevent EVENT_GAME_LEAVE_REGION                  = ConvertGameEvent(6)
  610.  
  611.     constant gameevent EVENT_GAME_TRACKABLE_HIT                 = ConvertGameEvent(7)
  612.     constant gameevent EVENT_GAME_TRACKABLE_TRACK               = ConvertGameEvent(8)
  613.  
  614.     constant gameevent EVENT_GAME_SHOW_SKILL                    = ConvertGameEvent(9)
  615.     constant gameevent EVENT_GAME_BUILD_SUBMENU                 = ConvertGameEvent(10)
  616.  
  617.     //===================================================
  618.     // For use with TriggerRegisterPlayerEvent
  619.     //===================================================
  620.     constant playerevent EVENT_PLAYER_STATE_LIMIT               = ConvertPlayerEvent(11)
  621.  
  622.     constant playerevent EVENT_PLAYER_DEFEAT                    = ConvertPlayerEvent(13)
  623.     constant playerevent EVENT_PLAYER_VICTORY                   = ConvertPlayerEvent(14)
  624.     constant playerevent EVENT_PLAYER_LEAVE                     = ConvertPlayerEvent(15)
  625.     constant playerevent EVENT_PLAYER_CHAT                      = ConvertPlayerEvent(16)
  626.     constant playerevent EVENT_PLAYER_END_CINEMATIC             = ConvertPlayerEvent(17)
  627.  
  628.     //===================================================
  629.     // For use with TriggerRegisterPlayerUnitEvent
  630.     //===================================================
  631.  
  632.     constant playerunitevent EVENT_PLAYER_UNIT_ATTACKED                 = ConvertPlayerUnitEvent(18)
  633.     constant playerunitevent EVENT_PLAYER_UNIT_RESCUED                  = ConvertPlayerUnitEvent(19)
  634.  
  635.     constant playerunitevent EVENT_PLAYER_UNIT_DEATH                    = ConvertPlayerUnitEvent(20)
  636.     constant playerunitevent EVENT_PLAYER_UNIT_DECAY                    = ConvertPlayerUnitEvent(21)
  637.  
  638.     constant playerunitevent EVENT_PLAYER_UNIT_DETECTED                 = ConvertPlayerUnitEvent(22)
  639.     constant playerunitevent EVENT_PLAYER_UNIT_HIDDEN                   = ConvertPlayerUnitEvent(23)
  640.  
  641.     constant playerunitevent EVENT_PLAYER_UNIT_SELECTED                 = ConvertPlayerUnitEvent(24)
  642.     constant playerunitevent EVENT_PLAYER_UNIT_DESELECTED               = ConvertPlayerUnitEvent(25)
  643.  
  644.  
  645.  
  646.  
  647.     constant playerunitevent EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER        = ConvertPlayerUnitEvent(40)    // for compat
  648.  
  649.     constant playerunitevent EVENT_PLAYER_HERO_LEVEL                    = ConvertPlayerUnitEvent(41)
  650.     constant playerunitevent EVENT_PLAYER_HERO_SKILL                    = ConvertPlayerUnitEvent(42)
  651.  
  652.     constant playerunitevent EVENT_PLAYER_HERO_REVIVABLE                = ConvertPlayerUnitEvent(43)
  653.  
  654.     constant playerunitevent EVENT_PLAYER_UNIT_SUMMON                   = ConvertPlayerUnitEvent(47)
  655.     constant playerunitevent EVENT_PLAYER_UNIT_DROP_ITEM                = ConvertPlayerUnitEvent(48)
  656.     constant playerunitevent EVENT_PLAYER_UNIT_USE_ITEM                 = ConvertPlayerUnitEvent(50)
  657.  
  658.     constant playerunitevent EVENT_PLAYER_UNIT_LOADED                   = ConvertPlayerUnitEvent(51)
  659.     constant playerunitevent EVENT_PLAYER_UNIT_DAMAGED                  = ConvertPlayerUnitEvent(308)
  660.     constant playerunitevent EVENT_PLAYER_UNIT_DAMAGING                 = ConvertPlayerUnitEvent(315)
  661.  
  662.     //===================================================
  663.     // For use with TriggerRegisterUnitEvent
  664.     //===================================================
  665.  
  666.     constant unitevent EVENT_UNIT_DAMAGED                               = ConvertUnitEvent(52)
  667.     constant unitevent EVENT_UNIT_DAMAGING                              = ConvertUnitEvent(314)
  668.     constant unitevent EVENT_UNIT_DEATH                                 = ConvertUnitEvent(53)
  669.     constant unitevent EVENT_UNIT_DECAY                                 = ConvertUnitEvent(54)
  670.     constant unitevent EVENT_UNIT_DETECTED                              = ConvertUnitEvent(55)
  671.     constant unitevent EVENT_UNIT_HIDDEN                                = ConvertUnitEvent(56)
  672.     constant unitevent EVENT_UNIT_SELECTED                              = ConvertUnitEvent(57)
  673.     constant unitevent EVENT_UNIT_DESELECTED                            = ConvertUnitEvent(58)
  674.                                                                        
  675.     constant unitevent EVENT_UNIT_STATE_LIMIT                           = ConvertUnitEvent(59)                                                                        
  676.  
  677.     // Events which may have a filter for the "other unit"              
  678.     //                                                                  
  679.     constant unitevent EVENT_UNIT_ACQUIRED_TARGET                       = ConvertUnitEvent(60)
  680.     constant unitevent EVENT_UNIT_TARGET_IN_RANGE                       = ConvertUnitEvent(61)
  681.     constant unitevent EVENT_UNIT_ATTACKED                              = ConvertUnitEvent(62)
  682.     constant unitevent EVENT_UNIT_RESCUED                               = ConvertUnitEvent(63)
  683.                                                                        
  684.     constant unitevent EVENT_UNIT_CONSTRUCT_CANCEL                      = ConvertUnitEvent(64)
  685.     constant unitevent EVENT_UNIT_CONSTRUCT_FINISH                      = ConvertUnitEvent(65)
  686.                                                                        
  687.     constant unitevent EVENT_UNIT_UPGRADE_START                         = ConvertUnitEvent(66)
  688.     constant unitevent EVENT_UNIT_UPGRADE_CANCEL                        = ConvertUnitEvent(67)
  689.     constant unitevent EVENT_UNIT_UPGRADE_FINISH                        = ConvertUnitEvent(68)
  690.                                                                        
  691.     // Events which involve the specified unit performing              
  692.     // training of other units                                          
  693.     //                                                                  
  694.     constant unitevent EVENT_UNIT_TRAIN_START                           = ConvertUnitEvent(69)
  695.     constant unitevent EVENT_UNIT_TRAIN_CANCEL                          = ConvertUnitEvent(70)
  696.     constant unitevent EVENT_UNIT_TRAIN_FINISH                          = ConvertUnitEvent(71)
  697.                                                                        
  698.     constant unitevent EVENT_UNIT_RESEARCH_START                        = ConvertUnitEvent(72)
  699.     constant unitevent EVENT_UNIT_RESEARCH_CANCEL                       = ConvertUnitEvent(73)
  700.     constant unitevent EVENT_UNIT_RESEARCH_FINISH                       = ConvertUnitEvent(74)
  701.                                                                        
  702.     constant unitevent EVENT_UNIT_ISSUED_ORDER                          = ConvertUnitEvent(75)
  703.     constant unitevent EVENT_UNIT_ISSUED_POINT_ORDER                    = ConvertUnitEvent(76)
  704.     constant unitevent EVENT_UNIT_ISSUED_TARGET_ORDER                   = ConvertUnitEvent(77)
  705.                                                                        
  706.     constant unitevent EVENT_UNIT_HERO_LEVEL                            = ConvertUnitEvent(78)
  707.     constant unitevent EVENT_UNIT_HERO_SKILL                            = ConvertUnitEvent(79)
  708.                                                                        
  709.     constant unitevent EVENT_UNIT_HERO_REVIVABLE                        = ConvertUnitEvent(80)
  710.     constant unitevent EVENT_UNIT_HERO_REVIVE_START                     = ConvertUnitEvent(81)
  711.     constant unitevent EVENT_UNIT_HERO_REVIVE_CANCEL                    = ConvertUnitEvent(82)
  712.     constant unitevent EVENT_UNIT_HERO_REVIVE_FINISH                    = ConvertUnitEvent(83)
  713.                                                                        
  714.     constant unitevent EVENT_UNIT_SUMMON                                = ConvertUnitEvent(84)
  715.                                                                        
  716.     constant unitevent EVENT_UNIT_DROP_ITEM                             = ConvertUnitEvent(85)
  717.     constant unitevent EVENT_UNIT_PICKUP_ITEM                           = ConvertUnitEvent(86)
  718.     constant unitevent EVENT_UNIT_USE_ITEM                              = ConvertUnitEvent(87)
  719.  
  720.     constant unitevent EVENT_UNIT_LOADED                                = ConvertUnitEvent(88)
  721.  
  722.     constant widgetevent EVENT_WIDGET_DEATH                             = ConvertWidgetEvent(89)
  723.  
  724.     constant dialogevent EVENT_DIALOG_BUTTON_CLICK                      = ConvertDialogEvent(90)
  725.     constant dialogevent EVENT_DIALOG_CLICK                             = ConvertDialogEvent(91)
  726.  
  727.     //===================================================
  728.     // Frozen Throne Expansion Events
  729.     // Need to be added here to preserve compat
  730.     //===================================================
  731.    
  732.     //===================================================    
  733.     // For use with TriggerRegisterGameEvent
  734.     //===================================================
  735.  
  736.     constant gameevent          EVENT_GAME_LOADED                       = ConvertGameEvent(256)
  737.     constant gameevent          EVENT_GAME_TOURNAMENT_FINISH_SOON       = ConvertGameEvent(257)
  738.     constant gameevent          EVENT_GAME_TOURNAMENT_FINISH_NOW        = ConvertGameEvent(258)
  739.     constant gameevent          EVENT_GAME_SAVE                         = ConvertGameEvent(259)
  740.     constant gameevent          EVENT_GAME_CUSTOM_UI_FRAME              = ConvertGameEvent(310)
  741.  
  742.     //===================================================
  743.     // For use with TriggerRegisterPlayerEvent
  744.     //===================================================
  745.  
  746.     constant playerevent        EVENT_PLAYER_ARROW_LEFT_DOWN            = ConvertPlayerEvent(261)
  747.     constant playerevent        EVENT_PLAYER_ARROW_LEFT_UP              = ConvertPlayerEvent(262)
  748.     constant playerevent        EVENT_PLAYER_ARROW_RIGHT_DOWN           = ConvertPlayerEvent(263)
  749.     constant playerevent        EVENT_PLAYER_ARROW_RIGHT_UP             = ConvertPlayerEvent(264)
  750.     constant playerevent        EVENT_PLAYER_ARROW_DOWN_DOWN            = ConvertPlayerEvent(265)
  751.     constant playerevent        EVENT_PLAYER_ARROW_DOWN_UP              = ConvertPlayerEvent(266)
  752.     constant playerevent        EVENT_PLAYER_ARROW_UP_DOWN              = ConvertPlayerEvent(267)
  753.     constant playerevent        EVENT_PLAYER_ARROW_UP_UP                = ConvertPlayerEvent(268)
  754.     constant playerevent        EVENT_PLAYER_MOUSE_DOWN                 = ConvertPlayerEvent(305)
  755.     constant playerevent        EVENT_PLAYER_MOUSE_UP                   = ConvertPlayerEvent(306)
  756.     constant playerevent        EVENT_PLAYER_MOUSE_MOVE                 = ConvertPlayerEvent(307)
  757.     constant playerevent        EVENT_PLAYER_SYNC_DATA                  = ConvertPlayerEvent(309)
  758.     constant playerevent        EVENT_PLAYER_KEY                        = ConvertPlayerEvent(311)
  759.     constant playerevent        EVENT_PLAYER_KEY_DOWN                   = ConvertPlayerEvent(312)
  760.     constant playerevent        EVENT_PLAYER_KEY_UP                     = ConvertPlayerEvent(313)
  761.  
  762.     //===================================================
  763.     // For use with TriggerRegisterPlayerUnitEvent
  764.     //===================================================
  765.  
  766.     constant playerunitevent    EVENT_PLAYER_UNIT_SELL                  = ConvertPlayerUnitEvent(269)
  767.     constant playerunitevent    EVENT_PLAYER_UNIT_SELL_ITEM             = ConvertPlayerUnitEvent(271)
  768.     constant playerunitevent    EVENT_PLAYER_UNIT_SPELL_CAST            = ConvertPlayerUnitEvent(273)
  769.     constant playerunitevent    EVENT_PLAYER_UNIT_PAWN_ITEM             = ConvertPlayerUnitEvent(277)
  770.     constant playerunitevent    EVENT_PLAYER_UNIT_STACK_ITEM            = ConvertPlayerUnitEvent(319)
  771.  
  772.     //===================================================
  773.     // For use with TriggerRegisterUnitEvent
  774.     //===================================================
  775.  
  776.     constant unitevent          EVENT_UNIT_SELL                         = ConvertUnitEvent(286)
  777.     constant unitevent          EVENT_UNIT_CHANGE_OWNER                 = ConvertUnitEvent(287)
  778.     constant unitevent          EVENT_UNIT_SELL_ITEM                    = ConvertUnitEvent(288)
  779.     constant unitevent          EVENT_UNIT_SPELL_CHANNEL                = ConvertUnitEvent(289)
  780.     constant unitevent          EVENT_UNIT_SPELL_CAST                   = ConvertUnitEvent(290)
  781.     constant unitevent          EVENT_UNIT_SPELL_EFFECT                 = ConvertUnitEvent(291)
  782.     constant unitevent          EVENT_UNIT_SPELL_FINISH                 = ConvertUnitEvent(292)
  783.     constant unitevent          EVENT_UNIT_SPELL_ENDCAST                = ConvertUnitEvent(293)
  784.     constant unitevent          EVENT_UNIT_PAWN_ITEM                    = ConvertUnitEvent(294)
  785.     constant unitevent          EVENT_UNIT_STACK_ITEM                   = ConvertUnitEvent(318)
  786.  
  787.     //===================================================
  788.     // Limit Event API constants
  789.     // variable, player state, game state, and unit state events
  790.     // ( do NOT change the order of these... )
  791.     //===================================================
  792.     constant limitop LESS_THAN                              = ConvertLimitOp(0)
  793.     constant limitop LESS_THAN_OR_EQUAL                     = ConvertLimitOp(1)
  794.     constant limitop EQUAL                                  = ConvertLimitOp(2)
  795.     constant limitop GREATER_THAN_OR_EQUAL                  = ConvertLimitOp(3)
  796.     constant limitop GREATER_THAN                           = ConvertLimitOp(4)
  797.     constant limitop NOT_EQUAL                              = ConvertLimitOp(5)
  798.  
  799. //===================================================
  800. // Unit Type Constants for use with IsUnitType()
  801. //===================================================
  802.  
  803.     constant unittype UNIT_TYPE_HERO                        = ConvertUnitType(0)
  804.     constant unittype UNIT_TYPE_DEAD                        = ConvertUnitType(1)
  805.     constant unittype UNIT_TYPE_STRUCTURE                   = ConvertUnitType(2)
  806.  
  807.     constant unittype UNIT_TYPE_FLYING                      = ConvertUnitType(3)
  808.     constant unittype UNIT_TYPE_GROUND                      = ConvertUnitType(4)
  809.  
  810.     constant unittype UNIT_TYPE_ATTACKS_FLYING              = ConvertUnitType(5)
  811.     constant unittype UNIT_TYPE_ATTACKS_GROUND              = ConvertUnitType(6)
  812.  
  813.     constant unittype UNIT_TYPE_MELEE_ATTACKER              = ConvertUnitType(7)
  814.     constant unittype UNIT_TYPE_RANGED_ATTACKER             = ConvertUnitType(8)
  815.  
  816.     constant unittype UNIT_TYPE_GIANT                       = ConvertUnitType(9)
  817.     constant unittype UNIT_TYPE_SUMMONED                    = ConvertUnitType(10)
  818.     constant unittype UNIT_TYPE_STUNNED                     = ConvertUnitType(11)
  819.     constant unittype UNIT_TYPE_PLAGUED                     = ConvertUnitType(12)
  820.     constant unittype UNIT_TYPE_SNARED                      = ConvertUnitType(13)
  821.  
  822.     constant unittype UNIT_TYPE_UNDEAD                      = ConvertUnitType(14)
  823.     constant unittype UNIT_TYPE_MECHANICAL                  = ConvertUnitType(15)
  824.     constant unittype UNIT_TYPE_PEON                        = ConvertUnitType(16)
  825.     constant unittype UNIT_TYPE_SAPPER                      = ConvertUnitType(17)
  826.     constant unittype UNIT_TYPE_TOWNHALL                    = ConvertUnitType(18)
  827.     constant unittype UNIT_TYPE_ANCIENT                     = ConvertUnitType(19)
  828.  
  829.     constant unittype UNIT_TYPE_TAUREN                      = ConvertUnitType(20)
  830.     constant unittype UNIT_TYPE_POISONED                    = ConvertUnitType(21)
  831.     constant unittype UNIT_TYPE_POLYMORPHED                 = ConvertUnitType(22)
  832.     constant unittype UNIT_TYPE_SLEEPING                    = ConvertUnitType(23)
  833.     constant unittype UNIT_TYPE_RESISTANT                   = ConvertUnitType(24)
  834.     constant unittype UNIT_TYPE_ETHEREAL                    = ConvertUnitType(25)
  835.     constant unittype UNIT_TYPE_MAGIC_IMMUNE                = ConvertUnitType(26)
  836.  
  837. //===================================================
  838. // Unit Type Constants for use with ChooseRandomItemEx()
  839. //===================================================
  840.  
  841.     constant itemtype ITEM_TYPE_PERMANENT                   = ConvertItemType(0)
  842.     constant itemtype ITEM_TYPE_CHARGED                     = ConvertItemType(1)
  843.     constant itemtype ITEM_TYPE_POWERUP                     = ConvertItemType(2)
  844.     constant itemtype ITEM_TYPE_ARTIFACT                    = ConvertItemType(3)
  845.     constant itemtype ITEM_TYPE_PURCHASABLE                 = ConvertItemType(4)
  846.     constant itemtype ITEM_TYPE_CAMPAIGN                    = ConvertItemType(5)
  847.     constant itemtype ITEM_TYPE_MISCELLANEOUS               = ConvertItemType(6)
  848.     constant itemtype ITEM_TYPE_UNKNOWN                     = ConvertItemType(7)
  849.     constant itemtype ITEM_TYPE_ANY                         = ConvertItemType(8)
  850.  
  851.     // Deprecated, should use ITEM_TYPE_POWERUP
  852.     constant itemtype ITEM_TYPE_TOME                        = ConvertItemType(2)
  853.  
  854. //===================================================
  855. // Animatable Camera Fields
  856. //===================================================
  857.  
  858.     constant camerafield CAMERA_FIELD_FARZ                  = ConvertCameraField(1)
  859.     constant camerafield CAMERA_FIELD_ROLL                  = ConvertCameraField(4)
  860.     constant camerafield CAMERA_FIELD_ROTATION              = ConvertCameraField(5)
  861.     constant camerafield CAMERA_FIELD_ZOFFSET               = ConvertCameraField(6)
  862.     constant camerafield CAMERA_FIELD_NEARZ                 = ConvertCameraField(7)
  863.     constant camerafield CAMERA_FIELD_LOCAL_PITCH           = ConvertCameraField(8)
  864.     constant camerafield CAMERA_FIELD_LOCAL_YAW             = ConvertCameraField(9)
  865.     constant camerafield CAMERA_FIELD_LOCAL_ROLL            = ConvertCameraField(10)
  866.  
  867.     constant blendmode   BLEND_MODE_NONE                    = ConvertBlendMode(0)
  868.     constant blendmode   BLEND_MODE_DONT_CARE               = ConvertBlendMode(0)
  869.     constant blendmode   BLEND_MODE_KEYALPHA                = ConvertBlendMode(1)
  870.     constant blendmode   BLEND_MODE_BLEND                   = ConvertBlendMode(2)
  871.     constant blendmode   BLEND_MODE_ADDITIVE                = ConvertBlendMode(3)
  872.     constant blendmode   BLEND_MODE_MODULATE                = ConvertBlendMode(4)
  873.     constant blendmode   BLEND_MODE_MODULATE_2X             = ConvertBlendMode(5)
  874.  
  875.     constant raritycontrol  RARITY_FREQUENT                 = ConvertRarityControl(0)
  876.     constant raritycontrol  RARITY_RARE                     = ConvertRarityControl(1)
  877.  
  878.     constant texmapflags    TEXMAP_FLAG_NONE                = ConvertTexMapFlags(0)
  879.     constant texmapflags    TEXMAP_FLAG_WRAP_U              = ConvertTexMapFlags(1)
  880.     constant texmapflags    TEXMAP_FLAG_WRAP_V              = ConvertTexMapFlags(2)
  881.     constant texmapflags    TEXMAP_FLAG_WRAP_UV             = ConvertTexMapFlags(3)
  882.  
  883.     constant fogstate       FOG_OF_WAR_MASKED               = ConvertFogState(1)
  884.     constant fogstate       FOG_OF_WAR_FOGGED               = ConvertFogState(2)
  885.     constant fogstate       FOG_OF_WAR_VISIBLE              = ConvertFogState(4)
  886.  
  887. //===================================================
  888. // Camera Margin constants for use with GetCameraMargin
  889. //===================================================
  890.  
  891.     constant integer        CAMERA_MARGIN_LEFT              = 0
  892.     constant integer        CAMERA_MARGIN_RIGHT             = 1
  893.     constant integer        CAMERA_MARGIN_TOP               = 2
  894.     constant integer        CAMERA_MARGIN_BOTTOM            = 3
  895.  
  896. //===================================================
  897. // Effect API constants
  898. //===================================================
  899.  
  900.     constant effecttype     EFFECT_TYPE_EFFECT              = ConvertEffectType(0)
  901.     constant effecttype     EFFECT_TYPE_TARGET              = ConvertEffectType(1)
  902.     constant effecttype     EFFECT_TYPE_CASTER              = ConvertEffectType(2)
  903.     constant effecttype     EFFECT_TYPE_SPECIAL             = ConvertEffectType(3)
  904.     constant effecttype     EFFECT_TYPE_AREA_EFFECT         = ConvertEffectType(4)
  905.     constant effecttype     EFFECT_TYPE_MISSILE             = ConvertEffectType(5)
  906.     constant effecttype     EFFECT_TYPE_LIGHTNING           = ConvertEffectType(6)
  907.  
  908.     constant soundtype      SOUND_TYPE_EFFECT               = ConvertSoundType(0)
  909.     constant soundtype      SOUND_TYPE_EFFECT_LOOPED        = ConvertSoundType(1)
  910.  
  911. //===================================================
  912. // Custom UI API constants
  913. //===================================================
  914.  
  915.     constant originframetype        ORIGIN_FRAME_GAME_UI                    = ConvertOriginFrameType(0)
  916.     constant originframetype        ORIGIN_FRAME_COMMAND_BUTTON             = ConvertOriginFrameType(1)
  917.     constant originframetype        ORIGIN_FRAME_HERO_BAR                   = ConvertOriginFrameType(2)
  918.     constant originframetype        ORIGIN_FRAME_HERO_BUTTON                = ConvertOriginFrameType(3)
  919.     constant originframetype        ORIGIN_FRAME_HERO_HP_BAR                = ConvertOriginFrameType(4)
  920.     constant originframetype        ORIGIN_FRAME_HERO_MANA_BAR              = ConvertOriginFrameType(5)
  921.     constant originframetype        ORIGIN_FRAME_ITEM_BUTTON                = ConvertOriginFrameType(7)
  922.     constant originframetype        ORIGIN_FRAME_MINIMAP                    = ConvertOriginFrameType(8)
  923.     constant originframetype        ORIGIN_FRAME_MINIMAP_BUTTON             = ConvertOriginFrameType(9)
  924.     constant originframetype        ORIGIN_FRAME_SYSTEM_BUTTON              = ConvertOriginFrameType(10)
  925.     constant originframetype        ORIGIN_FRAME_TOOLTIP                    = ConvertOriginFrameType(11)
  926.     constant originframetype        ORIGIN_FRAME_UBERTOOLTIP                = ConvertOriginFrameType(12)
  927.     constant originframetype        ORIGIN_FRAME_CHAT_MSG                   = ConvertOriginFrameType(13)
  928.     constant originframetype        ORIGIN_FRAME_UNIT_MSG                   = ConvertOriginFrameType(14)
  929.     constant originframetype        ORIGIN_FRAME_TOP_MSG                    = ConvertOriginFrameType(15)
  930.     constant originframetype        ORIGIN_FRAME_PORTRAIT                   = ConvertOriginFrameType(16)
  931.     constant originframetype        ORIGIN_FRAME_WORLD_FRAME                = ConvertOriginFrameType(17)
  932.     constant originframetype        ORIGIN_FRAME_SIMPLE_UI_PARENT           = ConvertOriginFrameType(18)
  933.     constant originframetype        ORIGIN_FRAME_PORTRAIT_HP_TEXT           = ConvertOriginFrameType(19)
  934.     constant originframetype        ORIGIN_FRAME_PORTRAIT_MANA_TEXT         = ConvertOriginFrameType(20)
  935.  
  936.     constant framepointtype         FRAMEPOINT_TOPLEFT                   = ConvertFramePointType(0)
  937.     constant framepointtype         FRAMEPOINT_TOP                       = ConvertFramePointType(1)
  938.     constant framepointtype         FRAMEPOINT_TOPRIGHT                  = ConvertFramePointType(2)
  939.     constant framepointtype         FRAMEPOINT_LEFT                      = ConvertFramePointType(3)
  940.     constant framepointtype         FRAMEPOINT_CENTER                    = ConvertFramePointType(4)
  941.     constant framepointtype         FRAMEPOINT_RIGHT                     = ConvertFramePointType(5)
  942.     constant framepointtype         FRAMEPOINT_BOTTOMLEFT                = ConvertFramePointType(6)
  943.     constant framepointtype         FRAMEPOINT_BOTTOM                    = ConvertFramePointType(7)
  944.     constant framepointtype         FRAMEPOINT_BOTTOMRIGHT               = ConvertFramePointType(8)
  945.  
  946.     constant textaligntype          TEXT_JUSTIFY_TOP                     = ConvertTextAlignType(0)
  947.     constant textaligntype          TEXT_JUSTIFY_MIDDLE                  = ConvertTextAlignType(1)
  948.     constant textaligntype          TEXT_JUSTIFY_BOTTOM                  = ConvertTextAlignType(2)
  949.     constant textaligntype          TEXT_JUSTIFY_LEFT                    = ConvertTextAlignType(3)
  950.     constant textaligntype          TEXT_JUSTIFY_CENTER                  = ConvertTextAlignType(4)
  951.     constant textaligntype          TEXT_JUSTIFY_RIGHT                   = ConvertTextAlignType(5)
  952.  
  953.     constant frameeventtype         FRAMEEVENT_CONTROL_CLICK             = ConvertFrameEventType(1)
  954.     constant frameeventtype         FRAMEEVENT_MOUSE_ENTER               = ConvertFrameEventType(2)
  955.     constant frameeventtype         FRAMEEVENT_MOUSE_LEAVE               = ConvertFrameEventType(3)
  956.     constant frameeventtype         FRAMEEVENT_MOUSE_UP                  = ConvertFrameEventType(4)
  957.     constant frameeventtype         FRAMEEVENT_MOUSE_DOWN                = ConvertFrameEventType(5)
  958.     constant frameeventtype         FRAMEEVENT_MOUSE_WHEEL               = ConvertFrameEventType(6)
  959.     constant frameeventtype         FRAMEEVENT_CHECKBOX_CHECKED          = ConvertFrameEventType(7)
  960.     constant frameeventtype         FRAMEEVENT_CHECKBOX_UNCHECKED        = ConvertFrameEventType(8)
  961.     constant frameeventtype         FRAMEEVENT_MOUSE_DOUBLECLICK         = ConvertFrameEventType(11)
  962.     constant frameeventtype         FRAMEEVENT_SPRITE_ANIM_UPDATE        = ConvertFrameEventType(12)
  963.     constant frameeventtype         FRAMEEVENT_DIALOG_CANCEL             = ConvertFrameEventType(14)
  964.     constant frameeventtype         FRAMEEVENT_DIALOG_ACCEPT             = ConvertFrameEventType(15)
  965.     constant frameeventtype         FRAMEEVENT_EDITBOX_ENTER             = ConvertFrameEventType(16)
  966.  
  967. //===================================================
  968. // OS Key constants
  969. //===================================================
  970.  
  971.     constant oskeytype              OSKEY_BACKSPACE                      = ConvertOsKeyType($08)
  972.     constant oskeytype              OSKEY_TAB                            = ConvertOsKeyType($09)
  973.     constant oskeytype              OSKEY_CLEAR                          = ConvertOsKeyType($0C)
  974.     constant oskeytype              OSKEY_RETURN                         = ConvertOsKeyType($0D)
  975.     constant oskeytype              OSKEY_SHIFT                          = ConvertOsKeyType($10)
  976.     constant oskeytype              OSKEY_CONTROL                        = ConvertOsKeyType($11)
  977.     constant oskeytype              OSKEY_ALT                            = ConvertOsKeyType($12)
  978.     constant oskeytype              OSKEY_PAUSE                          = ConvertOsKeyType($13)
  979.     constant oskeytype              OSKEY_CAPSLOCK                       = ConvertOsKeyType($14)
  980.     constant oskeytype              OSKEY_KANA                           = ConvertOsKeyType($15)
  981.     constant oskeytype              OSKEY_HANGUL                         = ConvertOsKeyType($15)
  982.     constant oskeytype              OSKEY_JUNJA                          = ConvertOsKeyType($17)
  983.     constant oskeytype              OSKEY_FINAL                          = ConvertOsKeyType($18)
  984.     constant oskeytype              OSKEY_HANJA                          = ConvertOsKeyType($19)
  985.     constant oskeytype              OSKEY_KANJI                          = ConvertOsKeyType($19)
  986.     constant oskeytype              OSKEY_ESCAPE                         = ConvertOsKeyType($1B)
  987.     constant oskeytype              OSKEY_CONVERT                        = ConvertOsKeyType($1C)
  988.     constant oskeytype              OSKEY_NONCONVERT                     = ConvertOsKeyType($1D)
  989.     constant oskeytype              OSKEY_ACCEPT                         = ConvertOsKeyType($1E)
  990.     constant oskeytype              OSKEY_MODECHANGE                     = ConvertOsKeyType($1F)
  991.     constant oskeytype              OSKEY_SPACE                          = ConvertOsKeyType($20)
  992.     constant oskeytype              OSKEY_PAGEUP                         = ConvertOsKeyType($21)
  993.     constant oskeytype              OSKEY_PAGEDOWN                       = ConvertOsKeyType($22)
  994.     constant oskeytype              OSKEY_END                            = ConvertOsKeyType($23)
  995.     constant oskeytype              OSKEY_HOME                           = ConvertOsKeyType($24)
  996.     constant oskeytype              OSKEY_LEFT                           = ConvertOsKeyType($25)
  997.     constant oskeytype              OSKEY_UP                             = ConvertOsKeyType($26)
  998.     constant oskeytype              OSKEY_RIGHT                          = ConvertOsKeyType($27)
  999.     constant oskeytype              OSKEY_DOWN                           = ConvertOsKeyType($28)
  1000.     constant oskeytype              OSKEY_SELECT                         = ConvertOsKeyType($29)
  1001.     constant oskeytype              OSKEY_PRINT                          = ConvertOsKeyType($2A)
  1002.     constant oskeytype              OSKEY_EXECUTE                        = ConvertOsKeyType($2B)
  1003.     constant oskeytype              OSKEY_PRINTSCREEN                    = ConvertOsKeyType($2C)
  1004.     constant oskeytype              OSKEY_INSERT                         = ConvertOsKeyType($2D)
  1005.     constant oskeytype              OSKEY_DELETE                         = ConvertOsKeyType($2E)
  1006.     constant oskeytype              OSKEY_HELP                           = ConvertOsKeyType($2F)
  1007.     constant oskeytype              OSKEY_0                              = ConvertOsKeyType($30)
  1008.     constant oskeytype              OSKEY_1                              = ConvertOsKeyType($31)
  1009.     constant oskeytype              OSKEY_2                              = ConvertOsKeyType($32)
  1010.     constant oskeytype              OSKEY_3                              = ConvertOsKeyType($33)
  1011.     constant oskeytype              OSKEY_4                              = ConvertOsKeyType($34)
  1012.     constant oskeytype              OSKEY_5                              = ConvertOsKeyType($35)
  1013.     constant oskeytype              OSKEY_6                              = ConvertOsKeyType($36)
  1014.     constant oskeytype              OSKEY_7                              = ConvertOsKeyType($37)
  1015.     constant oskeytype              OSKEY_8                              = ConvertOsKeyType($38)
  1016.     constant oskeytype              OSKEY_9                              = ConvertOsKeyType($39)
  1017.     constant oskeytype              OSKEY_A                              = ConvertOsKeyType($41)
  1018.     constant oskeytype              OSKEY_B                              = ConvertOsKeyType($42)
  1019.     constant oskeytype              OSKEY_C                              = ConvertOsKeyType($43)
  1020.     constant oskeytype              OSKEY_D                              = ConvertOsKeyType($44)
  1021.     constant oskeytype              OSKEY_E                              = ConvertOsKeyType($45)
  1022.     constant oskeytype              OSKEY_F                              = ConvertOsKeyType($46)
  1023.     constant oskeytype              OSKEY_G                              = ConvertOsKeyType($47)
  1024.     constant oskeytype              OSKEY_H                              = ConvertOsKeyType($48)
  1025.     constant oskeytype              OSKEY_I                              = ConvertOsKeyType($49)
  1026.     constant oskeytype              OSKEY_J                              = ConvertOsKeyType($4A)
  1027.     constant oskeytype              OSKEY_K                              = ConvertOsKeyType($4B)
  1028.     constant oskeytype              OSKEY_L                              = ConvertOsKeyType($4C)
  1029.     constant oskeytype              OSKEY_M                              = ConvertOsKeyType($4D)
  1030.     constant oskeytype              OSKEY_N                              = ConvertOsKeyType($4E)
  1031.     constant oskeytype              OSKEY_O                              = ConvertOsKeyType($4F)
  1032.     constant oskeytype              OSKEY_P                              = ConvertOsKeyType($50)
  1033.     constant oskeytype              OSKEY_Q                              = ConvertOsKeyType($51)
  1034.     constant oskeytype              OSKEY_R                              = ConvertOsKeyType($52)
  1035.     constant oskeytype              OSKEY_S                              = ConvertOsKeyType($53)
  1036.     constant oskeytype              OSKEY_T                              = ConvertOsKeyType($54)
  1037.     constant oskeytype              OSKEY_U                              = ConvertOsKeyType($55)
  1038.     constant oskeytype              OSKEY_V                              = ConvertOsKeyType($56)
  1039.     constant oskeytype              OSKEY_W                              = ConvertOsKeyType($57)
  1040.     constant oskeytype              OSKEY_X                              = ConvertOsKeyType($58)
  1041.     constant oskeytype              OSKEY_Y                              = ConvertOsKeyType($59)
  1042.     constant oskeytype              OSKEY_Z                              = ConvertOsKeyType($5A)
  1043.     constant oskeytype              OSKEY_LMETA                          = ConvertOsKeyType($5B)
  1044.     constant oskeytype              OSKEY_RMETA                          = ConvertOsKeyType($5C)
  1045.     constant oskeytype              OSKEY_APPS                           = ConvertOsKeyType($5D)
  1046.     constant oskeytype              OSKEY_SLEEP                          = ConvertOsKeyType($5F)
  1047.     constant oskeytype              OSKEY_NUMPAD0                        = ConvertOsKeyType($60)
  1048.     constant oskeytype              OSKEY_NUMPAD1                        = ConvertOsKeyType($61)
  1049.     constant oskeytype              OSKEY_NUMPAD2                        = ConvertOsKeyType($62)
  1050.     constant oskeytype              OSKEY_NUMPAD3                        = ConvertOsKeyType($63)
  1051.     constant oskeytype              OSKEY_NUMPAD4                        = ConvertOsKeyType($64)
  1052.     constant oskeytype              OSKEY_NUMPAD5                        = ConvertOsKeyType($65)
  1053.     constant oskeytype              OSKEY_NUMPAD6                        = ConvertOsKeyType($66)
  1054.     constant oskeytype              OSKEY_NUMPAD7                        = ConvertOsKeyType($67)
  1055.     constant oskeytype              OSKEY_NUMPAD8                        = ConvertOsKeyType($68)
  1056.     constant oskeytype              OSKEY_NUMPAD9                        = ConvertOsKeyType($69)
  1057.     constant oskeytype              OSKEY_MULTIPLY                       = ConvertOsKeyType($6A)
  1058.     constant oskeytype              OSKEY_ADD                            = ConvertOsKeyType($6B)
  1059.     constant oskeytype              OSKEY_SEPARATOR                      = ConvertOsKeyType($6C)
  1060.     constant oskeytype              OSKEY_SUBTRACT                       = ConvertOsKeyType($6D)
  1061.     constant oskeytype              OSKEY_DECIMAL                        = ConvertOsKeyType($6E)
  1062.     constant oskeytype              OSKEY_DIVIDE                         = ConvertOsKeyType($6F)
  1063.     constant oskeytype              OSKEY_F1                             = ConvertOsKeyType($70)
  1064.     constant oskeytype              OSKEY_F2                             = ConvertOsKeyType($71)
  1065.     constant oskeytype              OSKEY_F3                             = ConvertOsKeyType($72)
  1066.     constant oskeytype              OSKEY_F4                             = ConvertOsKeyType($73)
  1067.     constant oskeytype              OSKEY_F5                             = ConvertOsKeyType($74)
  1068.     constant oskeytype              OSKEY_F6                             = ConvertOsKeyType($75)
  1069.     constant oskeytype              OSKEY_F7                             = ConvertOsKeyType($76)
  1070.     constant oskeytype              OSKEY_F8                             = ConvertOsKeyType($77)
  1071.     constant oskeytype              OSKEY_F9                             = ConvertOsKeyType($78)
  1072.     constant oskeytype              OSKEY_F10                            = ConvertOsKeyType($79)
  1073.     constant oskeytype              OSKEY_F11                            = ConvertOsKeyType($7A)
  1074.     constant oskeytype              OSKEY_F12                            = ConvertOsKeyType($7B)
  1075.     constant oskeytype              OSKEY_F13                            = ConvertOsKeyType($7C)
  1076.     constant oskeytype              OSKEY_F14                            = ConvertOsKeyType($7D)
  1077.     constant oskeytype              OSKEY_F15                            = ConvertOsKeyType($7E)
  1078.     constant oskeytype              OSKEY_F16                            = ConvertOsKeyType($7F)
  1079.     constant oskeytype              OSKEY_F17                            = ConvertOsKeyType($80)
  1080.     constant oskeytype              OSKEY_F18                            = ConvertOsKeyType($81)
  1081.     constant oskeytype              OSKEY_F19                            = ConvertOsKeyType($82)
  1082.     constant oskeytype              OSKEY_F20                            = ConvertOsKeyType($83)
  1083.     constant oskeytype              OSKEY_F21                            = ConvertOsKeyType($84)
  1084.     constant oskeytype              OSKEY_F22                            = ConvertOsKeyType($85)
  1085.     constant oskeytype              OSKEY_F23                            = ConvertOsKeyType($86)
  1086.     constant oskeytype              OSKEY_F24                            = ConvertOsKeyType($87)
  1087.     constant oskeytype              OSKEY_NUMLOCK                        = ConvertOsKeyType($90)
  1088.     constant oskeytype              OSKEY_SCROLLLOCK                     = ConvertOsKeyType($91)
  1089.     constant oskeytype              OSKEY_OEM_NEC_EQUAL                  = ConvertOsKeyType($92)
  1090.     constant oskeytype              OSKEY_OEM_FJ_JISHO                   = ConvertOsKeyType($92)
  1091.     constant oskeytype              OSKEY_OEM_FJ_MASSHOU                 = ConvertOsKeyType($93)
  1092.     constant oskeytype              OSKEY_OEM_FJ_TOUROKU                 = ConvertOsKeyType($94)
  1093.     constant oskeytype              OSKEY_OEM_FJ_LOYA                    = ConvertOsKeyType($95)
  1094.     constant oskeytype              OSKEY_OEM_FJ_ROYA                    = ConvertOsKeyType($96)
  1095.     constant oskeytype              OSKEY_LSHIFT                         = ConvertOsKeyType($A0)
  1096.     constant oskeytype              OSKEY_RSHIFT                         = ConvertOsKeyType($A1)
  1097.     constant oskeytype              OSKEY_LCONTROL                       = ConvertOsKeyType($A2)
  1098.     constant oskeytype              OSKEY_RCONTROL                       = ConvertOsKeyType($A3)
  1099.     constant oskeytype              OSKEY_LALT                           = ConvertOsKeyType($A4)
  1100.     constant oskeytype              OSKEY_RALT                           = ConvertOsKeyType($A5)
  1101.     constant oskeytype              OSKEY_BROWSER_BACK                   = ConvertOsKeyType($A6)
  1102.     constant oskeytype              OSKEY_BROWSER_FORWARD                = ConvertOsKeyType($A7)
  1103.     constant oskeytype              OSKEY_BROWSER_REFRESH                = ConvertOsKeyType($A8)
  1104.     constant oskeytype              OSKEY_BROWSER_STOP                   = ConvertOsKeyType($A9)
  1105.     constant oskeytype              OSKEY_BROWSER_SEARCH                 = ConvertOsKeyType($AA)
  1106.     constant oskeytype              OSKEY_BROWSER_FAVORITES              = ConvertOsKeyType($AB)
  1107.     constant oskeytype              OSKEY_BROWSER_HOME                   = ConvertOsKeyType($AC)
  1108.     constant oskeytype              OSKEY_VOLUME_MUTE                    = ConvertOsKeyType($AD)
  1109.     constant oskeytype              OSKEY_VOLUME_DOWN                    = ConvertOsKeyType($AE)
  1110.     constant oskeytype              OSKEY_VOLUME_UP                      = ConvertOsKeyType($AF)
  1111.     constant oskeytype              OSKEY_MEDIA_NEXT_TRACK               = ConvertOsKeyType($B0)
  1112.     constant oskeytype              OSKEY_MEDIA_PREV_TRACK               = ConvertOsKeyType($B1)
  1113.     constant oskeytype              OSKEY_MEDIA_STOP                     = ConvertOsKeyType($B2)
  1114.     constant oskeytype              OSKEY_MEDIA_PLAY_PAUSE               = ConvertOsKeyType($B3)
  1115.     constant oskeytype              OSKEY_LAUNCH_MAIL                    = ConvertOsKeyType($B4)
  1116.     constant oskeytype              OSKEY_LAUNCH_MEDIA_SELECT            = ConvertOsKeyType($B5)
  1117.     constant oskeytype              OSKEY_LAUNCH_APP1                    = ConvertOsKeyType($B6)
  1118.     constant oskeytype              OSKEY_LAUNCH_APP2                    = ConvertOsKeyType($B7)
  1119.     constant oskeytype              OSKEY_OEM_1                          = ConvertOsKeyType($BA)
  1120.     constant oskeytype              OSKEY_OEM_PLUS                       = ConvertOsKeyType($BB)
  1121.     constant oskeytype              OSKEY_OEM_COMMA                      = ConvertOsKeyType($BC)
  1122.     constant oskeytype              OSKEY_OEM_MINUS                      = ConvertOsKeyType($BD)
  1123.     constant oskeytype              OSKEY_OEM_PERIOD                     = ConvertOsKeyType($BE)
  1124.     constant oskeytype              OSKEY_OEM_2                          = ConvertOsKeyType($BF)
  1125.     constant oskeytype              OSKEY_OEM_3                          = ConvertOsKeyType($C0)
  1126.     constant oskeytype              OSKEY_OEM_4                          = ConvertOsKeyType($DB)
  1127.     constant oskeytype              OSKEY_OEM_5                          = ConvertOsKeyType($DC)
  1128.     constant oskeytype              OSKEY_OEM_6                          = ConvertOsKeyType($DD)
  1129.     constant oskeytype              OSKEY_OEM_7                          = ConvertOsKeyType($DE)
  1130.     constant oskeytype              OSKEY_OEM_8                          = ConvertOsKeyType($DF)
  1131.     constant oskeytype              OSKEY_OEM_AX                         = ConvertOsKeyType($E1)
  1132.     constant oskeytype              OSKEY_OEM_102                        = ConvertOsKeyType($E2)
  1133.     constant oskeytype              OSKEY_ICO_HELP         &nb