[Orxonox-commit 5259] r9922 - in code/branches/presentationHS13: . data/levels data/levels/templates src/modules/overlays src/modules/overlays/hud

jo at orxonox.net jo at orxonox.net
Wed Dec 18 11:43:31 CET 2013


Author: jo
Date: 2013-12-18 11:43:30 +0100 (Wed, 18 Dec 2013)
New Revision: 9922

Added:
   code/branches/presentationHS13/data/levels/Spacefight.oxw
   code/branches/presentationHS13/src/modules/overlays/hud/CountDown.cc
   code/branches/presentationHS13/src/modules/overlays/hud/CountDown.h
Modified:
   code/branches/presentationHS13/
   code/branches/presentationHS13/data/levels/missionOne.oxw
   code/branches/presentationHS13/data/levels/quests.oxw
   code/branches/presentationHS13/data/levels/templates/spaceshipHXYSL.oxt
   code/branches/presentationHS13/src/modules/overlays/OverlaysPrereqs.h
   code/branches/presentationHS13/src/modules/overlays/hud/CMakeLists.txt
Log:
merged levelMichael


Property changes on: code/branches/presentationHS13
___________________________________________________________________
Modified: svn:mergeinfo
   - /code/branches/Racingbot:9388-9513
/code/branches/ai:6592-7033
/code/branches/ai2:8721-8880
/code/branches/bigships:8137-8588
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/core6:9552-9666
/code/branches/data_cleanup:7537-7686
/code/branches/doc:7290-7400
/code/branches/dockingsystem:8101-8192
/code/branches/dockingsystem2:8196-8560
/code/branches/dynamicmatch:6584-7030
/code/branches/environment3:8887-8975
/code/branches/formation:8885-8991
/code/branches/formationupdate:9580-9624
/code/branches/fps:6591-7072
/code/branches/gamecontent:8893-8968
/code/branches/gameimmersion:8102-8577
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hud:8883-8986
/code/branches/hudelements:6584-6941
/code/branches/hudimprovements:7920-8672
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/invaders:9694-9896
/code/branches/ipv6:7293-7458
/code/branches/kicklib:7940-8096,8098-8277
/code/branches/kicklib2:8282-8350
/code/branches/largeShip1:9384-9515
/code/branches/lastmanstanding:7479-7644
/code/branches/lastmanstanding3:7903-8175
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/libs:9668-9674
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/mac_osx:7789-8128,8135
/code/branches/map:2801-3086,3089
/code/branches/masterserver:7502-7738
/code/branches/masterserverfix:8933-8936
/code/branches/menu:5941-6146,6148,7536-7687
/code/branches/menue:8884-8976
/code/branches/miniprojects:2754-2824
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network3:7196-7344
/code/branches/network4:7497-7755
/code/branches/network5:7757-7781
/code/branches/network6:7823-8315
/code/branches/network64:2210-2355
/code/branches/newlevel2012:9033-9244
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/ois_update:7506-7788
/code/branches/output:8739-8857
/code/branches/overlay:2117-2385
/code/branches/pCuts:9023-9284
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup:8145-8555
/code/branches/pickup2:5942-6405
/code/branches/pickup2012:9029-9189
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/png2:7262-7263
/code/branches/portals:8087-8455
/code/branches/portals2:8460-8602
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660,7736-7786,8500-8705
/code/branches/presentation2:6106-6416,7787-7800
/code/branches/presentation2011:8974-9015
/code/branches/presentation2012:9189-9268
/code/branches/presentation2012merge:9266-9347
/code/branches/presentation3:6913-7162
/code/branches/presentationHS12:9481-9525
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/radarDreiD:9690-9901
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/sfxThilo:9691-9917
/code/branches/shipSelection:9038-9206
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound2012:9205-9214
/code/branches/sound3:5941-6102
/code/branches/spaceNavigation:9381-9497
/code/branches/spaceboundaries:8085-8457
/code/branches/spaceboundaries2:8460-8613
/code/branches/spacerace:8182-8630
/code/branches/spaceraceTwo:8881-8996
/code/branches/spacestationentry:9699-9905
/code/branches/steering:5949-6091,8140-8595
/code/branches/surfaceRace:9028-9199
/code/branches/testing:9015-9549
/code/branches/tetris:8100-8563
/code/branches/turret:9380-9501
/code/branches/tutoriallevel:7827-8370
/code/branches/tutoriallevel2:8370-8452
/code/branches/tutoriallevel3:8453-8636
/code/branches/unity_build:8440-8716
/code/branches/usability:7915-8078
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weapons:2897-3051,8143-8591
/code/branches/weaponsystem:2742-2890
   + /code/branches/Racingbot:9388-9513
/code/branches/ai:6592-7033
/code/branches/ai2:8721-8880
/code/branches/bigships:8137-8588
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/core6:9552-9666
/code/branches/data_cleanup:7537-7686
/code/branches/doc:7290-7400
/code/branches/dockingsystem:8101-8192
/code/branches/dockingsystem2:8196-8560
/code/branches/dynamicmatch:6584-7030
/code/branches/environment3:8887-8975
/code/branches/formation:8885-8991
/code/branches/formationupdate:9580-9624
/code/branches/fps:6591-7072
/code/branches/gamecontent:8893-8968
/code/branches/gameimmersion:8102-8577
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hud:8883-8986
/code/branches/hudelements:6584-6941
/code/branches/hudimprovements:7920-8672
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/invaders:9694-9896
/code/branches/ipv6:7293-7458
/code/branches/kicklib:7940-8096,8098-8277
/code/branches/kicklib2:8282-8350
/code/branches/largeShip1:9384-9515
/code/branches/lastmanstanding:7479-7644
/code/branches/lastmanstanding3:7903-8175
/code/branches/levelMichael:9696-9921
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/libs:9668-9674
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/mac_osx:7789-8128,8135
/code/branches/map:2801-3086,3089
/code/branches/masterserver:7502-7738
/code/branches/masterserverfix:8933-8936
/code/branches/menu:5941-6146,6148,7536-7687
/code/branches/menue:8884-8976
/code/branches/miniprojects:2754-2824
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network3:7196-7344
/code/branches/network4:7497-7755
/code/branches/network5:7757-7781
/code/branches/network6:7823-8315
/code/branches/network64:2210-2355
/code/branches/newlevel2012:9033-9244
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/ois_update:7506-7788
/code/branches/output:8739-8857
/code/branches/overlay:2117-2385
/code/branches/pCuts:9023-9284
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup:8145-8555
/code/branches/pickup2:5942-6405
/code/branches/pickup2012:9029-9189
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/png2:7262-7263
/code/branches/portals:8087-8455
/code/branches/portals2:8460-8602
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660,7736-7786,8500-8705
/code/branches/presentation2:6106-6416,7787-7800
/code/branches/presentation2011:8974-9015
/code/branches/presentation2012:9189-9268
/code/branches/presentation2012merge:9266-9347
/code/branches/presentation3:6913-7162
/code/branches/presentationHS12:9481-9525
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/radarDreiD:9690-9901
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/sfxThilo:9691-9917
/code/branches/shipSelection:9038-9206
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound2012:9205-9214
/code/branches/sound3:5941-6102
/code/branches/spaceNavigation:9381-9497
/code/branches/spaceboundaries:8085-8457
/code/branches/spaceboundaries2:8460-8613
/code/branches/spacerace:8182-8630
/code/branches/spaceraceTwo:8881-8996
/code/branches/spacestationentry:9699-9905
/code/branches/steering:5949-6091,8140-8595
/code/branches/surfaceRace:9028-9199
/code/branches/testing:9015-9549
/code/branches/tetris:8100-8563
/code/branches/turret:9380-9501
/code/branches/tutoriallevel:7827-8370
/code/branches/tutoriallevel2:8370-8452
/code/branches/tutoriallevel3:8453-8636
/code/branches/unity_build:8440-8716
/code/branches/usability:7915-8078
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weapons:2897-3051,8143-8591
/code/branches/weaponsystem:2742-2890

Copied: code/branches/presentationHS13/data/levels/Spacefight.oxw (from rev 9921, code/branches/levelMichael/data/levels/Spacefight.oxw)
===================================================================
--- code/branches/presentationHS13/data/levels/Spacefight.oxw	                        (rev 0)
+++ code/branches/presentationHS13/data/levels/Spacefight.oxw	2013-12-18 10:43:30 UTC (rev 9922)
@@ -0,0 +1,1840 @@
+<!--Spacefight-->
+
+<!--
+To Do:
+- Discuss between Player and Captain Hood
+- If possible, do the spion with DistanceTriggerBeacon
+- Place the explosion right (time and place)
+- bigger explosion?
+- collisionShape for mainship
+- DistanceTriggerBeacon for Captain Hood
+-->
+
+<LevelInfo
+ name = "Spacefight"
+ description = "Level with the big Spacefight"
+ tags = "mission"
+ screenshot = "emptylevel.png"
+/>
+
+<?lua
+  include("stats.oxo")
+  include("HUDTemplates3.oxo")
+  include("templates/lodInformation.oxt")
+?>
+
+<?lua
+  include("templates/spaceshipAssff2.oxt")
+  include("templates/spaceshipPirate.oxt")
+  include("templates/spaceshipEscort.oxt")
+  include("templates/spaceshipSwallow.oxt")
+  include("templates/pickupRepresentationTemplates.oxt")
+  include("templates/spaceshipCollateralDamage.oxt")
+?>
+<?lua
+    dofile("includes/CuboidSpaceStation.lua")
+?>
+
+<Level
+  gametype = "Mission"
+>
+  <templates>
+    <Template link=lodtemplate_default />
+  </templates>
+
+  <?lua include("includes/notifications.oxi") ?>
+
+
+  <NotificationQueueCEGUI
+    name="narrative"
+    targets="simpleNotification"
+    size=3
+    displayTime=4.9
+    position="0.2, 0, 0.1, 0"
+    fontSize="23"
+    fontColor="0.3, 1, 0.2, 0.8"
+    alignment="HorzCentred"
+    displaySize="0.6, 0, 0, 0"
+    />
+
+<Scene
+    ambientlight = "0.8, 0.8, 0.8"
+    skybox       = "Orxonox/Starbox"
+  >
+  <?lua include("includes/pickups.oxi") ?>
+
+<Script code="showGUI NotificationLayer false true" needsGraphics="true" />
+<OverlayGroup name="spacefightHUD" scale = "1, 1">
+  <CountDown
+     position    = "0.51, 0.05"
+     pickpoint   = "0.0, 0.0"
+     font        = "ShareTechMono"
+     textsize    = 0.1
+     colour      = "1.0, 1.0, 1.0, 1.0"
+     align       = "center"                  
+     counter     = "10.0"
+     speedfactor = "1.0"
+     active      = "false"
+  >
+    <events>
+      <activity>
+        <EventListener event="timer1" />
+      </activity>
+    </events>
+  </CountDown>
+</OverlayGroup>
+
+<!-- SPAWNTRIGGER -->
+	<!-- StartPoint (0, 0, 0), lookat=(100, 0, 0) -->
+	<SpawnPoint team=0 position="-12350, -21950, 25500" lookat="-12350, -21950, 25300" spawnclass=SpaceShip pawndesign=spaceshipswallow > <!-- pawndesign=spaceshipcollateraldamage -->
+          <events>
+            <activity>
+              <EventListener event="flying12" />
+            </activity>
+          </events>
+	</SpawnPoint>
+
+	<EventTrigger name="flying12" invert="true" >
+	  <events>
+	    <trigger>
+	      <EventListener event="flying1" />
+	    </trigger>
+          </events>
+	</EventTrigger>
+
+	<!-- Second Spawnpoint (after first guard) --
+	<SpawnPoint team=0 position="13500, 2500, 10500" lookat="18000,5000,18000" spawnclass=SpaceShip pawndesign=spaceshipswallow > <!-- pawndesign=spaceshipcollateraldamage --
+	  <events>
+            <activity>
+	      <EventTrigger>
+		<EventTrigger invert=true >
+		  <events>
+		    <trigger>
+		      <EventListener event="reached" />
+		    </trigger>
+		  </events>
+		</EventTrigger>
+		<events>
+		  <trigger>
+                    <EventListener event="flying1" />
+		  </trigger>
+		</events>
+	      </EventTrigger>
+            </activity>
+          </events>
+        </SpawnPoint>
+	
+	<!-- Thirth Spawnpoint (when reached Captain Hood) --
+	<SpawnPoint team=0 position="-4000, -18000, 19000" lookat="-12000, -22000, 25000" spawnclass=SpaceShip pawndesign=spaceshipswallow > <!-- pawndesign=spaceshipcollateraldamage --
+	  <events>
+            <activity>
+	      <EventTrigger>
+		<EventTrigger invert=true >
+		  <events>
+		    <trigger>
+		      <EventListener event="timerEnd" />
+		    </trigger>
+		  </events>
+		</EventTrigger>
+		<events>
+		  <trigger>
+                    <EventListener event="reached" />
+		  </trigger>
+		</events>
+	      </EventTrigger>
+            </activity>
+          </events>
+        </SpawnPoint>
+
+	<!-- Distance-Spawn-Trigger (0, 0, 0) -->
+	<DistanceTrigger name=spawntrigger2 position="-12350, -21950, 25500" target="SpaceShip" distance=10 stayActive="true" delay=0 />
+
+	<!-- Drone pickup -->
+	<PickupSpawner pickup=dronepickup position="9750, -5350, 5650" triggerDistance="100" respawnTime="30" maxSpawnedItems="2" />
+
+<!-- QUEST DESCRIPTION -->
+	<LocalQuest id="spacefight.guard1">
+		<QuestDescription 
+			title="Eliminate the first guard!" 
+			description="You've reached the enemys Station and they haven't seen you yet.
+
+				Ahead you see the first little patrol.
+				There are two little battleships and also two unarmed ships.
+				The unarmed could not attack you. So first destroy the battleships!"
+			failMessage="You've lost all your ships!"
+			completeMessage="Well done!" />
+	</LocalQuest>
+
+	<LocalQuest id="spacefight.upgrade1">
+		<QuestDescription
+			title="Prepare for the fight (optional)"
+			description="Your friends has an arsenal left behind near by your position.
+				perhaps you find something useful there...
+				Hint: look for a big asteroid."
+			failMessage="You've lost all your ships!"
+			completeMessage="Your ship is prepared best for the second and last guard on the way to the mainship.
+				Now attack the second guard!" />
+	</LocalQuest>
+
+	<LocalQuest id="spacefight.guard2">
+		<QuestDescription
+			title="The second guard!"
+			description="There is also a second guard. The blinking light shows you the direction.
+				Destroy also this guard!"
+			failMessage="You've lost all your ships!"
+			completeMessage="" />
+	</LocalQuest>
+<!--
+	<LocalQuest id="spacefight.escape">
+		<QuestDescription
+			title="Catch the messenger!"
+			description="A messenger is on the way to warn the troups of the mainship.
+				Destroy him before he is near by the mainship. 
+				Else the fight against the enemys troups will be much more difficult."
+			failMessage="The messenger has reached the mainship.
+				Prepare to fight against a strong enmey!"
+			completeMessage="Well done! Now the element of surprise will be ours!" />
+	</LocalQuest>
+
+<!-- 2 different possibilitys --
+	<!-- Spion is destroyed --
+	<LocalQuest id="spacefight.mainfight(min)" >
+		<QuestDescription
+			title="The big fight!"
+			description="Now the time is come!
+				You've done all you can to prepare you for this spacebattle.
+				Let us see, if it was enough.
+				
+				ATTACK!!!"
+			failMessage="You've lost all your ships!"
+			completeMessage="YEEEHAAA!
+				You managed it! For that you will get the golden medal of the united space armies." />
+		<complete-effects>
+			<AddQuest questId="spacefight.rescue" />
+		</complete-effects>
+	</LocalQuest>
+
+	<!-- Spion isn't destroyed --
+	<LocalQuest id="spacefight.mainfight(max)" >
+		<QuestDescription
+			title="The big fight!"
+			description="Now the time is come!
+				You've done all you can to prepare you for this spacebattle.
+				Unfortunately the spion has alert the mainship. So the soldiers will also be prepared for you.
+				But you can manage it.
+				Good luck!"
+			failMessage="You've lost all your ships!"
+			completeMessage="YEEEHAAA!
+				You managed it! For that you will get the golden medal of the united space armies." />
+		<complete-effects>
+			<AddQuest questId="spacefight.rescue" />
+		</complete-effects>
+	</LocalQuest>
+<!-- --
+
+	<LocalQuest id="spacefight.rescue" >
+		<QuestDescription
+			title="Rescue and place the bomb"
+			description="Now you have to free the commander and place a bomb in the pirates' mainship."
+			failMessage="You've lost all your ships!"
+			completeMessage="" />
+		<complete-effects>
+			<AddQuest questId="spacefight.moveAway" />
+		</complete-effects>
+	</LocalQuest>
+
+	<LocalQuest id="spacefight.moveAway" >
+		<QuestDescription
+			title="Get away!"
+			description="Get away of the mainship before the bomb detonates."
+			failMessage="You've lost all your ships!"
+			completeMessage="Done!" />
+	</LocalQuest>
+
+	<!-- GRAND EXPLOSION IF POSSIBLE -->
+	<!-- Next Part -->
+-->
+	
+<!-- ---------------------------------------------------------------------- -->
+
+<!-- QuestEffectBeacon's -->
+	<!-- START -->
+	<QuestEffectBeacon times=0>
+		<effects>
+			<AddQuest questId="spacefight.guard1" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event=spawntrigger2 />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<QuestEffectBeacon times=0>
+		<events>
+			<execute>
+				<EventListener event="flying1" />
+			</execute>
+		</events>
+		<effects>
+			<CompleteQuest questId="spacefight.guard1" />
+		</effects>
+	</QuestEffectBeacon>
+
+	<SimpleNotification message="Well done!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="flying1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="flying1delay" activations="1" stayactive="true" delay=5.1 >
+	  <events>
+	    <trigger>
+	      <EventListener event="flying1" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="The green light shows you the way!"  broadcast="true" >
+		<events>
+			<trigger>
+				<EventListener event="flying1delay" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<BlinkingBillboard position="11000, 1000, 7000" colour="0.0, 1.0, 0.0" frequency=0.5 amplitude=10 material="Examples/Flare" >
+          <events>
+            <visibility>
+              <EventTrigger>
+		<EventTrigger invert=true>
+		  <events>
+		    <trigger>
+		      <EventListener event="flying2" />
+		    </trigger>
+		  </events>
+		</EventTrigger>
+                <events>
+                  <trigger>
+                    <EventListener event="flying1" />
+                  </trigger>
+                </events>
+	      </EventTrigger>
+            </visibility>
+          </events>
+	</BlinkingBillboard>
+	
+	<!-- Drone (optional) -->
+	<QuestEffectBeacon times=0>
+		<effects>
+			<AddQuest questId="spacefight.upgrade1" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="droneTrigger" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>	
+
+	<QuestEffectBeacon times=0>
+		<effects>
+			<CompleteQuest questId="spacefight.upgrade1" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="drone1" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<QuestEffectBeacon times=0>
+		<effects>
+			<CompleteQuest questId="spacefight.upgrade1" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="victory" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+	
+	<!-- Guard 2 -->
+	<QuestEffectBeacon times=0>
+		<effects>
+			<AddQuest questId="spacefight.guard2" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="droneTrigger" />
+			</execute>		
+		</events>
+	</QuestEffectBeacon>
+
+	<QuestEffectBeacon times=0>
+		<effects>
+			<CompleteQuest questId="spacefight.guard2" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="flying2" />
+			</execute>		
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- ESCAPE -->
+	<SimpleNotification message="A scout is startet to the mainship!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="guard2trigger1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<QuestEffectBeacon times=0>
+		<effects>
+			<AddQuest questId="spacefight.escape" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="escape10" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- ESCAPE ENDING -->
+	<!-- Spion escaped -->
+	<QuestEffectBeacon times=0>
+		<effects>
+			<CompleteQuest questId="spacefight.escape" />
+			<AddQuest questId="spacefight.mainfight(max)" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="spionTrigger" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- TEST -->
+	<QuestEffectBeacon>
+		<effects>
+			<AddQuest questId="spacefight.escape" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event=spawntrigger2 />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- Spion destroyed -->
+	<QuestEffectBeacon>
+		<effects>
+			<CompleteQuest questId="spacefight.escape" />
+			<AddQuest questId="spacefight.mainfight(min)" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="spion5" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- LAST FIGHT -->
+	<!-- Spion destroyed -->
+	<QuestEffectBeacon>
+		<effects>
+			<CompleteQuest questId="spacefight.mainfight(min)" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="guard3trigger4" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- Spion escaped -->
+	<QuestEffectBeacon>
+		<effects>
+			<CompleteQuest questId="spacefight.mainfight(max)" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="guard3trigger6" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- COMMANDER RESCUE -->
+	<QuestEffectBeacon>
+		<effects>
+			<CompleteQuest questId="spacefight.rescue" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="dock" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+	<!-- FLY AWAY -->
+	<QuestEffectBeacon>
+		<effects>
+			<CompleteQuest questId="spacefight.moveAway" />
+		</effects>
+		<events>
+			<execute>
+				<EventListener event="" />
+			</execute>
+		</events>
+	</QuestEffectBeacon>
+
+<!-- ---------------------------------------------------------------------- -->
+	<!-- Helper-Trigger for first guard -->
+	<DistanceTrigger name="flying1" position="9000, 0, 0" target="SpaceShip" distance=10000 stayActive="true" delay=0.1 >
+		<EventTrigger>
+			<events>
+				<trigger>
+					<EventListener event="guard1trigger4" />
+				</trigger>
+			</events>
+		</EventTrigger>
+	</DistanceTrigger>
+
+	<!-- Trigger to activate the upgrade1-Quest -->
+	<DistanceTrigger name="droneTrigger" position="11000, 1000, 7000" target="SpaceShip" distance=2000 stayActive="true" delay=0.1 />
+	<SimpleNotification message="Need an Upgrade?"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="droneTrigger" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="droneTriggerDelay" stayactive="true" delay=5 >
+		<events>
+			<trigger>
+				<EventListener event="droneTrigger" />
+			</trigger>
+		</events>
+	</EventTrigger>
+
+	<SimpleNotification message="Search the drone!"  broadcast="true" >
+		<events>
+			<trigger>
+				<EventListener event="droneTriggerDelay" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+			
+
+	<!-- Helper-Trigger for the drone(s) -->
+	<DistanceTrigger name="drone1" position="9750, -5350, 5650" target="SpaceShip" distance=100 stayActive="true" delay=0.1 />
+	<SimpleNotification message="Now your are prepared best!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="drone1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="drone1Delay" stayactive="true" delay=5.1 >
+		<events>
+			<trigger>
+				<EventListener event="drone1" />
+			</trigger>
+		</events>
+	</EventTrigger>
+
+	<SimpleNotification message="Fly back to the green light."  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="drone1Delay" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<Trigger name="secondDroneTrigger" mode="and" stayActive="true">
+	  <DistanceTrigger name="droneTrigger" position="11000, 1000, 7000" target="SpaceShip" distance=1000 stayActive="true" delay=0.1 />
+          <EventTrigger>
+            <events>
+              <trigger>
+                <EventListener event="drone1" />
+              </trigger>
+            </events>
+          </EventTrigger>
+        </Trigger>
+
+	<SimpleNotification message="The red light shows you the direction."  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="secondDroneTrigger" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<BlinkingBillboard position="11500, 1500, 10000" colour="1.0, 0.0, 0.0" frequency=0.5 amplitude=5 material="Examples/Flare" >
+	  <events>
+	    <visibility>
+	      <EventTrigger>
+		<EventTrigger invert=true>
+		  <events>
+		    <trigger>
+		      <EventListener event="guard2trigger1" />
+		    </trigger>
+		  </events>
+		</EventTrigger>
+	        <events>
+	          <trigger>
+	            <EventListener event="secondDroneTrigger" />
+	          </trigger>
+	        </events>
+	      </EventTrigger>
+	    </visibility>
+	  </events>
+	</BlinkingBillboard>
+
+	<!-- Helper-Trigger for second guard -->
+	<DistanceTrigger name="flying2" position="18000, 5000, 21000" target="SpaceShip" distance=10000 stayActive="true" delay=0.1 >
+		<EventTrigger>
+			<events>
+				<trigger>
+					<EventListener event="guard2trigger4" />
+				</trigger>
+			</events>
+		</EventTrigger>
+	</DistanceTrigger>	
+
+	<SimpleNotification message="Well done!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="flying2" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<Trigger name="guard2withoutSpion" mode="and" stayActive="true" delay=0 >
+	  <EventTrigger activations="1" >
+	    <events>
+	      <trigger>
+	        <EventListener event="flying2" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+	  <EventTrigger activations="1" invert="true" >
+	    <events>
+	      <trigger>
+	        <EventListener event="spionEnd" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+	</Trigger>
+
+	<EventTrigger name="flying2delay1" activations="1" stayactive="true" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="guard2withoutSpion" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="Catch the scout!"  broadcast="true" >
+		<events>
+			<trigger>
+				<EventListener event="flying2delay1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="flying2delay2" activations="1" stayactive="true" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="flying2delay1" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="Before he reachs the red light..."  broadcast="true" >
+		<events>
+			<trigger>
+				<EventListener event="flying2delay2" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<!-- DistanceTrigger for spion -->
+	<Trigger name="spionTrigger" mode="and" stayActive="true">
+	  <DistanceTrigger position="15000, 1000, 25000" target="SpaceShip" distance=50 stayActive="true" delay=0.1 />
+          <EventTrigger activations="1" invert="true">
+            <events>
+              <trigger>
+                <EventListener event="spion5" />
+              </trigger>
+            </events>
+          </EventTrigger>
+        </Trigger>
+
+	<SimpleNotification message="Scout is arrived!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="spionTrigger" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="spionTriggerDelay" stayactive="true" delay=5 >
+		<events>
+			<trigger>
+				<EventListener event="spionTrigger" />
+			</trigger>
+		</events>
+	</EventTrigger>	
+
+	<SimpleNotification message="Now the mainship is alarmed..."  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="spionTriggerDelay" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<BlinkingBillboard position="15000, 1000, 25000" colour="1.0, 0.0, 0.0" frequency=0.3 amplitude=7 material="Examples/Flare" >
+	  <events>
+	    <visibility>
+	      <EventTrigger>
+		<EventTrigger invert=true>
+		  <events>
+		    <trigger>
+		      <EventListener event="spionEnd" />
+		    </trigger>
+		  </events>
+		</EventTrigger>
+	        <events>
+	          <trigger>
+	            <EventListener event="guard2trigger1" />
+	          </trigger>
+	        </events>
+	      </EventTrigger>
+	    </visibility>
+	  </events>
+	</BlinkingBillboard>
+
+	<!-- If spion destroyed -->
+	<SimpleNotification message="Scout destroyed!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="spion5" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<!-- Spion end -->
+	<Trigger name="spionEnd" mode="or" stayActive="true" delay=0 >
+	  <EventTrigger activations="1" >
+	    <events>
+	      <trigger>
+	        <EventListener event="spion5" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+	  <EventTrigger activations="1" >
+	    <events>
+	      <trigger>
+	        <EventListener event="spionTrigger" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+	</Trigger>
+
+	<EventTrigger name="spionEndDelay" activations="1" delay=5>
+	  <events>
+	    <trigger>
+	      <EventListener event="spionEnd" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<!-- Intro to Captain Hood -->
+	<Trigger name="introHood" mode="and" stayActive="true">
+	  <EventTrigger activations="1" >
+	    <events>
+	      <trigger>
+	        <EventListener event="spionEndDelay" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+	  <EventTrigger activations="1" >
+	    <events>
+	      <trigger>
+	        <EventListener event="guard2trigger4" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+	</Trigger>
+
+	<EventTrigger name="introHoodDelay1" activations="1" stayactive="true" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="introHood" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="Your friend, Captain Hood, is near by you!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="introHoodDelay1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="introHoodDelay2" activations="1" stayactive="true" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="introHoodDelay1" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="He'll show you the way to the mainship!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="introHoodDelay2" />
+			</trigger>
+		</events>
+	</SimpleNotification>	
+
+	<!-- Helper-Trigger for Captain Hood -->
+	<DistanceTrigger name="reached" position="10000, 2000, 17000" target="SpaceShip" distance=1000 stayActive="true" delay=0.1 >
+		<EventTrigger>
+			<events>
+				<trigger>
+					<EventListener event="guard2trigger4" />
+				</trigger>
+			</events>
+		</EventTrigger>
+	</DistanceTrigger>
+
+	<SimpleNotification message="Follow Captain Hood!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="reached" />
+			</trigger>
+		</events>
+	</SimpleNotification>	
+
+	<!-- Trigger for Monologue from Captain Hood --> 
+	<DistanceTrigger name="discuss" position="-4000, -18000, 19000" target="SpaceShip" distance=50 stayActive="true" delay=0.1 />
+	<SimpleNotification message="Look, there is the mainship!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="discuss" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<!-- End of Mainfight -->
+        <Trigger name="victory1" mode="and" stayActive="true">
+	  <EventTrigger>
+	    <events>
+	      <trigger>
+		<EventListener event="guard3trigger4" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+          <EventTrigger activations="1" >
+            <events>
+              <trigger>
+                <EventListener event="spion5" />
+              </trigger>
+            </events>
+          </EventTrigger>
+        </Trigger>
+
+        <Trigger name="victory2" mode="and" stayActive="true">
+	  <EventTrigger activations="1" >
+	    <events>
+	      <trigger>
+		<EventListener event="guard3trigger6" />
+	        </trigger>
+	    </events>
+	  </EventTrigger>
+          <EventTrigger activations="1" >
+            <events>
+              <trigger>
+                <EventListener event="spionTrigger" />
+              </trigger>
+            </events>
+          </EventTrigger>
+        </Trigger>
+
+        <Trigger name="victory" mode="or" stayActive="true">
+	  <EventTrigger activations="1" >
+	    <events>
+	      <trigger>
+		<EventListener event="victory1" />
+	      </trigger>
+	    </events>
+	  </EventTrigger>
+	  <EventTrigger activations="1" >
+            <events>
+              <trigger>
+                <EventListener event="victory2" />
+              </trigger>
+            </events>
+          </EventTrigger>
+        </Trigger>
+
+	<SimpleNotification message="YEEEHAAA! You managed it!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="victory" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="victoryDelay1" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="victory" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<EventTrigger name="victoryDelay1.1" delay=5.1 >
+	  <events>
+	    <trigger>
+	      <EventListener event="victory" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="For that you will get the golden medal"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="victoryDelay1.1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<SimpleNotification message="of the united space armies."  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="victoryDelay1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="victoryDelay2" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="victoryDelay1.1" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<EventTrigger name="victoryDelay2.1" delay=5.1 >
+	  <events>
+	    <trigger>
+	      <EventListener event="victoryDelay1.1" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="Now dock at the mainship and"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="victoryDelay2.1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<SimpleNotification message="free the Commander!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="victoryDelay2" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="victoryDelay3" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="victoryDelay2" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="The light shows you the hatch"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="victoryDelay3" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<!-- Rescue the commander -->
+	<BlinkingBillboard position="-12470, -21870, 25200" colour="0.0, 0.0, 1.0" frequency=0.5 amplitude=5 material="Examples/Flare" >
+	  <events>
+	    <visibility>
+	      <EventTrigger>
+		<EventTrigger invert=true>
+		  <events>
+		    <trigger>
+		      <EventListener event="dock" />
+		    </trigger>
+		  </events>
+		</EventTrigger>
+	        <events>
+	          <trigger>
+	            <EventListener event=spawntrigger2 /> <!-- "victory" -->
+	          </trigger>
+	        </events>
+	      </EventTrigger>
+	    </visibility>
+	  </events>
+	</BlinkingBillboard>
+	
+	<DistanceTrigger name="dock" position="-12470, -21870, 25200" target="SpaceShip" distance=50 stayActive="true" delay=0 />
+	<SimpleNotification message="The Commander is on board!"  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="dock" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+	
+	<!-- TIMER-EVENTS -->
+	<EventTrigger name="dockdelay1" activations="1" stayactive="true" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="dock" />
+	    </trigger>
+	  </events>
+	</EventTrigger>	
+	
+	<SimpleNotification message="You have 10 seconds to move away..."  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="dockdelay1" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+	<EventTrigger name="dockdelay2" activations="1" stayactive="true" delay=5 >
+	  <events>
+	    <trigger>
+	      <EventListener event="dock" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+	<SimpleNotification message="A bomb is placed in the mainship..."  broadcast="true">
+		<events>
+			<trigger>
+				<EventListener event="dockdelay2" />
+			</trigger>
+		</events>
+	</SimpleNotification>
+
+
+    <EventTrigger name="timer1" activations="1" stayactive="true" delay=5 >
+      <events>
+        <trigger>
+          <EventListener event="dockdelay2" />
+        </trigger>
+      </events>
+    </EventTrigger>
+
+    <EventTrigger name="timerEnd" activations="1" stayactive="true" delay=10 >
+      <events>
+        <trigger>
+          <EventListener event="timer1" />
+        </trigger>
+      </events>
+    </EventTrigger>
+
+    <EventTrigger name="negativeTimerEnd" invert="true" delay=0 >
+      <events>
+        <trigger>
+          <EventListener event="timerEnd" />
+        </trigger>
+      </events>
+    </EventTrigger>
+
+<!-- ----------------------------------------------------- -->    
+<!-- For Guard 1 -->
+<!-- @Triggers: attacktriggerX <-> X enemies destroyed , X is an element of [1,4] -->
+    <EventTrigger name="guard1trigger4" activations="1" stayactive="true" delay=0.1>
+      <events>
+        <trigger>
+          <EventListener event="firstPatrol" />
+        </trigger>
+      </events>
+      <EventTrigger name="guard1trigger3" activations="1" stayactive="true" delay=0.1>
+        <events>
+          <trigger>
+            <EventListener event="firstPatrol" />
+          </trigger>
+        </events>
+        <EventTrigger name="guard1trigger2" activations="1" stayactive="true" delay=0.1>
+          <events>
+            <trigger>
+              <EventListener event="firstPatrol" />
+            </trigger>
+          </events>
+          <EventTrigger name="guard1trigger1" activations="1" stayactive="true" delay=0.1>
+            <events>
+              <trigger>
+                <EventListener event="firstPatrol" />
+              </trigger>
+            </events>
+          </EventTrigger>
+        </EventTrigger>
+      </EventTrigger>
+    </EventTrigger>
+
+<!-- For Guard 2 -->
+<!-- @Triggers: attacktriggerX <-> X enemies destroyed , X is an element of [1,4] -->
+    <EventTrigger name="guard2trigger4" activations="1" stayactive="true" delay=0.1>
+      <events>
+        <trigger>
+          <EventListener event="secondPatrol" />
+        </trigger>
+      </events>
+      <EventTrigger name="guard2trigger3" activations="1" stayactive="true" delay=0.1>
+        <events>
+          <trigger>
+            <EventListener event="secondPatrol" />
+          </trigger>
+        </events>
+        <EventTrigger name="guard2trigger2" activations="1" stayactive="true" delay=0.1>
+          <events>
+            <trigger>
+              <EventListener event="secondPatrol" />
+            </trigger>
+          </events>
+          <EventTrigger name="guard2trigger1" activations="1" stayactive="true" delay=0.1>
+            <events>
+              <trigger>
+                <EventListener event="secondPatrol" />
+              </trigger>
+            </events>
+          </EventTrigger>
+        </EventTrigger>
+      </EventTrigger>
+    </EventTrigger>
+
+<!-- For Escape -->
+	<EventTrigger name="spion5" stayactive="true" >
+	  <events>
+	    <trigger>
+	      <EventListener event="spion" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+
+<!-- For last fight -->
+    <EventTrigger name="guard3trigger6" activations="1" stayactive="true" delay=0.1 >
+      <events>
+        <trigger>
+          <EventListener event="lastGuard" />
+        </trigger>
+      </events>
+      <EventTrigger name="guard3trigger5" activations="1" stayactive="true" delay=0.1 >
+        <events>
+          <trigger>
+            <EventListener event="lastGuard" />
+          </trigger>
+        </events>
+        <EventTrigger name="guard3trigger4" activations="1" stayactive="true" delay=0.1 >
+          <events>
+            <trigger>
+              <EventListener event="lastGuard" />
+            </trigger>
+          </events>
+          <EventTrigger name="guard3trigger3" activations="1" stayactive="true" delay=0.1 >
+            <events>
+              <trigger>
+                <EventListener event="lastGuard" />
+              </trigger>
+            </events>
+	    <EventTrigger name="guard3trigger2" activations="1" stayactive="true" delay=0.1 >
+	      <events>
+		<trigger>
+		  <EventListener event="lastGuard" />
+		</trigger>
+	      </events>
+	      <EventTrigger name="guard3trigger1" activations="1" stayactive="true" delay=0.1 >
+		<events>
+		  <trigger>
+		    <EventListener event="lastGuard" />
+		  </trigger>
+		</events>
+	      </EventTrigger>
+	    </EventTrigger>
+          </EventTrigger>
+        </EventTrigger>
+      </EventTrigger>
+    </EventTrigger>
+	
+<!-- ----------------------------------------------------- -->
+<!-- Passive Pirates: Guard 1 -->
+<SpaceShip position="8000,1000,0" lookat="-1,0,0" name="firstPatrol" radarname="Patrol">
+  <events>
+    <visibility>
+      <EventListener event=spawntrigger2 />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointController team=1>
+      <waypoints>
+        <Model mesh="cube.mesh" scale=0 position="8000,-1000,0" />
+        <Model mesh="cube.mesh" scale=0 position="8000,1000,0" />
+      </waypoints>
+    </WaypointController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="8000,0,0" lookat="-1,0,0" name="firstPatrol" radarname="Patrol">
+  <events>
+    <visibility>
+      <EventListener event=spawntrigger2 />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointController team=1>
+      <waypoints>
+        <Model mesh="cube.mesh" scale=0 position="8000,0,-1000" />
+        <Model mesh="cube.mesh" scale=0 position="8000,0,1000" />
+      </waypoints>
+    </WaypointController>
+  </controller>
+</SpaceShip>
+
+
+<!-- Active Pirates: Guard 1 -->
+<SpaceShip position="8000,-1000,1000" lookat="8000,1000,-1000" name="firstPatrol" visible="true" radarname="Patrol" >
+  <events>
+    <visibility>
+      <EventListener event=spawntrigger2 />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+        <Model mesh="cube.mesh" scale=0 position="8000,1000,-1000" />
+        <Model mesh="cube.mesh" scale=0 position="8000,-1000,1000" />
+      </waypoints>
+      <events>
+        <activity>
+          <EventListener event=spawntrigger2 />
+        </activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="8000,-500,-500" lookat="8000,1000,1000" name="firstPatrol" visible="true" radarname="Patrol">
+  <events>
+    <visibility>
+      <EventListener event=spawntrigger2 />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+        <Model mesh="cube.mesh" scale=0 position="8000,1000,1000" />
+        <Model mesh="cube.mesh" scale=0 position="8000,-1000,-1000" />
+      </waypoints>
+      <events>
+        <activity>
+          <EventListener event=spawntrigger2 />
+        </activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<!-- Active Pirates: Guard 2 -->
+<SpaceShip position="19000,5000,18000" lookat="19000,4900,21000" name="secondPatrol" visible="true" radarname="Patrol">
+  <events>
+    <visibility>
+      <EventListener event="guard1trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=0 position="18700,4300,18000" />
+        <Model mesh="cube.mesh" scale=0 position="18000,4000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17300,4300,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17000,5000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17300,5700,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18000,6000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18700,5700,18000" />
+        <Model mesh="cube.mesh" scale=0 position="19000,5000,18000" />
+      </waypoints>
+      <events>
+        <activity>
+          <EventListener event="guard1trigger4" />
+        </activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="17000,5000,18000" lookat="17000,5100,21000" name="secondPatrol" visible="true" radarname="Patrol">
+  <events>
+    <visibility>
+      <EventListener event="guard1trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=0 position="17300,5700,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18000,6000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18700,5700,18000" />
+        <Model mesh="cube.mesh" scale=0 position="19000,5000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18700,4300,18000" />
+        <Model mesh="cube.mesh" scale=0 position="18000,4000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17300,4300,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17000,5000,18000" />
+      </waypoints>
+      <events>
+        <activity>
+          <EventListener event="guard1trigger4" />
+        </activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="18000,4000,18000" lookat="17000,4000,21000" name="secondPatrol" visible="true" radarname="Patrol">
+  <events>
+    <visibility>
+      <EventListener event="guard1trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=0 position="17300,4300,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17000,5000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17300,5700,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18000,6000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18700,5700,18000" />
+        <Model mesh="cube.mesh" scale=0 position="19000,5000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18700,4300,18000" />
+        <Model mesh="cube.mesh" scale=0 position="18000,4000,18000" />
+      </waypoints>
+      <events>
+        <activity>
+          <EventListener event="guard1trigger4" />
+        </activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="18000,6000,18000" lookat="19000,6000,21000" name="secondPatrol" visible="true" radarname="Patrol">
+  <events>
+    <visibility>
+      <EventListener event="guard1trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=0 position="18700,5700,18000" />
+        <Model mesh="cube.mesh" scale=0 position="19000,5000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18700,4300,18000" />
+        <Model mesh="cube.mesh" scale=0 position="18000,4000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17300,4300,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17000,5000,18000" />
+	<Model mesh="cube.mesh" scale=0 position="17300,5700,18000" />
+	<Model mesh="cube.mesh" scale=0 position="18000,6000,18000" />
+      </waypoints>
+      <events>
+        <activity>
+          <EventListener event="guard1trigger4" />
+        </activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<!-- Escape-Ship (Spion) -->
+<SpaceShip position="17000,4000,19000" lookat="-12000, -22000, 25000" name="spion" visible="true" radarname="Scout" >
+  <events>
+    <visibility>
+      <EventListener event="guard2trigger1" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointController team=1>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=0 position="15000, 1000, 25000" />
+        <Model mesh="cube.mesh" scale=0 position="0, -10000, 42000" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="guard2trigger1" />
+	</activity>
+      </events>
+    </WaypointController>
+  </controller>
+<!--  Should be realized, if possible...
+  <attached>
+    <DistanceTriggerBeacon name="spionBeacon" />
+  </attached>
+-->
+</SpaceShip>
+
+<!-- Mainship - Pirates -->
+<SpaceShip position="-10000, -20000, 24000" lookat="-10000, -22000, 24000" name="lastGuard" visible="true" radarname="Pirate" >
+  <events>
+    <visibility>
+      <EventListener event="guard2trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+        <Model mesh="cube.mesh" scale=10 position="-9500, -22000, 24000" /> <!-- -12000, -22000, 25000    -4000, -18000, 19000 -->
+        <Model mesh="cube.mesh" scale=10 position="-10500, -22000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-11000, -20000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-10000, -20000, 24000" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="guard2trigger4" />
+	</activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="-10000, -22000, 24000" lookat="-11000, -22000, 23000" name="lastGuard" visible="true" radarname="Pirate" >
+  <events>
+    <visibility>
+      <EventListener event="guard2trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+        <Model mesh="cube.mesh" scale=10 position="-10500, -22000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-11000, -20000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-10000, -20000, 24000" />        
+	<Model mesh="cube.mesh" scale=10 position="-9500, -22000, 24000" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="guard2trigger4" />
+	</activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="-11000, -22000, 23000" lookat="-11000, -20000, 23000" name="lastGuard" visible="true" radarname="Pirate" >
+  <events>
+    <visibility>
+      <EventListener event="guard2trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=10 position="-11000, -20000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-10000, -20000, 24000" />        
+	<Model mesh="cube.mesh" scale=10 position="-9500, -22000, 24000" />
+        <Model mesh="cube.mesh" scale=10 position="-10500, -22000, 23000" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="guard2trigger4" />
+	</activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="-11000, -20000, 23000" lookat="-10000, -20000, 24000" name="lastGuard" visible="true" radarname="Pirate" >
+  <events>
+    <visibility>
+      <EventListener event="guard2trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=10 position="-10000, -20000, 24000" />        
+	<Model mesh="cube.mesh" scale=10 position="-9500, -22000, 24000" />
+        <Model mesh="cube.mesh" scale=10 position="-10500, -22000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-11000, -20000, 23000" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="guard2trigger4" />
+	</activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<!-- Additional pirates if the spion has warned the mainship -->
+<SpaceShip position="-10500, -20000, 23500" lookat="-10000, -21000, 24000" name="lastGuard" visible="true" radarname="Pirate" >
+  <events>
+    <visibility>
+      <EventListener event="spionTrigger" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+        <Model mesh="cube.mesh" scale=10 position="-9750, -21000, 24000" />
+        <Model mesh="cube.mesh" scale=10 position="-10000, -22000, 23500" />
+	<Model mesh="cube.mesh" scale=10 position="-10750, -21000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-10500, -20000, 23500" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="spionTrigger" />
+	</activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<SpaceShip position="-10500, -22000, 23500" lookat="-11000, -21000, 23000" name="lastGuard" visible="true" radarname="Pirate" >
+  <events>
+    <visibility>
+      <EventListener event="spionTrigger" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshippirate />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=2000 team=1 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=10 position="-10750, -21000, 23000" />
+	<Model mesh="cube.mesh" scale=10 position="-10500, -20000, 23500" />
+        <Model mesh="cube.mesh" scale=10 position="-9750, -21000, 24000" />
+        <Model mesh="cube.mesh" scale=10 position="-10000, -22000, 23500" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="spionTrigger" />
+	</activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<!-- FRIEND-SHIPS -->
+<SpaceShip position="8500, 2000, 17000" lookat="0, -1000, 18000" name="friend" visible="true" radarname="Hood" >
+  <events>
+    <visibility>
+      <EventListener event="guard2trigger4" />
+    </visibility>
+  </events>
+  <templates>
+    <Template link=spaceshipswallow />
+  </templates>
+  <controller>
+    <WaypointPatrolController alertnessradius=5000 team=0 active=false>
+      <waypoints>
+	<Model mesh="cube.mesh" scale=0 position="-4000, -18000, 19000" />
+	<Model mesh="cube.mesh" scale=0 position="-11500, -22000, 25000" />
+      </waypoints>
+      <events>
+	<activity>
+	  <EventListener event="reached" />
+	</activity>
+      </events>
+    </WaypointPatrolController>
+  </controller>
+</SpaceShip>
+
+<BlinkingBillboard position="10000, 2000, 17000" colour="1.0, 1.0, 0.0" frequency=0.5 amplitude=20 material="Examples/Flare" >
+  <events>
+    <visibility>
+      <EventTrigger>
+	<EventTrigger invert=true>
+	  <events>
+	    <trigger>
+	      <EventListener event="reached" />
+	    </trigger>
+	  </events>
+	</EventTrigger>
+        <events>
+          <trigger>
+            <EventListener event="spion5" />
+          </trigger>
+        </events>
+      </EventTrigger>
+    </visibility>
+  </events>
+</BlinkingBillboard>
+
+<SimpleNotification message="Your friend Captain Hood is dead..."  broadcast="true">
+	<events>
+		<trigger>
+			<EventListener event="friend" />
+		</trigger>
+	</events>
+</SimpleNotification>
+
+<EventTrigger name="frienddelay" activations="1" stayactive="true" delay=5.1 >
+  <events>
+    <trigger>
+      <EventListener event="friend" />
+    </trigger>
+  </events>
+</EventTrigger>
+
+<SimpleNotification message="He died in a fight like he wished it!"  broadcast="true">
+	<events>
+		<trigger>
+			<EventListener event="frienddelay" />
+		</trigger>
+	</events>
+</SimpleNotification>
+
+<!-- ----------------------------------------------------- -->
+
+<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" />
+
+
+
+<!-- ASTEROIDS & ASTEROID-FIELDS -->
+	<!-- Asteroids -->
+	<Model 	position="9800, -5000, 5700" 
+		yaw="90" 
+		pitch="-90" 
+		roll="0" 
+		scale="200" 
+		mesh="asteroid_ice.mesh" />
+
+	<!-- triple large belt around the planet  -->
+	<?lua
+		dofile("includes/asteroidField.lua")
+		asteroidBelt(2000, -250, 9000, 30, 0, 30, 30, 50, 7190, 7800, 250, 1)
+	?>
+
+	<?lua
+		dofile("includes/asteroidField.lua")
+		asteroidBelt(2000, -250, 9000, 30, 0, 30, 30, 50, 10000, 11000, 300, 1)
+	?>
+
+	<?lua
+		dofile("includes/asteroidField.lua")
+		asteroidBelt(2000, -250, 9000, 30, 0, 30, 30, 50, 14000, 15000, 350, 1)
+	?>
+
+	<!-- other asteroid fileds -->
+
+	<!-- left before guard 1 -->	
+	<?lua
+		dofile("includes/asteroidField.lua")
+		asteroidField(-5000, -5000, -20000, 20, 50, 10000, 200, 0)
+	?>
+
+	<!-- left behind guard 1 -->
+	<?lua
+		dofile("includes/asteroidField.lua")
+		asteroidField(20000, -10000, -12000, 30, 100, 10000, 200, 0)
+	?>
+
+	<!-- between guard 2 & mainship -->
+		<!-- Core -->	
+		<?lua
+			dofile("includes/asteroidField.lua")
+			asteroidField(-5000, -10000, 30000, 10, 700, 8000, 80, 0)
+		?>
+	
+		<!-- Peripherie -->
+		<?lua
+			dofile("includes/asteroidField.lua")
+			asteroidField(-5000, -10000, 30000, 10, 50, 10000, 100, 0)
+		?>
+
+		<?lua
+	      		dofile("includes/asteroidField.lua")
+			asteroidBelt(-10000, -12500, 0, 0, 0, 30, 30, 500, 0, 7850, 150, 0)
+	    	?>
+
+	<!-- PLANETS -->
+  	<Planet 	position="2000,-250,9000" 
+			scale=5000 
+			pitch=1 
+			mesh="iceplanet.mesh" 
+			atmosphere="atmosphere1" 
+			rotationaxis="1,1,0" 
+			rotationrate="0.5" 
+			atmospheresize=224.0f 
+			imagesize=1024.0f
+			mass="10000000"
+			angularDamping=0
+			collisiondamage=2
+			enablecollisiondamage=true
+			collisionType="dynamic" />
+
+
+<!-- ----------------Rotating SpaceStation--------------- -->
+	<!-- first guard -->
+	<StaticEntity position="9000,0,0" collisionType=static yaw=112 pitch=67 >
+	  <attached>
+	    <?lua
+	      createSpaceStationPar(0,2,1,2,1,4,1,50)
+	    ?>
+	  </attached>
+	</StaticEntity>
+
+	<!-- second guard -->
+	<StaticEntity position="18000,5000,18000" collisionType=static yaw=12 pitch=75 >
+	  <attached>
+	    <?lua
+	      createSpaceStationPar(0,2,1,2,1,4,1,50)
+	    ?>
+	  </attached>
+	</StaticEntity>
+
+<!-- ------------------------- Mainship ------------------ -->
+    <SpaceShip
+        team      = 1
+        position  = "-12000, -22000, 25000"
+        mass      = 10000000000
+        health    = 100000 initialhealth=100000 maxhealth="100000"
+        name      = "Mainship"
+        radarname = "Mainship" 
+	visible	  = "true" >
+      <controller>
+        <WaypointController team=1 active="true" >
+          <waypoints/>
+          <events>
+	    <activity>
+	      <EventListener event=spawntrigger2 />
+	    </activity>
+          </events>
+        </WaypointController>
+      </controller>
+      <attached>
+        <Model scale=200 mesh="drone.mesh" position = "0,0,0" lookat="40000, 4000, 27000" />
+	<Model mesh="cube.mesh" mass=10 position="-445,110,120" scale3D="45,45,150"  yaw=56 pitch=-4 roll=0 />
+        <Model mesh="cube.mesh" mass=10 position="-295,125,220" scale3D="28,28,28" yaw=56 pitch=-4 roll=0 />
+        <Model mesh="cube.mesh" mass=10 position="-400,350,-200" scale3D="80,280,800" yaw=56 pitch=-4 roll=5 />
+        <Model mesh="cube.mesh" mass=10 position="-300,630,-100" scale3D="250,50,500" yaw=56 pitch=-4 roll=5 />
+        <Model mesh="cube.mesh" mass=10 position="-150,-150,-550" scale3D="80,280,800"  yaw=56 pitch=-4 roll=65 />
+        <Model mesh="cube.mesh" mass=10 position="140,0,240" scale3D="250,50,500" yaw=0 pitch=0 roll=0 />
+<!--    <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" />
+        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-120/>
+        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-240/>
+        <Model mesh="cube.mesh" mass=10 position="0,400,0" scale3D="43,110,26" yaw=-30 />
+        <Model mesh="cube.mesh" mass=10 position="-200,100,0" scale3D="26,50,43" />
+        <Model mesh="cube.mesh" mass=10 position="100,100,-173" scale3D="43,50,26" yaw=-30/>
+        <Model mesh="cube.mesh" mass=10 position="100,100,173" scale3D="43,50,26" yaw=30/>
+        <Model mesh="cube.mesh" mass=10 position="-100,264,0" scale3D="26,105,43" roll=-49/>
+        <Model mesh="cube.mesh" mass=10 position="50,264,-87" scale3D="26,105,43" roll=-49 yaw=-120/>
+        <Model mesh="cube.mesh" mass=10 position="50,264,87" scale3D="26,105,43" roll=-49 yaw=-240/> -->
+      </attached>
+      <collisionShapes>
+	<BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /> <!-- Three lower boxes -->
+<!--    <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 />
+        <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 />
+        <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /> <!-- Three lower connections --
+        <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 />
+        <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 />
+        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /> <!-- Upper Tower --
+        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 />
+        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 />
+        <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /> <!-- Middle one--
+        <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /> <!--Three lower legs --
+        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 />
+        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 />
+        <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /> <!--Three upper legs --
+        <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 />
+        <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 />  -->
+      </collisionShapes>
+      <events>
+        <visibility>
+	  <EventListener event="negativeTimerEnd" />
+        </visibility>
+      </events>
+    </SpaceShip>
+
+    <!-- PARTICLE EFFECT -->
+
+    <ParticleSpawner position="-12000, -22000, 25000" source="Orxonox/RingExp" autostart="false" lifetime=500 loop=0 startdelay=2.5>
+        <events>
+            <spawn>
+                <EventListener event="timerEnd" />
+            </spawn>
+        </events>
+    </ParticleSpawner>
+    <ParticleSpawner position="-12000, -22000, 25000" source="Orxonox/RingExp2" autostart="false" lifetime=500 loop=0 startdelay=2>
+        <events>
+            <spawn>
+                <EventListener event="timerEnd" />
+            </spawn>
+        </events>
+    </ParticleSpawner>
+    <ParticleSpawner position="-12000, -22000, 25000" source="Orxonox/RingExp3" autostart="false" lifetime=500 loop=0 startdelay=2>
+        <events>
+            <spawn>
+                <EventListener event="timerEnd" />
+            </spawn>
+        </events>
+    </ParticleSpawner>
+
+  </Scene>
+</Level>
+

Modified: code/branches/presentationHS13/data/levels/missionOne.oxw
===================================================================
--- code/branches/presentationHS13/data/levels/missionOne.oxw	2013-12-17 22:43:23 UTC (rev 9921)
+++ code/branches/presentationHS13/data/levels/missionOne.oxw	2013-12-18 10:43:30 UTC (rev 9922)
@@ -1,3 +1,4 @@
+<!---->
 <LevelInfo
  name = "Mission One"
  description = "First Guided Steps in the Orxonoxian Universe."

Modified: code/branches/presentationHS13/data/levels/quests.oxw
===================================================================
--- code/branches/presentationHS13/data/levels/quests.oxw	2013-12-17 22:43:23 UTC (rev 9921)
+++ code/branches/presentationHS13/data/levels/quests.oxw	2013-12-18 10:43:30 UTC (rev 9922)
@@ -1,3 +1,4 @@
+<!-- -->
 <LevelInfo
  name = "Quests showcase"
  description = "Level to test and showcase quests."

Modified: code/branches/presentationHS13/data/levels/templates/spaceshipHXYSL.oxt
===================================================================
--- code/branches/presentationHS13/data/levels/templates/spaceshipHXYSL.oxt	2013-12-17 22:43:23 UTC (rev 9921)
+++ code/branches/presentationHS13/data/levels/templates/spaceshipHXYSL.oxt	2013-12-18 10:43:30 UTC (rev 9922)
@@ -24,6 +24,7 @@
     </engines>
     <attached>
       <Model position="0,0,0" yaw=180 pitch=-90 roll=0 scale=4 mesh="HXY.mesh" />
+      <DistanceTriggerBeacon name="player" />
     </attached>
     <collisionShapes>
       <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />

Modified: code/branches/presentationHS13/src/modules/overlays/OverlaysPrereqs.h
===================================================================
--- code/branches/presentationHS13/src/modules/overlays/OverlaysPrereqs.h	2013-12-17 22:43:23 UTC (rev 9921)
+++ code/branches/presentationHS13/src/modules/overlays/OverlaysPrereqs.h	2013-12-18 10:43:30 UTC (rev 9922)
@@ -79,6 +79,7 @@
     class AnnounceMessage;
     class BarColour;
     class ChatOverlay;
+    class CountDown;
     class DeathMessage;
     class GametypeFadingMessage;
     class GametypeStaticMessage;

Modified: code/branches/presentationHS13/src/modules/overlays/hud/CMakeLists.txt
===================================================================
--- code/branches/presentationHS13/src/modules/overlays/hud/CMakeLists.txt	2013-12-17 22:43:23 UTC (rev 9921)
+++ code/branches/presentationHS13/src/modules/overlays/hud/CMakeLists.txt	2013-12-18 10:43:30 UTC (rev 9922)
@@ -17,4 +17,5 @@
   LastManStandingInfos.cc
   PauseNotice.cc
   LastTeamStandingInfos.cc
+  CountDown.cc
 )

Copied: code/branches/presentationHS13/src/modules/overlays/hud/CountDown.cc (from rev 9921, code/branches/levelMichael/src/modules/overlays/hud/CountDown.cc)
===================================================================
--- code/branches/presentationHS13/src/modules/overlays/hud/CountDown.cc	                        (rev 0)
+++ code/branches/presentationHS13/src/modules/overlays/hud/CountDown.cc	2013-12-18 10:43:30 UTC (rev 9922)
@@ -0,0 +1,113 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Johannes Ritz
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file CountDown.cc
+    @brief Countdown HUD element, counting down from CountDown::counter_ to zero.
+    
+    In use it would like this:
+        @code
+        <OverlayGroup name="spacefightHUD" scale = "1, 1">
+          <CountDown
+              position    = "0.49, 0.05"
+              pickpoint   = "0.0, 0.0"
+              font        = "ShareTechMono"
+              textsize    = 0.06
+              colour      = "1.0, 1.0, 1.0, 1.0"
+              align       = "right"                  
+              counter     = "10.0"
+              speedfactor = "1.0"
+              active      = "false"
+           >
+            <events>
+              <activity>
+                <EventListener event="startcounting" />
+              </activity>
+            </events>
+          </CountDown>
+        </OverlayGroup>
+        @endcode
+        The counter is triggered by an event called "startcounting" and counts from 10 to 0.
+*/
+
+#include "CountDown.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "infos/PlayerInfo.h"
+#include "util/Convert.h"
+
+namespace orxonox
+{
+    RegisterClass(CountDown);
+
+    CountDown::CountDown(Context* context) : OverlayText(context)
+    {
+        RegisterObject(CountDown);
+
+        this->owner_ = 0;
+        this->hasStopped_ = false;
+    }
+    
+    CountDown::~CountDown()
+    {
+    }
+    
+    void CountDown::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(CountDown, XMLPort, xmlelement, mode);
+        XMLPortParam(CountDown, "counter", setCounter, getCounter, xmlelement, mode).defaultValues(10);
+        XMLPortParam(CountDown, "speedfactor", setSpeed, getSpeed, xmlelement, mode).defaultValues(1);
+    }
+    
+    void CountDown::tick(float dt)
+    {
+        SUPER(CountDown, tick, dt);
+        if (this->isActive() && !this->hasStopped_)
+        {
+            if (this->counter_ <= 0)
+            {
+                this->counter_ = 0;
+                this->hasStopped_ = true;
+                this->setCaption("");
+            }
+            else
+            {
+                this->counter_ -= dt*speed_;
+                this->setCaption(multi_cast<std::string>((int)this->counter_)); //TODO: evtl. initialize with +0.5f
+            }
+        }
+    }
+
+    void CountDown::changedOwner()
+    {
+        SUPER(CountDown, changedOwner);
+
+        this->owner_ = orxonox_cast<PlayerInfo*>(this->getOwner());
+    }
+}

Copied: code/branches/presentationHS13/src/modules/overlays/hud/CountDown.h (from rev 9921, code/branches/levelMichael/src/modules/overlays/hud/CountDown.h)
===================================================================
--- code/branches/presentationHS13/src/modules/overlays/hud/CountDown.h	                        (rev 0)
+++ code/branches/presentationHS13/src/modules/overlays/hud/CountDown.h	2013-12-18 10:43:30 UTC (rev 9922)
@@ -0,0 +1,68 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Johannes Ritz
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _CountDown_H__
+#define _CountDown_H__
+
+#include "overlays/OverlaysPrereqs.h"
+
+#include "tools/interfaces/TimeFactorListener.h"
+#include "tools/interfaces/Tickable.h"
+#include "overlays/OverlayText.h"
+
+namespace orxonox
+{
+    class _OverlaysExport CountDown : public OverlayText, public Tickable
+    {
+        public:
+            CountDown(Context* context);
+            virtual ~CountDown();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void changedOwner();
+            virtual void tick(float dt);
+
+            inline void setCounter(float value)
+                { this->counter_ = value + 0.99f; }
+            inline float getCounter() const
+                { return this->counter_; }
+            inline void setSpeed(float value)
+                { this->speed_ = value; }
+            inline float getSpeed() const
+                { return this->speed_; }
+                
+        protected:
+
+        private:
+            PlayerInfo* owner_;
+            float counter_;
+            float speed_;
+            bool hasStopped_;
+    };
+}
+#endif /* _CountDown_H__ */




More information about the Orxonox-commit mailing list