share/hedgewars/Data/Missions/Scenario/portal.lua
author Wuzzy <Wuzzy2@mail.ru>
Fri, 11 Oct 2019 13:35:13 +0200
changeset 15465 421da44ff218
parent 15096 5c8c729a16ce
permissions -rw-r--r--
Update cabal command syntax in .travis.yml
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8043
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7904
diff changeset
     1
HedgewarsScriptLoad("/Scripts/Locale.lua")
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7904
diff changeset
     2
HedgewarsScriptLoad("/Scripts/Utils.lua")
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
     3
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
     4
local MineArray = {}
14656
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
     5
local player, playerTeamName
14655
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
     6
local adviceGiven0 = false
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
     7
local adviceGiven1 = false
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
     8
local adviceGiven2 = false
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
     9
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    10
function onGameInit()
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    11
	Seed = 0 -- The base number for the random number generator
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
    12
	GameFlags = gfInfAttack +gfBorder +gfDisableWind +gfSolidLand
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    13
	TurnTime = 1500000 -- The time the player has to move each round (in ms)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    14
	CaseFreq = 0 -- The frequency of crate drops
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    15
	MinesNum = 0 -- The number of mines being placed
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    16
	Explosives = 0 -- The number of explosives being placed
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    17
	Map = "portal" -- The map to be played
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    18
	Theme = "Hell" -- The theme to be used
11674
66ddc8c5ecd7 Disable Sudden Death in portal mission
Wuzzy <almikes@aol.com>
parents: 11673
diff changeset
    19
	-- Disable Sudden Death
66ddc8c5ecd7 Disable Sudden Death in portal mission
Wuzzy <almikes@aol.com>
parents: 11673
diff changeset
    20
	HealthDecrease = 0
66ddc8c5ecd7 Disable Sudden Death in portal mission
Wuzzy <almikes@aol.com>
parents: 11673
diff changeset
    21
	WaterRise = 0
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
    22
14656
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
    23
	playerTeamName = AddMissionTeam(-1)
14487
d4aa64f51c9f Use player-chosen team identity for most challenges and scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14471
diff changeset
    24
	player = AddMissionHog(10)
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    25
14937
ff4003a90ff8 Enable automatic voicepack language selection for all missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14656
diff changeset
    26
	AddTeam(loc("Hell Army"), -9, "skull", "Island", "Default_qau", "cm_hellish")
11672
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    27
	enemy1 = AddHog(loc("Lucifer"), 1, 200, "InfernalHorns")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    28
	enemy2 = AddHog(loc("Voldemort"), 1, 150, "WizardHat")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    29
	enemy3 = AddHog(loc("Zombi"), 1, 100, "Zombi")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    30
	enemy4 = AddHog(loc("Predator"), 1, 14, "anzac")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    31
	enemy5 = AddHog(loc("Oneye"), 1, 50, "cyclops")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    32
	enemy6 = AddHog(loc("Razac"), 1, 50, "Evil")
11249
41799450378a - Rus localization for portal mission
antonc27 <antonc27@mail.ru>
parents: 8043
diff changeset
    33
	enemy7 = AddHog(loc("C-2"), 1, 50, "cyborg1")
41799450378a - Rus localization for portal mission
antonc27 <antonc27@mail.ru>
parents: 8043
diff changeset
    34
	enemy8 = AddHog(loc("Rider"), 1, 50, "scif_SparkssHelmet")
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    35
14937
ff4003a90ff8 Enable automatic voicepack language selection for all missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14656
diff changeset
    36
	AddTeam(loc("Badmad"), -9, "skull", "Island", "Default_qau", "cm_pentagram")
11249
41799450378a - Rus localization for portal mission
antonc27 <antonc27@mail.ru>
parents: 8043
diff changeset
    37
	enemy9 = AddHog(loc("C-1"), 1, 50, "cyborg2")
11672
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    38
	enemy10 = AddHog(loc("Hidden"), 1, 40, "bushhider")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    39
	enemy11 = AddHog(loc("Ronald"), 1, 70, "clown")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    40
	enemy12 = AddHog(loc("Phosphat"), 1, 50, "chef")
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
    41
	enemy13 = AddHog(loc("Lestat"), 1, 30, "vampirichog")
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    42
14654
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    43
	SetGearPosition(player, 350, 1835)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    44
	SetGearPosition(enemy1, 2037, 1361)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    45
	SetGearPosition(enemy2, 1369, 1626)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    46
	SetGearPosition(enemy3, 1750, 1961)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    47
	SetGearPosition(enemy4, 3125, 138)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    48
	SetGearPosition(enemy5, 743, 938)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    49
	SetGearPosition(enemy6, 130, 388)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    50
	SetGearPosition(enemy7, 1333, 673)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    51
	SetGearPosition(enemy8, 1355, 231)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    52
	SetGearPosition(enemy9, 2680, 264)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    53
	SetGearPosition(enemy10, 2970, 868)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    54
	SetGearPosition(enemy11, 4050, 1985)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    55
	SetGearPosition(enemy12, 2666, 963)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    56
	SetGearPosition(enemy13, 3306, 1306)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    57
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    58
	HogTurnLeft(enemy1, true)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    59
	HogTurnLeft(enemy2, true)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    60
	HogTurnLeft(enemy4, true)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    61
	HogTurnLeft(enemy8, true)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    62
	HogTurnLeft(enemy9, true)
e7b2542c4d28 More spawn height tweaking in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14488
diff changeset
    63
	HogTurnLeft(enemy11, true)
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    64
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    65
end
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    66
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    67
function onAmmoStoreInit()
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    68
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    69
	SetAmmo(amFirePunch, 0,0,0,1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    70
	SetAmmo(amParachute, 0, 0, 0, 2)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    71
	SetAmmo(amGirder, 0, 0, 0, 3)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    72
	SetAmmo(amTeleport, 0, 0, 0, 1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    73
	SetAmmo(amLaserSight,0,0,0,1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    74
	SetAmmo(amHellishBomb,0,0,0,1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    75
	SetAmmo(amGrenade,0,0,0,1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    76
	SetAmmo(amRope,0,0,0,1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    77
	SetAmmo(amDEagle,0,0,0,1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    78
	SetAmmo(amExtraTime,0,0,0,2)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    79
	SetAmmo(amSkip,9,0,0,0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    80
	SetAmmo(amBlowTorch, 0, 0, 0, 1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    81
	SetAmmo(amPickHammer, 0, 0, 0, 1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    82
	SetAmmo(amSnowball, 0, 0, 0, 1)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    83
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    84
end
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    85
14656
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
    86
function onGearAdd(gear)
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
    87
	if (GetGearType(gear) == gtHedgehog) and (GetHogTeamName(gear) ~= playerTeamName) then
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
    88
		SetEffect(gear, heArtillery, 1)
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
    89
	end
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
    90
end
7dbf528ed6a0 Portal mission: Don't allow enemies to walk
Wuzzy <Wuzzy2@mail.ru>
parents: 14655
diff changeset
    91
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    92
function onGameStart()
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    93
11676
51c4ea6d7f91 merge portal mission fixes by Wuzzy and restore accidently removed SetWind call
sheepluva
parents: 11675
diff changeset
    94
	SetWind(100)
51c4ea6d7f91 merge portal mission fixes by Wuzzy and restore accidently removed SetWind call
sheepluva
parents: 11675
diff changeset
    95
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    96
	MineArray[0] = AddGear(840, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    97
	MineArray[1] = AddGear(900, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    98
	MineArray[2] = AddGear(1000, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
    99
	MineArray[3] = AddGear(1100, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   100
	MineArray[4] = AddGear(1140, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   101
	MineArray[5] = AddGear(1170, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   102
	MineArray[6] = AddGear(1200, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   103
	MineArray[7] = AddGear(1200, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   104
	MineArray[8] = AddGear(1230, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   105
	MineArray[9] = AddGear(1280, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   106
	MineArray[10] = AddGear(1302, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   107
	MineArray[11] = AddGear(1350, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   108
	MineArray[12] = AddGear(1383, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   109
	MineArray[13] = AddGear(1400, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   110
	MineArray[14] = AddGear(1423, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   111
	MineArray[15] = AddGear(1470, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   112
	MineArray[16] = AddGear(1480, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   113
	MineArray[17] = AddGear(1311, 1847, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   114
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   115
	MineArray[18] = AddGear(840, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   116
	MineArray[19] = AddGear(900, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   117
	MineArray[20] = AddGear(1000, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   118
	MineArray[21] = AddGear(1100, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   119
	MineArray[22] = AddGear(1140, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   120
	MineArray[23] = AddGear(1170, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   121
	MineArray[24] = AddGear(1200, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   122
	MineArray[25] = AddGear(1230, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   123
	MineArray[26] = AddGear(1280, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   124
	MineArray[27] = AddGear(1302, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   125
	MineArray[28] = AddGear(1350, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   126
	MineArray[29] = AddGear(1383, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   127
	MineArray[30] = AddGear(1400, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   128
	MineArray[31] = AddGear(1423, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   129
	MineArray[32] = AddGear(1470, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   130
	MineArray[33] = AddGear(1480, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   131
	MineArray[34] = AddGear(1311, 1785, gtMine, 0, 0, 0, 0)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   132
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   133
	MineArray[35] = AddGear(4029, 89, gtMine, 0, 0, 0, 120)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   134
11673
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   135
	for i = 0,#MineArray do
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   136
		SetTimer(MineArray[i],050)
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   137
		SetState(MineArray[i],544)
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   138
	end
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   139
	--needed this MineArray cause timer didn't work, its was always 3sec, i wanna instant mines
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   140
12938
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   141
	--CRATES
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   142
	parachute = SpawnSupplyCrate(1670, 1165, amParachute)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   143
	girder = SpawnSupplyCrate(2101, 1297, amGirder)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   144
	SpawnSupplyCrate(1375, 900, amTeleport)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   145
	SpawnSupplyCrate(1660,1820, amLaserSight)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   146
	SpawnSupplyCrate(4070,1840, amLaserSight)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   147
	portalgun = SpawnSupplyCrate(505, 1943, amPortalGun, 1000)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   148
	extratime = SpawnSupplyCrate(4020, 785, amExtraTime, 2)
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
   149
12938
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   150
	SpawnSupplyCrate(425, 613, amSnowball)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   151
	SpawnSupplyCrate(861, 633, amHellishBomb)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   152
	SpawnSupplyCrate(2510, 623, amSnowball)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   153
	SpawnSupplyCrate(2900, 1600, amGrenade)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   154
	SpawnSupplyCrate(2680, 320, amGrenade)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   155
	SpawnSupplyCrate(2650, 80, amDEagle)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   156
	SpawnSupplyCrate(3000, 100, amDEagle)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   157
	SpawnSupplyCrate(2900, 1400, amRope)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   158
	SpawnSupplyCrate(4025, 1117, amFirePunch)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   159
	SpawnSupplyCrate(3965, 625, amBlowTorch)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   160
	SpawnSupplyCrate(2249, 93, amBlowTorch)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   161
	SpawnSupplyCrate(2181, 829, amBlowTorch)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   162
	SpawnSupplyCrate(1820, 567, amBlowTorch)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12352
diff changeset
   163
	SpawnSupplyCrate(130, 600, amPickHammer)
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   164
11673
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   165
	--HEALTH CRATE--
13040
958c6ff056de Portal mission: Fix health crate spawning inside land
Wuzzy <Wuzzy2@mail.ru>
parents: 12938
diff changeset
   166
	SpawnHealthCrate(2000, 880)
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
   167
11673
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   168
	--GIRDER--
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   169
	PlaceGirder(3363, 1323, 4)
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   170
12082
ce3860c82c8b Rewrite 2nd line of mission panel of most missions for consistency
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
   171
	ShowMission (loc("Portal Mind Challenge"), loc("Scenario"),
12231
3ec0261e01f0 Display mines timer in all missions with non-default timer
Wuzzy <almikes@aol.com>
parents: 12082
diff changeset
   172
		loc("Defeat all enemies!") .. "|" ..
3ec0261e01f0 Display mines timer in all missions with non-default timer
Wuzzy <almikes@aol.com>
parents: 12082
diff changeset
   173
		loc("In this mission you have infinite time.") .. "|" ..
3ec0261e01f0 Display mines timer in all missions with non-default timer
Wuzzy <almikes@aol.com>
parents: 12082
diff changeset
   174
		loc("Mines time: 0 seconds"),
11672
7652eeb0fc7f Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents: 11249
diff changeset
   175
		-amPortalGun, 5000)
14655
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   176
end
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
   177
14655
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   178
function onNewTurn()
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   179
	if (adviceGiven0 == false) then
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   180
		adviceGiven0 = true
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   181
		HogSay(player, loc("I should get myself a portal device, maybe this crate has one."), SAY_THINK)
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   182
	end
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   183
end
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   184
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   185
function onGameTick()
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   186
11673
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   187
	if (player ~= nil)  then
14655
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   188
		if (gearIsInBox(player, 1650, 1907, 200, 60) and (adviceGiven1 == false)) then
5931aff25837 Portal mission: Delay first speech until turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 14654
diff changeset
   189
			adviceGiven1 = true
11673
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   190
			HogSay(player, loc("Hmmm, I’ll have to find some way of moving him off this anti-portal surface."), SAY_THINK)
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   191
		elseif (gearIsInBox(player, 2960, 790, 200, 60) and (adviceGiven2 == false)) then
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   192
			adviceGiven2 = true
11673
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   193
			HogSay(player, loc("The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."), SAY_THINK)
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   194
		end
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   195
	end
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
   196
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   197
end
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
   198
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   199
function onGearDelete(gear)
11675
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   200
	-- Check gear collection
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   201
	if CurrentHedgehog == player and (band(GetGearMessage(gear), gmDestroy) ~= 0) then
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   202
		if gear == portalgun then
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   203
			HogSay(player, loc("Great! Let’s kill all these enemies, using portals."), SAY_THINK)
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   204
		end
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   205
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
   206
		if gear == girder then
11675
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   207
			HogSay(player, loc("This will be useful when I need a new platform or if I want to rise."), SAY_THINK)
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   208
		end
11681
7180ddb4bf5b whitespace fix
sheepluva
parents: 11676
diff changeset
   209
11675
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   210
		if gear == parachute then
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   211
			HogSay(player, loc("You can’t open a portal on the blue surface."), SAY_THINK)
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   212
		end
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   213
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   214
		if gear == extratime then
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   215
			HogSay(player, loc("What?! For all this struggle I just win some ... time? Oh dear!"), SAY_SHOUT)
be57b0e3e289 Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents: 11674
diff changeset
   216
		end
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   217
	end
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   218
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   219
	if gear == player then
11673
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   220
		player = nil
991c790da01e Clean up portal mission code
Wuzzy <almikes@aol.com>
parents: 11672
diff changeset
   221
	end
7904
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   222
end
4f338a9ea76d portal challenge
sphrix
parents:
diff changeset
   223
14471
734a7af2dfc2 Fix victory check of a few scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14406
diff changeset
   224
function onGameResult(winningClan)
734a7af2dfc2 Fix victory check of a few scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14406
diff changeset
   225
	if winningClan == GetHogClan(player) then
734a7af2dfc2 Fix victory check of a few scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14406
diff changeset
   226
		SaveMissionVar("Won", "true")
15096
5c8c729a16ce Scenarios: Show "Mission succeeded/failed!" in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14937
diff changeset
   227
		SendStat(siGameResult, loc("Mission succeeded!"))
5c8c729a16ce Scenarios: Show "Mission succeeded/failed!" in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14937
diff changeset
   228
	else
5c8c729a16ce Scenarios: Show "Mission succeeded/failed!" in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14937
diff changeset
   229
		SendStat(siGameResult, loc("Mission failed!"))
14471
734a7af2dfc2 Fix victory check of a few scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14406
diff changeset
   230
	end
734a7af2dfc2 Fix victory check of a few scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14406
diff changeset
   231
end