share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua
author Periklis Ntanasis <pntanasis@gmail.com>
Sat, 03 Aug 2013 04:02:43 +0300
branchspacecampaign
changeset 9461 0058a9863724
parent 9459 8c653c0dd332
child 9463 653af9cec589
permissions -rw-r--r--
dialogs and events for hero lose
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    16
-- dialogs
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    17
local dialog01 = {}
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    18
-- mission objectives
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    19
local goals = {
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
    20
	[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
    21
}
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    22
-- hogs
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    23
local hero = {}
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    24
local ally = {}
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    25
-- teams
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    26
local teamA = {}
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    27
local teamB = {}
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    28
-- hedgehogs values
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    29
hero.name = "Hog Solo"
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    30
hero.x = 750
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    31
hero.y = 130
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    32
hero.dead = false
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    33
ally.name = "Paul McHoggy"
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    34
ally.x = 860
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    35
ally.y = 130
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    36
teamA.name = loc("Hog Solo")
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    37
teamA.color = tonumber("38D61C",16) -- green
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    38
teamB.name = loc("Allies")
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    39
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
    40
-- way points
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    41
local current waypoint = 1
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    42
local waypoints = { 
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    43
	[1] = {x=1450, y=140},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    44
	[2] = {x=990, y=580},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    45
	[3] = {x=1650, y=950},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    46
	[4] = {x=620, y=630},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    47
	[5] = {x=1470, y=540},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    48
	[6] = {x=1960, y=60},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    49
	[7] = {x=1600, y=400},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    50
	[8] = {x=240, y=940},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    51
	[9] = {x=200, y=530},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    52
	[10] = {x=1180, y=120},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    53
	[11] = {x=1950, y=660},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    54
	[12] = {x=1280, y=980},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    55
	[13] = {x=590, y=1100},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    56
	[14] = {x=20, y=620},
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    57
	[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
    58
}
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    59
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    60
-------------- LuaAPI EVENT HANDLERS ------------------
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    61
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    62
function onGameInit()
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
    63
	GameFlags = gfInvulnerable
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    64
	Seed = 1
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    65
	TurnTime = 15000
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    66
	CaseFreq = 0
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    67
	MinesNum = 0
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    68
	MinesTime = 1
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    69
	Explosives = 0
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    70
	Map = "ice02_map"
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    71
	Theme = "Snow"
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    72
	
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    73
	-- Hog Solo
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    74
	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
    75
	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
    76
	AnimSetGearPosition(hero.gear, hero.x, hero.y)
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    77
	-- Ally
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    78
	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
    79
	ally.gear = AddHog(ally.name, 0, 100, "tophats")
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    80
	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
    81
	HogTurnLeft(ally.gear, true)
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    82
	
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    83
	AnimInit()
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
    84
	AnimationSetup()	
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    85
end
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
    86
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    87
function onGameStart()
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    88
	AnimWait(hero.gear, 3000)
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    89
	FollowGear(hero.gear)
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    90
	
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
    91
	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
    92
	
9459
8c653c0dd332 making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9457
diff changeset
    93
	AddAmmo(hero.gear, amJetpack, 2)
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    94
	
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    95
	-- place a waypoint
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
    96
	placeNextWaypoint()
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    97
	
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    98
	SendHealthStatsOff()
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
    99
	AddAnim(dialog01)
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   100
end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   101
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   102
function onNewTurn()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   103
	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
   104
		heroLost()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   105
	end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   106
end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   107
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   108
function onGameTick()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   109
	AnimUnWait()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   110
	if ShowAnimation() == false then
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   111
		return
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   112
	end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   113
	ExecuteAfterAnimations()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   114
	CheckEvents()
9455
4bf3fac0e49d added iceplanet sidequest map and stub lua
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   115
end
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   116
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   117
function onGameTick20()
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   118
	if checkIfHeroInWaypoint() then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   119
		if not placeNextWaypoint() then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   120
			-- GAME OVER, WIN!
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   121
			EndGame()
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   122
		end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   123
	end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   124
end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   125
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   126
function onGearDelete(gear)
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   127
	if gear == hero.gear then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   128
		hero.dead = true
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   129
	end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   130
end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   131
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   132
function onPrecise()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   133
	if GameTime > 3000 then
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   134
		SetAnimSkip(true)   
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   135
	end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   136
end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   137
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   138
-------------- EVENTS ------------------
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   139
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   140
function onHeroDeath(gear)
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   141
	if hero.dead then
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   142
		return true
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   143
	end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   144
	return false
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   145
end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   146
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   147
-------------- OUTCOMES ------------------
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   148
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   149
function heroDeath(gear)
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   150
	heroLost()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   151
end
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
-------------- ANIMATIONS ------------------
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   154
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   155
function Skipanim(anim)
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   156
	if goals[anim] ~= nil then
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   157
		ShowMission(unpack(goals[anim]))
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
    startFlying()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   160
end
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 AnimationSetup()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   163
	-- DIALOG 01 - Start, some story telling
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   164
	AddSkipFunction(dialog01, Skipanim, {dialog01})
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   165
	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
   166
	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
   167
	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
   168
	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
   169
	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
   170
	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
   171
	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
   172
	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
   173
	table.insert(dialog01, {func = startFlying, args = {hero.gear}})	
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   174
end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   175
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   176
------------------ Other Functions -------------------
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   177
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   178
function startFlying()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   179
	AnimSwitchHog(ally.gear)
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   180
	TurnTimeLeft = 0
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   181
	challengeStarted = true
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   182
end
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   183
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   184
function placeNextWaypoint()
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   185
	if currentWaypoint > 1 then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   186
		local wp = waypoints[currentWaypoint-1]
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   187
		DeleteVisualGear(wp.gear)
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   188
	end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   189
	if currentWaypoint < 16 then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   190
		local wp = waypoints[currentWaypoint]
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   191
		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
   192
		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
   193
		-- add bonus time and "fuel"
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   194
		if currentWaypoint % 2 == 0 then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   195
			AddAmmo(hero.gear, amJetpack, GetAmmoCount(hero.gear, amJetpack)+1)
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   196
			if TurnTimeLeft <= 20000 then
9459
8c653c0dd332 making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9457
diff changeset
   197
				TurnTimeLeft = TurnTimeLeft + 8000
8c653c0dd332 making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9457
diff changeset
   198
			end		
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   199
		else
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   200
			if TurnTimeLeft <= 14000 then
9459
8c653c0dd332 making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9457
diff changeset
   201
				TurnTimeLeft = TurnTimeLeft + 6000
8c653c0dd332 making it a little bit more difficult
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9457
diff changeset
   202
			end
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   203
		end	
9457
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   204
		radius = radius - 4
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   205
		currentWaypoint = currentWaypoint + 1
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   206
		return true
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   207
	end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   208
	return false
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   209
end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   210
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   211
function checkIfHeroInWaypoint()
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   212
	if not hero.dead then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   213
		local wp = waypoints[currentWaypoint-1]
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   214
		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
   215
		if distance <= radius+4 then
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   216
			SetWind(math.random(-100,100))
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   217
			return true
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   218
		end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   219
	end
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   220
	return false
934f4d8370f1 finally most of the mission mechanics seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9455
diff changeset
   221
end
9461
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   222
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   223
function heroLost()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   224
	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
   225
	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
   226
	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
   227
	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
   228
	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
   229
	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
   230
	SendStat('siPlayerKills','0',teamA.name)
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   231
	EndGame()
0058a9863724 dialogs and events for hero lose
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9459
diff changeset
   232
end