
-- -- PINES -- --
freeslot (
"MT_PINETOP", "SPR_PNTP", "S_PINESTATIC",
"MT_PINELARGE", "SPR_PINE", "S_PINESTATIC2",
"MT_PINESMALL", "SPR_PNSM", "S_PINESTATIC3")

mobjinfo[MT_PINETOP] = {
--$Category Broadside Cliffs
	--$Name Pine Top
	--$Sprite PNTPA1
	doomednum = 2356,
	radius = 64*FRACUNIT,
	height = 64*FRACUNIT,
	spawnstate = S_PINESTATIC,
	flags = MF_NOTHINK
}
states[S_PINESTATIC] = {
	sprite = SPR_PNTP, frame = A, tics = 5, nextstate = S_PINESTATIC}

mobjinfo[MT_PINELARGE] = {
--$Category Broadside Cliffs
	--$Name Large Pine
	--$Sprite PINEA1
	doomednum = 2357,
	radius = 32*FRACUNIT,
	height = 450*FRACUNIT,
	spawnstate = S_PINESTATIC2,
	flags = MF_NOTHINK|MF_SOLID
}
states[S_PINESTATIC2] = {
	sprite = SPR_PINE, frame = A, tics = 5, nextstate = S_PINESTATIC2}

mobjinfo[MT_PINESMALL] = {
--$Category Broadside Cliffs
	--$Name Small Pine
	--$Sprite PNSMA1
	doomednum = 2358,
	radius = 16*FRACUNIT,
	height = 96*FRACUNIT,
	spawnstate = S_PINESTATIC3,
	flags = MF_NOTHINK|MF_SOLID
}
states[S_PINESTATIC3] = {
	sprite = SPR_PNSM, frame = A, tics = 5, nextstate = S_PINESTATIC3}

-- -- ---ANIMATED DEBRIS--- -- --
freeslot(
"MT_WALLDEBRIS1", "SPR_WADB", "S_DSTATIC1")

mobjinfo[MT_WALLDEBRIS1] = {
	doomednum = 2351,
	radius = 32*FRACUNIT,
	height = 32*FRACUNIT,
	spawnstate = S_DSTATIC1,
	activesound = sfx_crumbl,
	flags = MF_NOCLIPTHING
}
states[S_DSTATIC1] = {
	sprite = SPR_WADB, frame = FF_ANIMATE|B, var1 = 9, var2 = 2, tics = 18, nextstate = S_DSTATIC1}

freeslot(
"MT_CONDEBRIS", "SPR_CODS", "S_CDSTATIC1")

mobjinfo[MT_CONDEBRIS] = {
	doomednum = 3006,
	radius = 32*FRACUNIT,
	height = 32*FRACUNIT,
	spawnstate = S_CDSTATIC1,
	activesound = sfx_crumbl,
	flags = MF_NOCLIPTHING
}
states[S_CDSTATIC1] = {
	sprite = SPR_CODS, frame = FF_ANIMATE|A, var1 = 3, var2 = 3, tics = 9, nextstate = S_CDSTATIC1}

-- -- ---ANIMATED FLAME--- -- --
freeslot(
"MT_BLUEFLAME", "SPR_BFLM", "S_FLAMESTATIC",
"MT_BLUECORONA", "SPR_BFCO", "S_CORONASTATIC")

mobjinfo[MT_BLUECORONA] = {
	doomednum = 2302,
	radius = 64*FRACUNIT,
	height = 64*FRACUNIT,
	spawnstate = S_CORONASTATIC,
	dispoffset = 1,
	flags = MF_NOGRAVITY|MF_NOCLIP
}

states[S_CORONASTATIC] = {
	sprite = SPR_BFCO, frame = FF_FULLBRIGHT|TR_TRANS80|A, tics = 5, nextstate = S_CORONASTATIC}

mobjinfo[MT_BLUEFLAME] = {
	--$Category Skyward Garden
	--$Name Thruster Flame
	--$Sprite BFLMA0
	//$Color 14
	//$NotAngled true
	doomednum = 2301,
	radius = 48*FRACUNIT,
	height = 96*FRACUNIT,
	spawnstate = S_FLAMESTATIC,
	flags = MF_SPECIAL|MF_FIRE
}

states[S_FLAMESTATIC] = {
	sprite = SPR_BFLM, frame = FF_FULLBRIGHT|TR_TRANS10|FF_ANIMATE|B, var1 = 9, var2 = 4, tics = 35, nextstate = S_FLAMESTATIC}
	
addHook("MobjSpawn",function(mob)
	P_SpawnMobj(mob.x,mob.y,mob.z,MT_BLUECORONA)
	A_FindTracer(mob,MT_BLUECORONA,0)
	mob.tracer.z = mob.z
end
,MT_BLUEFLAME)

-- -- ---TEMPLE WARE--- -- --
freeslot(
"MT_GOLDCHALICE", "SPR_CHAL", "S_CHALICESTATIC")

mobjinfo[MT_GOLDCHALICE] = {
	--$Category Skyward Garden
	--$Name Gold Chalice
	--$Sprite CHALA1
	//$Color 14
	doomednum = 2304,
	radius = 32*FRACUNIT,
	height = 100*FRACUNIT,
	spawnstate = S_CHALICESTATIC,
	flags = MF_NOTHINK|MF_SOLID
}

states[S_CHALICESTATIC] = {
	sprite = SPR_CHAL, frame = A, tics = 5, nextstate = S_CHALICESTATIC}

freeslot(
"MT_TEMPLELAMP", "SPR_CHAN", "S_CHANSTATIC",
"MT_SILVERLANTERN", "SPR_LANT", "S_LANTERNSTATIC")

mobjinfo[MT_TEMPLELAMP] = {
	--$Category Skyward Garden
	--$Name Temple Lamp
	--$Sprite CHANA1
	//$Color 14
	//$SpawnCeiling true
	doomednum = 2305,
	radius = 64*FRACUNIT,
	height = 128*FRACUNIT,
	spawnstate = S_CHANSTATIC,
	flags = MF_NOTHINK|MF_NOGRAVITY|MF_SPAWNCEILING
}

states[S_CHANSTATIC] = {
	sprite = SPR_CHAN, frame = FF_FULLBRIGHT|A, tics = 1, nextstate = S_CHANSTATIC}

mobjinfo[MT_SILVERLANTERN] = {
	--$Category Skyward Garden
	--$Name Silver Lantern
	--$Sprite LANTA1
	//$Color 14
	doomednum = 2306,
	radius = 32*FRACUNIT,
	height = 86*FRACUNIT,
	spawnstate = S_LANTERNSTATIC,
	flags = MF_SCENERY|MF_SOLID
}

states[S_LANTERNSTATIC] = {
	sprite = SPR_LANT, frame = FF_FULLBRIGHT|FF_ANIMATE|B, var1 = 10, var2 = 4, tics = 40, nextstate = S_LANTERNSTATIC}

-- Skyward Garden Pieces --
freeslot(
"MT_PLANTPOT", "SPR_PNTR", "S_PLANTPOTSTATIC")

mobjinfo[MT_PLANTPOT] = {
	--$Category Skyward Garden
	--$Name Potted Plant 1
	--$Sprite PNTRA1
	//$Color 14
	doomednum = 2308,
	radius = 32*FRACUNIT,
	height = 100*FRACUNIT,
	spawnstate = S_PLANTPOTSTATIC,
	flags = MF_NOTHINK|MF_SOLID
}

states[S_PLANTPOTSTATIC] = {
	sprite = SPR_PNTR, frame = A, tics = 5, nextstate = S_PLANTPOTSTATIC}

freeslot(
"MT_PLANTPOT2", "SPR_PNT2", "S_PLANTPOTSTATIC2")

mobjinfo[MT_PLANTPOT2] = {
	--$Category Skyward Garden
	--$Name Potted Plant 2
	--$Sprite PNT2A1
	//$Color 14
	doomednum = 2309,
	radius = 50*FRACUNIT,
	height = 318*FRACUNIT,
	spawnstate = S_PLANTPOTSTATIC2,
	flags = MF_NOTHINK|MF_SOLID
}

states[S_PLANTPOTSTATIC2] = {
	sprite = SPR_PNT2, frame = A, tics = 5, nextstate = S_PLANTPOTSTATIC2}

freeslot(
"MT_PLANTPOT3", "SPR_PNT3", "S_PLANTPOTSTATIC3")

mobjinfo[MT_PLANTPOT3] = {
	--$Category Skyward Garden
	--$Name Potted Plant 3
	--$Sprite PNT3A1
	//$Color 14
	doomednum = 2310,
	radius = 64*FRACUNIT,
	height = 56*FRACUNIT,
	spawnstate = S_PLANTPOTSTATIC3,
	flags = MF_SCENERY|MF_SOLID
}

states[S_PLANTPOTSTATIC3] = {
	sprite = SPR_PNT3, frame = FF_ANIMATE|B, var1 = 10, var2 = 2, tics = 20, nextstate = S_PLANTPOTSTATIC3}

freeslot(
"MT_PINEBUSH1", "SPR_PNB1", "S_PINEBUSHSTATIC")

mobjinfo[MT_PINEBUSH1] = {
	--$Category Broadside Cliffs
	--$Name Pine Bush 1
	--$Sprite PNB1A1
	//$WallSprite true
	doomednum = 2311,
	radius = 64*FRACUNIT,
	height = 80*FRACUNIT,
	spawnstate = S_PINEBUSHSTATIC,
	flags = MF_NOTHINK
}

states[S_PINEBUSHSTATIC] = {
	sprite = SPR_PNB1, frame = A, tics = 5, nextstate = S_PINEBUSHSTATIC}

freeslot(
"MT_PINELEAVES1", "SPR_PPSS", "S_PLSTATIC")

mobjinfo[MT_PINELEAVES1] = {
	--$Category Broadside Cliffs
	--$Name Pine Leaves1
	--$Sprite PPSSA0
	//$WallSprite true
	doomednum = 2313,
	radius = 32*FRACUNIT,
	height = 1024*FRACUNIT,
	spawnstate = S_PLSTATIC,
	flags = MF_SOLID|MF_SCENERY
}

states[S_PLSTATIC] = {
	sprite = SPR_PPSS, frame = FF_PAPERSPRITE|A, tics = 5, nextstate = S_PLSTATIC}

//flat lightpost//
freeslot(
"MT_PAPERPOST1", "SPR_LIPO", "S_LISTATIC",
"MT_CLIGHT", "SPR_LIGH", "S_LISTATIC2",
"MT_SHAFT", "SPR_LTSH", "S_SHAFTSTATIC")

mobjinfo[MT_PAPERPOST1] = {
	--$Category Broadside Cliffs
	--$Name Light Pole
	--$Sprite LIPOA0
	doomednum = 2314,
	radius = 16*FRACUNIT,
	height = 64*FRACUNIT,
	spawnstate = S_LISTATIC,
	flags = MF_SOLID|MF_SCENERY|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
}

states[S_LISTATIC] = {
	sprite = SPR_LIPO, frame = A, tics = 5, nextstate = S_LISTATIC}

addHook("MobjSpawn",function(mob)
	mob.renderflags = RF_NOSPLATBILLBOARD|RF_FLOORSPRITE
end
,MT_PAPERPOST1)

mobjinfo[MT_CLIGHT] = {
	--$Category Broadside Cliffs
	--$Name Circle Light
	--$Sprite LIGHA0
	//$FlatSprite true
	//$NotAngled true
	doomednum = 2315,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	spawnstate = S_LISTATIC2,
	flags = MF_SCENERY|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
}

states[S_LISTATIC2] = {
	sprite = SPR_LIGH, frame = A, tics = 5, nextstate = S_LISTATIC2}

addHook("MobjSpawn",function(mob)
	mob.renderflags = RF_NOSPLATBILLBOARD|RF_FLOORSPRITE|RF_FULLBRIGHT
	mob.flags = MF_NOTHINK|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
end
,MT_CLIGHT)

mobjinfo[MT_SHAFT] = {
	doomednum = 2316,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	spawnstate = S_SHAFTSTATIC,
	flags = MF_SCENERY|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
}

states[S_SHAFTSTATIC] = {
	sprite = SPR_LTSH, frame = FF_FULLBRIGHT|TR_TRANS60|A, tics = 5, nextstate = S_SHAFTSTATIC}

addHook("MobjSpawn",function(mob)
	P_SpawnMobj(mob.x,mob.y,mob.z,MT_SHAFT)
	mob.flags = MF_NOTHINK|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
end
,MT_CLIGHT)

addHook("MobjSpawn",function(mob)
	mob.blendmode = AST_ADD
	mob.spritexscale = 3*FRACUNIT
	mob.spriteyscale = 3*FRACUNIT
	A_FindTracer(mob,MT_SHAFT,0)
	mob.flags = MF_NOTHINK|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
end
,MT_SHAFT)

states[S_PINEBUSHSTATIC] = {
	sprite = SPR_PNB1, frame = A, tics = 5, nextstate = S_PINEBUSHSTATIC}

//A permanent light halo//
freeslot(
"MT_LIGHTHALO", "SPR_HAL2", "S_HALOSTATIC2")

mobjinfo[MT_LIGHTHALO] = {
	--$Category Lawn World
	--$Name Light Halo
	--$Sprite HAL2A0
	--$NotAngled true
	doomednum = 3020,
	radius = 64*FRACUNIT,
	height = 128*FRACUNIT,
	spawnstate = S_HALOSTATIC2,
	flags = MF_NOTHINK|MF_NOGRAVITY
}
	
states[S_HALOSTATIC2] = {
	sprite = SPR_HAL2, frame = FF_ADD|A, tics = 1000, nextstate = S_HALOSTATIC2}

//Wondrous Windsock Zone//
freeslot(
"MT_WINDSOCK1", "SPR_WDSK", "SPR_WDS1","S_WINDSOCKSTATIC1","S_WINDSOCKSTATIC2",
"MT_RADARDISH", "SPR_RDSH", "S_DISHSTATIC1")

mobjinfo[MT_WINDSOCK1] = {
	--$Category Wondrous Windsock
	--$Name Windsock 1
	--$Sprite WDSKA1
	//$Color 1
	doomednum = 3030,
	radius = 132*FRACUNIT,
	height = 176*FRACUNIT,
	spawnstate = S_WINDSOCKSTATIC1,
	flags = MF_SCENERY
}

states[S_WINDSOCKSTATIC1] = {
	sprite = SPR_WDSK, frame = FF_ANIMATE|A, tics = 10, var1 = 5, var2 = 2, nextstate = S_WINDSOCKSTATIC1}

states[S_WINDSOCKSTATIC2] = {
	sprite = SPR_WDS1, frame = FF_ANIMATE|A, tics = 10, var1 = 5, var2 = 2, nextstate = S_WINDSOCKSTATIC2}

addHook("MobjThinker",function(mob)
	if mob.spawnpoint.tag == 2 and mob.state == S_WINDSOCKSTATIC1 then
		mob.state = S_WINDSOCKSTATIC2
	end
end
,MT_WINDSOCK1)

mobjinfo[MT_RADARDISH] = {
	--$Category Wondrous Windsock
	--$Name Radar Dish
	--$Sprite RDSHA1
	//$Color 1
	doomednum = 3031,
	radius = 75*FRACUNIT,
	height = 150*FRACUNIT,
	spawnstate = S_DISHSTATIC1,
	flags = MF_NOTHINK|MF_SOLID
}

states[S_DISHSTATIC1] = {
	sprite = SPR_RDSH, frame = A, tics = 10, nextstate = S_DISHSTATIC1}
	
--Rock Spike--
freeslot(
"MT_ROCKSPIKE", "SPR_RKSP", "S_ROCKSPIKESTATIC1")

mobjinfo[MT_ROCKSPIKE] = {
	--$Category Wondrous Windsock
	--$Name Rock Spike
	--$Sprite RKSPA1
	//$Color 1
	doomednum = 3035,
	radius = 120*FRACUNIT,
	height = 240*FRACUNIT,
	spawnstate = S_ROCKSPIKESTATIC1,
	flags = MF_NOTHINK|MF_PAIN|MF_SOLID
}

states[S_ROCKSPIKESTATIC1] = {
	sprite = SPR_RKSP, frame = A, tics = 10, nextstate = S_ROCKSPIKESTATIC1}
	
--Water Sign with arrow--
freeslot(
"MT_WATERSIGN", "SPR_SWAT", "SPR_SWA2", "S_WATERSIGNSTATIC1","S_WATERSIGNSTATIC2")

mobjinfo[MT_WATERSIGN] = {
	--$Category Wondrous Windsock
	--$Name Water Sign
	--$Sprite SWATA1
	//$Color 1
	doomednum = 3037,
	radius = 8*FRACUNIT,
	height = 512*FRACUNIT,
	spawnstate = S_WATERSIGNSTATIC1,
	flags = MF_SCENERY|MF_SOLID
}

states[S_WATERSIGNSTATIC1] = {
	sprite = SPR_SWAT, frame = A, tics = 10, nextstate = S_WATERSIGNSTATIC1}

states[S_WATERSIGNSTATIC2] = {
	sprite = SPR_SWA2, frame = A, tics = 10, nextstate = S_WATERSIGNSTATIC2}

addHook("MobjThinker",function(mob)
	if mob.spawnpoint.tag == 2 and mob.state == S_WATERSIGNSTATIC1 then
		mob.state = S_WATERSIGNSTATIC2
		mob.flags = MF_NOTHINK|MF_SOLID
	else
		mob.flags = MF_NOTHINK|MF_SOLID
	end
end
,MT_WATERSIGN)
	
--Wind Sign with arrow--
freeslot(
"MT_WINDSIGN", "SPR_SWIN", "SPR_SWI2", "S_WINDSIGNSTATIC1","S_WINDSIGNSTATIC2")

mobjinfo[MT_WINDSIGN] = {
	--$Category Wondrous Windsock
	--$Name Wind Sign
	--$Sprite SWINA1
	//$Color 1
	doomednum = 3038,
	radius = 8*FRACUNIT,
	height = 512*FRACUNIT,
	spawnstate = S_WINDSIGNSTATIC1,
	flags = MF_SCENERY|MF_SOLID
}

states[S_WINDSIGNSTATIC1] = {
	sprite = SPR_SWIN, frame = A, tics = 10, nextstate = S_WINDSIGNSTATIC1}

states[S_WINDSIGNSTATIC2] = {
	sprite = SPR_SWI2, frame = A, tics = 10, nextstate = S_WINDSIGNSTATIC2}

addHook("MobjThinker",function(mob)
	if mob.spawnpoint.tag == 2 and mob.state == S_WINDSIGNSTATIC1 then
		mob.state = S_WINDSIGNSTATIC2
		mob.flags = MF_NOTHINK|MF_SOLID
	else
		mob.flags = MF_NOTHINK|MF_SOLID
	end
end
,MT_WINDSIGN)

--End Sign Sign with arrow--
freeslot(
"MT_SIGNSIGN", "SPR_SEN2", "SPR_SEN1", "S_SIGNSIGNSTATIC1","S_SIGNSIGNSTATIC2")

mobjinfo[MT_SIGNSIGN] = {
	--$Category Wondrous Windsock
	--$Name Sign Sign
	--$Sprite SEN1A1
	//$Color 1
	doomednum = 3046,
	radius = 8*FRACUNIT,
	height = 512*FRACUNIT,
	spawnstate = S_SIGNSIGNSTATIC1,
	flags = MF_SCENERY|MF_SOLID
}

states[S_SIGNSIGNSTATIC1] = {
	sprite = SPR_SEN1, frame = A, tics = 10, nextstate = S_SIGNSIGNSTATIC1}

states[S_SIGNSIGNSTATIC2] = {
	sprite = SPR_SEN2, frame = A, tics = 10, nextstate = S_SIGNSIGNSTATIC2}

addHook("MobjThinker",function(mob)
	if mob.spawnpoint.tag == 2 and mob.state == S_SIGNSIGNSTATIC1 then
		mob.state = S_SIGNSIGNSTATIC2
		mob.flags = MF_NOTHINK|MF_SOLID
	else
		mob.flags = MF_NOTHINK|MF_SOLID
	end
end
,MT_SIGNSIGN)

--Death Sign--
freeslot(
"MT_DEATHSIGN", "SPR_SNDH", "S_DEATHSIGNSTATIC")

mobjinfo[MT_DEATHSIGN] = {
	--$Category Wondrous Windsock
	--$Name Death Sign
	--$Sprite SNDHA1
	//$Color 1
	doomednum = 3048,
	radius = 8*FRACUNIT,
	height = 512*FRACUNIT,
	spawnstate = S_DEATHSIGNSTATIC,
	flags = MF_SCENERY|MF_SOLID
}

states[S_DEATHSIGNSTATIC] = {
	sprite = SPR_SNDH, frame = A, tics = 10, nextstate = S_DEATHSIGNSTATIC}

--Seaweed--
freeslot(
"MT_SEAWEED1", "SPR_SEWD","S_SEAWEEDSTATIC1")

mobjinfo[MT_SEAWEED1] = {
	--$Category Wondrous Windsock
	--$Name Seaweed1
	--$Sprite SEWDA1
	//$Color 1
	doomednum = 3044,
	radius = 64*FRACUNIT,
	height = 128*FRACUNIT,
	spawnstate = S_SEAWEEDSTATIC1,
	flags = MF_SCENERY
}

states[S_SEAWEEDSTATIC1] = {
	sprite = SPR_SEWD, frame = FF_ANIMATE|A, tics = 40, var1 = 8, var2 = 5, nextstate = S_SEAWEEDSTATIC1}

freeslot(
"MT_SEAWEED2","SPR_SEW2","S_SEAWEEDSTATIC2")

mobjinfo[MT_SEAWEED2] = {
	--$Category Wondrous Windsock
	--$Name Seaweed2
	--$Sprite SEW2A1
	//$Color 1
	doomednum = 3045,
	radius = 128*FRACUNIT,
	height = 512*FRACUNIT,
	spawnstate = S_SEAWEEDSTATIC2,
	flags = MF_SCENERY
}

states[S_SEAWEEDSTATIC2] = {
	sprite = SPR_SEW2, frame = FF_ANIMATE|A, tics = 40, var1 = 8, var2 = 5, nextstate = S_SEAWEEDSTATIC2}