--- a/share/hedgewars/Data/Locale/de.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/de.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
+-- [":("] = "",
+-- ["!!!"] = "",
-- ["A game of luck"] = "",
["Aiming Practice"] = "Zielübung", --Bazooka, Shotgun, SniperRifle
["Bat balls at your enemies and|push them into the sea!"] = "Schlage Bälle auf deine Widersacher|und lass sie ins Meer fallen!",
["Bat your opponents through the|baskets and out of the map!"] = "Schlage deine Widersacher durch|die Körbe und aus der Karte hinaus!",
["Bazooka Training"] = "Bazooka-Training",
-- ["Best laps per team: "] = "",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Gratulation! Du hast alle Ziele innerhalb der|verfügbaren Zeit ausgeschaltet.", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Eliminiere alle Ziele bevor die Zeit ausläuft.|Du hast in dieser Mission unbegrenzte Munition.", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
-- ["Fastest lap: "] = "",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
["Hedgewars-Basketball"] = "Hedgewars-Basketball",
["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
["Hunter"] = "Jäger", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
-- ["NEW fastest lap: "] = "",
+-- ["NO JUMPING"] = "",
["Not So Friendly Match"] = "Kein-so-Freundschaftsspiel", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["Oh no! Time's up! Just try again."] = "Oh nein! Die Zeit ist um! Versuche es nochmal.", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
-- ["Random Weapons"] = "",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
["Shotgun Team"] = "Entrenamiento con escopeta",
["Shotgun Training"] = "Schrotflinten-Training",
["%s is out and Team %d|scored a penalty!| |Score:"] = "%s ist draußen und Team %d|erhält eine Strafe!| |Punktestand:", -- Basketball, Knockball
["%s is out and Team %d|scored a point!| |Score:"] = "%s ist draußen und Team %d|erhält einen Punkt!| |Punktestand:", -- Basketball, Knockball
["Sniper Training"] = "Scharfschützen-Training",
["Sniperz"] = "Heckenschützen",
+-- ["Spooky Tree"] = "",
-- ["Team %d: "] = "",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
-- ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
-- ["TrophyRace"] = "",
+-- ["T_T"] = "",
-- ["Use your rope to get from start to finish as fast as you can!"] = "",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
-- ["You've reached the goal!| |Time: "] = "",
["'Zooka Team"] = "Die Knalltüten",
}
--- a/share/hedgewars/Data/Locale/es.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/es.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
+-- [":("] = "",
+-- ["!!!"] = "",
-- ["A game of luck"] = "",
["Aiming Practice"] = "Practica tu puntería", --Bazooka, Shotgun, SniperRifle
["Bat balls at your enemies and|push them into the sea!"] = "Schlage Bälle auf deine Widersacher|und lass sie ins Meer fallen!",
["Bat your opponents through the|baskets and out of the map!"] = "¡Batea pelotas hacia tus enemigos|y hazlos caer al agua!",
["Bazooka Training"] = "Entrenamiento con bazuca",
["Best laps per team: "] = "Mejores tiempos por equipo: ",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
["Congratulations! You've eliminated all targets|within the allowed time frame."] = "¡Felicidades! Has destruido todos los objectivos|dentro del tiempo establecido.", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Destruye todos los objetivos antes de que se agote el tiempo.|La munición en esta misión es ilimitada.", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
["Fastest lap: "] = "Vuelta rápida: ",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
["Hedgewars-Basketball"] = "Hedgewars-Baloncesto",
["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
["Hunter"] = "Artillero", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["NEW fastest lap: "] = "NUEVA vuelta rápida: ",
+-- ["NO JUMPING"] = "",
["Not So Friendly Match"] = "Partido no-tan-amistoso", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["Oh no! Time's up! Just try again."] = "¡Oh, no, se te acabó el tiempo! ¿Por qué no lo intentas de nuevo?", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
-- ["Random Weapons"] = "",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
["Shotgun Team"] = "Escopeteros",
["Shotgun Training"] = "Entrenamiento con escopeta",
["%s is out and Team %d|scored a penalty!| |Score:"] = "¡%s cayó y Equipo %d|anotó una falta!| |Puntuación:", -- Basketball, Knockball
["%s is out and Team %d|scored a point!| |Score:"] = "¡%s cayó y Equipo %d|anotó un tanto!| |Puntuación:", -- Basketball, Knockball
["Sniper Training"] = "Entrenamiento con rifle francotirador",
["Sniperz"] = "Fusileros",
+-- ["Spooky Tree"] = "",
["Team %d: "] = "Equipo %d",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
-- ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["TrophyRace"] = "TrophyRace",
+-- ["T_T"] = "",
["Use your rope to get from start to finish as fast as you can!"] = "¡Usa tu cuerda para llegar a la salida lo más rápido que puedas!",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
["You've reached the goal!| |Time: "] = "¡Has llegado a la meta!| |Tiempo: ",
["'Zooka Team"] = "Bazuqueros",
}
--- a/share/hedgewars/Data/Locale/pl.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/pl.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
+-- [":("] = "",
+-- ["!!!"] = "",
-- ["A game of luck"] = "",
["Aiming Practice"] = "Potrenuj celność", --Bazooka, Shotgun, SniperRifle
["Bat balls at your enemies and|push them into the sea!"] = "Uderzaj piłkami w swoich przeciwników|i strącaj ich do wody!",
["Bat your opponents through the|baskets and out of the map!"] = "Uderzaj swoich przekiwników|wyrzucając przez kosz, poza mapę!",
["Bazooka Training"] = "Trening bazooki",
["Best laps per team: "] = "Najszybsze okrążenie drużyny: ",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Gratulacje! Zniszczyłeś wszystkie cele przed upłynięciem czasu.", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Zniszcz wszystkie cele zanim upłynie czas.|W tej misji masz nieskończoną ilość amunicji.", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
["Fastest lap: "] = "Najszybsze okrążenie: ",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
["Hedgewars-Basketball"] = "Hedgewars-Koszykówka",
["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
["Hunter"] = "Strzelec", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["NEW fastest lap: "] = "NOWE najszybsze okrążenie: ",
+-- ["NO JUMPING"] = "",
["Not So Friendly Match"] = "Mecz Nie-Do-Końca Towarzyski", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["Oh no! Time's up! Just try again."] = "Ajajaj! Koniec czasu! Spróbuj jeszcze raz.", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
["Random Weapons"] = "Losowe uzbrojenie",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
["Shotgun Team"] = "Strzelcy",
["Shotgun Training"] = "Trening strzelecki",
["%s is out and Team %d|scored a penalty!| |Score:"] = "%s utonął i drużyna %d|dostała punkt karny!| |Punktacja:", -- Basketball, Knockball
["%s is out and Team %d|scored a point!| |Score:"] = "%s utonął i drużyna %d|zdobyła punkt!| |Punktacja:", -- Basketball, Knockball
["Sniper Training"] = "Trening Snajperski",
["Sniperz"] = "Snajperzy",
+-- ["Spooky Tree"] = "",
["Team %d: "] = "Drużyna %d: ",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "Ktoś namieszał Tobie w plecaku i musisz sobie poradzić z tym co teraz w nim masz",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["TrophyRace"] = "TrophyRace",
+-- ["T_T"] = "",
["Use your rope to get from start to finish as fast as you can!"] = "Użyj liny by jak najszybciej dotrzec od startu do mety",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
["You've reached the goal!| |Time: "] = "Dotarłeś do celu!| |Czas: ",
["'Zooka Team"] = "Bazookinierzy",
}
--- a/share/hedgewars/Data/Locale/pt_BR.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/pt_BR.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
+-- [":("] = "",
+-- ["!!!"] = "",
-- ["A game of luck"] = "",
["Aiming Practice"] = "Pratique a sua pontaria", --Bazooka, Shotgun, SniperRifle
["Bat balls at your enemies and|push them into the sea!"] = "Rebata as bolas em direção ao seus|e derrube-os no mar!",
["Bat your opponents through the|baskets and out of the map!"] = "Rebata seus oponentes para|fora do mapa através dos cestos!",
["Bazooka Training"] = "Treino com a Bazuca",
["Best laps per team: "] = "Melhor volta por equipe: ",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Parabéns! Você eliminou todos os alvos|dentro do tempo limite.", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Destrua todos os alvos antes que o tempo acabe.|Você tem munição infinita para esta missão.", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
["Fastest lap: "] = "Volta mais rápida: ",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
["Hedgewars-Basketball"] = "Hedgewars-Basketball",
["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
["Hunter"] = "Artilheiro", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["NEW fastest lap: "] = "NOVA volta mais rápida: ",
+-- ["NO JUMPING"] = "",
["Not So Friendly Match"] = "Partida não muito amigável", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["Oh no! Time's up! Just try again."] = "Oh não! O tempo acabou! Tente novamente.", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
-- ["Random Weapons"] = "",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
["Shotgun Team"] = "Carabineiros",
["Shotgun Training"] = "Treino com a Escopeta",
["%s is out and Team %d|scored a penalty!| |Score:"] = "%s está fora e a Equipe %d|sofreu uma penalidade!| |Pontuação:", -- Basketball, Knockball
["%s is out and Team %d|scored a point!| |Score:"] = "%s está fora e a Equipe %d|marcou um ponto!| |Pontuação:", -- Basketball, Knockball
["Sniper Training"] = "Treino com o Rifle Sniper",
["Sniperz"] = "Franco-Atiradores",
+-- ["Spooky Tree"] = "",
["Team %d: "] = "Equipe %d: ",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
-- ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["TrophyRace"] = "TrophyRace",
+-- ["T_T"] = "",
["Use your rope to get from start to finish as fast as you can!"] = "Use sua corda para ir do início ao fim o mais rápido que você puder!",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
["You've reached the goal!| |Time: "] = "Você alcançou o objetivo!| |Tempo: ",
["'Zooka Team"] = "Bazuqueiros",
}
--- a/share/hedgewars/Data/Locale/pt_PT.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/pt_PT.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
+-- [":("] = "",
+-- ["!!!"] = "",
-- ["A game of luck"] = "",
["Aiming Practice"] = "Pratica a tua pontaria", --Bazooka, Shotgun, SniperRifle
["Bat balls at your enemies and|push them into the sea!"] = "Bate bolas contra os teus|enimigos e empurra-os ao mar!",
["Bat your opponents through the|baskets and out of the map!"] = "Bate os teus adversarios|fora do mapa acertando com eles no cesto!",
["Bazooka Training"] = "Treino com Bazuca",
["Best laps per team: "] = "Melhores voltas por equipa: ",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Parabéns! Eliminaste todos os alvos|dentro do tempo limite.", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Destrói todos os alvos antes do tempo terminar.|Tens munições infinitas para esta missão.", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
["Fastest lap: "] = "Volta mais rápida: ",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
["Hedgewars-Basketball"] = "Hedgewars-Basketball",
["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
["Hunter"] = "Comando", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["NEW fastest lap: "] = "NOVA volta recorde: ",
+-- ["NO JUMPING"] = "",
["Not So Friendly Match"] = "Partida não muito amigável", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["Oh no! Time's up! Just try again."] = "Oh não! Acabou o tempo! Tenta novamente.", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
-- ["Random Weapons"] = "",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
["Shotgun Team"] = "Caçadores",
["Shotgun Training"] = "Treino com Caçadeira",
["%s is out and Team %d|scored a penalty!| |Score:"] = "%s está fora e a equipa %d|perde um ponto!| |Pontuação:", -- Basketball, Knockball
["%s is out and Team %d|scored a point!| |Score:"] = "%s está fora e a equipa %d|soma um ponto!| |Pontuação:", -- Basketball, Knockball
["Sniper Training"] = "Treino com Sniper",
-- ["Sniperz"] = "",
+-- ["Spooky Tree"] = "",
["Team %d: "] = "Equipa %d: ",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
-- ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["TrophyRace"] = "TrophyRace",
+-- ["T_T"] = "",
["Use your rope to get from start to finish as fast as you can!"] = "Utilizando a corda, percorre o percurso do inicio ao fim o mais rápido que conseguires!",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
["You've reached the goal!| |Time: "] = "Chegaste ao fim!| |Tempo: ",
["'Zooka Team"] = "Bazuqueiros",
}
--- a/share/hedgewars/Data/Locale/sk.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/sk.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
+-- [":("] = "",
+-- ["!!!"] = "",
-- ["A game of luck"] = "",
["Aiming Practice"] = "Tréning presnosti", --Bazooka, Shotgun, SniperRifle
["Bat balls at your enemies and|push them into the sea!"] = "Loptami triafajte vašich nepriateľov|a zhoďte ich tak do mora!",
["Bat your opponents through the|baskets and out of the map!"] = "Odpálkujte vašich súperov do koša|a von z mapy!",
["Bazooka Training"] = "Tréning s bazukou",
["Best laps per team: "] = "Najrýchlejšie kolá podľa tímov: ",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Gratulujem! Zneškodnili ste všetky ciele|v stanovenom čase.", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Zneškodnite všetky ciele pred vypršaním času.|Na túto misiu máte neobmedzené množstvo streliva.", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
["Fastest lap: "] = "Najrýchlejšie kolo: ",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
["Hedgewars-Basketball"] = "Hedgewars-Basketbal",
["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
["Hunter"] = "Lovec", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["NEW fastest lap: "] = "NOVÉ najrýchlejšie kolo: ",
+-- ["NO JUMPING"] = "",
["Not So Friendly Match"] = "Nie tak celkom priateľský zápas", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["Oh no! Time's up! Just try again."] = "Ale nie! Čas vypršal! Tak to skúste znovu.", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
-- ["Random Weapons"] = "",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
["Shotgun Team"] = "Shotgun tím",
["Shotgun Training"] = "Tréning s brokovnicou",
["%s is out and Team %d|scored a penalty!| |Score:"] = "%s je mimo hru a tím %d|dostal trestný bod!| |Skóre:", -- Basketball, Knockball
["%s is out and Team %d|scored a point!| |Score:"] = "%s je mimo hru a tím %d|získal bod!| |Skóre:", -- Basketball, Knockball
["Sniper Training"] = "Tréning pre ostreľovačov",
["Sniperz"] = "Ostreľovači",
+-- ["Spooky Tree"] = "",
["Team %d: "] = "Tím %d: ",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
-- ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["TrophyRace"] = "Preteky o trofej",
+-- ["T_T"] = "",
["Use your rope to get from start to finish as fast as you can!"] = "Použite lano na presun zo štartovnej pozície do cieľa tak rýchlo, ako to len viete!",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
["You've reached the goal!| |Time: "] = "Dosiahli ste cieľ!| |Čas: ",
["'Zooka Team"] = "Bazuka tím",
}
--- a/share/hedgewars/Data/Locale/stub.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/stub.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
--- ["A game of luck"] = "",
--- ["Aiming Practice"] = "", --Bazooka, Shotgun, SniperRifle
--- ["Bat balls at your enemies and|push them into the sea!"] = "",
--- ["Bat your opponents through the|baskets and out of the map!"] = "",
--- ["Bazooka Training"] = "",
--- ["Best laps per team: "] = "",
--- ["Congratulations! You've eliminated all targets|within the allowed time frame."] = "", --Bazooka, Shotgun, SniperRifle
--- ["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "", --Bazooka, Shotgun, SniperRifle
--- ["Fastest lap: "] = "",
--- ["Hedgewars-Basketball"] = "",
--- ["Hedgewars-Knockball"] = "",
--- ["Hunter"] = "", --Bazooka, Shotgun, SniperRifle
--- ["NEW fastest lap: "] = "",
--- ["Not So Friendly Match"] = "", -- Basketball, Knockball
--- ["Oh no! Time's up! Just try again."] = "", --Bazooka, Shotgun, SniperRifle
--- ["Random Weapons"] = "",
--- ["Shotgun Team"] = "",
--- ["Shotgun Training"] = "",
--- ["%s is out and Team %d|scored a penalty!| |Score:"] = "", -- Basketball, Knockball
--- ["%s is out and Team %d|scored a point!| |Score:"] = "", -- Basketball, Knockball
--- ["Sniper Training"] = "",
--- ["Sniperz"] = "",
--- ["Team %d: "] = "",
--- ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "",
--- ["TrophyRace"] = "",
--- ["Use your rope to get from start to finish as fast as you can!"] = "",
--- ["You've reached the goal!| |Time: "] = "",
--- ["'Zooka Team"] = "",
+-- [":("] = "",
+-- ["!!!"] = "",
+-- ["A game of luck"] = "",
+-- ["Aiming Practice"] = "", --Bazooka, Shotgun, SniperRifle
+-- ["Bat balls at your enemies and|push them into the sea!"] = "",
+-- ["Bat your opponents through the|baskets and out of the map!"] = "",
+-- ["Bazooka Training"] = "",
+-- ["Best laps per team: "] = "",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
+-- ["Congratulations! You've eliminated all targets|within the allowed time frame."] = "", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
+-- ["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
+-- ["Fastest lap: "] = "",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
+-- ["Hedgewars-Basketball"] = "",
+-- ["Hedgewars-Knockball"] = "",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
+-- ["Hunter"] = "", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["NEW fastest lap: "] = "",
+-- ["NO JUMPING"] = "",
+-- ["Not So Friendly Match"] = "", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["Oh no! Time's up! Just try again."] = "", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
+-- ["Random Weapons"] = "",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
+-- ["Shotgun Team"] = "",
+-- ["Shotgun Training"] = "",
+-- ["%s is out and Team %d|scored a penalty!| |Score:"] = "", -- Basketball, Knockball
+-- ["%s is out and Team %d|scored a point!| |Score:"] = "", -- Basketball, Knockball
+-- ["Sniper Training"] = "",
+-- ["Sniperz"] = "",
+-- ["Spooky Tree"] = "",
+-- ["Team %d: "] = "",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
+-- ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["TrophyRace"] = "",
+-- ["T_T"] = "",
+-- ["Use your rope to get from start to finish as fast as you can!"] = "",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
+-- ["You've reached the goal!| |Time: "] = "",
+-- ["'Zooka Team"] = "",
}
--- a/share/hedgewars/Data/Locale/sv.lua Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Locale/sv.lua Fri Dec 24 00:53:50 2010 -0500
@@ -1,30 +1,84 @@
locale = {
+-- [":("] = "",
+-- ["!!!"] = "",
["A game of luck"] = "Ett lyckospel",
["Aiming Practice"] = "Siktesövning", --Bazooka, Shotgun, SniperRifle
["Bat balls at your enemies and|push them into the sea!"] = "Slå bollar mot dina fiender|och slå ner dem i havet",
["Bat your opponents through the|baskets and out of the map!"] = "Slå ner dina motståndare i|korgarna och ut ur kartan!",
["Bazooka Training"] = "Bazookaträning",
["Best laps per team: "] = "Bästa varv per lag: ",
+-- ["Bloody Rookies"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+-- ["by mikade"] = "", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+-- ["CAPTURE THE FLAG"] = "",
+-- ["Codename: Teamwork"] = "",
["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Grattis! Du har förstört alla målen inom den|tillåtna tidsramen.", --Bazooka, Shotgun, SniperRifle
+-- ["CONTROL"] = "",
+-- ["Control pillars to score points."] = "",
+-- ["CONTROL v0.3"] = "",
+-- ["CUSTOM BUILD 0.2"] = "",
+-- ["Cybernetic Empire"] = "",
+-- ["DAMMIT, ROOKIE!"] = "",
+-- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
+-- ["Dangerous Ducklings"] = "",
+-- ["Eliminate all enemies"] = "",
["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Förstör alla målen innan din tid tar slut.|Du har obegränsad ammunition för deta uppdrag", --Bazooka, Shotgun, SniperRifle
+-- ["Eliminate Poison before the time runs out"] = "",
+-- ["Eliminate the Blue Team"] = "",
+-- ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "",
+-- ["Enjoy the swim..."] = "",
["Fastest lap: "] = "Snabbast varv: ",
+-- ["Flag captured!"] = "",
+-- ["Flag respawned!"] = "",
+-- ["Flag returned!"] = "",
+-- ["Flags will be placed where each team ends their turn."] = "",
+-- ["GAME OVER!"] = "",
+-- ["Game Started!"] = "",
+-- ["Get on over there and take him out!"] = "",
+-- ["GO! GO! GO!"] = "",
+-- ["Good birdy......"] = "",
+-- ["Good luck out there!"] = "",
["Hedgewars-Basketball"] = "Hedgewars-Basket",
["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+-- ["Hmmm..."] = "",
+-- ["Hooray!"] = "",
["Hunter"] = "Jägare", --Bazooka, Shotgun, SniperRifle
+-- ["Instructor"] = "", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+-- ["- Jumping is disabled"] = "",
+-- ["Listen up, maggot!!"] = "",
+-- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+-- ["MISSION SUCCESS"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["NEW fastest lap: "] = "NYTT snabbast varv: ",
+-- ["NO JUMPING"] = "",
["Not So Friendly Match"] = "En inte så vänlig match", -- Basketball, Knockball
+-- ["Oh no! Just try again!"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["Oh no! Time's up! Just try again."] = "Åh nej! Tiden är ute! Pröva igen.", --Bazooka, Shotgun, SniperRifle
+-- ["Operation Diver"] = "",
+-- ["Opposing Team:"] = "",
+-- ["Pathetic Hog #1"] = "",
+-- ["Pathetic Hog #2"] = "",
["Random Weapons"] = "Slumpade vapen",
+-- ["- Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = "",
+-- ["RULES OF THE GAME [Press ESC to view]"] = "",
+-- ["See ya!"] = "",
["Shotgun Team"] = "Hagelgevärslaget",
["Shotgun Training"] = "Hagelgevärsträning",
["%s is out and Team %d|scored a penalty!| |Score:"] = "%s är ute och lag %d|fick ett straff!| |Poängställning:", -- Basketball, Knockball
["%s is out and Team %d|scored a point!| |Score:"] = "%s är ute och lag %d|fick ett poäng!| |Poängställning:", -- Basketball, Knockball
["Sniper Training"] = "Prickskyttesträning",
["Sniperz"] = "Prickskyttarna",
+-- ["Spooky Tree"] = "",
["Team %d: "] = "Lag %d: ",
+-- ["Team Scores:"] = "",
+-- ["The enemy is hiding out on yonder ducky!"] = "",
["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "Det har uppstått ett missförstånd om din utrustning|och nu måste du använda vad du kan hitta!",
+-- ["Toxic Team"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
["TrophyRace"] = "TrophyRace",
+-- ["T_T"] = "",
["Use your rope to get from start to finish as fast as you can!"] = "Använd ditt rep för att ta dig från start till mål så fort som möjligt!",
+-- ["Victory for the"] = "",
+-- ["You have SCORED!!"] = "",
+-- ["You've failed. Try again."] = "",
["You've reached the goal!| |Time: "] = "Du har nått målet!| |Tid: ",
["'Zooka Team"] = "Bazookalaget",
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/Control/map.cfg Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,4 @@
+Deepspace
+48
+Default
+Crazy
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/Control/map.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,453 @@
+--------------------------------
+-- CONTROL 0.3
+--------------------------------
+
+-- in this version
+
+---------
+-- 0.2
+---------
+-- fixed score display errrors
+-- added missing resurrection effects
+-- moved hogs off control points if thats where they started
+-- added sanity limit for the above
+-- added tint tags to display clan score on each point as it scors
+-- added gameflags filter
+-- changed scoring rate
+-- hogs now only score point DURING THEIR TURN
+-- map now accepts custom weaponsets and themes
+-- changed win limit
+
+---------
+-- 0.3
+---------
+
+-- added translation support
+
+-----------------
+--script begins
+-----------------
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+---------------------------------------------------------------
+----------lots of bad variables and things
+----------because someone is too lazy
+----------to read about tables properly
+------------------ "Oh well, they probably have the memory"
+
+local gameWon = false
+
+local vCirc = {}
+local vCircCount = 0
+
+local hGCount = 0
+
+local vCircX = {}
+local vCircY = {}
+local vCircMinA = {}
+local vCircMaxA = {}
+local vCircType = {}
+local vCircPulse = {}
+local vCircFuckAll = {}
+local vCircRadius = {}
+local vCircWidth = {}
+local vCircCol = {}
+
+--------------------------
+-- hog and team tracking variales
+--------------------------
+
+local numhhs = 0 -- store number of hedgehogs
+local hhs = {} -- store hedgehog gears
+
+local numTeams -- store the number of teams in the game
+local teamNameArr = {} -- store the list of teams
+local teamClan = {}
+local teamSize = {} -- store how many hogs per team
+local teamIndex = {} -- at what point in the hhs{} does each team begin
+
+local teamComment = {}
+local teamScore = {}
+
+--------------------------------
+--zone and teleporter variables
+--------------------------------
+
+--local redTel
+--local orangeTel
+--local areaArr = {} -- no longer used
+
+local cPoint = {}
+local cOwnerClan = {}
+
+local zXMin = {}
+local zWidth = {}
+local zYMin = {}
+local zHeight = {}
+local zOccupied = {}
+local zCount = 0
+
+------------------------
+-- zone methods
+------------------------
+-- see on gameTick also
+
+function CreateZone(xMin, yMin, width, height)
+
+
+ zXMin[zCount] = xMin
+ zYMin[zCount] = yMin
+ zWidth[zCount] = width
+ zHeight[zCount] = height
+ zOccupied[zCount] = false
+ zCount = zCount + 1
+
+ return (zCount-1)
+
+end
+
+function GearIsInZone(gear, zI)
+
+ if (GetX(gear) > zXMin[zI]) and (GetX(gear) < (zXMin[zI]+zWidth[zI])) and (GetY(gear) > zYMin[zI]) and (GetY(gear) < (zYMin[zI]+zHeight[zI])) then
+ zOccupied[zI] = true
+ else
+ zOccupied[zI] = false
+ end
+
+ return zOccupied[zI]
+
+end
+
+function ZonesAreEmpty()
+
+ okay = true
+
+ for i = 0,(zCount-1) do
+
+ for k = 0, (numhhs-1) do
+ if (hhs[k] ~= nil) then
+ if (GearIsInZone(hhs[k],i)) == true then
+ FindPlace(hhs[k], false, 0, LAND_WIDTH, true)
+ okay = false
+ end
+ end
+ end
+ end
+
+ return(okay)
+
+end
+
+function CheckZones()
+
+ for i = 0,(zCount-1) do
+ SetVisualGearValues(vCirc[i], vCircX[i], vCircY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], 0xffffffff)
+ cOwnerClan[i] = nil
+ for k = 0, (numhhs-1) do
+ if (hhs[k] ~= nil) then
+ if (GearIsInZone(hhs[k],i)) == true then
+
+ if cOwnerClan[i] ~= nil then
+ if cOwnerClan[i] ~= GetHogClan(hhs[k]) then
+ --if the hog now being compared is different to one that is also here and was previously compared
+
+ SetVisualGearValues(vCirc[i], vCircX[i], vCircY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], 0xffffffff)
+ --SetVisualGearValues(vCirc[i], 2739, 1378, 20, 255, 1, 10, 0, 300, 5, 0xffffffff)
+
+ cOwnerClan[i] = 10 -- this means conflicted
+ end
+ elseif cOwnerClan[i] == nil then
+ cOwnerClan[i] = GetHogClan(hhs[k])
+ --SetVisualGearValues(vCirc[i], 2739, 1378, 20, 255, 1, 10, 0, 300, 5, GetClanColor( GetHogClan(hhs[k])) )
+ SetVisualGearValues(vCirc[i], vCircX[i], vCircY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], GetClanColor( GetHogClan(hhs[k])))
+
+ end
+
+ end
+ end
+ end
+
+ end
+
+end
+
+function AwardPoints()
+
+ for i = 0,(zCount-1) do
+ -- give score to all players controlling points
+ --if (cOwnerClan[i] ~= nil) and (cOwnerClan[i] ~= 10) then
+ -- teamScore[cOwnerClan[i]] = teamScore[cOwnerClan[i]] + 1
+ --end
+
+ -- only give score to the player currently in control
+ if CurrentHedgehog ~= nil then
+ if cOwnerClan[i] == GetHogClan(CurrentHedgehog) then
+ teamScore[cOwnerClan[i]] = teamScore[cOwnerClan[i]] + 1
+ end
+ end
+ end
+
+ -- i want to show all the tags at once as having the SAME score not 1,2,3,4 so alas, repeating the loop seems needed
+ for i = 0,(zCount-1) do
+ if CurrentHedgehog ~= nil then
+ if cOwnerClan[i] == GetHogClan(CurrentHedgehog) then
+ g = AddVisualGear(vCircX[i], vCircY[i], vgtHealthTag, 100, False)
+ SetVisualGearValues(g, vCircX[i], vCircY[i], 0, 0, 0, 0, 0, teamScore[cOwnerClan[i]], 1500, GetClanColor(cOwnerClan[i]))
+ end
+ end
+ end
+
+end
+
+-----------------
+-- general methods
+------------------
+
+function RebuildTeamInfo()
+
+
+ -- make a list of individual team names
+ for i = 0, 5 do
+ teamNameArr[i] = " " -- = i
+ teamSize[i] = 0
+ teamIndex[i] = 0
+ teamScore[i] = 0
+ end
+ numTeams = 0
+
+ for i = 0, (numhhs-1) do
+
+ z = 0
+ unfinished = true
+ while(unfinished == true) do
+
+ newTeam = true
+ tempHogTeamName = GetHogTeamName(hhs[i]) -- this is the new name
+
+ if tempHogTeamName == teamNameArr[z] then
+ newTeam = false
+ unfinished = false
+ end
+
+ z = z + 1
+
+ if z == TeamsCount then
+ unfinished = false
+ if newTeam == true then
+ teamNameArr[numTeams] = tempHogTeamName
+ numTeams = numTeams + 1
+ end
+ end
+
+ end
+
+ end
+
+ -- find out how many hogs per team, and the index of the first hog in hhs
+ for i = 0, (numTeams-1) do
+ for z = 0, (numhhs-1) do
+ if GetHogTeamName(hhs[z]) == teamNameArr[i] then
+ teamClan[i] = GetHogClan(hhs[z])
+ if teamSize[i] == 0 then
+ teamIndex[i] = z -- should give starting index
+ end
+ teamSize[i] = teamSize[i] + 1
+ --add a pointer so this hog appears at i in hhs
+ end
+ end
+
+ end
+
+end
+
+------------------------
+-- game methods
+------------------------
+
+function onGameInit()
+
+ -- Things we don't modify here will use their default values.
+ --GameFlags = gfInfAttack + gfSolidLand -- Game settings and rules
+
+ GameFlags = band(bor(GameFlags, gfInfAttack + gfSolidLand), bnot(gfKing + gfForts))
+
+ SuddenDeathTurns = 99 -- suddendeath is off, effectively
+
+end
+
+
+function onGameStart()
+
+ ShowMission(loc("CONTROL v0.3"), loc("by mikade"), loc("Control pillars to score points."), 0, 0)
+
+
+ -- build zones
+ cPoint[0] = CreateZone(571,47,120,80)
+ cPoint[1] = CreateZone(1029,643,120,80)
+ cPoint[2] = CreateZone(322,1524,120,80)
+ cPoint[3] = CreateZone(1883,38,120,80)
+ cPoint[4] = CreateZone(3821,46,120,80)
+ cPoint[5] = CreateZone(2679,1338,120,80)
+
+ vCircX[0], vCircY[0] = 631, 82
+ vCircX[1], vCircY[1] = 1088, 684
+ vCircX[2], vCircY[2] = 381, 1569
+ vCircX[3], vCircY[3] = 1942, 77
+ vCircX[4], vCircY[4] = 3883, 89
+ vCircX[5], vCircY[5] = 2739, 1378
+
+ for i = 0, 5 do
+ vCirc[i] = AddVisualGear(0,0,vgtCircle,0,true)
+ vCircMinA[i] = 20
+ vCircMaxA[i] = 255
+ vCircType[i] = 1
+ vCircPulse[i] = 10
+ vCircFuckAll[i] = 0
+ vCircRadius[i] = 300
+ vCircWidth[i] = 5
+ vCircCol[i] = 0xffffffff
+
+ SetVisualGearValues(vCirc[i], vCircX[i], vCircY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
+ end
+
+ --zxc = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+ --SetVisualGearValues(zxc, 1000,1000, 20, 255, 1, 10, 0, 100, 1, GetClanColor(0))
+ --minO,max0 -glowyornot --pulsate timer -- fuckall -- radius -- width -- colour
+
+ --new improved placement schematics aw yeah
+ RebuildTeamInfo()
+
+
+ --SetGearPosition(hhs[0], 631, 82)
+ --SetGearPosition(hhs[1], 1088, 684)
+ --SetGearPosition(hhs[2], 381, 1569)
+
+ -- reposition hogs if they are on control points until they are not or sanity limit kicks in
+ reN = 0
+ --zz = 0
+ while (reN < 10) do
+ if ZonesAreEmpty() == false then
+ reN = reN + 1
+ --zz = zz + 1
+ --SetGearPosition(hhs[0], 631, 82) -- put this in here to thwart attempts at repositioning and test sanity limit
+ else
+ reN = 15
+ end
+ --AddCaption(zz) -- number of times it took to work
+ end
+
+end
+
+
+function onNewTurn()
+
+
+ if lastTeam ~= GetHogTeamName(CurrentHedgehog) then
+ lastTeam = GetHogTeamName(CurrentHedgehog)
+ end
+
+ if gameWon == false then
+
+ for i = 0, (numTeams-1) do
+ if teamScore[i] >= 150 then
+ gameWon = true
+ winnerClan = i
+ end
+ end
+
+ if gameWon == true then
+ for i = 0, (numhhs-1) do
+ if hhs[i] ~= nil then
+ if GetHogClan(hhs[i]) ~= winnerClan then
+ SetEffect(hhs[i], heResurrectable, false)
+ SetHealth(hhs[i],0)
+ end
+ end
+ end
+ TurnTimeLeft = 1
+ end
+
+ for i = 0,5 do
+ if teamNameArr[i] ~= " " then -- i
+ teamComment[i] = teamNameArr[i] .. ": " .. teamScore[teamClan[i]] .. loc (" points|")
+ elseif teamNameArr[i] == " " then
+ teamComment[i] = "|"
+ end
+ end
+ ShowMission(loc("CONTROL"), loc("Team Scores:"), teamComment[0] .. teamComment[1] .. teamComment[2] .. teamComment[3] .. teamComment[4] .. teamComment[5], 0, 1600)
+
+ end
+
+end
+
+function onGameTick()
+
+ vCircCount = vCircCount + 1
+ if (vCircCount >= 500) and (gameWon == false) then
+ vCircCount = 0
+ CheckZones()
+ --AwardPoints()
+
+
+ --[[for i = 0,5 do
+
+ if teamNameArr[i] ~= " " then -- i
+ teamComment[i] = teamNameArr[i] .. ": " .. teamScore[teamClan[i] ] .. " points|"
+ elseif teamNameArr[i] == " " then
+ teamComment[i] = "|"
+ end
+ end
+
+ ShowMission("CONTROL", "Team Scores:", teamComment[0] .. teamComment[1] .. teamComment[2] .. teamComment[3] .. teamComment[4] .. teamComment[5], 0, 1600)]]
+
+ end
+
+ -- things we wanna check often
+ if (CurrentHedgehog ~= nil) then
+ -- AddCaption(GetX(CurrentHedgehog) .. "; " .. GetY(CurrentHedgehog))
+ --AddCaption(teamNameArr[0] .. " : " .. teamScore[0])
+ --AddCaption(GetHogTeamName(CurrentHedgehog) .. " : " .. teamScore[GetHogClan(CurrentHedgehog)]) -- this end up 1?
+
+ -- huh? the first clan added seems to be clan 1, not 0 ??
+
+ end
+
+ hGCount = hGCount + 1
+ if (hGCount >= 2000) and (gameWon == false) then
+ hGCount = 0
+ AwardPoints()
+ end
+
+end
+
+function onGearResurrect(gear)
+ AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
+end
+
+
+function onGearAdd(gear)
+
+ if GetGearType(gear) == gtHedgehog then
+
+ hhs[numhhs] = gear
+ numhhs = numhhs + 1
+ SetEffect(gear, heResurrectable, true)
+
+ end
+
+end
+
+function onGearDelete(gear)
+
+ if GetGearType(gear) == gtHedgehog then
+ --AddCaption("gear deleted!")
+ for i = 0, (numhhs-1) do
+ if gear == hhs[i] then
+ hhs[i] = nil
+ --AddCaption("for real")
+ end
+ end
+ end
+
+end
Binary file share/hedgewars/Data/Maps/Control/map.png has changed
Binary file share/hedgewars/Data/Maps/Control/preview.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,178 @@
+-- Hedgewars Bazooka Training
+-- Scripting Example
+
+-- Lines such as this one are comments - they are ignored
+-- by the game, no matter what kind of text is in there.
+-- It's also possible to place a comment after some real
+-- instruction as you see below. In short, everything
+-- following "--" is ignored.
+
+---------------------------------------------------------------
+-- At first we implement the localization library using loadfile.
+-- This allows us to localize strings without needing to think
+-- about translations.
+-- We can use the function loc(text) to localize a string.
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+-- This variable will hold the number of destroyed targets.
+local score = 0
+-- This variable represents the number of targets to destroy.
+local score_goal = 5
+-- This variable controls how many milliseconds/ticks we'd
+-- like to wait before we end the round once all targets
+-- have been destroyed.
+local end_timer = 5000 -- 5000 ms = 5 s
+-- This variable is set to true if the game is lost (i.e.
+-- time runs out).
+local game_lost = false
+-- This variable will point to the hog's gear
+local player = nil
+-- This variable will grab the time left at the end of the round
+local time_goal = 0
+
+-- This is a custom function to make it easier to
+-- spawn more targets with just one line of code
+-- You may define as many custom functions as you
+-- like.
+function spawnTarget()
+ -- add a new target gear
+ gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0)
+
+ -- move it to a random position within 0 and
+ -- LAND_WIDTH - the width of the map
+ FindPlace(gear, true, 0, LAND_WIDTH)
+
+ -- move the target to a higher vertical position
+ -- to ensure it's not somewhere down below
+ x, y = GetGearPosition(gear)
+ SetGearPosition(gear, x, 500)
+end
+
+-- This function is called before the game loads its
+-- resources.
+-- It's one of the predefined function names that will
+-- be called by the game. They give you entry points
+-- where you're able to call your own code using either
+-- provided instructions or custom functions.
+function onGameInit()
+ -- At first we have to overwrite/set some global variables
+ -- that define the map, the game has to load, as well as
+ -- other things such as the game rules to use, etc.
+ -- Things we don't modify here will use their default values.
+
+ -- The base number for the random number generator
+ Seed = 0
+ -- Game settings and rules
+ GameFlags = gfMultiWeapon + gfOneClanMode + gfSolidLand
+ -- The time the player has to move each round (in ms)
+ TurnTime = 60000
+ -- The frequency of crate drops
+ CaseFreq = 0
+ -- The number of mines being placed
+ MinesNum = 0
+ -- The number of explosives being placed
+ Explosives = 0
+ -- The delay between each round
+ Delay = 0
+ -- The map to be played
+ Map = "Bamboo"
+ -- The theme to be used
+ Theme = "Bamboo"
+
+ -- Create the player team
+ AddTeam(loc("'Zooka Team"), 14483456, "Simple", "Island", "Default")
+ -- And add a hog to it
+ player = AddHog(loc("Hunter"), 0, 1, "NoHat")
+ SetGearPosition(player, 1960, 1160)
+end
+
+-- This function is called when the round starts
+-- it spawns the first target that has to be destroyed.
+-- In addition it shows the scenario goal(s).
+function onGameStart()
+ -- Spawn the first target.
+ spawnTarget()
+
+ -- Show some nice mission goals.
+ -- Parameters are: caption, sub caption, description,
+ -- extra text, icon and time to show.
+ -- A negative icon parameter (-n) represents the n-th weapon icon
+ -- A positive icon paramter (n) represents the (n+1)-th mission icon
+ -- A timeframe of 0 is replaced with the default time to show.
+ ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amBazooka, 0)
+end
+
+function onNewTurn()
+ ParseCommand("setweap " .. string.char(amBazooka))
+end
+
+-- This function is called every game tick.
+-- Note that there are 1000 ticks within one second.
+-- You shouldn't try to calculate too complicated
+-- code here as this might slow down your game.
+function onGameTick()
+ -- If time's up, set the game to be lost.
+ -- We actually check the time to be "1 ms" as it
+ -- will be at "0 ms" right at the start of the game.
+ if TurnTimeLeft == 1 and score < score_goal then
+ game_lost = true
+ -- ... and show a short message.
+ ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0)
+ -- How about killing our poor hog due to his poor performance?
+ SetHealth(player, 0)
+ -- Just to be sure set the goal time to 1 ms
+ time_goal = 1
+ end
+ -- If the goal is reached or we've lost ...
+ if score == score_goal or game_lost then
+ -- ... check to see if the time we'd like to
+ -- wait has passed and then ...
+ if end_timer == 0 then
+ -- ... end the game ...
+ EndGame()
+ else
+ -- ... or just lower the timer by 1.
+ end_timer = end_timer - 1
+ -- Reset the time left to stop the timer
+ TurnTimeLeft = time_goal
+ end
+ end
+end
+
+-- This function is called when the game is initialized
+-- to request the available ammo and probabilities
+function onAmmoStoreInit()
+ -- add an unlimited supply of bazooka ammo
+ SetAmmo(amBazooka, 9, 0, 0, 0)
+end
+
+-- This function is called when a new gear is added.
+-- We don't need it for this training, so we can
+-- keep it empty.
+function onGearAdd(gear)
+end
+
+-- This function is called before a gear is destroyed.
+-- We use it to count the number of targets destroyed.
+function onGearDelete(gear)
+ -- We're only interested in target gears.
+ if GetGearType(gear) == gtTarget then
+ -- Add one point to our score/counter
+ score = score + 1
+ -- If we haven't reached the goal ...
+ if score < score_goal then
+ -- ... spawn another target.
+ spawnTarget()
+ else
+ if not game_lost then
+ -- Otherwise show that the goal was accomplished
+ ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0)
+ -- Also let the hogs shout "victory!"
+ PlaySound(sndVictory)
+ -- Save the time left so we may keep it.
+ time_goal = TurnTimeLeft
+ end
+ end
+ end
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Shotgun.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,178 @@
+-- Hedgewars Shotgun Training
+-- Scripting Example
+
+-- Lines such as this one are comments - they are ignored
+-- by the game, no matter what kind of text is in there.
+-- It's also possible to place a comment after some real
+-- instruction as you see below. In short, everything
+-- following "--" is ignored.
+
+---------------------------------------------------------------
+-- At first we implement the localization library using loadfile.
+-- This allows us to localize strings without needing to think
+-- about translations.
+-- We can use the function loc(text) to localize a string.
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+-- This variable will hold the number of destroyed targets.
+local score = 0
+-- This variable represents the number of targets to destroy.
+local score_goal = 5
+-- This variable controls how many milliseconds/ticks we'd
+-- like to wait before we end the round once all targets
+-- have been destroyed.
+local end_timer = 5000 -- 5000 ms = 5 s
+-- This variable is set to true if the game is lost (i.e.
+-- time runs out).
+local game_lost = false
+-- This variable will point to the hog's gear
+local player = nil
+-- This variable will grab the time left at the end of the round
+local time_goal = 0
+
+-- This is a custom function to make it easier to
+-- spawn more targets with just one line of code
+-- You may define as many custom functions as you
+-- like.
+function spawnTarget()
+ -- add a new target gear
+ gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0)
+
+ -- move it to a random position within 0 and
+ -- LAND_WIDTH - the width of the map
+ FindPlace(gear, true, 0, LAND_WIDTH)
+
+ -- move the target to a higher vertical position
+ -- to ensure it's not somewhere down below
+ x, y = GetGearPosition(gear)
+ SetGearPosition(gear, x, 500)
+end
+
+function onNewTurn()
+ ParseCommand("setweap " .. string.char(amShotgun))
+end
+
+-- This function is called before the game loads its
+-- resources.
+-- It's one of the predefined function names that will
+-- be called by the game. They give you entry points
+-- where you're able to call your own code using either
+-- provided instructions or custom functions.
+function onGameInit()
+ -- At first we have to overwrite/set some global variables
+ -- that define the map, the game has to load, as well as
+ -- other things such as the game rules to use, etc.
+ -- Things we don't modify here will use their default values.
+
+ -- The base number for the random number generator
+ Seed = 0
+ -- Game settings and rules
+ GameFlags = gfMultiWeapon + gfOneClanMode
+ -- The time the player has to move each round (in ms)
+ TurnTime = 25000
+ -- The frequency of crate drops
+ CaseFreq = 0
+ -- The number of mines being placed
+ MinesNum = 0
+ -- The number of explosives being placed
+ Explosives = 0
+ -- The delay between each round
+ Delay = 0
+ -- The map to be played
+ Map = "Mushrooms"
+ -- The theme to be used
+ Theme = "Nature"
+
+ -- Create the player team
+ AddTeam(loc("Shotgun Team"), 14483456, "Simple", "Island", "Default")
+ -- And add a hog to it
+ player = AddHog(loc("Hunter"), 0, 1, "NoHat")
+ SetGearPosition(player, 2334, 1254)
+end
+
+-- This function is called when the round starts
+-- it spawns the first target that has to be destroyed.
+-- In addition it shows the scenario goal(s).
+function onGameStart()
+ -- Spawn the first target.
+ spawnTarget()
+
+ -- Show some nice mission goals.
+ -- Parameters are: caption, sub caption, description,
+ -- extra text, icon and time to show.
+ -- A negative icon parameter (-n) represents the n-th weapon icon
+ -- A positive icon paramter (n) represents the (n+1)-th mission icon
+ -- A timeframe of 0 is replaced with the default time to show.
+ ShowMission(loc("Shotgun Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amShotgun, 0)
+end
+
+-- This function is called every game tick.
+-- Note that there are 1000 ticks within one second.
+-- You shouldn't try to calculate too complicated
+-- code here as this might slow down your game.
+function onGameTick()
+ -- If time's up, set the game to be lost.
+ -- We actually check the time to be "1 ms" as it
+ -- will be at "0 ms" right at the start of the game.
+ if TurnTimeLeft == 1 and score < score_goal then
+ game_lost = true
+ -- ... and show a short message.
+ ShowMission(loc("Shotgun Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0)
+ -- How about killing our poor hog due to his poor performance?
+ SetHealth(player, 0)
+ -- Just to be sure set the goal time to 1 ms
+ time_goal = 1
+ end
+ -- If the goal is reached or we've lost ...
+ if score == score_goal or game_lost then
+ -- ... check to see if the time we'd like to
+ -- wait has passed and then ...
+ if end_timer == 0 then
+ -- ... end the game ...
+ EndGame()
+ else
+ -- ... or just lower the timer by 1.
+ end_timer = end_timer - 1
+ -- Reset the time left to stop the timer
+ TurnTimeLeft = time_goal
+ end
+ end
+end
+
+-- This function is called when the game is initialized
+-- to request the available ammo and probabilities
+function onAmmoStoreInit()
+ -- add an unlimited supply of shotgun ammo
+ SetAmmo(amShotgun, 9, 0, 0, 0)
+end
+
+-- This function is called when a new gear is added.
+-- We don't need it for this training, so we can
+-- keep it empty.
+function onGearAdd(gear)
+end
+
+-- This function is called before a gear is destroyed.
+-- We use it to count the number of targets destroyed.
+function onGearDelete(gear)
+ -- We're only interested in target gears.
+ if GetGearType(gear) == gtTarget then
+ -- Add one point to our score/counter
+ score = score + 1
+ -- If we haven't reached the goal ...
+ if score < score_goal then
+ -- ... spawn another target.
+ spawnTarget()
+ else
+ if not game_lost then
+ -- Otherwise show that the goal was accomplished
+ ShowMission(loc("Shotgun Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0)
+ -- Also let the hogs shout "victory!"
+ PlaySound(sndVictory)
+ -- Save the time left so we may keep it.
+ time_goal = TurnTimeLeft
+ end
+ end
+ end
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Sniper_Rifle.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,307 @@
+-- Hedgewars SniperRifle Training
+-- Scripting Example
+
+-- Lines such as this one are comments - they are ignored
+-- by the game, no matter what kind of text is in there.
+-- It's also possible to place a comment after some real
+-- instruction as you see below. In short, everything
+-- following "--" is ignored.
+
+---------------------------------------------------------------
+-- At first we implement the localization library using loadfile.
+-- This allows us to localize strings without needing to think
+-- about translations.
+-- We can use the function loc(text) to localize a string.
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+-- This variable will hold the number of destroyed targets.
+local score = 0
+-- This variable represents the number of targets to destroy.
+local score_goal = 31
+-- This variable controls how many milliseconds/ticks we'd
+-- like to wait before we end the round once all targets
+-- have been destroyed.
+local end_timer = 5000 -- 5000 ms = 5 s
+-- This variable is set to true if the game is lost (i.e.
+-- time runs out).
+local game_lost = false
+-- This variable will point to the hog's gear
+local player = nil
+-- This variable will grab the time left at the end of the round
+local time_goal = 0
+
+local target = nil
+
+local last_hit_time = 0
+-- This is a custom function to make it easier to
+-- spawn more targets with just one line of code
+-- You may define as many custom functions as you
+-- like.
+function spawnTarget(x, y)
+ -- add a new target gear
+ target = AddGear(x, y, gtTarget, 0, 0, 0, 0)
+ -- have the camera move to the target so the player knows where it is
+ FollowGear(target)
+end
+
+function blowUp(x, y)
+ -- adds some TNT
+ gear = AddGear(x, y, gtDynamite, 0, 0, 0, 0)
+end
+
+function onNewTurn()
+ ParseCommand("setweap " .. string.char(amSniperRifle))
+end
+
+-- This function is called before the game loads its
+-- resources.
+-- It's one of the predefined function names that will
+-- be called by the game. They give you entry points
+-- where you're able to call your own code using either
+-- provided instructions or custom functions.
+function onGameInit()
+ -- At first we have to overwrite/set some global variables
+ -- that define the map, the game has to load, as well as
+ -- other things such as the game rules to use, etc.
+ -- Things we don't modify here will use their default values.
+
+ -- The base number for the random number generator
+ Seed = 0
+ -- Game settings and rules
+ GameFlags = gfMultiWeapon + gfOneClanMode + gfArtillery
+ -- The time the player has to move each round (in ms)
+ TurnTime = 150000
+ -- The frequency of crate drops
+ CaseFreq = 0
+ -- The number of mines being placed
+ MinesNum = 0
+ -- The number of explosives being placed
+ Explosives = 0
+ -- The delay between each round
+ Delay = 0
+ -- The map to be played
+ Map = "Ropes"
+ -- The theme to be used
+ Theme = "City"
+
+ -- Create the player team
+ AddTeam(loc("Sniperz"), 14483456, "Simple", "Island", "Default")
+ -- And add a hog to it
+ player = AddHog(loc("Hunter"), 0, 1, "Sniper")
+ SetGearPosition(player, 602, 1465)
+end
+
+-- This function is called when the round starts
+-- it spawns the first target that has to be destroyed.
+-- In addition it shows the scenario goal(s).
+function onGameStart()
+ -- Spawn the first target.
+ spawnTarget(860,1020)
+
+ -- Show some nice mission goals.
+ -- Parameters are: caption, sub caption, description,
+ -- extra text, icon and time to show.
+ -- A negative icon parameter (-n) represents the n-th weapon icon
+ -- A positive icon paramter (n) represents the (n+1)-th mission icon
+ -- A timeframe of 0 is replaced with the default time to show.
+ ShowMission(loc("Sniper Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amSniperRifle, 0)
+end
+
+-- This function is called every game tick.
+-- Note that there are 1000 ticks within one second.
+-- You shouldn't try to calculate too complicated
+-- code here as this might slow down your game.
+function onGameTick()
+ if game_lost then
+ return
+ end
+ -- after a target is destroyed, show hog, then target
+ if (target ~= nil) and (TurnTimeLeft + 1300 < last_hit_time) then
+ -- move camera to the target
+ FollowGear(target)
+ elseif TurnTimeLeft + 300 < last_hit_time then
+ -- move camera to the hog
+ FollowGear(player)
+ end
+ -- If time's up, set the game to be lost.
+ -- We actually check the time to be "1 ms" as it
+ -- will be at "0 ms" right at the start of the game.
+ if TurnTimeLeft == 1 and score < score_goal then
+ game_lost = true
+ -- ... and show a short message.
+ ShowMission(loc("Sniper Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0)
+ -- How about killing our poor hog due to his poor performance?
+ SetHealth(player, 0)
+ -- Just to be sure set the goal time to 1 ms
+ time_goal = 1
+ end
+ -- If the goal is reached or we've lost ...
+ if score == score_goal or game_lost then
+ -- ... check to see if the time we'd like to
+ -- wait has passed and then ...
+ if end_timer == 0 then
+ -- ... end the game ...
+ EndGame()
+ else
+ -- ... or just lower the timer by 1.
+ end_timer = end_timer - 1
+ -- Reset the time left to stop the timer
+ TurnTimeLeft = time_goal
+ end
+ end
+end
+
+-- This function is called when the game is initialized
+-- to request the available ammo and probabilities
+function onAmmoStoreInit()
+ -- add an unlimited supply of shotgun ammo
+ SetAmmo(amSniperRifle, 9, 0, 0, 0)
+end
+
+-- This function is called when a new gear is added.
+-- We don't need it for this training, so we can
+-- keep it empty.
+function onGearAdd(gear)
+end
+
+-- This function is called before a gear is destroyed.
+-- We use it to count the number of targets destroyed.
+function onGearDelete(gear)
+
+ if GetGearType(gear) == gtCase then
+ game_lost = true
+ return
+ end
+
+ if (GetGearType(gear) == gtTarget) then
+ -- remember when the target was hit for adjusting the camera
+ last_hit_time = TurnTimeLeft
+ -- Add one point to our score/counter
+ score = score + 1
+ -- If we haven't reached the goal ...
+ if score < score_goal then
+ -- ... spawn another target.
+ if score == 1 then
+ spawnTarget(1520,1350)
+ elseif score == 2 then
+ spawnTarget(1730,1040)
+ elseif score == 3 then
+ spawnTarget(2080,780)
+ elseif score == 4 then
+ blowUp(1730,1226)
+ blowUp(1440,1595)
+ blowUp(1527,1575)
+ blowUp(1614,1595)
+ blowUp(1420,1675)
+ blowUp(1527,1675)
+ blowUp(1634,1675)
+ blowUp(1440,1755)
+ blowUp(1527,1775)
+ blowUp(1614,1755)
+ spawnTarget(1527,1667)
+ elseif score == 5 then
+ spawnTarget(1527,1667)
+ elseif score == 6 then
+ spawnTarget(2175,1300)
+ elseif score == 7 then
+ spawnTarget(2250,940)
+ elseif score == 8 then
+ spawnTarget(2665,1540)
+ elseif score == 9 then
+ spawnTarget(3040,1160)
+ elseif score == 10 then
+ spawnTarget(2930,1500)
+ elseif score == 11 then
+ spawnTarget(700,720)
+ elseif score == 12 then
+ blowUp(914,1222)
+ blowUp(1050,1222)
+ blowUp(1160,1008)
+ blowUp(1160,1093)
+ blowUp(1160,1188)
+ blowUp(375,911)
+ blowUp(510,911)
+ blowUp(640,911)
+ blowUp(780,911)
+ blowUp(920,911)
+ blowUp(1060,913)
+ blowUp(1198,913)
+ spawnTarget(1200,730)
+ elseif score == 13 then
+ spawnTarget(1200,830)
+ elseif score == 14 then
+ spawnTarget(1430,450)
+ elseif score == 15 then
+ spawnTarget(796,240)
+ elseif score == 16 then
+ spawnTarget(300,10)
+ elseif score == 17 then
+ spawnTarget(2080,820)
+ elseif score == 18 then
+ blowUp(2110,920)
+ blowUp(2210,920)
+ blowUp(2200,305)
+ blowUp(2300,305)
+ blowUp(2300,400)
+ blowUp(2300,500)
+ blowUp(2300,600)
+ blowUp(2300,700)
+ blowUp(2300,800)
+ blowUp(2300,900)
+ blowUp(2401,305)
+ blowUp(2532,305)
+ blowUp(2663,305)
+ spawnTarget(2300,760)
+ elseif score == 19 then
+ spawnTarget(2300,760)
+ elseif score == 20 then
+ spawnTarget(2738,190)
+ elseif score == 21 then
+ spawnTarget(2590,-100)
+ elseif score == 22 then
+ blowUp(2790,305)
+ blowUp(2930,305)
+ blowUp(3060,305)
+ blowUp(3190,305)
+ blowUp(3310,305)
+ blowUp(3393,613)
+ blowUp(2805,370)
+ blowUp(2805,500)
+ blowUp(2805,630)
+ blowUp(2805,760)
+ blowUp(2805,890)
+ blowUp(2700,890)
+ blowUp(3258,370)
+ blowUp(3258,475)
+ blowUp(3264,575)
+ spawnTarget(3230,240)
+ elseif score == 23 then
+ spawnTarget(3230,290)
+ elseif score == 24 then
+ spawnTarget(3670,250)
+ elseif score == 25 then
+ spawnTarget(2620,-100)
+ elseif score == 26 then
+ spawnTarget(2870,300)
+ elseif score == 27 then
+ spawnTarget(3850,900)
+ elseif score == 28 then
+ spawnTarget(3780,300)
+ elseif score == 29 then
+ spawnTarget(3670,0)
+ elseif score == 30 then
+ spawnTarget(3480,1200)
+ end
+ else
+ if not game_lost then
+ -- Otherwise show that the goal was accomplished
+ ShowMission(loc("Sniper Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0)
+ -- Also let the hogs shout "victory!"
+ PlaySound(sndVictory)
+ -- Save the time left so we may keep it.
+ time_goal = TurnTimeLeft
+ end
+ end
+ end
+end
--- a/share/hedgewars/Data/Missions/Training/Bazooka.lua Fri Dec 24 00:21:42 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
--- Hedgewars Bazooka Training
--- Scripting Example
-
--- Lines such as this one are comments - they are ignored
--- by the game, no matter what kind of text is in there.
--- It's also possible to place a comment after some real
--- instruction as you see below. In short, everything
--- following "--" is ignored.
-
----------------------------------------------------------------
--- At first we implement the localization library using loadfile.
--- This allows us to localize strings without needing to think
--- about translations.
--- We can use the function loc(text) to localize a string.
-
-loadfile(GetDataPath() .. "Scripts/Locale.lua")()
-
--- This variable will hold the number of destroyed targets.
-local score = 0
--- This variable represents the number of targets to destroy.
-local score_goal = 5
--- This variable controls how many milliseconds/ticks we'd
--- like to wait before we end the round once all targets
--- have been destroyed.
-local end_timer = 5000 -- 5000 ms = 5 s
--- This variable is set to true if the game is lost (i.e.
--- time runs out).
-local game_lost = false
--- This variable will point to the hog's gear
-local player = nil
--- This variable will grab the time left at the end of the round
-local time_goal = 0
-
--- This is a custom function to make it easier to
--- spawn more targets with just one line of code
--- You may define as many custom functions as you
--- like.
-function spawnTarget()
- -- add a new target gear
- gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0)
-
- -- move it to a random position within 0 and
- -- LAND_WIDTH - the width of the map
- FindPlace(gear, true, 0, LAND_WIDTH)
-
- -- move the target to a higher vertical position
- -- to ensure it's not somewhere down below
- x, y = GetGearPosition(gear)
- SetGearPosition(gear, x, 500)
-end
-
--- This function is called before the game loads its
--- resources.
--- It's one of the predefined function names that will
--- be called by the game. They give you entry points
--- where you're able to call your own code using either
--- provided instructions or custom functions.
-function onGameInit()
- -- At first we have to overwrite/set some global variables
- -- that define the map, the game has to load, as well as
- -- other things such as the game rules to use, etc.
- -- Things we don't modify here will use their default values.
-
- -- The base number for the random number generator
- Seed = 0
- -- Game settings and rules
- GameFlags = gfMultiWeapon + gfOneClanMode + gfSolidLand
- -- The time the player has to move each round (in ms)
- TurnTime = 60000
- -- The frequency of crate drops
- CaseFreq = 0
- -- The number of mines being placed
- MinesNum = 0
- -- The number of explosives being placed
- Explosives = 0
- -- The delay between each round
- Delay = 0
- -- The map to be played
- Map = "Bamboo"
- -- The theme to be used
- Theme = "Bamboo"
-
- -- Create the player team
- AddTeam(loc("'Zooka Team"), 14483456, "Simple", "Island", "Default")
- -- And add a hog to it
- player = AddHog(loc("Hunter"), 0, 1, "NoHat")
- SetGearPosition(player, 1960, 1160)
-end
-
--- This function is called when the round starts
--- it spawns the first target that has to be destroyed.
--- In addition it shows the scenario goal(s).
-function onGameStart()
- -- Spawn the first target.
- spawnTarget()
-
- -- Show some nice mission goals.
- -- Parameters are: caption, sub caption, description,
- -- extra text, icon and time to show.
- -- A negative icon parameter (-n) represents the n-th weapon icon
- -- A positive icon paramter (n) represents the (n+1)-th mission icon
- -- A timeframe of 0 is replaced with the default time to show.
- ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amBazooka, 0)
-end
-
--- This function is called every game tick.
--- Note that there are 1000 ticks within one second.
--- You shouldn't try to calculate too complicated
--- code here as this might slow down your game.
-function onGameTick()
- -- If time's up, set the game to be lost.
- -- We actually check the time to be "1 ms" as it
- -- will be at "0 ms" right at the start of the game.
- if TurnTimeLeft == 1 and score < score_goal then
- game_lost = true
- -- ... and show a short message.
- ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0)
- -- How about killing our poor hog due to his poor performance?
- SetHealth(player, 0)
- -- Just to be sure set the goal time to 1 ms
- time_goal = 1
- end
- -- If the goal is reached or we've lost ...
- if score == score_goal or game_lost then
- -- ... check to see if the time we'd like to
- -- wait has passed and then ...
- if end_timer == 0 then
- -- ... end the game ...
- EndGame()
- else
- -- ... or just lower the timer by 1.
- end_timer = end_timer - 1
- -- Reset the time left to stop the timer
- TurnTimeLeft = time_goal
- end
- end
-end
-
--- This function is called when the game is initialized
--- to request the available ammo and probabilities
-function onAmmoStoreInit()
- -- add an unlimited supply of bazooka ammo
- SetAmmo(amBazooka, 9, 0, 0, 0)
-end
-
--- This function is called when a new gear is added.
--- We don't need it for this training, so we can
--- keep it empty.
-function onGearAdd(gear)
-end
-
--- This function is called before a gear is destroyed.
--- We use it to count the number of targets destroyed.
-function onGearDelete(gear)
- -- We're only interested in target gears.
- if GetGearType(gear) == gtTarget then
- -- Add one point to our score/counter
- score = score + 1
- -- If we haven't reached the goal ...
- if score < score_goal then
- -- ... spawn another target.
- spawnTarget()
- else
- if not game_lost then
- -- Otherwise show that the goal was accomplished
- ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0)
- -- Also let the hogs shout "victory!"
- PlaySound(sndVictory)
- -- Save the time left so we may keep it.
- time_goal = TurnTimeLeft
- end
- end
- end
-end
--- a/share/hedgewars/Data/Missions/Training/Shotgun.lua Fri Dec 24 00:21:42 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
--- Hedgewars Shotgun Training
--- Scripting Example
-
--- Lines such as this one are comments - they are ignored
--- by the game, no matter what kind of text is in there.
--- It's also possible to place a comment after some real
--- instruction as you see below. In short, everything
--- following "--" is ignored.
-
----------------------------------------------------------------
--- At first we implement the localization library using loadfile.
--- This allows us to localize strings without needing to think
--- about translations.
--- We can use the function loc(text) to localize a string.
-
-loadfile(GetDataPath() .. "Scripts/Locale.lua")()
-
--- This variable will hold the number of destroyed targets.
-local score = 0
--- This variable represents the number of targets to destroy.
-local score_goal = 5
--- This variable controls how many milliseconds/ticks we'd
--- like to wait before we end the round once all targets
--- have been destroyed.
-local end_timer = 5000 -- 5000 ms = 5 s
--- This variable is set to true if the game is lost (i.e.
--- time runs out).
-local game_lost = false
--- This variable will point to the hog's gear
-local player = nil
--- This variable will grab the time left at the end of the round
-local time_goal = 0
-
--- This is a custom function to make it easier to
--- spawn more targets with just one line of code
--- You may define as many custom functions as you
--- like.
-function spawnTarget()
- -- add a new target gear
- gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0)
-
- -- move it to a random position within 0 and
- -- LAND_WIDTH - the width of the map
- FindPlace(gear, true, 0, LAND_WIDTH)
-
- -- move the target to a higher vertical position
- -- to ensure it's not somewhere down below
- x, y = GetGearPosition(gear)
- SetGearPosition(gear, x, 500)
-end
-
--- This function is called before the game loads its
--- resources.
--- It's one of the predefined function names that will
--- be called by the game. They give you entry points
--- where you're able to call your own code using either
--- provided instructions or custom functions.
-function onGameInit()
- -- At first we have to overwrite/set some global variables
- -- that define the map, the game has to load, as well as
- -- other things such as the game rules to use, etc.
- -- Things we don't modify here will use their default values.
-
- -- The base number for the random number generator
- Seed = 0
- -- Game settings and rules
- GameFlags = gfMultiWeapon + gfOneClanMode
- -- The time the player has to move each round (in ms)
- TurnTime = 25000
- -- The frequency of crate drops
- CaseFreq = 0
- -- The number of mines being placed
- MinesNum = 0
- -- The number of explosives being placed
- Explosives = 0
- -- The delay between each round
- Delay = 0
- -- The map to be played
- Map = "Mushrooms"
- -- The theme to be used
- Theme = "Nature"
-
- -- Create the player team
- AddTeam(loc("Shotgun Team"), 14483456, "Simple", "Island", "Default")
- -- And add a hog to it
- player = AddHog(loc("Hunter"), 0, 1, "NoHat")
- SetGearPosition(player, 2334, 1254)
-end
-
--- This function is called when the round starts
--- it spawns the first target that has to be destroyed.
--- In addition it shows the scenario goal(s).
-function onGameStart()
- -- Spawn the first target.
- spawnTarget()
-
- -- Show some nice mission goals.
- -- Parameters are: caption, sub caption, description,
- -- extra text, icon and time to show.
- -- A negative icon parameter (-n) represents the n-th weapon icon
- -- A positive icon paramter (n) represents the (n+1)-th mission icon
- -- A timeframe of 0 is replaced with the default time to show.
- ShowMission(loc("Shotgun Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amShotgun, 0)
-end
-
--- This function is called every game tick.
--- Note that there are 1000 ticks within one second.
--- You shouldn't try to calculate too complicated
--- code here as this might slow down your game.
-function onGameTick()
- -- If time's up, set the game to be lost.
- -- We actually check the time to be "1 ms" as it
- -- will be at "0 ms" right at the start of the game.
- if TurnTimeLeft == 1 and score < score_goal then
- game_lost = true
- -- ... and show a short message.
- ShowMission(loc("Shotgun Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0)
- -- How about killing our poor hog due to his poor performance?
- SetHealth(player, 0)
- -- Just to be sure set the goal time to 1 ms
- time_goal = 1
- end
- -- If the goal is reached or we've lost ...
- if score == score_goal or game_lost then
- -- ... check to see if the time we'd like to
- -- wait has passed and then ...
- if end_timer == 0 then
- -- ... end the game ...
- EndGame()
- else
- -- ... or just lower the timer by 1.
- end_timer = end_timer - 1
- -- Reset the time left to stop the timer
- TurnTimeLeft = time_goal
- end
- end
-end
-
--- This function is called when the game is initialized
--- to request the available ammo and probabilities
-function onAmmoStoreInit()
- -- add an unlimited supply of shotgun ammo
- SetAmmo(amShotgun, 9, 0, 0, 0)
-end
-
--- This function is called when a new gear is added.
--- We don't need it for this training, so we can
--- keep it empty.
-function onGearAdd(gear)
-end
-
--- This function is called before a gear is destroyed.
--- We use it to count the number of targets destroyed.
-function onGearDelete(gear)
- -- We're only interested in target gears.
- if GetGearType(gear) == gtTarget then
- -- Add one point to our score/counter
- score = score + 1
- -- If we haven't reached the goal ...
- if score < score_goal then
- -- ... spawn another target.
- spawnTarget()
- else
- if not game_lost then
- -- Otherwise show that the goal was accomplished
- ShowMission(loc("Shotgun Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0)
- -- Also let the hogs shout "victory!"
- PlaySound(sndVictory)
- -- Save the time left so we may keep it.
- time_goal = TurnTimeLeft
- end
- end
- end
-end
--- a/share/hedgewars/Data/Missions/Training/Sniper_Rifle.lua Fri Dec 24 00:21:42 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
--- Hedgewars SniperRifle Training
--- Scripting Example
-
--- Lines such as this one are comments - they are ignored
--- by the game, no matter what kind of text is in there.
--- It's also possible to place a comment after some real
--- instruction as you see below. In short, everything
--- following "--" is ignored.
-
----------------------------------------------------------------
--- At first we implement the localization library using loadfile.
--- This allows us to localize strings without needing to think
--- about translations.
--- We can use the function loc(text) to localize a string.
-
-loadfile(GetDataPath() .. "Scripts/Locale.lua")()
-
--- This variable will hold the number of destroyed targets.
-local score = 0
--- This variable represents the number of targets to destroy.
-local score_goal = 31
--- This variable controls how many milliseconds/ticks we'd
--- like to wait before we end the round once all targets
--- have been destroyed.
-local end_timer = 5000 -- 5000 ms = 5 s
--- This variable is set to true if the game is lost (i.e.
--- time runs out).
-local game_lost = false
--- This variable will point to the hog's gear
-local player = nil
--- This variable will grab the time left at the end of the round
-local time_goal = 0
-
-local target = nil
-
-local last_hit_time = 0
--- This is a custom function to make it easier to
--- spawn more targets with just one line of code
--- You may define as many custom functions as you
--- like.
-function spawnTarget(x, y)
- -- add a new target gear
- target = AddGear(x, y, gtTarget, 0, 0, 0, 0)
- -- have the camera move to the target so the player knows where it is
- FollowGear(target)
-end
-
-function blowUp(x, y)
- -- adds some TNT
- gear = AddGear(x, y, gtDynamite, 0, 0, 0, 0)
-end
-
--- This function is called before the game loads its
--- resources.
--- It's one of the predefined function names that will
--- be called by the game. They give you entry points
--- where you're able to call your own code using either
--- provided instructions or custom functions.
-function onGameInit()
- -- At first we have to overwrite/set some global variables
- -- that define the map, the game has to load, as well as
- -- other things such as the game rules to use, etc.
- -- Things we don't modify here will use their default values.
-
- -- The base number for the random number generator
- Seed = 0
- -- Game settings and rules
- GameFlags = gfMultiWeapon + gfOneClanMode + gfArtillery
- -- The time the player has to move each round (in ms)
- TurnTime = 150000
- -- The frequency of crate drops
- CaseFreq = 0
- -- The number of mines being placed
- MinesNum = 0
- -- The number of explosives being placed
- Explosives = 0
- -- The delay between each round
- Delay = 0
- -- The map to be played
- Map = "Ropes"
- -- The theme to be used
- Theme = "City"
-
- -- Create the player team
- AddTeam(loc("Sniperz"), 14483456, "Simple", "Island", "Default")
- -- And add a hog to it
- player = AddHog(loc("Hunter"), 0, 1, "Sniper")
- SetGearPosition(player, 602, 1465)
-end
-
--- This function is called when the round starts
--- it spawns the first target that has to be destroyed.
--- In addition it shows the scenario goal(s).
-function onGameStart()
- -- Spawn the first target.
- spawnTarget(860,1020)
-
- -- Show some nice mission goals.
- -- Parameters are: caption, sub caption, description,
- -- extra text, icon and time to show.
- -- A negative icon parameter (-n) represents the n-th weapon icon
- -- A positive icon paramter (n) represents the (n+1)-th mission icon
- -- A timeframe of 0 is replaced with the default time to show.
- ShowMission(loc("Sniper Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amSniperRifle, 0)
-end
-
--- This function is called every game tick.
--- Note that there are 1000 ticks within one second.
--- You shouldn't try to calculate too complicated
--- code here as this might slow down your game.
-function onGameTick()
- if game_lost then
- return
- end
- -- after a target is destroyed, show hog, then target
- if (target ~= nil) and (TurnTimeLeft + 1300 < last_hit_time) then
- -- move camera to the target
- FollowGear(target)
- elseif TurnTimeLeft + 300 < last_hit_time then
- -- move camera to the hog
- FollowGear(player)
- end
- -- If time's up, set the game to be lost.
- -- We actually check the time to be "1 ms" as it
- -- will be at "0 ms" right at the start of the game.
- if TurnTimeLeft == 1 and score < score_goal then
- game_lost = true
- -- ... and show a short message.
- ShowMission(loc("Sniper Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0)
- -- How about killing our poor hog due to his poor performance?
- SetHealth(player, 0)
- -- Just to be sure set the goal time to 1 ms
- time_goal = 1
- end
- -- If the goal is reached or we've lost ...
- if score == score_goal or game_lost then
- -- ... check to see if the time we'd like to
- -- wait has passed and then ...
- if end_timer == 0 then
- -- ... end the game ...
- EndGame()
- else
- -- ... or just lower the timer by 1.
- end_timer = end_timer - 1
- -- Reset the time left to stop the timer
- TurnTimeLeft = time_goal
- end
- end
-end
-
--- This function is called when the game is initialized
--- to request the available ammo and probabilities
-function onAmmoStoreInit()
- -- add an unlimited supply of shotgun ammo
- SetAmmo(amSniperRifle, 9, 0, 0, 0)
-end
-
--- This function is called when a new gear is added.
--- We don't need it for this training, so we can
--- keep it empty.
-function onGearAdd(gear)
-end
-
--- This function is called before a gear is destroyed.
--- We use it to count the number of targets destroyed.
-function onGearDelete(gear)
-
- if GetGearType(gear) == gtCase then
- game_lost = true
- return
- end
-
- if (GetGearType(gear) == gtTarget) then
- -- remember when the target was hit for adjusting the camera
- last_hit_time = TurnTimeLeft
- -- Add one point to our score/counter
- score = score + 1
- -- If we haven't reached the goal ...
- if score < score_goal then
- -- ... spawn another target.
- if score == 1 then
- spawnTarget(1520,1350)
- elseif score == 2 then
- spawnTarget(1730,1040)
- elseif score == 3 then
- spawnTarget(2080,780)
- elseif score == 4 then
- blowUp(1730,1226)
- blowUp(1440,1595)
- blowUp(1527,1575)
- blowUp(1614,1595)
- blowUp(1420,1675)
- blowUp(1527,1675)
- blowUp(1634,1675)
- blowUp(1440,1755)
- blowUp(1527,1775)
- blowUp(1614,1755)
- spawnTarget(1527,1667)
- elseif score == 5 then
- spawnTarget(1527,1667)
- elseif score == 6 then
- spawnTarget(2175,1300)
- elseif score == 7 then
- spawnTarget(2250,940)
- elseif score == 8 then
- spawnTarget(2665,1540)
- elseif score == 9 then
- spawnTarget(3040,1160)
- elseif score == 10 then
- spawnTarget(2930,1500)
- elseif score == 11 then
- spawnTarget(700,720)
- elseif score == 12 then
- blowUp(914,1222)
- blowUp(1050,1222)
- blowUp(1160,1008)
- blowUp(1160,1093)
- blowUp(1160,1188)
- blowUp(375,911)
- blowUp(510,911)
- blowUp(640,911)
- blowUp(780,911)
- blowUp(920,911)
- blowUp(1060,913)
- blowUp(1198,913)
- spawnTarget(1200,730)
- elseif score == 13 then
- spawnTarget(1200,830)
- elseif score == 14 then
- spawnTarget(1430,450)
- elseif score == 15 then
- spawnTarget(796,240)
- elseif score == 16 then
- spawnTarget(300,10)
- elseif score == 17 then
- spawnTarget(2080,820)
- elseif score == 18 then
- blowUp(2110,920)
- blowUp(2210,920)
- blowUp(2200,305)
- blowUp(2300,305)
- blowUp(2300,400)
- blowUp(2300,500)
- blowUp(2300,600)
- blowUp(2300,700)
- blowUp(2300,800)
- blowUp(2300,900)
- blowUp(2401,305)
- blowUp(2532,305)
- blowUp(2663,305)
- spawnTarget(2300,760)
- elseif score == 19 then
- spawnTarget(2300,760)
- elseif score == 20 then
- spawnTarget(2738,190)
- elseif score == 21 then
- spawnTarget(2590,-100)
- elseif score == 22 then
- blowUp(2790,305)
- blowUp(2930,305)
- blowUp(3060,305)
- blowUp(3190,305)
- blowUp(3310,305)
- blowUp(3393,613)
- blowUp(2805,370)
- blowUp(2805,500)
- blowUp(2805,630)
- blowUp(2805,760)
- blowUp(2805,890)
- blowUp(2700,890)
- blowUp(3258,370)
- blowUp(3258,475)
- blowUp(3264,575)
- spawnTarget(3230,240)
- elseif score == 23 then
- spawnTarget(3230,290)
- elseif score == 24 then
- spawnTarget(3670,250)
- elseif score == 25 then
- spawnTarget(2620,-100)
- elseif score == 26 then
- spawnTarget(2870,300)
- elseif score == 27 then
- spawnTarget(3850,900)
- elseif score == 28 then
- spawnTarget(3780,300)
- elseif score == 29 then
- spawnTarget(3670,0)
- elseif score == 30 then
- spawnTarget(3480,1200)
- end
- else
- if not game_lost then
- -- Otherwise show that the goal was accomplished
- ShowMission(loc("Sniper Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0)
- -- Also let the hogs shout "victory!"
- PlaySound(sndVictory)
- -- Save the time left so we may keep it.
- time_goal = TurnTimeLeft
- end
- end
- end
-end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Dangerous_Ducklings.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,158 @@
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+
+local player = nil -- This variable will point to the hog's gear
+local instructor = nil
+local enemy = nil
+--local givenSpeech = false
+
+local speechStage = 0
+
+local gameLost = false
+local gameWon = false
+local notListening = false
+
+local endTimer = 0
+
+function onGameInit()
+
+ -- Things we don't modify here will use their default values.
+
+ Seed = 0 -- The base number for the random number generator
+ GameFlags = gfInfAttack -- Game settings and rules
+ TurnTime = 60000 -- The time the player has to move each round (in ms)
+ CaseFreq = 0 -- The frequency of crate drops
+ MinesNum = 0 -- The number of mines being placed
+ Explosives = 0 -- The number of explosives being placed
+ Delay = 0 -- The delay between each round
+ Map = "Bath" -- The map to be played
+ Theme = "Bath" -- The theme to be used
+
+
+ AddTeam(loc("Bloody Rookies"), 14483456, "Simple", "Island", "Default")
+ player = AddHog(loc("Hunter"), 0, 1, "NoHat")
+
+ --AddTeam("Instructors", 14483456, "Simple", "Island", "Default")
+ instructor = AddHog(loc("Instructor"), 1, 1, "Vega")
+
+ AddTeam("Blue Team", 29439, "Simple", "Island", "Default")
+ enemy = AddHog("Filthy Blue", 1, 100, "Skull")
+
+ SetGearPosition(player, 1170, 1926)
+ SetGearPosition(instructor, 1341, 1926)
+ SetGearPosition(enemy, 2942, 1861)
+
+
+ HogSay(player, ".............................", SAY_THINK)
+ HogTurnLeft(instructor, true)
+
+
+end
+
+
+function onGameStart()
+
+ SpawnAmmoCrate(1499,1500,amRope)
+ SpawnAmmoCrate(2753,1500,amFirePunch)
+
+ FollowGear(player)
+
+ --spawnTarget()
+
+ -- Show some nice mission goals.
+ -- Parameters are: caption, sub caption, description,
+ -- extra text, icon and time to show.
+ -- A negative icon parameter (-n) represents the n-th weapon icon
+ -- A positive icon paramter (n) represents the (n+1)-th mission icon
+ -- A timeframe of 0 is replaced with the default time to show.
+ ShowMission(loc("Dangerous Ducklings"), loc("by mikade"), loc("Eliminate the Blue Team"), -amRope, 1);
+
+end
+
+
+function onGameTick()
+
+
+ -- opening speech
+ if (notListening == false) and (gameLost == false) then
+
+ if (TurnTimeLeft == 58000) and (speechStage == 0) then
+ HogSay(instructor, loc("Listen up, maggot!!"), SAY_SHOUT)
+ speechStage = 1
+ elseif (TurnTimeLeft == 57000) and (speechStage == 1) then
+ HogSay(player,loc("!!!"),SAY_SHOUT)
+ elseif (TurnTimeLeft == 55000) and (speechStage == 1) then
+ HogSay(instructor, loc("The enemy is hiding out on yonder ducky!"), SAY_SAY)
+ speechStage = 2
+
+ elseif (TurnTimeLeft == 49000) and (speechStage == 2) then
+ FollowGear(enemy)
+ elseif (TurnTimeLeft == 46500) and (speechStage == 2) then
+ FollowGear(instructor)
+ HogSay(instructor, loc("Get on over there and take him out!"), SAY_SAY)
+ speechStage = 3
+ elseif (TurnTimeLeft == 43500) and (speechStage == 3) then
+ HogSay(instructor, loc("GO! GO! GO!"), SAY_SHOUT)
+ speechStage = 4
+ givenSpeech = true
+ end
+
+ end
+
+
+ -- if player falls in water or if player ignores speech
+ if (CurrentHedgehog ~= nil) and (CurrentHedgehog == player) then
+ if (GetY(player) > 2060) and (gameLost == false) then
+ HogSay(instructor, loc("DAMMIT, ROOKIE!"), SAY_SHOUT)
+ gameLost = true
+ end
+
+ if (GetX(player) > 1324) and (GetY(player) > 1908) and (notListening == false) and (speechStage < 3) then
+ HogSay(instructor, loc("DAMMIT, ROOKIE! GET OFF MY HEAD!"), SAY_SHOUT)
+ notListening = true
+ end
+
+ end
+
+ --player out of time
+ if (TurnTimeLeft == 1) and (gameWon == false) then
+ SetHealth(player, 0)
+ end
+
+ -- meh
+ if gameLost == true then
+ endTimer = endTimer + 1
+ if (CurrentHedgehog ~= nil) and (CurrentHedgehog == instructor) then
+ if endTimer >= 3000 then
+ SetHealth(instructor,0)
+ TurnTimeLeft = 0
+ end
+ ShowMission(loc("MISSION FAILED"), loc(":("), loc("You've failed. Try again."), -amRope, 1);
+ end
+ end
+
+end
+
+
+function onAmmoStoreInit()
+ SetAmmo(amFirePunch, 0, 0, 0, 1)
+ SetAmmo(amParachute, 1, 0, 0, 0)
+ SetAmmo(amRope, 0, 0, 0, 1)
+end
+
+function onGearDelete(gear)
+ if GetGearType(gear) == gtHedgehog then
+ if gear == player then
+ gameLost = true
+ elseif gear == instructor then
+ HogSay(player, loc("See ya!"), SAY_THINK)
+ TurnTimeLeft = 3000
+ elseif gear == enemy then
+ HogSay(player, loc("Enjoy the swim..."), SAY_THINK)
+ gameWon = true
+ TurnTimeLeft = 3000
+ end
+
+ end
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Diver.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,96 @@
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+local player = nil -- This variable will point to the hog's gear
+local enemy = nil
+
+local GameOver = false
+
+function onGameInit()
+
+ -- Things we don't modify here will use their default values.
+
+ Seed = 0 -- The base number for the random number generator
+ GameFlags = gfInfAttack + gfDisableWind-- Game settings and rules
+ TurnTime = 90000 -- The time the player has to move each round (in ms)
+ CaseFreq = 0 -- The frequency of crate drops
+ MinesNum = 0 -- The number of mines being placed
+ MinesTime = 1000
+ Explosives = 0 -- The number of explosives being placed
+ Delay = 10 -- The delay between each round
+ Map = "Hydrant" -- The map to be played
+ Theme = "City" -- The theme to be used
+
+ AddTeam(loc("Bloody Rookies"), 14483456, "Simple", "Island", "Default")
+ player = AddHog(loc("Hunter"), 0, 1, "NoHat")
+
+ AddTeam(loc("Toxic Team"), 1175851, "Simple", "Island", "Default")
+ enemy = AddHog(loc("Poison"), 1, 100, "Skull")
+
+ SetGearPosition(player, 1454, 1540)
+ SetGearPosition(enemy, 2488, 1960)
+
+end
+
+
+function onGameStart()
+
+
+ SpawnAmmoCrate(1450,1910,amJetpack)
+ SpawnAmmoCrate(2568,1714,amFirePunch)
+ SpawnAmmoCrate(1974,1875,amBlowTorch)
+ SpawnAmmoCrate(2056,1877,amParachute)
+
+ AddGear(1603, 1320, gtMine, 0, 0, 0, 0)
+
+ ShowMission(loc("Operation Diver"), loc("by mikade"), loc("Eliminate Poison before the time runs out"), -amFirePunch, 0);
+ --SetTag(AddGear(0, 0, gtATSmoothWindCh, 0, 0, 0, 1), -70)
+
+ SetWind(-100)
+
+end
+
+
+function onGameTick()
+
+
+ if (TotalRounds == 3) and (GameOver == false) then
+ SetHealth(player, 0)
+ GameOver = true
+ end
+
+ if TurnTimeLeft == 1 then
+ SetHealth(player, 0)
+ GameOver = true
+ end
+
+end
+
+
+function onAmmoStoreInit()
+ SetAmmo(amFirePunch, 1, 0, 0, 1)
+ SetAmmo(amBlowTorch, 0, 0, 0, 1)
+ SetAmmo(amGirder, 1, 0, 0, 0)
+ SetAmmo(amParachute, 0, 0, 0, 1)
+ SetAmmo(amJetpack, 0, 0, 0, 1)
+end
+
+
+function onGearAdd(gear)
+
+ if GetGearType(gear) == gtJetpack then
+ SetHealth(gear,1000)
+ end
+
+end
+
+function onGearDelete(gear)
+
+ if (gear == enemy) and (GameOver == false) then
+ ShowMission(loc("Operation Diver"), loc("MISSION SUCCESS"), loc("Congratulations!"), 0, 0)
+ elseif gear == player then
+ ShowMission(loc("Operation Diver"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0)
+ GameOver = true
+ end
+
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Spooky_Tree.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,152 @@
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+---------------------------------------------------------------
+
+local player = nil -- This variable will point to the hog's gear
+local instructor = nil
+local enemy = nil
+
+local GameOver = false
+local birdSpeech = false
+local birdSqualk = false
+
+local GirderCrate = nil
+
+function onGameInit()
+
+ -- Things we don't modify here will use their default values.
+ Seed = 0 -- The base number for the random number generator
+ GameFlags = gfInfAttack +gfDisableWind-- Game settings and rules
+ TurnTime = 90000 -- The time the player has to move each round (in ms)
+ CaseFreq = 0 -- The frequency of crate drops
+ MinesNum = 0 -- The number of mines being placed
+ MinesTime = 1
+ Explosives = 0 -- The number of explosives being placed
+ Delay = 10 -- The delay between each round
+ Map = "Tree" -- The map to be played
+ Theme = "Halloween" -- The theme to be used
+
+ AddTeam(loc("Bloody Rookies"), 14483456, "Simple", "Island", "Default")
+ player = AddHog(loc("Hunter"), 0, 1, "NoHat")
+ --852718
+ AddTeam(loc("Toxic Team"), 1175851, "Simple", "Island", "Default")
+ enemy = AddHog(loc("Poison"), 1, 10, "Skull")
+
+ SetGearPosition(player, 1994, 1047)
+ SetGearPosition(enemy, 1522, 1830)
+
+end
+
+
+function onGameStart()
+
+ --right side mines
+ AddGear(2705, 1383, gtMine, 0, 0, 0, 0)
+ AddGear(2742, 1542, gtMine, 0, 0, 0, 0)
+ AddGear(2672, 1551, gtMine, 0, 0, 0, 0)
+ AddGear(2608, 1546, gtMine, 0, 0, 0, 0)
+
+ --tunnel mines
+ AddGear(1325, 1593, gtSMine, 0, 0, 0, 0)
+ AddGear(1396, 1632, gtSMine, 0, 0, 0, 0)
+ AddGear(1477, 1652, gtSMine, 0, 0, 0, 0)
+ AddGear(1548, 1635, gtSMine, 0, 0, 0, 0)
+ AddGear(1637, 1635, gtSMine, 0, 0, 0, 0)
+
+ AddGear(1332, 1510, gtSMine, 0, 0, 0, 0)
+ AddGear(1396, 1502, gtSMine, 0, 0, 0, 0)
+ AddGear(1477, 1490, gtSMine, 0, 0, 0, 0)
+ AddGear(1548, 1495, gtSMine, 0, 0, 0, 0)
+ AddGear(1637, 1490, gtSMine, 0, 0, 0, 0)
+
+ --above the tunnel mines
+ AddGear(1355, 1457, gtMine, 0, 0, 0, 0)
+ AddGear(1428, 1444, gtMine, 0, 0, 0, 0)
+ AddGear(1508, 1448, gtMine, 0, 0, 0, 0)
+ AddGear(1586, 1441, gtMine, 0, 0, 0, 0)
+ AddGear(1664, 1436, gtMine, 0, 0, 0, 0)
+
+ -- crates crates and more crates
+ SpawnAmmoCrate(2232,1600,amBlowTorch)
+ SpawnAmmoCrate(2491,1400,amPickHammer)
+ SpawnUtilityCrate(1397,1189,amGirder)
+ SpawnUtilityCrate(1728,1647,amJetpack)
+ SpawnUtilityCrate(2670,1773,amLaserSight)
+
+ SpawnAmmoCrate(1769,1442,amShotgun) --shotgun1
+ SpawnAmmoCrate(1857,1456,amFirePunch) --fire punch
+ GirderCrate = SpawnAmmoCrate(2813,1538,amShotgun) -- final shotgun
+ SpawnAmmoCrate(2205,1443,amBee)
+
+ ShowMission(loc("Spooky Tree"), loc("by mikade"), loc("Eliminate all enemies"), -amBee, 0);
+
+ SetWind(-75)
+
+end
+
+
+function onGameTick()
+
+
+ if CurrentHedgehog ~= nil then
+
+ if (birdSqualk == false) and (GetX(CurrentHedgehog) == 2126) and (GetY(CurrentHedgehog) == 1157) then
+ birdSqualk = true
+ PlaySound(sndBirdyLay)
+ end
+
+ if (birdSpeech == false) and (GetX(CurrentHedgehog) == 2092) and (GetY(CurrentHedgehog) == 1186) then
+ birdSpeech = true
+ HogSay(player,loc("Good birdy......"),SAY_THINK)
+ end
+ end
+
+ if CurrentHedgehog ~= nil then
+ --AddCaption(GetX(CurrentHedgehog) .. ";" .. GetY(CurrentHedgehog))
+ end
+
+ if (TotalRounds == 2) and (GameOver == false) then -- just in case
+ SetHealth(player, 0)
+ GameOver = true
+ end
+
+ if TurnTimeLeft == 1 then
+ --ShowMission(loc(caption), loc(subcaption), loc(timeout), -amSkip, 0);
+ SetHealth(player, 0)
+ GameOver = true
+ end
+
+end
+
+
+function onAmmoStoreInit()
+ SetAmmo(amShotgun, 0, 0, 0, 1)
+ SetAmmo(amFirePunch, 0, 0, 0, 1)
+ SetAmmo(amBee, 0, 0, 0, 1)
+ SetAmmo(amBlowTorch, 0, 0, 0, 1)
+ SetAmmo(amGirder, 0, 0, 0, 1)
+ SetAmmo(amParachute, 1, 0, 0, 1)
+ SetAmmo(amPickHammer, 0, 0, 0, 1)
+ SetAmmo(amJetpack, 0, 0, 0, 1)
+ SetAmmo(amLaserSight, 0, 0, 0, 1)
+end
+
+function onGearDelete(gear)
+
+ if gear == GirderCrate then
+ TurnTimeLeft = TurnTimeLeft + 30000
+ end
+
+ if GetGearType(gear) == gtCase then
+ TurnTimeLeft = TurnTimeLeft + 5000
+ end
+
+ if (gear == enemy) and (GameOver == false) then
+ ShowMission(loc("Spooky Tree"), loc("MISSION SUCCESSFUL"), loc("Congratulations!"), 0, 0);
+ elseif gear == player then
+ ShowMission(loc("Spooky Tree"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0)
+ GameOver = true
+ end
+
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Teamwork.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,119 @@
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+local player = nil -- This variable will point to the hog's gear
+local p2 = nil
+local enemy = nil
+local bCrate = nil
+
+local GameOver = false
+
+function onGameInit()
+
+ -- Things we don't modify here will use their default values.
+ Seed = 0 -- The base number for the random number generator
+ GameFlags = gfDisableWind-- Game settings and rules
+ SuddenDeathTurns = 9999
+ TurnTime = 30000 -- The time the player has to move each round (in ms)
+ CaseFreq = 0 -- The frequency of crate drops
+ MinesNum = 0 -- The number of mines being placed
+ MinesTime = 1
+ Explosives = 0 -- The number of explosives being placed
+ Delay = 10 -- The delay between each round
+ Map = "Mushrooms" -- The map to be played
+ Theme = "Nature" -- The theme to be used
+
+ AddTeam(loc("Feeble Resistance"), 14483456, "Simple", "Island", "Default")
+ player = AddHog(loc("Pathetic Hog #1"), 0, 50, "NoHat")
+ p2 = AddHog(loc("Pathetic Hog #2"), 0, 20, "NoHat")
+
+ --AddTeam("Toxic Team", 1175851, "Simple", "Island", "Robot","cm_binary")
+ AddTeam(loc("Cybernetic Empire"), 1175851, "Simple", "Island", "Robot", "cm_binary")
+ enemy = AddHog(loc("Unit 3378"), 5, 30, "cyborg")
+
+ SetGearPosition(player, 2427, 1259)
+ SetGearPosition(p2, 2293, 1263)
+ SetGearPosition(enemy, 1516, 1519)
+
+end
+
+
+function onGameStart()
+
+ --mines
+ AddGear(1300, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1325, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1350, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1375, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1400, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1425, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1450, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1475, 1100, gtMine, 0, 0, 0, 0)
+ AddGear(1500, 1100, gtMine, 0, 0, 0, 0)
+
+ AddGear(1910, 1380, gtMine, 0, 0, 0, 0)
+ AddGear(1925, 1380, gtMine, 0, 0, 0, 0)
+ AddGear(1950, 1380, gtMine, 0, 0, 0, 0)
+ AddGear(1975, 1380, gtMine, 0, 0, 0, 0)
+ AddGear(2000, 1380, gtMine, 0, 0, 0, 0)
+ AddGear(2025, 1380, gtMine, 0, 0, 0, 0)
+
+ -- crates crates and more crates
+ bCrate = SpawnAmmoCrate(2712,1500,amBaseballBat)
+ SpawnUtilityCrate(1596,1167,amGirder)
+ SpawnAmmoCrate(2728,1978,amPickHammer)
+ SpawnAmmoCrate(1728,1647,amBlowTorch)
+ SpawnUtilityCrate(2567,1768,amJetpack)
+ SpawnAmmoCrate(1251,1466,amDrill)
+
+ ShowMission(loc("Codename: Teamwork"), loc("by mikade"), loc("- Eliminate Unit 3378 |- Feeble Resistance must survive"), 0, 0)
+
+end
+
+
+function onGameTick()
+
+ --if CurrentHedgehog ~= nil then
+ -- AddCaption(GetX(CurrentHedgehog) .. ";" .. GetY(CurrentHedgehog))
+ --end
+
+end
+
+
+function onAmmoStoreInit()
+ SetAmmo(amBlowTorch, 0, 0, 0, 1)
+ SetAmmo(amGirder, 0, 0, 0, 1)
+ SetAmmo(amPickHammer, 0, 0, 0, 2)
+ SetAmmo(amJetpack, 0, 0, 0, 1)
+ SetAmmo(amDrill, 0, 0, 0, 2)
+ SetAmmo(amBaseballBat, 0, 0, 0, 1)
+ SetAmmo(amSwitch, 9, 0, 0, 0)
+ SetAmmo(amSkip, 9, 0, 0, 0)
+end
+
+function onGearDamage(gear, damage)
+ if (gear == player) and (damage == 30) then
+ HogSay(player,loc("T_T"),SAY_SHOUT)
+ end
+end
+
+function onGearDelete(gear)
+
+ if gear == bCrate then
+ HogSay(CurrentHedgehog, loc("Hmmm..."), SAY_THINK)
+ end
+
+ if GetGearType(gear) == gtCase then
+ TurnTimeLeft = TurnTimeLeft + 5000
+ end
+
+ if (gear == enemy) and (GameOver == false) then
+ ShowMission(loc("Codename: Teamwork"), loc("MISSION SUCCESSFUL"), loc("Congratulations!"), 0, 0);
+ elseif (gear == player) or (gear == p2) then
+ ShowMission(loc("Codename: Teamwork"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0)
+ GameOver = true
+ SetHealth(p2,0)
+ SetHealth(player,0)
+
+ end
+
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.cfg Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,2 @@
+Default
+Default
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,597 @@
+--------------------------------
+-- CAPTURE_THE_FLAG_CUSTOM 0.3
+-- by mikade
+--------------------------------
+
+-- Version History
+---------
+-- 0.1
+---------
+
+-- [conversion from map-dependant CTF_Blizzard to map independant Capture the Flag]
+-- added an intial starting stage where flagspawn is decided by the players (weapon set will require a jetpack unless I set)
+-- changed the flag from a crate to a visual gear, and all associated methods and checks relating to flags (five hours later, lol)
+-- changed starting/respawning positioning to accommodate different map sizes
+-- added another circle to mark flag spawn
+-- added gameFlag filter
+-- changed scoring feedback
+-- cleaned up some code
+
+-- removing own flag from spawning point no longer possible
+-- destroying flags no longer possible.
+-- added basic glowing circle effect to spawn area
+-- added expanding circle to fgear itself
+
+-- removed teleporters
+-- removed random crate drops (this should be decided by scheme)
+-- removed set map criteria like minesNum, turnTime, explosives etc. except for sudden death
+-- removed weapon defintions
+-- removed placement and respawning methods, hopefully divideTeams will have this covered
+
+---------
+-- 0.2
+---------
+
+-- [now with user friendliness]
+-- flag is now placed wherever you end up at the end of your first turn, this ensures that it is always placed by turn 3
+-- removed a bunch of backup code and no-longer needed variables / methods from CTF_Blizzard days
+-- removed an aura that was still mistakenly hanging about
+-- added an in-game note about placements
+-- added an in-game note about the rules of the game
+-- added translation support and loc()'ed everything
+-- changed things so the seed is no longer always the same...
+
+-- In this version:
+---------
+-- 0.3
+---------
+-- [fufufufu kamikaze fix]
+-- added nill checks to make sure the player doesn't generate errors by producing a nil value in hhs[] when he uses kamikaze
+-- added a check to make sure the player doesn't kamikaze straight down and make the flag's starting point underwater
+-- added a check to make sure the player drops the flag if he has it and he uses kamikaze
+
+-----------------
+--SCRIPT BEGINS
+-----------------
+
+-- enable awesome translaction support so we can use loc() wherever we want
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+---------------------------------------------------------------
+----------lots of bad variables and things
+----------because someone is too lazy
+----------to read about tables properly
+------------------ "Oh well, they probably have the memory"
+
+local gameStarted = false
+local gameTurns = 0
+
+--------------------------
+-- hog and team tracking variales
+--------------------------
+
+local numhhs = 0 -- store number of hedgehogs
+local hhs = {} -- store hedgehog gears
+
+local numTeams -- store the number of teams in the game
+local teamNameArr = {} -- store the list of teams
+local teamSize = {} -- store how many hogs per team
+local teamIndex = {} -- at what point in the hhs{} does each team begin
+
+-------------------
+-- flag variables
+-------------------
+
+local fPlaced = {} -- has the flag been placed TRUE/FALSE
+
+local fGear = {} -- pointer to the visual gears that represent the flag
+local fGearX = {}
+local fGearY = {}
+
+local fThief = {} -- pointer to the hogs who stole the flags
+local fIsMissing = {} -- have the flags been destroyed or captured
+local fNeedsRespawn = {} -- do the flags need to be respawned
+local fCaptures = {} -- the team "scores" how many captures
+local fSpawnX = {} -- spawn X for flags
+local fSpawnY = {} -- spawn Y for flags
+
+local fThiefX = {}
+local fThiefY = {}
+local FTTC = 0 -- flag thief tracker counter
+
+local fSpawnC = {} -- spawn circle marker
+local fCirc = {} -- flag/carrier marker circles
+local fCol = {} -- colour of the clans
+
+local fGearRad = 0
+local fGearRadMin = 5
+local fGearRadMax = 33
+local fGearTimer = 0
+
+------------------------
+--flag methods
+------------------------
+
+function CheckScore(teamID)
+
+ if teamID == 0 then
+ alt = 1
+ elseif teamID == 1 then
+ alt = 0
+ end
+
+ if fCaptures[teamID] == 3 then
+ for i = 0, (numhhs-1) do
+ if hhs[i] ~= nil then
+ if GetHogClan(hhs[i]) == alt then
+ SetEffect(hhs[i], heResurrectable, false)
+ SetHealth(hhs[i],0)
+ end
+ end
+ end
+ if CurrentHedgehog ~= nil then
+ ShowMission(loc("GAME OVER!"), loc("Victory for the ") .. GetHogTeamName(CurrentHedgehog), loc("Hooray!"), 0, 0)
+ end
+ end
+
+end
+
+function DoFlagStuff(gear)
+
+ if (gear == fGear[0]) then
+ wtf = 0
+ bbq = 1
+ elseif (gear == fGear[1]) then
+ wtf = 1
+ bbq = 0
+ end
+
+ -- player has successfully captured the enemy flag
+ if (GetHogClan(CurrentHedgehog) == wtf) and (CurrentHedgehog == fThief[bbq]) and (fIsMissing[wtf] == false) then
+
+ DeleteVisualGear(fGear[wtf])
+ fGear[wtf] = nil -- the flag has now disappeared
+
+ fIsMissing[wtf] = false
+ fNeedsRespawn[wtf] = true
+ fIsMissing[bbq] = false
+ fNeedsRespawn[bbq] = true
+ fCaptures[wtf] = fCaptures[wtf] +1
+ ShowMission(loc("You have SCORED!!"), GetHogTeamName(CurrentHedgehog) .. ": " .. fCaptures[wtf], loc("Opposing Team: ") .. fCaptures[bbq], 0, 0)
+ PlaySound(sndVictory)
+ fThief[bbq] = nil -- player no longer has the enemy flag
+ CheckScore(wtf)
+
+ --if the player is returning the flag
+ elseif (GetHogClan(CurrentHedgehog) == wtf) and (fIsMissing[wtf] == true) then
+
+ DeleteVisualGear(fGear[wtf])
+ fGear[wtf] = nil -- the flag has now disappeared
+
+ fNeedsRespawn[wtf] = true
+ HandleRespawns() -- this will set fIsMissing[wtf] to false :)
+ AddCaption(loc("Flag returned!"))
+
+ --if the player is taking the enemy flag
+ elseif GetHogClan(CurrentHedgehog) == bbq then
+
+ DeleteVisualGear(fGear[wtf])
+ fGear[wtf] = nil -- the flag has now disappeared
+
+ fIsMissing[wtf] = true
+ for i = 0,numhhs-1 do
+ if CurrentHedgehog ~= nil then
+ if CurrentHedgehog == hhs[i] then
+ fThief[wtf] = hhs[i]
+ end
+ end
+ end
+ AddCaption(loc("Flag captured!"))
+
+ --below line doesnt usually get called
+ --else
+ -- now gets called if you go over your own flag, presumably
+ --AddCaption("Hmm... that wasn't supposed to happen...")
+ end
+
+end
+
+function CheckFlagProximity()
+
+ for i = 0, 1 do
+ if fGear[i] ~= nil then
+
+ g1X = fGearX[i]
+ g1Y = fGearY[i]
+
+ g2X, g2Y = GetGearPosition(CurrentHedgehog)
+
+ q = g1X - g2X
+ w = g1Y - g2Y
+ dist = (q*q) + (w*w)
+
+ if dist < 500 then --1600
+ DoFlagStuff(fGear[i])
+ end
+ end
+ end
+
+end
+
+
+function HandleRespawns()
+
+ for i = 0, 1 do
+
+ if fNeedsRespawn[i] == true then
+ fGear[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+ fGearX[i] = fSpawnX[i]
+ fGearY[i] = fSpawnY[i]
+ --fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip)
+ fNeedsRespawn[i] = false
+ fIsMissing[i] = false -- new, this should solve problems of a respawned flag being "returned" when a player tries to score
+ AddCaption(loc("Flag respawned!"))
+ end
+
+ end
+
+end
+
+
+function FlagThiefDead(gear)
+
+ if (gear == fThief[0]) then
+ wtf = 0
+ bbq = 1
+ elseif (gear == fThief[1]) then
+ wtf = 1
+ bbq = 0
+ end
+
+ if fThief[wtf] ~= nil then
+ -- falls into water
+ --ShowMission(LAND_HEIGHT, fThiefY[wtf], (LAND_HEIGHT - fThiefY[wtf]), 0, 0)
+ if (LAND_HEIGHT - fThiefY[wtf]) < 15 then
+ fIsMissing[wtf] = true
+ fNeedsRespawn[wtf] = true
+ HandleRespawns()
+ --AddCaption("hah??")
+ else --normally
+ fGearX[wtf] = fThiefX[wtf]
+ fGearY[wtf] = fThiefY[wtf]
+ fGear[wtf] = AddVisualGear(fGearX[wtf],fGearY[wtf],vgtCircle,0,true)
+ --fGear[wtf] = AddVisualGear(fThiefX[wtf],fThiefY[wtf],vgtCircle,0,true)
+ end
+
+ AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false)
+ fThief[wtf] = nil
+ end
+
+end
+
+function HandleCircles()
+
+ fGearTimer = fGearTimer + 1
+ if fGearTimer == 50 then
+ fGearTimer = 0
+ fGearRad = fGearRad + 1
+ if fGearRad > fGearRadMax then
+ fGearRad = fGearRadMin
+ end
+ end
+
+ for i = 0, 1 do
+
+ --SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 50, 3, fCol[i]) -- draw a circ for spawning area
+
+ if fIsMissing[i] == false then -- draw a flag marker at the flag's spawning place
+ SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 20, 0, 10, 0, 33, 3, fCol[i])
+ if fGear[i] ~= nil then -- draw the flag gear itself
+ SetVisualGearValues(fGear[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, fGearRad, 2, fCol[i])
+ end
+ elseif (fIsMissing[i] == true) and (fNeedsRespawn[i] == false) then
+ if fThief[i] ~= nil then -- draw circle round flag carrier
+ SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], 20, 200, 0, 0, 100, 33, 3, fCol[i])
+ --AddCaption("circle marking carrier")
+ elseif fThief[i] == nil then -- draw cirle round dropped flag
+ --g1X,g1Y,g4,g5,g6,g7,g8,g9,g10,g11 = GetVisualGearValues(fGear[i])
+ --SetVisualGearValues(fCirc[i], g1X, g1Y, 20, 200, 0, 0, 100, 33, 2, fCol[i])
+ SetVisualGearValues(fCirc[i], fGearX[i], fGearY[i], 20, 200, 0, 0, 100, 33, 3, fCol[i])
+ --AddCaption('dropped circle marker')
+ if fGear[i] ~= nil then -- flag gear itself
+ --SetVisualGearValues(fGear[i], g1X, g1Y, 20, 200, 0, 0, 100, 10, 4, fCol[i])
+ SetVisualGearValues(fGear[i], fGearX[i], fGearY[i], 20, 200, 0, 0, 100, fGearRad, 2, fCol[i])
+ --AddCaption('dropped flag itself')
+ end
+ end
+ end
+
+ if fNeedsRespawn[i] == true then -- if the flag has been destroyed, no need for a circle
+ SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 0, 0, fCol[i])
+ --AddCaption("needs respawn = true. flag 'destroyed'?")
+ end
+ end
+
+end
+
+------------------------
+-- general methods
+------------------------
+
+function CheckDistance(gear1, gear2)
+
+ g1X, g1Y = GetGearPosition(gear1)
+ g2X, g2Y = GetGearPosition(gear2)
+
+ g1X = g1X - g2X
+ g1Y = g1Y - g2Y
+ z = (g1X*g1X) + (g1Y*g1Y)
+
+ dist = z
+
+ return dist
+
+end
+
+function RebuildTeamInfo()
+
+
+ -- make a list of individual team names
+ for i = 0, 5 do
+ teamNameArr[i] = i
+ teamSize[i] = 0
+ teamIndex[i] = 0
+ end
+ numTeams = 0
+
+ for i = 0, (numhhs-1) do
+
+ z = 0
+ unfinished = true
+ while(unfinished == true) do
+
+ newTeam = true
+ tempHogTeamName = GetHogTeamName(hhs[i]) -- this is the new name
+
+ if tempHogTeamName == teamNameArr[z] then
+ newTeam = false
+ unfinished = false
+ end
+
+ z = z + 1
+
+ if z == TeamsCount then
+ unfinished = false
+ if newTeam == true then
+ teamNameArr[numTeams] = tempHogTeamName
+ numTeams = numTeams + 1
+ end
+ end
+
+ end
+
+ end
+
+ -- find out how many hogs per team, and the index of the first hog in hhs
+ for i = 0, numTeams-1 do
+
+ for z = 0, numhhs-1 do
+ if GetHogTeamName(hhs[z]) == teamNameArr[i] then
+ if teamSize[i] == 0 then
+ teamIndex[i] = z -- should give starting index
+ end
+ teamSize[i] = teamSize[i] + 1
+ --add a pointer so this hog appears at i in hhs
+ end
+ end
+
+ end
+
+end
+
+function StartTheGame()
+
+ gameStarted = true
+ AddCaption(loc("Game Started!"))
+
+ for i = 0, 1 do
+
+ -- if someone uses kamikaze downwards, this can happen as the hog won't respawn
+ if (LAND_HEIGHT - fSpawnY[i]) < 0 then
+ tempG = AddGear(0, 0, gtTarget, 0, 0, 0, 0)
+ FindPlace(tempG, true, 0, LAND_WIDTH, true)
+ fSpawnX[i], fSpawnY[i] = GetGearPosition(tempG)
+ DeleteGear(tempG)
+ end
+
+ fGear[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+ fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+ fSpawnC[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+
+ fGearX[i] = fSpawnX[i]
+ fGearY[i] = fSpawnY[i]
+
+ fCol[i] = GetClanColor(i)
+ fIsMissing[i] = false
+ fNeedsRespawn[i] = false
+ fCaptures[i] = 0
+
+ --SetVisualGearValues(zxc, 1000,1000, 20, 100, 0, 10, 1, 100, 5, GetClanColor(0))
+
+ SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 20, 100, 0, 10, 0, 75, 5, fCol[i])
+ --SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 20, 0, 10, 0, 33, 3, fCol[i])
+
+
+ end
+
+end
+
+------------------------
+-- game methods
+------------------------
+
+function onGameInit()
+
+ -- Things we don't modify here will use their default values.
+
+ GameFlags = band(bor(GameFlags, gfDivideTeams), bnot(gfKing + gfForts))
+ SuddenDeathTurns = 99 -- suddendeath is off, effectively
+ --TurnTime = 30000 -- (was 30) The time the player has to move each round (in ms)
+ --Delay = 10 -- The delay between each round
+
+end
+
+
+function onGameStart()
+
+ --ShowMission(loc(caption), loc(subcaption), loc(goal), 0, 0)
+ ShowMission(loc("CAPTURE THE FLAG"), loc("by mikade"), loc("CUSTOM BUILD 0.2"), 0, 0)
+
+ RebuildTeamInfo()
+
+ -- should gfDivideTeams do this automatically?
+ --[[for i = 0, (TeamsCount-1) do
+ for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do
+ if GetHogClan(hhs[g]) == 0 then
+ FindPlace(hhs[g], false, 0, LAND_WIDTH/2)
+ elseif GetHogClan(hhs[g]) == 1 then
+ FindPlace(hhs[g], false, LAND_WIDTH/2, LAND_WIDTH)
+ end
+ end
+ end]]
+
+ fPlaced[0] = false
+ fPlaced[1] = false
+
+ --zxc = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+
+
+ --SetVisualGearValues(zxc, 1000,1000, 20, 255, 1, 10, 0, 200, 1, GetClanColor(0))
+ --minO,max0 -glowyornot --pulsate timer -- fuckall -- radius -- width -- colour
+end
+
+
+function onNewTurn()
+
+ gameTurns = gameTurns + 1
+
+ if lastTeam ~= GetHogTeamName(CurrentHedgehog) then
+ lastTeam = GetHogTeamName(CurrentHedgehog)
+ end
+
+ --AddCaption("Handling respawns")
+ if gameStarted == true then
+ HandleRespawns()
+ --new method of placing starting flags
+ elseif gameTurns == 1 then
+ ShowMission(loc("CAPTURE THE FLAG"), loc("Flags will be placed where each team ends their turn."), "", 0, 0)
+ elseif gameTurns == 2 then
+ fPlaced[0] = true
+ ShowMission(loc("CAPTURE THE FLAG"), loc("RULES OF THE GAME [Press ESC to view]"), loc(" - Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"), 0, 0)
+ elseif gameTurns == 3 then
+ fPlaced[1] = true
+ StartTheGame()
+ end
+
+end
+
+function onGameTick()
+
+ -- onRessurect calls AFTER you have resurrected,
+ -- so keeping track of x,y a few milliseconds before
+ -- is useful
+ --FTTC = FTTC + 1
+ --if FTTC == 100 then
+ -- FTTC = 0
+ for i = 0,1 do
+ if fThief[i] ~= nil then
+ fThiefX[i] = GetX(fThief[i])
+ fThiefY[i] = GetY(fThief[i])
+ end
+ end
+ --end
+
+ -- things we wanna check often
+ if (CurrentHedgehog ~= nil) then
+ --AddCaption(LAND_HEIGHT - GetY(CurrentHedgehog))
+ --AddCaption(GetX(CurrentHedgehog) .. "; " .. GetY(CurrentHedgehog))
+ --CheckTeleporters()
+
+ end
+
+ if gameStarted == true then
+ HandleCircles()
+ if CurrentHedgehog ~= nil then
+ CheckFlagProximity()
+ end
+ elseif CurrentHedgehog ~= nil then -- if the game hasn't started yet, keep track of where we are gonna put the flags on turn end
+
+ if GetHogClan(CurrentHedgehog) == 0 then
+ i = 0
+ elseif GetHogClan(CurrentHedgehog) == 1 then
+ i = 1
+ end
+
+ fSpawnX[i] = GetX(CurrentHedgehog)
+ fSpawnY[i] = GetY(CurrentHedgehog)
+
+ end
+
+end
+
+function onGearResurrect(gear)
+
+ --AddCaption("A gear has been resurrected!")
+
+ -- mark the flag thief as dead if he needed a respawn
+ for i = 0,1 do
+ if gear == fThief[i] then
+ FlagThiefDead(gear)
+ end
+ end
+
+ -- should be covered by gfDivideTeams, actually
+ -- place hogs belonging to each clan either left or right side of map
+ --if GetHogClan(gear) == 0 then
+ -- FindPlace(gear, false, 0, LAND_WIDTH/2)
+ --elseif GetHogClan(gear) == 1 then
+ -- FindPlace(gear, false, LAND_WIDTH/2, LAND_WIDTH)
+ --end
+
+ AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
+
+end
+
+function onGearDamage(gear, damage)
+--
+end
+
+function onGearAdd(gear)
+
+ if GetGearType(gear) == gtHedgehog then
+ hhs[numhhs] = gear
+ numhhs = numhhs + 1
+ SetEffect(gear, heResurrectable, true)
+ end
+
+end
+
+function onGearDelete(gear)
+
+ if GetGearType(gear) == gtHedgehog then
+ --AddCaption("gear deleted!")
+ for i = 0, (numhhs-1) do
+ if gear == hhs[i] then
+
+ for i = 0,1 do
+ if gear == fThief[i] then
+ FlagThiefDead(gear)
+ end
+ end
+ hhs[i] = nil
+ --AddCaption("for real")
+ end
+ end
+ end
+
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/No_Jumping.cfg Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,2 @@
+Default
+Default
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/No_Jumping.lua Fri Dec 24 00:53:50 2010 -0500
@@ -0,0 +1,16 @@
+--------------------------------
+-- NO JUMPING
+--------------------------------
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+function onGameStart()
+ ShowMission(loc("NO JUMPING"), loc("- Jumping is disabled"), loc("Good luck out there!"), 0, 0)
+end
+
+function onNewTurn()
+ SetInputMask(band(0xFFFFFFFF, bnot(gmLJump + gmHJump)))
+end
+
+
+
--- a/share/hedgewars/Data/Themes/Christmas/theme.cfg Fri Dec 24 00:21:42 2010 -0500
+++ b/share/hedgewars/Data/Themes/Christmas/theme.cfg Fri Dec 24 00:53:50 2010 -0500
@@ -1,26 +1,26 @@
-9 14 45
-141 151 213
-$54 $5C $9D
-$34 $3C $7D $80
-snow.ogg
-9
-6
-reindeer
-1 90 232 94 12 2 55 60 90 73 80 134 105 64
-tree
-1 238 706 36 9 2 122 355 208 293 164 168 82 154
-plant2
-3 0 85 25 25 2 0 0 170 70 50 70 120 40
-plant3
-3 26 0 48 1 1 25 15 50 60
-plant4
-3 45 4 1 45 1 20 45 20 60
-Snowman
-1 38 283 119 14 1 38 21 124 216
-2
-holly
-4
-holly2
-4
-100
-3 99999999 100 300
+9 14 45
+141 151 213
+$54 $5C $9D
+$34 $3C $7D $80
+snow.ogg
+9
+6
+reindeer
+1 90 232 94 12 2 55 60 90 73 80 134 105 64
+tree
+1 238 706 36 9 2 122 355 208 293 164 168 82 154
+plant2
+3 0 85 25 25 2 0 0 170 70 50 70 120 40
+plant3
+3 26 0 48 1 1 25 15 50 60
+plant4
+3 45 4 1 45 1 20 45 20 60
+Snowman
+1 38 283 119 14 1 38 21 124 216
+2
+holly
+4
+holly2
+4
+100
+3 99999999 100 300