share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua
author Wuzzy <Wuzzy2@mail.ru>
Wed, 08 Aug 2018 15:22:34 +0200
changeset 13643 690cc84e9fd6
parent 13583 141cdfe0f3ca
child 13664 85506d95977d
permissions -rw-r--r--
Use capcolDefault in Lua scripts
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 = {
12577
e2b5c6e805e8 A Space Adventure: Remove or shorten intro sequences of side missions
Wuzzy <almikes@aol.com>
parents: 12575
diff changeset
    21
	["init"] = {missionName, loc("Challenge objectives"), challengeObjectives, 1, 30000},
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"),
13583
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
    32
	color = -6
9605
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
}
12564
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
    56
local targetsDead = {}
12563
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
    57
local flameCounter = 0
9605
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
-------------- 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
    60
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    61
function onGameInit()
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    62
	GameFlags = gfOneClanMode
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    63
	Seed = 1
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    64
	TurnTime = -1
12577
e2b5c6e805e8 A Space Adventure: Remove or shorten intro sequences of side missions
Wuzzy <almikes@aol.com>
parents: 12575
diff changeset
    65
	Ready = 30000
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    66
	CaseFreq = 0
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    67
	MinesNum = 0
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    68
	MinesTime = 1
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    69
	Explosives = 0
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    70
	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
    71
	Theme = "Desert"
12468
d652c6f5d5f1 Disable Sudden Death for a couple of ASA missions
Wuzzy <almikes@aol.com>
parents: 12426
diff changeset
    72
	-- Disable SuddenDeath
d652c6f5d5f1 Disable Sudden Death for a couple of ASA missions
Wuzzy <almikes@aol.com>
parents: 12426
diff changeset
    73
	WaterRise = 0
d652c6f5d5f1 Disable Sudden Death for a couple of ASA missions
Wuzzy <almikes@aol.com>
parents: 12426
diff changeset
    74
	HealthDecrease = 0
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    75
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    76
	-- Hog Solo
12587
0b27d8b4f8e7 Use Default voice in A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 12586
diff changeset
    77
	AddTeam(teamA.name, teamA.color, "Simple", "Island", "Default", "hedgewars")
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    78
	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
    79
	AnimSetGearPosition(hero.gear, hero.x, hero.y)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    80
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    81
	initCheckpoint("desert03")
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    82
12577
e2b5c6e805e8 A Space Adventure: Remove or shorten intro sequences of side missions
Wuzzy <almikes@aol.com>
parents: 12575
diff changeset
    83
	AnimInit()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    84
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    85
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    86
function onGameStart()
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    87
	FollowGear(hero.gear)
12575
0c5ce463949b ASA: Improve displaying of mission panels all over the place
Wuzzy <almikes@aol.com>
parents: 12564
diff changeset
    88
	ShowMission(unpack(goals["init"]))
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    89
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    90
	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
    91
	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
    92
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    93
	-- original crates and targets
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
    94
	SpawnSupplyCrate(rcCrates[1].x, rcCrates[1].y, amRCPlane)
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    95
	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
    96
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    97
	-- hero ammo
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    98
	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
    99
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   100
	SendHealthStatsOff()
9608
e2d4c2198e55 added captions with rules and objectives
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9606
diff changeset
   101
	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
   102
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   103
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   104
function onGameTick()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   105
	AnimUnWait()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   106
	if ShowAnimation() == false then
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   107
		return
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   108
	end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   109
	ExecuteAfterAnimations()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   110
	CheckEvents()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   111
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   112
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   113
function onGameTick20()
9610
fabff82cf0b8 win stats
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9608
diff changeset
   114
	checkTargetsDestroyed()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   115
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   116
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   117
function onAmmoStoreInit()
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   118
	SetAmmo(amNothing, 0, 0, 0, 0)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   119
	SetAmmo(amRCPlane, 0, 0, 0, 1)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   120
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   121
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   122
function onPrecise()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   123
	if GameTime > 3000 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   124
		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
   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
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   127
12563
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   128
function onGearAdd(gear)
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   129
	if GetGearType(gear) == gtFlame then
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   130
		flameCounter = flameCounter + 1
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   131
	end
12575
0c5ce463949b ASA: Improve displaying of mission panels all over the place
Wuzzy <almikes@aol.com>
parents: 12564
diff changeset
   132
	if GetGearType(gear) == gtRCPlane then
0c5ce463949b ASA: Improve displaying of mission panels all over the place
Wuzzy <almikes@aol.com>
parents: 12564
diff changeset
   133
		HideMission()
0c5ce463949b ASA: Improve displaying of mission panels all over the place
Wuzzy <almikes@aol.com>
parents: 12564
diff changeset
   134
	end
12563
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   135
end
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   136
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   137
function onGearDelete(gear)
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   138
	if GetGearType(gear) == gtFlame then
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   139
		flameCounter = flameCounter - 1
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   140
	end
12564
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   141
	for t=1, #targets do
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   142
		if gear == targets[t].gear then
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   143
			targetsDead[t] = true
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   144
			break
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   145
		end
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   146
	end
12563
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   147
end
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   148
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   149
-------------- EVENTS ------------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   150
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   151
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
   152
	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
   153
		return true
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   154
	end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   155
	return false
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   156
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   157
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   158
function onLose(gear)
12563
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   159
	if GetHealth(hero.gear) and currentTarget < 4 and GetAmmoCount(hero.gear, amRCPlane) == 0 and flameCounter <= 0 then
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   160
		return true
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   161
	end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   162
	return false
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   163
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   164
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   165
-------------- ACTIONS ------------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   166
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   167
function heroDeath(gear)
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   168
	gameOver()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   169
end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   170
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   171
function lose(gear)
13643
690cc84e9fd6 Use capcolDefault in Lua scripts
Wuzzy <Wuzzy2@mail.ru>
parents: 13583
diff changeset
   172
	AddCaption(loc("Out of ammo!"), capcolDefault, capgrpMessage2)
12563
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   173
	PlaySound(sndStupid, hero.gear)
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   174
	gameOver()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   175
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   176
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   177
----------------- Other Functions -----------------
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   178
9610
fabff82cf0b8 win stats
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9608
diff changeset
   179
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
   180
	if currentTarget == 1 then
12564
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   181
		if targetsDead[1] then
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   182
			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
   183
			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
   184
			currentTarget = 2
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   185
			setTargets(currentTarget)
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   186
		end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   187
	elseif currentTarget == 2 then
12564
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   188
		if targetsDead[2] and targetsDead[3] then
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   189
			AddCaption(loc("Level 2 clear!"))
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   190
			SetGearPosition(hero.gear, 1110, 580)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   191
			currentTarget = 3
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   192
			setTargets(currentTarget)
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   193
		end
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   194
	elseif currentTarget == 3 then
12564
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   195
		local allDead = true
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   196
		for t=3, #targets do
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   197
			if targetsDead[t] ~= true then
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   198
				allDead = false
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   199
			end
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   200
		end
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   201
		if allDead then
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   202
			currentTarget = 4
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   203
			win()
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   204
		end
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   205
	end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   206
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   207
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   208
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
   209
	if ct == 2 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   210
		SpawnSupplyCrate(rcCrates[2].x, rcCrates[2].y, amRCPlane)
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   211
		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
   212
			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
   213
		end
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   214
	elseif ct == 3 then
12563
8a9919381629 ASA, desert03: Change box appearance, don't lose as long there are still flames in game
Wuzzy <almikes@aol.com>
parents: 12539
diff changeset
   215
		SpawnUtilityCrate(rcCrates[4].x, rcCrates[4].y, amNothing)
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   216
		SpawnSupplyCrate(rcCrates[3].x, rcCrates[3].y, amRCPlane, 2)
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   217
		for i=4,13 do
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   218
			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
   219
		end
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   220
	end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   221
end
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   222
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   223
function win()
12564
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   224
	AddCaption(loc("Victory!"))
6a8c90a53249 ASA,desert03: Fix no victory after destroying all targets
Wuzzy <almikes@aol.com>
parents: 12563
diff changeset
   225
	PlaySound(sndVictory, hero.gear)
9630
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9610
diff changeset
   226
	saveBonus(1, 1)
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9631
diff changeset
   227
	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
   228
	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
   229
	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
   230
	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
   231
	sendSimpleTeamRankings({teamA.name})
11952
63988f36debf Save mission success for A Space Adventure missions
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   232
	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
   233
	checkAllMissionsCompleted()
9605
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   234
	EndGame()
66cd14e5bdad part of desert03 side mission - map not finished yet, will be commited later
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   235
end
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   236
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   237
function gameOver()
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9631
diff changeset
   238
	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
   239
	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
   240
	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
   241
	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
   242
	sendSimpleTeamRankings({teamA.name})
9606
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   243
	EndGame()
1d088cc31ff8 mission mechanioncs seems ok
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9605
diff changeset
   244
end