share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua
author Periklis Ntanasis <pntanasis@gmail.com>
Fri, 13 Dec 2013 13:50:14 +0200
changeset 9783 1e6b91080bfc
parent 9782 6c3cad32d4f4
child 9802 00216d609140
permissions -rw-r--r--
changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     1
------------------- ABOUT ----------------------
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     2
--
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     3
-- In the desert planet Hero will have to explore
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     4
-- the dunes below the surface and find the hidden
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     5
-- crates. It is told that one crate contains the
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     6
-- lost part.
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     7
9438
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
     8
-- Idea: game will be successfully end when the 2 lower crates are collected
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
     9
-- it would be more defficult (and sadistic) if one should collect *all* the crates
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    10
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    11
HedgewarsScriptLoad("/Scripts/Locale.lua")
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    12
HedgewarsScriptLoad("/Scripts/Animate.lua")
9578
16139270448f save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9574
diff changeset
    13
HedgewarsScriptLoad("/Missions/Campaign/A_Space_Adventure/global_functions.lua")
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    14
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    15
----------------- VARIABLES --------------------
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    16
-- globals
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    17
local campaignName = loc("A Space Adventure")
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    18
local missionName = loc("Searching in the dust")
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
    19
local heroIsInBattle = false
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
    20
local ongoingBattle = 0
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
    21
local cratesFound = 0
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    22
local checkPointReached = 1 -- 1 is normal spawn
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
    23
-- dialogs
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
    24
local dialog01 = {}
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
    25
-- mission objectives
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
    26
local goals = {
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    27
	[dialog01] = {missionName, loc("Getting ready"), loc("The device part is hidden in one of the crates! Go and get it!"), 1, 4500},
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
    28
}
9416
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    29
-- crates
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    30
local btorch1Y = 60
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    31
local btorch1X = 2700
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
    32
local btorch2Y = 1900
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
    33
local btorch2X = 2150
9424
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
    34
local btorch3Y = 980
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
    35
local btorch3X = 3260
9416
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    36
local rope1Y = 970
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    37
local rope1X = 3200
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    38
local rope2Y = 1900
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    39
local rope2X = 680
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    40
local rope3Y = 1850
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    41
local rope3X = 2460
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    42
local portalY = 480
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
    43
local portalX = 1465
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
    44
local girderY = 1630
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
    45
local girderX = 3350
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
    46
-- win crates
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
    47
local btorch2 = {}
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
    48
local girder = {}
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    49
-- hogs
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    50
local hero = {}
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    51
local ally = {}
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    52
local smuggler1 = {}
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    53
local smuggler2 = {}
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    54
local smuggler3 = {}
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    55
-- teams
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    56
local teamA = {}
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    57
local teamB = {}
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    58
local teamC = {}
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    59
-- hedgehogs values
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    60
hero.name = loc("Hog Solo")
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    61
hero.x = 1740
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    62
hero.y = 40
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    63
hero.dead = false
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    64
ally.name = loc("Chief Sandologist")
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    65
ally.x = 1660
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    66
ally.y = 40
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    67
smuggler1.name = loc("Sandy")
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
    68
smuggler1.x = 400
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    69
smuggler1.y = 235
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    70
smuggler2.name = loc("Spike")
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    71
smuggler2.x = 736
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    72
smuggler2.y = 860
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
    73
smuggler3.name = loc("Sandstorm")
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    74
smuggler3.x = 1940
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    75
smuggler3.y = 1625
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    76
teamA.name = loc("PAotH")
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    77
teamA.color = tonumber("FF0000",16) -- red
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
    78
teamB.name = loc("Smugglers")
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    79
teamB.color = tonumber("0033FF",16) -- blues
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    80
teamC.name = loc("Hog Solo")
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    81
teamC.color = tonumber("38D61C",16) -- green
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    82
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    83
-------------- LuaAPI EVENT HANDLERS ------------------
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    84
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    85
function onGameInit()
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    86
	Seed = 1
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
    87
	TurnTime = 20000
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    88
	CaseFreq = 0
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    89
	MinesNum = 0
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    90
	MinesTime = 1
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    91
	Explosives = 0
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    92
	Delay = 3
9418
6e0831e42e12 added health crate
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9416
diff changeset
    93
	HealthCaseAmount = 30
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    94
	Map = "desert01_map"
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    95
	Theme = "Desert"
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
    96
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
    97
	-- get the check point
9582
bf314b2258b3 less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9578
diff changeset
    98
	checkPointReached = initCheckpoint("desert01")
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
    99
	-- get hero health
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   100
	local heroHealth = 100
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   101
	if checkPointReached > 1 and tonumber(GetCampaignVar("HeroHealth")) then
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   102
		heroHealth = tonumber(GetCampaignVar("HeroHealth"))
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   103
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   104
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   105
	-- Hog Solo
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   106
	AddTeam(teamC.name, teamC.color, "Bone", "Island", "HillBilly", "cm_birdy")
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   107
	hero.gear = AddHog(hero.name, 0, heroHealth, "war_desertgrenadier1")
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   108
	AnimSetGearPosition(hero.gear, hero.x, hero.y)
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   109
	HogTurnLeft(hero.gear, true)
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   110
	-- PAotH undercover scientist and chief Sandologist
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   111
	AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "cm_birdy")
9629
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9621
diff changeset
   112
	ally.gear = AddHog(ally.name, 0, 100, "Cowboy")
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   113
	AnimSetGearPosition(ally.gear, ally.x, ally.y)
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   114
	-- Smugglers
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   115
	AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy")
9629
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9621
diff changeset
   116
	smuggler1.gear = AddHog(smuggler1.name, 1, 100, "hair_orange")
9412
b4717f50846e oops, hogs placing corrections
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9410
diff changeset
   117
	AnimSetGearPosition(smuggler1.gear, smuggler1.x, smuggler1.y)
9629
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9621
diff changeset
   118
	smuggler2.gear = AddHog(smuggler2.name, 1, 100, "lambda")
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   119
	AnimSetGearPosition(smuggler2.gear, smuggler2.x, smuggler2.y)
9629
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9621
diff changeset
   120
	smuggler3.gear = AddHog(smuggler3.name, 1, 100, "beefeater")
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   121
	AnimSetGearPosition(smuggler3.gear, smuggler3.x, smuggler3.y)
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   122
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   123
	if checkPointReached == 1 then
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   124
		-- Start of the game
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   125
	elseif checkPointReached == 2 then
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   126
		AnimSetGearPosition(hero.gear, 1050, 615)
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   127
		HogTurnLeft(hero.gear, true)
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   128
	elseif checkPointReached == 3 then
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   129
		AnimSetGearPosition(hero.gear, 1680, 920)
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   130
		HogTurnLeft(hero.gear, true)
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   131
	elseif checkPointReached == 4 then
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   132
		AnimSetGearPosition(hero.gear, 1160, 1180)
9443
3fd77bcdd725 checkpoint 5
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9441
diff changeset
   133
	elseif checkPointReached == 5 then
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   134
		local positions = GetCampaignVar("HogsPosition")
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   135
		positions = split(positions,",")
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   136
		local x
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   137
		local y
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   138
		if positions[1] then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   139
			x = positions[1]
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   140
			y = positions[2]
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   141
		else
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   142
			-- this should *NEVER* happen, remove?
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   143
			x = girderX+40
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   144
			y = girderY-30
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   145
		end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   146
		AnimSetGearPosition(hero.gear, x, y)
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   147
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   148
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   149
	AnimInit()
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   150
	AnimationSetup()
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   151
end
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   152
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   153
function onGameStart()
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   154
	AnimWait(hero.gear, 3000)
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   155
	FollowGear(hero.gear)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   156
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   157
	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   158
	AddEvent(onHeroAtFirstBattle, {hero.gear}, heroAtFirstBattle, {hero.gear}, 1)
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   159
	AddEvent(onHeroAtCheckpoint4, {hero.gear}, heroAtCheckpoint4, {hero.gear}, 0)
9438
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   160
	AddEvent(onHeroAtThirdBattle, {hero.gear}, heroAtThirdBattle, {hero.gear}, 0)
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   161
	AddEvent(onCheckForWin1, {hero.gear}, checkForWin1, {hero.gear}, 0)
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   162
	AddEvent(onCheckForWin2, {hero.gear}, checkForWin2, {hero.gear}, 0)
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   163
	AddEvent(onCrateDestroyed, {hero.gear}, crateDestroyed, {hero.gear}, 0)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   164
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   165
	-- smugglers ammo
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   166
	AddAmmo(smuggler1.gear, amBazooka, 2)
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   167
	AddAmmo(smuggler1.gear, amGrenade, 2)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   168
	AddAmmo(smuggler1.gear, amDEagle, 2)
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   169
	AddAmmo(smuggler3.gear, amRope, 2)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   170
9632
9dd1c36d8b54 final mission map and most logic
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9630
diff changeset
   171
	-- spawn crates
9416
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   172
	SpawnAmmoCrate(btorch2X, btorch2Y, amBlowTorch)
9424
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
   173
	SpawnAmmoCrate(btorch3X, btorch3Y, amBlowTorch)
9416
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   174
	SpawnAmmoCrate(rope1X, rope1Y, amRope)
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   175
	SpawnAmmoCrate(rope2X, rope2Y, amRope)
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   176
	SpawnAmmoCrate(rope3X, rope3Y, amRope)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   177
	SpawnAmmoCrate(portalX, portalY, amPortalGun)
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   178
	SpawnAmmoCrate(girderX, girderY, amGirder)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   179
9418
6e0831e42e12 added health crate
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9416
diff changeset
   180
	SpawnHealthCrate(3300, 970)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   181
9420
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   182
	-- adding mines - BOOM!
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   183
	AddGear(1280, 460, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   184
	AddGear(270, 460, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   185
	AddGear(3460, 60, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   186
	AddGear(3500, 240, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   187
	AddGear(3410, 670, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   188
	AddGear(3450, 720, gtMine, 0, 0, 0, 0)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   189
9420
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   190
	local x = 800
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   191
	while x < 1630 do
9420
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   192
		AddGear(x, 900, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   193
		x = x + math.random(8,20)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   194
	end
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   195
	x = 1890
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   196
	while x < 2988 do
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   197
		AddGear(x, 760, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   198
		x = x + math.random(8,20)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   199
	end
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   200
	x = 2500
9420
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   201
	while x < 3300 do
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   202
		AddGear(x, 1450, gtMine, 0, 0, 0, 0)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   203
		x = x + math.random(8,20)
27aff3a11822 mines added
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9418
diff changeset
   204
	end
9424
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
   205
	x = 1570
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
   206
	while x < 2900 do
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
   207
		AddGear(x, 470, gtMine, 0, 0, 0, 0)
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
   208
		x = x + math.random(8,20)
9a150b7862e9 hooray! more crates and mines
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9422
diff changeset
   209
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   210
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   211
	if checkPointReached == 1 then
9783
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   212
		AddEvent(onHeroFleeFirstBattle, {hero.gear}, heroFleeFirstBattle, {hero.gear}, 1)
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   213
		AddEvent(onHeroAtCheckpoint2, {hero.gear}, heroAtCheckpoint2, {hero.gear}, 0)
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   214
		AddEvent(onHeroAtCheckpoint3, {hero.gear}, heroAtCheckpoint3, {hero.gear}, 0)
9449
435ba2dd5508 changing when some crates are spawned
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9447
diff changeset
   215
		-- crates
435ba2dd5508 changing when some crates are spawned
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9447
diff changeset
   216
		SpawnAmmoCrate(btorch1X, btorch1Y, amBlowTorch)
435ba2dd5508 changing when some crates are spawned
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9447
diff changeset
   217
		SpawnHealthCrate(680, 460)
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   218
		-- hero ammo
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   219
		AddAmmo(hero.gear, amRope, 2)
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   220
		AddAmmo(hero.gear, amBazooka, 3)
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   221
		AddAmmo(hero.gear, amParachute, 1)
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   222
		AddAmmo(hero.gear, amGrenade, 6)
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   223
		AddAmmo(hero.gear, amDEagle, 4)
9630
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9629
diff changeset
   224
		AddAmmo(hero.gear, amRCPlane, tonumber(getBonus(1)))
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   225
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   226
		AddAnim(dialog01)
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   227
	elseif checkPointReached == 2 or checkPointReached == 3 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   228
		ShowMission(campaignName, missionName, loc("The device part is hidden in one of the crates! Go and get it!"), -amSkip, 0)
9436
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   229
		loadHeroAmmo()
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   230
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   231
		secondBattle()
9443
3fd77bcdd725 checkpoint 5
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9441
diff changeset
   232
	elseif checkPointReached == 4 or checkPointReached == 5 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   233
		ShowMission(campaignName, missionName, loc("The part device is hidden in one of the crates! Go and get it!"), -amSkip, 0)
9436
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   234
		loadHeroAmmo()
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   235
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   236
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   237
	SendHealthStatsOff()
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   238
end
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   239
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   240
function onNewTurn()
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   241
	if CurrentHedgehog ~= hero.gear and not heroIsInBattle then
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   242
		TurnTimeLeft = 0
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   243
	elseif CurrentHedgehog == hero.gear and not heroIsInBattle then
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   244
		TurnTimeLeft = -1
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   245
	elseif (CurrentHedgehog == smuggler2.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 1 then
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   246
		AnimSwitchHog(hero.gear)
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   247
		TurnTimeLeft = 0
9430
ab809b0be800 second battle A
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9428
diff changeset
   248
	elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 2 then
ab809b0be800 second battle A
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9428
diff changeset
   249
		AnimSwitchHog(hero.gear)
ab809b0be800 second battle A
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9428
diff changeset
   250
		TurnTimeLeft = 0
9438
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   251
	elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler2.gear) and ongoingBattle == 3 then
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   252
		AnimSwitchHog(hero.gear)
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   253
		TurnTimeLeft = 0
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   254
	elseif CurrentHedgehog == ally.gear then
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   255
		TurnTimeLeft = 0
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   256
	end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   257
end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   258
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   259
function onGameTick()
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   260
	AnimUnWait()
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   261
	if ShowAnimation() == false then
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   262
		return
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   263
	end
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   264
	ExecuteAfterAnimations()
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   265
	CheckEvents()
9416
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   266
end
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   267
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   268
function onAmmoStoreInit()
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   269
	SetAmmo(amBlowTorch, 0, 0, 0, 1)
8d0054adf0c6 added weapon crates
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9412
diff changeset
   270
	SetAmmo(amRope, 0, 0, 0, 1)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   271
	SetAmmo(amPortalGun, 0, 0, 0, 1)
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   272
	SetAmmo(amGirder, 0, 0, 0, 3)
9404
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   273
end
4ae9b399fa73 desert planet main mission addition - hwp will be added when fully finished
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   274
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   275
function onGearAdd(gear)
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   276
	if GetGearType(gear) == gtCase then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   277
		if GetX(gear) == btorch2X and GetY(gear) == btorch2Y then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   278
			btorch2.gear = gear
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   279
			btorch2.destroyed = false
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   280
			btorch2.deleted = false
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   281
		elseif GetX(gear) == girderX and GetY(gear) == girderY then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   282
			girder.gear = gear
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   283
			girder.destroyed = false
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   284
			girder.deleted = false
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   285
		end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   286
	end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   287
end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   288
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   289
function onGearDamage(gear, damage)
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   290
	if gear == girder.gear then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   291
		girder.destroyed = true
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   292
	elseif gear == btorch2.gear then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   293
		btorch2.destroyed = true
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   294
	end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   295
end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   296
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   297
function onGearDelete(gear)
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   298
	if gear == girder.gear then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   299
		girder.deleted = true
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   300
	elseif gear == btorch2.gear then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   301
		btorch2.deleted = true
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   302
	end
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   303
	if gear == hero.gear then
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   304
		hero.dead = true
9430
ab809b0be800 second battle A
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9428
diff changeset
   305
	elseif (gear == smuggler1.gear or gear == smuggler2.gear or gear == smuggler3.gear) and heroIsInBattle then
ab809b0be800 second battle A
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9428
diff changeset
   306
		heroIsInBattle = false
ab809b0be800 second battle A
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9428
diff changeset
   307
		ongoingBattle = 0
9410
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   308
	end
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   309
end
92a0b74ed740 added hedgehogs in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9408
diff changeset
   310
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   311
function onPrecise()
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   312
	if GameTime > 3000 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   313
		SetAnimSkip(true)
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   314
	end
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   315
end
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   316
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   317
-------------- EVENTS ------------------
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   318
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   319
function onHeroDeath(gear)
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   320
	if hero.dead then
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   321
		return true
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   322
	end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   323
	return false
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   324
end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   325
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   326
function onHeroAtFirstBattle(gear)
9783
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   327
	if not hero.dead and not heroIsInBattle and GetHealth(smuggler1.gear) and GetX(hero.gear) <= 1450 and GetX(hero.gear) > 80
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   328
			and GetY(hero.gear) <= GetY(smuggler1.gear)+5 and GetY(hero.gear) >= GetY(smuggler1.gear)-40 and StoppedGear(hero.gear) then
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   329
		return true
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   330
	end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   331
	return false
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   332
end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   333
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   334
function onHeroFleeFirstBattle(gear)
9783
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   335
	if GetHealth(hero.gear) and GetHealth(smuggler1.gear) and heroIsInBattle
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   336
			and distance(hero.gear, smuggler1.gear) > 1400 and StoppedGear(hero.gear) then
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   337
		return true
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   338
	end
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   339
	return false
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   340
end
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   341
9430
ab809b0be800 second battle A
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9428
diff changeset
   342
-- saves the location of the hero and prompts him for the second battle
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   343
function onHeroAtCheckpoint2(gear)
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   344
	if not hero.dead and GetX(hero.gear) > 1000 and GetX(hero.gear) < 1100
9783
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   345
			and GetY(hero.gear) > 590 and GetY(hero.gear) < 700 and StoppedGear(hero.gear) then
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   346
		return true
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   347
	end
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   348
	return false
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   349
end
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   350
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   351
function onHeroAtCheckpoint3(gear)
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   352
	if not hero.dead and GetX(hero.gear) > 1610 and GetX(hero.gear) < 1680
9783
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   353
			and GetY(hero.gear) > 850 and GetY(hero.gear) < 1000 and StoppedGear(hero.gear) then
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   354
		return true
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   355
	end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   356
	return false
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   357
end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   358
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   359
function onHeroAtCheckpoint4(gear)
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   360
	if not hero.dead and GetX(hero.gear) > 1110 and GetX(hero.gear) < 1300
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   361
			and GetY(hero.gear) > 1100 and GetY(hero.gear) < 1220 then
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   362
		return true
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   363
	end
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   364
	return false
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   365
end
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   366
9438
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   367
function onHeroAtThirdBattle(gear)
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   368
	if not hero.dead and GetX(hero.gear) > 2000 and GetX(hero.gear) < 2200
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   369
			and GetY(hero.gear) > 1430 and GetY(hero.gear) < 1670 then
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   370
		return true
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   371
	end
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   372
	return false
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   373
end
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   374
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   375
function onCheckForWin1(gear)
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   376
	if not hero.dead and not btorch2.destroyed and btorch2.deleted then
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   377
		return true
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   378
	end
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   379
	return false
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   380
end
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   381
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   382
function onCheckForWin2(gear)
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   383
	if not hero.dead and not girder.destroyed and girder.deleted then
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   384
		return true
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   385
	end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   386
	return false
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   387
end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   388
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   389
function onCrateDestroyed(gear)
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   390
	if not hero.dead and girder.destroyed or btorch2.destroyed then
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   391
		return true
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   392
	end
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   393
	return false
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   394
end
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   395
9639
6b2ae2eaf1b2 remove unnecessary comments
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9632
diff changeset
   396
-------------- ACTIONS ------------------
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   397
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   398
function heroDeath(gear)
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   399
	lose()
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   400
end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   401
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   402
function heroAtFirstBattle(gear)
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   403
	AnimCaption(hero.gear, loc("A smuggler! Prepare for battle"), 5000)
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   404
	TurnTimeLeft = 0
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   405
	heroIsInBattle = true
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   406
	ongoingBattle = 1
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   407
	AnimSwitchHog(smuggler1.gear)
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   408
	TurnTimeLeft = 0
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   409
end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   410
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   411
function heroFleeFirstBattle(gear)
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   412
	AnimSay(smuggler1.gear, loc("Run away you coward!"), SAY_SHOUT, 4000)
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   413
	TurnTimeLeft = 0
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   414
	heroIsInBattle = false
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   415
	ongoingBattle = 0
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   416
end
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   417
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   418
function heroAtCheckpoint2(gear)
9621
0e633b929825 should fix deadlock checkpoint reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9620
diff changeset
   419
	if GetAmmoCount(hero.gear, amRope) > 0 or GetAmmoCount(hero.gear, amParachute) > 0 then
0e633b929825 should fix deadlock checkpoint reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9620
diff changeset
   420
		saveCheckPointLocal("2")
0e633b929825 should fix deadlock checkpoint reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9620
diff changeset
   421
	end
9476
3ca7160dc6d2 fix bug, not triggered event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9474
diff changeset
   422
	secondBattle()
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   423
end
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   424
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   425
function heroAtCheckpoint3(gear)
9621
0e633b929825 should fix deadlock checkpoint reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9620
diff changeset
   426
	if GetAmmoCount(hero.gear, amRope) > 0 then
0e633b929825 should fix deadlock checkpoint reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9620
diff changeset
   427
		saveCheckPointLocal("3")
0e633b929825 should fix deadlock checkpoint reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9620
diff changeset
   428
	end
9476
3ca7160dc6d2 fix bug, not triggered event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9474
diff changeset
   429
	secondBattle()
9428
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   430
end
b483a2683d08 first checkpoint with saved ammo left :)
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9426
diff changeset
   431
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   432
function heroAtCheckpoint4(gear)
9582
bf314b2258b3 less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9578
diff changeset
   433
	saveCheckPointLocal("4")
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   434
end
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   435
9438
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   436
function heroAtThirdBattle(gear)
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   437
	heroIsInBattle = true
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   438
	ongoingBattle = 3
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   439
	AnimSay(smuggler3.gear, loc("Who's there?! I'll get you..."), SAY_SHOUT, 5000)
9438
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   440
	AnimSwitchHog(smuggler3.gear)
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   441
	TurnTimeLeft = 0
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   442
end
77dde6234fec 3rd battle event handler
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9436
diff changeset
   443
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   444
function crateDestroyed(gear)
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   445
	lose()
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   446
end
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   447
9443
3fd77bcdd725 checkpoint 5
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9441
diff changeset
   448
-- for some weird reson I couldn't call the same action for both events
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   449
function checkForWin1(gear)
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   450
	checkForWin()
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   451
end
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   452
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   453
function checkForWin2(gear)
9443
3fd77bcdd725 checkpoint 5
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9441
diff changeset
   454
	-- ok lets place one more checkpoint as next part seems challenging without rope
3fd77bcdd725 checkpoint 5
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9441
diff changeset
   455
	if cratesFound ==  0 then
9582
bf314b2258b3 less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9578
diff changeset
   456
		saveCheckPointLocal("5")
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   457
		SaveCampaignVar("HogsPosition", GetX(hero.gear)..","..GetY(hero.gear))
9443
3fd77bcdd725 checkpoint 5
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9441
diff changeset
   458
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   459
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   460
	checkForWin()
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   461
end
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   462
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   463
-------------- ANIMATIONS ------------------
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   464
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   465
function Skipanim(anim)
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   466
	if goals[anim] ~= nil then
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   467
		ShowMission(unpack(goals[anim]))
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   468
    end
9426
f89c512925da first battle event handlers, hero starting ammo and hero death event handlers
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9424
diff changeset
   469
    AnimSwitchHog(hero.gear)
9620
55c82fd210cb fixed lua error reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
   470
	if anim == dialog01 then
55c82fd210cb fixed lua error reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
   471
		startMission()
55c82fd210cb fixed lua error reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
   472
	end
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   473
end
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   474
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   475
function AnimationSetup()
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   476
	-- DIALOG 01 - Start, getting info about the device
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   477
	AddSkipFunction(dialog01, Skipanim, {dialog01})
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   478
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 3000}})
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
   479
	table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("In the Planet of Sand, you have to double check your moves..."), 5000}})
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   480
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("Finally you are here..."), SAY_SAY, 2000}})
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   481
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 2000}})
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   482
	table.insert(dialog01, {func = AnimSay, args = {hero.gear, loc("Thank you for meeting me on such a short notice!"), SAY_SAY, 3000}})
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   483
	table.insert(dialog01, {func = AnimWait, args = {ally.gear, 4000}})
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
   484
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("No problem, I would do anything for H!"), SAY_SAY, 4000}})
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   485
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("Now listen carefully! Below us there are tunnels that have been created naturally over the years"), SAY_SAY, 4000}})
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   486
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("I have heard that the local tribes say that many years ago some PAotH scientists were dumping their waste here"), SAY_SAY, 5000}})
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   487
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("H confirmed that there isn't such a PAotH activity logged"), SAY_SAY, 4000}})
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   488
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("So, I believe that it's a good place to start"), SAY_SAY, 3000}})
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
   489
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("Beware though! Many smugglers come often to explore these tunnels and scavage whatever valuable items they can find"), SAY_SAY, 5000}})
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9490
diff changeset
   490
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("They won't hesitate to attack you in order to rob you!"), SAY_SAY, 4000}})
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   491
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 6000}})
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   492
	table.insert(dialog01, {func = AnimSay, args = {hero.gear, loc("OK, I'll be extra careful!"), SAY_SAY, 4000}})
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   493
	table.insert(dialog01, {func = AnimWait, args = {ally.gear, 2000}})
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   494
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("There is the tunnel entrance"), SAY_SAY, 3000}})
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   495
	table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("Good luck!"), SAY_SAY, 3000}})
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   496
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 500}})
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   497
	table.insert(dialog01, {func = startMission, args = {hero.gear}})
9422
85b17f344c97 first dialog added, maybe reconsider the seconds the bubbles are displayed later
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9420
diff changeset
   498
end
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   499
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   500
--------------- OTHER FUNCTIONS ------------------
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   501
9474
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9453
diff changeset
   502
function startMission()
9620
55c82fd210cb fixed lua error reported by Wuzzy
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
   503
	AnimSwitchHog(ally.gear)
9474
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9453
diff changeset
   504
	TurnTimeLeft = 0
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9453
diff changeset
   505
end
c255f6c46e33 stats and minor corrections, difficulty adjustment
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9453
diff changeset
   506
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   507
function secondBattle()
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   508
	-- second battle
9783
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   509
	if heroIsInBattle and ongoingBattle == 1 then
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   510
		AnimSay(smuggler1.gear, loc("Get him Spike!"), SAY_SHOUT, 4000)
1e6b91080bfc changed some things about checkpoints and battle events in desert01,fixes turn interruption when battle one or two is triggered
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9782
diff changeset
   511
	end
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   512
	heroIsInBattle = true
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   513
	ongoingBattle = 2
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   514
	AnimSay(smuggler2.gear, loc("This is seems like a wealthy hedgehog, nice..."), SAY_THINK, 5000)
9432
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   515
	AnimSwitchHog(smuggler2.gear)
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   516
	TurnTimeLeft = 0
6b1c42e10957 check point 2B
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9430
diff changeset
   517
end
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   518
9582
bf314b2258b3 less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9578
diff changeset
   519
function saveCheckPointLocal(cpoint)
9436
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   520
	-- save checkpoint
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   521
	saveCheckpoint(cpoint)
9436
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   522
	SaveCampaignVar("HeroHealth", GetHealth(hero.gear))
9630
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9629
diff changeset
   523
	-- bazooka - grenade - rope - parachute - deagle - btorch - construct - portal - rcplane
9436
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   524
	SaveCampaignVar("HeroAmmo", GetAmmoCount(hero.gear, amBazooka)..GetAmmoCount(hero.gear, amGrenade)..
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   525
			GetAmmoCount(hero.gear, amRope)..GetAmmoCount(hero.gear, amParachute)..GetAmmoCount(hero.gear, amDEagle)..
9630
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9629
diff changeset
   526
			GetAmmoCount(hero.gear, amBlowTorch)..GetAmmoCount(hero.gear, amConstruction)..
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9629
diff changeset
   527
			GetAmmoCount(hero.gear, amPortalGun)..GetAmmoCount(hero.gear, amRCPlane))
9436
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   528
	AnimCaption(hero.gear, loc("Checkpoint reached!"), 5000)
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   529
end
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   530
9436
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   531
function loadHeroAmmo()
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   532
	-- hero ammo
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   533
	local ammo = GetCampaignVar("HeroAmmo")
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   534
	AddAmmo(hero.gear, amRope, tonumber(ammo:sub(3,3)))
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   535
	AddAmmo(hero.gear, amBazooka, tonumber(ammo:sub(1,1)))
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   536
	AddAmmo(hero.gear, amParachute, tonumber(ammo:sub(4,4)))
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   537
	AddAmmo(hero.gear, amGrenade, tonumber(ammo:sub(2,2)))
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   538
	AddAmmo(hero.gear, amDEagle, tonumber(ammo:sub(5,5)))
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   539
	AddAmmo(hero.gear, amBlowTorch, tonumber(ammo:sub(6,6)))
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   540
	-- weird, if 0 bazooka isn't displayed in the weapons menu
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   541
	if tonumber(ammo:sub(7,7)) > 0 then
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   542
		AddAmmo(hero.gear, amConstruction, tonumber(ammo:sub(7,7)))
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   543
	end
07fe70ba7dcd code cleanup
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9434
diff changeset
   544
	AddAmmo(hero.gear, amPortalGun, tonumber(ammo:sub(8,8)))
9630
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9629
diff changeset
   545
	AddAmmo(hero.gear, amRCPlane, tonumber(ammo:sub(9,9)))
9434
b472a2f7b65b more checkpoints
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9432
diff changeset
   546
end
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   547
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   548
function checkForWin()
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   549
	if cratesFound ==  0 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9642
diff changeset
   550
		-- have to look more
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   551
		AnimSay(hero.gear, loc("Haven't found it yet..."), SAY_THINK, 5000)
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   552
		cratesFound = cratesFound + 1
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   553
	elseif cratesFound == 1 then
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   554
		-- end game
9578
16139270448f save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9574
diff changeset
   555
		saveCompletedStatus(5)
9765
6cad4393a315 string/typo fixes
sheepluva
parents: 9758
diff changeset
   556
		AnimSay(hero.gear, loc("Hoorah!!!"), SAY_SHOUT, 5000)
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9639
diff changeset
   557
		SendStat(siGameResult, loc("Congratulations, you won!"))
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9639
diff changeset
   558
		SendStat(siCustomAchievement, loc("To win the game you had to collect the 2 crates with no specific order"))
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9639
diff changeset
   559
		SendStat(siPlayerKills,'1',teamC.name)
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9639
diff changeset
   560
		SendStat(siPlayerKills,'0',teamB.name)
9441
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   561
		EndGame()
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   562
	end
00f07e32313a win conditionals
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9438
diff changeset
   563
end
9782
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   564
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   565
function lose()
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   566
	SendStat(siGameResult, loc("Hog Solo lost, try again!"))
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   567
	SendStat(siCustomAchievement, loc("To win the game you have to find the right crate"))
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   568
	SendStat(siCustomAchievement, loc("You can avoid some battles"))
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   569
	SendStat(siCustomAchievement, loc("Use your ammo wisely"))
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   570
	SendStat(siCustomAchievement, loc("Don't destroy the device crate!"))
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   571
	SendStat(siPlayerKills,'1',teamB.name)
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   572
	SendStat(siPlayerKills,'0',teamC.name)
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   573
	EndGame()
6c3cad32d4f4 fixed getting device crates with rc plane,end game when device crates destroyed,save/load hero position for checkpoint 5 in desert01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9765
diff changeset
   574
end