share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua
changeset 13374 e1aa72e0872e
parent 13372 57e15407804d
child 13377 03e4d9b5b09c
equal deleted inserted replaced
13373:0a93948e8ec7 13374:e1aa72e0872e
   157 CS.PRECISE=false
   157 CS.PRECISE=false
   158 
   158 
   159 CS.CONTINENT_LABEL_TIMER=-1
   159 CS.CONTINENT_LABEL_TIMER=-1
   160 CS.SPEECH_TIMER=-1
   160 CS.SPEECH_TIMER=-1
   161 CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER=-1
   161 CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER=-1
       
   162 CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER=-1
   162 CS.CONFIRM_CONTINENT_SELECTION=-1
   163 CS.CONFIRM_CONTINENT_SELECTION=-1
   163 
   164 
   164 --the visual circle for kerguelen
   165 --the visual circle for kerguelen
   165 CS.VISUAL_CIRCLE=nil
   166 CS.VISUAL_CIRCLE=nil
   166 
   167 
  1296 			SetCSAmmoDescriptions("weapons")
  1297 			SetCSAmmoDescriptions("weapons")
  1297 		end
  1298 		end
  1298 	end
  1299 	end
  1299 end
  1300 end
  1300 
  1301 
       
  1302 function WeaponCaption(ammoType, customName)
       
  1303 	local caption
       
  1304 	if not customName then
       
  1305 		customName = GetAmmoName(ammoType)
       
  1306 	end
       
  1307 	local count = GetAmmoCount(CurrentHedgehog, ammoType)
       
  1308 	local timer = GetAmmoTimer(CurrentHedgehog, ammoType)
       
  1309 	local secs
       
  1310 	if type(timer) == "number" then
       
  1311 		secs = div(timer, 1000)
       
  1312 	end
       
  1313 	if count ~= 100 then
       
  1314 		strCount = tostring(count)
       
  1315 	end
       
  1316 	-- Finite count, timerable
       
  1317 	if type(timer) == "number" and count ~= 100 then
       
  1318 		-- e.g. “Grenade (5), 3 sec”
       
  1319 		caption = string.format(loc("%s (%d), %d sec"), customName, count, secs)
       
  1320 	-- Infinite count, timerable
       
  1321 	elseif type(timer) == "number" and count == 100 then
       
  1322 		-- e.g. “Grenade, 3 sec”
       
  1323 		caption = string.format(loc("%s, %d sec"), customName, secs)
       
  1324 	-- Finite count, non-timerable
       
  1325 	elseif type(timer) ~= "number" and count ~= 100 then
       
  1326 		-- e.g. “Bazooka (5)”
       
  1327 		caption = string.format(loc("%s (%d)"), customName, count)
       
  1328 	-- Infinite count, non-timerable
       
  1329 	else
       
  1330 		-- e.g. “Bazooka”
       
  1331 		caption = customName
       
  1332 	end
       
  1333 
       
  1334 	AddCaption(caption, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
       
  1335 end
       
  1336 
  1301 function ShowSpecialWeaponCaption(ammoType)
  1337 function ShowSpecialWeaponCaption(ammoType)
  1302 	--place mine (australia)
  1338 	--place mine (australia)
  1303 	if(ammoType == amBaseballBat)
  1339 	if(ammoType == amBaseballBat)
  1304 	then
  1340 	then
  1305 		if(CS.AUSTRALIAN_SPECIAL==1)
  1341 		if(CS.AUSTRALIAN_SPECIAL==1)
  1306 		then
  1342 		then
  1307 			AddCaption(CS.BASEBALLBAT_CRICKET_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1343 			WeaponCaption(amBaseballBat, CS.BASEBALLBAT_CRICKET_NAME)
  1308 		elseif(CS.AUSTRALIAN_SPECIAL==2)
  1344 		elseif(CS.AUSTRALIAN_SPECIAL==2)
  1309 		then
  1345 		then
  1310 			AddCaption(CS.BASEBALLBAT_BOOMERANG_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1346 			WeaponCaption(amBaseballBat, CS.BASEBALLBAT_BOOMERANG_NAME)
  1311 		else
  1347 		else
  1312 			AddCaption(GetAmmoName(amBaseballBat), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1348 			WeaponCaption(amBaseballBat)
  1313 		end
  1349 		end
  1314 
  1350 
  1315 	--africa
  1351 	--africa
  1316 	elseif(ammoType == amSeduction)
  1352 	elseif(ammoType == amSeduction)
  1317 	then
  1353 	then
  1318 		if(CS.AFRICAN_SPECIAL_SEDUCTION==1)
  1354 		if(CS.AFRICAN_SPECIAL_SEDUCTION==1)
  1319 		then
  1355 		then
  1320 			AddCaption(CS.SEDUCTION_SPECIAL_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1356 			WeaponCaption(amSeduction, CS.SEDUCTION_SPECIAL_NAME)
  1321 			AddCaption(string.format(CS.INVULNERABLE_SPECIAL_CAPTION, CS.SEDUCTION_INCREASER, GetAmmoCount(CurrentHedgehog,amInvulnerable)), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmostate)
  1357 			AddCaption(string.format(CS.INVULNERABLE_SPECIAL_CAPTION, CS.SEDUCTION_INCREASER, GetAmmoCount(CurrentHedgehog,amInvulnerable)), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmostate)
  1322 		else
  1358 		else
  1323 			AddCaption(GetAmmoName(amSeduction), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1359 			WeaponCaption(amSeduction)
  1324 		end
  1360 		end
  1325 
  1361 
  1326 	--south america
  1362 	--south america
  1327 	elseif(ammoType == amGasBomb)
  1363 	elseif(ammoType == amGasBomb)
  1328 	then
  1364 	then
  1329 		if(CS.SOUTH_AMERICAN_SPECIAL==true)
  1365 		if(CS.SOUTH_AMERICAN_SPECIAL==true)
  1330 		then
  1366 		then
  1331 			AddCaption(CS.CHEESE_SPECIAL_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1367 			WeaponCaption(amGasBomb, CS.CHEESE_SPECIAL_NAME)
  1332 		else
  1368 		else
  1333 			AddCaption(GetAmmoName(amGasBomb), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1369 			WeaponCaption(amGasBomb)
  1334 		end
  1370 		end
  1335 
  1371 
  1336 	--africa
  1372 	--africa
  1337 	elseif(ammoType == amSMine)
  1373 	elseif(ammoType == amSMine)
  1338 	then
  1374 	then
  1339 		if(CS.AFRICAN_SPECIAL_STICKY==1)
  1375 		if(CS.AFRICAN_SPECIAL_STICKY==1)
  1340 		then
  1376 		then
  1341 			AddCaption(CS.STICKY_PROJECTILE_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1377 			WeaponCaption(amSMine, CS.STICKY_PROJECTILE_NAME)
  1342 		elseif(CS.AFRICAN_SPECIAL_STICKY == 2)
  1378 		elseif(CS.AFRICAN_SPECIAL_STICKY == 2)
  1343 		then
  1379 		then
  1344 			AddCaption(CS.STICKY_NAPALM_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1380 			WeaponCaption(amSMine, CS.STICKY_NAPALM_NAME)
  1345 		else
  1381 		else
  1346 			AddCaption(GetAmmoName(amSMine), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1382 			WeaponCaption(amSMine)
  1347 		end
  1383 		end
  1348 
  1384 
  1349 	--north america (sniper)
  1385 	--north america (sniper)
  1350 	elseif(ammoType == amSniperRifle and CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON==false)
  1386 	elseif(ammoType == amSniperRifle and CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON==false)
  1351 	then
  1387 	then
  1352 		if(CS.NORTH_AMERICAN_SPECIAL_SNIPER==1)
  1388 		if(CS.NORTH_AMERICAN_SPECIAL_SNIPER==1)
  1353 		then
  1389 		then
  1354 			AddCaption(GetAmmoName(amSniperRifle), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1390 			WeaponCaption(amSniperRifle)
  1355 		elseif(CS.NORTH_AMERICAN_SPECIAL_SNIPER==2)
  1391 		elseif(CS.NORTH_AMERICAN_SPECIAL_SNIPER==2)
  1356 		then
  1392 		then
  1357 			AddCaption(CS.SNIPER_SPECIAL_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1393 			WeaponCaption(amSniperRifle, CS.SNIPER_SPECIAL_NAME)
  1358 		end
  1394 		end
  1359 
  1395 
  1360 	--north america (shotgun)
  1396 	--north america (shotgun)
  1361 	elseif(ammoType == amShotgun)
  1397 	elseif(ammoType == amShotgun)
  1362 	then
  1398 	then
  1363 		if(CS.NORTH_AMERICAN_SPECIAL_SHOTGUN==true)
  1399 		if(CS.NORTH_AMERICAN_SPECIAL_SHOTGUN==true)
  1364 		then
  1400 		then
  1365 			AddCaption(CS.SHOTGUN_SPECIAL_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1401 			WeaponCaption(amShotgun, CS.SHOTGUN_SPECIAL_NAME)
  1366 		else
  1402 		else
  1367 			AddCaption(GetAmmoName(amShotgun), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1403 			WeaponCaption(amShotgun)
  1368 		end
  1404 		end
  1369 
  1405 
  1370 	--europe
  1406 	--europe
  1371 	elseif(ammoType == amMolotov)
  1407 	elseif(ammoType == amMolotov)
  1372 	then
  1408 	then
  1373 		if(CS.EUROPE_SPECIAL==1)
  1409 		if(CS.EUROPE_SPECIAL==1)
  1374 		then
  1410 		then
  1375 			AddCaption(CS.MOLOTOV_SPECIAL_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1411 			WeaponCaption(amMolotov, CS.MOLOTOV_SPECIAL_NAME)
  1376 		else
  1412 		else
  1377 			AddCaption(GetAmmoName(amMolotov), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1413 			WeaponCaption(amMolotov)
  1378 		end
  1414 		end
  1379 
  1415 
  1380 	--antarctica
  1416 	--antarctica
  1381 	elseif(ammoType == amPickHammer)
  1417 	elseif(ammoType == amPickHammer)
  1382 	then
  1418 	then
  1383 		if(CS.ANTARCTICA_SPECIAL==1)
  1419 		if(CS.ANTARCTICA_SPECIAL==1)
  1384 		then
  1420 		then
  1385 			AddCaption(CS.PICKHAMMER_SPECIAL_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1421 			WeaponCaption(amPickHammer, CS.PICKHAMMER_SPECIAL_NAME)
  1386 		else
  1422 		else
  1387 			AddCaption(GetAmmoName(amPickHammer), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1423 			WeaponCaption(amPickHammer)
  1388 		end
  1424 		end
  1389 
  1425 
  1390 	--kerguelen
  1426 	--kerguelen
  1391 	elseif(ammoType == amHammer)
  1427 	elseif(ammoType == amHammer)
  1392 	then
  1428 	then
  1393 		if(CS.KERGUELEN_SPECIAL==1)
  1429 		if(CS.KERGUELEN_SPECIAL==1)
  1394 		then
  1430 		then
  1395 			AddCaption(GetAmmoName(amHammer), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1431 			WeaponCaption(amHammer)
  1396 		elseif(CS.KERGUELEN_SPECIAL==2)
  1432 		elseif(CS.KERGUELEN_SPECIAL==2)
  1397 		then
  1433 		then
  1398 			AddCaption(CS.HAMMER_ROAR_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1434 			WeaponCaption(amHammer, CS.HAMMER_ROAR_NAME)
  1399 		elseif(CS.KERGUELEN_SPECIAL==3)
  1435 		elseif(CS.KERGUELEN_SPECIAL==3)
  1400 		then
  1436 		then
  1401 			AddCaption(CS.HAMMER_SWAP_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1437 			WeaponCaption(amHammer, CS.HAMMER_SWAP_NAME)
  1402 		elseif(CS.KERGUELEN_SPECIAL==5)
  1438 		elseif(CS.KERGUELEN_SPECIAL==5)
  1403 		then
  1439 		then
  1404 			AddCaption(CS.HAMMER_LONELY_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1440 			WeaponCaption(amHammer, CS.HAMMER_LONELY_NAME)
  1405 		elseif(CS.KERGUELEN_SPECIAL==6)
  1441 		elseif(CS.KERGUELEN_SPECIAL==6)
  1406 		then
  1442 		then
  1407 			AddCaption(CS.HAMMER_SABOTAGE_NAME, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo)
  1443 			WeaponCaption(amHammer, CS.HAMMER_SABOTAGE_NAME)
  1408 		end
  1444 		end
  1409 	end
  1445 	end
  1410 end
  1446 end
  1411 
  1447 
  1412 function onPrecise()
  1448 function onPrecise()
  1626 	end
  1662 	end
  1627 	if CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER == 0 then
  1663 	if CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER == 0 then
  1628 		HandleSpecialWeaponMisc()
  1664 		HandleSpecialWeaponMisc()
  1629 		CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER = -1
  1665 		CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER = -1
  1630 	end
  1666 	end
       
  1667 
       
  1668 	if CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER > 0 then
       
  1669 		CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER = CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER - 1
       
  1670 	end
       
  1671 	if CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER == 0 then
       
  1672 		WeaponCaption(amGasBomb, CS.CHEESE_SPECIAL_NAME)
       
  1673 		CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER = -1
       
  1674 	end
       
  1675 
  1631 
  1676 
  1632 	-- See onAttack()
  1677 	-- See onAttack()
  1633 	if CS.CONFIRM_CONTINENT_SELECTION > 0 then
  1678 	if CS.CONFIRM_CONTINENT_SELECTION > 0 then
  1634 		CS.CONFIRM_CONTINENT_SELECTION = CS.CONFIRM_CONTINENT_SELECTION - 1
  1679 		CS.CONFIRM_CONTINENT_SELECTION = CS.CONFIRM_CONTINENT_SELECTION - 1
  1635 	end
  1680 	end
  1964 	then
  2009 	then
  1965 		CS.EXTRA_DAMAGE_IS_ON=150
  2010 		CS.EXTRA_DAMAGE_IS_ON=150
  1966 	end
  2011 	end
  1967 end
  2012 end
  1968 
  2013 
       
  2014 function onTimer()
       
  2015 	-- This hack makes sure the correct weapon label + timer is displayed for the GasBomb special
       
  2016 	if GetCurAmmoType() == amGasBomb and (CS.SOUTH_AMERICAN_SPECIAL==true) then
       
  2017 		CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER = 2
       
  2018 	end
       
  2019 end
       
  2020 
  1969 function onHogAttack(ammoType)
  2021 function onHogAttack(ammoType)
  1970 	-- When a sabotaged hog uses low gravity, overwrite the default low gravity,
  2022 	-- When a sabotaged hog uses low gravity, overwrite the default low gravity,
  1971 	-- otherwise it would be too easy.
  2023 	-- otherwise it would be too easy.
  1972 	if(ammoType == amLowGravity and CS.SABOTAGE_HOGS[CurrentHedgehog]~=nil and CS.SABOTAGE_HOGS[CurrentHedgehog]>=1)
  2024 	if(ammoType == amLowGravity and CS.SABOTAGE_HOGS[CurrentHedgehog]~=nil and CS.SABOTAGE_HOGS[CurrentHedgehog]>=1)
  1973 	then
  2025 	then