HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Question:Script is different.

06-27-2009, 01:23 AM#1
cccc1211
When I save a map, the map's script is changed wrong.
I used jass NewGen Pack v5c.
My war3 version is 1.23b.

This is original map's script.

Collapse JASS:
globals
//globals from ABC:
    constant integer ABC_HASH_SIZE = 8192
    constant integer ABC_HASH_INDEX_LIMIT = 8190
    constant integer ABC_HASH_DOWN = 524288     // 2^19	
    constant integer ABC_HASH_UP   = 2134900736 // 2^22 * 509
    constant integer ABC_HASH_BIAS = 4096       // HASH_SIZE / 2
    constant integer ABC_HASH_COLLISION_LIMIT = 7 // ABC v5.0 had limit 8
    // 509 is the prime closest to 512
    timer    array ABC___timerKeyA
    integer  array ABC___timerValueA
    integer  ABC___timermaxCollisionA = 0
    timer    array ABC___timerKeyB
    integer  array ABC___timerValueB
    integer  ABC___timermaxCollisionB = 0
    timer    array ABC___timerKeyC
    integer  array ABC___timerValueC
    integer  ABC___timermaxCollisionC = 0
    trigger    array ABC___triggerKeyA
    integer  array ABC___triggerValueA
    integer  ABC___triggermaxCollisionA = 0
    trigger    array ABC___triggerKeyB
    integer  array ABC___triggerValueB
    integer  ABC___triggermaxCollisionB = 0
    trigger    array ABC___triggerKeyC
    integer  array ABC___triggerValueC
    integer  ABC___triggermaxCollisionC = 0
    dialog    array ABC___dialogKeyA
    integer  array ABC___dialogValueA
    integer  ABC___dialogmaxCollisionA = 0
    dialog    array ABC___dialogKeyB
    integer  array ABC___dialogValueB
    integer  ABC___dialogmaxCollisionB = 0
    dialog    array ABC___dialogKeyC
    integer  array ABC___dialogValueC
    integer  ABC___dialogmaxCollisionC = 0
//endglobals from ABC
//globals from GadgetsCooldowns:
    timer array Grenade_Timer
    timer array Booster_Timer
    timer array Prism_Timer
    timer array C4_Timer
//endglobals from GadgetsCooldowns
//globals from Maths:
    location Maths__ZLoc = Location( 0, 0 )
//endglobals from Maths
//globals from TimerUtils:
        constant integer TimerUtils___MAX_HANDLE_ID_COUNT = 50000
// processed:         integer array TimerUtils___data[TimerUtils___MAX_HANDLE_ID_COUNT]
        constant integer TimerUtils___MIN_HANDLE_ID=0x100000
        timer array TimerUtils___tT
        integer TimerUtils___tN = 0
        constant integer TimerUtils___HELD=0x28829022
//endglobals from TimerUtils
//globals from TriggerUtils:
    trigger Trig = null
    player DummyPlayer = null
    boolexpr Ally = null
    boolexpr Enemy = null
    boolexpr Alive = null
    boolexpr AliveAlly = null
    boolexpr AliveEnemy = null
//endglobals from TriggerUtils
//globals from VectorLib:
        location VectorLib___loc = Location(0.0,0.0)
//endglobals from VectorLib
//globals from Effect:
integer array EffectArray
    integer EffectTotal=0
    timer array Shake
//endglobals from Effect
//globals from MultiboardUpdate:
    integer array TeamBounty
    real array TeamAccuracy
    integer array TeamKills
    integer array TeamDeaths
//endglobals from MultiboardUpdate
//globals from OneSecondTimer:
    timer OneSecond = CreateTimer()
//endglobals from OneSecondTimer
//globals from ParticleSystem:
    
        constant integer Dummy_Rawcode = 'hpea'
        constant real ParticleSystem_Interval = 0.02
        constant integer Barrel_ID = 'ohun'
        constant integer Tree_ID = 'opeo'
        
        group ParticleGroup = CreateGroup()
        trigger ParticleSystem_Loop = CreateTrigger()
        
        constant real DEGTORAD = 0.0175
        constant real RADTODEG = 57.296
        location ParticleSystem_ZLoc = Location( 0., 0. )
        real ParticleSystem___MaxX
        real ParticleSystem___MinX
        real ParticleSystem___MaxY
        real ParticleSystem___MinY
        integer ParticleSystem___EvalParticle
        unit ParticleSystem___EvalParticleUnit
        group ParticleSystem___EnumGrp = CreateGroup()
        unit ParticleSystem___HitUnit = null
        unit ParticleSystem___TEMPUNIT
        boolexpr ParticleSystem___HitFuncBxpr
//endglobals from ParticleSystem
//globals from SpecialEffects:
integer array SpecialEffects__Array
    integer SpecialEffects__Total = 0
    timer SpecialEffects__Timer = CreateTimer( )
//endglobals from SpecialEffects
//globals from MultiboardSetup:
    multiboard Multiboard
    integer array Leaders
    string array TeamName
    integer PplCount = 0
    boolean ScoreCheck = false
//endglobals from MultiboardSetup
//globals from ParticleSystemFuncs:
        
integer ParticleSystemFuncs___gravity
integer ParticleSystemFuncs___litegravity
        real ParticleSystemFuncs___gravitylength
        
integer SpawnOffset
        
        location ParticleSystemFuncs___ZLoc = Location( 0, 0 )
    
//endglobals from ParticleSystemFuncs
//globals from DummyUtils:
    boolexpr Con
//endglobals from DummyUtils
//globals from StartGame:
    integer BarrelCounter = 0
//endglobals from StartGame
    // User-defined
    dialog                  udg_GameTime               = null
    location array          udg_clsParticleConditionStrings
    location array          udg_clsParticleConditions
    effect array            udg_clsParticleDummyEffect
    location array          udg_clsParticleForces
    integer array           udg_clsParticlePlace
    integer array           udg_clsParticleSpeed
    boolean array           udg_clsParticleTaken
    string array            udg_clsStringIndexString
    trigger                 udg_conditionDeath         = null
    integer                 udg_forceGravity           = 0
    trigger                 udg_conditionGroundHit     = null
    group                   udg_particleGroup          = null
    integer                 udg_particleSpawnOffset    = 0
    integer                 udg_vectorMaxIndex         = 0
    boolean array           udg_vectorTaken
    integer                 udg_vectorUnusedAmount     = 0
    integer array           udg_vectorUnusedIndex
    real array              udg_vectorX
    real array              udg_vectorY
    real array              udg_vectorZ
    unit                    udg_elimTUnit              = null
    trigger                 udg_conditionCollision     = null

    // Generated
    rect                    gg_rct_Bunker_2_Arena      = null
    rect                    gg_rct_Bunker_2_FlagA1     = null
    rect                    gg_rct_Bunker_2_FlagA2     = null
    rect                    gg_rct_Bunker_2_FlagB1     = null
    rect                    gg_rct_Bunker_2_FlagB2     = null
    rect                    gg_rct_Bunker_2_PowerupA   = null
    rect                    gg_rct_Bunker_2_PowerupB   = null
    rect                    gg_rct_Bunker_2_PowerupC   = null
    rect                    gg_rct_Bunker_2_SpawnA     = null
    rect                    gg_rct_Bunker_2_SpawnB     = null
    rect                    gg_rct_Bunker_2_Zone       = null
    rect                    gg_rct_Crossroads_Arena    = null
    rect                    gg_rct_Crossroads_FlagA    = null
    rect                    gg_rct_Crossroads_FlagB    = null
    rect                    gg_rct_Crossroads_PowerupA = null
    rect                    gg_rct_Crossroads_SpawnA   = null
    rect                    gg_rct_Crossroads_SpawnB   = null
    rect                    gg_rct_Crossroads_Zone     = null
    rect                    gg_rct_Dummy               = null
    rect                    gg_rct_Facing_Worlds_Arena = null
    rect                    gg_rct_Facing_Worlds_FlagA = null
    rect                    gg_rct_Facing_Worlds_FlagB = null
    rect                    gg_rct_Facing_Worlds_PowerupA = null
    rect                    gg_rct_Facing_Worlds_PowerupB = null
    rect                    gg_rct_Facing_Worlds_SpawnA = null
    rect                    gg_rct_Facing_Worlds_SpawnB = null
    rect                    gg_rct_Facing_Worlds_Zone  = null
    rect                    gg_rct_Lava_2_Arena        = null
    rect                    gg_rct_Lava_2_FlagA        = null
    rect                    gg_rct_Lava_2_FlagB        = null
    rect                    gg_rct_Lava_2_PowerupA     = null
    rect                    gg_rct_Lava_2_PowerupB     = null
    rect                    gg_rct_Lava_2_SpawnA       = null
    rect                    gg_rct_Lava_2_SpawnB       = null
    rect                    gg_rct_Lava_2_Zone         = null
    rect                    gg_rct_Plunge_Arena        = null
    rect                    gg_rct_Plunge_FlagA        = null
    rect                    gg_rct_Plunge_FlagB        = null
    rect                    gg_rct_Plunge_PowerupA     = null
    rect                    gg_rct_Plunge_PowerupB     = null
    rect                    gg_rct_Plunge_PowerupC     = null
    rect                    gg_rct_Plunge_SpawnA       = null
    rect                    gg_rct_Plunge_SpawnB       = null
    rect                    gg_rct_Plunge_Zone         = null
    rect                    gg_rct_Sewers_Arena        = null
    rect                    gg_rct_Sewers_FlagA        = null
    rect                    gg_rct_Sewers_FlagB        = null
    rect                    gg_rct_Sewers_PowerupA     = null
    rect                    gg_rct_Sewers_PowerupB     = null
    rect                    gg_rct_Sewers_SpawnA       = null
    rect                    gg_rct_Sewers_SpawnB       = null
    rect                    gg_rct_Sewers_Zone         = null
    rect                    gg_rct_Stronghold_Arena    = null
    rect                    gg_rct_Stronghold_FlagA    = null
    rect                    gg_rct_Stronghold_FlagB    = null
    rect                    gg_rct_Stronghold_PowerupA = null
    rect                    gg_rct_Stronghold_SpawnA1  = null
    rect                    gg_rct_Stronghold_SpawnA2  = null
    rect                    gg_rct_Stronghold_SpawnB1  = null
    rect                    gg_rct_Stronghold_SpawnB2  = null
    rect                    gg_rct_Stronghold_Zone     = null
    rect                    gg_rct_Fortress_Arena      = null
    rect                    gg_rct_Fortress_Zone       = null
    rect                    gg_rct_Fortress_SpawnA     = null
    rect                    gg_rct_Fortress_SpawnB     = null
    rect                    gg_rct_Fortress_FlagA      = null
    rect                    gg_rct_Fortress_FlagB      = null
    rect                    gg_rct_Fortress_PowerupA   = null
    rect                    gg_rct_Fortress_PowerupB   = null
    rect                    gg_rct_Fortress_PowerupC   = null
    rect                    gg_rct_Auriga_Zone         = null
    rect                    gg_rct_Auriga_SpawnA       = null
    rect                    gg_rct_Auriga_SpawnB       = null
    rect                    gg_rct_Auriga_Arena        = null
    rect                    gg_rct_Auriga_FlagA        = null
    rect                    gg_rct_Auriga_FlagB        = null
    rect                    gg_rct_Auriga_PowerupA     = null
    rect                    gg_rct_Auriga_Trap         = null
    camerasetup             gg_cam_Cam_Facing_Worlds   = null
    camerasetup             gg_cam_Cam_Lava_2          = null
    camerasetup             gg_cam_Cam_Crossroads      = null
    camerasetup             gg_cam_Cam_Stronghold      = null
    camerasetup             gg_cam_Cam_Sewers          = null
    camerasetup             gg_cam_Cam_Plunge          = null
    camerasetup             gg_cam_Cam_Bunker_2        = null
    camerasetup             gg_cam_Cam_Fortress        = null
    camerasetup             gg_cam_Cam_Auriga          = null
    sound                   gg_snd_BoatAttack1         = null
    sound                   gg_snd_BreathOfFire1       = null
    sound                   gg_snd_CannonTowerMissile1 = null
    sound                   gg_snd_CannonTowerMissile2 = null
    sound                   gg_snd_CannonTowerMissile3 = null
    sound                   gg_snd_CrippleTarget1      = null
    sound                   gg_snd_CryptFiendMissileLaunch1 = null
    sound                   gg_snd_CryptFiendMissileLaunch2 = null
    sound                   gg_snd_CryptFiendMissileLaunch3 = null
    sound                   gg_snd_DestroyerMissile    = null
    sound                   gg_snd_DestroyerMissile01  = null
    sound                   gg_snd_Error               = null
    sound                   gg_snd_FlakCannon          = null
    sound                   gg_snd_GyrocopterImpactHit1 = null
    sound                   gg_snd_GyrocopterImpactHit2 = null
    sound                   gg_snd_ItemReceived        = null
    sound                   gg_snd_MetalLightChopMetal1 = null
    sound                   gg_snd_MetalLightChopMetal2 = null
    sound                   gg_snd_MetalLightChopMetal3 = null
    sound                   gg_snd_MetalLightSliceFlesh1 = null
    sound                   gg_snd_MetalLightSliceFlesh2 = null
    sound                   gg_snd_MetalLightSliceFlesh3 = null
    sound                   gg_snd_QuestActivateWhat1  = null
    sound                   gg_snd_RejuvenationTarget1 = null
    sound                   gg_snd_RiflemanAttack1     = null
    sound                   gg_snd_RiflemanAttack2     = null
    sound                   gg_snd_SpiritLink1         = null
    sound                   gg_snd_TinkerMissileDeath1 = null
    sound                   gg_snd_TinkerMissileLaunch1 = null
    sound                   gg_snd_HeroShadowhunterMissileLaunch1 = null
    sound                   gg_snd_B_FirstBlood        = null
    sound                   gg_snd_M_DoubleKill        = null
    sound                   gg_snd_M_LudruiciousKill   = null
    sound                   gg_snd_M_MegaKill          = null
    sound                   gg_snd_M_MonsterKill       = null
    sound                   gg_snd_M_TrippleKill       = null
    sound                   gg_snd_S_Dominating        = null
    sound                   gg_snd_S_Godlike           = null
    sound                   gg_snd_S_HolyShit          = null
    sound                   gg_snd_S_KillingSpree      = null
    sound                   gg_snd_S_Rampage           = null
    sound                   gg_snd_S_Unstoppable       = null
    sound                   gg_snd_S_WhickedSick       = null
    sound                   gg_snd_BreathOfFire101     = null
    sound                   gg_snd_RainOfFireLoop1     = null
    sound                   gg_snd_HeroDemonMissileLaunch1 = null
    sound                   gg_snd_HeroDemonMissileLaunch2 = null
    sound                   gg_snd_TrollBatriderLiquidFire1 = null
    trigger                 gg_trg_Timer_Utils         = null
    trigger                 gg_trg_VectorLib           = null
    trigger                 gg_trg_ParticleSystem      = null
    trigger                 gg_trg_ParticleSystemFuncs = null
    trigger                 gg_trg_Test                = null
    trigger                 gg_trg_Untitled_Trigger_001 = null
    trigger                 gg_trg_Dummy               = null
    trigger                 gg_trg_ABC                 = null
    trigger                 gg_trg_GLOBALS             = null
    trigger                 gg_trg_HandleData          = null
    trigger                 gg_trg_TriggerUtils        = null
    trigger                 gg_trg_Maths               = null
    trigger                 gg_trg_Text                = null
    trigger                 gg_trg_Special_Effects     = null
    trigger                 gg_trg_Weapon_Utils        = null
    trigger                 gg_trg_Weapon_Accuracy     = null
    trigger                 gg_trg_Gadgets_Cooldowns   = null
    trigger                 gg_trg_Dummy_Utils         = null
    trigger                 gg_trg_StopUnit            = null
    trigger                 gg_trg_Effect              = null
    trigger                 gg_trg_Teams               = null
    trigger                 gg_trg_Sounds              = null
    trigger                 gg_trg_Powerups            = null
    trigger                 gg_trg_Invulnerable        = null
    trigger                 gg_trg_GameOver            = null
    trigger                 gg_trg_ArenaSetup          = null
    trigger                 gg_trg_One_Second_Timer    = null
    trigger                 gg_trg_StartGame           = null
    trigger                 gg_trg_Multiboard_End      = null
    trigger                 gg_trg_Multiboard_Update   = null
    trigger                 gg_trg_Multiboard_Setup    = null
    trigger                 gg_trg_Information         = null
    trigger                 gg_trg_Init_Globals        = null
    trigger                 gg_trg_Init_Game           = null
    trigger                 gg_trg_Init_Rematch        = null
    trigger                 gg_trg_Choose_GameTime     = null
    trigger                 gg_trg_Choose_Arena        = null
    trigger                 gg_trg_Hero_Death          = null
    trigger                 gg_trg_Respawn             = null
    trigger                 gg_trg_Leavers             = null
    trigger                 gg_trg_Balance             = null
    trigger                 gg_trg_FlagPickup          = null
    trigger                 gg_trg_FlagDrop            = null
    trigger                 gg_trg_FlagScoreA          = null
    trigger                 gg_trg_FlagScoreA2         = null
    trigger                 gg_trg_FlagScoreB          = null
    trigger                 gg_trg_FlagScoreB2         = null
    trigger                 gg_trg_PowetupPickup       = null
    trigger                 gg_trg_PowerupRespawn      = null
    trigger                 gg_trg_Double_Damage       = null
    trigger                 gg_trg_Shield              = null
    trigger                 gg_trg_Speed               = null
    trigger                 gg_trg_Regeneration        = null
    trigger                 gg_trg_List                = null
    trigger                 gg_trg_Kick                = null
    trigger                 gg_trg_Crash               = null
    trigger                 gg_trg_MoveSpeed           = null
    trigger                 gg_trg_Jump                = null
    trigger                 gg_trg_Gadgets_Stack       = null
    trigger                 gg_trg_Change_AddOn        = null
    trigger                 gg_trg_Grenade             = null
    trigger                 gg_trg_ShockGrenade        = null
    trigger                 gg_trg_Grenade_Check       = null
    trigger                 gg_trg_Throw_Grenade       = null
    trigger                 gg_trg_Booster             = null
    trigger                 gg_trg_Boost               = null
    trigger                 gg_trg_Booster_Check       = null
    trigger                 gg_trg_Prism               = null
    trigger                 gg_trg_Phase_Out           = null
    trigger                 gg_trg_Prism_Check         = null
    trigger                 gg_trg_C4                  = null
    trigger                 gg_trg_Place_C4            = null
    trigger                 gg_trg_C4_Explode          = null
    trigger                 gg_trg_C4_Check            = null
    trigger                 gg_trg_Camera              = null
    trigger                 gg_trg_Stim                = null
    trigger                 gg_trg_Barricade           = null
    trigger                 gg_trg_Medpack             = null
    trigger                 gg_trg_Change_Weapon       = null
    trigger                 gg_trg_Sniper_Rifle        = null
    trigger                 gg_trg_Minigun             = null
    trigger                 gg_trg_Submachine_Gun      = null
    trigger                 gg_trg_Shrapnel_Gun        = null
    trigger                 gg_trg_Acid_Gun            = null
    trigger                 gg_trg_Laser               = null
    trigger                 gg_trg_Phase_Pistol        = null
    trigger                 gg_trg_Shotgun             = null
    trigger                 gg_trg_Missile_Launcher    = null
    trigger                 gg_trg_Ion_Cannon          = null
    trigger                 gg_trg_Explosive_Barrel    = null
    trigger                 gg_trg_Booster2            = null
    trigger                 gg_trg_C4_Explode2         = null
    trigger                 gg_trg_Grenade2            = null
    trigger                 gg_trg_Shock_Grenade2      = null
    trigger                 gg_trg_Jump2               = null
    trigger                 gg_trg_SniperRifle2        = null
    trigger                 gg_trg_MiniGun2            = null
    trigger                 gg_trg_Flamethrower        = null
    trigger                 gg_trg_Shotgun2            = null
    trigger                 gg_trg_IonCannon2          = null
    trigger                 gg_trg_Missile_Launcher2   = null
    trigger                 gg_trg_Phase_Pistol2       = null
    trigger                 gg_trg_Laser2              = null
    trigger                 gg_trg_Acid_Gun2           = null
    trigger                 gg_trg_Submachine_Gun2     = null
    trigger                 gg_trg_Shrapnel_Gun2       = null
    unit                    gg_unit_ncp2_0056          = null
    integer DUMMY_ID            = 'hpea'
    real PERIOD                 = 0.025
    real LAUNCH                 = 60
    real MapSizeXLow            = 0
    real MapSizeXHigh           = 0
    real MapSizeYLow            = 0
    real MapSizeYHigh           = 0
    
    
    boolean array IsInvulnerable
    timer array Pad
    timer DeathCheck=CreateTimer()
    timer AngleCheck=CreateTimer()
    boolean Plunge=false
    real array HeroAngle
    real array HeroX
    real array HeroY
  //Gameplay
    string TreeImpactSound = "Sound\\Units\\Combat\\MetalLightSliceFlesh"
    boolean End=false
    player Host=null
    timer Gold=CreateTimer()
    timer GameTime=CreateTimer()
    integer Games=0
    force array Teams
  //Multiboard
    multiboard GameMultiboard=null
    integer Minutes=0
    integer Seconds=0
    integer Saved=0
    integer PlayerTotal=0
    string array Weapon
    string array AddOn
  //Dialog
    dialog Dialog=DialogCreate()
    button array Options
    timer Time=CreateTimer()
    timerdialog Show=null
  //Scores
    string N="|cffffcc00Notification|r:  "
    string Red="|cffff8080"
    string Blue="|cff8080ff"
    boolean SuddenDeath=false
    integer array DummyScore
    integer Leader=0
    integer PointsA=0
    integer PointsB=0
    integer LossesA=0
    integer LossesB=0
    integer array Value
    integer array Kills
    integer array Deaths
    integer array Bounty
    integer array Sprees
    integer array Multi
    real array Count
    boolean FirstBlood=false
    boolean KillActive=false
    timer KillTimer=null
    string FlaggedA="N"
    string FlaggedB="N"
    string FlaggedA2="N"
    string FlaggedB2="N"
    unit CarrierA=null
    unit CarrierA2=null
    unit CarrierB=null
    unit CarrierB2=null
    integer array Shots
    integer array Hits
    real array Accuracy
    integer array EKills
    integer array EDeaths
    integer array Scored
    integer array Returned
    integer array Score
    string array Weapons
    integer array SniperRifle
    integer array Minigun
    integer array SubMachineGun
    integer array ShrapnelGun
    integer array AcidGun
    integer array Laser
    integer array PhasePistol
    integer array Shotgun
    integer array MissileLauncher
    integer array IonCannon
    integer array Flamethrower
    string array AddOns
    integer array Armor
    integer array Boots
    integer array Enhancer
    integer array ExplosiveShells
    integer array Gloves
    integer array GoldCoin
    integer array Helm
    integer array ImbuedShells
    integer array Regenerator
    integer array Scope
    string array Gadgets
    integer array Barricade
    integer array Boo
    integer array C4s
    integer array Cam
    integer array Gre
    integer array Medpack
    integer array PhasePrism
    integer array ShockGrenade
    integer array Stim
  //Sounds    
    timer QSTimer=CreateTimer()
    integer QSIndex=0
    integer QSStart=0
    boolean QSCanPlay=true
    sound array QSSound
    real array QSTime
  //Arena
    string array Level
    string array Fade
    integer Sync=0 
    integer Max=0 
    timer Camera=CreateTimer()
    unit Chooser=null
    rect Zone=null
    rect Arena=null
    rect SpawnA=null
    rect SpawnB=null
    rect SpawnA2=null
    rect SpawnB2=null
    rect ScoreA=null
    rect ScoreB=null
    rect ScoreA2=null
    rect ScoreB2=null
    rect array Upgrades
    integer Random=0
    real Height=0
  //Players 
    integer array PlayerCount
  //Units
    unit array Heroes
    unit DummyUnit=null
    unit WinnerA=null
    unit WinnerB=null
    timer array Revive
    integer array Backup
    timer array Invul
    leaderboard array Display
    effect array Effect
  //Weapons & abilities
    location Counter=null
    boolean array Grenades
    unit array Grenade
    unit array Booster
    unit array Prism
    unit array C4
    player array Killer
  //Flags & powerups
    item FlagA=null
    item FlagB=null
    item FlagA2=null
    item FlagB2=null
    item array Powerups
    timer array PowerupRespawn
    timer TeamACheck=null
    timer TeamBCheck=null
    timer TeamA2Check=null
    timer TeamB2Check=null
    trigger array JumpPads
    integer JumpTotal=0
    timer ShieldTimer=CreateTimer()
    boolean ShieldCheck=false
        constant integer Jump___Rawcode = 'ANcl'
        
        timer array Jump___Timer
        constant integer Grenade___Rawcode = 'A007'

        constant string Grenade___Model = "Abilities\\Spells\\Other\\AcidBomb\\BottleMissile.mdl"
        constant string Grenade___ExplosionModel = "Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl"
        constant string Grenade___FireModel = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
        constant string Grenade___MagmaModel = "MDX\\MagmaBurst.mdl"

        constant real Grenade___MaxDist = 699
        constant real Grenade___Duration = 2
        constant real Grenade___Damage = 150
        constant real Grenade___Area = 225
        constant integer ShockGrenade___Rawcode = 'A00M'

        constant string ShockGrenade___Model = "Abilities\\Weapons\\FarseerMissile\\FarseerMissile.mdl"
        constant string ShockGrenade___ShockModel = "Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl"

        constant real ShockGrenade___MaxDist = 699
        constant real ShockGrenade___Duration = 2
        constant real ShockGrenade___Area = 300
        constant integer GrenadeCheck___Ability = 'A00N'
    
        constant integer GrenadeRawcode1 = 'rat6' 
        constant integer GrenadeRawcode2 = 'rat9'
        constant integer DGrenadeRawcode1 = 'fgsk' 
        constant integer DGrenadeRawcode2 = 'gfor' 
        timer array Booster___Timer
        
        constant string Booster___Effect = "Objects\\Spawnmodels\\Human\\FragmentationShards\\FragBoomSpawn.mdl"
        constant string Booster___Sound = "Abilities\\Spells\\Other\\TinkerRocket\\TinkerMissileLaunch1.wav"
    
        constant real Booster___Dist = 900
        constant integer BoosterAbility = 'A008'

        constant integer BoosterRawcode = 'ckng' 
        constant integer DBoosterRawcode = 'modt'
    timer PrismTimer=null
    boolean PrismCheck=false
    real array PrismDuration
        constant integer PrismAbility = 'A00U'

        constant integer PrismRawcode = 'desc' 
        constant integer DPrismRawcode = 'rde4'
        constant integer C4___Rawcode = 'o000'
        constant integer C4_ID = 'hdhw'

        constant string C4Explode___ExplosionModel = "Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl"
        constant string C4Explode___FireModel = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
        constant string C4Explode___MagmaModel = "MDX\\MagmaBurst.mdl"

        constant real C4Explode___Damage = 300
        constant real C4Explode___Area = 800
        constant real C4Explode___SubArea = 400
        constant real C4Explode___Dist = 100
        constant integer C4Ability = 'A00Z'

        constant integer C4Rawcode = 'dsum'
        constant integer DC4Rawcode = 'ankh'
        constant integer Sniper___Rawcode = 'A000'
        constant integer Sniper___Rawcode2 = 'A00I'
        
        constant string Sniper___Model = "Abilities\\Weapons\\BristleBackMissile\\BristleBackMissile.mdl"
        constant string Sniper___ShootSound = "Abilities\\Weapons\\BoatMissile\\BoatAttack1.wav"
        constant string Sniper___UnitImpactModel = "Abilities\\Weapons\\HydraliskImpact\\HydraliskImpact.mdl"
        constant string Sniper___WallImpactModel = "Abilities\\Weapons\\MakuraMissile\\MakuraMissile.mdl"
        constant string Sniper___WallImpactSound = "Sound\\Units\\Combat\\MetalLightChopMetal"
        
        constant real Sniper___Speed = 1250
        constant real Sniper___Duration = 2.4
        constant real Sniper___Damage = 50
        constant integer MiniGun___Rawcode = 'A009'
        constant integer MiniGun___Rawcode2 = 'A00J'
        constant integer MiniGun___Order = 852529
        
        constant string MiniGun___Model = "Abilities\\Weapons\\BristleBackMissile\\BristleBackMissile.mdl"
        constant string MiniGun___UnitImpactModel = "Abilities\\Weapons\\HydraliskImpact\\HydraliskImpact.mdl"
        constant string MiniGun___WallImpactModel = "Abilities\\Weapons\\MakuraMissile\\MakuraMissile.mdl"
        constant string MiniGun___WallImpactSound = "Sound\\Units\\Combat\\MetalLightChopMetal"

        constant real MiniGun___Interval = 0.2
        constant real MiniGun___Spread = 8
        constant real MiniGun___Speed = 1150
        constant real MiniGun___Duration = .8
        constant real MiniGun___Damage = 15

        integer array MiniGun___MachineGuns
        integer MiniGun___MachineGunNum = 0
        timer MiniGun___MachineGunTimer = CreateTimer()
        constant integer SubmachineGun___Rawcode = 'A00K'
        constant integer SubmachineGun___Rawcode2 = 'A003'
        constant integer SubmachineGun___Order = 852529
        
        constant string SubmachineGun___Model = "Abilities\\Weapons\\BristleBackMissile\\BristleBackMissile.mdl"
        constant string SubmachineGun___ShootSound = "Units\\Human\\Gyrocopter\\GyrocopterImpactHit"
        constant string SubmachineGun___UnitImpactModel = "Abilities\\Weapons\\HydraliskImpact\\HydraliskImpact.mdl"
        constant string SubmachineGun___WallImpactModel = "Abilities\\Weapons\\MakuraMissile\\MakuraMissile.mdl"
        constant string SubmachineGun___WallImpactSound = "Sound\\Units\\Combat\\MetalLightChopMetal"

        constant real SubmachineGun___Interval = 0.05
        constant real SubmachineGun___Spread = 8
        constant real SubmachineGun___Speed = 1150
        constant real SubmachineGun___Duration = .5
        constant real SubmachineGun___Damage = 8

        integer array SubmachineGun___SubMachineGuns
        integer SubmachineGun___SubMachineGunNum = 0
        timer SubmachineGun___SubMachineTimer = CreateTimer()
        constant integer ShrapnelGun___Rawcode = 'A00L'
        constant integer ShrapnelGun___Rawcode2 = 'A005'
        
        constant string ShrapnelGun___Model = "Abilities\\Weapons\\BoatMissile\\BoatMissile.mdl"
        constant string ShrapnelGun___ShootSound = "Abilities\\Weapons\\CannonTowerMissile\\CannonTowerMissile3.wav"
        constant string ShrapnelGun___UnitImpactModel = "MDX\\ShrapnelShardMissile.mdx"
        constant string ShrapnelGun___WallImpactModel = "Abilities\\Weapons\\Mortar\\MortarMissile.mdl"
        constant string ShrapnelGun___ShardImpactModel = "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl"
        
        constant real ShrapnelGun___Speed = 1024
        constant real ShrapnelGun___Distance = 1250
        constant real ShrapnelGun___MainDamage = 40
        constant real ShrapnelGun___SubDamage = 20
        constant real ShrapnelGun___SubArea = 150
        constant real ShrapnelGun___ShardDamage = 12
        constant real ShrapnelGun___ShardArea = 125
        constant integer AcidGun___Rawcode = 'A00G'
        constant integer AcidGun___Rawcode2 = 'A001'
        
        constant string AcidGun___Model = "Abilities\\Weapons\\snapMissile\\snapMissile.mdl"
        constant string AcidGun___ShootSound = "Abilities\\Weapons\\AvengerMissile\\DestroyerMissile.wav"
        constant string AcidGun___UnitImpactModel = "Abilities\\Weapons\\PoisonSting\\PoisonStingTarget.mdl"
        constant string AcidGun___DeathModel = "Abilities\\Weapons\\ChimaeraAcidMissile\\ChimaeraAcidMissile.mdl"
        
        constant real AcidGun___Speed = 1024
        constant real AcidGun___Distance = 600
        constant real AcidGun___Duration = 2
        constant real AcidGun___Damage = 25
        constant real AcidGun___SubDamage = 5
        
        timer array AcidGun___Timers
        unit array AcidGun___Dealer
        real array AcidGun___Poison
        constant integer Laser___Rawcode = 'A00O'
        constant integer Laser___Rawcode2 = 'A002'
        
        constant string Laser___Model = "Abilities\\Weapons\\IllidanMissile\\IllidanMissile.mdl"
        constant string Laser___UnitImpactModel = "Abilities\\Weapons\\HydraliskImpact\\HydraliskImpact.mdl"
        constant string Laser___WallImpactModel = "Abilities\\Weapons\\IllidanMissile\\IllidanMissile.mdl"
        
        constant real Laser___Speed = 1500
        constant real Laser___Distance = 1500
        constant real Laser___Damage = 35
        constant real Laser___Duration = 1.5
        constant integer Laser___Bounces = 5
        constant integer PhasePistol___Rawcode = 'A00H'
        constant integer PhasePistol___Rawcode2 = 'A00B'
        
        constant string PhasePistol___Model = "Abilities\\Weapons\\DragonHawkMissile\\DragonHawkMissile.mdl"
        constant string PhasePistol___ShootSound = "Abilities\\Weapons\\CryptFiendMissile\\CryptFiendMissileLaunch"
        constant string PhasePistol___UnitImpactModel = "Abilities\\Weapons\\HydraliskImpact\\HydraliskImpact.mdl"
        constant string PhasePistol___WallImpactModel = "Abilities\\Weapons\\DragonHawkMissile\\DragonHawkMissile.mdl"
        
        constant real PhasePistol___Speed = 1250
        constant real PhasePistol___Duration = .8
        constant real PhasePistol___Damage = 30
        constant integer Shotgun___Rawcode = 'A00P'
        constant integer Shotgun___Rawcode2 = 'A004'
        
        constant string Shotgun___Model = "Abilities\\Weapons\\BristleBackMissile\\BristleBackMissile.mdl"
        constant string Shotgun___ShootSound = "Abilities\\Spells\\Other\\TinkerRocket\\TinkerMissileDeath1.wav"
        constant string Shotgun___UnitImpactModel = "Abilities\\Weapons\\HydraliskImpact\\HydraliskImpact.mdl"
        constant string Shotgun___WallImpactModel = "Abilities\\Weapons\\MakuraMissile\\MakuraMissile.mdl"
        constant string Shotgun___WallImpactSound = "Sound\\Units\\Combat\\MetalLightChopMetal"
        
        constant real Shotgun___Speed = 1500
        constant real Shotgun___Spread = 12
        constant real Shotgun___Bullets = 8
        constant real Shotgun___Duration = 0.17
        constant real Shotgun___Damage = 8
        
        integer Shotgun___Total = 0
integer array Shotgun___Array
        constant integer MissileLauncher___Rawcode = 'A00X'
        constant integer MissileLauncher___Rawcode2 = 'A00Y'
        
        constant string MissileLauncher___Model = "Abilities\\Weapons\\RocketMissile\\RocketMissile.mdl"
        constant string MissileLauncher___ShootSound = "Abilities\\Spells\\Other\\TinkerRocket\\TinkerMissileLaunch1.wav"
        constant string MissileLauncher___UnitImpactModel1 = "MDX\\ShrapnelExplosion.mdx"
        constant string MissileLauncher___UnitImpactModel2 = "Objects\\Spawnmodels\\Human\\FragmentationShards\\FragBoomSpawn.mdl"
        constant string MissileLauncher___WallImpactModel1 = "Abilities\\Weapons\\Mortar\\MortarMissile.mdl"
        constant string MissileLauncher___WallImpactModel2 = "MDX\\ShrapnelShards.mdx"
        
        constant real MissileLauncher___Speed = 1024
        constant real MissileLauncher___Distance = 1750
        constant real MissileLauncher___Damage = 40
        constant real MissileLauncher___SubArea = 150
        constant real MissileLauncher___SubDamage = 20
        constant integer IonCannon___Rawcode = 'A015'
        constant integer IonCannon___Rawcode2 = 'A014'
        
        constant string IonCannon___Model = "MDX\\IonCannon.mdx"
        constant string IonCannon___UnitImpactModel = "MDX\\IonCannon.mdx"
        constant string IonCannon___WallImpactModel1 = "abilities\\weapons\\DemolisherMissile\\DemolisherMissile.mdl"
        constant string IonCannon___WallImpactModel2 = "MDX\\GigasGrandSlamEffect.mdx"
        
        constant real IonCannon___Speed = 1000
        constant real IonCannon___Duration = 1.5
        constant real IonCannon___Damage = 40
        constant real IonCannon___SubArea = 250
        constant real IonCannon___SubDamage = 20
        constant integer ExplosiveBarrel___Rawcode = 'uaco'

        constant string ExplosiveBarrel___ExplosionModel = "Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl"
        constant string ExplosiveBarrel___FireModel = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
        constant string ExplosiveBarrel___MagmaModel = "MDX\\MagmaBurst.mdl"

        constant real ExplosiveBarrel___Damage = 200
        constant real ExplosiveBarrel___Area = 300

trigger l__library_init

//JASSHelper struct globals:
constant integer si__vector=1
integer si__vector_F=0
integer si__vector_I=0
integer array si__vector_V
real array s__vector_x
real array s__vector_y
real array s__vector_z
constant integer si__effectdata=2
integer si__effectdata_F=0
integer si__effectdata_I=0
integer array si__effectdata_V
effect array s__effectdata_sfx
timer array s__effectdata_check
constant integer si__ParticleSystem_Data=3
integer si__ParticleSystem_Data_F=0
integer si__ParticleSystem_Data_I=0
integer array si__ParticleSystem_Data_V
integer array si__ParticleSystem_Data_type
trigger array st__ParticleSystem_Data_onDestroy
boolean array s__ParticleSystem_Data_Collide
boolean array s__ParticleSystem_Data_TerrainCollide
boolean array s__ParticleSystem_Data_OnDeath
real array s__ParticleSystem_Data_collision
trigger array st__ParticleSystem_Data_onCreate
trigger array st__ParticleSystem_Data_onDeath
trigger array st__ParticleSystem_Data_onRemove
trigger array st__ParticleSystem_Data_onCollide
trigger array st__ParticleSystem_Data_onTerrainCollide
constant integer si__Particle=4
integer si__Particle_F=0
integer si__Particle_I=0
integer array si__Particle_V
integer array s__Particle_func
integer array s__Particle_ParticleSystem_Data
integer array s__Particle_location
integer array s__Particle_speed
effect array s__Particle_effect
unit array s__Particle_unit
integer array s___Particle_forces
constant integer s___Particle_forces_size=14
integer array s__Particle_forces
integer array s__Particle_forcenum
boolean array s__Particle_isUnit
boolean array s__Particle_exists
constant integer si__SpecialEffects__data=6
integer si__SpecialEffects__data_F=0
integer si__SpecialEffects__data_I=0
integer array si__SpecialEffects__data_V
effect array s__SpecialEffects__data_sfx
real array s__SpecialEffects__data_duration
constant integer si__DeathThrowback_Data=7
boolean array s__DeathThrowback_Data_TerrainCollide
constant integer si__HeroData=8
constant integer si__Invulnerable=9
integer si__Invulnerable_F=0
integer si__Invulnerable_I=0
integer array si__Invulnerable_V
constant integer si__plungedata=10
integer si__plungedata_F=0
integer si__plungedata_I=0
integer array si__plungedata_V
unit array s__plungedata_pad
real array s__plungedata_aoa
real array s__plungedata_speed
constant integer si__Plunge_Jump_Data=11
boolean array s__Plunge_Jump_Data_TerrainCollide
constant integer si__Jump___Data=12
boolean array s__Jump___Data_TerrainCollide
constant integer si__Grenade___Data=13
boolean array s__Grenade___Data_TerrainCollide
boolean array s__Grenade___Data_OnDeath
constant integer si__ShockGrenade___Data=14
boolean array s__ShockGrenade___Data_TerrainCollide
boolean array s__ShockGrenade___Data_OnDeath
constant integer si__Booster___Data=15
boolean array s__Booster___Data_TerrainCollide
constant integer si__Sniper___Data=16
boolean array s__Sniper___Data_Collide
boolean array s__Sniper___Data_TerrainCollide
boolean array s__Sniper___Data_OnDeath
constant integer si__MiniGun___PData=17
boolean array s__MiniGun___PData_Collide
boolean array s__MiniGun___PData_TerrainCollide
boolean array s__MiniGun___PData_OnDeath
constant integer si__MiniGun___Data=18
integer si__MiniGun___Data_F=0
integer si__MiniGun___Data_I=0
integer array si__MiniGun___Data_V
real array s__MiniGun___Data_a
unit array s__MiniGun___Data_c
real array s__MiniGun___Data_za
constant integer si__SubmachineGun___PData=19
boolean array s__SubmachineGun___PData_Collide
boolean array s__SubmachineGun___PData_TerrainCollide
boolean array s__SubmachineGun___PData_OnDeath
constant integer si__SubmachineGun___Data=20
integer si__SubmachineGun___Data_F=0
integer si__SubmachineGun___Data_I=0
integer array si__SubmachineGun___Data_V
real array s__SubmachineGun___Data_a
unit array s__SubmachineGun___Data_c
real array s__SubmachineGun___Data_za
constant integer si__ShrapnelGun___ShardData=21
boolean array s__ShrapnelGun___ShardData_TerrainCollide
constant integer si__ShrapnelGun___Data=22
boolean array s__ShrapnelGun___Data_Collide
boolean array s__ShrapnelGun___Data_TerrainCollide
constant integer si__AcidGun___Data=23
boolean array s__AcidGun___Data_Collide
boolean array s__AcidGun___Data_TerrainCollide
boolean array s__AcidGun___Data_OnDeath
constant integer si__Laser___LaserData=24
integer si__Laser___LaserData_F=0
integer si__Laser___LaserData_I=0
integer array si__Laser___LaserData_V
integer array s__Laser___LaserData_laser
group array s__Laser___LaserData_targets
timer array s__Laser___LaserData_reset
integer array s__Laser___LaserData_bounces
constant integer si__Laser___Data=25
boolean array s__Laser___Data_Collide
boolean array s__Laser___Data_TerrainCollide
boolean array s__Laser___Data_OnDeath
constant integer si__PhasePistol___Data=26
boolean array s__PhasePistol___Data_Collide
boolean array s__PhasePistol___Data_TerrainCollide
boolean array s__PhasePistol___Data_OnDeath
constant integer si__Shotgun___KB=27
integer si__Shotgun___KB_F=0
integer si__Shotgun___KB_I=0
integer array si__Shotgun___KB_V
timer array s__Shotgun___KB_check
unit array s__Shotgun___KB_target
real array s__Shotgun___KB_angle
real array s__Shotgun___KB_power
constant integer si__Shotgun___BounceData=28
boolean array s__Shotgun___BounceData_TerrainCollide
constant integer si__Shotgun___Data=29
boolean array s__Shotgun___Data_Collide
boolean array s__Shotgun___Data_TerrainCollide
boolean array s__Shotgun___Data_OnDeath
constant integer si__MissileLauncher___Data=30
boolean array s__MissileLauncher___Data_Collide
boolean array s__MissileLauncher___Data_TerrainCollide
boolean array s__MissileLauncher___Data_OnDeath
constant integer si__IonCannon___Data=31
boolean array s__IonCannon___Data_Collide
boolean array s__IonCannon___Data_TerrainCollide
boolean array s__IonCannon___Data_OnDeath
integer array s__TimerUtils___data
integer array s__2TimerUtils___data
integer array s__3TimerUtils___data
integer array s__4TimerUtils___data
integer array s__5TimerUtils___data
integer array s__6TimerUtils___data
integer array s__7TimerUtils___data
trigger st__Particle_onDestroy
trigger st__Invulnerable__staticgetindex
trigger st__Invulnerable__staticsetindex
trigger array st___prototype3
trigger array st___prototype11
integer f__arg_integer1
unit f__arg_unit1
boolean f__arg_boolean1
integer f__arg_this
boolean f__result_boolean

endglobals
function sc___prototype3_execute takes integer i returns nothing

    call TriggerExecute(st___prototype3[i])
endfunction
function sc___prototype3_evaluate takes integer i returns nothing

    call TriggerEvaluate(st___prototype3[i])

endfunction
function sc___prototype11_execute takes integer i,unit a1 returns nothing
    set f__arg_unit1=a1

    call TriggerExecute(st___prototype11[i])
endfunction
function sc___prototype11_evaluate takes integer i,unit a1 returns nothing
    set f__arg_unit1=a1

    call TriggerEvaluate(st___prototype11[i])

endfunction

function sg__TimerUtils___data_get takes integer i returns integer
    if(i<8191) then
        return s__TimerUtils___data[i]
    elseif(i<16382) then
        return s__2TimerUtils___data[i-8191]
    elseif(i<24573) then
        return s__3TimerUtils___data[i-16382]
    elseif(i<40955) then
        if(i<32764) then
            return s__4TimerUtils___data[i-24573]
        else
            return s__5TimerUtils___data[i-32764]
        endif
    else
        if(i<49146) then
            return s__6TimerUtils___data[i-40955]
        else
            return s__7TimerUtils___data[i-49146]
        endif
    endif
endfunction

function sg__TimerUtils___data_set takes integer i,integer v returns nothing
    if(i<8191) then
        set s__TimerUtils___data[i]=v
    elseif(i<16382) then
        set s__2TimerUtils___data[i-8191]=v
    elseif(i<24573) then
        set s__3TimerUtils___data[i-16382]=v
    elseif(i<40955) then
        if(i<32764) then
            set s__4TimerUtils___data[i-24573]=v
        else
            set s__5TimerUtils___data[i-32764]=v
        endif
    else
        if(i<49146) then
            set s__6TimerUtils___data[i-40955]=v
        else
            set s__7TimerUtils___data[i-49146]=v
        endif
    endif
endfunction

//Generated allocator of vector
function s__vector__allocate takes nothing returns integer
 local integer this=si__vector_F
    if (this!=0) then
        set si__vector_F=si__vector_V[this]
    else
        set si__vector_I=si__vector_I+1
        set this=si__vector_I
    endif
    if (this>8190) then
        return 0
    endif

    set si__vector_V[this]=-1
 return this
endfunction

//Generated destructor of vector
function s__vector_destroy takes integer this returns nothing
    if this==null then
        return
    elseif (si__vector_V[this]!=-1) then
        return
    endif
    set si__vector_V[this]=si__vector_F
    set si__vector_F=this
endfunction

//Generated allocator of effectdata
function s__effectdata__allocate takes nothing returns integer
 local integer this=si__effectdata_F
    if (this!=0) then
        set si__effectdata_F=si__effectdata_V[this]
    else
        set si__effectdata_I=si__effectdata_I+1
        set this=si__effectdata_I
    endif
    if (this>8190) then
        return 0
    endif

   set s__effectdata_sfx[this]=null
   set s__effectdata_check[this]=null
    set si__effectdata_V[this]=-1
 return this
endfunction

//Generated destructor of effectdata
function s__effectdata_destroy takes integer this returns nothing
    if this==null then
        return
    elseif (si__effectdata_V[this]!=-1) then
        return
    endif
    set si__effectdata_V[this]=si__effectdata_F
    set si__effectdata_F=this
endfunction

//Generated method caller for ParticleSystem_Data.onCreate
function sc__ParticleSystem_Data_onCreate takes integer this,integer p returns nothing
    set f__arg_this=this
    set f__arg_integer1=p
    call TriggerEvaluate(st__ParticleSystem_Data_onCreate[si__ParticleSystem_Data_type[this]])
endfunction

//Generated method executor for ParticleSystem_Data.onCreate
function sx__ParticleSystem_Data_onCreate takes integer this,integer p returns nothing
    set f__arg_this=this
    set f__arg_integer1=p
    call TriggerExecute(st__ParticleSystem_Data_onCreate[si__ParticleSystem_Data_type[this]])
endfunction

//Generated method caller for ParticleSystem_Data.onDeath
function sc__ParticleSystem_Data_onDeath takes integer this,integer p returns nothing
    set f__arg_this=this
    set f__arg_integer1=p
    call TriggerEvaluate(st__ParticleSystem_Data_onDeath[si__ParticleSystem_Data_type[this]])
endfunction

//Generated method executor for ParticleSystem_Data.onDeath
function sx__ParticleSystem_Data_onDeath takes integer this,integer p returns nothing
    set f__arg_this=this
    set f__arg_integer1=p
    call TriggerExecute(st__ParticleSystem_Data_onDeath[si__ParticleSystem_Data_type[this]])
endfunction

//Generated method caller for ParticleSystem_Data.onRemove
function sc__ParticleSystem_Data_onRemove takes integer this,integer p returns nothing
    set f__arg_this=this
    set f__arg_integer1=p
    call TriggerEvaluate(st__ParticleSystem_Data_onRemove[si__ParticleSystem_Data_type[this]])
endfunction

//Generated method executor for ParticleSystem_Data.onRemove
function sx__ParticleSystem_Data_onRemove takes integer this,integer p returns nothing
    set f__arg_this=this
    set f__arg_integer1=p
    call TriggerExecute(st__ParticleSystem_Data_onRemove[si__ParticleSystem_Data_type[this]])
endfunction

    .............................(omitted)...............................

    call SetStartLocPrio(8 , 8 , 9 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8 , 9 , 10 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8 , 10 , 11 , MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(9 , 11)
    call SetStartLocPrio(9 , 0 , 0 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 1 , 1 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 2 , 2 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 3 , 3 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 4 , 4 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 5 , 5 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 6 , 6 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 7 , 7 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 8 , 8 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 9 , 10 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9 , 10 , 11 , MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(10 , 11)
    call SetStartLocPrio(10 , 0 , 0 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 1 , 1 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 2 , 2 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 3 , 3 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 4 , 4 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 5 , 5 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 6 , 6 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 7 , 7 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 8 , 8 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 9 , 9 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10 , 10 , 11 , MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(11 , 11)
    call SetStartLocPrio(11 , 0 , 0 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 1 , 1 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 2 , 2 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 3 , 3 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 4 , 4 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 5 , 5 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 6 , 6 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 7 , 7 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 8 , 8 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 9 , 9 , MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11 , 10 , 10 , MAP_LOC_PRIO_HIGH)
endfunction

//***************************************************************************
//*
//*  Main Initialization
//*
//***************************************************************************

//===========================================================================
function main takes nothing returns nothing
    call SetCameraBounds(- 5376.0 + GetCameraMargin(CAMERA_MARGIN_LEFT) , - 5632.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM) , 13568.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT) , 17408.0 - GetCameraMargin(CAMERA_MARGIN_TOP) , - 5376.0 + GetCameraMargin(CAMERA_MARGIN_LEFT) , 17408.0 - GetCameraMargin(CAMERA_MARGIN_TOP) , 13568.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT) , - 5632.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM))
    call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl" , "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl")
    call SetWaterBaseColor(255 , 0 , 0 , 255)
    call NewSoundEnvironment("Default")
    call SetAmbientDaySound("CityScapeDay")
    call SetAmbientNightSound("CityScapeNight")
    call SetMapMusic("Music" , true , 0)
    call InitSounds()
    call CreateRegions()
    call CreateCameras()
    call CreateAllUnits()
    call InitBlizzard()

call ExecuteFunc("jasshelper__initstructs54796281")
call ExecuteFunc("ABC___Init")
call ExecuteFunc("TriggerUtils__Init")
call ExecuteFunc("ParticleSystem___Init")
call ExecuteFunc("ParticleSystemFuncs___Init")
call ExecuteFunc("DummyUtils__Init")
call Jump___Init()
call Grenade___Init()
call ShockGrenade___Init()
call GrenadeCheck___Init()
call ThrowGrenade___Init()
call Booster___Init()
call Boost___Init()
call BoosterCheck___Init()
call PhaseOut___Init()
call PrismCheck___Init()
call C4___Init()
call PlaceC4___Init()
call C4Explode___Init()
call C4Check___Init()
call Sniper___Init()
call MiniGun___Init()
call SubmachineGun___Init()
call ShrapnelGun___Init()
call AcidGun___Init()
call Laser___Init()
call PhasePistol___Init()
call Shotgun___Init()
call MissileLauncher___Init()
call IonCannon___Init()
call ExplosiveBarrel___Init()

    call InitGlobals()
    call InitCustomTriggers()
    call RunInitializationTriggers()

endfunction

//***************************************************************************
//*
//*  Map Configuration
//*
//***************************************************************************

function config takes nothing returns nothing
    call SetMapName("TRIGSTR_048")
    call SetMapDescription("TRIGSTR_050")
    call SetPlayers(12)
    call SetTeams(12)
    call SetGamePlacement(MAP_PLACEMENT_TEAMS_TOGETHER)

    call DefineStartLocation(0 , - 1984.0 , 6848.0)
    call DefineStartLocation(1 , - 1984.0 , 6848.0)
    call DefineStartLocation(2 , - 1984.0 , 6848.0)
    call DefineStartLocation(3 , - 1984.0 , 6848.0)
    call DefineStartLocation(4 , - 1984.0 , 6848.0)
    call DefineStartLocation(5 , - 1984.0 , 6848.0)
    call DefineStartLocation(6 , - 1984.0 , 6848.0)
    call DefineStartLocation(7 , - 1984.0 , 6848.0)
    call DefineStartLocation(8 , - 1984.0 , 6848.0)
    call DefineStartLocation(9 , - 1984.0 , 6848.0)
    call DefineStartLocation(10 , - 1984.0 , 6848.0)
    call DefineStartLocation(11 , - 1984.0 , 6848.0)

    // Player setup
    call InitCustomPlayerSlots()
    call InitCustomTeams()
    call InitAllyPriorities()
endfunction




//Struct method generated initializers/callers:
function sa___prototype11_PowerupsCheck takes nothing returns boolean
    call PowerupsCheck(f__arg_unit1)
    return true
endfunction
function sa___prototype3_GameEnd takes nothing returns boolean

    local integer i=0
    local integer id=0
    local integer score=0
    local force f1=CreateForce()
    local force f2=CreateForce()
    if End == false then
    call ClearTextMessages()
    loop
        exitwhen i > 11
        if Display[i] != null then
            call LeaderboardDisplay(Display[i] , false)
        endif
        set i = i + 1
    endloop
    set i = 0
    call TextToAll(99 , " ")
    call TextToAll(99 , " ")
    call TextToAll(99 , " ")
    if PointsA > PointsB then
        set f1 = Teams[0]
        set f2 = Teams[1]
        call TextToAll(12 , N + Red + "Team A|r has won the match!")
    elseif PointsB > PointsA then
        set f1 = Teams[1]
        set f2 = Teams[0]
        call TextToAll(12 , N + Blue + "Team B|r has won the match!")
    endif
    call SoundNotify()
    if Host == null then
        loop
            exitwhen i > 11
            if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING and IsPlayerInForce(Player(i) , f1) then
                if score == 0 then
                    set score = Value[i]
                    set Host = Player(i)
                elseif Kills[i] - Deaths[i] > score then
                    set score = Value[i]
                    set Host = Player(i)
                endif
            endif
            set i = i + 1
        endloop
    endif
    call HostCheck()
    if Level[Sync] == "Plunge" or Level[Sync] == "Lava 2" or Level[Sync] == "Bunker 2" or Level[Sync] == "Facing Worlds" or Level[Sync] == "Sewers" then
        call PauseTimer(DeathCheck)
    endif
    if Level[Sync] == "Plunge" then
        call PauseTimer(AngleCheck)
    endif
    if TeamACheck != null then
        call PauseTimer(TeamACheck)
    endif
    if TeamBCheck != null then
        call PauseTimer(TeamBCheck)
    endif
    if TeamA2Check != null then
        call PauseTimer(TeamA2Check)
    endif
    if TeamB2Check != null then
        call PauseTimer(TeamB2Check)
    endif
    call PauseTimer(Gold)
    call PowerupsClear()
    call MultiboardDisplay(GameMultiboard , false)
    set i = Sync
    loop
        exitwhen i >= Max
        set Level[i]=Level[i + 1]
        set Fade[i]=Fade[i + 1]
        set i = i + 1
    endloop
    set Max = Max - 1
    set Sync = 0
    set i = 0
    set id = GetPlayerId(Host)
    call SetCameraPosition(GetUnitX(Heroes[id]) , GetUnitY(Heroes[id]))
    loop
        exitwhen i > 11
        if Invul[i] != null then
            call PauseTimer(Invul[i])
        endif
        if Effect[i] != null then
            call DestroyEffect(Effect[i])
            set Effect[i]=null
        endif
        call SetPlayerState(Player(i) , PLAYER_STATE_RESOURCE_GOLD , 0)
        call SetPlayerAlliance(Host , Player(i) , ConvertAllianceType(5) , true)
        call SetCameraTargetControllerNoZForPlayer(Player(i) , Heroes[id] , 0 , 0 , false)
        call SetCameraFieldForPlayer(Player(i) , CAMERA_FIELD_TARGET_DISTANCE , 1050. , 0)
        call SetCameraFieldForPlayer(Player(i) , CAMERA_FIELD_ROTATION , ( GetUnitFacing(Heroes[id]) + 180. ) , 0)
        call SetCameraFieldForPlayer(Player(i) , CAMERA_FIELD_ANGLE_OF_ATTACK , 300. , 0)
        if Heroes[i] != null then
            call SetUnitInvulnerable(Heroes[i] , true)
            call PauseUnit(Heroes[i] , true)
        endif
        if Revive[i] != null then
            call PauseTimer(Revive[i])
        endif
        set EKills[i]=EKills[i] + Kills[i]
        set EDeaths[i]=EDeaths[i] + Deaths[i]
        set Score[i]=Score[i] + Value[i]
        set i = i + 1
    endloop
    call EndMultiboard()
    if Games == 1 then
        set i = 0
        set score = 0
        set Host = null
        loop
            exitwhen i > 11
            if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING and IsPlayerInForce(Player(i) , f2) then
                if Host == null then
                    set score = Value[i]
                    set Host = Player(i)
                elseif Kills[i] - Deaths[i] > score then
                    set score = Value[i]
                    set Host = Player(i)
                endif
            endif
            set i = i + 1
        endloop
        if Host == null then
            call HostCheck()
            call TextToAll(12 , N + GetPlayerNameColored(Host , false) + " was randomly chosen & may pick a new Arena for a rematch.")
        else
            call TextToAll(12 , N + GetPlayerNameColored(Host , false) + " was the best player on the loosing team & may pick a new Arena for a rematch.")
        endif
        set Minutes = 0
        set Seconds = 15
        call PauseTimer(Time)
        call PauseTimer(GameTime)
        call TimerStart(Time , 1 , true , function Rematch_Timer)
        set Games = Games + 1
        call SetCameraBoundsToRect(GetPlayableMapRect())
    else
        set Minutes = 0
        set Seconds = 60
        call PauseTimer(Time)
        call PauseTimer(GameTime)
        call TimerStart(Time , 1 , true , function MultiboardEnd_Time)
        call TextToAll(99 , N + "Comments, feedback, suggestions? Visit: |cffffe599www.GamingCraft.net|r")
    endif
    endif
    set End = true
    return true
endfunction
function sa___prototype3_ArenaStart takes nothing returns boolean

    local integer i=0
    local integer n=0
    local real x=0
    local real y=0
    local real z=0
    local real s1x1= 0
    local real s1y1= 0
    local real s1x2= 0
    local real s1y2= 0
    local real s2x1= 0
    local real s2y1= 0
    local real s2x2= 0
    local real s2y2= 0
    set Random = GetRandomInt(0 , 1)
    set SpawnA2 = null
    set SpawnB2 = null
    set ScoreA2 = null
    set ScoreB2 = null
    set Height = 0
    if Level[Sync] == "Plunge" then
        set Height = 450
        set Zone = gg_rct_Plunge_Zone
        set Arena = gg_rct_Plunge_Arena
        set Upgrades[0]=gg_rct_Plunge_PowerupA
        set Upgrades[1]=gg_rct_Plunge_PowerupB
        set Upgrades[2]=gg_rct_Plunge_PowerupC
        if Random == 0 then
            set SpawnA = gg_rct_Plunge_SpawnA
            set SpawnB = gg_rct_Plunge_SpawnB
            set ScoreA = gg_rct_Plunge_FlagA
            set ScoreB = gg_rct_Plunge_FlagB
        else
            set SpawnA = gg_rct_Plunge_SpawnB
            set SpawnB = gg_rct_Plunge_SpawnA
            set ScoreA = gg_rct_Plunge_FlagB
            set ScoreB = gg_rct_Plunge_FlagA
        endif
        set n = 6
    elseif Level[Sync] == "Facing Worlds" then
        set Height = 650
        set Zone = gg_rct_Facing_Worlds_Zone
        set Arena = gg_rct_Facing_Worlds_Arena
        set Upgrades[0]=gg_rct_Facing_Worlds_PowerupA
        set Upgrades[1]=gg_rct_Facing_Worlds_PowerupB
        if Random == 0 then
            set SpawnA = gg_rct_Facing_Worlds_SpawnA
            set SpawnB = gg_rct_Facing_Worlds_SpawnB
            set ScoreA = gg_rct_Facing_Worlds_FlagA
            set ScoreB = gg_rct_Facing_Worlds_FlagB
        else
            set SpawnA = gg_rct_Facing_Worlds_SpawnB
            set SpawnB = gg_rct_Facing_Worlds_SpawnA
            set ScoreA = gg_rct_Facing_Worlds_FlagB
            set ScoreB = gg_rct_Facing_Worlds_FlagA
        endif
        set n = 6
    elseif Level[Sync] == "Lava 2" then
        set Height = 280
        set Zone = gg_rct_Lava_2_Zone
        set Arena = gg_rct_Lava_2_Arena
        set Upgrades[0]=gg_rct_Lava_2_PowerupA
        set Upgrades[1]=gg_rct_Lava_2_PowerupB
        if Random == 0 then
            set SpawnA = gg_rct_Lava_2_SpawnA
            set SpawnB = gg_rct_Lava_2_SpawnB
            set ScoreA = gg_rct_Lava_2_FlagA
            set ScoreB = gg_rct_Lava_2_FlagB
        else
            set SpawnA = gg_rct_Lava_2_SpawnB
            set SpawnB = gg_rct_Lava_2_SpawnA
            set ScoreA = gg_rct_Lava_2_FlagB
            set ScoreB = gg_rct_Lava_2_FlagA
        endif
        set n = 6
    elseif Level[Sync] == "Crossroads" then
        set Zone = gg_rct_Crossroads_Zone
        set Arena = gg_rct_Crossroads_Arena
        set Upgrades[0]=gg_rct_Crossroads_PowerupA
        if Random == 0 then
            set SpawnA = gg_rct_Crossroads_SpawnA
            set SpawnB = gg_rct_Crossroads_SpawnB
            set ScoreA = gg_rct_Crossroads_FlagA
            set ScoreB = gg_rct_Crossroads_FlagB
        else
            set SpawnA = gg_rct_Crossroads_SpawnB
            set SpawnB = gg_rct_Crossroads_SpawnA
            set ScoreA = gg_rct_Crossroads_FlagB
            set ScoreB = gg_rct_Crossroads_FlagA
        endif
        set n = 8
    elseif Level[Sync] == "Stronghold" then
        set Zone = gg_rct_Stronghold_Zone
        set Arena = gg_rct_Stronghold_Arena
        set Upgrades[0]=gg_rct_Stronghold_PowerupA
        if Random == 0 then
            set SpawnA = gg_rct_Stronghold_SpawnA1
            set SpawnB = gg_rct_Stronghold_SpawnB1
            set SpawnA2 = gg_rct_Stronghold_SpawnA2
            set SpawnB2 = gg_rct_Stronghold_SpawnB2
            set ScoreA = gg_rct_Stronghold_FlagA
            set ScoreB = gg_rct_Stronghold_FlagB
        else
            set SpawnA = gg_rct_Stronghold_SpawnB1
            set SpawnB = gg_rct_Stronghold_SpawnA1
            set SpawnA2 = gg_rct_Stronghold_SpawnB2
            set SpawnB2 = gg_rct_Stronghold_SpawnA2
            set ScoreA = gg_rct_Stronghold_FlagB
            set ScoreB = gg_rct_Stronghold_FlagA
        endif
        set n = 8
    elseif Level[Sync] == "Sewers" then
        set Height = 280
        set Zone = gg_rct_Sewers_Zone
        set Arena = gg_rct_Sewers_Arena
        set Upgrades[1]=gg_rct_Sewers_PowerupA
        set Upgrades[2]=gg_rct_Sewers_PowerupB
        if Random == 0 then
            set SpawnA = gg_rct_Sewers_SpawnA
            set SpawnB = gg_rct_Sewers_SpawnB
            set ScoreA = gg_rct_Sewers_FlagA
            set ScoreB = gg_rct_Sewers_FlagB
        else
            set SpawnA = gg_rct_Sewers_SpawnB
            set SpawnB = gg_rct_Sewers_SpawnA
            set ScoreA = gg_rct_Sewers_FlagB
            set ScoreB = gg_rct_Sewers_FlagA
        endif
        set n = 8
    elseif Level[Sync] == "Bunker 2" then
        set Height = 350
        set Zone = gg_rct_Bunker_2_Zone
        set Arena = gg_rct_Bunker_2_Arena
        set Upgrades[1]=gg_rct_Bunker_2_PowerupA
        set Upgrades[2]=gg_rct_Bunker_2_PowerupB
        set Upgrades[3]=gg_rct_Bunker_2_PowerupC
        if Random == 0 then
            set SpawnA = gg_rct_Bunker_2_SpawnA
            set SpawnB = gg_rct_Bunker_2_SpawnB
            set ScoreA = gg_rct_Bunker_2_FlagA1
            set ScoreA2 = gg_rct_Bunker_2_FlagA2
            set ScoreB = gg_rct_Bunker_2_FlagB1
            set ScoreB2 = gg_rct_Bunker_2_FlagB2
        else
            set SpawnA = gg_rct_Bunker_2_SpawnB
            set SpawnB = gg_rct_Bunker_2_SpawnA
            set ScoreA = gg_rct_Bunker_2_FlagB1
            set ScoreA2 = gg_rct_Bunker_2_FlagB2
            set ScoreB = gg_rct_Bunker_2_FlagA1
            set ScoreB2 = gg_rct_Bunker_2_FlagA2
        endif
        set n = 10
    elseif Level[Sync] == "Fortress" then
        set Zone = gg_rct_Fortress_Zone
        set Arena = gg_rct_Fortress_Arena
        set Upgrades[0]=gg_rct_Fortress_PowerupA
        set Upgrades[1]=gg_rct_Fortress_PowerupB
        set Upgrades[2]=gg_rct_Fortress_PowerupC
        if Random == 0 then
            set SpawnA = gg_rct_Fortress_SpawnA
            set SpawnB = gg_rct_Fortress_SpawnB
            set ScoreA = gg_rct_Fortress_FlagA
            set ScoreB = gg_rct_Fortress_FlagB
        else
            set SpawnA = gg_rct_Fortress_SpawnB
            set SpawnB = gg_rct_Fortress_SpawnA
            set ScoreA = gg_rct_Fortress_FlagB
            set ScoreB = gg_rct_Fortress_FlagA
        endif
        set n = 5
    elseif Level[Sync] == "Auriga" then
        set Height = 425
        set Zone = gg_rct_Auriga_Zone
        set Arena = gg_rct_Auriga_Arena
        set Upgrades[0]=gg_rct_Auriga_PowerupA
        if Random == 0 then
            set SpawnA = gg_rct_Auriga_SpawnA
            set SpawnB = gg_rct_Auriga_SpawnB
            set ScoreA = gg_rct_Auriga_FlagA
            set ScoreB = gg_rct_Auriga_FlagB
        else
            set SpawnA = gg_rct_Auriga_SpawnB
            set SpawnB = gg_rct_Auriga_SpawnA
            set ScoreA = gg_rct_Auriga_FlagB
            set ScoreB = gg_rct_Auriga_FlagA
        endif
        set n = 5
    endif
    set Host = null
    set End = false
    call RemoveUnit(Chooser)
    call EnableSelect(true , true)
    set Games = Games + 1
    set s1x1 = GetRectCenterX(SpawnA)
    set s1y1 = GetRectCenterY(SpawnA)
    set s2x1 = GetRectCenterX(SpawnB)
    set s2y1 = GetRectCenterY(SpawnB)
    if SpawnA2 != null then
        set s1x2 = GetRectCenterX(SpawnA2)
        set s1y2 = GetRectCenterY(SpawnA2)
        set s2x2 = GetRectCenterX(SpawnB2)
        set s2y2 = GetRectCenterY(SpawnB2)
    endif
    loop
        exitwhen i > 40
        exitwhen n <= 0
        set x = GetRandomReal(GetRectMinX(Arena) , GetRectMaxX(Arena))
        set y = GetRandomReal(GetRectMinY(Arena) , GetRectMaxY(Arena))
        set z = GetZ(x , y)
        if SquareRoot(( x - s2x1 ) * ( x - s2x1 ) + ( y - s2y1 ) * ( y - s2y1 )) > 600. and SquareRoot(( x - s1x1 ) * ( x - s1x1 ) + ( y - s1y1 ) * ( y - s1y1 )) > 600. and SquareRoot(( x - s2x2 ) * ( x - s2x2 ) + ( y - s2y2 ) * ( y - s2y2 )) > 600. and SquareRoot(( x - s1x2 ) * ( x - s1x2 ) + ( y - s1y2 ) * ( y - s1y2 )) > 600. and not IsTerrainPathable(x , y , PATHING_TYPE_WALKABILITY) then
            if Height != 0 then
                if z > Height + 100 then
                    call CreateUnit(Player(12) , 'uaco' , x , y , GetRandomReal(0 , 360))
                    set n = n - 1
                endif
            else
                call CreateUnit(Player(12) , 'uaco' , x , y , GetRandomReal(0 , 360))
                set n = n - 1
            endif
        endif
        set i = i + 1
    endloop
    if Games > 0 then
        set Seconds = 0
        set Minutes = Saved
    endif
    call GameActivate()
    return true
endfunction
function sa___prototype3_TeamA_Check takes nothing returns boolean

    call DisableTrigger(gg_trg_FlagDrop)
    call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl" , GetItemX(FlagB) , GetItemY(FlagB)))
    call SetItemPosition(FlagB , GetRectCenterX(ScoreB) , GetRectCenterY(ScoreB))
    call EnableTrigger(gg_trg_FlagDrop)
    set FlaggedA = "N"
    call MultiboardUpdate()
    call TriggerSleepAction(0)
    call SoundNotify()
    call TextToAll(10 , N + Blue + "Team B's|r flag was returned.")
    call FlagScore("B")
    call FlagScore("B2")
    return true
endfunction
function sa___prototype3_TeamA2_Check takes nothing returns boolean

    call DisableTrigger(gg_trg_FlagDrop)
    call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl" , GetItemX(FlagB2) , GetItemY(FlagB2)))
    call SetItemPosition(FlagB2 , GetRectCenterX(ScoreB2) , GetRectCenterY(ScoreB2))
    call EnableTrigger(gg_trg_FlagDrop)
    set FlaggedA2 = "N"
    call MultiboardUpdate()
    call TriggerSleepAction(0)
    call SoundNotify()
    call TextToAll(10 , N + Blue + "Team B's|r flag was returned.")
    call FlagScore("B")
    call FlagScore("B2")
    return true
endfunction
function sa___prototype3_TeamB_Check takes nothing returns boolean

    call DisableTrigger(gg_trg_FlagDrop)
    call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl" , GetItemX(FlagA) , GetItemY(FlagA)))
    call SetItemPosition(FlagA , GetRectCenterX(ScoreA) , GetRectCenterY(ScoreA))
    call EnableTrigger(gg_trg_FlagDrop)
    set FlaggedB = "N"
    call MultiboardUpdate()
    call TriggerSleepAction(0)
    call SoundNotify()
    call TextToAll(10 , N + Red + "Team A's|r flag was returned.")
    call FlagScore("A")
    call FlagScore("A2")
    return true
endfunction
function sa___prototype3_Init_Rematch_Acts takes nothing returns boolean

    local integer i=0
    local integer c=0
    local group g=CreateGroup()
    local boolexpr b=Filter(function Rematch_Check)
    call CinematicFadeBJ(bj_CINEFADETYPE_FADEOUT , 3.00 , "ReplaceableTextures\\CameraMasks\\Black_mask.blp" , 0 , 0 , 0 , 0)
    call TriggerSleepAction(3)
    call DestroyMultiboard(GameMultiboard)
    call SetAllyColorFilterState(0)
    if FlagA != null then
        call RemoveItem(FlagA)
        set FlagA = null
    endif
    if FlagA2 != null then
        call RemoveItem(FlagA2)
        set FlagA2 = null
    endif
    if FlagB != null then
        call RemoveItem(FlagB)
        set FlagB = null
    endif
    if FlagB2 != null then
        call RemoveItem(FlagB2)
        set FlagB2 = null
    endif
    set SuddenDeath = false
    if TeamACheck != null then
        call PauseTimer(TeamACheck)
    endif
    if TeamA2Check != null then
        call PauseTimer(TeamA2Check)
    endif
    if TeamBCheck != null then
        call PauseTimer(TeamBCheck)
    endif
    if TeamB2Check != null then
        call PauseTimer(TeamB2Check)
    endif
    set FlaggedA = "N"
    set FlaggedB = "N"
    set FlaggedA2 = "N"
    set FlaggedB2 = "N"
    set Leader = 2
    set PointsA = 0
    set PointsB = 0
    loop
        exitwhen i > 11
        if Heroes[i] != null then
            call RemoveUnit(Heroes[i])
            set Heroes[i]=null
        endif
        set EKills[i]=0
        set Kills[i]=0
        set Value[i]=0
        set Deaths[i]=0
        set Multi[i]=0
        set Bounty[i]=0
        set Count[i]=0
        set Sprees[i]=0
        loop
            exitwhen c > 11
            if IsPlayerEnemy(Player(i) , Player(c)) then
                call SetPlayerAlliance(Player(i) , Player(c) , ConvertAllianceType(5) , false)
                call SetPlayerAlliance(Player(c) , Player(i) , ConvertAllianceType(5) , false)
            endif
            set c = c + 1
        endloop
        set i = i + 1
        set c = 0
    endloop
    set KillActive = false
    if KillTimer == null then
        call PauseTimer(KillTimer)
    endif
    call GroupEnumUnitsInRect(g , GetPlayableMapRect() , b)
    call ForGroup(g , function Rematch_Clear)
    call FogEnableOff()
    call TriggerSleepAction(0)
    call SetCameraBoundsToRect(GetPlayableMapRect())
    call TriggerSleepAction(0)
    call ResetToGameCamera(0)
    set Sync = 0
    set Seconds = 0
    set Minutes = Saved
    call TimerStart(Camera , .1 , true , function Camera_Check)
    call TriggerSleepAction(0)
    call ExecuteFunc("ChooseArenaActivate")
    call TextToAll(8 , N + "The same Gametime was carried through & reset to |cff87ceeb" + I2S(Minutes) + "|r minutes.")
    call SoundNotify()
    call DestroyGroup(g)
    call DestroyBoolExpr(b)
    return true
endfunction

//Functions for BigArrays:
function sa__Shotgun___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call s__Particle_remove(p)
   return true
endfunction
function sa__Shotgun___Data_onCollide takes nothing returns boolean
    call s__Shotgun___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__Shotgun___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call DestroyEffect(AddSpecialEffect(Shotgun___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call MakeSound(Shotgun___WallImpactSound + I2S(GetRandomInt(1 , 3)) + ".wav" , GetRandomInt(50 , 100) , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]])
            call s__Particle_remove(p)
   return true
endfunction
function sa__Shotgun___BounceData_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local unit u= s__Particle_unit[p]
            local integer f
            local integer array v
            local real array r
            local real min= 150.0
            local real max= 650
            if not IsTerrainPathable(s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , PATHING_TYPE_WALKABILITY) then
                set Killer[GetPlayerId(GetOwningPlayer(u))]=null
                call StopUnit(s__Particle_unit[p] , false)
                call SetUnitPathing(s__Particle_unit[p] , true)
                call QueueUnitAnimation(s__Particle_unit[p] , "stand")
                call s__vector_scale(s__Particle_speed[p],0)
                set u = null
return true
            endif
            set v[0]=s__vector_createTerrainNormal(GetUnitX(u) , GetUnitY(u) , 8.)
            set v[1]=s__vector_projectionVector(s__Particle_speed[p] , v[0])
            call s__vector_scale(v[1],- 2)
            call s__vector_add(s__Particle_speed[p],v[1])
            call s__vector_scale(s__Particle_speed[p],0.5)
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) > max * max then
                call s__vector_setLength(s__Particle_speed[p],max)
            endif
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) < ( min * min ) then
                call s__vector_destroy(v[0])
                call s__vector_destroy(v[1])
                call StopUnit(s__Particle_unit[p] , false)
                call SetUnitPathing(s__Particle_unit[p] , true)
                call QueueUnitAnimation(s__Particle_unit[p] , "stand")
                call s__vector_setLength(s__Particle_speed[p],0)
                set u = null
return true
            endif
            call s__vector_destroy(v[0])
            call s__vector_destroy(v[1])
            set u = null
   return true
endfunction
function sa__PhasePistol___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call s__Particle_remove(p)
   return true
endfunction
function sa__PhasePistol___Data_onCollide takes nothing returns boolean
    call s__PhasePistol___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__PhasePistol___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call DestroyEffect(AddSpecialEffect(PhasePistol___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call s__Particle_remove(p)
   return true
endfunction
function sa__Laser___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local integer dat= (s__Particle_ParticleSystem_Data[(p)]) // INLINED!!
            call DestroyGroup(s__Laser___LaserData_targets[dat])
            call ReleaseTimer(s__Laser___LaserData_reset[dat])
            call s__Laser___LaserData_destroy(dat)
            call s__Particle_end(p)
   return true
endfunction
function sa__Laser___Data_onCollide takes nothing returns boolean
    call s__Laser___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__Laser___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local integer dat= (s__Particle_ParticleSystem_Data[(p)]) // INLINED!!
            local integer v1
            local integer v2
            set s__Laser___LaserData_bounces[dat]=s__Laser___LaserData_bounces[dat] - 1
            if s__Laser___LaserData_bounces[dat] > 0 and not End then
                call TimerStart(s__Laser___LaserData_reset[dat] , Laser___Duration , false , function Laser___TimedLifeReset)
                call UnitPauseTimedLife(s__Particle_unit[p] , true)
                call GroupClear(s__Laser___LaserData_targets[dat])
                set v1 = s__vector_createTerrainNormal(s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , 2)
                if IsTerrainPathable(s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , PATHING_TYPE_WALKABILITY) then
                    if s__vector_x[v1] != 0 or s__vector_y[v1] != 0 then
                        set s__vector_z[v1]=0.
                    endif
                endif
                set v2 = s__vector_projectionVector(s__Particle_speed[p] , v1)
                set s__vector_x[s__Particle_location[p]]=s__vector_x[s__Particle_location[p]] - s__vector_x[s__Particle_speed[p]] * ParticleSystem_Interval
                set s__vector_y[s__Particle_location[p]]=s__vector_y[s__Particle_location[p]] - s__vector_y[s__Particle_speed[p]] * ParticleSystem_Interval
                set s__vector_z[s__Particle_location[p]]=s__vector_z[s__Particle_location[p]] - s__vector_z[s__Particle_speed[p]] * ParticleSystem_Interval
                call s__vector_scale(v2,- 2)
                call s__vector_add(s__Particle_speed[p],v2)
                call s__vector_destroy(v1)
                call s__vector_destroy(v2)
                call DestroyEffect(AddSpecialEffect(Laser___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            else
                call DestroyEffect(AddSpecialEffect(Laser___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
                call s__Particle_remove(p)
            endif
   return true
endfunction
function sa__AcidGun___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call DestroyEffect(AddSpecialEffect(AcidGun___DeathModel , GetUnitX(s__Particle_unit[p]) , GetUnitY(s__Particle_unit[p])))
            call s__Particle_remove(p)
   return true
endfunction
function sa__AcidGun___Data_onCollide takes nothing returns boolean
    call s__AcidGun___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__AcidGun___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call GroundBounce_V(p , .65)
   return true
endfunction
function sa__ShrapnelGun___Data_onCollide takes nothing returns boolean
    call s__ShrapnelGun___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__ShrapnelGun___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local integer v1= s__vector_createTerrainNormal(s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , 1)
            local integer v2= s__vector_projectionVector(s__Particle_speed[p] , v1)
            local integer n
            local integer i= 0
            local real a= 0
            local real x= GetUnitX(s__Particle_unit[p])
            local real y= GetUnitY(s__Particle_unit[p])
            local real r
            local real a2
            local real za
            set s__vector_x[s__Particle_location[p]]=s__vector_x[s__Particle_location[p]] - s__vector_x[s__Particle_speed[p]] * ParticleSystem_Interval
            set s__vector_y[s__Particle_location[p]]=s__vector_y[s__Particle_location[p]] - s__vector_y[s__Particle_speed[p]] * ParticleSystem_Interval
            set s__vector_z[s__Particle_location[p]]=s__vector_z[s__Particle_location[p]] - s__vector_z[s__Particle_speed[p]] * ParticleSystem_Interval
            call s__vector_scale(v2,- 2)
            call s__vector_add(s__Particle_speed[p],v2)
            call s__vector_scale(s__Particle_speed[p],.65)
            set a = Atan2(s__vector_y[s__Particle_speed[p]] , s__vector_x[s__Particle_speed[p]])
            call AddSound(s__Particle_unit[p] , "Abilities\\Weapons\\CannonTowerMissile\\CannonTowerMissile" + I2S(GetRandomInt(1 , 3)) + ".wav" , GetRandomInt(100 , 150))
            call DamageArea(s__Particle_unit[p] , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , AreaCheck(s__Particle_unit[p] , ShrapnelGun___SubArea) , ShrapnelGun___SubDamage)
            loop
                exitwhen i > 3
                set n = s__Particle_createProjectile(GetOwningPlayer(s__Particle_unit[p]) , "Abilities\\Weapons\\MakuraMissile\\MakuraMissile.mdl" , x , y , a , s__ShrapnelGun___ShardData__allocate())
                call DamageTransfer(s__Particle_unit[p] , s__Particle_unit[n] , 1)
                call GunShoot(s__Particle_unit[p])
                set a2 = a + GetRandomReal(- 0.53633 , 0.53633)
                set za = GetRandomReal(.3 , .4)
                set r = GetRandomReal(600 , 1200)
                call s__Particle_setSpeed(n,r * Cos(a2) * Cos(za) , r * Sin(a2) * Cos(za) , r * Sin(za))
                call s__Particle_addForce(n,(ParticleSystemFuncs___gravity)) // INLINED!!
                set i = i + 1
            endloop
            call s__vector_destroy(v1)
            call s__vector_destroy(v2)
            call DestroyEffect(AddSpecialEffect(ShrapnelGun___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call s__Particle_remove(p)
   return true
endfunction
function sa__ShrapnelGun___ShardData_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call DestroyEffect(AddSpecialEffect(ShrapnelGun___ShardImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call DamageArea(s__Particle_unit[p] , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , AreaCheck(s__Particle_unit[p] , ShrapnelGun___ShardArea) , ShrapnelGun___ShardDamage)
            call s__Particle_kill(p)
   return true
endfunction
function sa__SubmachineGun___PData_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call s__Particle_remove(p)
   return true
endfunction
function sa__SubmachineGun___PData_onCollide takes nothing returns boolean
    call s__SubmachineGun___PData_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__SubmachineGun___PData_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call MakeSound(SubmachineGun___WallImpactSound + I2S(GetRandomInt(1 , 3)) + ".wav" , GetRandomInt(50 , 100) , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]])
            call DestroyEffect(AddSpecialEffect(SubmachineGun___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call s__Particle_remove(p)
   return true
endfunction
function sa__MiniGun___PData_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call s__Particle_remove(p)
   return true
endfunction
function sa__MiniGun___PData_onCollide takes nothing returns boolean
    call s__MiniGun___PData_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__MiniGun___PData_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call MakeSound(MiniGun___WallImpactSound + I2S(GetRandomInt(1 , 3)) + ".wav" , GetRandomInt(50 , 100) , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]])
            call DestroyEffect(AddSpecialEffect(MiniGun___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call s__Particle_remove(p)
   return true
endfunction
function sa__Sniper___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call s__Particle_remove(p)
   return true
endfunction
function sa__Sniper___Data_onCollide takes nothing returns boolean
    call s__Sniper___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__Sniper___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call MakeSound(Sniper___WallImpactSound + I2S(GetRandomInt(1 , 3)) + ".wav" , GetRandomInt(50 , 100) , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]])
            call DestroyEffect(AddSpecialEffect(Sniper___WallImpactModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call s__Particle_remove(p)
   return true
endfunction
function sa__Booster___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local unit u= s__Particle_unit[p]
            local integer f
            local integer array v
            local real array r
            local real min= 150.0
            local real max= 650
            if not IsTerrainPathable(s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , PATHING_TYPE_WALKABILITY) then
                if not End then
                    call SetUnitPathing(s__Particle_unit[p] , true)
                    call QueueUnitAnimation(s__Particle_unit[p] , "Stand")
                endif
                call StopUnit(u , false)
                call s__vector_setLength(s__Particle_speed[p],0)
                set u = null
return true
            endif
            set v[0]=s__vector_createTerrainNormal(GetUnitX(u) , GetUnitY(u) , 8.)
            set v[1]=s__vector_projectionVector(s__Particle_speed[p] , v[0])
            call s__vector_scale(v[1],- 2)
            call s__vector_add(s__Particle_speed[p],v[1])
            call s__vector_scale(s__Particle_speed[p],0.5)
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) > max * max then
                call s__vector_setLength(s__Particle_speed[p],max)
            endif
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) < ( min * min ) then
                call s__vector_destroy(v[0])
                call s__vector_destroy(v[1])
                if not End then
                    call SetUnitPathing(s__Particle_unit[p] , true)
                    call QueueUnitAnimation(s__Particle_unit[p] , "Stand")
                endif
                call StopUnit(u , false)
                call s__vector_setLength(s__Particle_speed[p],0)
                set u = null
return true
            endif
            call s__vector_destroy(v[0])
            call s__vector_destroy(v[1])
            set u = null
   return true
endfunction
function sa__ShockGrenade___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call DummyArea(s__Particle_unit[p] , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , EnhancerCheck(s__Particle_unit[p] , ShockGrenade___Area) , 'Aslo' , 2 , 852075)
            call MakeEffect(ShockGrenade___ShockModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , EnhancerCheck(s__Particle_unit[p] , 3.) , 5.)
            call s__Particle_remove(p)
   return true
endfunction
function sa__ShockGrenade___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call GroundBounce_V(p , .65)
   return true
endfunction
function sa__Grenade___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call DamageAreaEx(s__Particle_unit[p] , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , EnhancerCheck(s__Particle_unit[p] , Grenade___Area) , EnhancerCheck(s__Particle_unit[p] , Grenade___Damage))
            call MakeEffect(Grenade___ExplosionModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , EnhancerCheck(s__Particle_unit[p] , 1.5) , 5.)
            call MakeEffect(Grenade___FireModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , EnhancerCheck(s__Particle_unit[p] , 4.5) , 0)
            call MakeEffect(Grenade___MagmaModel , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , EnhancerCheck(s__Particle_unit[p] , .75) , 5.)
            call s__Particle_remove(p)
   return true
endfunction
function sa__Grenade___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call GroundBounce_V(p , .65)
   return true
endfunction
function sa__Jump___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local unit u= s__Particle_unit[p]
            local integer f
            local integer array v
            local real array r
            local real min= 150.0
            local real max= 650
            if not IsTerrainPathable(s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , PATHING_TYPE_WALKABILITY) then
                call StopUnit(s__Particle_unit[p] , false)
                call SetUnitPathing(s__Particle_unit[p] , true)
                call QueueUnitAnimation(s__Particle_unit[p] , "stand")
                call s__vector_scale(s__Particle_speed[p],0)
                set u = null
return true
            endif
            set v[0]=s__vector_createTerrainNormal(GetUnitX(u) , GetUnitY(u) , 8.)
            set v[1]=s__vector_projectionVector(s__Particle_speed[p] , v[0])
            call s__vector_scale(v[1],- 2)
            call s__vector_add(s__Particle_speed[p],v[1])
            call s__vector_scale(s__Particle_speed[p],0.5)
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) > max * max then
                call s__vector_setLength(s__Particle_speed[p],max)
            endif
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) < ( min * min ) then
                call s__vector_destroy(v[0])
                call s__vector_destroy(v[1])
                call StopUnit(s__Particle_unit[p] , false)
                call SetUnitPathing(s__Particle_unit[p] , true)
                call QueueUnitAnimation(s__Particle_unit[p] , "stand")
                call s__vector_setLength(s__Particle_speed[p],0)
                set u = null
return true
            endif
            call s__vector_destroy(v[0])
            call s__vector_destroy(v[1])
            set u = null
   return true
endfunction
function sa__Plunge_Jump_Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local unit u= s__Particle_unit[p]
            local integer f
            local integer array v
            local real array r
            local real min= 150.0
            local real max= 650
            if not IsTerrainPathable(s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , PATHING_TYPE_WALKABILITY) then
                call StopUnit(s__Particle_unit[p] , false)
                call SetUnitPathing(s__Particle_unit[p] , true)
                call QueueUnitAnimation(s__Particle_unit[p] , "stand")
                call s__vector_scale(s__Particle_speed[p],0)
                set u = null
return true
            endif
            set v[0]=s__vector_createTerrainNormal(GetUnitX(u) , GetUnitY(u) , 8.)
            set v[1]=s__vector_projectionVector(s__Particle_speed[p] , v[0])
            call s__vector_scale(v[1],- 2)
            call s__vector_add(s__Particle_speed[p],v[1])
            call s__vector_scale(s__Particle_speed[p],0.5)
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) > max * max then
                call s__vector_setLength(s__Particle_speed[p],max)
            endif
            if s__vector_dotProduct(s__Particle_speed[p] , s__Particle_speed[p]) < ( min * min ) then
                call s__vector_destroy(v[0])
                call s__vector_destroy(v[1])
                call StopUnit(s__Particle_unit[p] , false)
                call SetUnitPathing(s__Particle_unit[p] , true)
                call QueueUnitAnimation(s__Particle_unit[p] , "stand")
                call s__vector_setLength(s__Particle_speed[p],0)
                set u = null
return true
            endif
            call s__vector_destroy(v[0])
            call s__vector_destroy(v[1])
            set u = null
   return true
endfunction
function sa__Invulnerable__staticgetindex takes nothing returns boolean
    set f__result_boolean=(IsInvulnerable[GetPlayerId(GetOwningPlayer((f__arg_unit1)))]) // INLINED!!
   return true
endfunction
function sa__Invulnerable__staticsetindex takes nothing returns boolean
    call s__Invulnerable__staticsetindex(f__arg_unit1,f__arg_boolean1)
   return true
endfunction
function sa__HeroData_onCreate takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
        set s__Particle_isUnit[p]=true
        call s__Particle_addForce(p,(ParticleSystemFuncs___gravity)) // INLINED!!
   return true
endfunction
function sa__DeathThrowback_Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
        call GroundHit_DeathBounce(p)
   return true
endfunction
function sa__Particle_onDestroy takes nothing returns boolean
local integer this=f__arg_this
            if s__Particle_effect[this] != null then
                call DestroyEffect(s__Particle_effect[this])
                set s__Particle_effect[this]=null
            endif
            set s__Particle_unit[this]=null
            set s__Particle_exists[this]=false
            call s__vector_destroy(s__Particle_location[this])
            call s__vector_destroy(s__Particle_speed[this])
            call sc__ParticleSystem_Data_destroy(s__Particle_func[this])
   return true
endfunction
function sa__IonCannon___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call s__Particle_remove(p)
   return true
endfunction
function sa__IonCannon___Data_onCollide takes nothing returns boolean
    call s__IonCannon___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__IonCannon___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call DestroyEffect(AddSpecialEffect(IonCannon___WallImpactModel1 , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call DestroyEffect(AddSpecialEffect(IonCannon___WallImpactModel2 , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]]))
            call DamageArea(s__Particle_unit[p] , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , AreaCheck(s__Particle_unit[p] , IonCannon___SubArea) , IonCannon___SubDamage)
            call DummyArea(s__Particle_unit[p] , s__vector_x[s__Particle_location[p]] , s__vector_y[s__Particle_location[p]] , s__vector_z[s__Particle_location[p]] , AreaCheck(s__Particle_unit[p] , IonCannon___SubArea) , 'ACcr' , 2 , 852189)
            call s__Particle_remove(p)
   return true
endfunction
function sa__MissileLauncher___Data_onDeath takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            call s__Particle_remove(p)
   return true
endfunction
function sa__MissileLauncher___Data_onCollide takes nothing returns boolean
    call s__MissileLauncher___Data_onCollide(f__arg_this,f__arg_integer1,f__arg_unit1)
   return true
endfunction
function sa__MissileLauncher___Data_onTerrainCollide takes nothing returns boolean
local integer this=f__arg_this
local integer p=f__arg_integer1
            local unit d= null
            local real x= s__vector_x[s__Particle_location[p]]
            local real y= s__vector_y[s__Particle_location[p]]
            local real z= s__vector_z[s__Particle_location[p]]
            call MakeEffect(MissileLauncher___WallImpactModel1 , x , y , z , 1 , 0)
            call MakeEffect(MissileLauncher___WallImpactModel2 , x , y , z , 1 , 5)
            call DamageArea(s__Particle_unit[p] , x , y , z , MissileLauncher___SubArea , MissileLauncher___SubDamage)
            if not End then
                set d = CreateUnit(GetOwningPlayer(s__Particle_unit[p]) , 'ocat' , x , y , 0)
                call UnitRemoveAbility(d , 'Amov')
                if GetUnitAbilityLevel(s__Particle_unit[p] , 'Aakb') > 0 then
                    call SetUnitAbilityLevel(d , 'Abof' , 2)
                endif
                call IssuePointOrderById(d , 851984 , x , y)
            endif
            call s__Particle_remove(p)
   return true
endfunction

function jasshelper__initstructs54796281 takes nothing returns nothing
    set st___prototype11[1]=CreateTrigger()
    call TriggerAddAction(st___prototype11[1],function sa___prototype11_PowerupsCheck)
    call TriggerAddCondition(st___prototype11[1],Condition(function sa___prototype11_PowerupsCheck))
    set st___prototype3[1]=CreateTrigger()
    call TriggerAddAction(st___prototype3[1],function sa___prototype3_GameEnd)
    call TriggerAddCondition(st___prototype3[1],Condition(function sa___prototype3_GameEnd))
    set st___prototype3[6]=CreateTrigger()
    call TriggerAddAction(st___prototype3[6],function sa___prototype3_ArenaStart)
    call TriggerAddCondition(st___prototype3[6],Condition(function sa___prototype3_ArenaStart))
    set st___prototype3[5]=CreateTrigger()
    call TriggerAddAction(st___prototype3[5],function sa___prototype3_TeamA_Check)
    call TriggerAddCondition(st___prototype3[5],Condition(function sa___prototype3_TeamA_Check))
    set st___prototype3[4]=CreateTrigger()
    call TriggerAddAction(st___prototype3[4],function sa___prototype3_TeamA2_Check)
    call TriggerAddCondition(st___prototype3[4],Condition(function sa___prototype3_TeamA2_Check))
    set st___prototype3[3]=CreateTrigger()
    call TriggerAddAction(st___prototype3[3],function sa___prototype3_TeamB_Check)
    call TriggerAddCondition(st___prototype3[3],Condition(function sa___prototype3_TeamB_Check))
    set st___prototype3[2]=CreateTrigger()
    call TriggerAddAction(st___prototype3[2],function sa___prototype3_Init_Rematch_Acts)
    call TriggerAddCondition(st___prototype3[2],Condition(function sa___prototype3_Init_Rematch_Acts))
    set st__ParticleSystem_Data_onCreate[7]=null
    set st__ParticleSystem_Data_onCreate[11]=null
    set st__ParticleSystem_Data_onCreate[12]=null
    set st__ParticleSystem_Data_onCreate[13]=null
    set st__ParticleSystem_Data_onCreate[14]=null
    set st__ParticleSystem_Data_onCreate[15]=null
    set st__ParticleSystem_Data_onCreate[16]=null
    set st__ParticleSystem_Data_onCreate[17]=null
    set st__ParticleSystem_Data_onCreate[19]=null
    set st__ParticleSystem_Data_onCreate[21]=null
    set st__ParticleSystem_Data_onCreate[22]=null
    set st__ParticleSystem_Data_onCreate[23]=null
    set st__ParticleSystem_Data_onCreate[25]=null
    set st__ParticleSystem_Data_onCreate[26]=null
    set st__ParticleSystem_Data_onCreate[28]=null
    set st__ParticleSystem_Data_onCreate[29]=null
    set st__ParticleSystem_Data_onCreate[30]=null
    set st__ParticleSystem_Data_onCreate[31]=null
    set st__ParticleSystem_Data_onDeath[7]=null
    set st__ParticleSystem_Data_onDeath[8]=null
    set st__ParticleSystem_Data_onDeath[11]=null
    set st__ParticleSystem_Data_onDeath[12]=null
    set st__ParticleSystem_Data_onDeath[15]=null
    set st__ParticleSystem_Data_onDeath[21]=null
    set st__ParticleSystem_Data_onDeath[22]=null
    set st__ParticleSystem_Data_onDeath[28]=null
    set st__ParticleSystem_Data_onRemove[7]=null
    set st__ParticleSystem_Data_onRemove[8]=null
    set st__ParticleSystem_Data_onRemove[11]=null
    set st__ParticleSystem_Data_onRemove[12]=null
    set st__ParticleSystem_Data_onRemove[13]=null
    set st__ParticleSystem_Data_onRemove[14]=null
    set st__ParticleSystem_Data_onRemove[15]=null
    set st__ParticleSystem_Data_onRemove[16]=null
    set st__ParticleSystem_Data_onRemove[17]=null
    set st__ParticleSystem_Data_onRemove[19]=null
    set st__ParticleSystem_Data_onRemove[21]=null
    set st__ParticleSystem_Data_onRemove[22]=null
    set st__ParticleSystem_Data_onRemove[23]=null
    set st__ParticleSystem_Data_onRemove[25]=null
    set st__ParticleSystem_Data_onRemove[26]=null
    set st__ParticleSystem_Data_onRemove[28]=null
    set st__ParticleSystem_Data_onRemove[29]=null
    set st__ParticleSystem_Data_onRemove[30]=null
    set st__ParticleSystem_Data_onRemove[31]=null
    set st__ParticleSystem_Data_onCollide[7]=null
    set st__ParticleSystem_Data_onCollide[8]=null
    set st__ParticleSystem_Data_onCollide[11]=null
    set st__ParticleSystem_Data_onCollide[12]=null
    set st__ParticleSystem_Data_onCollide[13]=null
    set st__ParticleSystem_Data_onCollide[14]=null
    set st__ParticleSystem_Data_onCollide[15]=null
    set st__ParticleSystem_Data_onCollide[21]=null
    set st__ParticleSystem_Data_onCollide[28]=null
    set st__ParticleSystem_Data_onTerrainCollide[8]=null
    set st__ParticleSystem_Data_onDeath[29]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[29],Condition( function sa__Shotgun___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[29], function sa__Shotgun___Data_onDeath)
    set st__ParticleSystem_Data_onCollide[29]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[29],Condition( function sa__Shotgun___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[29], function sa__Shotgun___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[29]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[29],Condition( function sa__Shotgun___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[29], function sa__Shotgun___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[29]=null
    set st__ParticleSystem_Data_onTerrainCollide[28]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[28],Condition( function sa__Shotgun___BounceData_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[28], function sa__Shotgun___BounceData_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[28]=null
    set st__ParticleSystem_Data_onDeath[26]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[26],Condition( function sa__PhasePistol___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[26], function sa__PhasePistol___Data_onDeath)
    set st__ParticleSystem_Data_onCollide[26]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[26],Condition( function sa__PhasePistol___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[26], function sa__PhasePistol___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[26]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[26],Condition( function sa__PhasePistol___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[26], function sa__PhasePistol___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[26]=null
    set st__ParticleSystem_Data_onDeath[25]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[25],Condition( function sa__Laser___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[25], function sa__Laser___Data_onDeath)
    set st__ParticleSystem_Data_onCollide[25]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[25],Condition( function sa__Laser___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[25], function sa__Laser___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[25]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[25],Condition( function sa__Laser___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[25], function sa__Laser___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[25]=null
    set st__ParticleSystem_Data_onDeath[23]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[23],Condition( function sa__AcidGun___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[23], function sa__AcidGun___Data_onDeath)
    set st__ParticleSystem_Data_onCollide[23]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[23],Condition( function sa__AcidGun___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[23], function sa__AcidGun___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[23]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[23],Condition( function sa__AcidGun___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[23], function sa__AcidGun___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[23]=null
    set st__ParticleSystem_Data_onCollide[22]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[22],Condition( function sa__ShrapnelGun___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[22], function sa__ShrapnelGun___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[22]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[22],Condition( function sa__ShrapnelGun___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[22], function sa__ShrapnelGun___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[22]=null
    set st__ParticleSystem_Data_onTerrainCollide[21]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[21],Condition( function sa__ShrapnelGun___ShardData_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[21], function sa__ShrapnelGun___ShardData_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[21]=null
    set st__ParticleSystem_Data_onDeath[19]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[19],Condition( function sa__SubmachineGun___PData_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[19], function sa__SubmachineGun___PData_onDeath)
    set st__ParticleSystem_Data_onCollide[19]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[19],Condition( function sa__SubmachineGun___PData_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[19], function sa__SubmachineGun___PData_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[19]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[19],Condition( function sa__SubmachineGun___PData_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[19], function sa__SubmachineGun___PData_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[19]=null
    set st__ParticleSystem_Data_onDeath[17]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[17],Condition( function sa__MiniGun___PData_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[17], function sa__MiniGun___PData_onDeath)
    set st__ParticleSystem_Data_onCollide[17]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[17],Condition( function sa__MiniGun___PData_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[17], function sa__MiniGun___PData_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[17]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[17],Condition( function sa__MiniGun___PData_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[17], function sa__MiniGun___PData_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[17]=null
    set st__ParticleSystem_Data_onDeath[16]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[16],Condition( function sa__Sniper___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[16], function sa__Sniper___Data_onDeath)
    set st__ParticleSystem_Data_onCollide[16]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[16],Condition( function sa__Sniper___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[16], function sa__Sniper___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[16]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[16],Condition( function sa__Sniper___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[16], function sa__Sniper___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[16]=null
    set st__ParticleSystem_Data_onTerrainCollide[15]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[15],Condition( function sa__Booster___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[15], function sa__Booster___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[15]=null
    set st__ParticleSystem_Data_onDeath[14]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[14],Condition( function sa__ShockGrenade___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[14], function sa__ShockGrenade___Data_onDeath)
    set st__ParticleSystem_Data_onTerrainCollide[14]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[14],Condition( function sa__ShockGrenade___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[14], function sa__ShockGrenade___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[14]=null
    set st__ParticleSystem_Data_onDeath[13]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[13],Condition( function sa__Grenade___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[13], function sa__Grenade___Data_onDeath)
    set st__ParticleSystem_Data_onTerrainCollide[13]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[13],Condition( function sa__Grenade___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[13], function sa__Grenade___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[13]=null
    set st__ParticleSystem_Data_onTerrainCollide[12]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[12],Condition( function sa__Jump___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[12], function sa__Jump___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[12]=null
    set st__ParticleSystem_Data_onTerrainCollide[11]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[11],Condition( function sa__Plunge_Jump_Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[11], function sa__Plunge_Jump_Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[11]=null
    set st__Invulnerable__staticgetindex=CreateTrigger()
    call TriggerAddCondition(st__Invulnerable__staticgetindex,Condition( function sa__Invulnerable__staticgetindex))
    set st__Invulnerable__staticsetindex=CreateTrigger()
    call TriggerAddCondition(st__Invulnerable__staticsetindex,Condition( function sa__Invulnerable__staticsetindex))
    set st__ParticleSystem_Data_onCreate[8]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCreate[8],Condition( function sa__HeroData_onCreate))
    call TriggerAddAction(st__ParticleSystem_Data_onCreate[8], function sa__HeroData_onCreate)
    set st__ParticleSystem_Data_onDestroy[8]=null
    set st__ParticleSystem_Data_onTerrainCollide[7]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[7],Condition( function sa__DeathThrowback_Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[7], function sa__DeathThrowback_Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[7]=null
    set st__Particle_onDestroy=CreateTrigger()
    call TriggerAddCondition(st__Particle_onDestroy,Condition( function sa__Particle_onDestroy))
    set st__ParticleSystem_Data_onDeath[31]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[31],Condition( function sa__IonCannon___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[31], function sa__IonCannon___Data_onDeath)
    set st__ParticleSystem_Data_onCollide[31]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[31],Condition( function sa__IonCannon___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[31], function sa__IonCannon___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[31]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[31],Condition( function sa__IonCannon___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[31], function sa__IonCannon___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[31]=null
    set st__ParticleSystem_Data_onDeath[30]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onDeath[30],Condition( function sa__MissileLauncher___Data_onDeath))
    call TriggerAddAction(st__ParticleSystem_Data_onDeath[30], function sa__MissileLauncher___Data_onDeath)
    set st__ParticleSystem_Data_onCollide[30]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onCollide[30],Condition( function sa__MissileLauncher___Data_onCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onCollide[30], function sa__MissileLauncher___Data_onCollide)
    set st__ParticleSystem_Data_onTerrainCollide[30]=CreateTrigger()
    call TriggerAddCondition(st__ParticleSystem_Data_onTerrainCollide[30],Condition( function sa__MissileLauncher___Data_onTerrainCollide))
    call TriggerAddAction(st__ParticleSystem_Data_onTerrainCollide[30], function sa__MissileLauncher___Data_onTerrainCollide)
    set st__ParticleSystem_Data_onDestroy[30]=null

    call ExecuteFunc("s__Invulnerable_onInit")
endfunction


This is my script.(I just open the map and save straight without fixing.)

Collapse JASS:
//===========================================================================
// 
// |cffffcc00ET 2  |cffffe599v3.03
// 
//   Warcraft III map script
//   Generated by the Warcraft III World Editor
//   Date: Sun Jun 21 23:20:34 2009
//   Map Author: Chainer- & Fulla
// 
//===========================================================================

//***************************************************************************
//*
//*  Global Variables
//*
//***************************************************************************

globals
    // User-defined
    dialog                  udg_GameTime               = null
    location array          udg_clsParticleConditionStrings
    location array          udg_clsParticleConditions
    effect array            udg_clsParticleDummyEffect
    location array          udg_clsParticleForces
    integer array           udg_clsParticlePlace
    integer array           udg_clsParticleSpeed
    boolean array           udg_clsParticleTaken
    string array            udg_clsStringIndexString
    trigger                 udg_conditionDeath         = null
    integer                 udg_forceGravity           = 0
    trigger                 udg_conditionGroundHit     = null
    group                   udg_particleGroup          = null
    integer                 udg_particleSpawnOffset    = 0
    integer                 udg_vectorMaxIndex         = 0
    boolean array           udg_vectorTaken
    integer                 udg_vectorUnusedAmount     = 0
    integer array           udg_vectorUnusedIndex
    real array              udg_vectorX
    real array              udg_vectorY
    real array              udg_vectorZ
    unit                    udg_elimTUnit              = null
    trigger                 udg_conditionCollision     = null

    // Generated
    rect                    gg_rct_Bunker_2_Arena      = null
    rect                    gg_rct_Bunker_2_FlagA1     = null
    rect                    gg_rct_Bunker_2_FlagA2     = null
    rect                    gg_rct_Bunker_2_FlagB1     = null
    rect                    gg_rct_Bunker_2_FlagB2     = null
    rect                    gg_rct_Bunker_2_PowerupA   = null
    rect                    gg_rct_Bunker_2_PowerupB   = null
    rect                    gg_rct_Bunker_2_PowerupC   = null
    rect                    gg_rct_Bunker_2_SpawnA     = null
    rect                    gg_rct_Bunker_2_SpawnB     = null
    rect                    gg_rct_Bunker_2_Zone       = null
    rect                    gg_rct_Crossroads_Arena    = null
    rect                    gg_rct_Crossroads_FlagA    = null
    rect                    gg_rct_Crossroads_FlagB    = null
    rect                    gg_rct_Crossroads_PowerupA = null
    rect                    gg_rct_Crossroads_SpawnA   = null
    rect                    gg_rct_Crossroads_SpawnB   = null
    rect                    gg_rct_Crossroads_Zone     = null
    rect                    gg_rct_Dummy               = null
    rect                    gg_rct_Facing_Worlds_Arena = null
    rect                    gg_rct_Facing_Worlds_FlagA = null
    rect                    gg_rct_Facing_Worlds_FlagB = null
    rect                    gg_rct_Facing_Worlds_PowerupA = null
    rect                    gg_rct_Facing_Worlds_PowerupB = null
    rect                    gg_rct_Facing_Worlds_SpawnA = null
    rect                    gg_rct_Facing_Worlds_SpawnB = null
    rect                    gg_rct_Facing_Worlds_Zone  = null
    rect                    gg_rct_Lava_2_Arena        = null
    rect                    gg_rct_Lava_2_FlagA        = null
    rect                    gg_rct_Lava_2_FlagB        = null
    rect                    gg_rct_Lava_2_PowerupA     = null
    rect                    gg_rct_Lava_2_PowerupB     = null
    rect                    gg_rct_Lava_2_SpawnA       = null
    rect                    gg_rct_Lava_2_SpawnB       = null
    rect                    gg_rct_Lava_2_Zone         = null
    rect                    gg_rct_Plunge_Arena        = null
    rect                    gg_rct_Plunge_FlagA        = null
    rect                    gg_rct_Plunge_FlagB        = null
    rect                    gg_rct_Plunge_PowerupA     = null
    rect                    gg_rct_Plunge_PowerupB     = null
    rect                    gg_rct_Plunge_PowerupC     = null
    rect                    gg_rct_Plunge_SpawnA       = null
    rect                    gg_rct_Plunge_SpawnB       = null
    rect                    gg_rct_Plunge_Zone         = null
    rect                    gg_rct_Sewers_Arena        = null
    rect                    gg_rct_Sewers_FlagA        = null
    rect                    gg_rct_Sewers_FlagB        = null
    rect                    gg_rct_Sewers_PowerupA     = null
    rect                    gg_rct_Sewers_PowerupB     = null
    rect                    gg_rct_Sewers_SpawnA       = null
    rect                    gg_rct_Sewers_SpawnB       = null
    rect                    gg_rct_Sewers_Zone         = null
    rect                    gg_rct_Stronghold_Arena    = null
    rect                    gg_rct_Stronghold_FlagA    = null
    rect                    gg_rct_Stronghold_FlagB    = null
    rect                    gg_rct_Stronghold_PowerupA = null
    rect                    gg_rct_Stronghold_SpawnA1  = null
    rect                    gg_rct_Stronghold_SpawnA2  = null
    rect                    gg_rct_Stronghold_SpawnB1  = null
    rect                    gg_rct_Stronghold_SpawnB2  = null
    rect                    gg_rct_Stronghold_Zone     = null
    rect                    gg_rct_Fortress_Arena      = null
    rect                    gg_rct_Fortress_Zone       = null
    rect                    gg_rct_Fortress_SpawnA     = null
    rect                    gg_rct_Fortress_SpawnB     = null
    rect                    gg_rct_Fortress_FlagA      = null
    rect                    gg_rct_Fortress_FlagB      = null
    rect                    gg_rct_Fortress_PowerupA   = null
    rect                    gg_rct_Fortress_PowerupB   = null
    rect                    gg_rct_Fortress_PowerupC   = null
    rect                    gg_rct_Auriga_Zone         = null
    rect                    gg_rct_Auriga_SpawnA       = null
    rect                    gg_rct_Auriga_SpawnB       = null
    rect                    gg_rct_Auriga_Arena        = null
    rect                    gg_rct_Auriga_FlagA        = null
    rect                    gg_rct_Auriga_FlagB        = null
    rect                    gg_rct_Auriga_PowerupA     = null
    rect                    gg_rct_Auriga_Trap         = null
    camerasetup             gg_cam_Cam_Facing_Worlds   = null
    camerasetup             gg_cam_Cam_Lava_2          = null
    camerasetup             gg_cam_Cam_Crossroads      = null
    camerasetup             gg_cam_Cam_Stronghold      = null
    camerasetup             gg_cam_Cam_Sewers          = null
    camerasetup             gg_cam_Cam_Plunge          = null
    camerasetup             gg_cam_Cam_Bunker_2        = null
    camerasetup             gg_cam_Cam_Fortress        = null
    camerasetup             gg_cam_Cam_Auriga          = null
    sound                   gg_snd_BoatAttack1         = null
    sound                   gg_snd_BreathOfFire1       = null
    sound                   gg_snd_CannonTowerMissile1 = null
    sound                   gg_snd_CannonTowerMissile2 = null
    sound                   gg_snd_CannonTowerMissile3 = null
    sound                   gg_snd_CrippleTarget1      = null
    sound                   gg_snd_CryptFiendMissileLaunch1 = null
    sound                   gg_snd_CryptFiendMissileLaunch2 = null
    sound                   gg_snd_CryptFiendMissileLaunch3 = null
    sound                   gg_snd_DestroyerMissile    = null
    sound                   gg_snd_DestroyerMissile01  = null
    sound                   gg_snd_Error               = null
    sound                   gg_snd_FlakCannon          = null
    sound                   gg_snd_GyrocopterImpactHit1 = null
    sound                   gg_snd_GyrocopterImpactHit2 = null
    sound                   gg_snd_ItemReceived        = null
    sound                   gg_snd_MetalLightChopMetal1 = null
    sound                   gg_snd_MetalLightChopMetal2 = null
    sound                   gg_snd_MetalLightChopMetal3 = null
    sound                   gg_snd_MetalLightSliceFlesh1 = null
    sound                   gg_snd_MetalLightSliceFlesh2 = null
    sound                   gg_snd_MetalLightSliceFlesh3 = null
    sound                   gg_snd_QuestActivateWhat1  = null
    sound                   gg_snd_RejuvenationTarget1 = null
    sound                   gg_snd_RiflemanAttack1     = null
    sound                   gg_snd_RiflemanAttack2     = null
    sound                   gg_snd_SpiritLink1         = null
    sound                   gg_snd_TinkerMissileDeath1 = null
    sound                   gg_snd_TinkerMissileLaunch1 = null
    sound                   gg_snd_HeroShadowhunterMissileLaunch1 = null
    sound                   gg_snd_B_FirstBlood        = null
    sound                   gg_snd_M_DoubleKill        = null
    sound                   gg_snd_M_LudruiciousKill   = null
    sound                   gg_snd_M_MegaKill          = null
    sound                   gg_snd_M_MonsterKill       = null
    sound                   gg_snd_M_TrippleKill       = null
    sound                   gg_snd_S_Dominating        = null
    sound                   gg_snd_S_Godlike           = null
    sound                   gg_snd_S_HolyShit          = null
    sound                   gg_snd_S_KillingSpree      = null
    sound                   gg_snd_S_Rampage           = null
    sound                   gg_snd_S_Unstoppable       = null
    sound                   gg_snd_S_WhickedSick       = null
    sound                   gg_snd_BreathOfFire101     = null
    sound                   gg_snd_RainOfFireLoop1     = null
    sound                   gg_snd_HeroDemonMissileLaunch1 = null
    sound                   gg_snd_HeroDemonMissileLaunch2 = null
    sound                   gg_snd_TrollBatriderLiquidFire1 = null
    trigger                 gg_trg_Timer_Utils         = null
    trigger                 gg_trg_VectorLib           = null
    trigger                 gg_trg_ParticleSystem      = null
    trigger                 gg_trg_ParticleSystemFuncs = null
    trigger                 gg_trg_Test                = null
    trigger                 gg_trg_Untitled_Trigger_001 = null
    trigger                 gg_trg_Dummy               = null
    trigger                 gg_trg_ABC                 = null
    trigger                 gg_trg_GLOBALS             = null
    trigger                 gg_trg_HandleData          = null
    trigger                 gg_trg_TriggerUtils        = null
    trigger                 gg_trg_Maths               = null
    trigger                 gg_trg_Text                = null
    trigger                 gg_trg_Special_Effects     = null
    trigger                 gg_trg_Weapon_Utils        = null
    trigger                 gg_trg_Weapon_Accuracy     = null
    trigger                 gg_trg_Gadgets_Cooldowns   = null
    trigger                 gg_trg_Dummy_Utils         = null
    trigger                 gg_trg_StopUnit            = null
    trigger                 gg_trg_Effect              = null
    trigger                 gg_trg_Teams               = null
    trigger                 gg_trg_Sounds              = null
    trigger                 gg_trg_Powerups            = null
    trigger                 gg_trg_Invulnerable        = null
    trigger                 gg_trg_GameOver            = null
    trigger                 gg_trg_ArenaSetup          = null
    trigger                 gg_trg_One_Second_Timer    = null
    trigger                 gg_trg_StartGame           = null
    trigger                 gg_trg_Multiboard_End      = null
    trigger                 gg_trg_Multiboard_Update   = null
    trigger                 gg_trg_Multiboard_Setup    = null
    trigger                 gg_trg_Information         = null
    trigger                 gg_trg_Init_Globals        = null
    trigger                 gg_trg_Init_Game           = null
    trigger                 gg_trg_Init_Rematch        = null
    trigger                 gg_trg_Choose_GameTime     = null
    trigger                 gg_trg_Choose_Arena        = null
    trigger                 gg_trg_Hero_Death          = null
    trigger                 gg_trg_Respawn             = null
    trigger                 gg_trg_Leavers             = null
    trigger                 gg_trg_Balance             = null
    trigger                 gg_trg_FlagPickup          = null
    trigger                 gg_trg_FlagDrop            = null
    trigger                 gg_trg_FlagScoreA          = null
    trigger                 gg_trg_FlagScoreA2         = null
    trigger                 gg_trg_FlagScoreB          = null
    trigger                 gg_trg_FlagScoreB2         = null
    trigger                 gg_trg_PowetupPickup       = null
    trigger                 gg_trg_PowerupRespawn      = null
    trigger                 gg_trg_Double_Damage       = null
    trigger                 gg_trg_Shield              = null
    trigger                 gg_trg_Speed               = null
    trigger                 gg_trg_Regeneration        = null
    trigger                 gg_trg_List                = null
    trigger                 gg_trg_Kick                = null
    trigger                 gg_trg_Crash               = null
    trigger                 gg_trg_MoveSpeed           = null
    trigger                 gg_trg_Jump                = null
    trigger                 gg_trg_Gadgets_Stack       = null
    trigger                 gg_trg_Change_AddOn        = null
    trigger                 gg_trg_Grenade             = null
    trigger                 gg_trg_ShockGrenade        = null
    trigger                 gg_trg_Grenade_Check       = null
    trigger                 gg_trg_Throw_Grenade       = null
    trigger                 gg_trg_Booster             = null
    trigger                 gg_trg_Boost               = null
    trigger                 gg_trg_Booster_Check       = null
    trigger                 gg_trg_Prism               = null
    trigger                 gg_trg_Phase_Out           = null
    trigger                 gg_trg_Prism_Check         = null
    trigger                 gg_trg_C4                  = null
    trigger                 gg_trg_Place_C4            = null
    trigger                 gg_trg_C4_Explode          = null
    trigger                 gg_trg_C4_Check            = null
    trigger                 gg_trg_Camera              = null
    trigger                 gg_trg_Stim                = null
    trigger                 gg_trg_Barricade           = null
    trigger                 gg_trg_Medpack             = null
    trigger                 gg_trg_Change_Weapon       = null
    trigger                 gg_trg_Sniper_Rifle        = null
    trigger                 gg_trg_Minigun             = null
    trigger                 gg_trg_Submachine_Gun      = null
    trigger                 gg_trg_Shrapnel_Gun        = null
    trigger                 gg_trg_Acid_Gun            = null

    .............................(omitted)...............................


    call SetStartLocPrioCount( 2, 11 )
    call SetStartLocPrio( 2, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 2, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 3, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 4, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 5, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 6, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 7, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 8, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 2, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 3, 11 )
    call SetStartLocPrio( 3, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 3, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 4, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 5, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 6, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 7, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 8, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 3, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 4, 11 )
    call SetStartLocPrio( 4, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 4, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 5, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 6, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 7, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 8, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 4, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 5, 11 )
    call SetStartLocPrio( 5, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 4, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 5, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 6, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 7, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 8, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 5, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 6, 11 )
    call SetStartLocPrio( 6, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 4, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 5, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 6, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 7, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 8, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 6, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 7, 11 )
    call SetStartLocPrio( 7, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 4, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 5, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 6, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 7, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 8, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 7, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 8, 11 )
    call SetStartLocPrio( 8, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 4, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 5, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 6, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 7, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 8, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 8, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 9, 11 )
    call SetStartLocPrio( 9, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 4, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 5, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 6, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 7, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 8, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 9, 10, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 9, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 10, 11 )
    call SetStartLocPrio( 10, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 4, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 5, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 6, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 7, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 8, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 9, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 10, 10, 11, MAP_LOC_PRIO_HIGH )

    call SetStartLocPrioCount( 11, 11 )
    call SetStartLocPrio( 11, 0, 0, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 1, 1, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 2, 2, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 3, 3, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 4, 4, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 5, 5, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 6, 6, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 7, 7, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 8, 8, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 9, 9, MAP_LOC_PRIO_HIGH )
    call SetStartLocPrio( 11, 10, 10, MAP_LOC_PRIO_HIGH )
endfunction

//***************************************************************************
//*
//*  Main Initialization
//*
//***************************************************************************

//===========================================================================
function main takes nothing returns nothing
    call SetCameraBounds( -5376.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), -5632.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 13568.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 17408.0 - GetCameraMargin(CAMERA_MARGIN_TOP), -5376.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), 17408.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 13568.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), -5632.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM) )
    call SetDayNightModels( "Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl" )
    call SetWaterBaseColor( 255, 0, 0, 255 )
    call NewSoundEnvironment( "Default" )
    call SetAmbientDaySound( "CityScapeDay" )
    call SetAmbientNightSound( "CityScapeNight" )
    call SetMapMusic( "Music", true, 0 )
    call InitSounds(  )
    call CreateRegions(  )
    call CreateCameras(  )
    call CreateAllUnits(  )
    call InitBlizzard(  )
    call InitGlobals(  )
    call InitCustomTriggers(  )
    call RunInitializationTriggers(  )

endfunction

//***************************************************************************
//*
//*  Map Configuration
//*
//***************************************************************************

function config takes nothing returns nothing
    call SetMapName( "TRIGSTR_048" )
    call SetMapDescription( "TRIGSTR_050" )
    call SetPlayers( 12 )
    call SetTeams( 12 )
    call SetGamePlacement( MAP_PLACEMENT_TEAMS_TOGETHER )

    call DefineStartLocation( 0, -1984.0, 6848.0 )
    call DefineStartLocation( 1, -1984.0, 6848.0 )
    call DefineStartLocation( 2, -1984.0, 6848.0 )
    call DefineStartLocation( 3, -1984.0, 6848.0 )
    call DefineStartLocation( 4, -1984.0, 6848.0 )
    call DefineStartLocation( 5, -1984.0, 6848.0 )
    call DefineStartLocation( 6, -1984.0, 6848.0 )
    call DefineStartLocation( 7, -1984.0, 6848.0 )
    call DefineStartLocation( 8, -1984.0, 6848.0 )
    call DefineStartLocation( 9, -1984.0, 6848.0 )
    call DefineStartLocation( 10, -1984.0, 6848.0 )
    call DefineStartLocation( 11, -1984.0, 6848.0 )

    // Player setup
    call InitCustomPlayerSlots(  )
    call InitCustomTeams(  )
    call InitAllyPriorities(  )
endfunction


They are really different.(Other maps were same result.)
Do you know why?
06-27-2009, 01:14 PM#2
Vexorian
So... how exactly are you placing the 'original' map script itno your map?
06-27-2009, 03:29 PM#3
cccc1211
I downloaded a map(unprotected).
I loaded the map, and just saved the map.
But the script was changed.
06-27-2009, 11:25 PM#4
Deaod
Yeah, no surprise here, really. WE just dumps the content of the .wct into the .j and then exports the .j unprocessed. Saving makes the WE make JassHelper process the .j.
06-28-2009, 12:37 AM#5
cccc1211
Then, how do I save that?
06-28-2009, 06:38 PM#6
0zyx0
Save twice?
06-29-2009, 02:51 PM#7
cccc1211
I saved two time. But it doesn't work too.
06-29-2009, 03:15 PM#8
0zyx0
Did you save the map in a subfolder inside the wc3 folder? It used to casue problems, when I didn't do so.