The search keyword must be a single word (no spaces).
Function SetRandomPaths
- Line
- 56
- Location
- common.ai
- Constant?
- no
- Type
- native
- Arguments
- boolean state
- Returns
- nothing
| 56 | native SetRandomPaths takes boolean state returns nothing |
| 57 | native SetDefendPlayer takes boolean state returns nothing |
| 58 | native SetHeroesFlee takes boolean state returns nothing |
| 59 | native SetHeroesBuyItems takes boolean state returns nothing |
| 60 | native SetWatchMegaTargets takes boolean state returns nothing |
| 61 | native SetIgnoreInjured takes boolean state returns nothing |
| 62 | native SetHeroesTakeItems takes boolean state returns nothing |
| 63 | native SetUnitsFlee takes boolean state returns nothing |
| 64 | native SetGroupsFlee takes boolean state returns nothing |
| 65 | native SetSlowChopping takes boolean state returns nothing |
| 66 | native SetCaptainChanges takes boolean allow returns nothing |
| 67 | native SetSmartArtillery takes boolean state returns nothing |
| 68 | native SetReplacementCount takes integer qty returns nothing |
| 69 | native GroupTimedLife takes boolean allow returns nothing |
| 70 | native RemoveInjuries takes nothing returns nothing |
| 71 | native RemoveSiege takes nothing returns nothing |
| 72 | |
| 73 | native InitAssault takes nothing returns nothing |
| 74 | native AddAssault takes integer qty, integer id returns boolean |
| 75 | native AddDefenders takes integer qty, integer id returns boolean |
| 76 | |
| 77 | native GetCreepCamp takes integer min, integer max, boolean flyers_ok returns unit |
| 78 | |
| 79 | native StartGetEnemyBase takes nothing returns nothing |
| 80 | native WaitGetEnemyBase takes nothing returns boolean |
| 81 | native GetEnemyBase takes nothing returns unit |
| 82 | native GetExpansionFoe takes nothing returns unit |
| 83 | native GetEnemyExpansion takes nothing returns unit |
| 84 | native GetExpansionX takes nothing returns integer |
| 85 | native GetExpansionY takes nothing returns integer |
| 86 | native SetStagePoint takes real x, real y returns nothing |
| 87 | native AttackMoveKill takes unit target returns nothing |
| 88 | native AttackMoveXY takes integer x, integer y returns nothing |
| 89 | native LoadZepWave takes integer x, integer y returns nothing |
| 90 | native SuicidePlayer takes player id, boolean check_full returns boolean |
| 91 | native SuicidePlayerUnits takes player id, boolean check_full returns boolean |
| 92 | native CaptainInCombat takes boolean attack_captain returns boolean |
| 93 | native IsTowered takes unit target returns boolean |
| 94 | |
| 95 | native ClearHarvestAI takes nothing returns nothing |
| 96 | native HarvestGold takes integer town, integer peons returns nothing |
| 97 | native HarvestWood takes integer town, integer peons returns nothing |
| 98 | native GetExpansionPeon takes nothing returns unit |
| 99 | |
| 100 | native StopGathering takes nothing returns nothing |
| 101 | native AddGuardPost takes integer id, real x, real y returns nothing |
| 102 | native FillGuardPosts takes nothing returns nothing |
| 103 | native ReturnGuardPosts takes nothing returns nothing |
| 104 | native CreateCaptains takes nothing returns nothing |
| 105 | native SetCaptainHome takes integer which, real x, real y returns nothing |
| 106 | native ResetCaptainLocs takes nothing returns nothing |
| 107 | native ShiftTownSpot takes real x, real y returns nothing |
| 108 | native TeleportCaptain takes real x, real y returns nothing |
| 109 | native ClearCaptainTargets takes nothing returns nothing |
| 110 | native CaptainAttack takes real x, real y returns nothing |
| 111 | native CaptainVsUnits takes player id returns nothing |
| 112 | native CaptainVsPlayer takes player id returns nothing |
| 113 | native CaptainGoHome takes nothing returns nothing |
| 114 | native CaptainIsHome takes nothing returns boolean |
| 115 | native CaptainIsFull takes nothing returns boolean |
| 116 | native CaptainIsEmpty takes nothing returns boolean |
| 117 | native CaptainGroupSize takes nothing returns integer |
| 118 | native CaptainReadiness takes nothing returns integer |
| 119 | native CaptainRetreating takes nothing returns boolean |
| 120 | native CaptainReadinessHP takes nothing returns integer |
| 121 | native CaptainReadinessMa takes nothing returns integer |
| 122 | native CaptainAtGoal takes nothing returns boolean |
| 123 | native CreepsOnMap takes nothing returns boolean |
| 124 | native SuicideUnit takes integer count, integer unitid returns nothing |
| 125 | native SuicideUnitEx takes integer ct, integer uid, integer pid returns nothing |
| 126 | native StartThread takes code func returns nothing |
| 127 | native Sleep takes real seconds returns nothing |
| 128 | native UnitAlive takes unit id returns boolean |
| 129 | native UnitInvis takes unit id returns boolean |
| 130 | native IgnoredUnits takes integer unitid returns integer |
| 131 | native TownThreatened takes nothing returns boolean |
| 132 | native DisablePathing takes nothing returns nothing |
| 133 | native SetAmphibious takes nothing returns nothing |
| 134 | |
| 135 | native CommandsWaiting takes nothing returns integer |
| 136 | native GetLastCommand takes nothing returns integer |
| 137 | native GetLastData takes nothing returns integer |
| 138 | native PopLastCommand takes nothing returns nothing |
| 139 | native MeleeDifficulty takes nothing returns integer |
| 140 | |
| 141 | //============================================================================
|
| 142 | // Globals for all AI scripts
|
| 143 | //============================================================================
|
| 144 | globals
|
| 145 | |
| 146 | //--------------------------------------------------------------------
|
| 147 | // HUMANS
|
| 148 | //--------------------------------------------------------------------
|
| 149 | |
| 150 | // human heroes
|
| 151 | constant integer ARCHMAGE = 'Hamg' |
| 152 | constant integer PALADIN = 'Hpal' |
| 153 | constant integer MTN_KING = 'Hmkg' |
| 154 | constant integer BLOOD_MAGE = 'Hblm' |
| 155 | |
| 156 | // human hero abilities
|
| 157 | constant integer AVATAR = 'AHav' |
| 158 | constant integer BASH = 'AHbh' |
| 159 | constant integer THUNDER_BOLT = 'AHtb' |
| 160 | constant integer THUNDER_CLAP = 'AHtc' |
| 161 | |
| 162 | constant integer DEVOTION_AURA = 'AHad' |
| 163 | constant integer DIVINE_SHIELD = 'AHds' |
| 164 | constant integer HOLY_BOLT = 'AHhb' |
| 165 | constant integer RESURRECTION = 'AHre' |
| 166 | |
| 167 | constant integer BLIZZARD = 'AHbz' |
| 168 | constant integer BRILLIANCE_AURA = 'AHab' |
| 169 | constant integer MASS_TELEPORT = 'AHmt' |
| 170 | constant integer WATER_ELEMENTAL = 'AHwe' |
| 171 | |
| 172 | constant integer BANISH = 'AHbn' |
| 173 | constant integer FLAME_STRIKE = 'AHfs' |
| 174 | constant integer SUMMON_PHOENIX = 'AHpx' |
| 175 | constant integer SIPHON_MANA = 'AHdr' |
| 176 | |
| 177 | // special human heroes
|
| 178 | constant integer JAINA = 'Hjai' |
| 179 | constant integer MURADIN = 'Hmbr' |
| 180 | constant integer GARITHOS = 'Hlgr' |
| 181 | constant integer KAEL = 'Hkal' |
| 182 | |
| 183 | // human units
|
| 184 | constant integer COPTER = 'hgyr' |
| 185 | constant integer GYRO = COPTER |
| 186 | constant integer ELEMENTAL = 'hwat' |
| 187 | constant integer FOOTMAN = 'hfoo' |
| 188 | constant integer FOOTMEN = FOOTMAN |
| 189 | constant integer GRYPHON = 'hgry' |
| 190 | constant integer KNIGHT = 'hkni' |
| 191 | constant integer MORTAR = 'hmtm' |
| 192 | constant integer PEASANT = 'hpea' |
| 193 | constant integer PRIEST = 'hmpr' |
| 194 | constant integer RIFLEMAN = 'hrif' |
| 195 | constant integer RIFLEMEN = RIFLEMAN |
| 196 | constant integer SORCERESS = 'hsor' |
| 197 | constant integer TANK = 'hmtt' |
| 198 | constant integer STEAM_TANK = TANK |
| 199 | constant integer ROCKET_TANK = 'hrtt' |
| 200 | constant integer MILITIA = 'hmil' |
| 201 | constant integer SPELL_BREAKER = 'hspt' |
| 202 | constant integer HUMAN_DRAGON_HAWK = 'hdhw' |
| 203 | |
| 204 | // special human units
|
| 205 | constant integer BLOOD_PRIEST = 'hbep' |
| 206 | constant integer BLOOD_SORCERESS = 'hbes' |
| 207 | constant integer BLOOD_PEASANT = 'nhew' |
| 208 | |
| 209 | // human buildings
|
| 210 | constant integer AVIARY = 'hgra' |
| 211 | constant integer BARRACKS = 'hbar' |
| 212 | constant integer BLACKSMITH = 'hbla' |
| 213 | constant integer CANNON_TOWER = 'hctw' |
| 214 | constant integer CASTLE = 'hcas' |
| 215 | constant integer CHURCH = 'htws' |
| 216 | constant integer MAGE_TOWER = CHURCH |
| 217 | constant integer GUARD_TOWER = 'hgtw' |
| 218 | constant integer HOUSE = 'hhou' |
| 219 | constant integer HUMAN_ALTAR = 'halt' |
| 220 | constant integer KEEP = 'hkee' |
| 221 | constant integer LUMBER_MILL = 'hlum' |
| 222 | constant integer SANCTUM = 'hars' |
| 223 | constant integer ARCANE_SANCTUM = SANCTUM |
| 224 | constant integer TOWN_HALL = 'htow' |
| 225 | constant integer WATCH_TOWER = 'hwtw' |
| 226 | constant integer WORKSHOP = 'harm' |
| 227 | constant integer ARCANE_VAULT = 'hvlt' |
| 228 | constant integer ARCANE_TOWER = 'hatw' |
| 229 | |
| 230 | // human upgrades
|
| 231 | constant integer UPG_MELEE = 'Rhme' |
| 232 | constant integer UPG_RANGED = 'Rhra' |
| 233 | constant integer UPG_ARTILLERY = 'Rhaa' |
| 234 | constant integer UPG_ARMOR = 'Rhar' |
| 235 | constant integer UPG_GOLD = 'Rhmi' |
| 236 | constant integer UPG_MASONRY = 'Rhac' |
| 237 | constant integer UPG_SIGHT = 'Rhss' |
| 238 | constant integer UPG_DEFEND = 'Rhde' |
| 239 | constant integer UPG_BREEDING = 'Rhan' |
| 240 | constant integer UPG_PRAYING = 'Rhpt' |
| 241 | constant integer UPG_SORCERY = 'Rhst' |
| 242 | constant integer UPG_LEATHER = 'Rhla' |
| 243 | constant integer UPG_GUN_RANGE = 'Rhri' |
| 244 | constant integer UPG_WOOD = 'Rhlh' |
| 245 | constant integer UPG_SENTINEL = 'Rhse' |
| 246 | constant integer UPG_SCATTER = 'Rhsr' |
| 247 | constant integer UPG_BOMBS = 'Rhgb' |
| 248 | constant integer UPG_HAMMERS = 'Rhhb' |
| 249 | constant integer UPG_CONT_MAGIC = 'Rhss' |
| 250 | constant integer UPG_FRAGS = 'Rhfs' |
| 251 | constant integer UPG_TANK = 'Rhrt' |
| 252 | constant integer UPG_FLAK = 'Rhfc' |
| 253 | constant integer UPG_CLOUD = 'Rhcd' |
| 254 | |
| 255 | //--------------------------------------------------------------------
|
| 256 | // ORCS
|
| 257 | //--------------------------------------------------------------------
|
| 258 | |
| 259 | // orc heroes
|
| 260 | constant integer BLADE_MASTER = 'Obla' |
| 261 | constant integer FAR_SEER = 'Ofar' |
| 262 | constant integer TAUREN_CHIEF = 'Otch' |
| 263 | constant integer SHADOW_HUNTER = 'Oshd' |
| 264 | |
| 265 | // special orc heroes
|
| 266 | constant integer GROM = 'Ogrh' |
| 267 | constant integer THRALL = 'Othr' |
| 268 | |
| 269 | // orc hero abilities
|
| 270 | constant integer CRITICAL_STRIKE = 'AOcr' |
| 271 | constant integer MIRROR_IMAGE = 'AOmi' |
| 272 | constant integer BLADE_STORM = 'AOww' |
| 273 | constant integer WIND_WALK = 'AOwk' |
| 274 | |
| 275 | constant integer CHAIN_LIGHTNING = 'AOcl' |
| 276 | constant integer EARTHQUAKE = 'AOeq' |
| 277 | constant integer FAR_SIGHT = 'AOfs' |
| 278 | constant integer SPIRIT_WOLF = 'AOsf' |
| 279 | |
| 280 | constant integer ENDURANE_AURA = 'AOae' |
| 281 | constant integer REINCARNATION = 'AOre' |
| 282 | constant integer SHOCKWAVE = 'AOsh' |
| 283 | constant integer WAR_STOMP = 'AOws' |
| 284 | |
| 285 | constant integer HEALING_WAVE = 'AOhw' |
| 286 | constant integer HEX = 'AOhx' |
| 287 | constant integer SERPENT_WARD = 'AOsw' |
| 288 | constant integer VOODOO = 'AOvd' |
| 289 | |
| 290 | // orc units
|
| 291 | constant integer GUARDIAN = 'oang' |
| 292 | constant integer CATAPULT = 'ocat' |
| 293 | constant integer WITCH_DOCTOR = 'odoc' |
| 294 | constant integer GRUNT = 'ogru' |
| 295 | constant integer HEAD_HUNTER = 'ohun' |
| 296 | constant integer BERSERKER = 'otbk' |
| 297 | constant integer KODO_BEAST = 'okod' |
| 298 | constant integer PEON = 'opeo' |
| 299 | constant integer RAIDER = 'orai' |
| 300 | constant integer SHAMAN = 'oshm' |
| 301 | constant integer TAUREN = 'otau' |
| 302 | constant integer WYVERN = 'owyv' |
| 303 | constant integer BATRIDER = 'otbr' |
| 304 | constant integer SPIRIT_WALKER = 'ospw' |
| 305 | constant integer SPIRIT_WALKER_M = 'ospm' |
| 306 | |
| 307 | // orc buildings
|
| 308 | constant integer ORC_ALTAR = 'oalt' |
| 309 | constant integer ORC_BARRACKS = 'obar' |
| 310 | constant integer BESTIARY = 'obea' |
| 311 | constant integer FORGE = 'ofor' |
| 312 | constant integer FORTRESS = 'ofrt' |
| 313 | constant integer GREAT_HALL = 'ogre' |
| 314 | constant integer LODGE = 'osld' |
| 315 | constant integer STRONGHOLD = 'ostr' |
| 316 | constant integer BURROW = 'otrb' |
| 317 | constant integer TOTEM = 'otto' |
| 318 | constant integer ORC_WATCH_TOWER = 'owtw' |
| 319 | constant integer VOODOO_LOUNGE = 'ovln' |
| 320 | |
| 321 | // orc upgrades
|
| 322 | constant integer UPG_ORC_MELEE = 'Rome' |
| 323 | constant integer UPG_ORC_RANGED = 'Rora' |
| 324 | constant integer UPG_ORC_ARTILLERY = 'Roaa' |
| 325 | constant integer UPG_ORC_ARMOR = 'Roar' |
| 326 | constant integer UPG_ORC_WAR_DRUMS = 'Rwdm' |
| 327 | constant integer UPG_ORC_PILLAGE = 'Ropg' |
| 328 | constant integer UPG_ORC_BERSERK = 'Robs' |
| 329 | constant integer UPG_ORC_PULVERIZE = 'Rows' |
| 330 | constant integer UPG_ORC_ENSNARE = 'Roen' |
| 331 | constant integer UPG_ORC_VENOM = 'Rovs' |
| 332 | constant integer UPG_ORC_DOCS = 'Rowd' |
| 333 | constant integer UPG_ORC_SHAMAN = 'Rost' |
| 334 | constant integer UPG_ORC_SPIKES = 'Rosp' |
| 335 | constant integer UPG_ORC_BURROWS = 'Rorb' |
| 336 | constant integer UPG_ORC_REGEN = 'Rotr' |
| 337 | constant integer UPG_ORC_FIRE = 'Rolf' |
| 338 | constant integer UPG_ORC_SWALKER = 'Rowt' |
| 339 | constant integer UPG_ORC_BERSERKER = 'Robk' |
| 340 | constant integer UPG_ORC_NAPTHA = 'Robf' |
| 341 | constant integer UPG_ORC_CHAOS = 'Roch' |
| 342 | |
| 343 | // Warcraft 2 orc units
|
| 344 | constant integer OGRE_MAGI = 'nomg' |
| 345 | constant integer ORC_DRAGON = 'nrwm' |
| 346 | constant integer SAPPER = 'ngsp' |
| 347 | constant integer ZEPPLIN = 'nzep' |
| 348 | constant integer ZEPPELIN = ZEPPLIN |
| 349 | constant integer W2_WARLOCK = 'nw2w' |
| 350 | constant integer PIG_FARM = 'npgf' |
| 351 | constant integer FOREST_TROLL = 'nftr' |
| 352 | constant integer DRAGON_ROOST = 'ndrb' |
| 353 | |
| 354 | // special orc units
|
| 355 | constant integer CHAOS_GRUNT = 'nchg' |
| 356 | constant integer CHAOS_WARLOCK = 'nchw' |
| 357 | constant integer CHAOS_RAIDER = 'nchr' |
| 358 | constant integer CHAOS_PEON = 'ncpn' |
| 359 | constant integer CHAOS_KODO = 'nckb' |
| 360 | constant integer CHAOS_GROM = 'Opgh' |
| 361 | constant integer CHAOS_BLADEMASTER = 'Nbbc' |
| 362 | constant integer CHAOS_BURROW = 'ocbw' |
| 363 | |
| 364 | //--------------------------------------------------------------------
|
| 365 | // UNDEAD
|
| 366 | //--------------------------------------------------------------------
|
| 367 | |
| 368 | // undead heroes
|
| 369 | constant integer DEATH_KNIGHT = 'Udea' |
| 370 | constant integer DREAD_LORD = 'Udre' |
| 371 | constant integer LICH = 'Ulic' |
| 372 | constant integer CRYPT_LORD = 'Ucrl' |
| 373 | |
| 374 | // special undead heroes
|
| 375 | constant integer MALGANIS = 'Umal' |
| 376 | constant integer TICHONDRIUS = 'Utic' |
| 377 | constant integer PIT_LORD = 'Npld' |
| 378 | constant integer DETHEROC = 'Udth' |
| 379 | |
| 380 | // undead hero abilities
|
| 381 | constant integer SLEEP = 'AUsl' |
| 382 | constant integer VAMP_AURA = 'AUav' |
| 383 | constant integer CARRION_SWARM = 'AUcs' |
| 384 | constant integer INFERNO = 'AUin' |
| 385 | |
| 386 | constant integer DARK_RITUAL = 'AUdr' |
| 387 | constant integer DEATH_DECAY = 'AUdd' |
| 388 | constant integer FROST_ARMOR = 'AUfu' |
| 389 | constant integer FROST_NOVA = 'AUfn' |
| 390 | |
| 391 | constant integer ANIM_DEAD = 'AUan' |
| 392 | constant integer DEATH_COIL = 'AUdc' |
| 393 | constant integer DEATH_PACT = 'AUdp' |
| 394 | constant integer UNHOLY_AURA = 'AUau' |
| 395 | |
| 396 | constant integer CARRION_SCARAB = 'AUcb' |
| 397 | constant integer IMPALE = 'AUim' |
| 398 | constant integer LOCUST_SWARM = 'AUls' |
| 399 | constant integer THORNY_SHIELD = 'AUts' |
| 400 | |
| 401 | // undead units
|
| 402 | constant integer ABOMINATION = 'uabo' |
| 403 | constant integer ACOLYTE = 'uaco' |
| 404 | constant integer BANSHEE = 'uban' |
| 405 | constant integer PIT_FIEND = 'ucry' |
| 406 | constant integer CRYPT_FIEND = PIT_FIEND |
| 407 | constant integer FROST_WYRM = 'ufro' |
| 408 | constant integer GARGOYLE = 'ugar' |
| 409 | constant integer GARGOYLE_MORPH = 'ugrm' |
| 410 | constant integer GHOUL = 'ugho' |
| 411 | constant integer MEAT_WAGON = 'umtw' |
| 412 | constant integer NECRO = 'unec' |
| 413 | constant integer SKEL_WARRIOR = 'uske' |
| 414 | constant integer SHADE = 'ushd' |
| 415 | constant integer UNDEAD_BARGE = 'uarb' |
| 416 | constant integer OBSIDIAN_STATUE = 'uobs' |
| 417 | constant integer OBS_STATUE = OBSIDIAN_STATUE |
| 418 | constant integer BLK_SPHINX = 'ubsp' |
| 419 | |
| 420 | // undead buildings
|
| 421 | constant integer UNDEAD_MINE = 'ugol' |
| 422 | constant integer UNDEAD_ALTAR = 'uaod' |
| 423 | constant integer BONEYARD = 'ubon' |
| 424 | constant integer GARG_SPIRE = 'ugsp' |
| 425 | constant integer NECROPOLIS_1 = 'unpl' // normal |
| 426 | constant integer NECROPOLIS_2 = 'unp1' // upgraded once |
| 427 | constant integer NECROPOLIS_3 = 'unp2' // full upgrade |
| 428 | constant integer SAC_PIT = 'usap' |
| 429 | constant integer CRYPT = 'usep' |
| 430 | constant integer SLAUGHTERHOUSE = 'uslh' |
| 431 | constant integer DAMNED_TEMPLE = 'utod' |
| 432 | constant integer ZIGGURAT_1 = 'uzig' // normal |
| 433 | constant integer ZIGGURAT_2 = 'uzg1' // upgraded |
| 434 | constant integer ZIGGURAT_FROST = 'uzg2' // frost tower |
| 435 | constant integer GRAVEYARD = 'ugrv' |
| 436 | constant integer TOMB_OF_RELICS = 'utom' |
| 437 | |
| 438 | // undead upgrades
|
| 439 | constant integer UPG_UNHOLY_STR = 'Rume' |
| 440 | constant integer UPG_CR_ATTACK = 'Rura' |
| 441 | constant integer UPG_UNHOLY_ARMOR = 'Ruar' |
| 442 | constant integer UPG_CANNIBALIZE = 'Ruac' |
| 443 | constant integer UPG_GHOUL_FRENZY = 'Rugf' |
| 444 | constant integer UPG_FIEND_WEB = 'Ruwb' |
| 445 | constant integer UPG_ABOM = 'Ruab' |
| 446 | constant integer UPG_STONE_FORM = 'Rusf' |
| 447 | constant integer UPG_NECROS = 'Rune' |
| 448 | constant integer UPG_BANSHEE = 'Ruba' |
| 449 | constant integer UPG_MEAT_WAGON = 'Rump' |
| 450 | constant integer UPG_WYRM_BREATH = 'Rufb' |
| 451 | constant integer UPG_SKEL_LIFE = 'Rusl' |
| 452 | constant integer UPG_SKEL_MASTERY = 'Rusm' |
| 453 | constant integer UPG_EXHUME = 'Ruex' |
| 454 | constant integer UPG_SACRIFICE = 'Rurs' |
| 455 | constant integer UPG_ABOM_EXPL = 'Ruax' |
| 456 | constant integer UPG_CR_ARMOR = 'Rucr' |
| 457 | constant integer UPG_PLAGUE = 'Rupc' |
| 458 | constant integer UPG_BLK_SPHINX = 'Rusp' |
| 459 | constant integer UPG_BURROWING = 'Rubu' |
| 460 | |
| 461 | //--------------------------------------------------------------------
|
| 462 | // ELVES
|
| 463 | //--------------------------------------------------------------------
|
| 464 | |
| 465 | // elf heroes
|
| 466 | constant integer DEMON_HUNTER = 'Edem' |
| 467 | constant integer DEMON_HUNTER_M = 'Edmm' |
| 468 | constant integer KEEPER = 'Ekee' |
| 469 | constant integer MOON_CHICK = 'Emoo' |
| 470 | constant integer MOON_BABE = MOON_CHICK |
| 471 | constant integer MOON_HONEY = MOON_CHICK |
| 472 | constant integer WARDEN = 'Ewar' |
| 473 | |
| 474 | // special elf heroes
|
| 475 | constant integer SYLVANUS = 'Hvwd' |
| 476 | constant integer CENARIUS = 'Ecen' |
| 477 | constant integer ILLIDAN = 'Eevi' |
| 478 | constant integer ILLIDAN_DEMON = 'Eevm' |
| 479 | constant integer MAIEV = 'Ewrd' |
| 480 | |
| 481 | // elf hero abilities
|
| 482 | constant integer FORCE_NATURE = 'AEfn' |
| 483 | constant integer ENT_ROOTS = 'AEer' |
| 484 | constant integer THORNS_AURA = 'AEah' |
| 485 | constant integer TRANQUILITY = 'AEtq' |
| 486 | |
| 487 | constant integer EVASION = 'AEev' |
| 488 | constant integer IMMOLATION = 'AEim' |
| 489 | constant integer MANA_BURN = 'AEmb' |
| 490 | constant integer METAMORPHOSIS = 'AEme' |
| 491 | |
| 492 | constant integer SEARING_ARROWS = 'AHfa' |
| 493 | constant integer SCOUT = 'AEst' |
| 494 | constant integer STARFALL = 'AEsf' |
| 495 | constant integer TRUESHOT = 'AEar' |
| 496 | |
| 497 | constant integer BLINK = 'AEbl' |
| 498 | constant integer FAN_KNIVES = 'AEfk' |
| 499 | constant integer SHADOW_TOUCH = 'AEsh' |
| 500 | constant integer VENGEANCE = 'AEsv' |
| 501 | |
| 502 | // elf units
|
| 503 | constant integer WISP = 'ewsp' |
| 504 | constant integer ARCHER = 'earc' |
| 505 | constant integer DRUID_TALON = 'edot' |
| 506 | constant integer DRUID_TALON_M = 'edtm' |
| 507 | constant integer BALLISTA = 'ebal' |
| 508 | constant integer DRUID_CLAW = 'edoc' |
| 509 | constant integer DRUID_CLAW_M = 'edcm' |
| 510 | constant integer DRYAD = 'edry' |
| 511 | constant integer HIPPO = 'ehip' |
| 512 | constant integer HIPPO_RIDER = 'ehpr' |
| 513 | constant integer HUNTRESS = 'esen' |
| 514 | constant integer CHIMAERA = 'echm' |
| 515 | constant integer ENT = 'efon' |
| 516 | constant integer MOUNTAIN_GIANT = 'emtg' |
| 517 | constant integer FAERIE_DRAGON = 'efdr' |
| 518 | |
| 519 | // special elf units
|
| 520 | constant integer HIGH_ARCHER = 'nhea' |
| 521 | constant integer HIGH_FOOTMAN = 'hcth' |
| 522 | constant integer HIGH_FOOTMEN = HIGH_FOOTMAN |
| 523 | constant integer HIGH_SWORDMAN = 'hhes' |
| 524 | constant integer DRAGON_HAWK = 'nws1' |
| 525 | constant integer CORRUPT_TREANT = 'nenc' |
| 526 | constant integer POISON_TREANT = 'nenp' |
| 527 | constant integer PLAGUE_TREANT = 'nepl' |
| 528 | constant integer SHANDRIS = 'eshd' |
| 529 | |
| 530 | // elf buildings
|
| 531 | constant integer ANCIENT_LORE = 'eaoe' |
| 532 | constant integer ANCIENT_WAR = 'eaom' |
| 533 | constant integer ANCIENT_WIND = 'eaow' |
| 534 | constant integer TREE_AGES = 'etoa' |
| 535 | constant integer TREE_ETERNITY = 'etoe' |
| 536 | constant integer TREE_LIFE = 'etol' |
| 537 | constant integer ANCIENT_PROTECT = 'etrp' |
| 538 | constant integer ELF_ALTAR = 'eate' |
| 539 | constant integer BEAR_DEN = 'edol' |
| 540 | constant integer CHIMAERA_ROOST = 'edos' |
| 541 | constant integer HUNTERS_HALL = 'edob' |
| 542 | constant integer MOON_WELL = 'emow' |
| 543 | constant integer ELF_MINE = 'egol' |
| 544 | constant integer DEN_OF_WONDERS = 'eden' |
| 545 | |
| 546 | // special elf buildings
|
| 547 | constant integer ELF_FARM = 'nefm' |
| 548 | constant integer ELF_GUARD_TOWER = 'negt' |
| 549 | constant integer HIGH_SKY = 'negm' |
| 550 | constant integer HIGH_EARTH = 'negf' |
| 551 | constant integer HIGH_TOWER = 'negt' |
| 552 | constant integer ELF_HIGH_BARRACKS = 'nheb' |
| 553 | constant integer CORRUPT_LIFE = 'nctl' |
| 554 | constant integer CORRUPT_AGES = 'ncta' |
| 555 | constant integer CORRUPT_ETERNITY = 'ncte' |
| 556 | constant integer CORRUPT_WELL = 'ncmw' |
| 557 | constant integer CORRUPT_PROTECTOR = 'ncap' |
| 558 | constant integer CORRUPT_WAR = 'ncaw' |
| 559 | |
| 560 | // elf upgrades
|
| 561 | constant integer UPG_STR_MOON = 'Resm' |
| 562 | constant integer UPG_STR_WILD = 'Resw' |
| 563 | constant integer UPG_MOON_ARMOR = 'Rema' |
| 564 | constant integer UPG_HIDES = 'Rerh' |
| 565 | constant integer UPG_ULTRAVISION = 'Reuv' |
| 566 | constant integer UPG_BLESSING = 'Renb' |
| 567 | constant integer UPG_SCOUT = 'Resc' |
| 568 | constant integer UPG_GLAIVE = 'Remg' |
| 569 | constant integer UPG_BOWS = 'Reib' |
| 570 | constant integer UPG_MARKSMAN = 'Remk' |
| 571 | constant integer UPG_DRUID_TALON = 'Redt' |
| 572 | constant integer UPG_DRUID_CLAW = 'Redc' |
| 573 | constant integer UPG_ABOLISH = 'Resi' |
| 574 | constant integer UPG_CHIM_ACID = 'Recb' |
| 575 | constant integer UPG_HIPPO_TAME = 'Reht' |
| 576 | constant integer UPG_BOLT = 'Repd' |
| 577 | constant integer UPG_MARK_CLAW = 'Reeb' |
| 578 | constant integer UPG_MARK_TALON = 'Reec' |
| 579 | constant integer UPG_HARD_SKIN = 'Rehs' |
| 580 | constant integer UPG_RESIST_SKIN = 'Rers' |
| 581 | constant integer UPG_WELL_SPRING = 'Rews' |
| 582 | |
| 583 | //--------------------------------------------------------------------
|
| 584 | // Neutral
|
| 585 | //--------------------------------------------------------------------
|
| 586 | constant integer DEMON_GATE = 'ndmg' |
| 587 | constant integer FELLHOUND = 'nfel' |
| 588 | constant integer INFERNAL = 'ninf' |
| 589 | constant integer DOOMGUARD = 'nbal' |
| 590 | constant integer SATYR = 'nsty' |
| 591 | constant integer TRICKSTER = 'nsat' |
| 592 | constant integer SHADOWDANCER = 'nsts' |
| 593 | constant integer SOULSTEALER = 'nstl' |
| 594 | constant integer HELLCALLER = 'nsth' |
| 595 | constant integer SKEL_ARCHER = 'nska' |
| 596 | constant integer SKEL_MARKSMAN = 'nskm' |
| 597 | constant integer SKEL_BURNING = 'nskf' |
| 598 | constant integer SKEL_GIANT = 'nskg' |
| 599 | constant integer FURBOLG = 'nfrl' |
| 600 | constant integer FURBOLG_TRACKER = 'nfrb' |
| 601 | constant integer FURBOLG_SHAMAN = 'nfrs' |
| 602 | constant integer FURBOLG_CHAMP = 'nfrg' |
| 603 | constant integer FURBOLG_ELDER = 'nfre' |
| 604 | |
| 605 | //--------------------------------------------------------------------
|
| 606 | // NAGA
|
| 607 | //--------------------------------------------------------------------
|
| 608 | |
| 609 | // naga heroes
|
| 610 | constant integer NAGA_SORCERESS = 'Nngs' |
| 611 | constant integer NAGA_VASHJ = 'Hvsh' |
| 612 | |
| 613 | // naga units
|
| 614 | constant integer NAGA_DRAGON = 'nsnp' // old names |
| 615 | constant integer NAGA_WITCH = 'nnsw' |
| 616 | constant integer NAGA_SERPENT = 'nwgs' |
| 617 | constant integer NAGA_HYDRA = 'nhyc' |
| 618 | |
| 619 | constant integer NAGA_SLAVE = 'nmpe' // peon |
| 620 | constant integer NAGA_SNAP_DRAGON = NAGA_DRAGON // weak ranged |
| 621 | constant integer NAGA_COUATL = NAGA_SERPENT // weak air |
| 622 | constant integer NAGA_SIREN = NAGA_WITCH // caster |
| 623 | constant integer NAGA_MYRMIDON = 'nmyr' // knight |
| 624 | constant integer NAGA_REAVER = 'nnmg' // footman |
| 625 | constant integer NAGA_TURTLE = NAGA_HYDRA // siege |
| 626 | constant integer NAGA_ROYAL = 'nnrg' // royal guard |
| 627 | |
| 628 | // naga buildings
|
| 629 | constant integer NAGA_TEMPLE = 'nntt' // town hall |
| 630 | constant integer NAGA_CORAL = 'nnfm' // farm |
| 631 | constant integer NAGA_SHRINE = 'nnsa' // sirens & couatls |
| 632 | constant integer NAGA_SPAWNING = 'nnsg' // myrm, snap dragon, hydra |
| 633 | constant integer NAGA_GUARDIAN = 'nntg' // tower |
| 634 | constant integer NAGA_ALTAR = 'nnad' // altar |
| 635 | |
| 636 | // naga upgrades
|
| 637 | constant integer UPG_NAGA_ARMOR = 'Rnam' |
| 638 | constant integer UPG_NAGA_ATTACK = 'Rnat' |
| 639 | constant integer UPG_NAGA_ABOLISH = 'Rnsi' |
| 640 | constant integer UPG_SIREN = 'Rnsw' |
| 641 | constant integer UPG_NAGA_ENSNARE = 'Rnen' |
| 642 | |
| 643 | |
| 644 | //--------------------------------------------------------------------
|
| 645 | constant integer M1 = 60 |
| 646 | constant integer M2 = 2*60 |
| 647 | constant integer M3 = 3*60 |
| 648 | constant integer M4 = 4*60 |
| 649 | constant integer M5 = 5*60 |
| 650 | constant integer M6 = 6*60 |
| 651 | constant integer M7 = 7*60 |
| 652 | constant integer M8 = 8*60 |
| 653 | constant integer M9 = 9*60 |
| 654 | constant integer M10 = 10*60 |
| 655 | constant integer M11 = 11*60 |
| 656 | constant integer M12 = 12*60 |
| 657 | constant integer M13 = 13*60 |
| 658 | constant integer M14 = 14*60 |
| 659 | constant integer M15 = 15*60 |
| 660 | |
| 661 | constant integer EASY = 1 |
| 662 | constant integer NORMAL = 2 |
| 663 | constant integer HARD = 3 |
| 664 | constant integer INSANE = 4 // not used |
| 665 | |
| 666 | constant integer MELEE_NEWBIE = 1 |
| 667 | constant integer MELEE_NORMAL = 2 |
| 668 | constant integer MELEE_INSANE = 3 |
| 669 | |
| 670 | constant integer ATTACK_CAPTAIN = 1 |
| 671 | constant integer DEFENSE_CAPTAIN = 2 |
| 672 | constant integer BOTH_CAPTAINS = 3 |
| 673 | |
| 674 | constant integer BUILD_UNIT = 1 |
| 675 | constant integer BUILD_UPGRADE = 2 |
| 676 | constant integer BUILD_EXPAND = 3 |
| 677 | |
| 678 | constant integer UPKEEP_TIER1 = 50 |
| 679 | constant integer UPKEEP_TIER2 = 80 |
| 680 | |
| 681 | //--------------------------------------------------------------------
|
| 682 | |
| 683 | player ai_player |
| 684 | |
| 685 | integer sleep_seconds |
| 686 | integer total_gold = 0 |
| 687 | integer total_wood = 0 |
| 688 | integer gold_buffer = 0 // usually for potion money |
| 689 | integer difficulty = NORMAL |
| 690 | integer exp_seen = 0 |
| 691 | integer racial_farm = 'hhou' |
| 692 | integer hero_id = 'Hamg' |
| 693 | integer hero_id2 = 'Hmkg' |
| 694 | integer hero_id3 = 'Hpal' |
| 695 | integer array skill |
| 696 | integer array skills1 |
| 697 | integer array skills2 |
| 698 | integer array skills3 |
| 699 | integer max_hero_level = 0 |
| 700 | |
| 701 | integer array harass_qty |
| 702 | integer array harass_max |
| 703 | integer array harass_units |
| 704 | integer harass_length = 0 |
| 705 | |
| 706 | integer array defense_qty |
| 707 | integer array defense_units |
| 708 | integer defense_length = 0 |
| 709 | |
| 710 | integer array build_qty |
| 711 | integer array build_type |
| 712 | integer array build_item |
| 713 | integer array build_town |
| 714 | integer build_length = 0 |
| 715 | |
| 716 | integer campaign_gold_peons = 5 |
| 717 | integer campaign_wood_peons = 3 |
| 718 | integer campaign_basics_speed = 5 |
| 719 | |
| 720 | integer min_creeps = -1 |
| 721 | integer max_creeps = -1 |
| 722 | |
| 723 | boolean harvest_town1 = true |
| 724 | boolean harvest_town2 = true |
| 725 | boolean harvest_town3 = true |
| 726 | boolean do_campaign_farms = true |
| 727 | boolean two_heroes = false |
| 728 | boolean allow_air_creeps = false |
| 729 | boolean take_exp = false |
| 730 | boolean allow_signal_abort = false |
| 731 | boolean ready_for_zeppelin = true |
| 732 | boolean get_zeppelin = false |
| 733 | |
| 734 | boolean build_campaign_attackers = true |
| 735 | |
| 736 | boolean do_debug_cheats = false |
| 737 | boolean trace_on = true |
| 738 | boolean zep_next_wave = false |
| 739 | boolean form_group_timeouts = true |
| 740 | endglobals
|
| 741 | |
| 742 | //============================================================================
|
| 743 | function PlayerEx takes integer slot returns player |
| 744 | return Player(slot-1) |
| 745 | endfunction
|