share/hedgewars/Data/Missions/Basketball - 2 Players.hwt
author smxx
Sun, 14 Mar 2010 22:55:46 +0000
changeset 2996 dfc7507a21a0
permissions -rw-r--r--
Engine: * Added explosives count to scripting variables * Fixed adding multiple teams using Lua (AmmoStore problem; temporary) * Added another example mission: Basketball with score table
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2996
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     1
-- Hedgewars - Basketball for 2 Players
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     2
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     3
local caption = {
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     4
	["en"] = "Hedgewars-Basketball",
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     5
	["de"] = "Hedgewars-Basketball"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     6
	}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     7
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     8
local subcaption = {
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
     9
	["en"] = "2 Player Match",
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    10
	["de"] = "2-Spieler-Turnier"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    11
	}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    12
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    13
local goal = {
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    14
	["en"] = "Bat your opponents through the|baskets and out of the map!",
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    15
	["de"] = "Schlage deine Widersacher durch|die Körbe und aus der Karte hinaus!"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    16
	}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    17
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    18
local scored = {
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    19
	["en"] = " scored a point!",
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    20
	["de"] = " haben gepunktet!"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    21
	}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    22
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    23
local sscore = {
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    24
	["en"] = "Score",
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    25
	["de"] = "Punktestand"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    26
	}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    27
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    28
	local teams = {}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    29
teams[0] = {
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    30
	["en"] = "The Hogville Wizards",
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    31
	["de"] = "Die Igeldorf-Zauberer"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    32
	}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    33
teams[1] = {
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    34
	["en"] = "The Hogmore Ravens",
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    35
	["de"] = "Die Igelmoor-Raben"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    36
	}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    37
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    38
local hognames = {}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    39
hognames[0] = {"Michael", "Jason", "Mike", "Tom"}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    40
hognames[1] = {"Diego", "Sam", "Jay", "Hank"}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    41
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    42
-- To handle missing texts we define a small wrapper function that
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    43
-- we'll use to retrieve text.
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    44
local function loc(text)
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    45
	if text == nil then return "**missing**"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    46
	elseif text[L] == nil then return text["en"]
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    47
	else return text[L]
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    48
	end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    49
end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    50
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    51
---------------------------------------------------------------
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    52
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    53
local hogs = {}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    54
hogs[0] = {nil, nil, nil, nil}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    55
hogs[1] = {nil, nil, nil, nil}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    56
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    57
function onGameInit()
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    58
	Seed = 0
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    59
	GameFlags = gfSolidLand + gfBorder + gfInvulnerable + gfRandomOrder + gfLowGravity
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    60
	TurnTime = 15000
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    61
	CaseFreq = 0
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    62
	LandAdds = 0
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    63
	Explosives = 0
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    64
	Delay = 0
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    65
	Map = "basketball"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    66
	Theme = "Freeway"
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    67
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    68
	AddTeam(loc(teams[0]), 0xff0000, "Simple", "Island", "Default")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    69
	hogs[0][1] = AddHog(hognames[0][1], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    70
	hogs[0][2] = AddHog(hognames[0][2], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    71
	hogs[0][3] = AddHog(hognames[0][3], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    72
	hogs[0][4] = AddHog(hognames[0][4], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    73
	AddTeam(loc(teams[1]), 0x0000ff, "Simple", "Island", "Default")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    74
	hogs[1][1] = AddHog(hognames[1][1], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    75
	hogs[1][2] = AddHog(hognames[1][2], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    76
	hogs[1][3] = AddHog(hognames[1][3], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    77
	hogs[1][4] = AddHog(hognames[1][4], 0, 1, "NoHat")
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    78
end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    79
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    80
function onGameStart()
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    81
	ShowMission(loc(caption), loc(subcaption), loc(goal), -amBaseballBat, 0);
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    82
end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    83
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    84
function onGameTick()
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    85
end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    86
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    87
function onAmmoStoreInit()
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    88
	SetAmmo(amBaseballBat, 9, 0, 0)
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    89
end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    90
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    91
function onGearAdd(gear)
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    92
end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    93
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    94
local score = {0, 0}
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    95
function onGearDelete(gear)
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    96
	if gear == hogs[0][1] or gear == hogs[0][2] or gear == hogs[0][3] or gear == hogs[0][4] then
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    97
		score[2] = score[2] + 1
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    98
		ShowMission(loc(caption), loc(subcaption), loc(teams[1]) .. " " .. loc(scored) .. "|" .. loc(sscore) .. ": " .. score[1] .. " - " .. score[2], -amBaseballBat, 0);
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
    99
	elseif gear == hogs[1][1] or gear == hogs[1][2] or gear == hogs[1][3] or gear == hogs[1][4] then
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
   100
		score[1] = score[1] + 1
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
   101
		ShowMission(loc(caption), loc(subcaption), loc(teams[0]) .. " " .. loc(scored) .. "|" .. loc(sscore) .. ": " .. score[1] .. " - " .. score[2], -amBaseballBat, 0);
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
   102
	end
dfc7507a21a0 Engine:
smxx
parents:
diff changeset
   103
end