author | Henek |
Fri, 10 Dec 2010 23:58:15 +0100 | |
changeset 4502 | 759c1a3bb156 |
parent 4350 | cdb3d7a39fa2 |
child 4506 | 37744d5c877e |
permissions | -rw-r--r-- |
4502
759c1a3bb156
lua access to data dir by GetDataPath and made a new scripting translation system with Locale.lua as library and .lua files under Locale. Updated maps Basketball and Knockball to this new system.
Henek
parents:
4350
diff
changeset
|
1 |
loadfile(GetDataPath() .. "Scripts/Locale.lua")() |
3263 | 2 |
|
4502
759c1a3bb156
lua access to data dir by GetDataPath and made a new scripting translation system with Locale.lua as library and .lua files under Locale. Updated maps Basketball and Knockball to this new system.
Henek
parents:
4350
diff
changeset
|
3 |
-- Hedgewars - Knockball for 2+ Players |
3263 | 4 |
|
5 |
local score = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0} |
|
6 |
||
7 |
local ball = nil |
|
8 |
||
9 |
local started = false |
|
10 |
||
11 |
function onGameInit() |
|
12 |
GameFlags = gfSolidLand + gfInvulnerable + gfDivideTeams |
|
13 |
TurnTime = 20000 |
|
14 |
CaseFreq = 0 |
|
4162 | 15 |
MinesNum = 0 |
3263 | 16 |
Explosives = 0 |
17 |
Delay = 500 |
|
18 |
SuddenDeathTurns = 99999 -- "disable" sudden death |
|
19 |
end |
|
20 |
||
21 |
function onGameStart() |
|
4502
759c1a3bb156
lua access to data dir by GetDataPath and made a new scripting translation system with Locale.lua as library and .lua files under Locale. Updated maps Basketball and Knockball to this new system.
Henek
parents:
4350
diff
changeset
|
22 |
ShowMission(loc("Hedgewars-Knockball"), loc("Not So Friendly Match"), loc("Bat balls at your enemies and|push them into the sea!"), -amBaseballBat, 0) |
3263 | 23 |
started = true |
24 |
end |
|
25 |
||
26 |
function onGameTick() |
|
27 |
if ball ~= nil and GetFollowGear() ~= nil then FollowGear(ball) end |
|
28 |
end |
|
29 |
||
30 |
function onAmmoStoreInit() |
|
3346 | 31 |
SetAmmo(amBaseballBat, 9, 0, 0, 0) |
32 |
SetAmmo(amSkip, 9, 0, 0, 0) |
|
3263 | 33 |
end |
34 |
||
35 |
function onGearAdd(gear) |
|
36 |
if GetGearType(gear) == gtShover then |
|
37 |
ball = AddGear(GetX(gear), GetY(gear), gtBall, 0, 0, 0, 0) |
|
38 |
if ball ~= nil then |
|
39 |
CopyPV2(gear, ball) |
|
40 |
SetState(ball, 0x200) -- temporary - might change! |
|
41 |
SetTag(ball, 8) -- baseball skin |
|
42 |
FollowGear(ball) |
|
43 |
end |
|
44 |
end |
|
45 |
end |
|
46 |
||
47 |
function onGearDelete(gear) |
|
48 |
if not started then |
|
49 |
return |
|
50 |
end |
|
51 |
if gear == ball then |
|
52 |
ball = nil |
|
53 |
elseif (GetGearType(gear) == gtHedgehog) and CurrentHedgehog ~= nil then |
|
54 |
local clan = GetHogClan(CurrentHedgehog) |
|
55 |
local s |
|
56 |
if clan ~= nil then |
|
57 |
if GetHogClan(CurrentHedgehog) ~= GetHogClan(gear) then |
|
58 |
score[clan] = score[clan] + 1 |
|
4502
759c1a3bb156
lua access to data dir by GetDataPath and made a new scripting translation system with Locale.lua as library and .lua files under Locale. Updated maps Basketball and Knockball to this new system.
Henek
parents:
4350
diff
changeset
|
59 |
s = string.format(loc("%s is out and Team %d|scored a point!| |Score:"), GetHogName(gear), clan + 1) |
3263 | 60 |
else |
61 |
score[clan] = score[clan] - 1 |
|
4502
759c1a3bb156
lua access to data dir by GetDataPath and made a new scripting translation system with Locale.lua as library and .lua files under Locale. Updated maps Basketball and Knockball to this new system.
Henek
parents:
4350
diff
changeset
|
62 |
s = string.format(loc("%s is out and Team %d|scored a penalty!| |Score:"), GetHogName(gear), clan + 1) |
3263 | 63 |
end |
64 |
s = s .. " " .. score[0] |
|
65 |
for i = 1, ClansCount - 1 do s = s .. " - " .. score[i] end |
|
4502
759c1a3bb156
lua access to data dir by GetDataPath and made a new scripting translation system with Locale.lua as library and .lua files under Locale. Updated maps Basketball and Knockball to this new system.
Henek
parents:
4350
diff
changeset
|
66 |
ShowMission(loc("Hedgewars-Knockball"), loc("Not So Friendly Match"), s, -amBaseballBat, 0) |
3263 | 67 |
end |
68 |
end |
|
69 |
end |