7568
+ − 1
--------------------------------
+ − 2
-- HIGHLANDER / HOGS OF WAR
+ − 3
-- version 0.3c
+ − 4
-- by mikade
+ − 5
--------------------------------
+ − 6
+ − 7
-----------
+ − 8
--0.1
+ − 9
-----------
+ − 10
+ − 11
-- concept test
+ − 12
+ − 13
-----------
+ − 14
--0.2
+ − 15
-----------
+ − 16
+ − 17
-- remove tardis till Henek fixes his tracker
+ − 18
-- change wep crates to health crates
+ − 19
-- reset arb turntimevalue
+ − 20
-- include randomOrder
+ − 21
-- Until fixed .17 methods come out, remove switches and resurrector
+ − 22
-- on request, removed kamikaze and piano weapons
+ − 23
-- provisional fixing of bugs that can't actually be fixed yet
+ − 24
+ − 25
-----------
+ − 26
--0.3
+ − 27
-----------
+ − 28
+ − 29
-- meh, update incorrect display
+ − 30
-- may change this in the future to have switches
+ − 31
-- but for now people are used to it without, so~
+ − 32
+ − 33
-- mudball is now counted as a utility
+ − 34
+ − 35
-----------
+ − 36
--0.3b
+ − 37
-----------
+ − 38
+ − 39
-- cleaned up code and got rid of unneccessary vars
+ − 40
-- mudball is a weapon again
+ − 41
-- landgun is now a utility
+ − 42
-- extra time, vampirism utility removed
+ − 43
-- hammer wep removed
+ − 44
-- all hogs have kamikaze
+ − 45
+ − 46
-----------
+ − 47
--0.3c
+ − 48
-----------
+ − 49
+ − 50
-- restructured some code
+ − 51
-- added napalm (whoops) to list of possible weapons you can get
+ − 52
-- hogs no longer recieve airstrike-related weps on border maps
+ − 53
+ − 54
loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+ − 55
loadfile(GetDataPath() .. "Scripts/Tracker.lua")()
+ − 56
+ − 57
local airWeapons = {amAirAttack, amMineStrike, amNapalm, amDrillStrike --[[,amPiano]]}
+ − 58
+ − 59
local atkArray = {
+ − 60
amBazooka, amBee, amMortar, amDrill, --[[amSnowball,]]
+ − 61
amGrenade, amClusterBomb, amMolotov, amWatermelon, amHellishBomb, amGasBomb,
+ − 62
amShotgun, amDEagle, amFlamethrower, amSniperRifle, amSineGun,
+ − 63
amFirePunch, amWhip, amBaseballBat, --[[amKamikaze,]] amSeduction, --[[amHammer,]]
+ − 64
amMine, amDynamite, amCake, amBallgun, amRCPlane, amSMine,
+ − 65
amRCPlane, amSMine,
+ − 66
amBirdy
+ − 67
}
+ − 68
+ − 69
local utilArray = {
+ − 70
amBlowTorch, amPickHammer, amGirder, amPortalGun,
+ − 71
amRope, amParachute, amTeleport, amJetpack,
+ − 72
amInvulnerable, amLaserSight, --[[amVampiric,]]
+ − 73
amLowGravity, amExtraDamage, --[[amExtraTime,]]
+ − 74
amLandGun
+ − 75
--[[,amTardis, amResurrector, amSwitch]]
+ − 76
}
+ − 77
+ − 78
local wepArray = {}
+ − 79
+ − 80
local currName
+ − 81
local lastName
+ − 82
local started = false
+ − 83
local switchStage = 0
+ − 84
+ − 85
function StartingSetUp(gear)
+ − 86
+ − 87
for i = 1, #wepArray do
+ − 88
setGearValue(gear,wepArray[i],0)
+ − 89
end
+ − 90
+ − 91
setGearValue(gear,amKamikaze,1)
+ − 92
+ − 93
i = 1 + GetRandom(#atkArray)
+ − 94
setGearValue(gear,atkArray[i],1)
+ − 95
+ − 96
i = 1 + GetRandom(#utilArray)
+ − 97
setGearValue(gear,utilArray[i],1)
+ − 98
+ − 99
SetHealth(gear, 100)
+ − 100
+ − 101
end
+ − 102
+ − 103
--[[function SaveWeapons(gear)
+ − 104
+ − 105
-
+ − 106
for i = 1, (#wepArray) do
+ − 107
setGearValue(gear, wepArray[i], GetAmmoCount(gear, wepArray[i]) )
+ − 108
--AddAmmo(gear, wepArray[i], getGearValue(gear,wepArray[i]) )
+ − 109
end
+ − 110
+ − 111
end]]
+ − 112
+ − 113
function ConvertValues(gear)
+ − 114
+ − 115
for i = 1, #wepArray do
+ − 116
AddAmmo(gear, wepArray[i], getGearValue(gear,wepArray[i]) )
+ − 117
end
+ − 118
+ − 119
+ − 120
end
+ − 121
+ − 122
+ − 123
function TransferWeps(gear)
+ − 124
+ − 125
if CurrentHedgehog ~= nil then
+ − 126
+ − 127
for i = 1, #wepArray do
+ − 128
val = getGearValue(gear,wepArray[i])
+ − 129
if val ~= 0 then
+ − 130
setGearValue(CurrentHedgehog, wepArray[i], val)
+ − 131
AddAmmo(CurrentHedgehog, wepArray[i], val)
+ − 132
end
+ − 133
end
+ − 134
+ − 135
end
+ − 136
+ − 137
end
+ − 138
+ − 139
function onGameInit()
+ − 140
GameFlags = gfInfAttack + gfRandomOrder
+ − 141
HealthCaseProb = 100
+ − 142
end
+ − 143
+ − 144
function onGameStart()
+ − 145
+ − 146
+ − 147
ShowMission (
+ − 148
loc("HIGHLANDER"),
+ − 149
loc("Not all hogs are born equal."),
+ − 150
+ − 151
"- " .. loc("Eliminate enemy hogs and take their weapons.") .. "|" ..
+ − 152
"- " .. loc("Per-Hog Ammo") .. "|" ..
+ − 153
"- " .. loc("Weapons reset.") .. "|" ..
+ − 154
"- " .. loc("Unlimited Attacks") .. "|" ..
+ − 155
"", 4, 4000
+ − 156
)
+ − 157
+ − 158
if MapHasBorder() == false then
+ − 159
for i, w in pairs(airWeapons) do
+ − 160
table.insert(atkArray, w)
+ − 161
end
+ − 162
end
+ − 163
+ − 164
for i, w in pairs(atkArray) do
+ − 165
table.insert(wepArray, w)
+ − 166
end
+ − 167
+ − 168
for i, w in pairs(utilArray) do
+ − 169
table.insert(wepArray, w)
+ − 170
end
+ − 171
+ − 172
runOnGears(StartingSetUp)
+ − 173
runOnGears(ConvertValues)
+ − 174
+ − 175
+ − 176
end
+ − 177
+ − 178
function onNewTurn()
+ − 179
--
+ − 180
end
+ − 181
+ − 182
+ − 183
function onGameTick20()
+ − 184
+ − 185
if (CurrentHedgehog ~= nil) then
+ − 186
+ − 187
currName = GetHogName(CurrentHedgehog)
+ − 188
+ − 189
if (currName ~= lastName) then
+ − 190
AddCaption(loc("Switched to ") .. currName .. "!")
+ − 191
ConvertValues(CurrentHedgehog)
+ − 192
end
+ − 193
+ − 194
lastName = currName
+ − 195
end
+ − 196
+ − 197
end
+ − 198
+ − 199
--[[function onHogHide(gear)
+ − 200
-- waiting for Henek
+ − 201
end
+ − 202
+ − 203
function onHogRestore(gear)
+ − 204
-- waiting for Henek
+ − 205
end]]
+ − 206
+ − 207
function onGearAdd(gear)
+ − 208
+ − 209
--if GetGearType(gear) == gtSwitcher then
+ − 210
-- SaveWeapons(CurrentHedgehog)
+ − 211
--end
+ − 212
+ − 213
if (GetGearType(gear) == gtHedgehog) then
+ − 214
trackGear(gear)
+ − 215
end
+ − 216
+ − 217
end
+ − 218
+ − 219
function onGearDelete(gear)
+ − 220
+ − 221
if (GetGearType(gear) == gtHedgehog) then --or (GetGearType(gear) == gtResurrector) then
+ − 222
TransferWeps(gear)
+ − 223
trackDeletion(gear)
+ − 224
end
+ − 225
+ − 226
end
+ − 227
+ − 228
function onAmmoStoreInit()
+ − 229
SetAmmo(amSkip, 9, 0, 0, 0)
+ − 230
SetAmmo(amKamikaze, 9, 0, 0, 0)
+ − 231
--SetAmmo(amSwitch, 9, 0, 0, 0) -------1
+ − 232
end
+ − 233