| [9112] | 1 | <!-- TODO: Update the level's image--> | 
|---|
| [9141] | 2 |  | 
|---|
 | 3 | <!-- See TowerDefenseReadme.txt for Information on this file --> | 
|---|
 | 4 |  | 
|---|
| [9096] | 5 | <LevelInfo | 
|---|
 | 6 |  name = "Tower Defense" | 
|---|
| [9112] | 7 |  description = "Defend your Spacestation from incoming waves." | 
|---|
| [9346] | 8 |  tags = "minigame" | 
|---|
| [9096] | 9 |  screenshot = "emptylevel.png" | 
|---|
 | 10 | /> | 
|---|
 | 11 |  | 
|---|
 | 12 | <?lua | 
|---|
 | 13 |   include("stats.oxo") | 
|---|
 | 14 |   include("HUDTemplates3.oxo") | 
|---|
| [9173] | 15 |   include("towerdefenseHUD.oxo") | 
|---|
| [9096] | 16 |   include("templates/lodInformation.oxt") | 
|---|
 | 17 | ?> | 
|---|
 | 18 |  | 
|---|
| [9112] | 19 | <?lua | 
|---|
 | 20 |   include("templates/spaceshipAssff.oxt") | 
|---|
 | 21 |   include("templates/spaceshipPirate.oxt") | 
|---|
| [9161] | 22 |   include("templates/tower.oxt") | 
|---|
| [9112] | 23 | ?> | 
|---|
 | 24 |  | 
|---|
| [9103] | 25 | <!-- Specify the position of the camera --> | 
|---|
| [9139] | 26 | <Template name=centerpointmarkcamera defaults=0> | 
|---|
| [9112] | 27 |   <Pawn> | 
|---|
| [9103] | 28 |     <camerapositions> | 
|---|
| [9245] | 29 |       <CameraPosition position="0,0,1500"/> | 
|---|
| [9103] | 30 |     </camerapositions> | 
|---|
| [9112] | 31 |   </Pawn> | 
|---|
| [9103] | 32 | </Template> | 
|---|
| [9096] | 33 |  | 
|---|
| [9139] | 34 | <!-- Loads a mesh to mark the center--> | 
|---|
 | 35 | <Template name=centerpointmark> | 
|---|
 | 36 |   <Pawn camerapositiontemplate=centerpointmarkcamera> | 
|---|
| [9103] | 37 |     <attached> | 
|---|
| [9138] | 38 |       <Model position="0,0,0" mesh="cylinder.mesh" scale3D="1,1,1" /> <!-- the camera is attached to this --> | 
|---|
| [9103] | 39 |     </attached> | 
|---|
| [9112] | 40 |   </Pawn> | 
|---|
| [9103] | 41 | </Template> | 
|---|
| [9096] | 42 |  | 
|---|
| [9138] | 43 |  | 
|---|
| [9272] | 44 | <!-- Template for a tower   EDIT: new towertemplate is included with "templates/tower" --> | 
|---|
| [9161] | 45 | <!--Template name=towertemplate> | 
|---|
| [9134] | 46 |   <Tower> | 
|---|
 | 47 |     <attached> | 
|---|
| [9161] | 48 |       <Model position="0,0,0" scale=0.25 mesh="Tower_ME.mesh" /> | 
|---|
| [9134] | 49 |     </attached> | 
|---|
 | 50 |   </Tower> | 
|---|
| [9161] | 51 | </Template--> | 
|---|
| [9096] | 52 |  | 
|---|
| [9175] | 53 |  | 
|---|
 | 54 |  | 
|---|
 | 55 |  | 
|---|
 | 56 |  | 
|---|
| [9103] | 57 | <Level gametype = "TowerDefense"> | 
|---|
| [9096] | 58 |   <templates> | 
|---|
 | 59 |     <Template link=lodtemplate_default /> | 
|---|
 | 60 |   </templates> | 
|---|
| [9272] | 61 |  | 
|---|
| [9096] | 62 |   <?lua include("includes/notifications.oxi") ?> | 
|---|
 | 63 |  | 
|---|
 | 64 |   <Scene | 
|---|
 | 65 |     ambientlight = "0.8, 0.8, 0.8" | 
|---|
 | 66 |     skybox       = "Orxonox/Starbox" | 
|---|
 | 67 |   > | 
|---|
| [9272] | 68 |  | 
|---|
 | 69 |     <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> | 
|---|
 | 70 |  | 
|---|
 | 71 |     <!-- Spawns the camera, attached to a crate --> | 
|---|
 | 72 |     <SpawnPoint team=0 position="0,0,0" spawnclass=Pawn pawndesign=centerpointmark /> | 
|---|
 | 73 |     <!--TeamSpawnPoint team=1 position="-7,7,4" direction="-1,0,0" roll=90 yaw=0 spawnclass=SpaceShip pawndesign=spaceshipassff /--> | 
|---|
 | 74 |  | 
|---|
 | 75 |     <!--SpawnPoint team=1 position="0,0,10" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff  /--> | 
|---|
 | 76 |     <!--SpawnPoint team=0 position="0,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /--> | 
|---|
 | 77 |  | 
|---|
 | 78 |     <SpaceShip position="-700,-500, 100" lookat="0,0,0" scale=3 team=1 > | 
|---|
| [9129] | 79 |       <templates> | 
|---|
 | 80 |         <Template link=spaceshipassff /> | 
|---|
 | 81 |       </templates> | 
|---|
 | 82 |       <controller> | 
|---|
| [9213] | 83 |         <WaypointController accuracy=60> | 
|---|
| [9129] | 84 |           <waypoints> | 
|---|
| [9272] | 85 |             <!-- 1,3 10,3 10,11, 13,11 --> | 
|---|
| [9245] | 86 |             <Model mesh="cube.mesh" scale=0 position="-700,-500, 150" /> | 
|---|
 | 87 |             <Model mesh="cube.mesh" scale=0 position=" 200,-500, 150" /> | 
|---|
 | 88 |             <Model mesh="cube.mesh" scale=0 position=" 200, 300, 150" /> | 
|---|
 | 89 |             <Model mesh="cube.mesh" scale=0 position=" 500, 300, 150" /> | 
|---|
| [9272] | 90 |             <Model mesh="cube.mesh" scale=0 position=" 500, 700, 150" /> | 
|---|
| [9129] | 91 |           </waypoints> | 
|---|
 | 92 |         </WaypointController> | 
|---|
 | 93 |       </controller> | 
|---|
| [9154] | 94 |     </SpaceShip> | 
|---|
| [9272] | 95 |  | 
|---|
 | 96 |  | 
|---|
| [9175] | 97 |     <!--invisible entity to attach towers to, since playfield is static and towers are dynamic--> | 
|---|
 | 98 |     <StaticEntity position=0,0,0> | 
|---|
| [9272] | 99 |  | 
|---|
 | 100 |         <attached> | 
|---|
 | 101 |             <Model position="-50,-50,0" mesh="Playfield_ME.mesh" scale=80 /> | 
|---|
 | 102 |             <!-- Base --> | 
|---|
 | 103 |             <Model position="500,700,100" mesh="sphere.mesh" scale=80 /> | 
|---|
| [9143] | 104 |             <!--Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /--> <!-- Only temporary needed to help align the collisionshape --> | 
|---|
| [9272] | 105 |             <!-- This was used to mark the playfield, let's let it be here for now --> | 
|---|
 | 106 |             <!--Model position="-8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> | 
|---|
 | 107 |             <!--Model position="-8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> | 
|---|
 | 108 |             <!--Model position="8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> | 
|---|
 | 109 |             <!--Model position="8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> | 
|---|
| [9112] | 110 |         </attached> | 
|---|
| [9143] | 111 |         <collisionShapes> <!-- The collisionshape forbids other worldentities that have a collisionShape to fly through it. | 
|---|
| [9272] | 112 |  | 
|---|
| [9143] | 113 |                                TODO: Find correct size for the collisionshape; since a collisionShape is invisible | 
|---|
 | 114 |                                I added the crate wich currently has the same dimensions as the collisionshape. | 
|---|
 | 115 |                                You have to adjust the crate's scale3D as well as the collisionshape's halfExtens to | 
|---|
 | 116 |                                find the proper shape. --> | 
|---|
| [9168] | 117 |            <BoxCollisionShape position="0,0,0" halfExtents="400,400,100" /> | 
|---|
| [9143] | 118 |         </collisionShapes> | 
|---|
| [9272] | 119 |     </StaticEntity> | 
|---|
 | 120 |  | 
|---|
 | 121 |  | 
|---|
 | 122 |  | 
|---|
 | 123 |  | 
|---|
 | 124 |     <!-- PlayField --> | 
|---|
 | 125 |     <TowerDefenseCenterpoint | 
|---|
 | 126 |     name=towerdefensecenter | 
|---|
 | 127 |     width=16 | 
|---|
 | 128 |     height=16 | 
|---|
 | 129 |     tileScale=100 | 
|---|
 | 130 |     towerTemplate=tower | 
|---|
 | 131 |     position="0,0,0" | 
|---|
 | 132 |     direction="0,0,0" | 
|---|
 | 133 |     collisionType=dynamic | 
|---|
 | 134 |     mass=100000> | 
|---|
 | 135 |  | 
|---|
| [9134] | 136 |     </TowerDefenseCenterpoint> | 
|---|
| [9098] | 137 |  | 
|---|
| [9096] | 138 |   </Scene> | 
|---|
 | 139 | </Level> | 
|---|
 | 140 |  | 
|---|