share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork_2.lua
author Wuzzy <Wuzzy2@mail.ru>
Fri, 09 Feb 2018 07:38:14 +0100
changeset 12933 e65aa3c3d4e6
parent 12586 7510fe66bfbb
child 13354 f9a15dcd857c
permissions -rw-r--r--
Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12228
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     1
-- Teamwork 2
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     2
-- Original scenario by Arkhnen
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     3
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     4
HedgewarsScriptLoad("Scripts/Locale.lua")
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     5
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     6
local player = nil
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     7
local hlayer = nil
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     8
local enemy = nil
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
     9
local Pack = nil
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    10
local help = false
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    11
local GameOver = false
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    12
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    13
function onGameInit()
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    14
	Seed = 0
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    15
	GameFlags = gfDisableWind
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    16
	TurnTime = 600000000
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    17
	CaseFreq = 0
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    18
	MinesNum = 0
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    19
	MinesTime = 0
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    20
	-- Disable Sudden Death
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    21
	HealthDecrease = 0
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    22
	WaterRise = 0
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    23
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    24
	Explosives = 0
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    25
	Delay = 10
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    26
	Map = "CrazyMission"
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    27
	Theme = "CrazyMission"
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    28
12586
7510fe66bfbb Change graves of teams in missions for greater variety
Wuzzy <almikes@aol.com>
parents: 12513
diff changeset
    29
	AddTeam(loc("Feeble Resistance"), 14483456, "Statue", "Island", "Default", "cm_kiwi")
12228
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    30
	player = AddHog(loc("Greg"), 0, 30, "NoHat")
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    31
	hlayer = AddHog(loc("Mark"), 0, 40, "NoHat")
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    32
12586
7510fe66bfbb Change graves of teams in missions for greater variety
Wuzzy <almikes@aol.com>
parents: 12513
diff changeset
    33
	AddTeam(loc("Cybernetic Empire"), 1175851, "ring", "Island", "Robot", "cm_binary")
12228
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    34
	enemy = AddHog(loc("WatchBot 4000"), 5, 50, "cyborg1")
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    35
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    36
	SetGearPosition(player, 180, 555)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    37
	SetGearPosition(enemy, 1500, 914)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    38
	SetGearPosition(hlayer, 333, 555)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    39
end
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    40
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    41
function onGameStart()
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    42
	Pack = SpawnSupplyCrate(40, 888, amPickHammer)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    43
	SpawnSupplyCrate(90, 888, amBaseballBat)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    44
	SpawnSupplyCrate(822, 750, amBlowTorch)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    45
	SpawnSupplyCrate(700, 580, amJetpack)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    46
	SpawnSupplyCrate(1400, 425, amParachute)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    47
	SpawnSupplyCrate(1900, 770, amDynamite)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    48
	SpawnSupplyCrate(1794, 970, amDynamite)
12228
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    49
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    50
	ShowMission(loc("Teamwork 2"), loc("Scenario"), loc("Eliminate WatchBot 4000.") .. "|" .. loc("Both your hedgehogs must survive.") .. "|" .. loc("Land mines explode instantly."), -amBaseballBat, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    51
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    52
	AddGear(355, 822, gtSMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    53
	AddGear(515, 525, gtSMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    54
	AddGear(1080, 821, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    55
	AddGear(1055, 821, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    56
	AddGear(930, 587, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    57
	AddGear(955, 556, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    58
	AddGear(980, 556, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    59
	AddGear(1005, 556, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    60
	AddGear(710, 790, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    61
	AddGear(685, 790, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    62
	AddGear(660, 790, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    63
	AddGear(1560, 540, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    64
	AddGear(1610, 600, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    65
	AddGear(1660, 655, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    66
	AddGear(713, 707, gtMine, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    67
	AddGear(1668, 969, gtExplosives, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    68
	AddGear(1668, 906, gtExplosives, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    69
	AddGear(1668, 842, gtExplosives, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    70
	AddGear(1713, 969, gtExplosives, 0, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    71
	SetWind(90)
12353
ebff18a44c1e Refactor Teamwork 2: No more hacky skipping, set proper ammos for enemy instead
Wuzzy <almikes@aol.com>
parents: 12352
diff changeset
    72
ebff18a44c1e Refactor Teamwork 2: No more hacky skipping, set proper ammos for enemy instead
Wuzzy <almikes@aol.com>
parents: 12352
diff changeset
    73
	-- The enemy has no weapons and can only skip
ebff18a44c1e Refactor Teamwork 2: No more hacky skipping, set proper ammos for enemy instead
Wuzzy <almikes@aol.com>
parents: 12352
diff changeset
    74
	for i=0, AmmoTypeMax do
ebff18a44c1e Refactor Teamwork 2: No more hacky skipping, set proper ammos for enemy instead
Wuzzy <almikes@aol.com>
parents: 12352
diff changeset
    75
		if i ~= amNothing and i ~= amSkip then
ebff18a44c1e Refactor Teamwork 2: No more hacky skipping, set proper ammos for enemy instead
Wuzzy <almikes@aol.com>
parents: 12352
diff changeset
    76
			AddAmmo(enemy, i, 0)
ebff18a44c1e Refactor Teamwork 2: No more hacky skipping, set proper ammos for enemy instead
Wuzzy <almikes@aol.com>
parents: 12352
diff changeset
    77
		end
ebff18a44c1e Refactor Teamwork 2: No more hacky skipping, set proper ammos for enemy instead
Wuzzy <almikes@aol.com>
parents: 12352
diff changeset
    78
	end
12228
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    79
end
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    80
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    81
function onGearAdd(gear)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    82
	if GetGearType(gear) == gtJetpack then
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    83
		SetHealth(gear, 300)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    84
	end
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    85
end
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    86
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    87
function onAmmoStoreInit()
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    88
	SetAmmo(amParachute, 1, 0, 0, 2)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    89
	SetAmmo(amSwitch, 9, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    90
	SetAmmo(amSkip, 9, 0, 0, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    91
	SetAmmo(amPickHammer, 0, 0, 0, 1)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    92
	SetAmmo(amBaseballBat, 0, 0, 0, 1)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    93
	SetAmmo(amBlowTorch, 0, 0, 0, 2)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    94
	SetAmmo(amJetpack, 0, 0, 0, 1)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    95
	SetAmmo(amDynamite, 0, 0, 0, 1)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    96
end
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    97
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    98
function onGearDelete(gear)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
    99
	if gear == Pack then
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   100
		HogSay(CurrentHedgehog, loc("This will certianly come in handy."), SAY_THINK)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   101
	end
12352
7f09d01ecb45 Fix false victory in Teamwork/Teamwork 2 when one of your hogs die in same turn as enemy
Wuzzy <almikes@aol.com>
parents: 12228
diff changeset
   102
	-- Note: The victory sequence is done automatically by Hedgewars
7f09d01ecb45 Fix false victory in Teamwork/Teamwork 2 when one of your hogs die in same turn as enemy
Wuzzy <almikes@aol.com>
parents: 12228
diff changeset
   103
	if ( ((gear == player) or (gear == hlayer)) and (GameOver == false)) then
12228
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   104
		ShowMission(loc("Teamwork 2"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   105
		GameOver = true
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   106
		SetHealth(hlayer, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   107
		SetHealth(player, 0)
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   108
	end
8b523acb3220 Add scenario: Teamwork 2
Wuzzy <almikes@aol.com>
parents:
diff changeset
   109
end