diff --git a/P3D/Content/Data/Scripts/pewter/caraliss.dat b/P3D/Content/Data/Scripts/pewter/caraliss.dat
new file mode 100644
index 000000000..1b777a872
Binary files /dev/null and b/P3D/Content/Data/Scripts/pewter/caraliss.dat differ
diff --git a/P3D/Content/Data/Scripts/pewter/fossilscientist.dat b/P3D/Content/Data/Scripts/pewter/fossilscientist.dat
index 7d4e6cb30..1dc55136d 100644
Binary files a/P3D/Content/Data/Scripts/pewter/fossilscientist.dat and b/P3D/Content/Data/Scripts/pewter/fossilscientist.dat differ
diff --git a/P3D/Content/Data/Scripts/trainer/frontier/battletower/124.trainer b/P3D/Content/Data/Scripts/trainer/frontier/battletower/124.trainer
index 92b3a164d..db7953480 100644
Binary files a/P3D/Content/Data/Scripts/trainer/frontier/battletower/124.trainer and b/P3D/Content/Data/Scripts/trainer/frontier/battletower/124.trainer differ
diff --git a/P3D/Content/Data/Scripts/trainer/frontier/battletower/179.trainer b/P3D/Content/Data/Scripts/trainer/frontier/battletower/179.trainer
index df6f67992..ec4276b84 100644
Binary files a/P3D/Content/Data/Scripts/trainer/frontier/battletower/179.trainer and b/P3D/Content/Data/Scripts/trainer/frontier/battletower/179.trainer differ
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/1f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/1f.dat
new file mode 100644
index 000000000..6c87d88f3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/1f.dat
@@ -0,0 +1,39 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/2f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/2f.dat
new file mode 100644
index 000000000..6bd433d16
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/2f.dat
@@ -0,0 +1,40 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/3f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/3f.dat
new file mode 100644
index 000000000..8688c42b3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/3f.dat
@@ -0,0 +1,41 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/4f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/4f.dat
new file mode 100644
index 000000000..1f6357daa
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/4f.dat
@@ -0,0 +1,42 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/5f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/5f.dat
new file mode 100644
index 000000000..e039572ae
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/5f.dat
@@ -0,0 +1,44 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/6f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/6f.dat
new file mode 100644
index 000000000..3216ace69
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/6f.dat
@@ -0,0 +1,45 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/7f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/7f.dat
new file mode 100644
index 000000000..5956d6a32
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/7f.dat
@@ -0,0 +1,46 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/double/8f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/double/8f.dat
new file mode 100644
index 000000000..115a4f271
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/double/8f.dat
@@ -0,0 +1,47 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/1f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/1f.dat
new file mode 100644
index 000000000..6c87d88f3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/1f.dat
@@ -0,0 +1,39 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/2f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/2f.dat
new file mode 100644
index 000000000..6bd433d16
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/2f.dat
@@ -0,0 +1,40 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/3f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/3f.dat
new file mode 100644
index 000000000..8688c42b3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/3f.dat
@@ -0,0 +1,41 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/4f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/4f.dat
new file mode 100644
index 000000000..1f6357daa
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/4f.dat
@@ -0,0 +1,42 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/5f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/5f.dat
new file mode 100644
index 000000000..e039572ae
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/5f.dat
@@ -0,0 +1,44 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/6f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/6f.dat
new file mode 100644
index 000000000..3216ace69
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/6f.dat
@@ -0,0 +1,45 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/7f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/7f.dat
new file mode 100644
index 000000000..5956d6a32
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/7f.dat
@@ -0,0 +1,46 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/knockout/8f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/8f.dat
new file mode 100644
index 000000000..115a4f271
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/knockout/8f.dat
@@ -0,0 +1,47 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/1f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/1f.dat
new file mode 100644
index 000000000..6c87d88f3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/1f.dat
@@ -0,0 +1,39 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/2f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/2f.dat
new file mode 100644
index 000000000..6bd433d16
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/2f.dat
@@ -0,0 +1,40 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/3f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/3f.dat
new file mode 100644
index 000000000..8688c42b3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/3f.dat
@@ -0,0 +1,41 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/4f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/4f.dat
new file mode 100644
index 000000000..1f6357daa
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/4f.dat
@@ -0,0 +1,42 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/5f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/5f.dat
new file mode 100644
index 000000000..e039572ae
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/5f.dat
@@ -0,0 +1,44 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/6f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/6f.dat
new file mode 100644
index 000000000..3216ace69
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/6f.dat
@@ -0,0 +1,45 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/7f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/7f.dat
new file mode 100644
index 000000000..5956d6a32
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/7f.dat
@@ -0,0 +1,46 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/mixed/8f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/8f.dat
new file mode 100644
index 000000000..115a4f271
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/mixed/8f.dat
@@ -0,0 +1,47 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/1f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/1f.dat
new file mode 100644
index 000000000..6c87d88f3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/1f.dat
@@ -0,0 +1,39 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/2f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/2f.dat
new file mode 100644
index 000000000..6bd433d16
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/2f.dat
@@ -0,0 +1,40 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/3f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/3f.dat
new file mode 100644
index 000000000..8688c42b3
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/3f.dat
@@ -0,0 +1,41 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/4f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/4f.dat
new file mode 100644
index 000000000..1f6357daa
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/4f.dat
@@ -0,0 +1,42 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/5f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/5f.dat
new file mode 100644
index 000000000..e039572ae
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/5f.dat
@@ -0,0 +1,44 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/6f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/6f.dat
new file mode 100644
index 000000000..3216ace69
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/6f.dat
@@ -0,0 +1,45 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/7f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/7f.dat
new file mode 100644
index 000000000..5956d6a32
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/7f.dat
@@ -0,0 +1,46 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.5,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/battle/quest/trainertower/single/8f.dat b/P3D/Content/Data/maps/battle/quest/trainertower/single/8f.dat
new file mode 100644
index 000000000..115a4f271
--- /dev/null
+++ b/P3D/Content/Data/maps/battle/quest/trainertower/single/8f.dat
@@ -0,0 +1,47 @@
+{"Level"{LEV[{"Name"{str[Trainer Tower]}}{"MusicLoop"{str[gym]}}{"CurrentRegion"{str[sevii islands]}}]}}
+{"Actions"{LEV[{"CanTeleport"{bool[0]}}{"CanDig"{bool[0]}}{"CanFly"{bool[0]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}]}}
+
+Floor:
+{"Floor"{ENT[{"Size"{intArr[16,10]}}{"Position"{intArr[6,0,7]}}{"TexturePath"{str[trainertower]}}{"Texture"{rec[0,80,16,16]}}]}}
+
+Ceiling:
+{"EntityField"{ENT[{"Size"{intArr[15,11]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,2,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[3,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[6.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[19.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[0,80,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+Walls:
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,0,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[17,13]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[5.5,1,5]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,0,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[32,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[7,3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[10.5,1,6]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,0,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,80,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
+{"EntityField"{ENT[{"Fill"{bool[0]}}{"Size"{intArr[3,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[12.5,1,9]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
+
+Monitor:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[1,0.85,1]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[20.5,0.75,5.1]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[64,83,16,13][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Floor Lights:
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,1.15,8.85]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[12.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[13.75,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"Scale"{sngArr[0.25,0.25,0.25]}}{"EntityID"{str[AllsidesObject]}}{"Position"{sngArr[14.25,0.85,9.15]}}{"TexturePath"{str[trainertower]}}{"Textures"{recArr[[16,72,4,4][20,72,6,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[12]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
+
+Stairs:
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[18.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[quest\trainertower\double\2f.dat,3,0.1,1,0,1]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[17.5,0,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[AllSidesObject]}}{"Position"{sngArr[17.5,1.99,6]}}{"TexturePath"{str[gym]}}{"Textures"{recArr[[0,32,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+
+{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[9.5,0,6]}}{"TexturePath"{str[House3]}}{"Textures"{recArr[[64,48,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"Visible"{bool[0]}}{"AdditionalValue"{str[quest\trainertower\ent.dat,9,0.1,0,2,3]}}{"Rotation"{int[0]}}]}}
+{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[9.5,0,6]}}{"TexturePath"{str[House2]}}{"Visible"{bool[0]}}{"Texture"{rec[112,16,16,16]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[9.5,-1,6]}}{"TexturePath"{str[House2]}}{"Textures"{recArr[[32,96,16,16][16,96,16,16]}}{"TextureIndex"{intArr[0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[32,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,7]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[0,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[9.5,-1.001,5]}}]}}
+{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"TexturePath"{str[rocketbase]}}{"Textures"{recArr[[16,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Position"{sngArr[10.5,-1.001,6]}}]}}
\ No newline at end of file
diff --git a/P3D/Content/Data/maps/blackthorn.dat b/P3D/Content/Data/maps/blackthorn.dat
index 763d4ec60..d3f8c0213 100644
Binary files a/P3D/Content/Data/maps/blackthorn.dat and b/P3D/Content/Data/maps/blackthorn.dat differ
diff --git a/P3D/Content/Data/maps/boon/cape.dat b/P3D/Content/Data/maps/boon/cape.dat
index 198904859..c2e3a4917 100644
Binary files a/P3D/Content/Data/maps/boon/cape.dat and b/P3D/Content/Data/maps/boon/cape.dat differ
diff --git a/P3D/Content/Data/maps/pewter/museum2.dat b/P3D/Content/Data/maps/pewter/museum2.dat
index fad9f7ed5..6ea609dc4 100644
Binary files a/P3D/Content/Data/maps/pewter/museum2.dat and b/P3D/Content/Data/maps/pewter/museum2.dat differ
diff --git a/P3D/Content/Data/smashrockitems.dat b/P3D/Content/Data/smashrockitems.dat
index 9a5387039..7c1fab15c 100644
Binary files a/P3D/Content/Data/smashrockitems.dat and b/P3D/Content/Data/smashrockitems.dat differ
diff --git a/P3D/P3D.vbproj b/P3D/P3D.vbproj
index 6ef0f589d..d475ce43b 100644
--- a/P3D/P3D.vbproj
+++ b/P3D/P3D.vbproj
@@ -26388,6 +26388,102 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
PreserveNewest
@@ -26916,6 +27012,15 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
PreserveNewest
@@ -26976,6 +27081,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -27534,6 +27642,12 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
PreserveNewest