---------------------------------- 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 mapsloadfile(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 currNamelocal lastNamelocal started = falselocal switchStage = 0function 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]) ) endend]]function ConvertValues(gear) for i = 1, #wepArray do AddAmmo(gear, wepArray[i], getGearValue(gear,wepArray[i]) ) endendfunction 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 endendfunction onGameInit() GameFlags = gfInfAttack + gfRandomOrder HealthCaseProb = 100endfunction 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)endfunction onNewTurn()--endfunction onGameTick20() if (CurrentHedgehog ~= nil) then currName = GetHogName(CurrentHedgehog) if (currName ~= lastName) then AddCaption(loc("Switched to ") .. currName .. "!") ConvertValues(CurrentHedgehog) end lastName = currName endend--[[function onHogHide(gear) -- waiting for Henekendfunction onHogRestore(gear) -- waiting for Henekend]]function onGearAdd(gear) --if GetGearType(gear) == gtSwitcher then -- SaveWeapons(CurrentHedgehog) --end if (GetGearType(gear) == gtHedgehog) then trackGear(gear) endendfunction onGearDelete(gear) if (GetGearType(gear) == gtHedgehog) then --or (GetGearType(gear) == gtResurrector) then TransferWeps(gear) trackDeletion(gear) endendfunction onAmmoStoreInit() SetAmmo(amSkip, 9, 0, 0, 0) SetAmmo(amKamikaze, 9, 0, 0, 0) --SetAmmo(amSwitch, 9, 0, 0, 0) -------1end