share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua
changeset 6820 7db9e89b3f80
parent 6378 b812bfcfeb49
child 7139 a47fd17ba463
equal deleted inserted replaced
6819:07e8de67c3c2 6820:7db9e89b3f80
     1 --------------------------------
     1 --------------------------------
     2 -- HIGHLANDER / HOGS OF WAR
     2 -- HIGHLANDER / HOGS OF WAR
     3 -- version 0.3b
     3 -- version 0.3c
     4 -- by mikade
     4 -- by mikade
     5 --------------------------------
     5 --------------------------------
     6 
     6 
     7 -----------
     7 -----------
     8 --0.1
     8 --0.1
    41 -- landgun is now a utility
    41 -- landgun is now a utility
    42 -- extra time, vampirism utility removed
    42 -- extra time, vampirism utility removed
    43 -- hammer wep removed
    43 -- hammer wep removed
    44 -- all hogs have kamikaze
    44 -- all hogs have kamikaze
    45 
    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 
    46 loadfile(GetDataPath() .. "Scripts/Locale.lua")()
    54 loadfile(GetDataPath() .. "Scripts/Locale.lua")()
    47 loadfile(GetDataPath() .. "Scripts/Tracker.lua")()
    55 loadfile(GetDataPath() .. "Scripts/Tracker.lua")()
    48 
    56 
    49 local wepArray = {}
    57 local airWeapons = 	{amAirAttack, amMineStrike, amNapalm, amDrillStrike --[[,amPiano]]}
    50 local atkArray = {}
    58 
    51 local utilArray = {}
    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 = 	{}
    52 
    79 
    53 local currName
    80 local currName
    54 local lastName
    81 local lastName
    55 local started = false
    82 local started = false
    56 local switchStage = 0
    83 local switchStage = 0
    57 
    84 
    58 function StartingSetUp(gear)
    85 function StartingSetUp(gear)
    59 
    86 
    60 	for i = 1, #wepArray do	
    87 	for i = 1, #wepArray do
    61 		setGearValue(gear,wepArray[i],0)
    88 		setGearValue(gear,wepArray[i],0)
    62 	end
    89 	end
    63 
    90 
    64 	setGearValue(gear,amKamikaze,1)
    91 	setGearValue(gear,amKamikaze,1)
    65 
    92 
    83 
   110 
    84 end]]
   111 end]]
    85 
   112 
    86 function ConvertValues(gear)
   113 function ConvertValues(gear)
    87 
   114 
    88 	for i = 1, #wepArray do	
   115 	for i = 1, #wepArray do
    89 		AddAmmo(gear, wepArray[i], getGearValue(gear,wepArray[i]) )
   116 		AddAmmo(gear, wepArray[i], getGearValue(gear,wepArray[i]) )
    90 	end
   117 	end
    91 
   118 
    92 
   119 
    93 end
   120 end
    95 
   122 
    96 function TransferWeps(gear)
   123 function TransferWeps(gear)
    97 
   124 
    98 	if CurrentHedgehog ~= nil then
   125 	if CurrentHedgehog ~= nil then
    99 
   126 
   100 		for i = 1, #wepArray do		
   127 		for i = 1, #wepArray do
   101 			val = getGearValue(gear,wepArray[i])
   128 			val = getGearValue(gear,wepArray[i])
   102 			if val ~= 0 then
   129 			if val ~= 0 then
   103 				setGearValue(CurrentHedgehog, wepArray[i], val)
   130 				setGearValue(CurrentHedgehog, wepArray[i], val)
   104 				AddAmmo(CurrentHedgehog, wepArray[i], val)
   131 				AddAmmo(CurrentHedgehog, wepArray[i], val)
   105 			end
   132 			end
   107 
   134 
   108 	end
   135 	end
   109 
   136 
   110 end
   137 end
   111 
   138 
   112 
       
   113 
       
   114 function onGameInit()
   139 function onGameInit()
   115 	GameFlags = gfInfAttack + gfRandomOrder
   140 	GameFlags = gfInfAttack + gfRandomOrder
   116 	HealthCaseProb = 100
   141 	HealthCaseProb = 100
   117 end
   142 end
   118 
   143 
   128 				"- " .. loc("Weapons reset.") .. "|" ..
   153 				"- " .. loc("Weapons reset.") .. "|" ..
   129 				"- " .. loc("Unlimited Attacks") .. "|" ..
   154 				"- " .. loc("Unlimited Attacks") .. "|" ..
   130 				"", 4, 4000
   155 				"", 4, 4000
   131 				)
   156 				)
   132 
   157 
   133 	atkArray = 	{amBazooka, amBee, amMortar, amDrill, --[[amSnowball,]]
   158 	if MapHasBorder() == false then
   134 			amGrenade, amClusterBomb, amMolotov, amWatermelon, amHellishBomb, amGasBomb,
   159         for i, w in pairs(airWeapons) do
   135 			amShotgun, amDEagle, amFlamethrower, amSniperRifle, amSineGun,
   160             table.insert(atkArray, w)
   136 			amFirePunch, amWhip, amBaseballBat, --[[amKamikaze,]] amSeduction, --[[amHammer,]]
   161         end
   137 			amMine, amDynamite, amCake, amBallgun, amRCPlane, amSMine,
   162     end
   138 			amAirAttack, amMineStrike, amDrillStrike, --[[amPiano,]] amRCPlane, amSMine,
   163 
   139 			amBirdy
   164 	for i, w in pairs(atkArray) do
   140 
   165         table.insert(wepArray, w)
   141 			} 
   166 	end
   142 
   167 
   143 	utilArray = 	{amBlowTorch, amPickHammer, amGirder, amPortalGun,
   168 	for i, w in pairs(utilArray) do
   144 			amRope, amParachute, amTeleport, amJetpack,
   169         table.insert(wepArray, w)
   145 			amInvulnerable, amLaserSight, --[[amVampiric,]]
   170 	end
   146 			amLowGravity, amExtraDamage, --[[amExtraTime,]]
       
   147 			amLandGun
       
   148 			}
       
   149 
       
   150 	wepArray = 	{amBazooka, amBee, amMortar, amDrill, --[[amSnowball,]]
       
   151 			amGrenade, amClusterBomb, amMolotov, amWatermelon, amHellishBomb, amGasBomb,
       
   152 			amShotgun, amDEagle, amFlamethrower, amSniperRifle, amSineGun,
       
   153 			amFirePunch, amWhip, amBaseballBat, --[[amKamikaze,]] amSeduction, --[[amHammer,]]
       
   154 			amMine, amDynamite, amCake, amBallgun, amRCPlane, amSMine,
       
   155 			amAirAttack, amMineStrike, amDrillStrike, --[[amPiano,]] amRCPlane, amSMine,
       
   156 			amBirdy,
       
   157 			
       
   158 			amBlowTorch, amPickHammer, amGirder, amPortalGun,
       
   159 			amRope, amParachute, amTeleport, amJetpack,
       
   160 			amInvulnerable, amLaserSight, --[[amVampiric,]]
       
   161 			amLowGravity, amExtraDamage, --[[amExtraTime,]]
       
   162 			amLandGun
       
   163 
       
   164 			}
       
   165 
       
   166 	-- REMOVED
       
   167 	-- amTardis, amResurrector, amSwitch 
       
   168 
   171 
   169 	runOnGears(StartingSetUp)
   172 	runOnGears(StartingSetUp)
   170 	runOnGears(ConvertValues)
   173 	runOnGears(ConvertValues)
   171 
   174 
   172 
   175