share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert02.lua
author Wuzzy <almikes@aol.com>
Tue, 11 Apr 2017 03:44:56 +0200
changeset 12226 3ec0261e01f0
parent 12088 1da37e2ba6fd
child 12227 5afbffc6725d
permissions -rw-r--r--
Display mines timer in all missions with non-default timer
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     1
------------------- ABOUT ----------------------
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     2
--
9471
867f020b0621 seems ok, stats to be added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9469
diff changeset
     3
-- Hero has to get to the surface as soon as possible.
867f020b0621 seems ok, stats to be added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9469
diff changeset
     4
-- Tunnel is about to get flooded.
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     5
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     6
HedgewarsScriptLoad("/Scripts/Locale.lua")
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     7
HedgewarsScriptLoad("/Scripts/Animate.lua")
9582
bf314b2258b3 less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9574
diff changeset
     8
HedgewarsScriptLoad("/Missions/Campaign/A_Space_Adventure/global_functions.lua")
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     9
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    10
----------------- VARIABLES --------------------
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    11
-- globals
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    12
local missionName = loc("Running for survival")
9474
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9471
diff changeset
    13
local startChallenge = false
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    14
-- dialogs
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    15
local dialog01 = {}
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    16
-- mission objectives
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    17
local goals = {
12226
3ec0261e01f0 Display mines timer in all missions with non-default timer
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
    18
	[dialog01] = {missionName, loc("Getting ready"), loc("Use the rope to quickly get to the surface!" .. "|" .. loc("Mines time: 1 second")), 1, 4500},
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    19
}
9490
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    20
-- health crates
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    21
healthX = 565
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    22
health1Y = 1400
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    23
health2Y = 850
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    24
-- hogs
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    25
local hero = {}
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    26
-- teams
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    27
local teamA = {}
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    28
-- hedgehogs values
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    29
hero.name = loc("Hog Solo")
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    30
hero.x = 1600
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    31
hero.y = 1950
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    32
hero.dead = false
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    33
teamA.name = loc("Hog Solo")
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    34
teamA.color = tonumber("38D61C",16) -- green
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    35
-- way points
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    36
local current waypoint = 1
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    37
local waypoints = {
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    38
	[1] = {x=1450, y=140},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    39
	[2] = {x=990, y=580},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    40
	[3] = {x=1650, y=950},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    41
	[4] = {x=620, y=630},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    42
	[5] = {x=1470, y=540},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    43
	[6] = {x=1960, y=60},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    44
	[7] = {x=1600, y=400},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    45
	[8] = {x=240, y=940},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    46
	[9] = {x=200, y=530},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    47
	[10] = {x=1180, y=120},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    48
	[11] = {x=1950, y=660},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    49
	[12] = {x=1280, y=980},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    50
	[13] = {x=590, y=1100},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    51
	[14] = {x=20, y=620},
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    52
	[15] = {x=hero.x, y=hero.y}
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    53
}
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    54
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    55
-------------- LuaAPI EVENT HANDLERS ------------------
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    56
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    57
function onGameInit()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    58
	GameFlags = gfOneClanMode
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    59
	Seed = 1
9474
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9471
diff changeset
    60
	TurnTime = 8000
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    61
	Delay = 2
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    62
	CaseFreq = 0
9490
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    63
	HealthCaseAmount = 50
9471
867f020b0621 seems ok, stats to be added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9469
diff changeset
    64
	MinesNum = 500
867f020b0621 seems ok, stats to be added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9469
diff changeset
    65
	MinesTime = 1000
867f020b0621 seems ok, stats to be added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9469
diff changeset
    66
	MineDudPercent = 75
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    67
	Explosives = 0
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    68
	SuddenDeathTurns = 1
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    69
	WaterRise = 150
9490
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    70
	HealthDecrease = 0
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    71
	Map = "desert02_map"
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    72
	Theme = "Desert"
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    73
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    74
	-- Hog Solo
12049
030464f34d47 Tweak flags used in all missions to fit more to the theme
Wuzzy <almikes@aol.com>
parents: 11977
diff changeset
    75
	AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "hedgewars")
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    76
	hero.gear = AddHog(hero.name, 0, 100, "war_desertgrenadier1")
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    77
	AnimSetGearPosition(hero.gear, hero.x, hero.y)
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    78
	HogTurnLeft(hero.gear, true)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    79
9582
bf314b2258b3 less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9574
diff changeset
    80
	initCheckpoint("desert02")
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    81
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
    82
	AnimInit(true)
9490
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    83
	AnimationSetup()
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    84
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    85
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    86
function onGameStart()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    87
	AnimWait(hero.gear, 3000)
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    88
	FollowGear(hero.gear)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    89
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    90
	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
9471
867f020b0621 seems ok, stats to be added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9469
diff changeset
    91
	AddEvent(onHeroSafe, {hero.gear}, heroSafe, {hero.gear}, 0)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    92
9490
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    93
	SpawnHealthCrate(healthX, health1Y)
b93448b75fa4 fix bugs and some changes regarting the difficulty in desert02
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9484
diff changeset
    94
	SpawnHealthCrate(healthX, health2Y)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    95
11977
bc7788e8723b Give infinite ropes in Running for survival mission
Wuzzy <almikes@aol.com>
parents: 11965
diff changeset
    96
	AddAmmo(hero.gear, amRope, 100)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
    97
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    98
	SendHealthStatsOff()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    99
	AddAnim(dialog01)
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   100
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   101
9645
da7b4d8c181e autoselect weapon in time challenges
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9642
diff changeset
   102
function onNewTurn()
10289
c3a77ff02a23 lua api: SetWeapon(ammoType)
sheepluva
parents: 9758
diff changeset
   103
	SetWeapon(amRope)
9645
da7b4d8c181e autoselect weapon in time challenges
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9642
diff changeset
   104
end
da7b4d8c181e autoselect weapon in time challenges
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9642
diff changeset
   105
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   106
function onGameTick()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   107
	AnimUnWait()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   108
	if ShowAnimation() == false then
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   109
		return
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   110
	end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   111
	ExecuteAfterAnimations()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   112
	CheckEvents()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   113
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   114
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   115
function onGearDelete(gear)
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   116
	if gear == hero.gear then
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   117
		hero.dead = true
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   118
	end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   119
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   120
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   121
function onPrecise()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   122
	if GameTime > 3000 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9645
diff changeset
   123
		SetAnimSkip(true)
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   124
	end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   125
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   126
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   127
-------------- EVENTS ------------------
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   128
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   129
function onHeroDeath(gear)
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   130
	if hero.dead then
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   131
		return true
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   132
	end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   133
	return false
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   134
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   135
9469
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   136
function onHeroSafe(gear)
9474
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9471
diff changeset
   137
	if not hero.dead and GetY(hero.gear) < 170 and StoppedGear(hero.gear) then
9469
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   138
		return true
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   139
	end
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   140
	return false
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   141
end
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   142
9639
6b2ae2eaf1b2 remove unnecessary comments
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
   143
-------------- ACTIONS ------------------
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   144
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   145
function heroDeath(gear)
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9639
diff changeset
   146
	SendStat(siGameResult, loc("Hog Solo lost, try again!"))
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   147
	SendStat(siCustomAchievement, loc("To win the game you have to go to the surface."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   148
	SendStat(siCustomAchievement, loc("Most mines are not active."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   149
	SendStat(siCustomAchievement, loc("From the second turn and beyond the water rises."))
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9639
diff changeset
   150
	SendStat(siPlayerKills,'0',teamA.name)
9471
867f020b0621 seems ok, stats to be added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9469
diff changeset
   151
	EndGame()
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   152
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   153
9469
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   154
function heroSafe(gear)
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9639
diff changeset
   155
	SendStat(siGameResult, loc("Congratulations, you won!"))
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   156
	SendStat(siCustomAchievement, loc("You have escaped successfully."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   157
	SendStat(siCustomAchievement, string.format(loc("Your escape took you %d turns."), TotalRounds))
11890
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   158
	local record = tonumber(GetCampaignVar("FastestMineEscape"))
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   159
	if record ~= nil and TotalRounds >= record then
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   160
		SendStat(siCustomAchievement, string.format(loc("Your fastest escape so far: %d turns"), record))
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   161
	end
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   162
	if record == nil or TotalRounds < record then
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   163
		SaveCampaignVar("FastestMineEscape", tostring(TotalRounds))
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   164
		if record ~= nil then
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   165
			SendStat(siCustomAchievement, loc("This is a new personal best, congratulations!"))
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   166
		end
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   167
	end
712e20a3d895 Save some records in campaign vars: Hard flying, Running for survival
Wuzzy <almikes@aol.com>
parents: 11692
diff changeset
   168
	SendStat(siPlayerKills,'0',teamA.name)
11952
63988f36debf Save mission success for A Space Adventure missions
Wuzzy <almikes@aol.com>
parents: 11890
diff changeset
   169
	SaveCampaignVar("Mission7Won", "true")
11965
72be38f6d0c0 Complete space campaign's spacetrip mission if all main+side missions are completed
Wuzzy <almikes@aol.com>
parents: 11952
diff changeset
   170
	checkAllMissionsCompleted()
9469
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   171
	EndGame()
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   172
end
6896f9298b80 event for win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9467
diff changeset
   173
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   174
-------------- ANIMATIONS ------------------
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   175
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   176
function Skipanim(anim)
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   177
	if goals[anim] ~= nil then
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   178
		ShowMission(unpack(goals[anim]))
9474
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9471
diff changeset
   179
    end
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9471
diff changeset
   180
	challengeStart()
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   181
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   182
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   183
function AnimationSetup()
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   184
	-- DIALOG 01 - Start
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   185
	AddSkipFunction(dialog01, Skipanim, {dialog01})
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   186
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 3000}})
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   187
	table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("Many meters below the surface ..."), 5000}})
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   188
	table.insert(dialog01, {func = AnimSay, args = {hero.gear, loc("The tunnel is about to get flooded!"), SAY_THINK, 4000}})
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 10289
diff changeset
   189
	table.insert(dialog01, {func = AnimSay, args = {hero.gear, loc("I have to reach the surface as quickly as I can."), SAY_THINK, 4000}})
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   190
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 500}})
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   191
	table.insert(dialog01, {func = challengeStart, args = {hero.gear}})
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   192
end
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   193
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   194
------------------ Other Functions -------------------
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   195
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   196
function challengeStart()
9474
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9471
diff changeset
   197
	startChallenge = true
9467
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   198
	TurnTimeLeft = 0
483a73697535 desert sidwquest map and basic script
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   199
end