diff -r a6eab1b7c00d -r a416f1070fdf share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua Fri Sep 09 15:36:30 2011 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua Fri Sep 09 15:52:59 2011 +0200 @@ -84,7 +84,7 @@ ------------------ "Oh well, they probably have the memory" local gameStarted = false -local gameTurns = 0 +local gameTurns = 0 -------------------------- -- hog and team tracking variales @@ -142,14 +142,14 @@ if fCaptures[teamID] == 3 then for i = 0, (numhhs-1) do - if hhs[i] ~= nil then + if hhs[i] ~= nil then if GetHogClan(hhs[i]) == alt then SetEffect(hhs[i], heResurrectable, false) SetHealth(hhs[i],0) end end end - if CurrentHedgehog ~= nil then + if CurrentHedgehog ~= nil then ShowMission(loc("GAME OVER!"), loc("Victory for the ") .. GetHogTeamName(CurrentHedgehog), loc("Hooray!"), 0, 0) end end @@ -165,18 +165,18 @@ wtf = 1 bbq = 0 end - + -- player has successfully captured the enemy flag if (GetHogClan(CurrentHedgehog) == wtf) and (CurrentHedgehog == fThief[bbq]) and (fIsMissing[wtf] == false) then - + DeleteVisualGear(fGear[wtf]) - fGear[wtf] = nil -- the flag has now disappeared - + fGear[wtf] = nil -- the flag has now disappeared + fIsMissing[wtf] = false fNeedsRespawn[wtf] = true fIsMissing[bbq] = false fNeedsRespawn[bbq] = true - fCaptures[wtf] = fCaptures[wtf] +1 + fCaptures[wtf] = fCaptures[wtf] +1 ShowMission(loc("You have SCORED!!"), GetHogTeamName(CurrentHedgehog) .. ": " .. fCaptures[wtf], loc("Opposing Team: ") .. fCaptures[bbq], 0, 0) PlaySound(sndVictory) fThief[bbq] = nil -- player no longer has the enemy flag @@ -184,23 +184,23 @@ --if the player is returning the flag elseif (GetHogClan(CurrentHedgehog) == wtf) and (fIsMissing[wtf] == true) then - + DeleteVisualGear(fGear[wtf]) fGear[wtf] = nil -- the flag has now disappeared - - fNeedsRespawn[wtf] = true + + fNeedsRespawn[wtf] = true HandleRespawns() -- this will set fIsMissing[wtf] to false :) AddCaption(loc("Flag returned!")) - + --if the player is taking the enemy flag elseif GetHogClan(CurrentHedgehog) == bbq then - + DeleteVisualGear(fGear[wtf]) - fGear[wtf] = nil -- the flag has now disappeared - + fGear[wtf] = nil -- the flag has now disappeared + fIsMissing[wtf] = true for i = 0,numhhs-1 do - if CurrentHedgehog ~= nil then + if CurrentHedgehog ~= nil then if CurrentHedgehog == hhs[i] then fThief[wtf] = hhs[i] end @@ -209,23 +209,23 @@ AddCaption(loc("Flag captured!")) end - + end -function CheckFlagProximity() +function CheckFlagProximity() for i = 0, 1 do if fGear[i] ~= nil then - + g1X = fGearX[i] - g1Y = fGearY[i] - + g1Y = fGearY[i] + g2X, g2Y = GetGearPosition(CurrentHedgehog) q = g1X - g2X w = g1Y - g2Y dist = (q*q) + (w*w) - + if dist < 500 then --1600 DoFlagStuff(fGear[i]) end @@ -242,7 +242,7 @@ if fNeedsRespawn[i] == true then fGear[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) fGearX[i] = fSpawnX[i] - fGearY[i] = fSpawnY[i] + fGearY[i] = fSpawnY[i] fNeedsRespawn[i] = false fIsMissing[i] = false -- new, this should solve problems of a respawned flag being "returned" when a player tries to score @@ -265,16 +265,16 @@ end if fThief[wtf] ~= nil then - -- falls into water - --ShowMission(LAND_HEIGHT, fThiefY[wtf], (LAND_HEIGHT - fThiefY[wtf]), 0, 0) + -- falls into water + --ShowMission(LAND_HEIGHT, fThiefY[wtf], (LAND_HEIGHT - fThiefY[wtf]), 0, 0) if (LAND_HEIGHT - fThiefY[wtf]) < 15 then fIsMissing[wtf] = true fNeedsRespawn[wtf] = true HandleRespawns() - else --normally + else --normally fGearX[wtf] = fThiefX[wtf] - fGearY[wtf] = fThiefY[wtf] - fGear[wtf] = AddVisualGear(fGearX[wtf],fGearY[wtf],vgtCircle,0,true) + fGearY[wtf] = fThiefY[wtf] + fGear[wtf] = AddVisualGear(fGearX[wtf],fGearY[wtf],vgtCircle,0,true) end AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false) @@ -290,14 +290,14 @@ fGearTimer = 0 fGearRad = fGearRad + 1 if fGearRad > fGearRadMax then - fGearRad = fGearRadMin + fGearRad = fGearRadMin end end for i = 0, 1 do - + --SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 50, 3, fCol[i]) -- draw a circ for spawning area - + if fIsMissing[i] == false then -- draw a flag marker at the flag's spawning place SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 20, 0, 10, 0, 33, 3, fCol[i]) if fGear[i] ~= nil then -- draw the flag gear itself @@ -308,12 +308,12 @@ SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], 20, 200, 0, 0, 100, 50, 3, fCol[i]) --AddCaption("circle marking carrier") elseif fThief[i] == nil then -- draw cirle round dropped flag - --g1X,g1Y,g4,g5,g6,g7,g8,g9,g10,g11 = GetVisualGearValues(fGear[i]) + --g1X,g1Y,g4,g5,g6,g7,g8,g9,g10,g11 = GetVisualGearValues(fGear[i]) --SetVisualGearValues(fCirc[i], g1X, g1Y, 20, 200, 0, 0, 100, 33, 2, fCol[i]) SetVisualGearValues(fCirc[i], fGearX[i], fGearY[i], 20, 200, 0, 0, 100, 33, 3, fCol[i]) - --AddCaption('dropped circle marker') + --AddCaption('dropped circle marker') if fGear[i] ~= nil then -- flag gear itself - --SetVisualGearValues(fGear[i], g1X, g1Y, 20, 200, 0, 0, 100, 10, 4, fCol[i]) + --SetVisualGearValues(fGear[i], g1X, g1Y, 20, 200, 0, 0, 100, 10, 4, fCol[i]) SetVisualGearValues(fGear[i], fGearX[i], fGearY[i], 20, 200, 0, 0, 100, fGearRad, 2, fCol[i]) --AddCaption('dropped flag itself') end @@ -410,13 +410,13 @@ for i = 0, 1 do - -- if someone uses kamikaze downwards, this can happen as the hog won't respawn + -- if someone uses kamikaze downwards, this can happen as the hog won't respawn if (LAND_HEIGHT - fSpawnY[i]) < 0 then tempG = AddGear(0, 0, gtTarget, 0, 0, 0, 0) - FindPlace(tempG, true, 0, LAND_WIDTH, true) + FindPlace(tempG, true, 0, LAND_WIDTH, true) fSpawnX[i], fSpawnY[i] = GetGearPosition(tempG) DeleteGear(tempG) - end + end fGear[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) @@ -429,11 +429,11 @@ fIsMissing[i] = false fNeedsRespawn[i] = false fCaptures[i] = 0 - - --SetVisualGearValues(zxc, 1000,1000, 20, 100, 0, 10, 1, 100, 5, GetClanColor(0)) - + + --SetVisualGearValues(zxc, 1000,1000, 20, 100, 0, 10, 1, 100, 5, GetClanColor(0)) + SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 20, 100, 0, 10, 0, 75, 5, fCol[i]) - + end end @@ -446,8 +446,8 @@ GameFlags = band(bor(GameFlags, gfDivideTeams), bnot(gfKing + gfForts)) --SuddenDeathTurns = 999 -- suddendeath is off, effectively - WaterRise = 0 - Delay = 10 + WaterRise = 0 + Delay = 10 end @@ -458,8 +458,8 @@ ShowMission(loc("CAPTURE THE FLAG"), loc("Flags, and their home base will be placed where each team ends their first turn."), "", 0, 0) RebuildTeamInfo() - - -- should gfDivideTeams do this automatically? + + -- should gfDivideTeams do this automatically? --[[for i = 0, (TeamsCount-1) do for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do if GetHogClan(hhs[g]) == 0 then @@ -475,7 +475,7 @@ --zxc = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) - + --SetVisualGearValues(zxc, 1000,1000, 20, 255, 1, 10, 0, 200, 1, GetClanColor(0)) --minO,max0 -glowyornot --pulsate timer -- fuckall -- radius -- width -- colour end @@ -484,7 +484,7 @@ function onNewTurn() gameTurns = gameTurns + 1 - + if lastTeam ~= GetHogTeamName(CurrentHedgehog) then lastTeam = GetHogTeamName(CurrentHedgehog) end @@ -492,14 +492,14 @@ --AddCaption("Handling respawns") if gameStarted == true then HandleRespawns() - --new method of placing starting flags + --new method of placing starting flags elseif gameTurns == 1 then ShowMission(loc("CAPTURE THE FLAG"), loc("Flags, and their home base will be placed where each team ends their first turn."), "", 0, 0) elseif gameTurns == 2 then fPlaced[0] = true ShowMission(loc("CAPTURE THE FLAG"), loc("RULES OF THE GAME [Press ESC to view]"), loc(" - Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"), 0, 0) elseif gameTurns == 3 then - fPlaced[1] = true + fPlaced[1] = true StartTheGame() end @@ -535,16 +535,16 @@ CheckFlagProximity() end elseif CurrentHedgehog ~= nil then -- if the game hasn't started yet, keep track of where we are gonna put the flags on turn end - + if GetHogClan(CurrentHedgehog) == 0 then - i = 0 + i = 0 elseif GetHogClan(CurrentHedgehog) == 1 then - i = 1 - end - + i = 1 + end + fSpawnX[i] = GetX(CurrentHedgehog) fSpawnY[i] = GetY(CurrentHedgehog) - + end end @@ -575,14 +575,14 @@ function InABetterPlaceNow(gear) for i = 0, (numhhs-1) do if gear == hhs[i] then - + for i = 0,1 do if gear == fThief[i] then FlagThiefDead(gear) end - end - hhs[i] = nil - end + end + hhs[i] = nil + end end end @@ -591,11 +591,11 @@ end function onHogRestore(gear) - match = false + match = false for i = 0, (numhhs-1) do if (hhs[i] == nil) and (match == false) then hhs[i] = gear - --AddCaption(GetHogName(gear) .. " has reappeared it seems!") + --AddCaption(GetHogName(gear) .. " has reappeared it seems!") match = true end end @@ -608,12 +608,12 @@ hhs[numhhs] = gear numhhs = numhhs + 1 SetEffect(gear, heResurrectable, true) - + elseif GetGearType(gear) == gtPiano then for i = 0, 1 do if CurrentHedgehog == fThief[i] then - FlagThiefDead(gear) + FlagThiefDead(gear) end end @@ -624,7 +624,7 @@ function onGearDelete(gear) if GetGearType(gear) == gtHedgehog then - InABetterPlaceNow(gear) + InABetterPlaceNow(gear) end end