share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death01.lua
author Wuzzy <Wuzzy2@mail.ru>
Fri, 21 Dec 2018 23:17:10 +0100
changeset 14522 4e7fbbdca061
parent 14510 e5f1431aea1e
child 14628 364ab0ae4417
permissions -rw-r--r--
ASA cosmos: Remove unneccary message when hero dies after moon was reached
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     1
------------------- ABOUT ----------------------
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     2
--
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     3
-- This is the mission to acquire the last part.
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     4
-- This mission is the cameo of Professor Hogevil
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     5
-- who has took hostages H and Dr. Cornelius.
14509
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
     6
-- The hero has to defeat him and his thugs.
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     7
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     8
HedgewarsScriptLoad("/Scripts/Locale.lua")
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
     9
HedgewarsScriptLoad("/Scripts/Animate.lua")
9578
16139270448f save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9574
diff changeset
    10
HedgewarsScriptLoad("/Missions/Campaign/A_Space_Adventure/global_functions.lua")
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    11
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    12
----------------- VARIABLES --------------------
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    13
-- globals
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9568
diff changeset
    14
local missionName = loc("The last encounter")
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    15
-- dialogs
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
    16
local dialog01 = {}
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    17
-- missions objectives
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
    18
local goals = {
12226
3ec0261e01f0 Display mines timer in all missions with non-default timer
Wuzzy <almikes@aol.com>
parents: 12224
diff changeset
    19
	[dialog01] = {missionName, loc("The final part"), loc("Defeat Professor Hogevil!") .. "|" .. loc("Mines time: 1.5 seconds"), 1, 4500},
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
    20
}
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    21
-- crates
9627
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
    22
local teleportCrate = {x = 1935, y = 1830}
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
    23
local drillCrate = {x = 3810, y = 1705}
9625
18f04441636b making death01 easier and less luck dependent to win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
    24
local batCrate = {x = 1975, y = 1830}
18f04441636b making death01 easier and less luck dependent to win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
    25
local blowtorchCrate = {x = 1520, y = 1950}
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    26
local cakeCrate = {x = 325, y = 1500}
9568
58cdc9332a54 description and image
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9566
diff changeset
    27
local ropeCrate = {x = 1860, y = 500}
9625
18f04441636b making death01 easier and less luck dependent to win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
    28
local pickHammerCrate = {x = 1900, y = 400}
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    29
-- hogs
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    30
local hero = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    31
local paoth1 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    32
local paoth2 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    33
local professor = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    34
local thug1 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    35
local thug2 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    36
local thug3 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    37
local thug4 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    38
local thug5 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    39
local thug6 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    40
local thug7 = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    41
local thugs = { thug1, thug2, thug3, thug4, thug5, thug6, thug7 }
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    42
-- teams
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    43
local teamA = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    44
local teamB = {}
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    45
local teamC = {}
14510
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
    46
local teamD = {}
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    47
-- hedgehogs values
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
    48
hero.name = loc("Hog Solo")
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    49
hero.x = 520
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    50
hero.y = 845
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    51
hero.dead = false
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
    52
paoth1.name = loc("H")
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    53
paoth1.x = 3730
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    54
paoth1.y = 1480
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
    55
paoth2.name = loc("Dr. Cornelius")
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    56
paoth2.x = 3800
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    57
paoth2.y = 1480
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
    58
professor.name = loc("Prof. Hogevil")
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    59
professor.dead = false
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    60
thug1.x = 1265
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    61
thug1.y = 1400
9627
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
    62
thug1.health = 70
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    63
thug2.x = 2035
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    64
thug2.y = 1320
9627
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
    65
thug2.health = 95
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    66
thug3.x = 1980
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    67
thug3.y = 815
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    68
thug3.health = 35
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    69
thug3.turnLeft = true
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    70
thug4.x = 2830
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    71
thug4.y = 1960
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    72
thug4.health = 80
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    73
thug5.x = 2890
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    74
thug5.y = 1960
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    75
thug5.health = 80
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    76
thug6.x = 2940
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    77
thug6.y = 1960
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    78
thug6.health = 80
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    79
thug7.x = 2990
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    80
thug7.y = 1960
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    81
thug7.health = 80
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    82
teamA.name = loc("Hog Solo")
13583
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 13480
diff changeset
    83
teamA.color = -6
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    84
teamB.name = loc("PAotH")
13477
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
    85
teamB.color = teamA.color
14510
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
    86
teamC.name = loc("Professor's Team")
13583
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 13480
diff changeset
    87
teamC.color = -2
14510
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
    88
teamD.name = loc("Professor")
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
    89
teamD.color = -2
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    90
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    91
-------------- LuaAPI EVENT HANDLERS ------------------
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    92
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    93
function onGameInit()
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    94
	Seed = 1
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    95
	TurnTime = 25000
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    96
	CaseFreq = 0
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    97
	MinesNum = 3
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    98
	MinesTime = 1500
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
    99
	Explosives = 2
9564
114c79f10dcc second human hog for dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9562
diff changeset
   100
	HealthCaseAmount = 50
13480
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   101
	-- gfTagTeam makes it easier to skip the PAotH team
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   102
	GameFlags = gfTagTeam
12224
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
   103
	-- Disable Sudden Death
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
   104
	HealthDecrease = 0
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 12088
diff changeset
   105
	WaterRise = 0
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   106
	Map = "death01_map"
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   107
	Theme = "Hell"
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   108
14509
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   109
	-- Hero
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   110
	teamA.name = AddMissionTeam(teamA.color)
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   111
	hero.gear = AddMissionHog(100)
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   112
	hero.name = GetHogName(hero.gear)
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   113
	AnimSetGearPosition(hero.gear, hero.x, hero.y)
13477
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   114
14510
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
   115
	-- PAotH (passive team)
14509
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   116
	teamB.name = AddTeam(teamB.name, teamB.color, "Earth", "Island", "Default", "cm_galaxy")
13480
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   117
	paoth1.gear = AddHog(paoth1.name, 0, 100, "hair_yellow")
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   118
	AnimSetGearPosition(paoth1.gear, paoth1.x, paoth1.y)
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   119
	HogTurnLeft(paoth1.gear, true)
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   120
	SetGearAIHints(paoth1.gear, aihDoesntMatter)
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   121
	paoth2.gear = AddHog(paoth2.name, 0, 100, "Glasses")
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   122
	AnimSetGearPosition(paoth2.gear, paoth2.x, paoth2.y)
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   123
	HogTurnLeft(paoth2.gear, true)
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   124
	SetGearAIHints(paoth2.gear, aihDoesntMatter)
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   125
14510
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
   126
	-- Professor's Team (computer enemy)
14509
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   127
	teamC.name = AddTeam(teamC.name, teamC.color, "eyecross", "Island", "Default", "cm_sine")
9568
58cdc9332a54 description and image
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9566
diff changeset
   128
	professor.bot = AddHog(professor.name, 1, 300, "tophats")
9564
114c79f10dcc second human hog for dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9562
diff changeset
   129
	AnimSetGearPosition(professor.bot, paoth1.x - 100, paoth1.y)
114c79f10dcc second human hog for dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9562
diff changeset
   130
	HogTurnLeft(professor.bot, true)
114c79f10dcc second human hog for dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9562
diff changeset
   131
	professor.gear = professor.bot
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   132
	for i=1,table.getn(thugs) do
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   133
		thugs[i].gear = AddHog(string.format(loc("Thug #%d"), i), 1, thugs[i].health, "war_desertgrenadier1")
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   134
		AnimSetGearPosition(thugs[i].gear, thugs[i].x, thugs[i].y)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   135
		HogTurnLeft(thugs[i].gear, not thugs[i].turnLeft)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   136
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   137
14510
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
   138
	-- Professor (special team for cut sequence only)
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
   139
	teamD.name = AddTeam(teamD.name, teamD.color, "star", "Island", "Default", "cm_sine")
13477
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   140
	professor.human = AddHog(professor.name, 0, 300, "tophats")
14510
e5f1431aea1e ASA death01: Use unique team names for professor teams
Wuzzy <Wuzzy2@mail.ru>
parents: 14509
diff changeset
   141
	-- hog will be removed and replaced by professor.bot after cut sequence
13477
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   142
	AnimSetGearPosition(professor.human, hero.x + 70, hero.y)
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   143
	HogTurnLeft(professor.human, true)
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   144
9582
bf314b2258b3 less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9578
diff changeset
   145
	initCheckpoint("death01")
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   146
12088
1da37e2ba6fd Fix A Space Adventure Missions allowing player to walk before 1st animation and screw things up
Wuzzy <almikes@aol.com>
parents: 12049
diff changeset
   147
	AnimInit(true)
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   148
	AnimationSetup()
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   149
end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   150
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   151
function onGameStart()
14463
448213112508 Fix incorrect message in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   152
	ShowMission(unpack(goals[dialog01]))
448213112508 Fix incorrect message in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   153
	HideMission()
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   154
	AnimWait(hero.gear, 3000)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   155
	FollowGear(hero.gear)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   156
9562
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   157
	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   158
	AddEvent(onEnemiesDeath, {hero.gear}, enemiesDeath, {hero.gear}, 0)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   159
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   160
	-- add crates
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   161
	SpawnSupplyCrate(teleportCrate.x, teleportCrate.y, amTeleport)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   162
	SpawnSupplyCrate(drillCrate.x, drillCrate.y, amTeleport)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   163
	SpawnSupplyCrate(drillCrate.x, drillCrate.y, amDrill)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   164
	SpawnSupplyCrate(batCrate.x, batCrate.y, amBaseballBat)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   165
	SpawnSupplyCrate(blowtorchCrate.x, blowtorchCrate.y, amBlowTorch)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   166
	SpawnSupplyCrate(cakeCrate.x, cakeCrate.y, amCake)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   167
	SpawnSupplyCrate(ropeCrate.x, ropeCrate.y, amRope)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12587
diff changeset
   168
	SpawnSupplyCrate(pickHammerCrate.x, pickHammerCrate.y, amPickHammer)
9564
114c79f10dcc second human hog for dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9562
diff changeset
   169
	SpawnHealthCrate(cakeCrate.x + 40, cakeCrate.y)
9625
18f04441636b making death01 easier and less luck dependent to win
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9582
diff changeset
   170
	SpawnHealthCrate(blowtorchCrate.x + 40, blowtorchCrate.y)
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   171
	-- add explosives
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   172
	AddGear(1900, 850, gtExplosives, 0, 0, 0, 0)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   173
	AddGear(1900, 800, gtExplosives, 0, 0, 0, 0)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   174
	AddGear(1900, 750, gtExplosives, 0, 0, 0, 0)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   175
	AddGear(1900, 710, gtExplosives, 0, 0, 0, 0)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   176
	-- add mines
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   177
	AddGear(3520, 1650, gtMine, 0, 0, 0, 0)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   178
	AddGear(3480, 1680, gtMine, 0, 0, 0, 0)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   179
	AddGear(3440, 1690, gtMine, 0, 0, 0, 0)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   180
	AddGear(3400, 1710, gtMine, 0, 0, 0, 0)
9627
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
   181
	AddGear(2100, 1730, gtMine, 0, 0, 0, 0)
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
   182
	AddGear(2150, 1730, gtMine, 0, 0, 0, 0)
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
   183
	AddGear(2200, 1750, gtMine, 0, 0, 0, 0)
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   184
	-- add girders
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   185
	PlaceGirder(3770, 1370, 4)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   186
	PlaceGirder(3700, 1460, 6)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   187
	PlaceGirder(3840, 1460, 6)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   188
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   189
	-- add ammo
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   190
	-- hero ammo
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   191
	AddAmmo(hero.gear, amRope, 2)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   192
	AddAmmo(hero.gear, amBazooka, 3)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   193
	AddAmmo(hero.gear, amParachute, 1)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   194
	AddAmmo(hero.gear, amGrenade, 6)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   195
	AddAmmo(hero.gear, amDEagle, 4)
9626
5fee7cdb4bcb add skip to hero
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9625
diff changeset
   196
	AddAmmo(hero.gear, amSkip, 100)
9630
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9627
diff changeset
   197
	local bonus = tonumber(getBonus(3))
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9627
diff changeset
   198
	if bonus > 0 then
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9627
diff changeset
   199
		SetHealth(hero.gear, 120)
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9627
diff changeset
   200
		AddAmmo(hero.gear, amLaserSight, 1)
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9627
diff changeset
   201
		saveBonus(3, bonus-1)
df942cfac4e6 add bonuses
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9627
diff changeset
   202
	end
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   203
	-- evil ammo
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   204
	AddAmmo(professor.gear, amRope, 4)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   205
	AddAmmo(professor.gear, amBazooka, 8)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   206
	AddAmmo(professor.gear, amSwitch, 100)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   207
	AddAmmo(professor.gear, amGrenade, 8)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   208
	AddAmmo(professor.gear, amDEagle, 8)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   209
9564
114c79f10dcc second human hog for dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9562
diff changeset
   210
	HideHog(professor.bot)
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   211
	AddAnim(dialog01)
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   212
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   213
	SendHealthStatsOff()
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   214
end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   215
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   216
function onNewTurn()
13480
7a63e0a2d2ca Simplify turn handling in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 13477
diff changeset
   217
	-- Team PAotH is passive and does not play
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   218
	if CurrentHedgehog == paoth1.gear or CurrentHedgehog == paoth2.gear then
12514
d89dabfd07ce Use EndTurn to replace TurnTimeLeft=0 in ASA campaign (fixes #225)
Wuzzy <almikes@aol.com>
parents: 12513
diff changeset
   219
		EndTurn(true)
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   220
	end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   221
end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   222
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   223
function onGameTick()
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   224
	AnimUnWait()
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   225
	if ShowAnimation() == false then
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   226
		return
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   227
	end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   228
	ExecuteAfterAnimations()
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   229
	CheckEvents()
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   230
end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   231
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   232
function onAmmoStoreInit()
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   233
	SetAmmo(amCake, 0, 0, 0, 1)
9627
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
   234
	SetAmmo(amTeleport, 0, 0, 0, 1)
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
   235
	SetAmmo(amBaseballBat, 0, 0, 0, 4)
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
   236
	SetAmmo(amBlowTorch, 0, 0, 0, 1)
9568
58cdc9332a54 description and image
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9566
diff changeset
   237
	SetAmmo(amRope, 0, 0, 0, 2)
58cdc9332a54 description and image
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9566
diff changeset
   238
	SetAmmo(amPickHammer, 0, 0, 0, 1)
9627
fd8d766a4476 making death01 easier and less luck dependent
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9626
diff changeset
   239
	SetAmmo(amDrill, 0, 0, 0, 1)
9558
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   240
end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   241
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   242
function onGearDelete(gear)
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   243
	if gear == hero.gear then
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   244
		hero.dead = true
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   245
	elseif gear == professor.gear then
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   246
		professor.dead = true
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   247
	end
455f1260ef43 forgotten file and death planet map and some logic
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff changeset
   248
end
9560
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   249
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   250
function onPrecise()
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   251
	if GameTime > 3000 then
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   252
		SetAnimSkip(true)
9560
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   253
	end
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   254
end
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   255
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   256
-------------- EVENTS ------------------
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   257
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   258
function onHeroDeath(gear)
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   259
	if hero.dead then
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   260
		return true
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   261
	end
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   262
	return false
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   263
end
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   264
9562
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   265
function onEnemiesDeath(gear)
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   266
	local allDead = true
9754
12702ab1ba5f fix buggy win conditions and stats in death01
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9642
diff changeset
   267
	if GetHealth(hero.gear) and professor.dead then
9562
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   268
		for i=1,table.getn(thugs) do
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   269
			if GetHealth(thugs[i]) then
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   270
				allDead = false
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   271
				break
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   272
			end
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   273
		end
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   274
	else
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   275
		allDead = false
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   276
	end
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   277
	return allDead
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   278
end
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   279
9560
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   280
-------------- ACTIONS ------------------
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   281
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   282
function heroDeath(gear)
14509
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   283
	SendStat(siGameResult, string.format(loc("%s lost, try again!"), hero.name))
14463
448213112508 Fix incorrect message in ASA death01
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   284
	SendStat(siCustomAchievement, loc("To win the game you have to eliminate Professor Hogevil."))
13477
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   285
	sendSimpleTeamRankings({teamC.name, teamA.name, teamB.name})
9560
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   286
	EndGame()
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   287
end
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   288
9562
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   289
function enemiesDeath(gear)
9578
16139270448f save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9574
diff changeset
   290
	saveCompletedStatus(6)
9642
8a691e0f117a use consts for TStatInfo enum
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9638
diff changeset
   291
	SendStat(siGameResult, loc("Congratulations, you won!"))
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   292
	SendStat(siCustomAchievement, loc("You have successfully eliminated Professor Hogevil."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   293
	SendStat(siCustomAchievement, loc("You have rescued H and Dr. Cornelius."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   294
	SendStat(siCustomAchievement, loc("You have acquired the last device part."))
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   295
	SendStat(siCustomAchievement, loc("Now go and play the menu mission to complete the campaign."))
13477
b688e2ca9a8d ASA death01: Put PAotH into correct clan
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   296
	sendSimpleTeamRankings({teamA.name, teamB.name, teamC.name})
9562
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   297
	EndGame()
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   298
end
241ffe433c3d win event
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9560
diff changeset
   299
9560
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   300
-------------- ANIMATIONS ------------------
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   301
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   302
function Skipanim(anim)
12535
baee67bfa5c2 ASA, the final battle: Fix mission panel not appearing if you watched the dialog
Wuzzy <almikes@aol.com>
parents: 12534
diff changeset
   303
	startBattle()
9560
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   304
end
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   305
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   306
function AnimationSetup()
12534
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   307
	local profDiedOnMoon = GetCampaignVar("ProfDiedOnMoon") == "1"
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   308
	-- DIALOG01, GAME START, INTRODUCTION
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   309
	AddSkipFunction(dialog01, Skipanim, {dialog01})
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   310
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 3000}})
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   311
	table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("Somewhere on the uninhabitable Death Planet ..."), 5000}})
14509
7bb7e5e54f70 Update ASA campaign to use player chosen team identity
Wuzzy <Wuzzy2@mail.ru>
parents: 14463
diff changeset
   312
	table.insert(dialog01, {func = AnimSay, args = {professor.human, string.format(loc("Welcome, %s, surprised to see me?"), hero.name), SAY_SAY, 4000}})
12534
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   313
	if profDiedOnMoon then
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   314
		table.insert(dialog01, {func = AnimSay, args = {professor.human, loc("After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."), SAY_SAY, 6000}})
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   315
	else
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   316
		table.insert(dialog01, {func = AnimSay, args = {professor.human, loc("As you can see I have survived our last encounter and I had time to plot my master plan!"), SAY_SAY, 4000}})
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   317
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   318
	table.insert(dialog01, {func = AnimSay, args = {professor.human, loc("I've thought that the best way to get the device is to let you collect most of the parts for me!"), SAY_SAY, 4000}})
11692
68eddcdc9f26 Typo fixes for A Space Adventure campaign
Wuzzy <almikes@aol.com>
parents: 9758
diff changeset
   319
	table.insert(dialog01, {func = AnimSay, args = {professor.human, loc("So, now I got the last part and I have your friends captured."), SAY_SAY, 4000}})
9574
da3d39667881 strings checked, all ok except ice02 that will be probably changed
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9568
diff changeset
   320
	table.insert(dialog01, {func = AnimSay, args = {professor.human, loc("Will you give me the other parts?"), SAY_SAY, 4000}})
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   321
	table.insert(dialog01, {func = AnimWait, args = {hero.gear, 3000}})
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   322
	table.insert(dialog01, {func = AnimSay, args = {hero.gear, loc("I will never hand you the parts!"), SAY_SAY, 4000}})
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   323
	table.insert(dialog01, {func = AnimWait, args = {professor.human, 3000}})
12534
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   324
	if profDiedOnMoon then
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   325
		table.insert(dialog01, {func = AnimSay, args = {professor.human, loc("Then prepare for battle!"), SAY_SHOUT, 4000}})
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   326
	else
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   327
		table.insert(dialog01, {func = AnimSay, args = {professor.human, loc("Then prepare for battle!"), SAY_SAY, 4000}})
34a91e2b927e ASA, death01: Slightly change professor's response if he got killed on the moon
Wuzzy <almikes@aol.com>
parents: 12515
diff changeset
   328
	end
9758
3b8058b251b8 some more campaign string tweaks
sheepluva
parents: 9754
diff changeset
   329
	table.insert(dialog01, {func = startBattle, args = {}})
9560
5872edd6864e event in case hero dies
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9558
diff changeset
   330
end
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   331
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   332
-------------- OTHER FUNCTIONS -----------------
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   333
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   334
function startBattle()
12535
baee67bfa5c2 ASA, the final battle: Fix mission panel not appearing if you watched the dialog
Wuzzy <almikes@aol.com>
parents: 12534
diff changeset
   335
	ShowMission(unpack(goals[dialog01]))
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   336
	DeleteGear(professor.human)
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   337
	RestoreHog(professor.bot)
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   338
	AnimSwitchHog(professor.gear)
12514
d89dabfd07ce Use EndTurn to replace TurnTimeLeft=0 in ASA campaign (fixes #225)
Wuzzy <almikes@aol.com>
parents: 12513
diff changeset
   339
	EndTurn(true)
9566
5c50949cfd07 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9564
diff changeset
   340
end