Freeslot
MT_GHZSUNFG
S_SUNFLWRGREEN
SPR_GHSG

Object MT_GHZSUNFG
#$Name "Sunflower (Green)"
#$Sprite GHSGA0
#$Category Green Hill Zone
MapThingNum = 2500
SpawnState = S_SUNFLWRGREEN
Radius = 32*FRACUNIT
Height = 63*FRACUNIT
Flags = MF_SCENERY

State S_SUNFLWRGREEN
SpriteName = GHSG
SpriteFrame = FF_ANIMATE|A
Var1 = 5
Var2 = 3
Duration = -1

Freeslot
MT_GHZSUNFB
S_SUNFLWRBLUE
SPR_GHSB

Object MT_GHZSUNFB
#$Name "Sunflower (Blue)"
#$Sprite GHSBA0
#$Category Green Hill Zone
MapThingNum = 2501
SpawnState = S_SUNFLWRBLUE
Radius = 32*FRACUNIT
Height = 63*FRACUNIT
Flags = MF_SCENERY

State S_SUNFLWRBLUE
SpriteName = GHSB
SpriteFrame = FF_ANIMATE|A
Var1 = 5
Var2 = 3
Duration = -1

Freeslot
MT_GHZSUNFP
S_SUNFLWRPINK
SPR_GHSP

Object MT_GHZSUNFP
#$Name "Sunflower (Pink)"
#$Sprite GHSPA0
#$Category Green Hill Zone
MapThingNum = 2502
SpawnState = S_SUNFLWRPINK
Radius = 32*FRACUNIT
Height = 63*FRACUNIT
Flags = MF_SCENERY

State S_SUNFLWRPINK
SpriteName = GHSP
SpriteFrame = FF_ANIMATE|A
Var1 = 5
Var2 = 3
Duration = -1

#PURPLE FLOWER

Freeslot
MT_GHZFLWRP
S_GHZFLOWER1
SPR_GHFP

Object MT_GHZFLWRP
#$Name "Purple Flower"
#$Sprite GHFPA0
#$Category Green Hill Zone
MapThingNum = 2503
SpawnState = S_GHZFLOWER1
Radius = 25*FRACUNIT
Height = 45*FRACUNIT
Flags = MF_SCENERY

State S_GHZFLOWER1
SpriteName = GHFP
SpriteFrame = FF_ANIMATE|A
Var1 = 7
Var2 = 3
Duration = -1

Freeslot
MT_GHZFLWRR
S_GHZFLOWER2
SPR_GHFR

Object MT_GHZFLWRR
#$Name "Peach Flower"
#$Sprite GHFRG0
#$Category Green Hill Zone
MapThingNum = 2504
SpawnState = S_GHZFLOWER2
Radius = 22*FRACUNIT
Height = 41*FRACUNIT
Flags = MF_SCENERY

State S_GHZFLOWER2
SpriteName = SPR_GHFR
SpriteFrame = FF_ANIMATE|A
Var1 = 5
Var2 = 3
Duration = -1

#BALL FLOWER

Freeslot
MT_GHBLFRP
S_GHZBALFLWRP
SPR_GHBP

Object MT_GHBLFRP
#$Name "Ball Flower (Purple)"
#$Sprite GHBPA0
#$Category Green Hill Zone
MapThingNum = 2505
SpawnState = S_GHZBALFLWRP
Radius = 25*FRACUNIT
Height = 45*FRACUNIT
Flags = MF_SCENERY

State S_GHZBALFLWRP
SpriteName = GHBP
SpriteFrame = FF_ANIMATE|A
Var1 = 7
Var2 = 3
Duration = -1

Freeslot
MT_GHBLFRR
S_GHZBALFLWRR
SPR_GHBR

Object MT_GHBLFRR
#$Name "Ball Flower (Red)"
#$Sprite GHBRA0
#$Category Green Hill Zone
MapThingNum = 2506
SpawnState = S_GHZBALFLWRR
Radius = 25*FRACUNIT
Height = 45*FRACUNIT
Flags = MF_SCENERY

State S_GHZBALFLWRR
SpriteName = GHBR
SpriteFrame = FF_ANIMATE|A
Var1 = 7
Var2 = 3
Duration = -1

#BUSH

Freeslot
MT_GHCBUSH
S_GHZBUSH
SPR_GHCR

Object MT_GHCBUSH
#$Name "Crystal Bush"
#$Sprite GHCRA0
#$Category Green Hill Zone
MapThingNum = 2507
SpawnState = S_GHZBUSH
Radius = 30*FRACUNIT
Height = 22*FRACUNIT
Flags = MF_NOTHINK

State S_GHZBUSH
SpriteName = GHCR
SpriteFrame = A
Duration = -1

Freeslot
MT_TTSBUSH
S_TTSBUSH
SPR_TTSB

Object MT_TTSBUSH
#$Name "Bush (Tokyo Toy Show)"
#$Sprite TTSBA0
#$Category Green Hill Zone
MapThingNum = 2508
SpawnState = S_TTSBUSH
Radius = 57*FRACUNIT
Height = 47*FRACUNIT
Flags = MF_NOTHINK

State S_TTSBUSH
SpriteName = TTSB
SpriteFrame = A
Duration = -1

#PALMTREE

Freeslot
MT_GHZSPLB
S_SBOTTOMTREE
SPR_GHPL

Object MT_GHZSPLB
SpawnState = S_SBOTTOMTREE
Radius = 6*FRACUNIT
Height = 80*FRACUNIT
Flags = MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_SBOTTOMTREE
SpriteName = GHPL
SpriteFrame = A
Duration = -1

Freeslot
MT_GHZSPLT
S_STOPTREE

Object MT_GHZSPLT
#$Name "GHZ Palmtree (Small)"
#$Sprite GHPLB0
#$Category Green Hill Zone
MapThingNum = 2509
SpawnState = S_STOPTREE
Radius = 6*FRACUNIT
Height = 80*FRACUNIT
Flags = MF_RUNSPAWNFUNC|MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_STOPTREE
SpriteName = GHPL
SpriteFrame = B
Duration = -1
Action = A_ConnectToGround
Var1 = MT_GHZSPLB

Freeslot
MT_GHZBPLB
S_BBOTTOMTREE
SPR_GHPT

Object MT_GHZBPLB
SpawnState = S_BBOTTOMTREE
Radius = 9*FRACUNIT
Height = 160*FRACUNIT
Flags = MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_BBOTTOMTREE
SpriteName = GHPT
SpriteFrame = A
Duration = -1

Freeslot
MT_GHZBPLT
S_BTOPTREE

Object MT_GHZBPLT
#$Name "GHZ Palmtree (Big)"
#$Sprite GHPTB0
#$Category Green Hill Zone
MapThingNum = 2510
SpawnState = S_BTOPTREE
Radius = 9*FRACUNIT
Height = 160*FRACUNIT
Flags = MF_RUNSPAWNFUNC|MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_BTOPTREE
SpriteName = GHPT
SpriteFrame = B
Duration = -1
Action = A_ConnectToGround
Var1 = MT_GHZBPLB

Freeslot
MT_TTSSPLB
S_TSSSBOTTOMTREE
SPR_TSSP

Object MT_TTSSPLB
SpawnState = S_TSSSBOTTOMTREE
Radius = 6*FRACUNIT
Height = 80*FRACUNIT
Flags = MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_TSSSBOTTOMTREE
SpriteName = TSSP
SpriteFrame = A
Duration = -1

Freeslot
MT_TTSSPLT
S_TSSSTOPTREE

Object MT_TTSSPLT
#$Name "TTS Palmtree (Small)"
#$Sprite TSSPB0
#$Category Green Hill Zone
MapThingNum = 2511
SpawnState = S_TSSSTOPTREE
Radius = 6*FRACUNIT
Height = 80*FRACUNIT
Flags = MF_RUNSPAWNFUNC|MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_TSSSTOPTREE
SpriteName = TSSP
SpriteFrame = B
Duration = -1
Action = A_ConnectToGround
Var1 = MT_TTSSPLB

Freeslot
MT_TSSBPLB
S_TSSBBOTTOMTREE
SPR_TSBP

Object MT_TSSBPLB
SpawnState = S_TSSBBOTTOMTREE
Radius = 9*FRACUNIT
Height = 160*FRACUNIT
Flags = MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_TSSBBOTTOMTREE
SpriteName = TSBP
SpriteFrame = A
Duration = -1

Freeslot
MT_TSSBPLT
S_TSSBTOPTREE

Object MT_TSSBPLT
#$Name "TSS Palmtree (Big)"
#$Sprite TSBPB0
#$Category Green Hill Zone
MapThingNum = 2512
SpawnState = S_TSSBTOPTREE
Radius = 9*FRACUNIT
Height = 160*FRACUNIT
Flags = MF_RUNSPAWNFUNC|MF_NOTHINK|MF_NOBLOCKMAP|MF_SOLID|MF_SCENERY

State S_TSSBTOPTREE
SpriteName = TSBP
SpriteFrame = B
Duration = -1
Action = A_ConnectToGround
Var1 = MT_TSSBPLB

Freeslot
MT_GHZSPIKE
MT_SPKDAMAGE
S_SPKECHECK
S_SPKACHECK
S_SPKSCHECK
S_GHZSPIKE1
S_GHZSPIKE2
S_GHZSPIKE3
S_GHZSPIKE4
S_GHZSPIKE5
S_SPKDELAY1
S_SPKDELAY2
S_SPKDELAY3
SPR_GSPK

Object MT_GHZSPIKE
#$Name "Rotating Spike"
#$Sprite GSPKB0
#$Category Green Hill Zone
#$Flags1Text Order 1
#$Flags4Text Order 4+
#$Flags8Text Order 2 (+1 = Order 3)
MapThingNum = 2513
SpawnState = S_SPKECHECK
Radius = 2*FRACUNIT
Height = 2*FRACUNIT
Flags = MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_RUNSPAWNFUNC|MF_SCENERY

State S_SPKECHECK
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 1
Var1 = S_SPKDELAY1
Next = S_SPKACHECK

State S_SPKDELAY1
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 15
Next = S_SPKACHECK

State S_SPKACHECK
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 0
Var1 = S_SPKDELAY2
Next = S_SPKSCHECK

State S_SPKDELAY2
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 30
Next = S_SPKSCHECK

State S_SPKSCHECK
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 0
Var1 = S_SPKDELAY3
Next = S_GHZSPIKE1

State S_SPKDELAY3
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 60
Next = S_GHZSPIKE1

State S_GHZSPIKE1
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 0
Action =A_SpawnObjectRelative
Var1 = (0<<16)+0
Var2 = (0<<16)+MT_SPKDAMAGE
Next = S_GHZSPIKE2

State S_GHZSPIKE2
SpriteName = GSPK
SpriteFrame = FF_PAPERSPRITE|A
Duration = 1
Action =A_ChangeRollAngleRelative
Var1 = 3
Var2 = 3
Next = S_GHZSPIKE2

Object MT_SPKDAMAGE
SpawnState = S_GHZSPIKE3
Radius = 5*FRACUNIT
Height = 10*FRACUNIT
Flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOCLIP|MF_RUNSPAWNFUNC|MF_PAIN|MF_SCENERY

State S_GHZSPIKE3
SpriteName = SPR_NULL
SpriteFrame = A
Duration = 1
Action = A_FindTarget
Var1 = MT_GHZSPIKE
Var2 = 0
Next = S_GHZSPIKE4

State S_GHZSPIKE4
SpriteName = SPR_NULL
SpriteFrame = A
Duration = 0
Action = A_ChangeAngleRelative
Var1 = 180
Var2 = 180
Next = S_GHZSPIKE5

State S_GHZSPIKE5
SpriteName = SPR_NULL
SpriteFrame = A
Duration = 1
Action = A_Custom3DRotate
Var1 = 70
Var2 = (0<<16)+30
Next = S_GHZSPIKE5

Freeslot
MT_WRECKBALL
S_GHZBALL1
SPR_GHWB

Object MT_WRECKBALL
#$Name "Wrecking Ball"
#$Sprite GHWBA1A5
#$Category Green Hill Zone
MapThingNum = 2514
SpawnState = S_GHZBALL1
PainChance = 9999*TICRATE
PainSound = sfx_s3k49
ReactionTime = 8
Speed = 32*FRACUNIT
Radius = 30*FRACUNIT
Height = 60*FRACUNIT
Flags = MF_PUSHABLE|MF_SOLID|MF_SLIDEME

State S_GHZBALL1
SpriteName = GHWB
SpriteFrame = A
Duration = 1
Next = S_GHZBALL1
Action = A_RolloutRock
Var1 = 10050*FRACUNIT/10000
Var2 = 7*FRACUNIT/10 

Freeslot
MT_HURTBALL
S_GHZHURT

Object MT_HURTBALL
SpawnState = S_GHZHURT
Speed = 32*FRACUNIT
Radius = 40*FRACUNIT
Height = 80*FRACUNIT
Flags = MF_PAIN

State S_GHZHURT
SpriteName = GHWB
SpriteFrame = A
Duration = -1