| 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 | |
|---|