IfSpawned
  tmpargument = 0
  PlaySoundLooped
    
  tmpargument = ACTIONMJ
  DoAction
  KeepAction
  
  //So that orders are properly issued
  JoinNullTeam
  
  //Randomize portal color
  tmpargument = rand % 4
  ChangeArmor

//Set teleport cooldown
IfOrdered
  tmpx = selforder
  tmpy = [TLPR]
  IfXIsEqualToY
    tmpargument = 150
    SetTime
  
//Teleport all players to the new area
tmpx = selfstate
tmpy = 175
IfXIsMoreThanY
  tmpargument = [NONE]
  tmpdistance = BLAHPLAYERS + BLAHENEMIES + BLAHFRIENDS
  SetTargetToWideBlahID
    tmpargument = 0
    IfContentIs
      tmpx = 37*128
      tmpy = 54*128
    tmpargument = 1
    IfContentIs
      tmpx = 29*128
      tmpy = 71*128
    tmpargument = 2
    IfContentIs
      tmpx = 57*128
      tmpy = 77*128
    tmpargument = 3
    IfContentIs
      tmpx = 38*128
      tmpy = 71*128
    tmpargument = 4
    IfContentIs
      tmpx = 12*128
      tmpy = 74*128
    tmpargument = 5
    IfContentIs
      tmpx = 26*128
      tmpy = 54*128
    tmpargument = 6
    IfContentIs
      tmpx = 44*128
      tmpy = 66*128
    tmpargument = 7
    IfContentIs
      tmpx = 49*128
      tmpy = 49*128
    tmpargument = 8
    IfContentIs
      tmpx = 35*128
      tmpy = 33*128
    tmpargument = 9
    IfContentIs
      tmpx = 8*128
      tmpy = 61*128
    tmpargument = 10
    IfContentIs
      tmpx = 57*128
      tmpy = 60*128
    tmpargument = 11
    IfContentIs
      tmpx = 71*128
      tmpy = 51*128
    tmpargument = 12
    IfContentIs
      tmpx = 36*128
      tmpy = 53*128
    tmpargument = 13
    IfContentIs
      tmpx = 44*128
      tmpy = 66*128
    tmpargument = 14
    IfContentIs
      tmpx = 10*128
      tmpy = 52*128
    tmpargument = 15
    IfContentIs
      tmpx = 8*128
      tmpy = 61*128
    tmpargument = 16
    IfContentIs
      tmpx = 25*128
      tmpy = 42*128
    tmpargument = 17
    IfContentIs
      tmpx = 12*128
      tmpy = 32*128
    tmpargument = 18
    IfContentIs
      tmpx = 71*128
      tmpy = 27*128
    tmpargument = 19
    IfContentIs
      tmpx = 28*128
      tmpy = 28*128
    tmpargument = 20
    IfContentIs
      tmpx = 57*128
      tmpy = 37*128
    tmpargument = 21
    IfContentIs
      tmpx = 37*128
      tmpy = 42*128
    tmpargument = 22
    IfContentIs
      tmpx = 19*128
      tmpy = 27*128
    tmpargument = 23
    IfContentIs
      tmpx = 53*128
      tmpy = 31*128
    tmpargument = 24
    IfContentIs
      tmpx = 44*128
      tmpy = 76*128
    tmpargument = 25
    IfContentIs
      tmpx = 3*128
      tmpy = 47*128
    tmpargument = 26
    IfContentIs
      tmpx = 64*128
      tmpy = 31*128
    tmpargument = 27
    IfContentIs
      tmpx = 70*128
      tmpy = 18*128
    tmpargument = 28
    IfContentIs
      tmpx = 43*128
      tmpy = 28*128
    tmpargument = 29
    IfContentIs
      tmpx = 73*128
      tmpy = 60*128
    tmpargument = 30
    IfContentIs
      tmpx = 57*128
      tmpy = 25*128
    tmpargument = 31
    IfContentIs
      tmpargument = [BEAT]
      tmpdistance = [BEAT]
      OrderSpecialID
      tmpx = 8*128
      tmpy = 6*128
    tmpargument = 33
    IfContentIs
      tmpx = 40*128
      tmpy = 12*128
    tmpargument = 34
    IfContentIs
      tmpx = 52*128
      tmpy = 7*128
    tmpdistance = 0
    tmpturn = rand
    TeleportTarget
  Else
    tmpargument = 0     //No players left
    SetState

IfBumped
  SetTargetToWhoeverBumped
  IfTargetIsAPlayer
    IfTimeOut
      IfStateIs0
        tmpargument = 32
        IfContentIs
          tmpargument = 1               //The start portal
          SendMessageNear
          tmpargument = 100
          SetTime
        Else
          tmpargument = 0
          SendMessageNear
          tmpargument = 100
          SetTime
          tmpargument = 175
          SetState
      Else
        tmpargument = [TLPR]      //Set a cooldown for all teleports on the map
        IssueOrder
        tmpargument = 100
        SetTime
        
        //Teleporting state... teleport all players
        tmpargument = 200
        SetState
        
        //Make some noise!
        tmpargument = 1
        PlayFullSound

//Secondary timer
tmpx = selfstate
tmpy = 0
IfXIsMoreThanY
  tmpargument = selfstate - 1
  SetState
  
End
