share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua
author Wuzzy <almikes@aol.com>
Tue, 26 Sep 2017 19:13:26 +0200
changeset 12539 19192a3cb674
parent 12538 952afc3d2df2
child 12563 8a9919381629
permissions -rw-r--r--
Use correct kill counts for the remaining ASA missions as well
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     1
------------------- ABOUT ----------------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     2
--
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     3
-- Hero has to use the rc plane end perform some
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     4
-- flying tasks
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     5
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     6
HedgewarsScriptLoad("/Scripts/Locale.lua")
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     7
HedgewarsScriptLoad("/Scripts/Animate.lua")
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     8
HedgewarsScriptLoad("/Missions/Campaign/A_Space_Adventure/global_functions.lua")
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     9
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    10
-- globals
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    11
local missionName = loc("Precise flying")
12426
9f3387907e06 Fix even more bad/broken loc()'s in scripts (hopefully the last one)
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
    12
local challengeObjectives = loc("Use the RC plane and destroy the all the targets.").."|"..
9f3387907e06 Fix even more bad/broken loc()'s in scripts (hopefully the last one)
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
    13
	loc("Each time you destroy all the targets on your current level you'll get teleported to the next level.").."|"..
9f3387907e06 Fix even more bad/broken loc()'s in scripts (hopefully the last one)
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
    14
	loc("You'll have only one RC plane at the start of the mission.").."|"..
9f3387907e06 Fix even more bad/broken loc()'s in scripts (hopefully the last one)
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
    15
	loc("During the game you can get new RC planes by collecting the weapon crates.")
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    16
local currentTarget = 1
9608
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
    17
-- dialogs
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
    18
local dialog01 = {}
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
    19
-- mission objectives
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
    20
local goals = {
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
    21
	[dialog01] = {missionName, loc("Challenge objectives"), challengeObjectives, 1, 4500},
9608
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
    22
}
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    23
-- hogs
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    24
local hero = {
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    25
	name = loc("Hog Solo"),
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    26
	x = 100,
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    27
	y = 170
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    28
}
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    29
-- teams
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    30
local teamA = {
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    31
	name = loc("Hog Solo"),
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    32
	color = tonumber("38D61C",16) -- green
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    33
}
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    34
-- creates & targets
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    35
local rcCrates = {
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    36
	{ x = 1680, y = 240},
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    37
	{ x = 2810, y = 720},
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    38
	{ x = 2440, y = 660},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    39
	{ x = 256, y = 1090},
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    40
}
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    41
local targets = {
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    42
	{ x = 2070, y = 410},
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    43
	{ x = 3880, y = 1430},
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    44
	{ x = 4000, y = 1430},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    45
	{ x = 2190, y = 1160},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    46
	{ x = 2190, y = 1460},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    47
	{ x = 2110, y = 1700},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    48
	{ x = 2260, y = 1700},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    49
	{ x = 2085, y = 1330},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    50
	{ x = 156, y = 1400},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    51
	{ x = 324, y = 1400},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    52
	{ x = 660, y = 1310},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    53
	{ x = 1200, y = 1310},
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    54
	{ x = 1700, y = 1310},
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    55
}
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    56
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    57
-------------- LuaAPI EVENT HANDLERS ------------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    58
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    59
function onGameInit()
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    60
	GameFlags = gfOneClanMode
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    61
	Seed = 1
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    62
	TurnTime = -1
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    63
	CaseFreq = 0
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    64
	MinesNum = 0
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    65
	MinesTime = 1
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    66
	Explosives = 0
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    67
	Map = "desert03_map"
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    68
	Theme = "Desert"
12468
d652c6f5d5f1 Disable Sudden Death for a couple of ASA missions
Wuzzy <almikes@aol.com>
parents: 12426
diff changeset
    69
	-- Disable SuddenDeath
d652c6f5d5f1 Disable Sudden Death for a couple of ASA missions
Wuzzy <almikes@aol.com>
parents: 12426
diff changeset
    70
	WaterRise = 0
d652c6f5d5f1 Disable Sudden Death for a couple of ASA missions
Wuzzy <almikes@aol.com>
parents: 12426
diff changeset
    71
	HealthDecrease = 0
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    72
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    73
	-- Hog Solo
12049
030464f34d47 Tweak flags used in all missions to fit more to the theme
Wuzzy <almikes@aol.com>
parents: 11965
diff changeset
    74
	AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "hedgewars")
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    75
	hero.gear = AddHog(hero.name, 0, 1, "war_desertgrenadier1")
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    76
	AnimSetGearPosition(hero.gear, hero.x, hero.y)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    77
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    78
	initCheckpoint("desert03")
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    79
12088
1da37e2ba6fd Fix A Space Adventure Missions allowing player to walk before 1st animation and screw things up
Wuzzy <almikes@aol.com>
parents: 12049
diff changeset
    80
	AnimInit(true)
9608
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
    81
	AnimationSetup()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    82
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    83
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    84
function onGameStart()
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    85
	AnimWait(hero.gear, 3000)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    86
	FollowGear(hero.gear)
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
    87
	ShowMission(missionName, loc("Challenge objectives"), challengeObjectives, -amSkip, 0)
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    88
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    89
	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    90
	AddEvent(onLose, {hero.gear}, lose, {hero.gear}, 0)
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    91
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    92
	-- original crates and targets
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    93
	SpawnAmmoCrate(rcCrates[1].x, rcCrates[1].y, amRCPlane)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    94
	targets[1].gear = AddGear(targets[1].x, targets[1].y, gtTarget, 0, 0, 0, 0)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    95
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    96
	-- hero ammo
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    97
	AddAmmo(hero.gear, amRCPlane, 1)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    98
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    99
	SendHealthStatsOff()
9608
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   100
	AddAnim(dialog01)
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   101
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   102
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   103
function onGameTick()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   104
	AnimUnWait()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   105
	if ShowAnimation() == false then
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   106
		return
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   107
	end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   108
	ExecuteAfterAnimations()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   109
	CheckEvents()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   110
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   111
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   112
function onGameTick20()
9610
fabff82cf0b8 win stats
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9608
diff changeset
   113
	checkTargetsDestroyed()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   114
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   115
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   116
function onAmmoStoreInit()
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   117
	SetAmmo(amNothing, 0, 0, 0, 0)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   118
	SetAmmo(amRCPlane, 0, 0, 0, 1)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   119
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   120
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   121
function onPrecise()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   122
	if GameTime > 3000 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   123
		SetAnimSkip(true)
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   124
	end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   125
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   126
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   127
-------------- EVENTS ------------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   128
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   129
function onHeroDeath(gear)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   130
	if not GetHealth(hero.gear) then
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   131
		return true
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   132
	end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   133
	return false
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   134
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   135
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   136
function onLose(gear)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   137
	if GetHealth(hero.gear) and currentTarget < 4 and GetAmmoCount(hero.gear, amRCPlane) == 0 then
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   138
		return true
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   139
	end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   140
	return false
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   141
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   142
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   143
-------------- ACTIONS ------------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   144
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   145
function heroDeath(gear)
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   146
	gameOver()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   147
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   148
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   149
function lose(gear)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   150
	gameOver()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   151
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   152
9608
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   153
-------------- ANIMATIONS ------------------
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   154
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   155
function Skipanim(anim)
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   156
	if goals[anim] ~= nil then
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   157
		ShowMission(unpack(goals[anim]))
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   158
    end
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   159
end
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   160
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   161
function AnimationSetup()
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   162
	-- DIALOG 01 - Start, game instructions
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   163
	AddSkipFunction(dialog01, Skipanim, {dialog01})
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   164
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 3000}})
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   165
	table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("On the Desert Planet, Hog Solo found some time to play with his RC plane"), 3000}})
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   166
	table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("Each time you destroy all the targets on your current level you'll get teleported to the next level"), 5000}})
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   167
	table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("You'll have only one RC plane at the start of the mission"), 5000}})
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   168
	table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("During the game you can get new RC planes by collecting the weapon crates"), 5000}})
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   169
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 500}})
9608
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   170
end
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   171
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   172
----------------- Other Functions -----------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   173
9610
fabff82cf0b8 win stats
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9608
diff changeset
   174
function checkTargetsDestroyed()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   175
	if currentTarget == 1 then
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   176
		if not GetHealth(targets[1].gear) then
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   177
			AddCaption(loc("Level 1 clear!"))
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   178
			SetGearPosition(hero.gear, 3590, 90)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   179
			currentTarget = 2
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   180
			setTargets(currentTarget)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   181
		end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   182
	elseif currentTarget == 2 then
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   183
		if not (GetHealth(targets[2].gear) or GetHealth(targets[3].gear))  then
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   184
			AddCaption(loc("Level 2 clear!"))
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   185
			SetGearPosition(hero.gear, 1110, 580)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   186
			currentTarget = 3
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   187
			setTargets(currentTarget)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   188
		end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   189
	elseif currentTarget == 3 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   190
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   191
	else
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   192
		win()
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   193
	end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   194
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   195
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   196
function setTargets(ct)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   197
	if ct == 2 then
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   198
		SpawnAmmoCrate(rcCrates[2].x, rcCrates[2].y, amRCPlane)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   199
		for i=2,3 do
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   200
			targets[i].gear = AddGear(targets[i].x, targets[i].y, gtTarget, 0, 0, 0, 0)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   201
		end
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   202
	elseif ct == 3 then
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   203
		SpawnAmmoCrate(rcCrates[3].x, rcCrates[3].y, amRCPlane)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   204
		SpawnAmmoCrate(rcCrates[3].x, rcCrates[3].y, amRCPlane)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   205
		SpawnAmmoCrate(rcCrates[4].x, rcCrates[4].y, amNothing)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   206
		for i=4,13 do
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   207
			targets[i].gear = AddGear(targets[i].x, targets[i].y, gtTarget, 0, 0, 0, 0)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   208
		end
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   209
	end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   210
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   211
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   212
function win()
9630
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9610
diff changeset
   213
	saveBonus(1, 1)
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9631
diff changeset
   214
	SendStat(siGameResult, loc("Congratulations, you are the best!"))
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   215
	SendStat(siCustomAchievement, loc("You have destroyed all the targets."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   216
	SendStat(siCustomAchievement, loc("You are indeed the best PAotH pilot."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   217
	SendStat(siCustomAchievement, loc("Next time you play \"Searching in the dust\" you'll have an RC plane available."))
12539
19192a3cb674 Use correct kill counts for the remaining ASA missions as well
Wuzzy <almikes@aol.com>
parents: 12538
diff changeset
   218
	sendSimpleTeamRankings({teamA.name})
11952
63988f36debf Save mission success for A Space Adventure missions
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   219
	SaveCampaignVar("Mission12Won", "true")
11965
72be38f6d0c0 Complete space campaign's spacetrip mission if all main+side missions are completed
Wuzzy <almikes@aol.com>
parents: 11952
diff changeset
   220
	checkAllMissionsCompleted()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   221
	EndGame()
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   222
end
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   223
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   224
function gameOver()
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9631
diff changeset
   225
	SendStat(siGameResult, loc("Hog Solo lost, try again!"))
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   226
	SendStat(siCustomAchievement, loc("You have to destroy all the targets."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   227
	SendStat(siCustomAchievement, loc("You will fail if you run out of ammo and there are still targets available."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   228
	SendStat(siCustomAchievement, loc("Read the challenge objectives from within the mission for more details."))
12539
19192a3cb674 Use correct kill counts for the remaining ASA missions as well
Wuzzy <almikes@aol.com>
parents: 12538
diff changeset
   229
	sendSimpleTeamRankings({teamA.name})
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   230
	EndGame()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   231
end