# HG changeset patch # User mikade+nemo # Date 1293170030 18000 # Node ID 63aafc9c2a81fd80207a92b35c09b7d6cffb8558 # Parent f5d858e4b634d37a5fe06036907b6d646fd58894 Add a bunch of lua from mikade, update translation files diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/de.lua --- 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", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/es.lua --- 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", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/pl.lua --- 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", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/pt_BR.lua --- 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", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/pt_PT.lua --- 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", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/sk.lua --- 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", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/stub.lua --- 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"] = "", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Locale/sv.lua --- 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", } diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Maps/Control/map.cfg --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Maps/Control/map.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Maps/Control/map.png Binary file share/hedgewars/Data/Maps/Control/map.png has changed diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Maps/Control/preview.png Binary file share/hedgewars/Data/Maps/Control/preview.png has changed diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/Basic_Training_-_Shotgun.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/Basic_Training_-_Sniper_Rifle.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/Bazooka.lua --- 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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/Shotgun.lua --- 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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/Sniper_Rifle.lua --- 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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/User_Mission_-_Dangerous_Ducklings.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/User_Mission_-_Diver.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/User_Mission_-_Spooky_Tree.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Missions/Training/User_Mission_-_Teamwork.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.cfg --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Scripts/Multiplayer/No_Jumping.cfg --- /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 diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Scripts/Multiplayer/No_Jumping.lua --- /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 + + + diff -r f5d858e4b634 -r 63aafc9c2a81 share/hedgewars/Data/Themes/Christmas/theme.cfg --- 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