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

MAP
LWLLLLLLLQQQLLLLLLLFFMMMMMMMM
LLWLLLLLLLQQQLLLLLLLFFMMMMMMMF
LEWLLLLELLQQQLLLLLLLLFFFMMMFF
LLLWHLLLLLQQQLLLLLLLLLFFFFFFFL
LLHWLELLLLQQQLLLLLLLLLLLLFFLL
LLLLWLWWWWWLWWLLLWWWWLLLLLLLLL
LLLWLWLLLLWWLWWWWLLLWLLLLWWWW
LLELWWLHLLLQQQLLLLLLLWWWWWLLLL
LLLWLELLLLLQQQLLLLLLLLLLLLLLL
LLEWLLLLLLLLQQQLLLLLLFFFFFFFLL
LLWLLLLHLLLQQQLLLLLFFFFFFFFFF
LLWLLLLLLLLQQQLLLLFFFMMMMMFFFF
LWLLLLLLLLQQQLLLLLFFMMMMMMMMF
LLLLLLLLLLLQQQLLLFFFMMMMMMMMMM
#===MAPEND===

#       
CONSTANTS 
StepWave:21
StepGuard:5
WaveX:27
WaveY:6

OBJECTS
Pony:i=27,j=6,"name=",code=rarity
Pony:i=28,j=8,"name=",code=applejack
Stone:i=3,j=10,size=min
Stone:i=3,j=11,size=max
Stone:i=4,j=11,size=min

Stone:i=3,j=1,size=medium
Stone:i=4,j=1,size=medium
Stone:i=5,j=1,size=max
Stone:i=6,j=1,size=max

Stone:i=1,j=6,size=max
Stone:i=1,j=7,size=min
Stone:i=1,j=5,size=max

INITIAL
Stone:0
Food:150
Task:  
AttackedDefeatString: !
Permits:action=deny,code=all
Permits:action=deny,code=all
Permits:action=allow,code=BuildFarmFood
Permits:action=allow,code=Harvest
Permits:action=allow,code=AttackNear
Permits:action=allow,code=AttackLong
Permits:action=allow,code=FreezeEnemy
Permits:action=allow,code=Teleport
Permits:action=allow,code=SonicRainbow
Permits:action=allow,code=Repair
Permits:action=allow,code=MagicRepair

SCRIPT      
Event:Step=0
Action:Type=SetFocus,i=27,j=7,immediate=true
Action:Type=Message,icon=rarity_ico,"text=,  ."
Action:Type=Message,icon=applejack_ico,"text=.    ."
Action:Type=SetFocus,i=12,j=8
Action:Type=ShowBattleTask

# ====   ====

SCRIPT
Event:Step=3
Action:Type=SetFocus,i=27,j=7
Action:Type=NewObject,Object=Monster,Code=bat,"Name=",i=27,j=7
Action:Type=Message,icon=rarity_ico,"text=?   ,      ."
Action:Type=Message,icon=applejack_ico,"text=  ,    ?   ."
Action:Type=Message,icon=rarity_ico,"text= ,  ?  ."
Action:Type=SetBattleTask,"Task=   "
Action:Type=ShowBattleTask

#  =====   =====

SCRIPT
Event:Step=4
Action:Type=Message,icon=rarity_ico,"text=,   ,     ."
Action:Type=Message,icon=applejack_ico,"text=,     .     -  ?"
Action:Type=Message,icon=rarity_ico,"text=       .  ,   .      ..."
Action:Type=Message,icon=applejack_ico,"text=  .    ,   ."
Action:Type=SetPermits,action=allow,code=BuildCrystalTowerBig
Action:Type=SetPermits,action=allow,code=BuildCrystalTowerSmall
Action:Type=Message,icon=help_ico,"text=  -      "

# ====  

SCRIPT
Event:Step=@StepGuard@
Action:Type=SetFocus,i=9,j=9
Action:Type=NewObject,Object=Neutral,Code=guard,"Name=",i=9,j=9,tag=guard1
Action:Type=NewObject,Object=Neutral,Code=guard,"Name=",i=8,j=10,tag=guard2
Action:Type=NewObject,Object=Neutral,Code=guard,"Name=",i=9,j=10,tag=guard3
Action:Type=Message,icon=guard_white_ico,"text=,   .    ,    !"
Action:Type=Message,icon=applejack_ico,"text=,   ."
Action:Type=Message,icon=rarity_ico,"text=     ?"
Action:Type=Message,icon=guard_white_ico,"text=   ,    .        . ,      ...  , ."
Action:Type=Message,icon=rarity_ico,"text=-."
Action:Type=Message,icon=applejack_ico,"text=    ...      ?"
Action:Type=Message,icon=guard_white_ico,"text=  , ! ,      .  !"
Action:Type=MoveObject,i=9,j=9,dst_i=6,dst_j=4
Action:Type=MoveObject,i=8,j=10,dst_i=7,dst_j=6
Action:Type=MoveObject,i=9,j=10,dst_i=6,dst_j=8

# =====   =====

SCRIPT
Event:Step=@StepWave@
Action:Type=SetFocus,i=@WaveX@,j=@WaveY@
Action:Type=NewObjectGroup,Object=Monster,Code=bat,"Name=",i=@WaveX@,j=@WaveY@,count=7,radius=3
Action:Type=NewObjectGroup,Object=Monster,Code=ameba,"Name=",i=@WaveX@,j=@WaveY@,count=9,radius=3
Action:Type=SetFlag,FlagName=IsWaveStarted
Action:Type=Message,icon=guard_gray_ico,"text=     !   !"
Action:Type=Message,icon=guard_white_ico,"text=       !"
Action:Type=Message,icon=guard_gray_ico,"text=  ,  !"
Action:Type=Message,icon=guard_white_ico,"text=  ,    !"
Action:Type=SetFocus,i=8,j=6
Action:Type=MoveObject,method=tag,Tag=guard1,dst_i=2,dst_j=8
Action:Type=MoveObject,method=tag,Tag=guard2,dst_i=3,dst_j=6
Action:Type=MoveObject,method=tag,Tag=guard3,dst_i=2,dst_j=4
Action:Type=RemoveObject,method=tag,Tag=guard1
Action:Type=RemoveObject,method=tag,Tag=guard2
Action:Type=RemoveObject,method=tag,Tag=guard3
#Action:Type=MoveObject,i=6,j=8,dst_i=2,dst_j=8
#Action:Type=MoveObject,i=7,j=6,dst_i=3,dst_j=6
#Action:Type=MoveObject,i=6,j=4,dst_i=2,dst_j=4
#Action:Type=RemoveObject,i=2,j=8
#Action:Type=RemoveObject,i=3,j=6
#Action:Type=RemoveObject,i=2,j=4
Action:Type=Message,icon=rarity_ico,"text=!  !          ."
Action:Type=Message,icon=applejack_ico,"text=    , ?"
Action:Type=Message,icon=rarity_ico,"text=, .  ."

# ==== 

SCRIPT
Event:Victory=True
Action:Type=Message,icon=rarity_ico,"text=  ?"
Action:Type=Message,icon=applejack_ico,"text=  ."
Action:Type=Message,icon=rarity_ico,"text=  !"
Action:Type=Message,icon=applejack_ico,"text=,   ."
Action:Type=SetFocus,i=16,j=1
Action:Type=NewObject,Object=Neutral,Code=luna,"Name= ",i=16,j=1
Action:Type=Message,icon=luna_ico,"text=,    ?"
Action:Type=Message,icon=rarity_ico,"text=  ,          -    ."
Action:Type=Message,icon=luna_ico,"text=    .       .            .   ."

VICTORY
ByNoMonsterLeft:null
->ByFlag:FlagName=IsWaveStarted,AddType=And
