 
# F - Forest
# L - Land
# M - Mountain
# R - Ruines
# H - Home
# T - Tower

MAP
LLLWLWLLLLLLLLLLLLLLLLLLLLLLLLLL
HLHLWWLLHLLLLLLLLLLLLLLLLLLLLLLLL
LLLLWLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLWWWWLLLLLLLLLLLLLLLLLLLLLLLLLLL
WWLLLWLLLLLLLLLLLLLLLLLLLLLLLLLL
HLHLLLWLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLWLLLLLLLLLWWWWWWLLLLLWWWWW
LLLLLLLWLLLLLLLLWLLLLLWLLLLWLLLLL
LLLLLLLWWWWWWWWWLLLLLLWWWWWLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
#===MAPEND===

CONSTANTS
StepWave1:3
StepWaveTwist:5
StepWave2:8
StepWaveTent:10
StepWave3:13
StepFirstInfo:13
StepWave4:18
StepFinalWave:20
StepTransform:20

StepVictory:32
WaveStartX:28
WaveStartY:7
BackStartX:10
BackStartY:13
CX1:14
CX2:23
CY:6

OBJECTS
Pony:Code=celestia,"Name= ",i=8,j=6,tag=celestia

#Building:Code=FarmFood,i=2,j=2

#Neutral:Code=guard,"Name=",i=1,j=6
#Neutral:Code=guard,"Name=",i=3,j=5
#Neutral:Code=guard,"Name=",i=4,j=4
#Neutral:Code=guard,"Name=",i=6,j=3
#Neutral:Code=guard,"Name=",i=7,j=2
#Neutral:Code=guard,"Name=",i=9,j=1

Neutral:i=1,j=3,"name=",Code=pony_1,EnemyTarget=true,MustSurvive=true
Neutral:i=1,j=1,"name=",Code=pony_2,EnemyTarget=true,MustSurvive=true
Neutral:i=2,j=0,"name=",Code=pony_3,EnemyTarget=true,MustSurvive=true
Neutral:i=1,j=5,"name=",Code=pony_5,EnemyTarget=true,MustSurvive=true
Neutral:i=4,j=0,"name=",Code=pony_6,EnemyTarget=true,MustSurvive=true
Neutral:i=6,j=0,"name=",Code=pony_8,EnemyTarget=true,MustSurvive=true
                                   
Neutral:Code=tower,"Name= ",i=9,j=0
Neutral:Code=tower,"Name= ",i=10,j=1
Neutral:Code=tower,"Name= ",i=9,j=2
Neutral:Code=wall_2,"Name= ",i=9,j=3
Neutral:Code=tower,"Name= ",i=8,j=3
Neutral:Code=wall_2,"Name= ",i=7,j=4
Neutral:Code=tower,"Name= ",i=6,j=4
Neutral:Code=tower,"Name= ",i=5,j=5
Neutral:Code=wall_2,"Name= ",i=4,j=6
Neutral:Code=tower,"Name= ",i=3,j=6
Neutral:Code=wall_2,"Name= ",i=3,j=7
Neutral:Code=tower,"Name= ",i=2,j=7
Neutral:Code=wall_3,"Name= ",i=1,j=7
Neutral:Code=wall_3,"Name= ",i=0,j=7

Monster:Code=bat,"Name=",i=@WaveStartX@,j=@WaveStartY@

INITIAL
Stone:0
Food:500
Task:    ,     
AttackedDefeatString: 
Permits:action=deny,code=all
Permits:action=allow,code=AttackNear
Permits:action=allow,code=AttackLong
Permits:action=allow,code=Teleport
Permits:action=allow,code=SunBeam
Permits:action=allow,code=FireBall
Permits:action=allow,code=SuperNova
Permits:action=allow,code=AlicornSword
#Permits:action=allow,code=SunRage
Permits:action=allow,code=SetupTeleport
Permits:action=allow,code=FlameWall
Permits:action=allow,code=Repair
Permits:action=allow,code=MagicRepair

SCRIPT
Event:Step=0
Action:Type=SetFocus,i=8,j=6,immediate=true
Action:Type=Message,icon=guard_white_ico,"text= ,      ?".
Action:Type=Message,icon=celestia_ico,"text= ,   ?"
Action:Type=Message,icon=twily_ico,"text= ,    !" 
Action:Type=Message,icon=celestia_ico,"text=  ,  .\n!\n  ...\n  !   !    ,   !"
Action:Type=Message,icon=guard_white_ico,"text=? ?  ,   ..."
Action:Type=Message,icon=help_ico,"text=  -   ,     .\n  -   ,   ,    ."
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=4,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=2,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=troll,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=1,radius=3

# =====  1 ===== #

SCRIPT
Event:Step=@StepWave1@
Action:Type=SetFocus,i=@WaveStartX@,j=@WaveStartY@
Action:Type=NewObjectGroup,Object=Monster,Code=troll,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=1,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=4,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=3,radius=3

# =====  2 ===== #

SCRIPT
Event:Step=@StepWave2@
Action:Type=SetFocus,i=@WaveStartX@,j=@WaveStartY@
Action:Type=NewObjectGroup,Object=Monster,Code=troll,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=1,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=3,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=2,radius=3

# =====  3 ===== #

SCRIPT
Event:Step=@StepWave3@
Action:Type=SetFocus,i=@WaveStartX@,j=@WaveStartY@
Action:Type=NewObjectGroup,Object=Monster,Code=troll,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=2,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=2,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=2,radius=3

# =====  4 ===== #

SCRIPT
Event:Step=@StepWave4@
Action:Type=SetFocus,i=@WaveStartX@,j=@WaveStartY@
Action:Type=NewObjectGroup,Object=Monster,Code=troll,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=1,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=3,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@WaveStartX@,j=@WaveStartY@,count=2,radius=3
Action:Type=NewObjectGroup,Object=MonsterTent,Code=tent,"Name= ",i=@WaveStartX@,j=@WaveStartY@,count=1,radius=3

# =====   ===== #

SCRIPT
Event:Step=@StepFinalWave@
Action:Type=SetFocus,i=@CX1@,j=@CY@
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@CX1@,j=@CY@,count=5,radius=5
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@CX1@,j=@CY@,count=3,radius=6
Action:Type=NewObjectGroup,Object=Monster,Code=troll,"Name=",i=@CX1@,j=@CY@,count=1,radius=6
Action:Type=NewObjectGroup,Object=MonsterTwist,Code=twist,"Name=",i=@CX1@,j=@CY@,count=1,radius=6
Action:Type=SetFocus,i=@CX2@,j=@CY@
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@CX2@,j=@CY@,count=5,radius=5
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@CX2@,j=@CY@,count=3,radius=6
Action:Type=NewObjectGroup,Object=Monster,Code=troll,"Name=",i=@CX2@,j=@CY@,count=1,radius=6
Action:Type=NewObjectGroup,Object=MonsterTent,Code=tent,"Name= ",i=@CX2@,j=@CY@,count=1,radius=6

# =====    =====

SCRIPT
Event:Step=@StepWaveTwist@
Action:Type=SetFocus,i=@BackStartX@,j=@BackStartY@
Action:Type=NewObject,Object=MonsterTwist,Code=twist,"Name=",i=@BackStartX@,j=@BackStartY@
Action:Type=Message,icon=twily_ico,"text= !    !   !"
Action:Type=Message,icon=celestia_ico,"text=   .\n  ."

# =====    =====

SCRIPT
Event:Step=@StepWaveTent@
Action:Type=SetFocus,i=@BackStartX@,j=@BackStartY@
Action:Type=NewObject,Object=MonsterTent,Code=tent,"Name= ",i=@BackStartX@,j=@BackStartY@
Action:Type=Message,icon=shining_ico,"text=  !       .\n!       !  -      !"
Action:Type=Message,icon=celestia_ico,"text=  , ..."

# =====  =====
   
SCRIPT                                    
Event:Step=@StepFirstInfo@
Action:Type=Message,icon=shining_ico,"text= ,        .   ?"
Action:Type=Message,icon=celestia_ico,"text=, .\n          ,      !"
Action:Type=Message,icon=shining_ico,"text=     ,    ..."
Action:Type=Message,icon=celestia_ico,"text=   , .  ."


# =====  =======

SCRIPT
Event:Step=@StepTransform@
Action:Type=SetFocus,"i=$GetObjPos(celestia,x)$","j=$GetObjPos(celestia,y)$"
Action:Type=Message,icon=applejack_ico,"text= ,    . ,     .\n."
Action:Type=Message,icon=celestia_ico,"text=,  .           ."
Action:Type=Message,icon=celestia_ico,"text=< >\n      ...\n< >\n...   ..."
Action:Type=Message,icon=twily_ico,"text= ?"
Action:Type=Message,icon=celestia_ico,"text=< >\n...  ...\n< >\n... ..."
Action:Type=Message,icon=celestia_ico,"text=<>"
Action:Type=ReplaceObject,OldCode=celestia,Object=Pony,Code=nsun,"Name= "
Action:Type=Message,icon=nightmaresun_ico,"text=     !"
Action:Type=Message,icon=twily_ico,"text= ?!"
Action:Type=Message,icon=nightmaresun_ico,"text=   ."
Action:Type=Message,icon=twily_ico,"text=?   !  ?!"
Action:Type=Message,icon=nightmaresun_ico,"text= ?\n<>\n      ?\n< >\n ?"
Action:Type=Message,icon=rarity_ico,"text=     , ?!"
Action:Type=Message,icon=nightmaresun_ico,"text=   !!!"
Action:Type=Message,icon=nightmaresun_ico,"text=   .\n   ,    ."
Action:Type=Message,icon=nightmaresun_ico,"text=   , !!!"
Action:Type=Message,icon=help_ico,"text=     ' ', ' ', ' ',   ,       ."

# ====  ====

SCRIPT                                    
Event:Victory=True
Action:Type=Message,icon=nightmaresun_ico,"text=< >\n,    !      ...      ?"
Action:Type=Message,icon=twily_ico,"text=  ?!"
Action:Type=Message,icon=nightmaresun_ico,"text= ?\n< >\n...\n< >"
Action:Type=Message,icon=nightmaresun_ico,"text=!  !   !"
Action:Type=ReplaceObject,OldCode=nsun,Object=Pony,Code=celestia,"Name= "
Action:Type=Message,icon=celestia_ico,"text=?\n ?\n  ,     ."
Action:Type=Message,icon=applejack_ico,"text=  .   ."
Action:Type=Message,icon=applejack_ico,"text=!       ,  ."
Action:Type=Message,icon=celestia_ico,"text=.  ,  ."

VICTORY
ByNoMonsterLeft:null
->ByStep:StepNeed=@StepTransform@,addType=And
