share/hedgewars/Data/Missions/Scenario/portal.lua
author Wuzzy <Wuzzy2@mail.ru>
Thu, 25 Apr 2019 23:01:05 +0200
changeset 14844 e239378a9400
parent 14656 7dbf528ed6a0
child 14937 ff4003a90ff8
permissions -rw-r--r--
Prevent entering “/”, “\” and “:” in team and scheme names. The name of teams and schems is saved in the file name itself, so these characters would cause trouble as they are used in path names in Linux and Windows.
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
14488
310b167141cc Use player's team identity for SimpleMission-based mission
Wuzzy <Wuzzy2@mail.ru>
parents: 14487
diff changeset
    26
	AddTeam(loc("Hell Army"), -9, "skull", "Island", "Default", "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
14488
310b167141cc Use player's team identity for SimpleMission-based mission
Wuzzy <Wuzzy2@mail.ru>
parents: 14487
diff changeset
    36
	AddTeam(loc("Badmad"), -9, "skull", "Island", "Default", "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")
734a7af2dfc2 Fix victory check of a few scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14406
diff changeset
   227
	end
734a7af2dfc2 Fix victory check of a few scenarios
Wuzzy <Wuzzy2@mail.ru>
parents: 14406
diff changeset
   228
end