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