share/hedgewars/Data/Maps/CTF_Blizzard/map.lua
author nemo
Sun, 24 Mar 2024 14:19:02 -0400
branch1.0.0
changeset 16023 fcc98c953b5e
parent 15088 d59da429d22c
permissions -rw-r--r--
suppress this message too.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
     1
-------------------------------
5821
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
     2
-- CTF_BLIZZARD 0.9
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
     3
--------------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
     4
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
     5
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
     6
-- 0.2
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
     7
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
     8
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
     9
-- disabled super weapons
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    10
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    11
-- theme modifications
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    12
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    13
-- improved hog placement system: teams can now be put
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    14
-- in any order and be of any size
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    15
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    16
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    17
-- 0.3
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    18
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    19
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    20
-- In this version:
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    21
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    22
-- changed starting weapons
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    23
-- changed crate drop contents and rate of drops
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    24
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    25
-- completely removed super weapons and super weapon scripts
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    26
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    27
-- removed custom respawning
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    28
-- removed set respawn points
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    29
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    30
-- added AIRespawn-esque respawning
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    31
-- added simple left vs right respawn points
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    32
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    33
-- added non-lethal poison to flag carriers as an indicator
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    34
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    35
-- improved flag mechanics and player-flag feedback
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    36
-- flag now instantly respawns if you kill enemy hog and return it,
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    37
-- or if the flag falls in water, _BUT_ not if it is blown up
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    38
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    39
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    40
-- 0.4
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    41
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    42
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    43
-- tweaked crate drop rates and crate contents
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    44
-- improved the teleporters, they should now be able to handle rope... hopefully
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    45
-- updated SetEffect calls to be in line with 0.9.15 definitions
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    46
-- added visual gears when hogs respawn
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    47
-- added visual gears when hogs teleport
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    48
-- added visual gear to track flag and flag carriers
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    49
-- removed poisoning of flag carriers
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    50
-- removed health adjustments for flag carriers due to aforementioned poisons
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    51
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    52
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    53
-- 0.5
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    54
---------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    55
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    56
-- added translation support, hopefully
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    57
-- added ctf rules
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    58
-- added effects to the teleporters
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    59
-- added aura round spawning area
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    60
-- changed the aura around the flag carrier / flag to an aura and added some support for this
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    61
-- changed things so the seed is no longer always the same...
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    62
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
    63
---------
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
    64
-- 0.6
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
    65
---------
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
    66
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
    67
-- removed branding and version number
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
    68
-- removed teleport from starting weapons
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
    69
-- increased captures to 3
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    70
5821
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    71
------------
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
    72
-- 0.7
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
    73
------------
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
    74
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
    75
-- hopefully fixed a bug with the teleporters
4953
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    76
-- added a fix for crate possibly getting imbedded in land when it was near the water line
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
    77
5821
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    78
------------
4953
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    79
-- 0.8
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    80
------------
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    81
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    82
-- fixed version control fail with missing check on onGearDelete
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    83
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    84
-- changed hog placements code so that they start in the same place for both teams
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
    85
-- and hogs move in the same order, not backwards to each other.
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
    86
5821
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    87
-----------
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    88
-- 0.9
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    89
------------
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    90
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    91
-- add support for more players
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    92
-- re-enable sudden death, but set water rise to 0
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
    93
9093
4114ce5d885d fix locale load
nemo
parents: 8349
diff changeset
    94
HedgewarsScriptLoad("/Scripts/Locale.lua")
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    95
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    96
---------------------------------------------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    97
----------lots of bad variables and things
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    98
----------because someone is too lazy
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
    99
----------to read about tables properly
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   100
------------------ "Oh well, they probably have the memory"
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   101
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   102
local actionReset = 0 -- used in CheckTeleporters()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   103
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   104
local roundsCounter = 0	-- used to determine when to spawn more crates
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   105
						-- currently every 6 TURNS, should this work
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   106
						-- on ROUNDS instead?
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   107
local effectTimer = 0
14999
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   108
local gameEnded = false
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   109
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   110
local ropeGear = nil
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   111
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   112
--------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   113
-- hog and team tracking variales
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   114
--------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   115
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   116
local numhhs = 0 -- store number of hedgehogs
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   117
local hhs = {} -- store hedgehog gears
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   118
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   119
local teamNameArr = {}	-- store the list of teams
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   120
local teamSize = {}	-- store how many hogs per team
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   121
local teamIndex = {} -- at what point in the hhs{} does each team begin
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   122
local clanTeams = {} -- list of teams per clan
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   123
14999
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   124
local mostCapturesHogName = nil -- name of hog who holds the record of most flags captured
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   125
local mostCapturesHogTeam = nil -- name of team who holds the record of most flags captured
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   126
local mostCaptures = 0 -- number of most per-hog captures
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   127
local capturesPerHog = {}
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   128
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   129
-------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   130
-- flag variables
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   131
-------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   132
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   133
local fGear = {}	-- pointer to the case gears that represent the flag
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   134
local fThief = {}	-- pointer to the hogs who stole the flags
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   135
local fIsMissing = {}	-- have the flags been destroyed or captured
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   136
local fNeedsRespawn = {}	-- do the flags need to be respawned
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   137
local fCaptures = {}	-- the team "scores" how many captures
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   138
local fSpawnX = {}		-- spawn X for flags
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   139
local fSpawnY = {}		-- spawn Y for flags
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   140
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   141
local fThiefX = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   142
local fThiefY = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   143
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   144
local fSpawnC = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   145
local fCirc = {} -- flag/carrier marker circles
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   146
local fCol = {} -- colour of the clans
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   147
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   148
local vCircX = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   149
local vCircY = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   150
local vCircMinA = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   151
local vCircMaxA = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   152
local vCircType = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   153
local vCircPulse = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   154
local vCircFuckAll = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   155
local vCircRadius = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   156
local vCircWidth = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   157
local vCircCol = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   158
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   159
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   160
--------------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   161
--zone and teleporter variables
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   162
--------------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   163
14995
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   164
local leftTel
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   165
local rightTel
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   166
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   167
local zXMin = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   168
local zWidth = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   169
local zYMin = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   170
local zHeight = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   171
local zOccupied = {}
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   172
local zCount = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   173
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   174
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   175
-- zone methods
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   176
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   177
-- see on gameTick also
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   178
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   179
function ManageTeleporterEffects()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   180
	effectTimer = effectTimer + 1
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   181
	if effectTimer > 50 then
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   182
		effectTimer = 0
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   183
14995
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   184
		local i = GetHogClan(CurrentHedgehog)
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   185
		if i ~= 0 and i ~= 1 then
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   186
			return
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   187
		end
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   188
		local eX = 10 + zXMin[i] + GetRandom(zWidth[i]-10)
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   189
		local eY = 50 + zYMin[i] + GetRandom(zHeight[i]-110)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   190
14995
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   191
		-- steam and smoke and DUST look good, smokering looks trippy
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   192
		-- smoketrace and eviltrace are not effected by wind?
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   193
		-- chunk is a LR falling gear
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   194
		local tempE = AddVisualGear(eX, eY, vgtDust, 0, false)
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   195
		SetVisualGearValues(tempE, eX, eY, nil, nil, nil, nil, nil, nil, nil, fCol[i])
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   196
	end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   197
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   198
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   199
function CreateZone(xMin, yMin, width, height)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   200
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   201
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   202
	zXMin[zCount] = xMin
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   203
	zYMin[zCount] = yMin
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   204
	zWidth[zCount] = width
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   205
	zHeight[zCount] = height
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   206
	zOccupied[zCount] = false
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   207
	zCount = zCount + 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   208
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   209
	return (zCount-1)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   210
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   211
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   212
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   213
function GearIsInZone(gear, zI)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   214
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   215
	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
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   216
		zOccupied[zI] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   217
	else
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   218
		zOccupied[zI] = false
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   219
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   220
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   221
	return zOccupied[zI]
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   222
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   223
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   224
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   225
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   226
--flag methods
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   227
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   228
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   229
function CheckScore(teamID)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   230
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   231
	local alt
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   232
	if teamID == 0 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   233
		alt = 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   234
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   235
	elseif teamID == 1 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   236
		alt = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   237
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   238
14999
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   239
	if fCaptures[teamID] == 3 and not gameEnded then
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   240
		gameEnded = true
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   241
		for i = 0, (numhhs-1) do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   242
			if GetHogClan(hhs[i]) == alt then
7838
5c2337f8dbb2 Issue #443 - change in syntax for effects
nemo
parents: 5821
diff changeset
   243
				SetEffect(hhs[i], heResurrectable, 0)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   244
				SetHealth(hhs[i],0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   245
			end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   246
		end
14998
1e21dfd7f9b5 CTF_Blizzard: Fix the mission text, remove string concatenation stuff
Wuzzy <Wuzzy2@mail.ru>
parents: 14996
diff changeset
   247
		local victoryMsg = string.format(loc("Victory for %s!"), GetHogTeamName(CurrentHedgehog))
1e21dfd7f9b5 CTF_Blizzard: Fix the mission text, remove string concatenation stuff
Wuzzy <Wuzzy2@mail.ru>
parents: 14996
diff changeset
   248
		AddCaption(victoryMsg, capcolDefault, capgrpGameState)
14999
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   249
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   250
		-- Calculate team rankings
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   251
		local teamList = {}
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   252
		for i=0, TeamsCount-1 do
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   253
			local name = GetTeamName(i)
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   254
			local clan = GetTeamClan(name)
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   255
			if fCaptures[clan] ~= nil then
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   256
				table.insert(teamList, { score = fCaptures[clan], name = name, clan = clan })
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   257
			end
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   258
		end
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   259
		local teamRank = function(a, b)
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   260
			return a.score > b.score
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   261
		end
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   262
		table.sort(teamList, teamRank)
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   263
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   264
		for i=1, #teamList do
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   265
			SendStat(siPointType, "!POINTS")
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   266
			SendStat(siPlayerKills, tostring(teamList[i].score), teamList[i].name)
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   267
		end
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   268
		if mostCaptures >= 2 then
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   269
			SendStat(siCustomAchievement, string.format(loc("%s (%s) has captured the flag %d times."), mostCapturesHogName, mostCapturesHogTeam, mostCaptures))
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   270
		end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   271
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   272
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   273
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   274
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   275
function HandleRespawns()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   276
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   277
	for i = 0, 1 do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   278
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   279
		if fNeedsRespawn[i] == true then
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   280
			fGear[i] = SpawnFakeAmmoCrate(fSpawnX[i],fSpawnY[i],false,false)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   281
			fNeedsRespawn[i] = false
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   282
			fIsMissing[i] = false -- new, this should solve problems of a respawned flag being "returned" when a player tries to score
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   283
			AddCaption(loc("Flag respawned!"), capcolDefault, capgrpAmmoinfo)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   284
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   285
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   286
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   287
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   288
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   289
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   290
function FlagDeleted(gear)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   291
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   292
	local wtf, bbq
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   293
	if (gear == fGear[0]) then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   294
		wtf = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   295
		bbq = 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   296
	elseif (gear == fGear[1]) then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   297
		wtf = 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   298
		bbq = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   299
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   300
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   301
	if CurrentHedgehog ~= nil then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   302
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   303
		--if the player picks up the flag
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   304
		if band(GetGearMessage(gear), gmDestroy) ~= 0 then
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   305
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   306
			fGear[wtf] = nil -- the flag has now disappeared and we shouldnt be pointing to it
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   307
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   308
			-- player has successfully captured the enemy flag
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   309
			if (GetHogClan(CurrentHedgehog) == wtf) and (CurrentHedgehog == fThief[bbq]) and (fIsMissing[wtf] == false) then
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   310
				PlaySound(sndShotgunReload)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   311
				fIsMissing[wtf] = false
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   312
				fNeedsRespawn[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   313
				fIsMissing[bbq] = false
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   314
				fNeedsRespawn[bbq] = true
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   315
				fCaptures[wtf] = fCaptures[wtf] +1
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   316
13643
690cc84e9fd6 Use capcolDefault in Lua scripts
Wuzzy <Wuzzy2@mail.ru>
parents: 13630
diff changeset
   317
				AddCaption(string.format(loc("%s has scored!"), GetHogTeamName(CurrentHedgehog)), capcolDefault, capgrpGameState)
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   318
				for i=1, #clanTeams[wtf] do
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   319
					SetTeamLabel(clanTeams[wtf][i], fCaptures[wtf])
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   320
				end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   321
14999
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   322
				capturesPerHog[CurrentHedgehog] = capturesPerHog[CurrentHedgehog] + 1
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   323
				if capturesPerHog[CurrentHedgehog] > mostCaptures then
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   324
					mostCaptures = capturesPerHog[CurrentHedgehog]
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   325
					mostCapturesHogName = GetHogName(CurrentHedgehog)
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   326
					mostCapturesHogTeam = GetHogTeamName(CurrentHedgehog)
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   327
				end
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   328
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   329
				PlaySound(sndHomerun)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   330
				fThief[bbq] = nil -- player no longer has the enemy flag
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   331
				CheckScore(wtf)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   332
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   333
			--if the player is returning the flag
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   334
			elseif GetHogClan(CurrentHedgehog) == wtf then
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   335
				PlaySound(sndShotgunReload)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   336
				fNeedsRespawn[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   337
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   338
				-- NEW ADDIITON, does this work? Should make it possible to return your flag and then score in the same turn
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   339
				if fIsMissing[wtf] == true then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   340
					HandleRespawns() -- this will set fIsMissing[wtf] to false :)
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   341
					AddCaption(loc("Flag returned!"), capcolDefault, capgrpAmmoinfo)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   342
				elseif fIsMissing[wtf] == false then
12426
9f3387907e06 Fix even more bad/broken loc()'s in scripts (hopefully the last one)
Wuzzy <almikes@aol.com>
parents: 12079
diff changeset
   343
					AddCaption(loc("That was pointless. The flag will respawn next round."))
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   344
				end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   345
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   346
			--if the player is taking the enemy flag
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   347
			elseif GetHogClan(CurrentHedgehog) == bbq then
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   348
				PlaySound(sndShotgunReload)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   349
				fIsMissing[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   350
				for i = 0,numhhs-1 do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   351
					if CurrentHedgehog == hhs[i] then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   352
						fThief[wtf] = hhs[i]
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   353
					end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   354
				end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   355
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   356
				AddCaption(loc("Flag captured!"))
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   357
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   358
			else --below line doesnt usually get called
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   359
				AddCaption("Hmm... that wasn't supposed to happen...")
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   360
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   361
			end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   362
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   363
		-- if flag has been destroyed
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   364
		else
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   365
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   366
			if GetY(fGear[wtf]) > 2025 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   367
				fGear[wtf] = nil
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   368
				fIsMissing[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   369
				fNeedsRespawn[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   370
				HandleRespawns()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   371
			else
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   372
				fGear[wtf] = nil
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   373
				fIsMissing[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   374
				fNeedsRespawn[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   375
				AddCaption(loc("Boom!") .. " " .. loc("The flag will respawn next round."))
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   376
			end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   377
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   378
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   379
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   380
	-- if flag has been destroyed deep underwater and player is now nil
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   381
	-- probably only gets called if the flag thief drowns himself
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   382
	-- otherwise the above one will work fine
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   383
	else
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   384
		fGear[wtf] = nil
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   385
		fIsMissing[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   386
		fNeedsRespawn[wtf] = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   387
		AddCaption(loc("The flag will respawn next round."))
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   388
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   389
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   390
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   391
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   392
function FlagThiefDead(gear)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   393
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   394
	local wtf, bbq
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   395
	if (gear == fThief[0]) then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   396
		wtf = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   397
		bbq = 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   398
	elseif (gear == fThief[1]) then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   399
		wtf = 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   400
		bbq = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   401
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   402
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   403
	if fThief[wtf] ~= nil then
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   404
		
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   405
		if fThiefY[wtf] > 2040 then
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   406
			fGear[wtf] = SpawnFakeAmmoCrate(fThiefX[wtf],(fThiefY[wtf]+10),false,false)
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   407
		else
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   408
			fGear[wtf] = SpawnFakeAmmoCrate(fThiefX[wtf],(fThiefY[wtf]-50),false,false)
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   409
		end
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   410
		AddCaption(string.format(loc("%s has dropped the flag!"), GetHogName(gear)), capcolDefault, capgrpAmmoinfo)
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   411
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   412
		AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   413
		fThief[wtf] = nil
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   414
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   415
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   416
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   417
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   418
function HandleCircles()
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   419
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   420
	for i = 0, 1 do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   421
		if fIsMissing[i] == false then -- draw a circle at the flag's spawning place
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   422
			SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   423
		elseif (fIsMissing[i] == true) and (fNeedsRespawn[i] == false) then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   424
			if fThief[i] ~= nil then -- draw circle round flag carrier
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   425
				SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   426
			elseif fThief[i] == nil then -- draw cirle round dropped flag
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   427
				SetVisualGearValues(fCirc[i], GetX(fGear[i]),GetY(fGear[i]), vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   428
			end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   429
		end
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   430
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   431
		if fNeedsRespawn[i] == true then -- if the flag has been destroyed, no need for a circle
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   432
			SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 0, 0, fCol[i])
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   433
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   434
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   435
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   436
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   437
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   438
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   439
-- general methods
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   440
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   441
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   442
function CheckTeleporters()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   443
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   444
	local teleportActive = false
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   445
14995
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   446
	if (GearIsInZone(CurrentHedgehog, leftTel) == true) and (GetHogClan(CurrentHedgehog) == 0) then
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   447
		teleportActive = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   448
		destinationX = 1402
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   449
		destinationY = 321
14995
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   450
	elseif (GearIsInZone(CurrentHedgehog, rightTel) == true) and (GetHogClan(CurrentHedgehog) == 1) then
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   451
		teleportActive = true
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   452
		destinationX = 2692
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   453
		destinationY = 321
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   454
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   455
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   456
	if teleportActive == true then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   457
		if actionReset == 0 then
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   458
			if ropeGear ~= nil then
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   459
				if GetGearElasticity(ropeGear) ~= 0 then
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   460
					SetGearMessage(CurrentHedgehog, gmAttack)
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   461
				end
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   462
			end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   463
		elseif actionReset == 10 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   464
			SetGearMessage(CurrentHedgehog, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   465
		elseif actionReset == 20 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   466
			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   467
			SetGearPosition(CurrentHedgehog,destinationX,destinationY)
14996
fdfe8bf91b8b CTF_Blizzard: Warp sound when using teleporter
Wuzzy <Wuzzy2@mail.ru>
parents: 14995
diff changeset
   468
			PlaySound(sndWarp)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   469
			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   470
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   471
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   472
		actionReset = actionReset + 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   473
		if actionReset >= 30 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   474
			actionReset = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   475
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   476
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   477
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   478
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   479
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   480
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   481
function RebuildTeamInfo()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   482
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   483
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   484
	-- make a list of individual team names
5821
afb988c1a2fe Allow limited form of SuddenDeath (WaterRise = 0) in both CTF modes
mikade
parents: 5328
diff changeset
   485
	for i = 0, (TeamsCount-1) do
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   486
		teamNameArr[i] = GetTeamName(i)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   487
		teamSize[i] = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   488
		teamIndex[i] = 0
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   489
		SetTeamLabel(teamNameArr[i], "0")
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   490
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   491
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   492
	-- find out how many hogs per team, and the index of the first hog in hhs
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   493
	for i = 0, TeamsCount-1 do
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   494
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   495
		for z = 0, numhhs-1 do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   496
			if GetHogTeamName(hhs[z]) == teamNameArr[i] then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   497
				if teamSize[i] == 0 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   498
					teamIndex[i] = z -- should give starting index
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   499
				end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   500
				teamSize[i] = teamSize[i] + 1
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   501
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   502
				local clan = GetHogClan(hhs[z])
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   503
				-- Also remember the clan to which the team belongs to
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   504
				if not clanTeams[clan] then
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   505
					clanTeams[clan] = {}
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   506
				end
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   507
				table.insert(clanTeams[clan], teamNameArr[i])
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   508
			end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   509
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   510
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   511
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   512
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   513
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   514
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   515
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   516
function HandleCrateDrops()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   517
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   518
	roundsCounter = roundsCounter +1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   519
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   520
	if roundsCounter == 5 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   521
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   522
		roundsCounter = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   523
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   524
		r = GetRandom(8)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   525
		if r == 0 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   526
			SpawnSupplyCrate(0,0,amSwitch)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   527
		elseif r == 1 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   528
			SpawnSupplyCrate(0,0,amTeleport)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   529
		elseif r == 2 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   530
			SpawnSupplyCrate(0,0,amJetpack)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   531
		elseif r == 3 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   532
			SpawnSupplyCrate(0,0,amExtraTime)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   533
		elseif r == 4 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   534
			SpawnSupplyCrate(0,0,amGirder)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   535
		elseif r == 5 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   536
			SpawnSupplyCrate(0,0,amDynamite)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   537
		elseif r == 6 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   538
			SpawnSupplyCrate(0,0,amFlamethrower)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   539
		elseif r == 7 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   540
			SpawnSupplyCrate(0,0,amPortalGun)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   541
		end
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   542
		PlaySound(sndReinforce, CurrentHedgehog)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   543
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   544
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   545
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   546
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   547
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   548
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   549
-- game methods
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   550
------------------------
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   551
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   552
function onGameInit()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   553
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   554
	-- Things we don't modify here will use their default values.
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   555
	GameFlags = gfDivideTeams -- Game settings and rules
13117
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   556
	TurnTime = 30000 -- The time the player has to move each round (in ms)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   557
	CaseFreq = 0 -- The frequency of crate drops
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   558
	MinesNum = 0 -- The number of mines being placed
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   559
	Explosives = 0 -- The number of explosives being placed
12079
8f222872d432 Disable SD for a couple of scripts and mission maps
Wuzzy <almikes@aol.com>
parents: 12077
diff changeset
   560
	-- Disable Sudden Death
8f222872d432 Disable SD for a couple of scripts and mission maps
Wuzzy <almikes@aol.com>
parents: 12077
diff changeset
   561
	WaterRise = 0
8f222872d432 Disable SD for a couple of scripts and mission maps
Wuzzy <almikes@aol.com>
parents: 12077
diff changeset
   562
	HealthDecrease = 0
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   563
	Map = "Blizzard" -- The map to be played
13117
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   564
	Theme = "Snow" -- The theme to be used
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   565
14999
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   566
	SendHealthStatsOff()
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   567
	SendRankingStatsOff()
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   568
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   569
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   570
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   571
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   572
function onGameStart()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   573
14994
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   574
	ShowMission(loc("CTF_Blizzard"), loc("Capture The Flag"),
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   575
		loc("- Return the enemy flag to your base to score") .."|"..
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   576
		string.format(loc("- First clan to score %d captures wins"), 3) .. "|"..
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   577
		loc("- You may only score when your flag is in your base") .."|"..
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   578
		loc("- Hogs will drop the flag when killed") .."|"..
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   579
		loc("- Dropped flags may be returned or recaptured").."|"..
e50943f1d0af CTF_Blizzard: Tweak messages
Wuzzy <Wuzzy2@mail.ru>
parents: 14993
diff changeset
   580
		loc("- Hogs will be revived") .."|"..
15088
d59da429d22c Add 2 mission panel icons: hedgehog and flags
Wuzzy <Wuzzy2@mail.ru>
parents: 14999
diff changeset
   581
		loc("- Touch the sparkles near your base to teleport"), 11, 0)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   582
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   583
	-- initialize teleporters
14995
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   584
	leftTel = CreateZone(342,1316,42,449)	-- left teleporter (clan 0)
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   585
	rightTel = CreateZone(3719,1330,45,449)	-- right teleporter (clan 1)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   586
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   587
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   588
	--new improved placement schematics aw yeah
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   589
	RebuildTeamInfo()
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   590
	local team1Placed = 0
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   591
	local team2Placed = 0
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   592
	for i = 0, (TeamsCount-1) do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   593
		for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   594
			if GetHogClan(hhs[g]) == 0 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   595
				SetGearPosition(hhs[g],1403+ ((team1Placed+1)*50),1570)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   596
				team1Placed = team1Placed +1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   597
				if team1Placed > 6 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   598
					team1Placed = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   599
				end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   600
			elseif GetHogClan(hhs[g]) == 1 then
4953
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   601
				SetGearPosition(hhs[g],2691- ((team2Placed+1)*50),1570)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   602
				team2Placed = team2Placed +1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   603
				if team2Placed > 6 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   604
					team2Placed = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   605
				end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   606
			end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   607
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   608
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   609
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   610
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   611
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   612
	--spawn starting ufos and or super weapons
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12426
diff changeset
   613
	SpawnSupplyCrate(2048,1858,amJetpack)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   614
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   615
	--set flag spawn points and spawn the flags
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   616
	fSpawnX[0] = 957
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   617
	fSpawnY[0] = 1747
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   618
	fSpawnX[1] = 3123
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   619
	fSpawnY[1] = 1747
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   620
13798
e874bfe563c7 Make sure scripts don't break w/ only 1 clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13687
diff changeset
   621
	if ClansCount < 2 then
e874bfe563c7 Make sure scripts don't break w/ only 1 clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13687
diff changeset
   622
		return
e874bfe563c7 Make sure scripts don't break w/ only 1 clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13687
diff changeset
   623
	end
e874bfe563c7 Make sure scripts don't break w/ only 1 clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13687
diff changeset
   624
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   625
	for i = 0, 1 do
13019
880662cf41ee Add team score next to team bars for CTF_Blizard, Control, CTF, Mutant, Space Invasion
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   626
		fGear[i] = SpawnFakeAmmoCrate(fSpawnX[i],fSpawnY[i],false,false)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   627
		fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   628
		fCol[i] = GetClanColor(i)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   629
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   630
		fSpawnC[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   631
		SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 10, 200, 1, 10, 0, 300, 5, fCol[i])
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   632
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   633
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   634
		fIsMissing[i] = false
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   635
		fNeedsRespawn[i] = false
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   636
		fCaptures[i] = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   637
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   638
		vCircMinA[i] = 20
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   639
		vCircMaxA[i] = 255
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   640
		vCircType[i] = 1
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   641
		vCircPulse[i] = 10
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   642
		vCircFuckAll[i] = 0
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   643
		vCircRadius[i] = 150
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   644
		vCircWidth[i] = 5
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   645
		vCircCol[i] = fCol[i]
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   646
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   647
		SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   648
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   649
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   650
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   651
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   652
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   653
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   654
function onNewTurn()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   655
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   656
	HandleRespawns()
14993
7d63665cc38b CTF_Blizzard: Use onCaseDrop function
Wuzzy <Wuzzy2@mail.ru>
parents: 13798
diff changeset
   657
7d63665cc38b CTF_Blizzard: Use onCaseDrop function
Wuzzy <Wuzzy2@mail.ru>
parents: 13798
diff changeset
   658
end
7d63665cc38b CTF_Blizzard: Use onCaseDrop function
Wuzzy <Wuzzy2@mail.ru>
parents: 13798
diff changeset
   659
7d63665cc38b CTF_Blizzard: Use onCaseDrop function
Wuzzy <Wuzzy2@mail.ru>
parents: 13798
diff changeset
   660
function onCaseDrop()
7d63665cc38b CTF_Blizzard: Use onCaseDrop function
Wuzzy <Wuzzy2@mail.ru>
parents: 13798
diff changeset
   661
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   662
	HandleCrateDrops()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   663
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   664
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   665
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   666
function onGameTick()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   667
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   668
	-- onRessurect calls AFTER you have resurrected,
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   669
	-- so keeping track of x,y a few milliseconds before
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   670
	-- is useful
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   671
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   672
	for i = 0,1 do
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   673
		if fThief[i] ~= nil then
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   674
			fThiefX[i] = GetX(fThief[i])
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   675
			fThiefY[i] = GetY(fThief[i])
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   676
		end
13116
3b7cd18c4a06 CTF_Blizzard: Dump dead code / out-commented code
Wuzzy <Wuzzy2@mail.ru>
parents: 13019
diff changeset
   677
	end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   678
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   679
	-- things we wanna check often
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   680
	if (CurrentHedgehog ~= nil) then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   681
		CheckTeleporters()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   682
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   683
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   684
	HandleCircles()
14995
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   685
	if (CurrentHedgehog ~= nil) then
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   686
		ManageTeleporterEffects()
2eea2c370389 CTF_Blizzard: Disable sparkles for inactive teleporters
Wuzzy <Wuzzy2@mail.ru>
parents: 14994
diff changeset
   687
	end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   688
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   689
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   690
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   691
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   692
function onAmmoStoreInit()
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   693
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   694
	SetAmmo(amDrill,9,0,0,0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   695
	SetAmmo(amMortar,9,0,0,0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   696
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   697
	SetAmmo(amGrenade,9,0,0,0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   698
	SetAmmo(amClusterBomb,4,0,0,0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   699
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   700
	SetAmmo(amShotgun, 9, 0, 0, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   701
	SetAmmo(amFlamethrower, 1, 0, 0, 1)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   702
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   703
	SetAmmo(amFirePunch, 9, 0, 0, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   704
	SetAmmo(amBaseballBat, 2, 0, 0, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   705
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   706
	SetAmmo(amDynamite,2,0,0,1)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   707
	SetAmmo(amSMine,4,0,0,0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   708
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   709
	SetAmmo(amBlowTorch, 9, 0, 0, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   710
	SetAmmo(amPickHammer, 9, 0, 0, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   711
	SetAmmo(amGirder, 2, 0, 0, 2)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   712
	SetAmmo(amPortalGun, 2, 0, 0, 2)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   713
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   714
	SetAmmo(amParachute, 9, 0, 0, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   715
	SetAmmo(amRope, 9, 0, 0, 0)
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   716
	SetAmmo(amTeleport, 0, 0, 0, 1)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   717
	SetAmmo(amJetpack, 1, 0, 0, 1)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   718
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   719
	SetAmmo(amSwitch, 2, 0, 0, 1)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   720
	SetAmmo(amExtraTime,1,0,0,1)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   721
	SetAmmo(amLowGravity,1,0,0,0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   722
	SetAmmo(amSkip, 9, 0, 0, 0)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   723
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   724
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   725
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   726
13630
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13117
diff changeset
   727
function onGearResurrect(gear, vGear)
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   728
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   729
	-- mark the flag thief as dead if he needed a respawn
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   730
	for i = 0,1 do
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   731
		if gear == fThief[i] then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   732
			FlagThiefDead(gear)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   733
		end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   734
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   735
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   736
	-- place hogs belonging to each clan either left or right side of map
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   737
	if GetHogClan(gear) == 0 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   738
		FindPlace(gear, false, 0, 2048)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   739
	elseif GetHogClan(gear) == 1 then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   740
		FindPlace(gear, false, 2048, LAND_WIDTH)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   741
	end
4843
673f74c89687 merge in script tweaks
mikade
parents: 4786
diff changeset
   742
13630
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13117
diff changeset
   743
	if vGear then
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13117
diff changeset
   744
		SetVisualGearValues(vGear, GetX(gear), GetY(gear))
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13117
diff changeset
   745
	end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   746
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   747
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   748
13117
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   749
local excessHogsWarning = false
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   750
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   751
function onGearAdd(gear)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   752
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   753
	if GetGearType(gear) == gtHedgehog then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   754
14999
fe8b4f2da9aa CTF_Blizzard: Display scores in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14998
diff changeset
   755
		capturesPerHog[gear] = 0
13117
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   756
		if GetHogClan(gear) > 1 then
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   757
			DeleteGear(gear)
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   758
			if not excessHogsWarning then
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   759
				WriteLnToChat(loc("Only two clans allowed! Excess hedgehogs will be removed."))
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   760
				excessHogsWarning = true
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   761
			end
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   762
		else
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   763
			hhs[numhhs] = gear
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   764
			numhhs = numhhs + 1
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   765
			SetEffect(gear, heResurrectable, 1)
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   766
		end
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   767
13117
cd1561b0337f CTF_Blizzard: Force clan limit of 2. Auto-remove excess hogs
Wuzzy <Wuzzy2@mail.ru>
parents: 13116
diff changeset
   768
	elseif GetGearType(gear) == gtRope then
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   769
		ropeGear = gear
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   770
	end
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   771
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   772
end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   773
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   774
function onGearDelete(gear)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   775
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   776
	if (gear == fGear[0]) or (gear == fGear[1]) then
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   777
		FlagDeleted(gear)
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   778
	end
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   779
4871
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   780
	if GetGearType(gear) == gtRope then
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   781
		ropeGear = nil
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   782
	end
4a99a45ea886 bugfix for flag spawn, teleporter + rope
mikade
parents: 4843
diff changeset
   783
4953
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   784
	if GetGearType(gear) == gtHedgehog then
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   785
		for i = 0, (numhhs-1) do
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   786
			if gear == hhs[i] then
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   787
				
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   788
				for k = 0,1 do
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   789
					if gear == fThief[k] then
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   790
						FlagThiefDead(gear)
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   791
					end
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   792
				end				
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   793
				hhs[i] = nil	
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   794
			end		
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   795
		end
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   796
	end
ebd3dae634ca Fixed scoring exploit on Control and removed user branding from the map
mikade
parents: 4871
diff changeset
   797
4786
71fb9189d91c French translation finally gets some love
ourobolos
parents: 4764
diff changeset
   798
end