share/hedgewars/Data/Missions/Training/Basic_Training_-_Cluster_Bomb.lua
author mikade
Tue, 06 Dec 2011 00:47:24 +0200
changeset 6501 4a6666deb85b
child 6505 b005fbba039e
permissions -rw-r--r--
Add some (slightly modified) GCI missions.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     1
loadfile(GetDataPath() .. "Scripts/Locale.lua")()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     2
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     3
local player = nil
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     4
local scored = 0
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     5
local end_timer = 5000
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     6
local game_lost = false
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     7
local time_goal = 0
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     8
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     9
function spawnTarget()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    10
	gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    11
	FindPlace(gear, true, 0, LAND_WIDTH)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    12
	x, y = GetGearPosition(gear)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    13
	SetGearPosition(gear, x, 500)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    14
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    15
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    16
function onGameInit()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    17
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    18
	Seed = 1
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    19
	GameFlags = gfDisableWind + gfInfAttack + gfOneClanMode
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    20
	TurnTime = 180 * 1000
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    21
	Map = "Trash"
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    22
	Theme = "Golf"
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    23
	Goals = "Take down all the targets|Achieve it using only Cluster Bomb"
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    24
	CaseFreq = 0
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    25
	MinesNum = 0
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    26
	Explosives = 0
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    27
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    28
	AddTeam("The Hogies", 2850005, "Statue", "Island", "Hog Islands")
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    29
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    30
	player = AddHog("Private Novak", 0, 100, "war_desertGrenadier1")
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    31
	SetGearPosition(player, 1780, 1300)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    32
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    33
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    34
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    35
function onAmmoStoreInit()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    36
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    37
	SetAmmo(amClusterBomb, 9, 0, 0, 0)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    38
	SetAmmo(amGrenade, 9, 0, 0, 0)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    39
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    40
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    41
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    42
function onGameStart()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    43
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    44
	ShowMission("Cluster Bomb Training", loc("Aiming Practice"), "You have to destroy 12 targets in 120 seconds|Timer is set to 3 seconds", -amClusterBomb, 5000)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    45
	spawnTarget()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    46
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    47
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    48
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    49
function onGameTick()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    50
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    51
	if TurnTimeLeft == 1 and scored < 12 then
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    52
		game_lost = true
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    53
		ShowMission("Cluster Bomb Training", loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    54
		SetHealth(player, 0)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    55
		time_goal = 1
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    56
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    57
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    58
	if scored == 12 or game_lost then
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    59
		if end_timer == 0 then
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    60
			EndGame()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    61
		else
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    62
			end_timer = end_timer - 1
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    63
			TurnTimeLeft = time_goal
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    64
		end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    65
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    66
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    67
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    68
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    69
function onNewTurn()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    70
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    71
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    72
function onGearAdd(gear)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    73
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    74
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    75
function onGearDamage(gear, damage)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    76
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    77
	if GetGearType(gear) == gtTarget then
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    78
		scored = scored + 1
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    79
		if scored < 12 then
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    80
			spawnTarget()
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    81
		else
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    82
			if not game_lost then
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    83
				ShowMission("Cluster Bomb Training", loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    84
				PlaySound(sndVictory)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    85
				time_goal = TurnTimeLeft
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    86
			end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    87
		end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    88
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    89
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    90
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    91
function onGearDelete(gear)
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    92
end