project_files/Android-build/SDL-android-project/assets/Data/Scripts/Multiplayer/Highlander.lua
Fix rotatemask (hedgehog info) key toggling team bars instead of changing hedgehog tags
Pressing rotatemask toggled the team bars, but it was clearly indicatd
otherwise in the controls menu. To change hog tags, you must have pressed
rotatemask+precise which is not what users expect.
New behaviour:
- rotatemask changes hog tags
- rotatemask+precise toggles team bars
--------------------------------
-- HIGHLANDER / HOGS OF WAR
-- version 0.3c
-- by mikade
--------------------------------
-----------
--0.1
-----------
-- concept test
-----------
--0.2
-----------
-- remove tardis till Henek fixes his tracker
-- change wep crates to health crates
-- reset arb turntimevalue
-- include randomOrder
-- Until fixed .17 methods come out, remove switches and resurrector
-- on request, removed kamikaze and piano weapons
-- provisional fixing of bugs that can't actually be fixed yet
-----------
--0.3
-----------
-- meh, update incorrect display
-- may change this in the future to have switches
-- but for now people are used to it without, so~
-- mudball is now counted as a utility
-----------
--0.3b
-----------
-- cleaned up code and got rid of unneccessary vars
-- mudball is a weapon again
-- landgun is now a utility
-- extra time, vampirism utility removed
-- hammer wep removed
-- all hogs have kamikaze
-----------
--0.3c
-----------
-- restructured some code
-- added napalm (whoops) to list of possible weapons you can get
-- hogs no longer recieve airstrike-related weps on border maps
loadfile(GetDataPath() .. "Scripts/Locale.lua")()
loadfile(GetDataPath() .. "Scripts/Tracker.lua")()
local airWeapons = {amAirAttack, amMineStrike, amNapalm, amDrillStrike --[[,amPiano]]}
local atkArray = {
amBazooka, amBee, amMortar, amDrill, --[[amSnowball,]]
amGrenade, amClusterBomb, amMolotov, amWatermelon, amHellishBomb, amGasBomb,
amShotgun, amDEagle, amFlamethrower, amSniperRifle, amSineGun,
amFirePunch, amWhip, amBaseballBat, --[[amKamikaze,]] amSeduction, --[[amHammer,]]
amMine, amDynamite, amCake, amBallgun, amRCPlane, amSMine,
amRCPlane, amSMine,
amBirdy
}
local utilArray = {
amBlowTorch, amPickHammer, amGirder, amPortalGun,
amRope, amParachute, amTeleport, amJetpack,
amInvulnerable, amLaserSight, --[[amVampiric,]]
amLowGravity, amExtraDamage, --[[amExtraTime,]]
amLandGun
--[[,amTardis, amResurrector, amSwitch]]
}
local wepArray = {}
local currName
local lastName
local started = false
local switchStage = 0
function StartingSetUp(gear)
for i = 1, #wepArray do
setGearValue(gear,wepArray[i],0)
end
setGearValue(gear,amKamikaze,1)
i = 1 + GetRandom(#atkArray)
setGearValue(gear,atkArray[i],1)
i = 1 + GetRandom(#utilArray)
setGearValue(gear,utilArray[i],1)
SetHealth(gear, 100)
end
--[[function SaveWeapons(gear)
-
for i = 1, (#wepArray) do
setGearValue(gear, wepArray[i], GetAmmoCount(gear, wepArray[i]) )
--AddAmmo(gear, wepArray[i], getGearValue(gear,wepArray[i]) )
end
end]]
function ConvertValues(gear)
for i = 1, #wepArray do
AddAmmo(gear, wepArray[i], getGearValue(gear,wepArray[i]) )
end
end
function TransferWeps(gear)
if CurrentHedgehog ~= nil then
for i = 1, #wepArray do
val = getGearValue(gear,wepArray[i])
if val ~= 0 then
setGearValue(CurrentHedgehog, wepArray[i], val)
AddAmmo(CurrentHedgehog, wepArray[i], val)
end
end
end
end
function onGameInit()
GameFlags = gfInfAttack + gfRandomOrder
HealthCaseProb = 100
end
function onGameStart()
ShowMission (
loc("HIGHLANDER"),
loc("Not all hogs are born equal."),
"- " .. loc("Eliminate enemy hogs and take their weapons.") .. "|" ..
"- " .. loc("Per-Hog Ammo") .. "|" ..
"- " .. loc("Weapons reset.") .. "|" ..
"- " .. loc("Unlimited Attacks") .. "|" ..
"", 4, 4000
)
if MapHasBorder() == false then
for i, w in pairs(airWeapons) do
table.insert(atkArray, w)
end
end
for i, w in pairs(atkArray) do
table.insert(wepArray, w)
end
for i, w in pairs(utilArray) do
table.insert(wepArray, w)
end
runOnGears(StartingSetUp)
runOnGears(ConvertValues)
end
function onNewTurn()
--
end
function onGameTick20()
if (CurrentHedgehog ~= nil) then
currName = GetHogName(CurrentHedgehog)
if (currName ~= lastName) then
AddCaption(loc("Switched to ") .. currName .. "!")
ConvertValues(CurrentHedgehog)
end
lastName = currName
end
end
--[[function onHogHide(gear)
-- waiting for Henek
end
function onHogRestore(gear)
-- waiting for Henek
end]]
function onGearAdd(gear)
--if GetGearType(gear) == gtSwitcher then
-- SaveWeapons(CurrentHedgehog)
--end
if (GetGearType(gear) == gtHedgehog) then
trackGear(gear)
end
end
function onGearDelete(gear)
if (GetGearType(gear) == gtHedgehog) then --or (GetGearType(gear) == gtResurrector) then
TransferWeps(gear)
trackDeletion(gear)
end
end
function onAmmoStoreInit()
SetAmmo(amSkip, 9, 0, 0, 0)
SetAmmo(amKamikaze, 9, 0, 0, 0)
--SetAmmo(amSwitch, 9, 0, 0, 0) -------1
end