author | Periklis Ntanasis <pntanasis@gmail.com> |
Mon, 05 Aug 2013 19:45:55 +0300 | |
branch | spacecampaign |
changeset 9467 | 483a73697535 |
parent 9463 | 653af9cec589 |
child 9574 | da3d39667881 |
permissions | -rw-r--r-- |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
1 |
------------------- ABOUT ---------------------- |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
2 |
-- |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
3 |
-- Hero has to pass as fast as possible inside the |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
4 |
-- rings as in the racer mode |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
5 |
|
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
6 |
HedgewarsScriptLoad("/Scripts/Locale.lua") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
7 |
HedgewarsScriptLoad("/Scripts/Animate.lua") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
8 |
|
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
9 |
----------------- VARIABLES -------------------- |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
10 |
-- globals |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
11 |
local campaignName = loc("A Space Adventure") |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
12 |
local missionName = loc("Ice planet, A Saucer Race!") |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
13 |
local challengeStarted = false |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
14 |
local currentWaypoint = 1 |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
15 |
local radius = 75 |
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
16 |
local totalTime = 15000 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
17 |
local totalSaucers = 3 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
18 |
local gameEnded = false |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
19 |
-- dialogs |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
20 |
local dialog01 = {} |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
21 |
-- mission objectives |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
22 |
local goals = { |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
23 |
[dialog01] = {missionName, loc("Getting ready"), loc("Use your saucer and pass from the rings!"), 1, 4500}, |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
24 |
} |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
25 |
-- hogs |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
26 |
local hero = {} |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
27 |
local ally = {} |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
28 |
-- teams |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
29 |
local teamA = {} |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
30 |
local teamB = {} |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
31 |
-- hedgehogs values |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
32 |
hero.name = "Hog Solo" |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
33 |
hero.x = 750 |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
34 |
hero.y = 130 |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
35 |
hero.dead = false |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
36 |
ally.name = "Paul McHoggy" |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
37 |
ally.x = 860 |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
38 |
ally.y = 130 |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
39 |
teamA.name = loc("Hog Solo") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
40 |
teamA.color = tonumber("38D61C",16) -- green |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
41 |
teamB.name = loc("Allies") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
42 |
teamB.color = tonumber("FF0000",16) -- red |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
43 |
-- way points |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
44 |
local current waypoint = 1 |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
45 |
local waypoints = { |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
46 |
[1] = {x=1450, y=140}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
47 |
[2] = {x=990, y=580}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
48 |
[3] = {x=1650, y=950}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
49 |
[4] = {x=620, y=630}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
50 |
[5] = {x=1470, y=540}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
51 |
[6] = {x=1960, y=60}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
52 |
[7] = {x=1600, y=400}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
53 |
[8] = {x=240, y=940}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
54 |
[9] = {x=200, y=530}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
55 |
[10] = {x=1180, y=120}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
56 |
[11] = {x=1950, y=660}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
57 |
[12] = {x=1280, y=980}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
58 |
[13] = {x=590, y=1100}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
59 |
[14] = {x=20, y=620}, |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
60 |
[15] = {x=hero.x, y=hero.y} |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
61 |
} |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
62 |
|
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
63 |
-------------- LuaAPI EVENT HANDLERS ------------------ |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
64 |
|
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
65 |
function onGameInit() |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
66 |
GameFlags = gfInvulnerable |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
67 |
Seed = 1 |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
68 |
TurnTime = 15000 |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
69 |
CaseFreq = 0 |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
70 |
MinesNum = 0 |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
71 |
MinesTime = 1 |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
72 |
Explosives = 0 |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
73 |
Map = "ice02_map" |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
74 |
Theme = "Snow" |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
75 |
|
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
76 |
-- Hog Solo |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
77 |
AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "cm_birdy") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
78 |
hero.gear = AddHog(hero.name, 0, 100, "war_desertgrenadier1") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
79 |
AnimSetGearPosition(hero.gear, hero.x, hero.y) |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
80 |
-- Ally |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
81 |
AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
82 |
ally.gear = AddHog(ally.name, 0, 100, "tophats") |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
83 |
AnimSetGearPosition(ally.gear, ally.x, ally.y) |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
84 |
HogTurnLeft(ally.gear, true) |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
85 |
|
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
86 |
AnimInit() |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
87 |
AnimationSetup() |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
88 |
end |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
89 |
|
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
90 |
function onGameStart() |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
91 |
AnimWait(hero.gear, 3000) |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
92 |
FollowGear(hero.gear) |
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
93 |
|
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
94 |
AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
95 |
|
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
96 |
AddAmmo(hero.gear, amJetpack, 3) |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
97 |
|
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
98 |
-- place a waypoint |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
99 |
placeNextWaypoint() |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
100 |
|
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
101 |
SendHealthStatsOff() |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
102 |
AddAnim(dialog01) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
103 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
104 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
105 |
function onNewTurn() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
106 |
if not hero.dead and CurrentHedgehog == ally.gear and challengeStarted then |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
107 |
heroLost() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
108 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
109 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
110 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
111 |
function onGameTick() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
112 |
AnimUnWait() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
113 |
if ShowAnimation() == false then |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
114 |
return |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
115 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
116 |
ExecuteAfterAnimations() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
117 |
CheckEvents() |
9455
4bf3fac0e49d
added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
118 |
end |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
119 |
|
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
120 |
function onGameTick20() |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
121 |
if checkIfHeroInWaypoint() then |
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
122 |
if not gameEnded and not placeNextWaypoint() then |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
123 |
gameEnded = true |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
124 |
-- GAME OVER, WIN! |
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
125 |
totalTime = totalTime - TurnTimeLeft |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
126 |
totalTime = totalTime / 1000 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
127 |
local saucersLeft = GetAmmoCount(hero.gear, amJetpack) |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
128 |
local saucersUsed = totalSaucers - saucersLeft |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
129 |
SendStat('siGameResult', loc("Hoo Ray! You are a champion!")) --1 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
130 |
SendStat('siCustomAchievement', loc("You complete the mission in "..totalTime.." seconds")) --11 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
131 |
SendStat('siCustomAchievement', loc("You have used "..saucersUsed.." flying saucers")) --11 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
132 |
SendStat('siCustomAchievement', loc("You had "..saucersLeft.." more flying saucers left")) --11 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
133 |
SendStat('siPlayerKills','1',teamA.name) |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
134 |
EndGame() |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
135 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
136 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
137 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
138 |
|
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
139 |
function onGearDelete(gear) |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
140 |
if gear == hero.gear then |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
141 |
hero.dead = true |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
142 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
143 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
144 |
|
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
145 |
function onPrecise() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
146 |
if GameTime > 3000 then |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
147 |
SetAnimSkip(true) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
148 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
149 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
150 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
151 |
-------------- EVENTS ------------------ |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
152 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
153 |
function onHeroDeath(gear) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
154 |
if hero.dead then |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
155 |
return true |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
156 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
157 |
return false |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
158 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
159 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
160 |
-------------- OUTCOMES ------------------ |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
161 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
162 |
function heroDeath(gear) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
163 |
heroLost() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
164 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
165 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
166 |
-------------- ANIMATIONS ------------------ |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
167 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
168 |
function Skipanim(anim) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
169 |
if goals[anim] ~= nil then |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
170 |
ShowMission(unpack(goals[anim])) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
171 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
172 |
startFlying() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
173 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
174 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
175 |
function AnimationSetup() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
176 |
-- DIALOG 01 - Start, some story telling |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
177 |
AddSkipFunction(dialog01, Skipanim, {dialog01}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
178 |
table.insert(dialog01, {func = AnimWait, args = {hero.gear, 3000}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
179 |
table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("In the ice planet flying saucer stadium..."), 5000}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
180 |
table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("This is the olympic stadium of saucer flying..."), SAY_SAY, 4000}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
181 |
table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("All the saucer pilots dream one day to come here and compete with the best!"), SAY_SAY, 5000}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
182 |
table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("Now you have the chance to try and get the place that you deserve between the best..."), SAY_SAY, 6000}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
183 |
table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("Use the saucer and pass from the rings..."), 5000}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
184 |
table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("... can you do it?"), SAY_SAY, 2000}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
185 |
table.insert(dialog01, {func = AnimWait, args = {hero.gear, 500}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
186 |
table.insert(dialog01, {func = startFlying, args = {hero.gear}}) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
187 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
188 |
|
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
189 |
------------------ Other Functions ------------------- |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
190 |
|
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
191 |
function startFlying() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
192 |
AnimSwitchHog(ally.gear) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
193 |
TurnTimeLeft = 0 |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
194 |
challengeStarted = true |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
195 |
end |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
196 |
|
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
197 |
function placeNextWaypoint() |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
198 |
if currentWaypoint > 1 then |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
199 |
local wp = waypoints[currentWaypoint-1] |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
200 |
DeleteVisualGear(wp.gear) |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
201 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
202 |
if currentWaypoint < 16 then |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
203 |
local wp = waypoints[currentWaypoint] |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
204 |
wp.gear = AddVisualGear(1,1,vgtCircle,1,true) |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
205 |
SetVisualGearValues(wp.gear, wp.x,wp.y, 20, 200, 0, 0, 100, radius, 3, 0xff0000ff) |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
206 |
-- add bonus time and "fuel" |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
207 |
if currentWaypoint % 2 == 0 then |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
208 |
AddAmmo(hero.gear, amJetpack, GetAmmoCount(hero.gear, amJetpack)+1) |
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
209 |
totalSaucers = totalSaucers + 1 |
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
210 |
if TurnTimeLeft <= 22000 then |
9459
8c653c0dd332
making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9457
diff
changeset
|
211 |
TurnTimeLeft = TurnTimeLeft + 8000 |
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
212 |
totalTime = totalTime + 8000 |
9459
8c653c0dd332
making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9457
diff
changeset
|
213 |
end |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
214 |
else |
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
215 |
if TurnTimeLeft <= 16000 then |
9459
8c653c0dd332
making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9457
diff
changeset
|
216 |
TurnTimeLeft = TurnTimeLeft + 6000 |
9463
653af9cec589
stats in case of win
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9461
diff
changeset
|
217 |
totalTime = totalTime + 6000 |
9459
8c653c0dd332
making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9457
diff
changeset
|
218 |
end |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
219 |
end |
9457
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
220 |
radius = radius - 4 |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
221 |
currentWaypoint = currentWaypoint + 1 |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
222 |
return true |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
223 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
224 |
return false |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
225 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
226 |
|
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
227 |
function checkIfHeroInWaypoint() |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
228 |
if not hero.dead then |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
229 |
local wp = waypoints[currentWaypoint-1] |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
230 |
local distance = math.sqrt((GetX(hero.gear)-wp.x)^2 + (GetY(hero.gear)-wp.y)^2) |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
231 |
if distance <= radius+4 then |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
232 |
SetWind(math.random(-100,100)) |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
233 |
return true |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
234 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
235 |
end |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
236 |
return false |
934f4d8370f1
finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9455
diff
changeset
|
237 |
end |
9461
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
238 |
|
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
239 |
function heroLost() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
240 |
SendStat('siGameResult', loc("Oh man! Learn how to fly!")) --1 |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
241 |
SendStat('siCustomAchievement', loc("To win the game you have to pass into the rings in time")) --11 |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
242 |
SendStat('siCustomAchievement', loc("You'll get extra time in case you need it when you pass a ring")) --11 |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
243 |
SendStat('siCustomAchievement', loc("Every 2 rings you'll get extra flying saucers")) --11 |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
244 |
SendStat('siCustomAchievement', loc("Use space button twice to change flying saucer while being on air")) --11 |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
245 |
SendStat('siCustomAchievement', loc("Pause the game to have a look where is the next ring")) --11 |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
246 |
SendStat('siPlayerKills','0',teamA.name) |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
247 |
EndGame() |
0058a9863724
dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9459
diff
changeset
|
248 |
end |