[Orxonox-commit 6134] r10792 - code/branches/campaignHS15/data/levels
paulsc at orxonox.net
paulsc at orxonox.net
Mon Nov 9 17:56:56 CET 2015
Author: paulsc
Date: 2015-11-09 17:56:56 +0100 (Mon, 09 Nov 2015)
New Revision: 10792
Modified:
code/branches/campaignHS15/data/levels/Campaign1.oxw
Log:
Made number of enemies increase over time, added fps undock, advanced quests/events/notifications to quest 6
Modified: code/branches/campaignHS15/data/levels/Campaign1.oxw
===================================================================
--- code/branches/campaignHS15/data/levels/Campaign1.oxw 2015-11-09 16:55:42 UTC (rev 10791)
+++ code/branches/campaignHS15/data/levels/Campaign1.oxw 2015-11-09 16:56:56 UTC (rev 10792)
@@ -39,7 +39,8 @@
<!-- GLOBAL LUA VARIABLES -->
<?lua
waves = 3
- enemies = 5
+ enemiesInit = 5
+ enemiesIncrease = 2
allies = 3
--[[ Coordinates in (y,z,x). NOTE: Indexing starts at 1 in lua! Don“t forget to adapt the for loops, too! ]]--
@@ -240,6 +241,7 @@
?>
<!-- Actual recursive Event(s) for the respective waves. -->
<?lua
+ enemies = enemiesInit
for k = 1, waves, 1
do
print(enemyTriggerRecursor(enemies,k))
@@ -251,6 +253,7 @@
</trigger>
</events>
</EventMultiTrigger>
+ <?lua enemies = enemies + enemiesIncrease ?>
<?lua end ?>
<!-- This controls the ally AI controller so it is only active when active enemies are around!
@@ -285,6 +288,31 @@
</events>
</EventDispatcher>
+ <DistanceTrigger active=false name="reachedC" position="<?lua printC(cC) ?>" distance=1000 target="SpaceShip" beaconMode="exclude" targetname="NPC" stayactive=true>
+ <events>
+ <activity>
+ <EventListener event="waveClear1" />
+ </activity>
+ </events>
+ </DistanceTrigger>
+
+ <!-- TODO: find out how to link an event to the COMPLETION of a dock. How is this not possible?? -->
+ <EventMultiTrigger name="dockedC" activations="1" stayactive="true" delay=3>
+ <events>
+ <trigger>
+ <EventListener event="dockC" />
+ </trigger>
+ </events>
+ </EventMultiTrigger>
+
+ <EventMultiTrigger name="wave2" activations="1" delay=8>
+ <events>
+ <trigger>
+ <EventListener event="dockedC" />
+ </trigger>
+ </events>
+ </EventMultiTrigger>
+
<!-- FIXME: This trigger needs fixing, as endMission can only be called by a Pawn Distance Trigger. Herpaderp.
Also, the fix proposed in MissionOne does not work anymore... -->
<EventMultiTrigger name="missionFailed" target="Pawn" stayActive="true" delay=1.5>
@@ -361,6 +389,40 @@
</events>
</QuestEffectBeacon>
+ <QuestEffectBeacon times=1>
+ <effects>
+ <CompleteQuest questId="quest4.1" />
+ </effects>
+ <events>
+ <execute>
+ <EventListener event="reachedC" />
+ </execute>
+ </events>
+ </QuestEffectBeacon>
+
+ <QuestEffectBeacon times=1>
+ <effects>
+ <CompleteQuest questId="quest4.2" />
+ <CompleteQuest questId="quest4" />
+ </effects>
+ <events>
+ <execute>
+ <EventListener event="dockedC" />
+ </execute>
+ </events>
+ </QuestEffectBeacon>
+
+ <QuestEffectBeacon times=1>
+ <effects>
+ <CompleteQuest questId="quest5" />
+ </effects>
+ <events>
+ <execute>
+ <EventListener event="waveClear2" />
+ </execute>
+ </events>
+ </QuestEffectBeacon>
+
<!--NOTIFICATIONS -->
<SimpleNotification broadcast="true" message="Welcome, Commander. Please report at Station A.">
@@ -443,15 +505,18 @@
</events>
</SimpleNotification>
+ <!-- HACK: Somehow only fires a second time if the (notification,event) pairs are separate! WTF -->
+ <?lua
+ for k = 1, waves, 1 do
+ ?>
<SimpleNotification broadcast="true" message="An enemy wave is approaching the shuttle!">
<events>
<trigger>
- <EventListener event="wave1" />
- <EventListener event="wave2" />
- <EventListener event="wave3" />
+ <EventListener event="wave<?lua print(k) ?>" />
</trigger>
</events>
</SimpleNotification>
+ <?lua end ?>
<SimpleNotification broadcast="true" message="yippie ki yay motherf*cker!">
<events>
@@ -467,8 +532,50 @@
<events>
<trigger>
<EventListener event="waveClear1" />
+ </trigger>
+ </events>
+ </SimpleNotification>
+
+ <SimpleNotification broadcast="true" message="But it's not over yet! Get to Station C and dock!">
+ <events>
+ <trigger>
+ <EventTrigger stayactive="true" delay=4 >
+ <events>
+ <trigger>
+ <EventListener event="waveClear1" />
+ </trigger>
+ </events>
+ </EventTrigger>
+ </trigger>
+ </events>
+ </SimpleNotification>
+
+ <SimpleNotification broadcast="true" message="This is our powerful reinforced cannon suit.">
+ <events>
+ <trigger>
+ <EventListener event="dockedC" />
+ </trigger>
+ </events>
+ </SimpleNotification>
+
+ <SimpleNotification broadcast="true" message="It should deal with those pesky invaders!">
+ <events>
+ <trigger>
+ <EventTrigger stayactive="true" delay=4 >
+ <events>
+ <trigger>
+ <EventListener event="dockedC" />
+ </trigger>
+ </events>
+ </EventTrigger>
+ </trigger>
+ </events>
+ </SimpleNotification>
+
+ <SimpleNotification broadcast="true" message="Brilliant work, Commander! now undock again.">
+ <events>
+ <trigger>
<EventListener event="waveClear2" />
- <EventListener event="waveClear3" />
</trigger>
</events>
</SimpleNotification>
@@ -583,11 +690,25 @@
<execute>
<EventListener event="dockC" />
</execute>
- <undocking>
- <EventListener event="undockC" />
- </undocking>
+ <active>
+ <EventListener event="reachedC" />
+ </active>
</events>
<attached>
+ <!--HACK: We use another dock to undock back to the ship since undocking is not implemented... -->
+ <Dock position="0,0,0" active=true>
+ <effects>
+ <DockToShip target="newSpaceShip" />
+ </effects>
+ <events>
+ <execute>
+ <EventListener event="undockC" />
+ </execute>
+ <active>
+ <EventListener event="reachedC" />
+ </active>
+ </events>
+ </Dock>
<DistanceTrigger position="0,0,0" distance="200" target="SpaceShip" beaconMode="exclude" targetname="NPC" name="dockC" />
<Billboard position="0,0,0" amplitude=1 material="Flares/lensflare" colour="1,0,0.05" />
</attached>
@@ -746,14 +867,15 @@
<!-- Enemies. Outer loop defines waves, inner loop defines enemies in every wave. -->
<?lua
+ enemies = enemiesInit
for k = 1, waves, 1
do
?>
<?lua
for i = 1, enemies, 1
do
- x = math.cos(math.pi/(enemies + 3)*(i+1))*1500
- y = math.sin(math.pi/(enemies + 3)*(i+1))*1500
+ x = math.cos(math.pi/(2*enemies - 2)*(i+k))*1500
+ y = math.sin(math.pi/(2*enemies - 2)*(i+k))*1500
?>
<SpaceShip visible=false active=false name="attackers<?lua print(k)?>" radarname="Attacker" position="<?lua print(y)?>,<?lua print(math.pow(-1,i)*250) ?>,<?lua print(x)?>" lookat="0,0,0" team=1>
<templates>
@@ -784,7 +906,9 @@
</controller>
</SpaceShip>
<?lua end ?>
- <?lua end ?>
+ <?lua
+ enemies = enemies + enemiesIncrease
+ end ?>
<!-- Transporter, starting Point is near A, end Point near B, the circle parameters for the waypoints are: Center = (0, -887, 0), r = 2613 -->
<SpaceShip position="<?lua printC(cA) ?>" lookat="<?lua printC(cB) ?>" team=0 name="transporter" radarname="Shuttle">
More information about the Orxonox-commit
mailing list