--- a/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Mon May 25 16:53:52 2015 -0400
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Tue May 26 10:42:17 2015 +0200
@@ -1,41 +1,46 @@
--[[
-Made for 0.9.21
+ version 1.3n
-Copyright (C) 2012 Vatten
+ The expat (MIT) license
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ Copyright (C) 2012 Vatten
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
]]
HedgewarsScriptLoad("/Scripts/Locale.lua")
HedgewarsScriptLoad("/Scripts/Utils.lua")
HedgewarsScriptLoad("/Scripts/Tracker.lua")
-function int_sqrt(num)
+--approximative version of square root. This function follows the babylonian method.
+function IntegerSqrt(num)
local temp=num
while(temp*temp-div(temp,2)>num)
do
temp=div((temp+div(num,temp)),2)
end
-
+
return math.abs(temp)
end
-function norm(xx,yy)
+-- sqrt(x^2,y^2), work without desyncs. is approximative
+function Norm(xx,yy)
--to fix overflows
if(((math.abs(xx)^2)+(math.abs(yy)^2))>2^26)
then
local bitr=2^13
- return int_sqrt((div(math.abs(xx),bitr)^2)+(div(math.abs(yy),bitr)^2))*bitr
+ return IntegerSqrt((div(math.abs(xx),bitr)^2)+(div(math.abs(yy),bitr)^2))*bitr
else
- return int_sqrt((math.abs(xx)^2)+(math.abs(yy)^2))
+ return IntegerSqrt((math.abs(xx)^2)+(math.abs(yy)^2))
end
end
-function positive(num)
+-- returns 1 or -1 depending on where it is
+function GetIfNegative(num)
if(num<0)
then
return -1
@@ -44,61 +49,100 @@
end
end
+--Will end the turn + give escape time
function EndTurn()
SetState(CurrentHedgehog,bor(GetState(CurrentHedgehog),gstAttacked))
--3 sec espace time
TurnTimeLeft = GetAwayTime*10*3
+ end
+
+ --show health tag (will mostly be used when a hog is damaged)
+function ShowDamageTag(hog,damage)
+ healthtag=AddVisualGear(GetX(hog), GetY(hog), vgtHealthTag, damage, false)
+ v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 = GetVisualGearValues(healthtag)
+ SetVisualGearValues(healthtag, v1, v2, v3, v4, v5, v6, v7, v8, v9, GetClanColor(GetHogClan(hog)))
+end
+
+--will use IntegerSqrt
+function FireGear(hedgehog,geartype,vx,vy,timer)
+ local hypo=Norm(vx,vy)
+ return AddGear(div((GetGearRadius(hedgehog)*2*vx),hypo)+GetX(hedgehog), div((GetGearRadius(hedgehog)*2*vy),hypo)+GetY(hedgehog), geartype, 0, vx, vy, timer)
end
---for sundaland
-local turnhog=0
+--This function will set the gravity on a scale from 0->100, where 50 is the standard one.
+ function SetGravityFromScale(grav)
+ if(grav>100)
+ then
+ grav=100
+ elseif(grav<0)
+ then
+ grav=0
+ end
-local teams_ok = {}
-local wepcode_teams={}
-local swapweps=false
+ if(grav>50)
+ then
+ SetGravity(100+((grav-50)*12))
+ else
+ SetGravity(25+grav+div(grav,2))
+ end
+ end
+
+--====MISC GLOBALS====
+
+--for selecting continent
+local GLOBAL_INIT_TEAMS = {}
+local GLOBAL_SELECT_CONTINENT_CHECK=false
+local GLOBAL_TEAM_CONTINENT = {}
--variables for seeing if you have swaped around on a weapon
-local australianSpecial=false
-local africanSpecial=0
-local africaspecial2=0
-local samericanSpecial=false
-local namericanSpecial=1
-local sniper_s_in_use=false
-local kergulenSpecial=1
-local shotgun_s=false
-local europe_s=0
-local VampOn=0
+local GLOBAL_AUSTRALIAN_SPECIAL=0
+local GLOBAL_AFRICAN_SPECIAL_SEDUCTION=0
+local GLOBAL_AFRICAN_SPECIAL_STICKY=0
+local GLOBAL_SOUTH_AMERICAN_SPECIAL=false
+local GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER=1
+local GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false
+local GLOBAL_KERGUELEN_SPECIAL=1
+local GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN=false
+local GLOBAL_EUROPE_SPECIAL=0
-local austmine=nil
-local inpara=false
-local asianflame=0
+--detection if something is activated
+local GLOBAL_SWITCH_HOG_IS_ON=false
+local GLOBAL_VAMPIRIC_IS_ON=0
+local GLOBAL_EXTRA_DAMAGE_IS_ON=100
+local GLOBAL_PARACHUTE_IS_ON=false
-local visualcircle=nil
+--the visual circle for kerguelen
+local GLOBAL_VISUAL_CIRCLE=nil
-local temp_val=0
+--the global temp value
+local GLOBAL_TEMP_VALUE=0
--for sabotage
-local disallowattack=0
-local disable_moving={}
-local disableRand=0
---local disableoffsetai=0
-local onsabotageai=false
+local GLOBAL_SABOTAGE_COUNTER=0
+local GLOBAL_SABOTAGE_HOGS={}
+local GLOBAL_SABOTAGE_FREQUENCY=0
+local GLOBAL_SABOTAGE_GRAVITY_SWITCH=true
+
+--for sundaland
+local GLOBAL_SUNDALAND_END_HOG=0
-local continent = {}
+--====GENERAL GLOBALS (useful for handling continents)====
-local generalinfo="- "..loc("Per team weapons").."|- 10 "..loc("weaponschemes").."|- "..loc("Unique new weapons").."| |"..loc("Select continent first round with the Weapon Menu or by").." (["..loc("switch").."/"..loc("tab").."]="..loc("Increase")..",["..loc("presice").."/"..loc("left shift").."]="..loc("Decrease")..") "..loc("on Skip").."|"..loc("Some weapons have a second option. Find them with").." ["..loc("switch").."/"..loc("tab").."]"
+local GLOBAL_GENERAL_INFORMATION="- "..loc("Per team weapons").."|- 10 "..loc("weaponschemes").."|- "..loc("Unique new weapons").."| |"..loc("Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu.").."|"..loc("Note: Some weapons have a second option (See continent information). Find and use them with the \"")..loc("switch").."\" "..loc("key.").."|"..loc("Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials.")
-local weapontexts = {
+local GLOBAL_SHOW_SMALL_INFO=0
+
+local GLOBAL_WEAPON_TEXTS = {
loc("Green lipstick bullet: [Poisonous, deals no damage]"),
-loc("REMOVED"),
+loc("Cluck-cluck time: [Fire an egg ~ Sabotages and cures poison ~ Cannot be fired close to another hog]"),
loc("Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"),
loc("Dust storm: [Deals 15 damage to all enemies in the circle]"),
-loc("Cricket time: [Drop a fireable mine! ~ Will work if fired close to your hog & far away from enemy ~ 1 sec]"),
+loc("Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"),
loc("Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"),
-loc("Penguin roar: [Deal 15 damage + 15% of your hogs health to all hogs around you and get 2/3 back]"),
+loc("Penguin roar: [Deal 15 damage + 10% of your hogs health to all hogs around you and get 2/3 back]"),
loc("Disguise as a Rockhopper Penguin: [Swap place with a random enemy hog in the circle]"),
-loc("REMOVED"),
-loc("Lonely Cries: [Rise the water if no hog is in the circle and deal 7 damage to all enemy hogs]"),
+nil,
+loc("Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"),
loc("Hedgehog projectile: [Fire your hog like a Sticky Bomb]"),
loc("Napalm rocket: [Fire a bomb with napalm!]"),
loc("Eagle Eye: [Blink to the impact ~ One shot]"),
@@ -106,41 +150,41 @@
loc("Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]")
}
-local weaponsets =
+local GLOBAL_CONTINENT_INFORMATION =
{
-{loc("North America"),loc("Area")..": 24,709,000 km2, "..loc("Population")..": 529,000,000",loc("- Will give you an airstrike every fifth turn.").."|"..loc("Special Weapons:").."|"..loc("Shotgun")..": "..weapontexts[13].."|"..loc("Sniper Rifle")..": "..weapontexts[1],amSniperRifle,
-{{amShotgun,100},{amDEagle,100},{amLaserSight,4},{amSniperRifle,100},{amCake,1},{amAirAttack,2},{amSwitch,5}}},
+{loc("North America"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 24,709,000 km2, "..loc("Population")..": 529,000,000",loc("- You can switch between hogs at the start of your turns. (Not first one)").."|"..loc("Special Weapons:").."|"..loc("Shotgun")..": "..GLOBAL_WEAPON_TEXTS[13].."|"..loc("Sniper Rifle")..": "..GLOBAL_WEAPON_TEXTS[1],amSniperRifle,
+{{amShotgun,100},{amDEagle,100},{amLaserSight,2},{amSniperRifle,100},{amCake,1},{amAirAttack,2},{amSwitch,2}}},
-{loc("South America"),loc("Area")..": 17,840,000 km2, "..loc("Population")..": 387,000,000",loc("Special Weapons:").."|"..loc("GasBomb")..": "..weapontexts[3],amGasBomb,
-{{amBirdy,100},{amHellishBomb,1},{amBee,100},{amGasBomb,100},{amFlamethrower,100},{amNapalm,1},{amExtraDamage,3}}},
+{loc("South America"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 17,840,000 km2, "..loc("Population")..": 387,000,000",loc("Special Weapons:").."|"..loc("GasBomb")..": "..GLOBAL_WEAPON_TEXTS[3],amGasBomb,
+{{amBirdy,100},{amHellishBomb,1},{amBee,100},{amGasBomb,100},{amFlamethrower,100},{amNapalm,1},{amExtraDamage,2}}},
-{loc("Europe"),loc("Area")..": 10,180,000 km2, "..loc("Population")..": 740,000,000",loc("Special Weapons:").."|"..loc("Molotov")..": "..weapontexts[14],amBazooka,
+{loc("Europe"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 10,180,000 km2, "..loc("Population")..": 740,000,000",loc("Special Weapons:").."|"..loc("Molotov")..": "..GLOBAL_WEAPON_TEXTS[14],amBazooka,
{{amBazooka,100},{amGrenade,100},{amMortar,100},{amMolotov,100},{amVampiric,3},{amPiano,1},{amResurrector,2},{amJetpack,4}}},
-{loc("Africa"),loc("Area")..": 30,222,000 km2, "..loc("Population")..": 1,033,000,000",loc("Special Weapons:").."|"..loc("Seduction")..": "..weapontexts[4].."|"..loc("Sticky Mine")..": "..weapontexts[11].."|"..loc("Sticky Mine")..": "..weapontexts[12],amSMine,
-{{amSMine,100},{amWatermelon,1},{amDrillStrike,1},{amDrill,100},{amInvulnerable,4},{amSeduction,100},{amLandGun,2}}},
+{loc("Africa"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 30,222,000 km2, "..loc("Population")..": 1,033,000,000",loc("Special Weapons:").."|"..loc("Seduction")..": "..GLOBAL_WEAPON_TEXTS[4].."|"..loc("Sticky Mine")..": "..GLOBAL_WEAPON_TEXTS[11].."|"..loc("Sticky Mine")..": "..GLOBAL_WEAPON_TEXTS[12],amSMine,
+{{amSMine,100},{amWatermelon,1},{amDrillStrike,1},{amDrill,100},{amInvulnerable,5},{amSeduction,100},{amLandGun,2}}},
-{loc("Asia"),loc("Area")..": 44,579,000 km2, "..loc("Population")..": 3,880,000,000",loc("- Will give you a parachute every second turn.").."|"..loc("Special Weapons:").."|"..loc("Parachute")..": "..weapontexts[6],amRope,
-{{amRope,100},{amFirePunch,100},{amParachute,1},{amKnife,2},{amDynamite,1}}},
+{loc("Asia"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 44,579,000 km2, "..loc("Population")..": 3,880,000,000",loc("- Will give you a parachute every second turn.").."|"..loc("Special Weapons:").."|"..loc("Parachute")..": "..GLOBAL_WEAPON_TEXTS[6],amRope,
+{{amRope,100},{amFirePunch,100},{amParachute,2},{amKnife,2},{amDynamite,1}}},
-{loc("Australia"),loc("Area")..": 8,468,000 km2, "..loc("Population")..": 31,000,000",loc("Special Weapons:").."|"..loc("Baseballbat")..": "..weapontexts[5],amBaseballBat,
-{{amBaseballBat,100},{amMine,100},{amLowGravity,4},{amBlowTorch,100},{amRCPlane,2},{amTeleport,3}}},
+{loc("Australia"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 8,468,000 km2, "..loc("Population")..": 31,000,000",loc("Special Weapons:").."|"..loc("Baseballbat")..": "..GLOBAL_WEAPON_TEXTS[5].."|"..loc("Baseballbat")..": "..GLOBAL_WEAPON_TEXTS[2],amBaseballBat,
+{{amBaseballBat,100},{amMine,100},{amLowGravity,4},{amBlowTorch,100},{amRCPlane,2},{amTeleport,2},{amRubber,2}}},
-{loc("Antarctica"),loc("Area")..": 14,000,000 km2, "..loc("Population")..": ~1,000",loc("Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."),amIceGun,
-{{amSnowball,2},{amIceGun,2},{amPickHammer,100},{amSineGun,4},{amGirder,2},{amExtraTime,2},{amPortalGun,2}}},
+{loc("Antarctica"),"["..loc("Difficulty: ")..loc("HARD").."] "..loc("Area")..": 14,000,000 km2, "..loc("Population")..": ~1,000",loc("Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."),amIceGun,
+{{amSnowball,2},{amIceGun,2},{amPickHammer,100},{amSineGun,5},{amGirder,2},{amExtraTime,1},{amPortalGun,2}}},
-{loc("Kerguelen"),loc("Area")..": 1,100,000 km2, "..loc("Population")..": ~100",loc("Special Weapons:").."|"..loc("Hammer")..": "..weapontexts[7].."|"..loc("Hammer")..": "..weapontexts[8].." ("..loc("Duration")..": 2)|"..loc("Hammer")..": "..weapontexts[10].."|"..loc("Hammer")..": "..weapontexts[15],amHammer,
-{{amHammer,100},{amMineStrike,2},{amBallgun,1}}},
+{loc("Kerguelen"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 1,100,000 km2, "..loc("Population")..": ~100",loc("Special Weapons:").."|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[7].."|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[8].." ("..loc("Duration")..": 2)|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[10].."|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[15],amHammer,
+{{amHammer,100},{amMineStrike,1},{amBallgun,1}}},
-{loc("Zealandia"),loc("Area")..": 3,500,000 km2, "..loc("Population")..": 5,000,000",loc("- Will Get 1-3 random weapons") .. "|" .. loc("- Massive weapon bonus on first turn"),amInvulnerable,
+{loc("Zealandia"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 3,500,000 km2, "..loc("Population")..": 5,000,000",loc("- Will Get 1-3 random weapons") .. "|" .. loc("- Massive weapon bonus on first turn"),amInvulnerable,
{{amBazooka,1},{amGrenade,1},{amBlowTorch,1},{amSwitch,100},{amRope,1},{amDrill,1},{amDEagle,1},{amPickHammer,1},{amFirePunch,1},{amWhip,1},{amMortar,1},{amSnowball,1},{amExtraTime,1},{amInvulnerable,1},{amVampiric,1},{amFlamethrower,1},{amBee,1},{amClusterBomb,1},{amTeleport,1},{amLowGravity,1},{amJetpack,1},{amGirder,1},{amLandGun,1},{amBirdy,1}}},
-{loc("Sundaland"),loc("Area")..": 1,850,000 km2, "..loc("Population")..": 290,000,000",loc("- You will recieve 2-4 weapons on each kill! (Even on own hogs)"),amTardis,
-{{amClusterBomb,3},{amTardis,4},{amWhip,100},{amKamikaze,4}}}
+{loc("Sundaland"),"["..loc("Difficulty: ")..loc("HARD").."] "..loc("Area")..": 1,850,000 km2, "..loc("Population")..": 290,000,000",loc("- You will recieve 2-4 weapons on each kill! (Even on own hogs)"),amTardis,
+{{amClusterBomb,4},{amTardis,4},{amWhip,100},{amKamikaze,4}}}
}
-local weaponsetssounds=
+local GLOBAL_CONTINENT_SOUNDS=
{
{sndShotgunFire,sndCover},
{sndEggBreak,sndLaugh},
@@ -151,11 +195,12 @@
{sndSineGun,sndOops},
{sndPiano5,sndStupid},
{sndSplash,sndFirstBlood},
- {sndWarp,sndSameTeam}
+ {sndWarp,sndSameTeam},
+ {sndFrozenHogImpact,sndUhOh}
}
--weapontype,ammo,?,duration,*times your choice,affect on random team (should be placed with 1,0,1,0,1 on the 6th option for better randomness)
-local weapons_dmg = {
+local GLOBAL_WEAPONS_DAMAGE = {
{amKamikaze, 0, 1, 0, 1, 0},
{amSineGun, 0, 1, 0, 1, 1},
{amBazooka, 0, 1, 0, 1, 0},
@@ -182,6 +227,7 @@
{amDrill, 0, 1, 0, 1, 0},
{amBallgun, 0, 1, 5, 1, 2},
{amMolotov, 0, 1, 0, 1, 0},
+ {amHammer, 0, 1, 0, 1, 2},
{amBirdy, 0, 1, 0, 1, 0},
{amBlowTorch, 0, 1, 0, 1, 0},
{amRCPlane, 0, 1, 5, 1, 2},
@@ -189,11 +235,10 @@
{amAirAttack, 0, 1, 4, 1, 1},
{amFlamethrower, 0, 1, 0, 1, 0},
{amSMine, 0, 1, 0, 1, 1},
- {amHammer, 0, 1, 0, 1, 0},
{amDrillStrike, 0, 1, 4, 1, 2},
{amSnowball, 0, 1, 0, 1, 0}
}
-local weapons_supp = {
+local GLOBAL_WEAPONS_SUPPORT = {
{amParachute, 0, 1, 0, 1, 0},
{amGirder, 0, 1, 0, 1, 0},
{amSwitch, 0, 1, 0, 1, 0},
@@ -211,11 +256,13 @@
{amLandGun, 0, 1, 0, 1, 0},
{amTardis, 0, 1, 0, 1, 0},
{amIceGun, 0, 1, 0, 1, 0},
- {amKnife, 0, 1, 0, 1, 0}
+ {amKnife, 0, 1, 0, 1, 0},
+ {amRubber, 0, 1, 0, 1, 0}
+
}
--will check after borders and stuff
-function validate_weapon(hog,weapon,amount)
+function ValidateWeapon(hog,weapon,amount)
if(MapHasBorder() == false or (MapHasBorder() == true and weapon ~= amAirAttack and weapon ~= amMineStrike and weapon ~= amNapalm and weapon ~= amDrillStrike and weapon ~= amPiano))
then
if(amount==1)
@@ -227,6 +274,7 @@
end
end
+--removes one weapon
function RemoveWeapon(hog,weapon)
if(GetAmmoCount(hog, weapon)<100)
@@ -236,49 +284,49 @@
end
--reset all weapons for a team
-function cleanweps(hog)
+function CleanWeapons(hog)
local i=1
- --+1 for skip +1 for freezer
- while(i<=table.maxn(weapons_supp)+table.maxn(weapons_dmg)+2)
+ --+1 for skip
+ while(i<=table.maxn(GLOBAL_WEAPONS_SUPPORT)+table.maxn(GLOBAL_WEAPONS_DAMAGE)+1)
do
AddAmmo(hog,i,0)
i=i+1
end
-
+
AddAmmo(hog,amSkip,100)
end
--get the weapons from a weaponset
-function load_weaponset(hog, num)
- for v,w in pairs(weaponsets[num][5])
+function LoadWeaponset(hog, num)
+ for v,w in pairs(GLOBAL_CONTINENT_INFORMATION[num][5])
do
- validate_weapon(hog, w[1],w[2])
+ ValidateWeapon(hog, w[1],w[2])
end
end
--list up all weapons from the icons for each continent
-function load_continent_selection(hog)
+function InitWeaponsMenu(hog)
if(GetHogLevel(hog)==0)
then
- for v,w in pairs(weaponsets)
+ for v,w in pairs(GLOBAL_CONTINENT_INFORMATION)
do
- validate_weapon(hog, weaponsets[v][4],1)
+ ValidateWeapon(hog, GLOBAL_CONTINENT_INFORMATION[v][4],1)
end
AddAmmo(hog,amSwitch) --random continent
-
+
--for the computers
else
--europe
- validate_weapon(hog, weaponsets[3][4],1)
+ ValidateWeapon(hog, GLOBAL_CONTINENT_INFORMATION[3][4],1)
--north america
- validate_weapon(hog, weaponsets[1][4],1)
+ ValidateWeapon(hog, GLOBAL_CONTINENT_INFORMATION[1][4],1)
end
end
--shows the continent info
-function show_continent_info(continent,time,generalinf)
+function ShowContinentInfo(continent,time,generalinf)
local geninftext=""
local ns=false
if(time==-1)
@@ -288,9 +336,12 @@
end
if(generalinf)
then
- geninftext="| |"..loc("General information")..": |"..generalinfo
+ geninftext="| |"..loc("General information")..": |"..GLOBAL_GENERAL_INFORMATION
end
- ShowMission(weaponsets[continent][1],weaponsets[continent][2],weaponsets[continent][3]..geninftext, -weaponsets[continent][4], time)
+
+ GLOBAL_SHOW_SMALL_INFO=div(time,40)
+
+ ShowMission(GLOBAL_CONTINENT_INFORMATION[continent][1],GLOBAL_CONTINENT_INFORMATION[continent][2],GLOBAL_CONTINENT_INFORMATION[continent][3]..geninftext, -GLOBAL_CONTINENT_INFORMATION[continent][4], time)
if(ns)
then
HideMission()
@@ -298,7 +349,7 @@
end
--will show a circle of gears (eye candy)
-function visual_gear_explosion(range,xpos,ypos,gear1,gear2)
+function VisualExplosion(range,xpos,ypos,gear1,gear2)
local degr=0
local lap=30
while(lap<range)
@@ -318,312 +369,331 @@
end
--zealandia (generates weapons from the weaponinfo above
-function get_random_weapon(hog)
- if(GetGearType(hog) == gtHedgehog and continent[GetHogTeamName(hog)]==9 and getTeamValue(GetHogTeamName(hog), "rand-done-turn")==nil)
+function ZealandiaGetWeapons(hog)
+ if(GetGearType(hog) == gtHedgehog and GLOBAL_TEAM_CONTINENT[GetHogTeamName(hog)]==9 and getTeamValue(GetHogTeamName(hog), "rand-done-turn")==nil)
then
- cleanweps(hog)
-
+ CleanWeapons(hog)
+
local random_weapon = 0
local old_rand_weap = 0
local rand_weaponset_power = 0
-
- local numberof_weapons_supp=table.maxn(weapons_supp)
- local numberof_weapons_dmg=table.maxn(weapons_dmg)
-
- local rand1=math.abs(GetRandom(numberof_weapons_supp)+1)
- local rand2=math.abs(GetRandom(numberof_weapons_dmg)+1)
-
- random_weapon = math.abs(GetRandom(table.maxn(weapons_dmg))+1)
-
- while(weapons_dmg[random_weapon][4]>TotalRounds or (MapHasBorder() == true and (weapons_dmg[random_weapon][1]== amAirAttack or weapons_dmg[random_weapon][1] == amMineStrike or weapons_dmg[random_weapon][1] == amNapalm or weapons_dmg[random_weapon][1] == amDrillStrike or weapons_dmg[random_weapon][1] == amPiano)))
+
+ local numberofweaponssupp=table.maxn(GLOBAL_WEAPONS_SUPPORT)
+ local numberofweaponsdmg=table.maxn(GLOBAL_WEAPONS_DAMAGE)
+
+ local rand1=math.abs(GetRandom(numberofweaponssupp)+1)
+ local rand2=math.abs(GetRandom(numberofweaponsdmg)+1)
+
+ random_weapon = math.abs(GetRandom(table.maxn(GLOBAL_WEAPONS_DAMAGE))+1)
+
+ while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>TotalRounds or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano)))
do
- if(random_weapon>=numberof_weapons_dmg)
+ if(random_weapon>=numberofweaponsdmg)
then
random_weapon=0
end
random_weapon = random_weapon+1
end
- validate_weapon(hog, weapons_dmg[random_weapon][1],1)
- rand_weaponset_power=weapons_dmg[random_weapon][6]
+ ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1)
+ rand_weaponset_power=GLOBAL_WEAPONS_DAMAGE[random_weapon][6]
old_rand_weap = random_weapon
-
+
if(rand_weaponset_power <2)
then
random_weapon = rand1
- while(weapons_supp[random_weapon][4]>TotalRounds or rand_weaponset_power+weapons_supp[random_weapon][6]>2)
+ while(GLOBAL_WEAPONS_SUPPORT[random_weapon][4]>TotalRounds or rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6]>2)
do
- if(random_weapon>=numberof_weapons_supp)
+ if(random_weapon>=numberofweaponssupp)
then
random_weapon=0
end
random_weapon = random_weapon+1
end
- validate_weapon(hog, weapons_supp[random_weapon][1],1)
- rand_weaponset_power=rand_weaponset_power+weapons_supp[random_weapon][6]
+ ValidateWeapon(hog, GLOBAL_WEAPONS_SUPPORT[random_weapon][1],1)
+ rand_weaponset_power=rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6]
end
--check again if the power is enough
if(rand_weaponset_power <1)
then
random_weapon = rand2
- while(weapons_dmg[random_weapon][4]>TotalRounds or old_rand_weap == random_weapon or weapons_dmg[random_weapon][6]>0 or (MapHasBorder() == true and (weapons_dmg[random_weapon][1]== amAirAttack or weapons_dmg[random_weapon][1] == amMineStrike or weapons_dmg[random_weapon][1] == amNapalm or weapons_dmg[random_weapon][1] == amDrillStrike or weapons_dmg[random_weapon][1] == amPiano)))
+ while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>TotalRounds or old_rand_weap == random_weapon or GLOBAL_WEAPONS_DAMAGE[random_weapon][6]>0 or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano)))
do
- if(random_weapon>=numberof_weapons_dmg)
+ if(random_weapon>=numberofweaponsdmg)
then
random_weapon=0
end
random_weapon = random_weapon+1
end
- validate_weapon(hog, weapons_dmg[random_weapon][1],1)
+ ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1)
end
-
+
setTeamValue(GetHogTeamName(hog), "rand-done-turn", true)
end
end
--sundaland add weps
-function get_random_weapon_on_death(hog)
-
+function SundalandGetWeapons(hog)
+
local random_weapon = 0
local old_rand_weap = 0
local rand_weaponset_power = 0
-
+
local firstTurn=0
-
- local numberof_weapons_supp=table.maxn(weapons_supp)
- local numberof_weapons_dmg=table.maxn(weapons_dmg)
-
- local rand1=GetRandom(numberof_weapons_supp)+1
- local rand2=GetRandom(numberof_weapons_dmg)+1
- local rand3=GetRandom(numberof_weapons_dmg)+1
-
- random_weapon = GetRandom(numberof_weapons_dmg)+1
-
+
+ local numberofweaponssupp=table.maxn(GLOBAL_WEAPONS_SUPPORT)
+ local numberofweaponsdmg=table.maxn(GLOBAL_WEAPONS_DAMAGE)
+
+ local rand1=GetRandom(numberofweaponssupp)+1
+ local rand2=GetRandom(numberofweaponsdmg)+1
+ local rand3=GetRandom(numberofweaponsdmg)+1
+
+ random_weapon = GetRandom(numberofweaponsdmg)+1
+
if(TotalRounds<0)
then
firstTurn=-TotalRounds
end
-
- while(weapons_dmg[random_weapon][4]>(TotalRounds+firstTurn) or (MapHasBorder() == true and (weapons_dmg[random_weapon][1]== amAirAttack or weapons_dmg[random_weapon][1] == amMineStrike or weapons_dmg[random_weapon][1] == amNapalm or weapons_dmg[random_weapon][1] == amDrillStrike or weapons_dmg[random_weapon][1] == amPiano)))
+
+ while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>(TotalRounds+firstTurn) or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano)))
do
- if(random_weapon>=numberof_weapons_dmg)
+ if(random_weapon>=numberofweaponsdmg)
then
random_weapon=0
end
random_weapon = random_weapon+1
end
- validate_weapon(hog, weapons_dmg[random_weapon][1],1)
- rand_weaponset_power=weapons_dmg[random_weapon][6]
+ ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1)
+ rand_weaponset_power=GLOBAL_WEAPONS_DAMAGE[random_weapon][6]
old_rand_weap = random_weapon
-
+
random_weapon = rand1
- while(weapons_supp[random_weapon][4]>(TotalRounds+firstTurn) or rand_weaponset_power+weapons_supp[random_weapon][6]>2)
+ while(GLOBAL_WEAPONS_SUPPORT[random_weapon][4]>(TotalRounds+firstTurn) or rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6]>2)
do
- if(random_weapon>=numberof_weapons_supp)
+ if(random_weapon>=numberofweaponssupp)
then
random_weapon=0
end
random_weapon = random_weapon+1
end
- validate_weapon(hog, weapons_supp[random_weapon][1],1)
- rand_weaponset_power=rand_weaponset_power+weapons_supp[random_weapon][6]
-
+ ValidateWeapon(hog, GLOBAL_WEAPONS_SUPPORT[random_weapon][1],1)
+ rand_weaponset_power=rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6]
+
--check again if the power is enough
if(rand_weaponset_power <2)
then
random_weapon = rand2
- while(weapons_dmg[random_weapon][4]>(TotalRounds+firstTurn) or old_rand_weap == random_weapon or weapons_dmg[random_weapon][6]>0 or (MapHasBorder() == true and (weapons_dmg[random_weapon][1]== amAirAttack or weapons_dmg[random_weapon][1] == amMineStrike or weapons_dmg[random_weapon][1] == amNapalm or weapons_dmg[random_weapon][1] == amDrillStrike or weapons_dmg[random_weapon][1] == amPiano)))
+ while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>(TotalRounds+firstTurn) or old_rand_weap == random_weapon or GLOBAL_WEAPONS_DAMAGE[random_weapon][6]>0 or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano)))
do
- if(random_weapon>=numberof_weapons_dmg)
+ if(random_weapon>=numberofweaponsdmg)
then
random_weapon=0
end
random_weapon = random_weapon+1
end
- validate_weapon(hog, weapons_dmg[random_weapon][1],1)
- rand_weaponset_power=weapons_dmg[random_weapon][6]
+ ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1)
+ rand_weaponset_power=GLOBAL_WEAPONS_DAMAGE[random_weapon][6]
end
-
+
if(rand_weaponset_power <1)
then
random_weapon = rand3
- while(weapons_dmg[random_weapon][4]>(TotalRounds+firstTurn) or old_rand_weap == random_weapon or weapons_dmg[random_weapon][6]>0 or (MapHasBorder() == true and (weapons_dmg[random_weapon][1]== amAirAttack or weapons_dmg[random_weapon][1] == amMineStrike or weapons_dmg[random_weapon][1] == amNapalm or weapons_dmg[random_weapon][1] == amDrillStrike or weapons_dmg[random_weapon][1] == amPiano)))
+ while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>(TotalRounds+firstTurn) or old_rand_weap == random_weapon or GLOBAL_WEAPONS_DAMAGE[random_weapon][6]>0 or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano)))
do
- if(random_weapon>=numberof_weapons_dmg)
+ if(random_weapon>=numberofweaponsdmg)
then
random_weapon=0
end
random_weapon = random_weapon+1
end
- validate_weapon(hog, weapons_dmg[random_weapon][1],1)
+ ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1)
end
-
+
AddVisualGear(GetX(hog), GetY(hog)-30, vgtEvilTrace,0, false)
PlaySound(sndReinforce,hog)
end
--this will take that hogs settings for the weapons and add them
-function setweapons()
+function SetContinentWeapons()
- cleanweps(CurrentHedgehog)
- load_weaponset(CurrentHedgehog,continent[GetHogTeamName(CurrentHedgehog)])
-
+ CleanWeapons(CurrentHedgehog)
+ LoadWeaponset(CurrentHedgehog,GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)])
+
visualstuff=AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-5, vgtDust,0, false)
v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 = GetVisualGearValues(visualstuff)
SetVisualGearValues(visualstuff, v1, v2, v3, v4, v5, v6, v7, 2, v9, GetClanColor(GetHogClan(CurrentHedgehog)))
-
- show_continent_info(continent[GetHogTeamName(CurrentHedgehog)],0,false)
-end
---show health tag (will mostly be used when a hog is damaged)
-function show_damage_tag(hog,damage)
- healthtag=AddVisualGear(GetX(hog), GetY(hog), vgtHealthTag, damage, false)
- v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 = GetVisualGearValues(healthtag)
- SetVisualGearValues(healthtag, v1, v2, v3, v4, v5, v6, v7, v8, v9, GetClanColor(GetHogClan(hog)))
-end
-
---will use int_sqrt
-function fire_gear(hedgehog,geartype,vx,vy,timer)
- local hypo=norm(vx,vy)
- return AddGear(div((GetGearRadius(hedgehog)*2*vx),hypo)+GetX(hedgehog), div((GetGearRadius(hedgehog)*2*vy),hypo)+GetY(hedgehog), geartype, 0, vx, vy, timer)
+ ShowContinentInfo(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)],3000,false)
end
--==========================run throw all hog/gear weapons ==========================
---will check if the mine is nicely placed
-function weapon_aust_check(hog)
+--will check if the mine is nicely placed
+function AustraliaSpecialCheckHogs(hog)
if(GetGearType(hog) == gtHedgehog)
then
- if(gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 50, false)==true and hog ~= CurrentHedgehog)
+ if(gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 40, false)==true and hog ~= CurrentHedgehog)
then
- temp_val=1
+ GLOBAL_TEMP_VALUE=1
end
end
end
--african special on sedunction
-function weapon_duststorm(hog)
+function AfricaSpecialSeduction(hog)
if(GetGearType(hog) == gtHedgehog)
then
- local dmg=15
+ local dmg=div(15*GLOBAL_EXTRA_DAMAGE_IS_ON,100)
if(gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 250, false)==true and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog))
then
if(GetHealth(hog) > dmg)
then
- temp_val=temp_val+div(dmg*VampOn,100)
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(dmg*GLOBAL_VAMPIRIC_IS_ON,100)
SetHealth(hog, GetHealth(hog)-dmg)
else
- temp_val=temp_val+div(GetHealth(hog)*VampOn,100)
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(GetHealth(hog)*GLOBAL_VAMPIRIC_IS_ON,100)
SetHealth(hog, 0)
end
- show_damage_tag(hog,dmg)
+ ShowDamageTag(hog,dmg)
end
end
end
---kerguelen special on structure
-function weapon_scream_pen(hog)
+--kerguelen special on structure
+function KerguelenSpecialRed(hog)
if(GetGearType(hog) == gtHedgehog)
then
if(gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 120, false)==true and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog))
then
- local dmg=15+GetHealth(CurrentHedgehog)*0.15
-
+ local dmg=div((15+div(GetHealth(CurrentHedgehog)*10,100))*GLOBAL_EXTRA_DAMAGE_IS_ON,100)
+
if(GetHealth(hog)>dmg)
then
- temp_val=temp_val+div(dmg*2,3)+div(dmg*VampOn*2,100*3)
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(dmg*2,3)+div(dmg*GLOBAL_VAMPIRIC_IS_ON*2,100*3)
SetHealth(hog, GetHealth(hog)-dmg)
else
- temp_val=temp_val+(GetHealth(hog)*0.75)+(GetHealth(CurrentHedgehog)*0.1)+div((GetHealth(hog)+(GetHealth(CurrentHedgehog)*0.15))*VampOn,100)
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+(div(GetHealth(hog)*75,100))+(div(GetHealth(CurrentHedgehog)*10,100))+div((GetHealth(hog)+div(GetHealth(CurrentHedgehog)*10,100))*GLOBAL_VAMPIRIC_IS_ON,100)
SetHealth(hog, 0)
end
- show_damage_tag(hog,dmg)
+ ShowDamageTag(hog,dmg)
AddVisualGear(GetX(hog), GetY(hog), vgtExplosion, 0, false)
AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmokeWhite, 0, false)
end
end
end
---kerguelen special swap hog
-function weapon_swap_kerg(hog)
+--will count the hogs, used to get one random hog.
+function KerguelenSpecialYellowCountHogs(hog)
if(GetGearType(hog) == gtHedgehog)
then
- if(kergulenSpecial ~= -1 and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 450, false))
+ if(GetHogClan(hog) ~= GetHogClan(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 420, false))
then
- local thisX=GetX(CurrentHedgehog)
- local thisY=GetY(CurrentHedgehog)
- SetGearPosition(CurrentHedgehog, GetX(hog), GetY(hog))
- SetGearPosition(hog, thisX, thisY)
- kergulenSpecial=-1
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+1
+ end
+ end
+end
+--kerguelen special swap hog
+function KerguelenSpecialYellowSwap(hog)
+ if(GetGearType(hog) == gtHedgehog)
+ then
+ if(GLOBAL_KERGUELEN_SPECIAL ~= -1 and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 420, false))
+ then
+ if(GLOBAL_TEMP_VALUE==0)
+ then
+ local thisX=GetX(CurrentHedgehog)
+ local thisY=GetY(CurrentHedgehog)
+ SetGearPosition(CurrentHedgehog, GetX(hog), GetY(hog))
+ SetGearPosition(hog, thisX, thisY)
+ GLOBAL_KERGUELEN_SPECIAL=-1
+ else
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE-1
+ end
end
end
end
--kerguelen special will apply sabotage
-function weapon_sabotage(hog)
+function KerguelenSpecialGreen(hog)
if(GetGearType(hog) == gtHedgehog)
then
if(CurrentHedgehog~=hog and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 80, false))
then
- temp_val=1
- disable_moving[hog]=true
+ GLOBAL_TEMP_VALUE=1
+ GLOBAL_SABOTAGE_HOGS[hog]=1
AddGear(GetX(hog), GetY(hog), gtCluster, 0, 0, 0, 1)
PlaySound(sndNooo,hog)
end
end
end
---south american special (used fire gear)
-function weapon_anno_south(hog)
- local power_radius_outer=230
- local power_radius_inner=45
- local power_sa=500000
- local hypo=0
- if(gearIsInCircle(hog,GetX(temp_val), GetY(temp_val), power_radius_outer, false) and gearIsInCircle(hog,GetX(temp_val), GetY(temp_val), power_radius_inner, false)==false)
+--first part on kerguelen special (lonely cries)
+function KerguelenSpecialBlueCheck(hog)
+ if(GetGearType(hog) == gtHedgehog and hog ~= CurrentHedgehog and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 550, false))
then
- if(hog == CurrentHedgehog)
- then
- SetState(CurrentHedgehog, gstMoving)
- end
- SetGearPosition(hog, GetX(hog),GetY(hog)-3)
- hypo=norm(math.abs(GetX(hog)-GetX(temp_val)),math.abs(GetY(hog)-GetY(temp_val)))
- SetGearVelocity(hog, div((power_radius_outer-hypo)*power_sa*positive(GetX(hog)-GetX(temp_val)),power_radius_outer), div((power_radius_outer-hypo)*power_sa*positive(GetY(hog)-GetY(temp_val)),power_radius_outer))
- end
-end
-
---first part on kerguelen special (lonely cries)
-function weapon_cries_a(hog)
- if(GetGearType(hog) == gtHedgehog and hog ~= CurrentHedgehog and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 500, false))
- then
- kergulenSpecial=-1
+ GLOBAL_KERGUELEN_SPECIAL=-1
end
end
--second part on kerguelen special (lonely cries)
-function weapon_cries_b(hog)
+function KerguelenSpecialBlueActivate(hog)
if(GetGearType(hog) == gtHedgehog)
then
- local dmg=7
+ local dmg=div(6*GLOBAL_EXTRA_DAMAGE_IS_ON,100)
if(GetHogClan(hog) ~= GetHogClan(CurrentHedgehog))
then
if(GetHealth(hog) > dmg)
then
- temp_val=temp_val+div(dmg*VampOn,100)
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(dmg*GLOBAL_VAMPIRIC_IS_ON,100)
SetHealth(hog, GetHealth(hog)-dmg)
else
- temp_val=temp_val+div(GetHealth(hog)*VampOn,100)
+ GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(GetHealth(hog)*GLOBAL_VAMPIRIC_IS_ON,100)
SetHealth(hog, 0)
end
- show_damage_tag(hog,dmg)
+ ShowDamageTag(hog,dmg)
+
AddVisualGear(GetX(hog), GetY(hog)-30, vgtEvilTrace, 0, false)
end
end
end
---north american special on sniper
-function weapon_lipstick(hog)
+--australia
+function AustraliaSpecialEggHit(hog)
if(GetGearType(hog) == gtHedgehog)
then
- if(gearIsInCircle(temp_val,GetX(hog), GetY(hog), 20, false))
+ if(gearIsInCircle(hog,GetX(GLOBAL_TEMP_VALUE), GetY(GLOBAL_TEMP_VALUE), 18, false))
+ then
+ GLOBAL_SABOTAGE_HOGS[hog]=1
+ PlaySound(sndNooo,hog)
+ SetEffect(hog, hePoisoned, false)
+ end
+ end
+end
+
+--south american special (used fire gear)
+function SouthAmericaSpecialCheeseExplosion(hog)
+ if(GetGearType(hog) == gtHedgehog or GetGearType(hog) == gtMine or GetGearType(hog) == gtExplosives)
+ then
+ local power_radius_outer=230
+ local power_radius_inner=45
+ local power_sa=500000
+ local hypo=0
+ if(gearIsInCircle(hog,GetX(GLOBAL_TEMP_VALUE), GetY(GLOBAL_TEMP_VALUE), power_radius_outer, false) and gearIsInCircle(hog,GetX(GLOBAL_TEMP_VALUE), GetY(GLOBAL_TEMP_VALUE), power_radius_inner, false)==false)
+ then
+ if(hog == CurrentHedgehog)
+ then
+ SetState(CurrentHedgehog, gstMoving)
+ end
+ SetGearPosition(hog, GetX(hog),GetY(hog)-3)
+ hypo=Norm(math.abs(GetX(hog)-GetX(GLOBAL_TEMP_VALUE)),math.abs(GetY(hog)-GetY(GLOBAL_TEMP_VALUE)))
+ SetGearVelocity(hog, div((power_radius_outer-hypo)*power_sa*GetIfNegative(GetX(hog)-GetX(GLOBAL_TEMP_VALUE)),power_radius_outer), div((power_radius_outer-hypo)*power_sa*GetIfNegative(GetY(hog)-GetY(GLOBAL_TEMP_VALUE)),power_radius_outer))
+ end
+ end
+end
+
+--north american special on sniper
+function NorthAmericaSpecialSniper(hog)
+ if(GetGearType(hog) == gtHedgehog)
+ then
+ if(gearIsInCircle(GLOBAL_TEMP_VALUE,GetX(hog), GetY(hog), 20, false))
then
SetEffect(hog, hePoisoned, 1)
PlaySound(sndBump)
@@ -632,120 +702,179 @@
end
--european special on molotov (used fire gear)
-function weapon_health(hog)
+function EuropeSpecialMolotovHit(hog)
if(GetGearType(hog) == gtHedgehog)
then
- if(gearIsInCircle(temp_val,GetX(hog), GetY(hog), 100, false))
+ if(gearIsInCircle(GLOBAL_TEMP_VALUE,GetX(hog), GetY(hog), 100, false))
then
- SetHealth(hog, GetHealth(hog)+25+(div(25*VampOn,100)))
+ SetHealth(hog, GetHealth(hog)+25+(div(25*GLOBAL_VAMPIRIC_IS_ON,100)))
SetEffect(hog, hePoisoned, false)
+ GLOBAL_SABOTAGE_HOGS[hog]=0
end
end
end
--for sundaland
-function find_other_hog_in_team(hog)
+function SundalandFindOtherHogInTeam(hog)
if(GetGearType(hog) == gtHedgehog)
then
- if(GetHogTeamName(turnhog)==GetHogTeamName(hog))
+ if(GetHogTeamName(GLOBAL_SUNDALAND_END_HOG)==GetHogTeamName(hog))
then
- turnhog=hog
+ GLOBAL_SUNDALAND_END_HOG=hog
end
end
end
--============================================================================
+--for custom made continent, follows the same standards as the globalism one. You can make your continent with <Name>~<Information>~<Weapons>. Take the weapons generated from globalism, if you want a GUI :P
+--weapons=<ammo><types>, ammo = ascii[116(1 ammo) to 125(inf ammo)] types = ascii[36(Grenade), 37(Clusterbomb) to 90(knife)] see https://code.google.com/p/hedgewars/wiki/AmmoTypes
+--ex "Own continent~this continent rocks!~tZ}$" will get 1 knife and inf grenades
+function onParameters()
+
+ if(ScriptParam~=nil)
+ then
+ local continentinfo={}
+ local numb=0
+ local wepcodes=0
+ local where=0
+
+ local x=0
+ local i=1
+
+ --default icon
+ continentinfo[4]=amLowGravity
+
+ for c in ScriptParam:gmatch"."
+ do
+ if(where==0)
+ then
+ if(string.byte(c)==126)
+ then
+ continentinfo[1]=string.sub(ScriptParam,0,numb)
+ wepcodes=numb
+ where=1
+ end
+ elseif(where==1)
+ then
+ if(string.byte(c)==126)
+ then
+ continentinfo[2]=string.sub(ScriptParam,wepcodes+2,numb)
+ continentinfo[5]={}
+ wepcodes=numb
+ where=2
+ end
+ elseif(where==2)
+ then
+ x=string.byte(c)-35
+ if(x>90)
+ then
+ break
+ elseif(x>80)
+ then
+ if(x-80<10)
+ then
+ i=x-80
+ else
+ i=100
+ end
+ else
+ table.insert(continentinfo[5],{x,i})
+ end
+ end
+ numb=numb+1
+ end
+
+ if(continentinfo[5]~=nil and continentinfo[5][1]~=nil)
+ then
+ continentinfo[3]="- "..continentinfo[1]..loc(" was extracted from the scheme|- This continent will be able to use the specials from the other continents!")
+
+ table.insert(GLOBAL_CONTINENT_INFORMATION, continentinfo)
+ end
+ end
+end
+
--set each weapons settings
function onAmmoStoreInit()
SetAmmo(amSkip, 9, 0, 0, 0)
-
- for v,w in pairs(weapons_dmg)
+
+ for v,w in pairs(GLOBAL_WEAPONS_DAMAGE)
do
SetAmmo(w[1], w[2], w[3], w[4], w[5])
end
-
- for v,w in pairs(weapons_supp)
+
+ for v,w in pairs(GLOBAL_WEAPONS_SUPPORT)
do
SetAmmo(w[1], w[2], w[3], w[4], w[5])
end
end
+--on game start
function onGameStart()
- --trackTeams()
-
- ShowMission(loc("Continental supplies"),loc("Let a Continent provide your weapons!"),
- generalinfo, -amLowGravity, 0)
+ ShowMission(loc("Continental supplies"),loc("Let a continent provide your weapons!"),
+ GLOBAL_GENERAL_INFORMATION, -amLowGravity, 0)
end
--what happen when a turn starts
function onNewTurn()
-
+
--will refresh the info on each tab weapon
- australianSpecial=true
- austmine=nil
- africanSpecial=0
- samericanSpecial=false
- africaspecial2=0
- kergulenSpecial=1
- namericanSpecial=1
- asianflame=0
- shotgun_s=false
- sniper_s_in_use=false
- europe_s=0
- VampOn=0
-
- temp_val=0
-
- turnhog=CurrentHedgehog
-
- --for sabotage
- if(disable_moving[CurrentHedgehog]==true)
- then
- disallowattack=-100
- disableRand=GetRandom(3)+5
- end
-
+ GLOBAL_AUSTRALIAN_SPECIAL=0
+ GLOBAL_AFRICAN_SPECIAL_SEDUCTION=0
+ GLOBAL_SOUTH_AMERICAN_SPECIAL=false
+ GLOBAL_AFRICAN_SPECIAL_STICKY=0
+ GLOBAL_KERGUELEN_SPECIAL=1
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER=1
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN=false
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false
+ GLOBAL_EUROPE_SPECIAL=0
+ GLOBAL_VAMPIRIC_IS_ON=0
+ GLOBAL_EXTRA_DAMAGE_IS_ON=100
+
+ GLOBAL_TEMP_VALUE=0
+
+ GLOBAL_SUNDALAND_END_HOG=CurrentHedgehog
+
--when all hogs are "placed"
if(GetCurAmmoType()~=amTeleport)
then
--will run once when the game really starts (after placing hogs and so on
- if(teams_ok[GetHogTeamName(CurrentHedgehog)] == nil)
+ if(GLOBAL_INIT_TEAMS[GetHogTeamName(CurrentHedgehog)] == nil)
then
AddCaption("["..loc("Select continent!").."]")
- load_continent_selection(CurrentHedgehog)
- continent[GetHogTeamName(CurrentHedgehog)]=0
- swapweps=true
- teams_ok[GetHogTeamName(CurrentHedgehog)] = 2
-
- if(disable_moving[CurrentHedgehog]==true)
+ InitWeaponsMenu(CurrentHedgehog)
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=0
+ GLOBAL_SELECT_CONTINENT_CHECK=true
+ GLOBAL_INIT_TEAMS[GetHogTeamName(CurrentHedgehog)] = 2
+
+ if(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]~=nil and GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]==1)
then
- disallowattack=-1000
+ GLOBAL_SABOTAGE_COUNTER=-750
end
else
--if its not the initialization turn
- swapweps=false
- if(continent[GetHogTeamName(CurrentHedgehog)]==0)
+ GLOBAL_SELECT_CONTINENT_CHECK=false
+ if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0)
then
- continent[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(weaponsets))+1
- setweapons()
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(GLOBAL_CONTINENT_INFORMATION))+1
+ SetContinentWeapons()
end
- show_continent_info(continent[GetHogTeamName(CurrentHedgehog)],-1,true)
-
+ ShowContinentInfo(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)],-1,true)
+
--give zeelandia-teams new weapons so they can plan for the next turn
- runOnGears(get_random_weapon)
-
- --some specials for some continents (temp_val is from get random weapons)
- if(continent[GetHogTeamName(CurrentHedgehog)]==9)
+ runOnGears(ZealandiaGetWeapons)
+
+ --some specials for some continents (GLOBAL_TEMP_VALUE is from get random weapons)
+ if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==9)
then
setTeamValue(GetHogTeamName(CurrentHedgehog), "rand-done-turn", nil)
- elseif(continent[GetHogTeamName(CurrentHedgehog)]==7)
+ elseif(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==7)
then
if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick")==nil)
then
setTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick", 1)
end
-
+
if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick")>=4)
then
AddAmmo(CurrentHedgehog,amPortalGun)
@@ -757,33 +886,26 @@
setTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick", 0)
end
setTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick", getTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick")+1)
-
- elseif(continent[GetHogTeamName(CurrentHedgehog)]==5)
+
+ elseif(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==5)
then
if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick")==nil)
then
setTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick", 1)
end
-
+
if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick")>=2)
then
AddAmmo(CurrentHedgehog,amParachute)
setTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick", 0)
end
setTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick", getTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick")+1)
- elseif(continent[GetHogTeamName(CurrentHedgehog)]==1)
+ elseif(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==1)
then
- if(getTeamValue(GetHogTeamName(CurrentHedgehog), "NA-turntick")==nil)
- then
- setTeamValue(GetHogTeamName(CurrentHedgehog), "NA-turntick", 1)
- end
-
- if(getTeamValue(GetHogTeamName(CurrentHedgehog), "NA-turntick")>=5)
- then
- validate_weapon(CurrentHedgehog,amAirAttack,1)
- setTeamValue(GetHogTeamName(CurrentHedgehog), "NA-turntick", 0)
- end
- setTeamValue(GetHogTeamName(CurrentHedgehog), "NA-turntick", getTeamValue(GetHogTeamName(CurrentHedgehog), "NA-turntick")+1)
+ AddAmmo(CurrentHedgehog,amSwitch,GetAmmoCount(CurrentHedgehog, amSwitch)+1)
+
+ ParseCommand("setweap " .. string.char(amSwitch))
+ GLOBAL_TEMP_VALUE=87
end
end
end
@@ -791,467 +913,575 @@
--what happens when you press "tab" (common button)
function onSwitch()
-
- --place mine (australia)
- if(GetCurAmmoType() == amBaseballBat and australianSpecial==true)
+
+ if(GLOBAL_SWITCH_HOG_IS_ON==false)
then
- temp_val=0
- runOnGears(weapon_aust_check)
-
- if(temp_val==0)
+ --place mine (australia)
+ if(GetCurAmmoType() == amBaseballBat)
then
- austmine=AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)+5, gtMine, 0, 0, 0, 0)
- SetHealth(austmine, 100)
- SetTimer(austmine, 1000)
- australianSpecial=false
- swapweps=false
- else
- PlaySound(sndDenied)
- end
+ if(GLOBAL_AUSTRALIAN_SPECIAL==0)
+ then
+ GLOBAL_AUSTRALIAN_SPECIAL = 1
+ AddCaption(GLOBAL_WEAPON_TEXTS[5])
+ elseif(GLOBAL_AUSTRALIAN_SPECIAL==1)
+ then
+ GLOBAL_AUSTRALIAN_SPECIAL = 2
+ AddCaption(GLOBAL_WEAPON_TEXTS[2])
+ else
+ GLOBAL_AUSTRALIAN_SPECIAL = 0
+ AddCaption(loc("NORMAL"))
+ end
- --Asian special
- elseif(inpara==1)
- then
- asiabomb=AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)+3, gtSnowball, 0, 0, 0, 0)
- SetGearMessage(asiabomb, 1)
+ --Asian special
+ elseif(GLOBAL_PARACHUTE_IS_ON==1)
+ then
+ asiabomb=AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)+3, gtSnowball, 0, 0, 0, 0)
+ SetGearMessage(asiabomb, 1)
- inpara=2
- swapweps=false
+ GLOBAL_PARACHUTE_IS_ON=2
+ GLOBAL_SELECT_CONTINENT_CHECK=false
- --africa
- elseif(GetCurAmmoType() == amSeduction)
- then
- if(africanSpecial==0)
+ --africa
+ elseif(GetCurAmmoType() == amSeduction)
then
- africanSpecial = 1
- AddCaption(weapontexts[4])
- else
- africanSpecial = 0
- AddCaption(loc("NORMAL"))
- end
+ if(GLOBAL_AFRICAN_SPECIAL_SEDUCTION==0)
+ then
+ GLOBAL_AFRICAN_SPECIAL_SEDUCTION = 1
+ AddCaption(GLOBAL_WEAPON_TEXTS[4])
+ else
+ GLOBAL_AFRICAN_SPECIAL_SEDUCTION = 0
+ AddCaption(loc("NORMAL"))
+ end
- --south america
- elseif(GetCurAmmoType() == amGasBomb)
- then
- if(samericanSpecial==false)
+ --south america
+ elseif(GetCurAmmoType() == amGasBomb)
then
- samericanSpecial = true
- AddCaption(weapontexts[3])
- else
- samericanSpecial = false
- AddCaption(loc("NORMAL"))
- end
+ if(GLOBAL_SOUTH_AMERICAN_SPECIAL==false)
+ then
+ GLOBAL_SOUTH_AMERICAN_SPECIAL = true
+ AddCaption(GLOBAL_WEAPON_TEXTS[3])
+ else
+ GLOBAL_SOUTH_AMERICAN_SPECIAL = false
+ AddCaption(loc("NORMAL"))
+ end
- --africa
- elseif(GetCurAmmoType() == amSMine)
- then
- if(africaspecial2==0)
+ --africa
+ elseif(GetCurAmmoType() == amSMine)
then
- africaspecial2 = 1
- AddCaption(weapontexts[11])
- elseif(africaspecial2 == 1)
- then
- africaspecial2 = 2
- AddCaption(weapontexts[12])
- elseif(africaspecial2 == 2)
- then
- africaspecial2 = 0
- AddCaption(loc("NORMAL"))
- end
+ if(GLOBAL_AFRICAN_SPECIAL_STICKY==0)
+ then
+ GLOBAL_AFRICAN_SPECIAL_STICKY = 1
+ AddCaption(GLOBAL_WEAPON_TEXTS[11])
+ elseif(GLOBAL_AFRICAN_SPECIAL_STICKY == 1)
+ then
+ GLOBAL_AFRICAN_SPECIAL_STICKY = 2
+ AddCaption(GLOBAL_WEAPON_TEXTS[12])
+ elseif(GLOBAL_AFRICAN_SPECIAL_STICKY == 2)
+ then
+ GLOBAL_AFRICAN_SPECIAL_STICKY = 0
+ AddCaption(loc("NORMAL"))
+ end
- --north america (sniper)
- elseif(GetCurAmmoType() == amSniperRifle and sniper_s_in_use==false)
- then
- if(namericanSpecial==2)
- then
- namericanSpecial = 1
- AddCaption(loc("NORMAL"))
- elseif(namericanSpecial==1)
+ --north america (sniper)
+ elseif(GetCurAmmoType() == amSniperRifle and GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON==false)
then
- namericanSpecial = 2
- AddCaption("#"..weapontexts[1])
- end
+ if(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER==2)
+ then
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER = 1
+ AddCaption(loc("NORMAL"))
+ elseif(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER==1)
+ then
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER = 2
+ AddCaption(GLOBAL_WEAPON_TEXTS[1])
+ end
- --north america (shotgun)
- elseif(GetCurAmmoType() == amShotgun and shotgun_s~=nil)
- then
- if(shotgun_s==false)
+ --north america (shotgun)
+ elseif(GetCurAmmoType() == amShotgun and GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN~=nil)
+ then
+ if(GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN==false)
+ then
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN = true
+ AddCaption(GLOBAL_WEAPON_TEXTS[13])
+ else
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN = false
+ AddCaption(loc("NORMAL"))
+ end
+
+ --europe
+ elseif(GetCurAmmoType() == amMolotov)
then
- shotgun_s = true
- AddCaption(weapontexts[13])
- else
- shotgun_s = false
- AddCaption(loc("NORMAL"))
- end
+ if(GLOBAL_EUROPE_SPECIAL==0)
+ then
+ GLOBAL_EUROPE_SPECIAL = 1
+ AddCaption(GLOBAL_WEAPON_TEXTS[14])
+ else
+ GLOBAL_EUROPE_SPECIAL = 0
+ AddCaption(loc("NORMAL"))
+ end
- --europe
- elseif(GetCurAmmoType() == amMolotov)
- then
- if(europe_s==0)
+ --kerguelen
+ elseif(GetCurAmmoType() == amHammer)
then
- europe_s = 1
- AddCaption(weapontexts[14])
- else
- europe_s = 0
- AddCaption(loc("NORMAL"))
+ if(GLOBAL_KERGUELEN_SPECIAL==6)
+ then
+ GLOBAL_KERGUELEN_SPECIAL = 1
+ AddCaption("Normal")
+ elseif(GLOBAL_KERGUELEN_SPECIAL==1)
+ then
+ GLOBAL_KERGUELEN_SPECIAL = 2
+ AddCaption("#"..GLOBAL_WEAPON_TEXTS[7])
+ elseif(GLOBAL_KERGUELEN_SPECIAL==2 and TotalRounds>=1)
+ then
+ GLOBAL_KERGUELEN_SPECIAL = 3
+ AddCaption("##"..GLOBAL_WEAPON_TEXTS[8])
+ elseif(GLOBAL_KERGUELEN_SPECIAL==3 or (GLOBAL_KERGUELEN_SPECIAL==2 and TotalRounds<1))
+ then
+ GLOBAL_KERGUELEN_SPECIAL = 5
+ AddCaption("###"..GLOBAL_WEAPON_TEXTS[10])
+ elseif(GLOBAL_KERGUELEN_SPECIAL==5)
+ then
+ GLOBAL_KERGUELEN_SPECIAL = 6
+ AddCaption("####"..GLOBAL_WEAPON_TEXTS[15])
+ end
+ --for selecting weaponset, this is mostly for old players.
+ elseif(GetHogLevel(CurrentHedgehog)==0 and GLOBAL_SELECT_CONTINENT_CHECK==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing))
+ then
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]+1
+
+ if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]> table.maxn(GLOBAL_CONTINENT_INFORMATION))
+ then
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=1
+ end
+ SetContinentWeapons()
end
-
- --swap forward in the weaponmenu (1.0 style)
- elseif(swapweps==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing))
- then
- continent[GetHogTeamName(CurrentHedgehog)]=continent[GetHogTeamName(CurrentHedgehog)]+1
-
- if(continent[GetHogTeamName(CurrentHedgehog)]> table.maxn(weaponsets))
- then
- continent[GetHogTeamName(CurrentHedgehog)]=1
- end
- setweapons()
-
- --kerguelen
- elseif(GetCurAmmoType() == amHammer)
+ --if switching out from sabotage.
+ elseif(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]~=nil and GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]==2)
then
- if(kergulenSpecial==6)
- then
- kergulenSpecial = 1
- AddCaption("Normal")
- elseif(kergulenSpecial==1)
- then
- kergulenSpecial = 2
- AddCaption("#"..weapontexts[7])
- elseif(kergulenSpecial==2 and TotalRounds>=1)
- then
- kergulenSpecial = 3
- AddCaption("##"..weapontexts[8])
- elseif(kergulenSpecial==3 or (kergulenSpecial==2 and TotalRounds<1))
- then
- kergulenSpecial = 5
- AddCaption("###"..weapontexts[10])
- elseif(kergulenSpecial==5)
- then
- kergulenSpecial = 6
- AddCaption("####"..weapontexts[15])
- end
+ GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=1
end
end
-function onPrecise()
- --swap backwards in the weaponmenu (1.0 style)
- if(swapweps==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing))
+function onUp()
+ --swap forward in the weaponmenu (1.0 style)
+ if(GetHogLevel(CurrentHedgehog)==0 and GLOBAL_SELECT_CONTINENT_CHECK==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing))
then
- continent[GetHogTeamName(CurrentHedgehog)]=continent[GetHogTeamName(CurrentHedgehog)]-1
-
- if(continent[GetHogTeamName(CurrentHedgehog)]<=0)
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]+1
+
+ if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]> table.maxn(GLOBAL_CONTINENT_INFORMATION))
then
- continent[GetHogTeamName(CurrentHedgehog)]=table.maxn(weaponsets)
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=1
end
- setweapons()
+ SetContinentWeapons()
+ end
+end
+
+function onDown()
+ --swap backwards in the weaponmenu (1.0 style)
+ if(GetHogLevel(CurrentHedgehog)==0 and GLOBAL_SELECT_CONTINENT_CHECK==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing))
+ then
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]-1
+
+ if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]<=0)
+ then
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=table.maxn(GLOBAL_CONTINENT_INFORMATION)
+ end
+ SetContinentWeapons()
end
end
function onGameTick20()
--if you picked a weaponset from the weaponmenu (icon)
- if(continent[GetHogTeamName(CurrentHedgehog)]==0)
+ if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0)
then
if(GetCurAmmoType()==amSwitch)
then
- continent[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(weaponsets))+1
- setweapons()
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(GLOBAL_CONTINENT_INFORMATION))+1
+ SetContinentWeapons()
PlaySound(sndMineTick)
else
- for v,w in pairs(weaponsets)
+ for v,w in pairs(GLOBAL_CONTINENT_INFORMATION)
do
- if(GetCurAmmoType()==weaponsets[v][4])
+ if(GetCurAmmoType()==GLOBAL_CONTINENT_INFORMATION[v][4])
then
- continent[GetHogTeamName(CurrentHedgehog)]=v
- setweapons()
- PlaySound(weaponsetssounds[v][1])
- PlaySound(weaponsetssounds[v][2],CurrentHedgehog)
+ GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=v
+ SetContinentWeapons()
+ PlaySound(GLOBAL_CONTINENT_SOUNDS[v][1])
+ PlaySound(GLOBAL_CONTINENT_SOUNDS[v][2],CurrentHedgehog)
end
end
end
end
-
+
--show the kerguelen ring
- if(kergulenSpecial > 1 and GetCurAmmoType() == amHammer)
+ if(GLOBAL_KERGUELEN_SPECIAL > 1 and GetCurAmmoType() == amHammer)
then
- if(visualcircle==nil)
+ if(GLOBAL_VISUAL_CIRCLE==nil)
then
- visualcircle=AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtCircle, 0, true)
+ GLOBAL_VISUAL_CIRCLE=AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtCircle, 0, true)
end
-
- if(kergulenSpecial == 2) --walrus scream
+
+ if(GLOBAL_KERGUELEN_SPECIAL == 2) --walrus scream
then
- SetVisualGearValues(visualcircle, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 120, 4, 0xff0000ee)
- elseif(kergulenSpecial == 3) --swap hog
+ SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 120, 4, 0xff0000ee)
+ elseif(GLOBAL_KERGUELEN_SPECIAL == 3) --swap hog
then
- SetVisualGearValues(visualcircle, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 450, 3, 0xffff00ee)
- elseif(kergulenSpecial == 5) --cries
+ SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 420, 3, 0xffff00ee)
+ elseif(GLOBAL_KERGUELEN_SPECIAL == 5) --cries
then
- SetVisualGearValues(visualcircle, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 500, 1, 0x0000ffee)
- elseif(kergulenSpecial == 6) --sabotage
+ SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 550, 1, 0x0000ffee)
+ elseif(GLOBAL_KERGUELEN_SPECIAL == 6) --sabotage
then
- SetVisualGearValues(visualcircle, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 80, 10, 0x00ff00ee)
+ SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 80, 10, 0x00ff00ee)
end
-
- elseif(visualcircle~=nil)
+
+ elseif(GLOBAL_VISUAL_CIRCLE~=nil)
then
- DeleteVisualGear(visualcircle)
- visualcircle=nil
+ DeleteVisualGear(GLOBAL_VISUAL_CIRCLE)
+ GLOBAL_VISUAL_CIRCLE=nil
end
-
+
--sabotage
- if(disable_moving[CurrentHedgehog]==true)
+ if(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]~=nil and GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]>=1)
then
-
- if(TurnTimeLeft<=150)
+ --for sabotage
+ if(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]==1)
then
- disable_moving[CurrentHedgehog]=false
- SetInputMask(0xFFFFFFFF)
- elseif(disallowattack >= (25*disableRand)+5)
+ local RND=GetRandom(2)
+ if(RND==0)
+ then
+ AddCaption(loc("You are sabotaged, RUN!"))
+ else
+ AddCaption(loc("WARNING: Sabotage detected!"))
+ end
+ PlaySound(sndHellish)
+ GLOBAL_SABOTAGE_COUNTER=-50
+ --update the constant at the top also to something in between
+ GLOBAL_SABOTAGE_FREQUENCY=(25*(RND))+70
+ GLOBAL_SABOTAGE_GRAVITY_SWITCH=true
+
+ GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=2
+ end
+
+ if(GLOBAL_SABOTAGE_COUNTER >0)
+ then
+ if(GLOBAL_SABOTAGE_GRAVITY_SWITCH)
+ then
+ SetGravityFromScale(div(100*GLOBAL_SABOTAGE_COUNTER,GLOBAL_SABOTAGE_FREQUENCY))
+ else
+ SetGravityFromScale(100-div(100*GLOBAL_SABOTAGE_COUNTER,GLOBAL_SABOTAGE_FREQUENCY))
+ end
+
+ if(GLOBAL_SABOTAGE_COUNTER % 20 == 0)
+ then
+ AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmokeWhite, 0, false)
+ end
+ end
+
+ if(TurnTimeLeft<(GetAwayTime*10) or band(GetState(CurrentHedgehog),gstAttacked)==1)
+ then
+ GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=0
+ SetGravity(100)
+ elseif(GLOBAL_SABOTAGE_COUNTER >= GLOBAL_SABOTAGE_FREQUENCY)
then
- temp_val=0
-
- AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-10, gtCluster, 0, 0, -160000, 40)
-
- disallowattack=0
- elseif(disallowattack % 20 == 0 and disallowattack>0)
+ if(GLOBAL_SABOTAGE_GRAVITY_SWITCH==true)
+ then
+ GLOBAL_SABOTAGE_GRAVITY_SWITCH=false
+ else
+ --AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-10, gtCluster, 0, 0, -160000, 30)
+ GLOBAL_SABOTAGE_GRAVITY_SWITCH=true
+ end
+
+ if(GetHealth(CurrentHedgehog)<=2)
+ then
+ SetHealth(CurrentHedgehog, 0)
+ GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=0
+ SetGravity(100)
+ else
+ SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)-2)
+ end
+ ShowDamageTag(CurrentHedgehog,2)
+
+ GLOBAL_SABOTAGE_COUNTER=0
+ else
+ GLOBAL_SABOTAGE_COUNTER=GLOBAL_SABOTAGE_COUNTER+1
+ end
+ end
+
+ if(GetCurAmmoType() == amSwitch and GLOBAL_TEMP_VALUE==87)
+ then
+ SetGearMessage(CurrentHedgehog,gmAttack)
+ GLOBAL_TEMP_VALUE=0
+ end
+
+ if(GLOBAL_SHOW_SMALL_INFO>0)
+ then
+ if(GLOBAL_SHOW_SMALL_INFO==1)
then
- SetInputMask(band(0xFFFFFFFF, bnot(gmLJump + gmHJump)))
- AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmokeWhite, 0, false)
- disallowattack=disallowattack+1
- else
- SetInputMask(0xFFFFFFFF)
- disallowattack=disallowattack+1
+ ShowContinentInfo(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)],-1,true)
end
-
+
+ GLOBAL_SHOW_SMALL_INFO=GLOBAL_SHOW_SMALL_INFO-1
end
-
+end
+
+--some ppl complained :P
+function onSlot(slot)
+ if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0)
+ then
+ ParseCommand("setweap " .. string.char(amSkip))
+ end
end
--if you used hogswitch or any similar weapon, dont enable any weaponchange
function onAttack()
- swapweps=false
-
+ GLOBAL_SELECT_CONTINENT_CHECK=false
+
--african special
- if(africanSpecial == 1 and GetCurAmmoType() == amSeduction and band(GetState(CurrentHedgehog),gstAttacked)==0)
+ if(GLOBAL_AFRICAN_SPECIAL_SEDUCTION == 1 and GetCurAmmoType() == amSeduction and band(GetState(CurrentHedgehog),gstAttacked)==0)
then
- --SetState(CurrentHedgehog, gstAttacked)
EndTurn()
-
- temp_val=0
- runOnGears(weapon_duststorm)
- SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+temp_val)
+
+ GLOBAL_TEMP_VALUE=0
+ runOnGears(AfricaSpecialSeduction)
+ SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+GLOBAL_TEMP_VALUE)
--visual stuff
- visual_gear_explosion(250,GetX(CurrentHedgehog), GetY(CurrentHedgehog),vgtSmoke,vgtSmokeWhite)
+ VisualExplosion(250,GetX(CurrentHedgehog), GetY(CurrentHedgehog),vgtSmoke,vgtSmokeWhite)
PlaySound(sndParachute)
-
+
RemoveWeapon(CurrentHedgehog,amSeduction)
--Kerguelen specials
- elseif(GetCurAmmoType() == amHammer and kergulenSpecial > 1 and band(GetState(CurrentHedgehog),gstAttacked)==0)
+ elseif(GetCurAmmoType() == amHammer and GLOBAL_KERGUELEN_SPECIAL > 1 and band(GetState(CurrentHedgehog),gstAttacked)==0)
then
- --SetState(CurrentHedgehog, gstAttacked)
-
-
--scream
- if(kergulenSpecial == 2)
+ if(GLOBAL_KERGUELEN_SPECIAL == 2)
then
- temp_val=0
- runOnGears(weapon_scream_pen)
- SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+temp_val)
+ GLOBAL_TEMP_VALUE=0
+ runOnGears(KerguelenSpecialRed)
+ SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+GLOBAL_TEMP_VALUE)
PlaySound(sndHellish)
-
+
--swap
- elseif(kergulenSpecial == 3 and TotalRounds>=1)
+ elseif(GLOBAL_KERGUELEN_SPECIAL == 3 and TotalRounds>=1)
then
- runOnGears(weapon_swap_kerg)
- PlaySound(sndPiano3)
-
+ GLOBAL_TEMP_VALUE=0
+ runOnGears(KerguelenSpecialYellowCountHogs)
+ if(GLOBAL_TEMP_VALUE>0)
+ then
+ GLOBAL_TEMP_VALUE=GetRandom(GLOBAL_TEMP_VALUE)
+ runOnGears(KerguelenSpecialYellowSwap)
+ PlaySound(sndPiano3)
+ else
+ PlaySound(sndPiano6)
+ end
+
--cries
- elseif(kergulenSpecial == 5)
+ elseif(GLOBAL_KERGUELEN_SPECIAL == 5)
then
- runOnGears(weapon_cries_a)
- if(kergulenSpecial~=-1)
+ runOnGears(KerguelenSpecialBlueCheck)
+ if(GLOBAL_KERGUELEN_SPECIAL~=-1)
then
AddGear(0, 0, gtWaterUp, 0, 0,0,0)
PlaySound(sndWarp)
PlaySound(sndMolotov)
-
- temp_val=0
- runOnGears(weapon_cries_b)
- SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+temp_val)
+
+ GLOBAL_TEMP_VALUE=0
+ runOnGears(KerguelenSpecialBlueActivate)
+ SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+GLOBAL_TEMP_VALUE)
else
HogSay(CurrentHedgehog, loc("Hogs in sight!"), SAY_SAY)
end
-
+
--sabotage
- elseif(kergulenSpecial == 6)
+ elseif(GLOBAL_KERGUELEN_SPECIAL == 6)
then
- temp_val=0
- runOnGears(weapon_sabotage)
- if(temp_val==0)
+ GLOBAL_TEMP_VALUE=0
+ runOnGears(KerguelenSpecialGreen)
+ if(GLOBAL_TEMP_VALUE==0)
then
PlaySound(sndThrowRelease)
AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-20, gtCluster, 0, 0, -1000000, 32)
end
end
-
+
EndTurn()
-
- DeleteVisualGear(visualcircle)
- visualcircle=nil
- kergulenSpecial=0
-
+
+ DeleteVisualGear(GLOBAL_VISUAL_CIRCLE)
+ GLOBAL_VISUAL_CIRCLE=nil
+ GLOBAL_KERGUELEN_SPECIAL=0
+
RemoveWeapon(CurrentHedgehog,amHammer)
-
+
elseif(GetCurAmmoType() == amVampiric)
then
- VampOn=75
- end
- --Australian special
- if(GetGearType(austmine) == gtMine and austmine ~= nil)
+ GLOBAL_VAMPIRIC_IS_ON=75
+ elseif(GetCurAmmoType() == amExtraDamage)
then
- temp_val=0
- runOnGears(weapon_aust_check)
-
- if(gearIsInCircle(austmine,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 30, false)==false or temp_val==1)
- then
- AddVisualGear(GetX(austmine), GetY(austmine), vgtDust, 0, false)
- DeleteGear(austmine)
- PlaySound(sndDenied)
- end
-
- austmine=nil
+ GLOBAL_EXTRA_DAMAGE_IS_ON=150
end
-
- australianSpecial=false
end
function onGearAdd(gearUid)
- swapweps=false
-
+ GLOBAL_SELECT_CONTINENT_CHECK=false
+
--track the gears im using
- if(GetGearType(gearUid) == gtHedgehog or GetGearType(gearUid) == gtMine or GetGearType(gearUid) == gtExplosives)
+ if(GetGearType(gearUid) == gtHedgehog or GetGearType(gearUid) == gtMine or GetGearType(gearUid) == gtExplosives)
then
trackGear(gearUid)
end
-
+
--remove gasclouds on gasbombspecial
- if(GetGearType(gearUid)==gtPoisonCloud and samericanSpecial == true)
+ if(GetGearType(gearUid)==gtPoisonCloud and GLOBAL_SOUTH_AMERICAN_SPECIAL == true)
then
DeleteGear(gearUid)
-
+ --african special
elseif(GetGearType(gearUid)==gtSMine)
then
vx,vy=GetGearVelocity(gearUid)
- if(africaspecial2 == 1)
+ if(GLOBAL_AFRICAN_SPECIAL_STICKY == 1)
then
SetState(CurrentHedgehog, gstHHDriven+gstMoving)
SetGearPosition(CurrentHedgehog, GetX(CurrentHedgehog),GetY(CurrentHedgehog)-3)
SetGearVelocity(CurrentHedgehog, vx, vy)
DeleteGear(gearUid)
-
- elseif(africaspecial2 == 2)
+
+ elseif(GLOBAL_AFRICAN_SPECIAL_STICKY == 2)
then
- fire_gear(CurrentHedgehog,gtNapalmBomb, vx, vy, 0)
+ FireGear(CurrentHedgehog,gtNapalmBomb, vx, vy, 0)
DeleteGear(gearUid)
end
-
+ --north american special
elseif(GetGearType(gearUid)==gtSniperRifleShot)
then
- sniper_s_in_use=true
- if(namericanSpecial~=1)
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=true
+ if(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER~=1)
then
SetHealth(gearUid, 1)
end
-
+ --north american special
elseif(GetGearType(gearUid)==gtShotgunShot)
then
- if(shotgun_s==true)
+ if(GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN==true)
then
AddVisualGear(GetX(gearUid), GetY(gearUid), vgtFeather, 0, false)
AddVisualGear(GetX(gearUid), GetY(gearUid), vgtFeather, 0, false)
AddVisualGear(GetX(gearUid), GetY(gearUid), vgtFeather, 0, false)
PlaySound(sndBirdyLay)
else
- shotgun_s=nil
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN=nil
end
-
- elseif(GetGearType(gearUid)==gtMolotov and europe_s==1)
+ --european special
+ elseif(GetGearType(gearUid)==gtMolotov and GLOBAL_EUROPE_SPECIAL==1)
then
vx,vy=GetGearVelocity(gearUid)
- e_health=fire_gear(CurrentHedgehog,gtCluster, vx, vy, 1)
+ e_health=FireGear(CurrentHedgehog,gtCluster, vx, vy, 1)
SetGearMessage(e_health, 2)
DeleteGear(gearUid)
-
+ --australian specials
+ elseif(GetGearType(gearUid)==gtShover and GLOBAL_AUSTRALIAN_SPECIAL~=0)
+ then
+ GLOBAL_TEMP_VALUE=0
+ runOnGears(AustraliaSpecialCheckHogs)
+
+ if(GLOBAL_TEMP_VALUE==0)
+ then
+ vx,vy=GetGearVelocity(gearUid)
+
+ if(GLOBAL_AUSTRALIAN_SPECIAL==1)
+ then
+ local austmine=FireGear(CurrentHedgehog,gtMine, vx, vy, 0)
+ SetHealth(austmine, 100)
+ SetTimer(austmine, 1000)
+ else
+ local austmine=FireGear(CurrentHedgehog,gtEgg, vx, vy, 10)
+ --SetHealth(austmine, 2000)
+ SetTimer(austmine, 6000)
+ SetGearMessage(austmine, 3)
+ end
+ else
+ PlaySound(sndDenied)
+ end
elseif(GetGearType(gearUid)==gtParachute)
then
- inpara=1
+ GLOBAL_PARACHUTE_IS_ON=1
+ elseif(GetGearType(gearUid)==gtSwitcher)
+ then
+ GLOBAL_SWITCH_HOG_IS_ON=true
end
end
function onGearDelete(gearUid)
- if(GetGearType(gearUid) == gtHedgehog or GetGearType(gearUid) == gtMine or GetGearType(gearUid) == gtExplosives)
+ if(GetGearType(gearUid) == gtHedgehog or GetGearType(gearUid) == gtMine or GetGearType(gearUid) == gtExplosives)
then
trackDeletion(gearUid)
-
+
--sundaland special
- if(GetGearType(gearUid) == gtHedgehog and continent[GetHogTeamName(turnhog)]==10)
+ if(GetGearType(gearUid) == gtHedgehog and GLOBAL_TEAM_CONTINENT[GetHogTeamName(GLOBAL_SUNDALAND_END_HOG)]==10)
then
- if(turnhog==CurrentHedgehog)
+ if(GLOBAL_SUNDALAND_END_HOG==CurrentHedgehog)
then
- runOnGears(find_other_hog_in_team)
+ runOnGears(SundalandFindOtherHogInTeam)
end
-
- get_random_weapon_on_death(turnhog)
+
+ SundalandGetWeapons(GLOBAL_SUNDALAND_END_HOG)
end
end
-
+
--north american lipstick
if(GetGearType(gearUid)==gtSniperRifleShot )
then
- sniper_s_in_use=false
- if(namericanSpecial==2)
+ GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false
+ if(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER==2)
then
- temp_val=gearUid
- runOnGears(weapon_lipstick)
+ GLOBAL_TEMP_VALUE=gearUid
+ runOnGears(NorthAmericaSpecialSniper)
end
--north american eagle eye
- elseif(GetGearType(gearUid)==gtShotgunShot and shotgun_s==true)
+ elseif(GetGearType(gearUid)==gtShotgunShot and GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN==true)
then
- SetState(CurrentHedgehog, gstMoving)
+ EndTurn()
SetGearPosition(CurrentHedgehog, GetX(gearUid), GetY(gearUid)+7)
PlaySound(sndWarp)
-
--south american special
- elseif(GetGearType(gearUid)==gtGasBomb and samericanSpecial == true)
+ elseif(GetGearType(gearUid)==gtGasBomb and GLOBAL_SOUTH_AMERICAN_SPECIAL == true)
then
- temp_val=gearUid
- runOnGears(weapon_anno_south)
+ GLOBAL_TEMP_VALUE=gearUid
+ runOnGears(SouthAmericaSpecialCheeseExplosion)
AddVisualGear(GetX(gearUid), GetY(gearUid), vgtExplosion, 0, false)
-
+
--asian special
elseif(GetGearType(gearUid)==gtSnowball and GetGearMessage(gearUid)==1)
then
AddGear(GetX(gearUid), GetY(gearUid), gtCluster, 0, 0, 0, 22)
-
+
--europe special
elseif(GetGearType(gearUid)==gtCluster and GetGearMessage(gearUid)==2)
then
- temp_val=gearUid
- runOnGears(weapon_health)
- visual_gear_explosion(100,GetX(gearUid), GetY(gearUid),vgtSmokeWhite,vgtSmokeWhite)
+ GLOBAL_TEMP_VALUE=gearUid
+ runOnGears(EuropeSpecialMolotovHit)
+ VisualExplosion(100,GetX(gearUid), GetY(gearUid),vgtSmokeWhite,vgtSmokeWhite)
AddVisualGear(GetX(gearUid), GetY(gearUid), vgtExplosion, 0, false)
PlaySound(sndGraveImpact)
-
+ --australian special
+ elseif(GetGearType(gearUid)==gtEgg and GetGearMessage(gearUid)==3)
+ then
+ GLOBAL_TEMP_VALUE=gearUid
+ runOnGears(AustraliaSpecialEggHit)
+ GLOBAL_TEMP_VALUE=0
--asia (using para)
elseif(GetGearType(gearUid)==gtParachute)
then
- inpara=false
+ GLOBAL_PARACHUTE_IS_ON=false
+ elseif(GetGearType(gearUid)==gtSwitcher)
+ then
+ GLOBAL_SWITCH_HOG_IS_ON=false
end
end
---[[sources (populations & area):
-Own calculations
-Some are approximations.]]
+
+--[[
+ sources (populations & area):
+ Own calculations from wikipedia.
+ Some are approximations.
+]]