share/hedgewars/Data/Missions/Scenario/Big_Armory.lua
author Wuzzy <almikes@aol.com>
Tue, 11 Apr 2017 05:29:44 +0200
changeset 12230 f9565e2e0424
child 12231 b4878d6cd96e
permissions -rw-r--r--
Add scenario: Big Armory
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12230
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     1
HedgewarsScriptLoad("/Scripts/Locale.lua")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     2
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     3
local playerHog
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     4
local playerTeamName = loc("Pro Killers")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     5
local enemyTeamName = loc("Galaxy Guardians")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     6
local enemyTeam1 = {
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     7
	{name=loc("Rocket"), x=796, y=1184},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     8
	{name=loc("Star"), x=733, y=1525},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
     9
	{name=loc("Asteroid"), x=738, y=1855},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    10
	{name=loc("Comet"), x=937, y=1318},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    11
	{name=loc("Sunflame"), x=3424, y=1536},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    12
	{name=loc("Eclipse"), x=3417, y=1081},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    13
	{name=loc("Jetpack"), x=2256, y=1246},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    14
	{name=loc("Void"), x=1587, y=1231},
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    15
}
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    16
local gameStarted = false
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    17
local turnNo = 0
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    18
local toleranceTimer = nil
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    19
local enemyHogsLeft = #enemyTeam1
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    20
local pendingDeaths = {}
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    21
local enemyHogs = {}
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    22
local gameEnded = false
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    23
local waitGears = 0
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    24
local hasAttacked = false
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    25
local minePlaced = false
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    26
local delayGear = nil
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    27
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    28
function onGameInit()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    29
	Seed = "{7e34a56b-ee7b-4fe1-8f30-352a998f3f6a}"
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    30
	GameFlags = gfDisableWind + gfDisableLandObjects
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    31
	TurnTime= 45000
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    32
	CaseFreq = 0 
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    33
	MinesNum = 0 
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    34
	Explosives = 0 
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    35
	Theme = "EarthRise" 
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    36
	MapGen = mgRandom
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    37
	MapFeatureSize = 12
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    38
	-- Disable Sudden Death
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    39
	WaterRise = 0
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    40
	HealthDecrease = 0
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    41
	
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    42
	AddTeam(playerTeamName, 0xFF0000, "Bone", "Island", "Classic", "cm_scout")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    43
	playerHog = AddHog(loc("Ultrasoldier"), 0, 100, "Terminator_Glasses")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    44
	SetGearPosition(playerHog, 543, 1167)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    45
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    46
	AddTeam(enemyTeamName, 0xF5F808, "Earth", "Island", "Classic", "cm_galaxy")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    47
	for i=1,8 do
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    48
		local hogID = AddHog(enemyTeam1[i].name, 0, 100, "NoHat")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    49
		table.insert(enemyHogs, hogID)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    50
		SetGearPosition(hogID, enemyTeam1[i].x, enemyTeam1[i].y)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    51
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    52
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    53
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    54
function onAmmoStoreInit()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    55
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    56
	SetAmmo(amGrenade, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    57
	SetAmmo(amClusterBomb, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    58
	SetAmmo(amBazooka, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    59
	SetAmmo(amBee, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    60
	SetAmmo(amShotgun, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    61
	SetAmmo(amPickHammer, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    62
	SetAmmo(amSkip, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    63
	SetAmmo(amRope, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    64
	SetAmmo(amMine, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    65
	SetAmmo(amDEagle, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    66
	SetAmmo(amDynamite, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    67
	SetAmmo(amFirePunch, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    68
	SetAmmo(amWhip, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    69
	SetAmmo(amBaseballBat, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    70
	SetAmmo(amParachute, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    71
	SetAmmo(amAirAttack, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    72
	SetAmmo(amMineStrike, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    73
	SetAmmo(amBlowTorch, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    74
	SetAmmo(amGirder, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    75
	SetAmmo(amTeleport, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    76
	SetAmmo(amSwitch, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    77
	SetAmmo(amMortar, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    78
	SetAmmo(amKamikaze, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    79
	SetAmmo(amCake, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    80
	SetAmmo(amSeduction, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    81
	SetAmmo(amWatermelon, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    82
	SetAmmo(amHellishBomb, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    83
	SetAmmo(amNapalm, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    84
	SetAmmo(amDrill, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    85
	SetAmmo(amBallgun, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    86
	SetAmmo(amRCPlane, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    87
	SetAmmo(amLowGravity, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    88
	SetAmmo(amExtraDamage, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    89
	SetAmmo(amInvulnerable, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    90
	SetAmmo(amLaserSight, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    91
	SetAmmo(amVampiric, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    92
	SetAmmo(amSniperRifle, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    93
	SetAmmo(amJetpack, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    94
	SetAmmo(amMolotov, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    95
	SetAmmo(amBirdy, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    96
	SetAmmo(amPortalGun, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    97
	SetAmmo(amPiano, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    98
	SetAmmo(amGasBomb, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
    99
	SetAmmo(amSineGun, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   100
	SetAmmo(amFlamethrower, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   101
	SetAmmo(amSMine, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   102
	SetAmmo(amHammer, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   103
	SetAmmo(amResurrector, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   104
	SetAmmo(amDrillStrike, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   105
	SetAmmo(amSnowball, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   106
	SetAmmo(amTardis, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   107
	SetAmmo(amLandGun, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   108
	SetAmmo(amIceGun, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   109
	SetAmmo(amKnife, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   110
	SetAmmo(amRubber, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   111
	SetAmmo(amAirMine, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   112
	SetAmmo(amDuck, 9, 0, 0, 1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   113
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   114
	SetAmmo(amExtraTime, 2, 0, 0, 0)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   115
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   116
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   117
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   118
function onGameStart()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   119
	SendHealthStatsOff()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   120
	ShowMission(loc("Big Armory"), loc("Scenario"), loc("Kill all enemy hedgehogs in a single turn."), -amBazooka, 0) 
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   121
	SetWind(15)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   122
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   123
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   124
function onGameTick20()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   125
	if not gameStarted and turnNo == 1 and TurnTimeLeft < TurnTime then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   126
		gameStarted = true
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   127
	elseif gameStarted and not gameEnded then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   128
		if isPlayerAlive() then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   129
			if enemyHogsLeft - countPending() <= 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   130
				TurnTimeLeft = 0
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   131
				if delayGear then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   132
					DeleteGear(delayGear)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   133
				end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   134
				return
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   135
			elseif (enemyHogsLeft > 0) and TurnTimeLeft < 40 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   136
				if not toleranceTimer and waitGears <= 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   137
					SetInputMask(0)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   138
					SetGearMessage(playerHog, 0)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   139
					if not minePlaced then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   140
						TurnTimeLeft = 10000000
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   141
					end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   142
					if hasAttacked then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   143
						if minePlaced then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   144
							toleranceTimer = 12000
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   145
						else
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   146
							toleranceTimer = 7500
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   147
						end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   148
					else
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   149
						PlaySound(sndBoring, playerHog)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   150
						toleranceTimer = 5020
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   151
					end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   152
					return
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   153
				end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   154
			end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   155
			if toleranceTimer ~= nil then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   156
				if toleranceTimer % 1000 == 0 and toleranceTimer > 0 and toleranceTimer <= 5000 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   157
					AddCaption(string.format(loc("Mission failure in %d s"), div(toleranceTimer, 1000)), 0xFFFFFFFF, capgrpGameState)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   158
				end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   159
				if toleranceTimer == 4000 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   160
					PlaySound(sndCountdown4)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   161
				elseif toleranceTimer == 3000 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   162
					PlaySound(sndCountdown3)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   163
				elseif toleranceTimer == 2000 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   164
					PlaySound(sndCountdown2)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   165
				elseif toleranceTimer == 1000 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   166
					PlaySound(sndCountdown1)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   167
				end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   168
				if waitGears <= 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   169
					if toleranceTimer <= 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   170
						lose()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   171
						return
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   172
					end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   173
					toleranceTimer = toleranceTimer - 20
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   174
				end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   175
				return
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   176
			end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   177
		end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   178
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   179
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   180
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   181
function onGearAdd(gear)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   182
	local gt = GetGearType(gear)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   183
	if gt == gtIceGun or gt == gtPickHammer or gt == gtSineGunShot or gt == gtCake
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   184
	or gt == gtTeleport or gt == gtFlamethrower or gt == gtBallGun or gt == gtSeduction
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   185
	or gt == gtAirAttack or gt == gtMine or gt == gtSMine or gt == gtAirMine
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   186
	or (isWaitGear(gear) and gt ~= gtFlame) then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   187
		--[[ This is a hack to prevent the turn from instantly ending
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   188
		after using a weapon with a retreat time of 0. For some reason, there would be
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   189
		are also problems with the hellish-hand grenade without this hack.
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   190
		It spawns an invisible grenade with disabled gravity at (0,0) with a
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   191
		high timer, which will delay the end of the turn. ]]
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   192
		if delayGear == nil then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   193
			delayGear = AddGear(0, 0, gtGrenade, gstNoGravity + gstInvisible, 0, 0, 2147483647)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   194
		end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   195
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   196
	if gt == gtMine or gt == gtSMine or gt == gtAirMine then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   197
		minePlaced = true
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   198
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   199
	if isWaitGear(gear) then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   200
		waitGears = waitGears + 1
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   201
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   202
	if gt == gtAirAttack then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   203
		hasAttacked = true
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   204
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   205
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   206
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   207
function onGearDelete(gear)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   208
	if isWaitGear(gear) then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   209
		waitGears = waitGears - 1
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   210
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   211
	if GetGearType(gear) == gtHedgehog then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   212
		if GetHogTeamName(gear) == enemyTeamName then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   213
			enemyHogsLeft = enemyHogsLeft - 1
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   214
			pendingDeaths[gear] = nil
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   215
			if enemyHogsLeft <= 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   216
				win()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   217
			end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   218
		end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   219
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   220
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   221
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   222
function countPending()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   223
	local p = 0
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   224
	for h, v in pairs(pendingDeaths) do
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   225
		if v then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   226
			p = p + 1
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   227
		end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   228
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   229
	return p
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   230
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   231
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   232
function isPlayerAlive()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   233
	if GetGearType(playerHog) == gtHedgehog then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   234
		if GetHealth(playerHog) == 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   235
			return false
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   236
		else
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   237
			local _, gearDamage
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   238
			_, _, _, _, _, _, _, _, _, _, _, gearDamage = GetGearValues(playerHog)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   239
			return (GetHealth(playerHog) - gearDamage) > 0
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   240
		end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   241
	else
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   242
		return false
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   243
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   244
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   245
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   246
function onGearDamage(gear, damage)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   247
	if GetGearType(gear) == gtHedgehog then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   248
		if GetHogTeamName(gear) == enemyTeamName then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   249
			local _, gearDamage
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   250
			_, _, _, _, _, _, _, _, _, _, _, gearDamage = GetGearValues(gear)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   251
			if (GetHealth(gear) - gearDamage) <= 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   252
				pendingDeaths[gear] = true
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   253
			end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   254
		end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   255
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   256
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   257
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   258
function isWaitGear(gear)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   259
	local gt = GetGearType(gear)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   260
	return gt == gtBall or gt == gtHellishBomb or gt == gtWatermelon or gt == gtMelonPiece
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   261
		or (gt == gtFlame and band(GetState(gear), gsttmpFlag) == 0)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   262
		or gt == gtDrill or gt == gtAirAttack or gt == gtAirBomb or gt == gtCluster
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   263
		or gt == gtEgg or gt == gtHammerHit or gt == gtNapalmBomb or gt == gtPoisonCloud
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   264
		or gt == gtGasBomb
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   265
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   266
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   267
function onNewTurn()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   268
	turnNo = turnNo + 1
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   269
	if turnNo > 1 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   270
		PlaySound(sndBoring, playerHog)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   271
		lose()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   272
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   273
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   274
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   275
function onHogAttack(ammoType)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   276
	-- Set hasAttacked if hog attacked NOT with a non-turn ending weapon
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   277
	if ammoType ~= amNothing and ammoType ~= amSkip and ammoType ~= amJetpack and ammoType ~= amGirder and ammoType ~= amRubber
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   278
		and ammoType ~= amLandGun and ammoType ~= amParachute and ammoType ~= amResurrector and ammoType ~= amRope and ammoType ~= amSwitcher
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   279
		and ammoType ~= amExtraDamage and ammoType ~= amExtraTime and ammoType ~= amLowGravity and ammoType ~= amInvulnerable
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   280
		and ammoType ~= amLaserSight and ammoType ~= amVampiric and ammoType ~= amPortalGun and ammoType ~= amSnowball then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   281
		hasAttacked = true
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   282
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   283
	if ammoType == amSkip and enemyHogsLeft > 0 then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   284
		PlaySound(sndCoward, playerHog)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   285
		lose()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   286
		return
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   287
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   288
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   289
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   290
function lose()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   291
	if not gameEnded then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   292
		PlaySound(sndStupid, playerHog)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   293
		local mission, achievement
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   294
		mission = loc("You failed to kill all enemies in this turn.")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   295
		achievement = loc("You failed to kill all enemies in a single turn.")
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   296
		AddCaption(loc("Mission failed!"), 0xFFFFFFFF, capgrpGameState)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   297
		ShowMission(loc("Big Armory"), loc("Scenario"), mission, -amBazooka, 5000) 
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   298
		SendStat(siGameResult, loc("You lose!"))
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   299
		SendStat(siCustomAchievement, achievement)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   300
		SendStat(siPlayerKills, tostring(0), enemyTeamName)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   301
		SendStat(siPlayerKills, tostring(8-enemyHogsLeft), playerTeamName)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   302
		gameEnded = true
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   303
		EndGame()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   304
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   305
end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   306
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   307
function win()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   308
	if not gameEnded then
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   309
		AddCaption(loc("Victory!"), 0xFFFFFFFF, capgrpGameState)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   310
		ShowMission(loc("Big Armory"), loc("Scenario"), loc("Congratulations! You win."), 4, 5000) 
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   311
		PlaySound(sndVictory, playerHog)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   312
		SendStat(siGameResult, loc("You win!"))
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   313
		SendStat(siCustomAchievement, loc("You have killed all enemies."))
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   314
		SendStat(siPlayerKills, tostring(8-enemyHogsLeft), playerTeamName)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   315
		SendStat(siPlayerKills, tostring(0), enemyTeamName)
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   316
		gameEnded = true
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   317
		EndGame()
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   318
	end
f9565e2e0424 Add scenario: Big Armory
Wuzzy <almikes@aol.com>
parents:
diff changeset
   319
end