[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