share/hedgewars/Data/Maps/CTF_Blizzard/map.lua
author Palewolf
Sat, 25 Dec 2010 20:47:29 +0100
changeset 4678 50716b795a4e
child 4698 6f14ef3e40ae
permissions -rw-r--r--
Capture the flag (Blizzard) Map
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4678
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     1
--------------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     2
-- CTF_BLIZZARD 0.4
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     3
--------------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     4
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     5
---------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     6
-- 0.2
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     7
---------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     8
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
     9
-- disabled super weapons
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    10
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    11
-- theme modifications
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    12
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    13
-- improved hog placement system: teams can now be put
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    14
-- in any order and be of any size
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    15
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    16
---------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    17
-- 0.3
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    18
---------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    19
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    20
-- In this version:
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    21
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    22
-- changed starting weapons
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    23
-- changed crate drop contents and rate of drops
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    24
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    25
-- completely removed super weapons and super weapon scripts
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    26
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    27
-- removed custom respawning
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    28
-- removed set respawn points
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    29
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    30
-- added AIRespawn-esque respawning
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    31
-- added simple left vs right respawn points
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    32
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    33
-- added non-lethal poison to flag carriers as an indicator
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    34
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    35
-- improved flag mechanics and player-flag feedback
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    36
-- flag now instantly respawns if you kill enemy hog and return it,
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    37
-- or if the flag falls in water, _BUT_ not if it is blown up
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    38
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    39
---------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    40
-- 0.4
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    41
---------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    42
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    43
-- tweaked crate drop rates and crate contents
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    44
-- improved the teleporters, they should now be able to handle rope... hopefully
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    45
-- updated SetEffect calls to be in line with 0.9.15 definitions
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    46
-- added visual gears when hogs respawn
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    47
-- added visual gears when hogs teleport
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    48
-- added visual gear to track flag and flag carriers
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    49
-- removed poisoning of flag carriers
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    50
-- removed health adjustments for flag carriers due to aforementioned poisons
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    51
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    52
--------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    53
--game text
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    54
--------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    55
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    56
local caption = {
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    57
	["en"] = "CTF: Blizzard v0.4"
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    58
	}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    59
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    60
local subcaption = {
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    61
	["en"] = "by Mikade"
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    62
	}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    63
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    64
local goal = {
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    65
	["en"] = "Capture the enemy flag."
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    66
	}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    67
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    68
-- To handle missing texts we define a small wrapper function that
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    69
-- we'll use to retrieve text.
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    70
local function loc(text)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    71
	if text == nil then return "**missing**"
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    72
	elseif text[L] == nil then return text["en"]
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    73
	else return text[L]
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    74
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    75
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    76
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    77
---------------------------------------------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    78
----------lots of bad variables and things
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    79
----------because someone is too lazy
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    80
----------to read about tables properly
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    81
------------------ "Oh well, they probably have the memory"
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    82
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    83
local actionReset = 0 -- used in CheckTeleporters()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    84
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    85
local roundsCounter = 0	-- used to determine when to spawn more crates
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    86
						-- currently every 6 TURNS, should this work
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    87
						-- on ROUNDS instead?
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    88
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    89
--------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    90
-- hog and team tracking variales
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    91
--------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    92
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    93
local numhhs = 0 -- store number of hedgehogs
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    94
local hhs = {} -- store hedgehog gears
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    95
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    96
local numTeams --  store the number of teams in the game
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    97
local teamNameArr = {}	-- store the list of teams
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    98
local teamSize = {}	-- store how many hogs per team
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
    99
local teamIndex = {} -- at what point in the hhs{} does each team begin
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   100
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   101
-------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   102
-- flag variables
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   103
-------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   104
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   105
local fGear = {}	-- pointer to the case gears that represent the flag
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   106
local fThief = {}	-- pointer to the hogs who stole the flags
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   107
local fIsMissing = {}	-- have the flags been destroyed or captured
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   108
local fNeedsRespawn = {}	-- do the flags need to be respawned
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   109
local fCaptures = {}	-- the team "scores" how many captures
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   110
local fSpawnX = {}		-- spawn X for flags
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   111
local fSpawnY = {}		-- spawn Y for flags
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   112
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   113
local fThiefX = {}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   114
local fThiefY = {}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   115
local FTTC = 0 -- flag thief tracker counter
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   116
--local fThiefsHealed = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   117
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   118
local fCirc = {} -- flag/carrier marker circles
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   119
local fCol = {} -- colour of the clans
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   120
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   121
--------------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   122
--zone and teleporter variables
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   123
--------------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   124
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   125
local redTel
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   126
local orangeTel
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   127
--local areaArr = {} -- no longer used
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   128
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   129
local zXMin = {}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   130
local zWidth = {}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   131
local zYMin = {}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   132
local zHeight = {}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   133
local zOccupied = {}
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   134
local zCount = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   135
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   136
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   137
-- zone methods
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   138
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   139
-- see on gameTick also
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   140
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   141
function CreateZone(xMin, yMin, width, height)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   142
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   143
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   144
	zXMin[zCount] = xMin
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   145
	zYMin[zCount] = yMin
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   146
	zWidth[zCount] = width
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   147
	zHeight[zCount] = height
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   148
	zOccupied[zCount] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   149
	zCount = zCount + 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   150
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   151
	return (zCount-1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   152
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   153
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   154
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   155
function GearIsInZone(gear, zI)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   156
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   157
	if (GetX(gear) > zXMin[zI]) and (GetX(gear) < (zXMin[zI]+zWidth[zI])) and (GetY(gear) > zYMin[zI]) and (GetY(gear) < (zYMin[zI]+zHeight[zI])) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   158
		zOccupied[zI] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   159
	else
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   160
		zOccupied[zI] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   161
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   162
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   163
	return zOccupied[zI]
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   164
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   165
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   166
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   167
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   168
--flag methods
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   169
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   170
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   171
function CheckScore(teamID)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   172
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   173
	if teamID == 0 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   174
		alt = 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   175
		winner = "Red"
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   176
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   177
	elseif teamID == 1 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   178
		alt = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   179
		winner = "Blue"
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   180
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   181
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   182
	if fCaptures[teamID] == 3 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   183
		for i = 0, (numhhs-1) do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   184
			if GetHogClan(hhs[i]) == alt then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   185
				SetEffect(hhs[i], heResurrectable, false)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   186
				SetHealth(hhs[i],0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   187
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   188
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   189
		ShowMission("GAME OVER!", "Victory for the " .. winner .. " Team!", "Hooray!", 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   190
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   191
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   192
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   193
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   194
function HandleRespawns()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   195
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   196
	for i = 0, 1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   197
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   198
		if fNeedsRespawn[i] == true then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   199
			fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   200
			--fGear[i] = SpawnHealthCrate(fSpawnX[i],fSpawnY[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   201
			fNeedsRespawn[i] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   202
			fIsMissing[i] = false -- new, this should solve problems of a respawned flag being "returned" when a player tries to score
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   203
			AddCaption("Flag respawned!")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   204
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   205
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   206
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   207
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   208
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   209
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   210
function FlagDeleted(gear)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   211
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   212
	if (gear == fGear[0]) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   213
		wtf = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   214
		bbq = 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   215
	elseif (gear == fGear[1]) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   216
		wtf = 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   217
		bbq = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   218
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   219
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   220
	--ShowMission("OH HAI!", "FlagDeleted was called", "Oh noes!", -amBazooka, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   221
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   222
	if CurrentHedgehog ~= nil then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   223
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   224
		--ShowMission("GUESS WAT?", "I'm not nil", "Oh noes!", -amBazooka, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   225
		--if the player picks up the flag
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   226
		if CheckDistance(CurrentHedgehog, fGear[wtf]) < 1600 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   227
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   228
			fGear[wtf] = nil -- the flag has now disappeared and we shouldnt be pointing to it
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   229
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   230
			-- player has successfully captured the enemy flag
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   231
			if (GetHogClan(CurrentHedgehog) == wtf) and (CurrentHedgehog == fThief[bbq]) and (fIsMissing[wtf] == false) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   232
				fIsMissing[wtf] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   233
				fNeedsRespawn[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   234
				fIsMissing[bbq] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   235
				fNeedsRespawn[bbq] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   236
				fCaptures[wtf] = fCaptures[wtf] +1					--fCaptures[wtf]
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   237
				ShowMission("You have SCORED!!", "Red Team: " .. fCaptures[0], "Blue Team: " .. fCaptures[1], -amBazooka, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   238
				PlaySound(sndVictory)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   239
				--SetEffect(fThief[bbq], hePoisoned, false)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   240
				fThief[bbq] = nil -- player no longer has the enemy flag
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   241
				CheckScore(wtf)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   242
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   243
			--if the player is returning the flag
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   244
			elseif GetHogClan(CurrentHedgehog) == wtf then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   245
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   246
				fNeedsRespawn[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   247
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   248
				-- NEW ADDIITON, does this work? Should make it possible to return your flag and then score in the same turn
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   249
				if fIsMissing[wtf] == true then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   250
					HandleRespawns() -- this will set fIsMissing[wtf] to false :)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   251
					AddCaption("Flag returned!")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   252
				elseif fIsMissing[wtf] == false then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   253
					AddCaption("That was pointless. The flag will respawn next round.")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   254
				end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   255
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   256
				--fIsMissing[wtf] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   257
				--ShowMission("Flag returned!", "Hooray", "", -amBazooka, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   258
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   259
			--if the player is taking the enemy flag
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   260
			elseif GetHogClan(CurrentHedgehog) == bbq then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   261
				fIsMissing[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   262
				for i = 0,numhhs-1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   263
					if CurrentHedgehog == hhs[i] then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   264
						fThief[wtf] = hhs[i]
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   265
						--SetEffect(fThief[wtf], hePoisoned, true)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   266
					end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   267
				end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   268
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   269
				AddCaption("Flag captured!")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   270
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   271
			else --below line doesnt usually get called
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   272
				AddCaption("Hmm... that wasn't supposed to happen...")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   273
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   274
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   275
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   276
		-- if flag has been destroyed, probably
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   277
		else
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   278
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   279
			if GetY(fGear[wtf]) > 2025 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   280
				fGear[wtf] = nil
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   281
				fIsMissing[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   282
				fNeedsRespawn[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   283
				HandleRespawns()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   284
			else
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   285
				fGear[wtf] = nil
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   286
				fIsMissing[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   287
				fNeedsRespawn[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   288
				AddCaption("Boom! The flag will respawn next round.")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   289
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   290
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   291
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   292
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   293
	-- if flag has been destroyed deep underwater and player is now nil
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   294
	-- probably only gets called if the flag thief drowns himself
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   295
	-- otherwise the above one will work fine
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   296
	else
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   297
		--ShowMission("NIL PLAYER!", "Oh snap", "Oh noes!", -amBazooka, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   298
		fGear[wtf] = nil
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   299
		fIsMissing[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   300
		fNeedsRespawn[wtf] = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   301
		AddCaption("The flag will respawn next round.")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   302
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   303
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   304
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   305
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   306
function FlagThiefDead(gear)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   307
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   308
	if (gear == fThief[0]) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   309
		wtf = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   310
		bbq = 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   311
	elseif (gear == fThief[1]) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   312
		wtf = 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   313
		bbq = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   314
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   315
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   316
	if fThief[wtf] ~= nil then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   317
		--SetEffect(fThief[wtf], hePoisoned, false)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   318
		fGear[wtf] = SpawnAmmoCrate(fThiefX[wtf],fThiefY[wtf]-50,amSkip)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   319
		AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   320
		fThief[wtf] = nil
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   321
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   322
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   323
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   324
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   325
function HandleCircles()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   326
	
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   327
	for i = 0, 1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   328
		if fIsMissing[i] == false then -- draw a circle at the flag's spawning place
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   329
			SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 33, 2, fCol[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   330
		elseif (fIsMissing[i] == true) and (fNeedsRespawn[i] == false) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   331
			if fThief[i] ~= nil then -- draw circle round flag carrier
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   332
				SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], 20, 200, 0, 0, 100, 33, 2, fCol[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   333
			elseif fThief[i] == nil then -- draw cirle round dropped flag
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   334
				SetVisualGearValues(fCirc[i], GetX(fGear[i]), GetY(fGear[i]), 20, 200, 0, 0, 100, 33, 2, fCol[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   335
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   336
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   337
		
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   338
		if fNeedsRespawn[i] == true then -- if the flag has been destroyed, no need for a circle
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   339
			SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 0, 0, fCol[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   340
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   341
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   342
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   343
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   344
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   345
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   346
-- general methods
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   347
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   348
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   349
function CheckDistance(gear1, gear2)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   350
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   351
	g1X, g1Y = GetGearPosition(gear1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   352
	g2X, g2Y = GetGearPosition(gear2)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   353
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   354
	g1X = g1X - g2X
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   355
	g1Y = g1Y - g2Y
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   356
	z = (g1X*g1X) + (g1Y*g1Y)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   357
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   358
	--dist = math.sqrt(z)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   359
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   360
	dist = z
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   361
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   362
	return dist
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   363
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   364
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   365
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   366
function CheckTeleporters()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   367
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   368
	teleportActive = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   369
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   370
	if (GearIsInZone(CurrentHedgehog, redTel) == true) and (GetHogClan(CurrentHedgehog) == 0) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   371
		teleportActive = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   372
		destinationX = 1402
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   373
		destinationY = 321
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   374
	elseif (GearIsInZone(CurrentHedgehog, orangeTel) == true) and (GetHogClan(CurrentHedgehog) == 1) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   375
		teleportActive = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   376
		destinationX = 2692
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   377
		destinationY = 321
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   378
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   379
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   380
	if teleportActive == true then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   381
		if actionReset == 0 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   382
			SetGearMessage(CurrentHedgehog, gmAttack)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   383
			--AddCaption(actionReset .. ";" .. "attack")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   384
		elseif actionReset == 10 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   385
			SetGearMessage(CurrentHedgehog, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   386
			--AddCaption(actionReset .. ";" .. "reset")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   387
		elseif actionReset == 20 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   388
			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   389
			SetGearPosition(CurrentHedgehog,destinationX,destinationY)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   390
			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   391
			--AddCaption(actionReset .. ";" .. "teleport")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   392
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   393
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   394
		actionReset = actionReset + 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   395
		if actionReset >= 30 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   396
			actionReset = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   397
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   398
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   399
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   400
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   401
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   402
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   403
function RebuildTeamInfo()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   404
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   405
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   406
	-- make a list of individual team names
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   407
	for i = 0, 5 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   408
		teamNameArr[i] = i
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   409
		teamSize[i] = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   410
		teamIndex[i] = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   411
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   412
	numTeams = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   413
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   414
	for i = 0, (numhhs-1) do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   415
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   416
		z = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   417
		unfinished = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   418
		while(unfinished == true) do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   419
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   420
			newTeam = true
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   421
			tempHogTeamName = GetHogTeamName(hhs[i]) -- this is the new name
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   422
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   423
			if tempHogTeamName == teamNameArr[z] then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   424
				newTeam = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   425
				unfinished = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   426
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   427
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   428
			z = z + 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   429
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   430
			if z == TeamsCount then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   431
				unfinished = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   432
				if newTeam == true then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   433
					teamNameArr[numTeams] = tempHogTeamName
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   434
					numTeams = numTeams + 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   435
				end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   436
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   437
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   438
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   439
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   440
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   441
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   442
	-- find out how many hogs per team, and the index of the first hog in hhs
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   443
	for i = 0, numTeams-1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   444
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   445
		for z = 0, numhhs-1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   446
			if GetHogTeamName(hhs[z]) == teamNameArr[i] then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   447
				if teamSize[i] == 0 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   448
					teamIndex[i] = z -- should give starting index
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   449
				end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   450
				teamSize[i] = teamSize[i] + 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   451
				--add a pointer so this hog appears at i in hhs
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   452
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   453
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   454
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   455
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   456
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   457
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   458
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   459
function HandleCrateDrops()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   460
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   461
	roundsCounter = roundsCounter +1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   462
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   463
	if roundsCounter == 5 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   464
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   465
		roundsCounter = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   466
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   467
		r = GetRandom(8)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   468
		if r == 0 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   469
			SpawnAmmoCrate(0,0,amSwitch)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   470
		elseif r == 1 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   471
			SpawnAmmoCrate(0,0,amTeleport)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   472
		elseif r == 2 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   473
			SpawnAmmoCrate(0,0,amJetpack)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   474
		elseif r == 3 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   475
			SpawnUtilityCrate(0,0,amExtraTime)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   476
		elseif r == 4 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   477
			SpawnAmmoCrate(0,0,amGirder)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   478
		elseif r == 5 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   479
			SpawnAmmoCrate(0,0,amDynamite)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   480
		elseif r == 6 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   481
			SpawnAmmoCrate(0,0,amFlamethrower)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   482
		elseif r == 7 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   483
			SpawnAmmoCrate(0,0,amPortalGun)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   484
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   485
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   486
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   487
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   488
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   489
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   490
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   491
-- game methods
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   492
------------------------
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   493
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   494
function onGameInit()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   495
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   496
	-- Things we don't modify here will use their default values.
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   497
	Seed = 0 -- The base number for the random number generator
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   498
	GameFlags = gfDivideTeams -- Game settings and rules
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   499
	TurnTime = 30000 -- (was 30) The time the player has to move each round (in ms)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   500
	CaseFreq = 0 -- The frequency of crate drops
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   501
	MinesNum = 0 -- The number of mines being placed
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   502
	MinesTime  = 2000
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   503
	Explosives = 0 -- The number of explosives being placed
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   504
	Delay = 10 -- The delay between each round
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   505
	SuddenDeathTurns = 99 -- suddendeath is off, effectively
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   506
	Map = "CTF_Blizzard" -- The map to be played
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   507
	Theme = "Snow" -- The theme to be used "Nature"
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   508
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   509
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   510
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   511
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   512
function onGameStart()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   513
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   514
	ShowMission(loc(caption), loc(subcaption), loc(goal), 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   515
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   516
	-- initialize teleporters
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   517
	redTel = CreateZone(342,1316,42,449)	-- red teleporter
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   518
	orangeTel = CreateZone(3719,1330,45,449)	-- orange teleporter
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   519
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   520
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   521
	--new improved placement schematics aw yeah
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   522
	RebuildTeamInfo()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   523
	--ShowMission("Team Info Rebuilt", "Here you go:", "TeamCount: " .. TeamsCount .. "|" .. teamNameArr[0] .. ": " .. teamSize[0] .. " Hogs|" .. teamNameArr[1] .. ": " .. teamSize[1] .. " Hogs|" .. teamNameArr[2] .. ": " .. teamSize[2] .. " Hogs|", 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   524
	team1Placed = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   525
	team2Placed = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   526
	for i = 0, (TeamsCount-1) do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   527
		for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   528
			if GetHogClan(hhs[g]) == 0 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   529
				SetGearPosition(hhs[g],1403+ ((team1Placed+1)*50),1570)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   530
				team1Placed = team1Placed +1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   531
				if team1Placed > 6 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   532
					team1Placed = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   533
				end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   534
			elseif GetHogClan(hhs[g]) == 1 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   535
				SetGearPosition(hhs[g],2230+ ((team2Placed+1)*50),1570)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   536
				team2Placed = team2Placed +1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   537
				if team2Placed > 6 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   538
					team2Placed = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   539
				end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   540
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   541
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   542
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   543
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   544
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   545
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   546
	--spawn starting ufos and or super weapons
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   547
	SpawnAmmoCrate(2048,1858,amJetpack)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   548
	--SpawnUtilityCrate(2048,1858,amExtraTime)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   549
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   550
	--set flag spawn points and spawn the flags
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   551
	fSpawnX[0] = 957
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   552
	fSpawnY[0] = 1747
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   553
	fSpawnX[1] = 3123
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   554
	fSpawnY[1] = 1747
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   555
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   556
	for i = 0, 1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   557
		fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   558
		fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   559
		fCol[i] = GetClanColor(i)		
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   560
		fIsMissing[i] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   561
		fNeedsRespawn[i] = false
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   562
		fCaptures[i] = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   563
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   564
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   565
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   566
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   567
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   568
function onNewTurn()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   569
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   570
	if lastTeam ~= GetHogTeamName(CurrentHedgehog) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   571
		lastTeam = GetHogTeamName(CurrentHedgehog)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   572
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   573
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   574
	for i = 0, 1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   575
		if fThief[i] ~= nil then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   576
			--adjust = 5 + GetHealth(fThief[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   577
			--SetHealth(fThief[i], adjust)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   578
			--AddCaption('Helped out the flag poisoned flag thiefs')
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   579
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   580
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   581
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   582
	--AddCaption("Handling respawns")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   583
	HandleRespawns()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   584
	HandleCrateDrops()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   585
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   586
	--myC = AddVisualGear(GetX(CurrentHedgehog),GetY(CurrentHedgehog),vgtCircle,0,true)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   587
	--SetVisualGearValues(myC, GetX(CurrentHedgehog),GetY(CurrentHedgehog), 20, 200, 0, 0, 100, 50, 3, GetClanColor(GetHogClan(CurrentHedgehog)))	
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   588
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   589
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   590
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   591
function onGameTick()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   592
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   593
	-- onRessurect calls AFTER you have resurrected,
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   594
	-- so keeping track of x,y a few milliseconds before
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   595
	-- is useful
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   596
	--FTTC = FTTC + 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   597
	--if FTTC == 100 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   598
	--	FTTC = 0
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   599
		for i = 0,1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   600
			if fThief[i] ~= nil then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   601
				fThiefX[i] = GetX(fThief[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   602
				fThiefY[i] = GetY(fThief[i])
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   603
			end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   604
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   605
	--end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   606
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   607
	-- things we wanna check often
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   608
	if (CurrentHedgehog ~= nil) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   609
		--AddCaption(GetX(CurrentHedgehog) .. "; " .. GetY(CurrentHedgehog))
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   610
		--AddCaption("Checking Teleporters")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   611
		CheckTeleporters()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   612
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   613
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   614
	HandleCircles()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   615
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   616
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   617
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   618
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   619
function onAmmoStoreInit()
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   620
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   621
	SetAmmo(amDrill,9,0,0,0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   622
	SetAmmo(amMortar,9,0,0,0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   623
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   624
	SetAmmo(amGrenade,9,0,0,0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   625
	SetAmmo(amClusterBomb,4,0,0,0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   626
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   627
	--SetAmmo(amDEagle, 4, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   628
	SetAmmo(amShotgun, 9, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   629
	SetAmmo(amFlamethrower, 1, 0, 0, 1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   630
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   631
	SetAmmo(amFirePunch, 9, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   632
	SetAmmo(amBaseballBat, 2, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   633
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   634
	SetAmmo(amDynamite,2,0,0,1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   635
	SetAmmo(amSMine,4,0,0,0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   636
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   637
	SetAmmo(amBlowTorch, 9, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   638
	SetAmmo(amPickHammer, 9, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   639
	SetAmmo(amGirder, 2, 0, 0, 2)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   640
	SetAmmo(amPortalGun, 2, 0, 0, 2)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   641
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   642
	SetAmmo(amParachute, 9, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   643
	SetAmmo(amRope, 9, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   644
	SetAmmo(amTeleport, 0, 0, 0, 1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   645
	SetAmmo(amJetpack, 1, 0, 0, 1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   646
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   647
	SetAmmo(amSwitch, 2, 0, 0, 1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   648
	SetAmmo(amExtraTime,1,0,0,1)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   649
	SetAmmo(amLowGravity,1,0,0,0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   650
	SetAmmo(amSkip, 9, 0, 0, 0)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   651
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   652
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   653
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   654
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   655
function onGearResurrect(gear)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   656
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   657
	--AddCaption("A gear has been resurrected!")
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   658
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   659
	-- mark the flag thief as dead if he needed a respawn
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   660
	for i = 0,1 do
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   661
		if gear == fThief[i] then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   662
			FlagThiefDead(gear)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   663
		end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   664
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   665
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   666
	-- place hogs belonging to each clan either left or right side of map
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   667
	if GetHogClan(gear) == 0 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   668
		FindPlace(gear, false, 0, 2048)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   669
	elseif GetHogClan(gear) == 1 then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   670
		FindPlace(gear, false, 2048, LAND_WIDTH)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   671
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   672
	
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   673
	AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   674
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   675
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   676
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   677
function onGearDamage(gear, damage)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   678
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   679
	-- >_< damn, occurs too fast, before the hog has finished moving / updated his health	
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   680
	--if GetGearType(gear) == gtHedgehog then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   681
	--	if damage > GetHealth(gear) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   682
	--		AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false)		
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   683
	--	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   684
	--end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   685
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   686
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   687
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   688
function onGearAdd(gear)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   689
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   690
	if GetGearType(gear) == gtHedgehog then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   691
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   692
		hhs[numhhs] = gear
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   693
		numhhs = numhhs + 1
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   694
		SetEffect(gear, heResurrectable, true)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   695
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   696
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   697
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   698
end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   699
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   700
function onGearDelete(gear)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   701
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   702
	if (gear == fGear[0]) or (gear == fGear[1]) then
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   703
		FlagDeleted(gear)
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   704
	end
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   705
50716b795a4e Capture the flag (Blizzard) Map
Palewolf
parents:
diff changeset
   706
end