French translation finally gets some love
authorourobolos
Thu, 30 Dec 2010 11:32:04 -0500
changeset 4786 71fb9189d91c
parent 4785 5047d270e7d3
child 4787 e353f2211cea
French translation finally gets some love
misc/hedgewars.desktop
share/hedgewars/Data/Locale/fr.lua
share/hedgewars/Data/Locale/fr.txt
share/hedgewars/Data/Locale/hedgewars_fr.ts
share/hedgewars/Data/Maps/CTF_Blizzard/map.lua
share/hedgewars/Data/misc/hedgewars-mimeinfo.xml
share/hedgewars/Data/misc/hwengine.desktop.in
--- a/misc/hedgewars.desktop	Thu Dec 30 16:21:14 2010 +0100
+++ b/misc/hedgewars.desktop	Thu Dec 30 11:32:04 2010 -0500
@@ -5,14 +5,15 @@
 Name=Hedgewars
 GenericName=Fighting Hedgehogs
 GenericName[de]=Kämpfende Igel
+GenericName[es]=Batallas entre erizos
+GenericName[fr]=Bataille de hérissons
+GenericName[ko]=고슴도치 싸우기
+GenericName[it]=Ricci combattenti
+GenericName[pl]=Walczące jeże
+GenericName[pt]=Batalhas entre ouriços
 GenericName[ru]=Битвы ежей
-GenericName[pl]=Walczące jeże
 GenericName[sk]=Bojujúci ježkovia
 GenericName[sv]=Stridande igelkottar
-GenericName[es]=Batallas entre erizos
-GenericName[it]=Ricci combattenti
-GenericName[pt]=Batalhas entre ouriços
-GenericName[ko]=고슴도치 싸우기
 Icon=hedgewars.png
 Exec=hedgewars
 Terminal=false
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/fr.lua	Thu Dec 30 11:32:04 2010 -0500
@@ -0,0 +1,94 @@
+locale = {
+--      [":("] = "",
+--      ["!!!"] = "",
+      ["A game of luck"] = "Un jeu de chance",
+      ["Aiming Practice"] = "Entrainement de tir", --Bazooka, Shotgun, SniperRifle
+      ["Bat balls at your enemies and|push them into the sea!"] = "Frappez vos ennemis à la batte|et envoyez-les à la mer !",
+      ["Bat your opponents through the|baskets and out of the map!"] = "Frappez vos ennemis à la batte|, marquez des paniers ou envoyez-les à la mer !",
+      ["Bazooka Training"] = "Entrainement au Bazooka",
+      ["Best laps per team: "] = "Meilleur temps par équipe",
+      ["Bloody Rookies"] = "Nouvelles recrues", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+--      ["Boom!"] = "",
+      ["by mikade"] = "par mikade", -- Control, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+      ["CAPTURE THE FLAG"] = "Capturez le drapeau !",
+      ["Codename: Teamwork"] = "Nom de code : Travail d'équipe",
+      ["Congratulations!"] = "Félicitations !",
+      ["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Félicitations ! Vous avez éliminé toutes les cibles|pendant le temps alloué.", --Bazooka, Shotgun, SniperRifle
+      ["CONTROL"] = "Domination",
+      ["Control pillars to score points."] = "Contrôlez les piliers pour marquer des points",
+      ["CONTROL v0.3"] = "Domination v0.3",
+--      ["CTF_BLIZZARD"] = "",
+      ["CUSTOM BUILD 0.2"] = "Compilation 0.2",
+      ["Cybernetic Empire"] = "Empire cybernétique",
+      ["DAMMIT, ROOKIE!"] = "Et merde, recrue",
+      ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "Et merde, recrue ! Dégage de me tête !",
+      ["Dangerous Ducklings"] = "Canetons dangereux",
+      ["Eliminate all enemies"] = "Éliminez tous les ennemis",
+      ["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Éliminez toutes les cibles avant d'être à cours de temps.|Vos munitions sont illimitées pour cette mission.", --Bazooka, Shotgun, SniperRifle
+      ["Eliminate Poison before the time runs out"] = "Éliminez tout le Poison avant d'être à cours de temps.",
+      ["Eliminate the Blue Team"] = "Éliminez l'équipe bleue",
+      ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "Éliminez l'unité 3378|- Résistance Futile doit survivre",
+      ["Enjoy the swim..."] = "Profitez du bain ...",
+      ["Fastest lap: "] = "Meilleur tour : ",
+      ["Feeble Resistance"] = "Résistance Futile",
+      ["Flag captured!"] = "Drapeau capturé !",
+      ["Flag respawned!"] = "Drapeau réapparu",
+      ["Flag returned!"] = "Drapeau récupéré",
+      ["Flags will be placed where each team ends their turn."] = "Les Drapeaux seront placès là où chaque équipe terminera son tour.",
+      ["GAME OVER!"] = "Fin du jeu ! ",
+      ["Game Started!"] = "Début du jeu ! ",
+      ["Get on over there and take him out!"] = "Viens par ici et débarrasse-toi de lui ! ",
+--      ["Goal:"] = "",
+--      ["GO! GO! GO!"] = "",
+      ["Good birdy......"] = "Gentil oiseau ...",
+      ["Good luck out there!"] = "Bonne chance pour sortir d'ici",
+--      ["Hedgewars-Basketball"] = "",
+--      ["Hedgewars-Knockball"] = "",
+--      ["Hmmm..."] = "",
+      ["Hooray!"] = "Hourra ! ",
+      ["Hunter"] = "Chasseur", --Bazooka, Shotgun, SniperRifle
+      ["Instructor"] = "Instructeur", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+      ["- Jumping is disabled"] = "Saut désactivé",
+      ["Listen up, maggot!!"] = "Écoutez, asticots",
+--      ["|- Mines Time:"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+      ["MISSION FAILED"] = "Mission échouée", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+      ["MISSION SUCCESSFUL"] = "Mission réussie", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+      ["NEW fastest lap: "] = "Nouveau meilleur temps",
+      ["NO JUMPING"] = "PAS DE SAUT",
+      ["Not So Friendly Match"] = "Match pas si amical", -- Basketball, Knockball
+      ["Oh no! Just try again!"] = "Eh non ! Essayez encore ! ", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+      ["Oh no! Time's up! Just try again."] = "Eh non ! Temps écoulé ! Essayez encore ! ", --Bazooka, Shotgun, SniperRifle
+--      ["Operation Diver"] = "",
+      ["Opposing Team: "] = "Équipe opposée",
+      ["Pathetic Hog #%d"] = "Hérisson pathétique #%d",
+      ["points"] = "points", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle
+      ["Poison"] = "Poison",
+      ["Random Weapons"] = "Armes aléatoires",
+      [" - 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"] = "Ramenez le drapeau ennemi à votre base pour marquer | -La première équipe à 3 captures gagne | - Vous marquez uniquement si votre drapeau est dans votre base | - Les hérissons vont lâcher le drapeau s'ils sont tués ou noyés | - Les drapeaux lâchés peuvent être ramenés ou recapturés | - Les hérissons réapparaissent quand ils sont tués",
+      ["RULES OF THE GAME [Press ESC to view]"] = "RÈGLES DU JEU | [Appuyez Échap pour voir]",
+--      ["sec"] = "", -- CTF_Blizzard, TrophyRace, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+      ["See ya!"] = "Bye bye",
+      ["Shotgun Team"] = "Équipe de choc",
+      ["Shotgun Training"] = "Entrainement au fusil",
+      ["%s is out and Team %d|scored a penalty!| |Score:"] = "%s est dehors et l'équipe %d| reçoit une pénalité ! | |Score : ", -- Basketball, Knockball
+      ["%s is out and Team %d|scored a point!| |Score:"] = "%s est dehors et l'équipe %d| reçoit un point ! | |Score : ", -- Basketball, Knockball
+      ["Sniper Training"] = "Entrainement au fusil de sniper",
+--      ["Sniperz"] = "",
+      ["Spooky Tree"] = "Arbre fantomatique",
+      ["Team %d: "] = "Équipe %d : ",
+      ["Team Scores:"] = "Score de l'équipe",
+      ["That was pointless."] = "C'était inutile.",
+      ["The enemy is hiding out on yonder ducky!"] = "L'ennemi se cache là-bas sur le canard !",
+      ["The flag will respawn next round."] = "Le drapeau va réapparaitre au prochain tour",
+      ["There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"] = "Il y a eu un mélange avec votre équipement et maintenant| vous devrez utiliser ce qui vous arrivera dans les mains !",
+      ["Toxic Team"] = "Équipe toxique", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+--      ["TrophyRace"] = "",
+--      ["T_T"] = "",
+      ["Unit 3378"] = "Unité 3378",
+      ["Use your rope to get from start to finish as fast as you can!"] = "Utilisez votre Corde Ninja pour aller du début à la fin aussi vite que vous pouvez !",
+      ["Victory for the "] = "Victoire pour ", -- CTF_Blizzard, Capture_the_Flag
+      ["You have SCORED!!"] = "Vous avez marqué !",
+      ["You've failed. Try again."] = "Vous avez échoué. Essayez encore.",
+      ["You've reached the goal!| |Time: "] = "Vous avez atteins le but !| |Temps : ",
+--      ["'Zooka Team"] = "",
+    }
--- a/share/hedgewars/Data/Locale/fr.txt	Thu Dec 30 16:21:14 2010 +0100
+++ b/share/hedgewars/Data/Locale/fr.txt	Thu Dec 30 11:32:04 2010 -0500
@@ -42,6 +42,16 @@
 00:39=Soucoupe Volante
 00:40=Cocktail Molotov
 00:41=Piaf
+00:42=Fusil à portails
+00:43=Attaque du Piano
+00:44=Vieux Limburger
+00:45=Fusil Sinus (bêta)
+00:46=Lance-flammes
+00:47=Mines adhésives
+00:48=Marteau
+00:49=Resurrecteur
+00:50=Attaque perforante
+00:51=Boule de terre
 
 01:00=C'est parti !
 01:01=Round ex-aequo
@@ -137,7 +147,7 @@
 02:01=%1 est parti visiter l'aquarium
 02:01=%1 a trouvé la cité perdue d'Atlantide
 02:01=%1 se propose pour le rôle principal de Bioshock 3
-02:01=Ta paggaie pour chiens aurait pû servir, %1
+02:01=Ta pagaie pour chiens aurait pû servir, %1
 02:01=%1 aurait dû acheter un jet ski
 02:01=%1 n'aime pas les sports aquatiques
 02:01=%1 va faire des bulles pour toujours
@@ -178,7 +188,7 @@
 02:02=Que la bataille du jour commence !
 02:02=Que la bataille de l'heure commence !
 02:02=Faites de votre mieux !
-02:02=Detruisez l'ennemi !
+02:02=Détruisez l'ennemi !
 02:02=Bonne chance !
 02:02=Amusez-vous bien !
 02:02=Combattez avec honneur !
@@ -265,7 +275,7 @@
 02:08=%1 est une vache !
 02:08=%1 attend la mort subite
 02:08=%1 n'est pas du genre bagarreur
-02:08=%1 réflechit au sens de la vie
+02:08=%1 réfléchit au sens de la vie
 02:08=%1 n'était pas un bon tireur de toutes manières
 02:08=%1 ne voulait pas rejoindre l'armée au début
 02:08=Arrête de perdre ton temps, %1
@@ -299,7 +309,7 @@
 02:09=%1 montre à l'ennemi de quoi il est capable
 02:09=%1 ne peut pas être parfait tout le temps
 02:09=Ne t'inquiète pas %1, personne p'est narfait
-02:09=%1 a fait cela totallement intentionnellement
+02:09=%1 a fait cela totalement intentionnellement
 02:09=Je ne le dirais à personne, %1
 02:09=C'est embarrassant !
 02:09=Je suis sûr que personne n'a vu cela %1
@@ -397,7 +407,15 @@
 04:38= Le fusil à lunettes peut être une de armes les plus dévastatrices|de tout votre arsenal, toutefois il est totalement inefficace|en combat rapproché. Les dommages qu'il cause augmentent suivant|la distance de la cible.|Attaque : Tirez (deux fois) 
 04:39=Volez vers d'autres secteurs de la carte en utilisant une soucoupe|volante. Ce moyen de transport pas facile à dompter est capable de vous|emporter vers presque tous les lieux du champ de bataille|Attaque : Activer|Haut/Gauche/Droite : appliquez la force dans une direction 
 04:40=Mettez le feu à un territoire en utilisant cette bouteille remplie|de liquide inflammable.|Attaque : maintenez pour tirer avec plus de force 
-04:41=Une arme naturelle qui peut suffire à dégommer même la soucoupe|volante.  Le piaf peut transporter votre hérisson et|balancer de soeufs sur vos ennemis !|Attaque : Activez et larguez des oeufs|Haut/Gauche/Droite: voltigez vers une direction.
+04:41=Une arme naturelle qui peut suffire à dégommer même la soucoupe|volante.  Le piaf peut transporter votre hérisson et|balancer des œufs sur vos ennemis !|Attaque : Activez et larguez des œufs|Haut/Gauche/Droite: voltigez vers une direction.
+04:42=Ce fusil à portails est capable de vous transporter instantanément,| ainsi que vos ennemis ou des armes entre deux points du terrain. |Utilisez-le intelligemment et votre campagne sera un ... GRAND SUCCÈS !|Attaque : Crée un portail|Modificateur : Change la couleur du portail
+04:43=Faites de vos débuts musicaux un succès explosif !| Lâchez un piano depuis les cieux, mais attention ... quelqu'un doit|jouer dessus, et cela pourrait lui coûter sa vie !|Curseur : Choix de la cible|F1-F9 : Jouer du piano
+04:44=Ce n'est pas juste un fromage, c'est une arme biologique !|Il ne provoquera de gros dommages une fois que le compteur|atteindra zéro mais il empoisonnera tous les malchanceux touchés par l'odeur !|1-5 : Lancez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force 
+04:45=Tous ces cours de physique ont finalement payé,|lancez une onde Sinus dévastatrice à vos ennemis.|Attention au recul ! (cette arme est incomplète)|Attaque : Activez
+04:46=Recouvrez vos ennemis de sifflantes flammes liquides.|Hauts les cœurs !|Attaque : Activez|Haut/Bas : Continuez à viser|Droite/Gauche : Changer la puissance de tir
+04:47=Doublez le fun avec deux mines, piquantes, furtives et collantes.|Provoquez une réaction en chaine ou défendez-vous ! (ou les deux)|Attaque : maintenez pour tirer avec plus de force (deux fois)
+04:48=Pourquoi les taupes auraient tous le fun ?|Un bon coup de ce marteau enlèvera un tiers de la santé du hérisson et l'enverra dans le sol|Attaque : Activez
+04:49=Ressuscite vos amis !Mais méfiez-vous, cela ressuscite également vos ennemis.|Attaque : Maintenez attaque pressée pour ressusciter lentement|Haut : Accélérer la résurrection
 
 ; Game goal strings 
 05:00=Modes de jeu 
--- a/share/hedgewars/Data/Locale/hedgewars_fr.ts	Thu Dec 30 16:21:14 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_fr.ts	Thu Dec 30 11:32:04 2010 -0500
@@ -9,7 +9,7 @@
     </message>
     <message>
         <source>copy of</source>
-        <translation type="unfinished"></translation>
+        <translation>Copier à partir de ...</translation>
     </message>
 </context>
 <context>
@@ -46,18 +46,18 @@
     </message>
     <message>
         <source>When this option is enabled selecting a game scheme will auto-select a weapon</source>
-        <translation type="unfinished"></translation>
+        <translation>Quand cette option est active choisir des paramètres de jeu sélectionnera les armes</translation>
     </message>
 </context>
 <context>
     <name>HWChatWidget</name>
     <message>
         <source>%1 *** %2 has been removed from your ignore list</source>
-        <translation>%1 *** %2 a été enlevé de la liste des personnes ignorées</translation>
+        <translation>%1 *** %2 a été enlevé de votre liste de personnes ignorées</translation>
     </message>
     <message>
         <source>%1 *** %2 has been added to your ignore list</source>
-        <translation>%1 *** %2 a été ajouté dans la liste des personnes ignorées</translation>
+        <translation>%1 *** %2 a été ajouté dans votre liste de personnes ignorées</translation>
     </message>
     <message>
         <source>%1 *** %2 has been removed from your friends list</source>
@@ -92,7 +92,7 @@
     </message>
     <message>
         <source>Please select record from the list above</source>
-        <translation>Veuillez sélectionner une partie dans la liste ci-dessus</translation>
+        <translation>Veuillez sélectionner une partie enregistrée dans la liste ci-dessus</translation>
     </message>
     <message>
         <source>DefaultTeam</source>
@@ -101,12 +101,12 @@
     <message>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
-        <translation type="unfinished"></translation>
+        <translation>Fichier de démonstration d'Hedgewars</translation>
     </message>
     <message>
         <source>Hedgewars Save File</source>
         <comment>File Types</comment>
-        <translation type="unfinished"></translation>
+        <translation>Fichier de sauvegarde d'Hedgewars</translation>
     </message>
 </context>
 <context>
@@ -156,7 +156,7 @@
     </message>
     <message>
         <source>Wacky</source>
-        <translation>Farpelu</translation>
+        <translation>Farfelu</translation>
     </message>
     <message>
         <source>Type</source>
@@ -188,11 +188,11 @@
     </message>
     <message>
         <source>Seed</source>
-        <translation type="unfinished"></translation>
+        <translation>Graine</translation>
     </message>
     <message>
         <source>Set</source>
-        <translation type="unfinished"></translation>
+        <translation>Valider</translation>
     </message>
 </context>
 <context>
@@ -244,7 +244,7 @@
         <translation type="obsolete">Votre pseudo %1 est
 enregistré sur Hedgewars.org
 Veuillez fournir votre mot de passe
-ou choisir un nouveau pseudo:</translation>
+ou choisir un nouveau pseudo :</translation>
     </message>
     <message>
         <source>%1 *** %2 has joined the room</source>
@@ -267,7 +267,10 @@
 registered on Hedgewars.org
 Please provide your password below
 or pick another nickname in game config:</source>
-        <translation type="unfinished"></translation>
+        <translation>Votre pseudo %1 est
+enregistré sur Hedgewars.org
+Veuillez fournir votre mot de passe
+ou choisir un nouveau pseudo :</translation>
     </message>
 </context>
 <context>
@@ -289,31 +292,31 @@
     </message>
     <message>
         <source>Clear Accounts Cache</source>
-        <translation>Vider le cache de comptes</translation>
+        <translation>Vider le cache des comptes</translation>
     </message>
     <message>
         <source>Fetch data</source>
-        <translation type="unfinished"></translation>
+        <translation>Récupérer les données</translation>
     </message>
     <message>
         <source>Server message for latest version:</source>
-        <translation type="unfinished"></translation>
+        <translation>Message du serveur pour la dernière version : </translation>
     </message>
     <message>
         <source>Server message for previous versions:</source>
-        <translation type="unfinished"></translation>
+        <translation>Message du serveur pour la version précédente : </translation>
     </message>
     <message>
         <source>Latest version protocol number:</source>
-        <translation type="unfinished"></translation>
+        <translation>Numéro de la dernière version du protocole : </translation>
     </message>
     <message>
         <source>MOTD preview:</source>
-        <translation type="unfinished"></translation>
+        <translation>Prévisualisation du MOTD</translation>
     </message>
     <message>
         <source>Set data</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrer les données</translation>
     </message>
 </context>
 <context>
@@ -327,31 +330,31 @@
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
-        <translation type="unfinished"></translation>
+        <translation>Annuler</translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="unfinished"></translation>
+        <translation>Effacer</translation>
     </message>
     <message>
         <source>Load</source>
-        <translation type="unfinished">Charger</translation>
+        <translation>Charger</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrer</translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation type="unfinished"></translation>
+        <translation>Charger une carte dessinée</translation>
     </message>
     <message>
         <source>Drawn Maps (*.hwmap);;All files (*.*)</source>
-        <translation type="unfinished"></translation>
+        <translation>Cartes dessinées (*.hwmap);;Tous les fichiers (*.*)</translation>
     </message>
     <message>
         <source>Save drawn map</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrer une carte dessinée</translation>
     </message>
 </context>
 <context>
@@ -387,59 +390,59 @@
     </message>
     <message>
         <source>Details</source>
-        <translation type="unfinished"></translation>
+        <translation>Détails</translation>
     </message>
     <message>
         <source>Health graph</source>
-        <translation type="unfinished"></translation>
+        <translation>Courbes de santé-</translation>
     </message>
     <message>
         <source>Ranking</source>
-        <translation type="unfinished"></translation>
+        <translation>Rang</translation>
     </message>
     <message>
         <source>The best shot award was won by &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; pts.</source>
-        <translation type="unfinished"></translation>
+        <translation>Le prix du meilleur tir a été décerné à &lt;b&gt;%1&lt;/b&gt; avec &lt;b&gt;%2&lt;/b&gt; points.</translation>
     </message>
     <message numerus="yes">
         <source>The best killer is &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; kills in a turn.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>Le meilleur tueur est &lt;b&gt;%1&lt;/b&gt; avec &lt;b&gt;%2&lt;/b&gt; mort dans un tour.</numerusform>
+            <numerusform>Le meilleur tueur est &lt;b&gt;%1&lt;/b&gt; avec &lt;b&gt;%2&lt;/b&gt; morts dans un tour.</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>Un total de &lt;b&gt;%1&lt;/b&gt; hérisson a été tué durant ce tour.</numerusform>
+            <numerusform>Un total de &lt;b&gt;%1&lt;/b&gt; hérissons ont été tués durant ce tour.</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>(%1 kill)</source>
         <translation type="unfinished">
-            <numerusform></numerusform>
+            <numerusform>(%1 Tue)</numerusform>
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; thought it&apos;s good to shoot his own hedgehogs with &lt;b&gt;%2&lt;/b&gt; pts.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>&lt;b&gt;%1&lt;/b&gt; pense que c'est bien de tirer sur ses propres hérissons pour &lt;b&gt;%2&lt;/b&gt; point.</numerusform>
+            <numerusform>&lt;b&gt;%1&lt;/b&gt; pense que c'est bien de tirer sur ses propres hérissons pour &lt;b&gt;%2&lt;/b&gt; points.</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; killed &lt;b&gt;%2&lt;/b&gt; of his own hedgehogs.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>&lt;b&gt;%1&lt;/b&gt; a tué &lt;b&gt;%2&lt;/b&gt; de ses propres hérissons.</numerusform>
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; was scared and skipped turn &lt;b&gt;%2&lt;/b&gt; times.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>&lt;b&gt;%1&lt;/b&gt; a eu peur et a passé son tour &lt;b&gt;%2&lt;/b&gt; fois.</numerusform>
             <numerusform></numerusform>
         </translation>
     </message>
@@ -457,247 +460,247 @@
     <message>
         <source>Simply pick the same color as a friend to play together as a team. Each of you will still control his or her own hedgehogs but they&apos;ll win or lose together.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Choisissez la même couleur qu'un ami pour jouer dans la même équipe. Chacun de vous continuera à contrôler son ou ses hérissons mais ils gagneront ou perdront ensembles.</translation>
     </message>
     <message>
         <source>Some weapons might do only low damage but they can be a lot more devastating in the right situation. Try to use the Desert Eagle to knock multiple hedgehogs into the water.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Certaines armes peuvent occasionner seulement de faibles dommages mais être beaucoup plus dévastatrices dans la situation adéquate. Essayez le Révolver pour envoyer plusieurs hérissons à l'eau.</translation>
     </message>
     <message>
         <source>If you&apos;re unsure what to do and don&apos;t want to waste ammo, skip one round. But don&apos;t let too much time pass as there will be Sudden Death!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si vous ne savez pas quoi faire et ne voulez pas gaspiller de munitions, passez un tour. Mais ne laissez pas trop filer le temps ou ce sera la Mort Subite !</translation>
     </message>
     <message>
         <source>If you&apos;d like to keep others from using your preferred nickname on the official server, register an account at http://www.hedgewars.org/.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si vous voulez empêcher les autres d'utiliser votre pseudo sur le serveur officiel, créez un compte sur http://www.hedgewars.org/.</translation>
     </message>
     <message>
         <source>You&apos;re bored of default gameplay? Try one of the missions - they&apos;ll offer different gameplay depending on the one you picked.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Assez du mode par défaut ? Essayez une des missions - elles offrent différents types de jeu suivant votre choix.</translation>
     </message>
     <message>
         <source>By default the game will always record the last game played as a demo. Select &apos;Local Game&apos; and pick the &apos;Demos&apos; button on the lower right corner to play or manage them.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Par défaut le jeu enregistre la dernière partie jouée comme une démonstration. Sélectionnez « Jeu en local » puis « Démonstrations » en bas à droite pour les visionner ou les gérer.</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. If you&apos;ve got problems, ask on our forums but please don&apos;t expect 24/7 support!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars est un jeu libre et gratuit créé sur notre temps libre. Si vous avez des problèmes, demandez sur nos forums mais n'attendez pas de support 24h/24.</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. If you like it, help us with a small donation or contribute your own work!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars est un jeu libre et gratuit créé sur notre temps libre. Si vous l'aimez, aidez-nous avec un petit don ou contribuez par votre travail !</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. Share it with your family and friends as you like!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars est un jeu libre et gratuit créé sur notre temps libre. Partagez-le avec votre famille et vos amis comme vous le voulez !</translation>
     </message>
     <message>
         <source>From time to time there will be official tournaments. Upcoming events will be announced at http://www.hedgewars.org/ some days in advance.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>De temps en temps il y aura des tournois officiels. Les évènements à venir seront annoncés sur http://www.hedgewars.org/ quelques jours à l'avance.</translation>
     </message>
     <message>
         <source>Hedgewars is available in many languages. If the translation in your language seems to be missing or outdated, feel free to contact us!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars est disponible dans de nombreuses langues. Si la traduction dans votre langue est partielle ou obsolète, contactez-nous !</translation>
     </message>
     <message>
         <source>Hedgewars can be run on lots of different operating systems including Microsoft Windows, Mac OS X and Linux.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars peux être exécuté sur de nombreux systèmes d'exploitation différents, incluant Microsoft Windows, Mac OS X et Linux. </translation>
     </message>
     <message>
         <source>Always remember you&apos;re able to set up your own games in local and network/online play. You&apos;re not restricted to the &apos;Simple Game&apos; option.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Souvenez-vous que vous pouvez créer votre propres parties en local et en ligne. Vous n'est pas limités aux options de jeu par défaut.</translation>
     </message>
     <message>
         <source>While playing you should give yourself a short break at least once an hour.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous devriez faire une petite pause au moins une fois par heure.</translation>
     </message>
     <message>
         <source>If your graphics card isn&apos;t able to provide hardware accelerated OpenGL, try to enable the low quality mode to improve performance.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si votre carte graphique ne peut pas fournir d'accélération matérielle pour OpenGL, essayez le mode de faible qualité pour améliorer les performances.</translation>
     </message>
     <message>
         <source>We&apos;re open to suggestions and constructive feedback. If you don&apos;t like something or got a great idea, let us know!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Nous sommes ouverts aux suggestions et au critiques constructives. Si vous n'aimez pas quelque chose ou avez une grande idée, contactez-nous !</translation>
     </message>
     <message>
         <source>Especially while playing online be polite and always remember there might be some minors playing with or against you as well!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Particulièrement quand vous jouez en ligne soyez polis et pensez que certains joueurs avec vous peuvent être mineurs.</translation>
     </message>
     <message>
         <source>Special game modes such as &apos;Vampirism&apos; or &apos;Karma&apos; allow you to develop completely new tactics. Try them in a custom game!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Les modes de jeu spéciaux comme « Vampirisme » ou « Karma » vous permettent de développer de nouvelles tactiques. Essayez-les en parties personnalisées !</translation>
     </message>
     <message>
         <source>The Windows version of Hedgewars supports Xfire. Make sure to add Hedgwars to its game list so your friends can see you playing.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>La version Windows d'Hedgewars fonctionne avec Xfire. Pensez à ajouter Hedgewars dans la liste de jeu pour que vous amis vous voient jouer.</translation>
     </message>
     <message>
         <source>You should never install Hedgewars on computers you don&apos;t own (school, university, work, etc.). Please ask the responsible person instead!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous ne devriez jamais installer Hedgewars sur des ordinateurs ne vous appartenant pas (école, université, travail, etc...). Demandez au responsable !</translation>
     </message>
     <message>
         <source>Hedgewars can be perfect for short games during breaks. Just ensure you don&apos;t add too many hedgehogs or use an huge map. Reducing time and health might help as well.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars peut être parfait pour des parties courtes pendant une pause. Assurez-vous juste de ne pas avoir mis trop de hérissons ou de ne pas utiliser une carte énorme. Réduire le temps ou la santé peuvent aider également.</translation>
     </message>
     <message>
         <source>No hedgehogs were harmed in making this game.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Aucun hérisson n'a été blessé durant la conception de ce jeu.</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. If someone sold you the game, you should try get a refund!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars est un jeu libre et gratuit créé sur notre temps libre. Si quelqu'un vous l'a vendu, vous devriez vous faire rembourser !</translation>
     </message>
     <message>
         <source>Connect one or more gamepads before starting the game to be able to assign their controls to your teams.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Branchez une ou plusieurs manettes avant de lancer le jeu pour pouvoir contrôler vos équipes avec.</translation>
     </message>
     <message>
         <source>Create an account on %1 to keep others from using your most favourite nickname while playing on the official server.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Créer un compte sur %1 vous permet d'empêcher les autres d'utiliser votre pseudo favori sur le serveur officiel.</translation>
     </message>
     <message>
         <source>If your graphics card isn&apos;t able to provide hardware accelerated OpenGL, try to update the associated drivers.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si votre carte graphique ne peut pas fournir d'accélération matérielle pour OpenGL, essayez d'installer les drivers associés.</translation>
     </message>
     <message>
         <source>There are three different jumps available. Tap [high jump] twice to do a very high/backwards jump.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Il y a différents types de saut disponibles. Pressez [high jump] deux fois pour faire un très haut saut un peu en arrière.</translation>
     </message>
     <message>
         <source>Afraid of falling off a cliff? Hold down [precise] to turn [left] or [right] without actually moving.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Peur de tomber d'une falaise ? Maintenez [precise] pour tourner [left] ou [right] sans bouger.</translation>
     </message>
     <message>
         <source>Some weapons require special strategies or just lots of training, so don&apos;t give up on a particular tool if you miss an enemy once.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Certaines armes demandent de la stratégie ou juste beaucoup d'entrainement, alors ne laissez pas tomber une arme si vous avez raté une fois un ennemi.</translation>
     </message>
     <message>
         <source>Most weapons won&apos;t work once they touch the water. The Homing Bee as well as the Cake are exceptions to this.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>La plupart des armes ne fonctionnent pas une fois qu'elles ont touché l'eau. L'Abeille Missile ou le Gâteau sont des exceptions.</translation>
     </message>
     <message>
         <source>The Old Limbuger only causes a small explosion. However the wind affected smelly cloud can poison lots of hogs at once.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Le Old Limbuger cause seulement une petite explosion. En revanche le vent affecte le petit nuage empoisonné qui peut contaminer de nombreux hérissons à la fois.</translation>
     </message>
     <message>
         <source>The Piano Strike is the most damaging air strike. You&apos;ll lose the hedgehog performing it, so there&apos;s a huge downside as well.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">L'attaque du Piano est la plus dévastatrice des attaques aériennes. Vous perdrez le hérisson qui la lance, donc il y a une contrepartie énorme.</translation>
     </message>
     <message>
         <source>The Homing Bee can be tricky to use. It&apos;s turn radius depends on it&apos;s velocity, so try to not use full power.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>L'Abeille Missile peut être délicate à utiliser. Son rayon de courbure dépend de sa vitesse, alors essayer de ne pas l'utiliser à pleine puissance.</translation>
     </message>
     <message>
         <source>Sticky Mines are a perfect tool to create small chain reactions knocking enemy hedgehogs into dire situations ... or water.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Les Mines adhésives sont l'outil parfait pour créer de petites réactions en chaines envoyant les ennemis dans des situations délicates ... ou dans l'eau.</translation>
     </message>
     <message>
         <source>The Hammer is most effective when used on bridges or girders. Hit hogs will just break through the ground.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Le Marteau est plus efficace utilisé sur des ponts ou des poutrelles. Les hérissons touchés vont passer à travers le sol.</translation>
     </message>
     <message>
         <source>If you&apos;re stuck behind an enemy hedgehog, use the Hammer to free yourself without getting damaged by an explosion.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Si vous êtes coincés derrière un hérisson ennemi, utilisez le Marteau pour vous libérer sans subir les dégâts d'une explosion.</translation>
     </message>
     <message>
         <source>The Cake&apos;s maximum walking distance depends on the ground it has to pass. Use [attack] to detonate it early.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>La distance maximale que le Gâteau peux parcourir dépend du terrain qu'il doit franchir. Utiliser [attack] pour le faire exploser avant.</translation>
     </message>
     <message>
         <source>The Flame Thrower is a weapon but it can be used for tunnel digging as well.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Le Lance-flammes est une arme mais peut aussi être utilisé pour creuser un tunnel.</translation>
     </message>
     <message>
         <source>Use the Incinerating Grenade to temporary keep hedgehogs from passing terrain such as tunnels or platforms.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Utilisez la grenade infernale pour empêcher temporairement des hérissons de traverser du terrain comme un tunnel ou une plate-forme.</translation>
     </message>
     <message>
         <source>Want to know who&apos;s behind the game? Click on the Hedgewars logo in the main menu to see the credits.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous voulez savoir qui est derrière le jeu ? Cliquez sur le logo Hedgewars dans le menu principal pour voir les crédits.</translation>
     </message>
     <message>
         <source>Feel free to draw your own graves, hats, flags or even maps and themes! But note that you&apos;ll have to share them somewhere to use them online.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Soyez libre de dessiner vos propres tombes, chapeaux, drapeaux ou même cartes et thèmes ! Mais pour les utiliser en ligne vous devrez les partager quelque part.</translation>
     </message>
     <message>
         <source>Really want to wear a specific hat? Donate to us and receive an exclusive hat of your choice!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous voulez vraiment un chapeau spécifique ? Faites un don et recevez un chapeau exclusif de votre choix.</translation>
     </message>
     <message>
         <source>Keep your video card drivers up to date to avoid issues playing the game.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Conservez les pilotes de votre carte graphique à jour pour éviter les problèmes en jouant.</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;My Documents\Hedgewars&quot;. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous pouvez trouver vos fichiers de configuration Hedgewars sous « Mes Documents\Hedgewars ». Créez des sauvegardes ou prenez les fichiers avec vous, mais ne les modifiez pas à la main !</translation>
     </message>
     <message>
         <source>You&apos;re able to associate Hedgewars related files (savegames and demo recordings) with the game to launch them right from your favorite file or internet browser.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous pouvez associer les fichiers relatifs à Hedgewars (parties enregistrées ou démonstrations) au jeu pour les lancer depuis votre navigateur de fichiers ou internet.</translation>
     </message>
     <message>
         <source>Like Hedgewars? Become a fan on %1 or follow us on %2!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous aimez Hedgewars ? Devenez un fan sur %1 ou suivez-nous sur %2 !</translation>
     </message>
     <message>
         <source>Want to save ropes? Release the rope in mid air and then shoot again. As long as you don&apos;t touch the ground you&apos;ll reuse your rope without wasting ammo!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Envie d'économiser des Cordes Ninja ? Relâchez la Corde Ninja en l'air et tirez à nouveau. Du moment que vous ne touchez pas le sol, vous réutiliserez votre Corde Ninja sans gaspiller de munitions.</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;Library/Application Support/Hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous pouvez trouver vos fichiers de configuration Hedgewars sous « Library/Application Support/Hedgewars » dans votre répertoire personnel. Créez des sauvegardes ou prenez les fichiers avec vous, mais ne les modifiez pas à la main !</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;.hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vous pouvez trouver vos fichiers de configuration Hedgewars sous « .hedgewars » dans votre répertoire personnel. Créez des sauvegardes ou prenez les fichiers avec vous, mais ne les modifiez pas à la main !</translation>
     </message>
 </context>
 <context>
@@ -748,35 +751,35 @@
     </message>
     <message>
         <source>Delete team</source>
-        <translation type="unfinished"></translation>
+        <translation>Supprimer une équipe</translation>
     </message>
     <message>
         <source>You can&apos;t edit teams from team selection. Go back to main menu to add, edit or delete teams.</source>
-        <translation type="unfinished"></translation>
+        <translation>Vous ne pouvez pas modifier d'équipe depuis la sélection d'équipes. Retournez au manu principal pour ajouter, modifier ou supprimer des équipes.</translation>
     </message>
     <message>
         <source>New scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Nouveaux paramètres</translation>
     </message>
     <message>
         <source>Edit scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Modifier paramètres</translation>
     </message>
     <message>
         <source>Delete scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Supprimer paramètres</translation>
     </message>
     <message>
         <source>New weapon set</source>
-        <translation type="unfinished"></translation>
+        <translation>Nouvel ensemble d'armes</translation>
     </message>
     <message>
         <source>Edit weapon set</source>
-        <translation type="unfinished"></translation>
+        <translation>Modifier un ensemble d'armes</translation>
     </message>
     <message>
         <source>Delete weapon set</source>
-        <translation type="unfinished"></translation>
+        <translation>Supprimer un ensemble d'armes</translation>
     </message>
 </context>
 <context>
@@ -896,36 +899,36 @@
     </message>
     <message>
         <source>Random Maze</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Labyrinthe aléatoire</translation>
     </message>
     <message>
         <source>State:</source>
-        <translation type="unfinished"></translation>
+        <translation>État : </translation>
     </message>
     <message>
         <source>Rules:</source>
-        <translation type="unfinished"></translation>
+        <translation>Règles : </translation>
     </message>
     <message>
         <source>Weapons:</source>
-        <translation type="unfinished"></translation>
+        <translation>Armes : </translation>
     </message>
     <message>
         <source>Search:</source>
-        <translation type="unfinished"></translation>
+        <translation>Recherche : </translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="unfinished"></translation>
+        <translation>Effacer</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Attention</translation>
     </message>
     <message>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
-        <translation type="unfinished"></translation>
+        <translation>Vous voulez rejoindre une partie qui a déjà commencée. Voulez-vous tout de même rejoindre la salle ?</translation>
     </message>
 </context>
 <context>
@@ -992,59 +995,59 @@
     </message>
     <message>
         <source>Order of play is random instead of in room order.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ordre de jeu aléatoire plutôt que par ordre dans la salle.</translation>
     </message>
     <message>
         <source>Play with a King. If he dies, your side dies.</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouez avec un Roi. S'il meurs, votre côté perds.</translation>
     </message>
     <message>
         <source>Take turns placing your hedgehogs before the start of play.</source>
-        <translation type="unfinished"></translation>
+        <translation>Placez vos hérissons chacun à votre tour avant de commencer à jouer.</translation>
     </message>
     <message>
         <source>Ammo is shared between all teams that share a colour.</source>
-        <translation type="unfinished"></translation>
+        <translation>Les munitions sont partagées parmi les équipes de même couleur.</translation>
     </message>
     <message>
         <source>Disable girders when generating random maps.</source>
-        <translation type="unfinished"></translation>
+        <translation>Désactiver les poutres en générant des cartes aléatoires.</translation>
     </message>
     <message>
         <source>Disable land objects when generating random maps.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Désactiver les objets de terrain en générant des cartes aléatoires.</translation>
     </message>
     <message>
         <source>AI respawns on death.</source>
-        <translation type="unfinished"></translation>
+        <translation>L'IA ressuscite à chaque mort.</translation>
     </message>
     <message>
         <source>All (living) hedgehogs are fully restored at the end of turn</source>
-        <translation type="unfinished"></translation>
+        <translation>Tous les hérissons (vivants) sont soignés complètement à la fin du tour.</translation>
     </message>
     <message>
         <source>Attacking does not end your turn.</source>
-        <translation type="unfinished"></translation>
+        <translation>Attaquer ne termine pas votre tour.</translation>
     </message>
     <message>
         <source>Weapons are reset to starting values each turn.</source>
-        <translation type="unfinished"></translation>
+        <translation>Les armes sont réinitialisées aux valeurs de départ à la fin de chaque tour.</translation>
     </message>
     <message>
         <source>Each hedgehog has its own ammo. It does not share with the team.</source>
-        <translation type="unfinished"></translation>
+        <translation>Chaque hérisson a ses propres munitions. Il ne les partage pas avec son équipe.</translation>
     </message>
     <message>
         <source>You will not have to worry about wind anymore.</source>
-        <translation type="unfinished"></translation>
+        <translation>Vous n'aurez plus jamais à vous soucier du vent.</translation>
     </message>
     <message>
         <source>Wind will affect almost everything.</source>
-        <translation type="unfinished"></translation>
+        <translation>Le vent affectera quasiment tout.</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="unfinished"></translation>
+        <translation>Copier</translation>
     </message>
 </context>
 <context>
@@ -1059,11 +1062,11 @@
     </message>
     <message>
         <source>New</source>
-        <translation type="unfinished">Nouveau</translation>
+        <translation>Nouveau</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="unfinished"></translation>
+        <translation>Copier</translation>
     </message>
 </context>
 <context>
@@ -1090,7 +1093,7 @@
     </message>
     <message>
         <source>Campaign Mode (...). IN DEVELOPMENT</source>
-        <translation type="unfinished"></translation>
+        <translation>Mode Campagne (...). EN DÉVELOPPEMENT</translation>
     </message>
 </context>
 <context>
@@ -1121,23 +1124,23 @@
     </message>
     <message>
         <source>Follow</source>
-        <translation type="unfinished"></translation>
+        <translation>Suivre</translation>
     </message>
     <message>
         <source>Ignore</source>
-        <translation type="unfinished"></translation>
+        <translation>Ignorer</translation>
     </message>
     <message>
         <source>Add friend</source>
-        <translation type="unfinished"></translation>
+        <translation>Ajouter un ami</translation>
     </message>
     <message>
         <source>Unignore</source>
-        <translation type="unfinished"></translation>
+        <translation>Ne plus ignorer</translation>
     </message>
     <message>
         <source>Remove friend</source>
-        <translation type="unfinished"></translation>
+        <translation>Retirer un ami</translation>
     </message>
 </context>
 <context>
@@ -1180,19 +1183,19 @@
     </message>
     <message>
         <source>Show ammo menu tooltips</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Montrer le menu d'aide des munitions.</translation>
     </message>
     <message>
         <source>Enable frontend sounds</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Activer les sons du menu principal</translation>
     </message>
     <message>
         <source>Enable frontend music</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Activer la musique du menu principal</translation>
     </message>
     <message>
         <source>Frontend effects</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Effets du menu principal</translation>
     </message>
 </context>
 <context>
@@ -1211,19 +1214,19 @@
     </message>
     <message>
         <source>(System default)</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Réglage du système</translation>
     </message>
     <message>
         <source>generated maze...</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Labyrinthe généré</translation>
     </message>
     <message>
         <source>Mission</source>
-        <translation type="unfinished"></translation>
+        <translation>Mission</translation>
     </message>
     <message>
         <source>Community</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Communauté</translation>
     </message>
     <message>
         <source>Any</source>
@@ -1235,7 +1238,7 @@
     </message>
     <message>
         <source>In progress</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">En cours</translation>
     </message>
     <message>
         <source>Default</source>
@@ -1243,7 +1246,7 @@
     </message>
     <message>
         <source>hand drawn map...</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Carte dessinée</translation>
     </message>
 </context>
 <context>
@@ -1278,7 +1281,7 @@
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="obsolete">Armes</translation>
+        <translation>Armes</translation>
     </message>
     <message>
         <source>Game Modifiers</source>
@@ -1290,15 +1293,15 @@
     </message>
     <message>
         <source>Team Settings</source>
-        <translation type="unfinished"></translation>
+        <translation>Réglages de l'équipe</translation>
     </message>
     <message>
         <source>Misc</source>
-        <translation type="unfinished"></translation>
+        <translation>Divers</translation>
     </message>
     <message>
         <source>Schemes and Weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Paramètres et Armes</translation>
     </message>
 </context>
 <context>
@@ -1405,11 +1408,11 @@
     </message>
     <message>
         <source>% Dud Mines</source>
-        <translation type="unfinished"></translation>
+        <translation>% de Mines défectueuses</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="unfinished"></translation>
+        <translation>Nom</translation>
     </message>
     <message>
         <source>Type</source>
@@ -1417,59 +1420,59 @@
     </message>
     <message>
         <source>Grave</source>
-        <translation type="unfinished"></translation>
+        <translation>Tombe</translation>
     </message>
     <message>
         <source>Flag</source>
-        <translation type="unfinished"></translation>
+        <translation>Drapeau</translation>
     </message>
     <message>
         <source>Voice</source>
-        <translation type="unfinished"></translation>
+        <translation>Voix</translation>
     </message>
     <message>
         <source>Locale</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Langue</translation>
     </message>
     <message>
         <source>Restart game to apply</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Relancez le jeu pour appliquer</translation>
     </message>
     <message>
         <source>Explosives</source>
-        <translation type="unfinished"></translation>
+        <translation>Explosifs</translation>
     </message>
     <message>
         <source>Tip: </source>
-        <translation type="unfinished"></translation>
+        <translation>Conseil : </translation>
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game. Some features might be broken or incomplete. Use at your own risk!</source>
-        <translation type="unfinished"></translation>
+        <translation>Cette version de développement est un travail en cours, il peut ne pas être compatible avec les autres versions du jeu. Certaines fonctionnalités peuvent être cassées ou incomplètes.</translation>
     </message>
     <message>
         <source>Quality</source>
-        <translation type="unfinished"></translation>
+        <translation>Qualité</translation>
     </message>
     <message>
         <source>% Health Crates</source>
-        <translation type="unfinished"></translation>
+        <translation>% Caisses de Santé</translation>
     </message>
     <message>
         <source>Health in Crates</source>
-        <translation type="unfinished"></translation>
+        <translation>Santé dans les Caisses</translation>
     </message>
     <message>
         <source>Sudden Death Water Rise</source>
-        <translation type="unfinished"></translation>
+        <translation>Montée de l'eau à la Mort Subite</translation>
     </message>
     <message>
         <source>Sudden Death Health Decrease</source>
-        <translation type="unfinished"></translation>
+        <translation>Perte de Santé à la Mort Subite</translation>
     </message>
     <message>
         <source>% Rope Length</source>
-        <translation type="unfinished"></translation>
+        <translation>% longueur de la Corde Ninja</translation>
     </message>
     <message>
         <source>Gameplay</source>
@@ -1530,39 +1533,39 @@
     </message>
     <message>
         <source>Can not overwrite default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible d'enregistrer sur le set d'armes par défaut.</translation>
     </message>
     <message>
         <source>All file associations have been set.</source>
-        <translation type="unfinished"></translation>
+        <translation>Toutes les associations d'extensions de fichiers ont été effectuées.</translation>
     </message>
     <message>
         <source>File association failed.</source>
-        <translation type="unfinished"></translation>
+        <translation>Les associations d'extensions de fichiers ont échoué.</translation>
     </message>
     <message>
         <source>Teams</source>
-        <translation type="unfinished">Équipes</translation>
+        <translation>Équipes</translation>
     </message>
     <message>
         <source>Really delete this team?</source>
-        <translation type="unfinished"></translation>
+        <translation>Voulez-vous vraiment effacer cette équipe ?</translation>
     </message>
     <message>
         <source>Schemes</source>
-        <translation type="unfinished"></translation>
+        <translation>Paramètres de jeu</translation>
     </message>
     <message>
         <source>Can not delete default scheme &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible d'effacer les paramètres de jeu par défaut.</translation>
     </message>
     <message>
         <source>Really delete this game scheme?</source>
-        <translation type="unfinished"></translation>
+        <translation>Voulez-vous vraiment effacer ces paramètres de jeu ?</translation>
     </message>
     <message>
         <source>Can not delete default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible d'effacer le set d'armes par défaut.</translation>
     </message>
 </context>
 <context>
@@ -1652,15 +1655,15 @@
     </message>
     <message>
         <source>Random Team</source>
-        <translation type="unfinished"></translation>
+        <translation>Équipes aléatoires</translation>
     </message>
     <message>
         <source>Associate file extensions</source>
-        <translation type="unfinished"></translation>
+        <translation>Associer les extensions de fichiers</translation>
     </message>
     <message>
         <source>more</source>
-        <translation type="unfinished"></translation>
+        <translation>plus</translation>
     </message>
 </context>
 <context>
@@ -1706,19 +1709,19 @@
     </message>
     <message>
         <source>Ammo in boxes</source>
-        <translation type="unfinished"></translation>
+        <translation>Munitions dans les caisses</translation>
     </message>
     <message>
         <source>Delays</source>
-        <translation type="unfinished"></translation>
+        <translation>Délais</translation>
     </message>
     <message>
         <source>new</source>
-        <translation type="unfinished"></translation>
+        <translation>Nouveau</translation>
     </message>
     <message>
         <source>copy of</source>
-        <translation type="unfinished"></translation>
+        <translation>Copie de</translation>
     </message>
 </context>
 <context>
@@ -1780,59 +1783,59 @@
     </message>
     <message>
         <source>Add Mines</source>
-        <translation type="obsolete">Ajouter des Mines</translation>
+        <translation>Ajouter des Mines</translation>
     </message>
     <message>
         <source>Random Order</source>
-        <translation type="unfinished"></translation>
+        <translation>Ordre aléatoire</translation>
     </message>
     <message>
         <source>King</source>
-        <translation type="unfinished"></translation>
+        <translation>Roi</translation>
     </message>
     <message>
         <source>Place Hedgehogs</source>
-        <translation type="unfinished"></translation>
+        <translation>Placer les hérissons</translation>
     </message>
     <message>
         <source>Clan Shares Ammo</source>
-        <translation type="unfinished"></translation>
+        <translation>Les Clans partagent les munitions</translation>
     </message>
     <message>
         <source>Disable Girders</source>
-        <translation type="unfinished"></translation>
+        <translation>Désactiver les poutres</translation>
     </message>
     <message>
         <source>Disable Land Objects</source>
-        <translation type="unfinished"></translation>
+        <translation>Désactiver les objets de terrain</translation>
     </message>
     <message>
         <source>AI Survival Mode</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Mode de survie de l'IA</translation>
     </message>
     <message>
         <source>Reset Health</source>
-        <translation type="unfinished"></translation>
+        <translation>Réinitialiser la Santé</translation>
     </message>
     <message>
         <source>Unlimited Attacks</source>
-        <translation type="unfinished"></translation>
+        <translation>Attaques illimitées</translation>
     </message>
     <message>
         <source>Reset Weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Réinitialiser les Armes</translation>
     </message>
     <message>
         <source>Per Hedgehog Ammo</source>
-        <translation type="unfinished"></translation>
+        <translation>Munitions par hérisson</translation>
     </message>
     <message>
         <source>Disable Wind</source>
-        <translation type="unfinished"></translation>
+        <translation>Désactiver le vent</translation>
     </message>
     <message>
         <source>More Wind</source>
-        <translation type="unfinished"></translation>
+        <translation>Davantage de vent</translation>
     </message>
 </context>
 <context>
@@ -2103,7 +2106,7 @@
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Bouton directionnel</translation>
+        <translation type="unfinished">Chapeau</translation>
     </message>
     <message>
         <source>(Left)</source>
@@ -2403,7 +2406,7 @@
     </message>
     <message>
         <source>Clear</source>
-        <translation type="unfinished"></translation>
+        <translation>Effacer</translation>
     </message>
 </context>
 </TS>
--- a/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua	Thu Dec 30 16:21:14 2010 +0100
+++ b/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua	Thu Dec 30 11:32:04 2010 -0500
@@ -1,756 +1,756 @@
---------------------------------
--- CTF_BLIZZARD 0.4
---------------------------------
-
----------
--- 0.2
----------
-
--- disabled super weapons
-
--- theme modifications
-
--- improved hog placement system: teams can now be put
--- in any order and be of any size
-
----------
--- 0.3
----------
-
--- In this version:
-
--- changed starting weapons
--- changed crate drop contents and rate of drops
-
--- completely removed super weapons and super weapon scripts
-
--- removed custom respawning
--- removed set respawn points
-
--- added AIRespawn-esque respawning
--- added simple left vs right respawn points
-
--- added non-lethal poison to flag carriers as an indicator
-
--- improved flag mechanics and player-flag feedback
--- flag now instantly respawns if you kill enemy hog and return it,
--- or if the flag falls in water, _BUT_ not if it is blown up
-
----------
--- 0.4
----------
-
--- tweaked crate drop rates and crate contents
--- improved the teleporters, they should now be able to handle rope... hopefully
--- updated SetEffect calls to be in line with 0.9.15 definitions
--- added visual gears when hogs respawn
--- added visual gears when hogs teleport
--- added visual gear to track flag and flag carriers
--- removed poisoning of flag carriers
--- removed health adjustments for flag carriers due to aforementioned poisons
-
----------
--- 0.5
----------
-
--- added translation support, hopefully
--- added ctf rules
--- added effects to the teleporters
--- added aura round spawning area
--- changed the aura around the flag carrier / flag to an aura and added some support for this
--- changed things so the seed is no longer always the same...
-
-
-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 actionReset = 0 -- used in CheckTeleporters()
-
-local roundsCounter = 0	-- used to determine when to spawn more crates
-						-- currently every 6 TURNS, should this work
-						-- on ROUNDS instead?
-local effectTimer = 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 fGear = {}	-- pointer to the case gears that represent the flag
-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 fThiefsHealed = false
-
-local fSpawnC = {}
-local fCirc = {} -- flag/carrier marker circles
-local fCol = {} -- colour of the clans
-
-local vCircX = {}
-local vCircY = {}
-local vCircMinA = {}
-local vCircMaxA = {}
-local vCircType = {}
-local vCircPulse = {}
-local vCircFuckAll = {}
-local vCircRadius = {}
-local vCircWidth = {}
-local vCircCol = {}
-
-
---------------------------------
---zone and teleporter variables
---------------------------------
-
-local redTel
-local orangeTel
---local areaArr = {} -- no longer used
-
-local zXMin = {}
-local zWidth = {}
-local zYMin = {}
-local zHeight = {}
-local zOccupied = {}
-local zCount = 0
-
-------------------------
--- zone methods
-------------------------
--- see on gameTick also
-
-function ManageTeleporterEffects()
-	effectTimer = effectTimer + 1
-	if effectTimer > 50 then -- 100
-		effectTimer = 0
-		
-		for i = 0,1 do		
-			eX = 10 + zXMin[i] + GetRandom(zWidth[i]-10)
-			eY = 50 + zYMin[i] + GetRandom(zHeight[i]-110)
-
-	-- steam and smoke and DUST look good, smokering looks trippy 
-	-- smoketrace and eviltrace are not effected by wind?
-	-- chunk is a LR falling gear
-			tempE = AddVisualGear(eX, eY, vgtDust, 0, false)
-			if tempE ~= 0 then
-				g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE)
-				SetVisualGearValues(tempE, eX, eY, g3, g4, g5, g6, g7, g8, g9, fCol[i])
-			end
-		end
-	end 
-end
-
-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
-
-------------------------
---flag methods
-------------------------
-
-function CheckScore(teamID)
-
-	if teamID == 0 then
-		alt = 1
-		winner = "Red"
-
-	elseif teamID == 1 then
-		alt = 0
-		winner = "Blue"
-	end
-
-	if fCaptures[teamID] == 2 then
-		for i = 0, (numhhs-1) do
-			if GetHogClan(hhs[i]) == alt then
-				SetEffect(hhs[i], heResurrectable, false)
-				SetHealth(hhs[i],0)
-			end
-		end
-		--ShowMission("GAME OVER!", "Victory for the " .. winner .. " Team!", "Hooray!", 0, 0)
-		ShowMission(loc("GAME OVER!"), loc("Victory for the ") .. GetHogTeamName(CurrentHedgehog), loc("Hooray!"), 0, 0)
-	end
-
-end
-
-function HandleRespawns()
-
-	for i = 0, 1 do
-
-		if fNeedsRespawn[i] == true then
-			fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip)
-			--fGear[i] = SpawnHealthCrate(fSpawnX[i],fSpawnY[i])
-			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 FlagDeleted(gear)
-
-	if (gear == fGear[0]) then
-		wtf = 0
-		bbq = 1
-	elseif (gear == fGear[1]) then
-		wtf = 1
-		bbq = 0
-	end
-
-	--ShowMission("OH HAI!", "FlagDeleted was called", "Oh noes!", -amBazooka, 0)
-
-	if CurrentHedgehog ~= nil then
-
-		--ShowMission("GUESS WAT?", "I'm not nil", "Oh noes!", -amBazooka, 0)
-		--if the player picks up the flag
-		if CheckDistance(CurrentHedgehog, fGear[wtf]) < 1600 then
-
-			fGear[wtf] = nil -- the flag has now disappeared and we shouldnt be pointing to it
-
-			-- player has successfully captured the enemy flag
-			if (GetHogClan(CurrentHedgehog) == wtf) and (CurrentHedgehog == fThief[bbq]) and (fIsMissing[wtf] == false) then
-				fIsMissing[wtf] = false
-				fNeedsRespawn[wtf] = true
-				fIsMissing[bbq] = false
-				fNeedsRespawn[bbq] = true
-				fCaptures[wtf] = fCaptures[wtf] +1					--fCaptures[wtf]
-				
-				--ShowMission(loc("You have SCORED!!"), "Red Team: " .. fCaptures[0], "Blue Team: " .. fCaptures[1], -amBazooka, 0)
-				ShowMission(loc("You have SCORED!!"), GetHogTeamName(CurrentHedgehog) .. ": " .. fCaptures[wtf], loc("Opposing Team: ") .. fCaptures[bbq], 0, 0)
-
-				PlaySound(sndVictory)
-				--SetEffect(fThief[bbq], hePoisoned, false)
-				fThief[bbq] = nil -- player no longer has the enemy flag
-				CheckScore(wtf)
-
-			--if the player is returning the flag
-			elseif GetHogClan(CurrentHedgehog) == wtf then
-
-				fNeedsRespawn[wtf] = true
-
-				-- NEW ADDIITON, does this work? Should make it possible to return your flag and then score in the same turn
-				if fIsMissing[wtf] == true then
-					HandleRespawns() -- this will set fIsMissing[wtf] to false :)
-					AddCaption(loc("Flag returned!"))
-				elseif fIsMissing[wtf] == false then
-					AddCaption(loc("That was pointless.") .. loc("The flag will respawn next round."))
-				end
-
-				--fIsMissing[wtf] = false
-				--ShowMission("Flag returned!", "Hooray", "", -amBazooka, 0)
-
-			--if the player is taking the enemy flag
-			elseif GetHogClan(CurrentHedgehog) == bbq then
-				fIsMissing[wtf] = true
-				for i = 0,numhhs-1 do
-					if CurrentHedgehog == hhs[i] then
-						fThief[wtf] = hhs[i]
-						--SetEffect(fThief[wtf], hePoisoned, true)
-					end
-				end
-
-				AddCaption(loc("Flag captured!"))
-
-			else --below line doesnt usually get called
-				AddCaption("Hmm... that wasn't supposed to happen...")
-
-			end
-
-		-- if flag has been destroyed, probably
-		else
-
-			if GetY(fGear[wtf]) > 2025 then
-				fGear[wtf] = nil
-				fIsMissing[wtf] = true
-				fNeedsRespawn[wtf] = true
-				HandleRespawns()
-			else
-				fGear[wtf] = nil
-				fIsMissing[wtf] = true
-				fNeedsRespawn[wtf] = true
-				AddCaption(loc("Boom!") .. " " .. loc("The flag will respawn next round."))
-			end
-
-		end
-
-	-- if flag has been destroyed deep underwater and player is now nil
-	-- probably only gets called if the flag thief drowns himself
-	-- otherwise the above one will work fine
-	else
-		--ShowMission("NIL PLAYER!", "Oh snap", "Oh noes!", -amBazooka, 0)
-		fGear[wtf] = nil
-		fIsMissing[wtf] = true
-		fNeedsRespawn[wtf] = true
-		AddCaption(loc("The flag will respawn next round."))
-	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
-		--SetEffect(fThief[wtf], hePoisoned, false)
-		fGear[wtf] = SpawnAmmoCrate(fThiefX[wtf],fThiefY[wtf]-50,amSkip)
-		AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false)
-		fThief[wtf] = nil
-	end
-
-end
-
-function HandleCircles()
-	
-	for i = 0, 1 do
-		if fIsMissing[i] == false then -- draw a circle at the flag's spawning place
-			--SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 33, 2, fCol[i])
-			SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
-		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, 2, fCol[i])
-				SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
-			elseif fThief[i] == nil then -- draw cirle round dropped flag
-				--SetVisualGearValues(fCirc[i], GetX(fGear[i]), GetY(fGear[i]), 20, 200, 0, 0, 100, 33, 2, fCol[i])
-				SetVisualGearValues(fCirc[i], GetX(fGear[i]),GetY(fGear[i]), vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
-			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])
-		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 = math.sqrt(z)
-
-	dist = z
-
-	return dist
-
-end
-
-function CheckTeleporters()
-
-	teleportActive = false
-
-	if (GearIsInZone(CurrentHedgehog, redTel) == true) and (GetHogClan(CurrentHedgehog) == 0) then
-		teleportActive = true
-		destinationX = 1402
-		destinationY = 321
-	elseif (GearIsInZone(CurrentHedgehog, orangeTel) == true) and (GetHogClan(CurrentHedgehog) == 1) then
-		teleportActive = true
-		destinationX = 2692
-		destinationY = 321
-	end
-
-	if teleportActive == true then
-		if actionReset == 0 then
-			SetGearMessage(CurrentHedgehog, gmAttack)
-			--AddCaption(actionReset .. ";" .. "attack")
-		elseif actionReset == 10 then
-			SetGearMessage(CurrentHedgehog, 0)
-			--AddCaption(actionReset .. ";" .. "reset")
-		elseif actionReset == 20 then
-			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
-			SetGearPosition(CurrentHedgehog,destinationX,destinationY)
-			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
-			--AddCaption(actionReset .. ";" .. "teleport")
-		end
-
-		actionReset = actionReset + 1
-		if actionReset >= 30 then
-			actionReset = 0
-		end
-
-	end
-
-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 HandleCrateDrops()
-
-	roundsCounter = roundsCounter +1
-
-	if roundsCounter == 5 then
-
-		roundsCounter = 0
-
-		r = GetRandom(8)
-		if r == 0 then
-			SpawnUtilityCrate(0,0,amSwitch)
-		elseif r == 1 then
-			SpawnUtilityCrate(0,0,amTeleport)
-		elseif r == 2 then
-			SpawnUtilityCrate(0,0,amJetpack)
-		elseif r == 3 then
-			SpawnUtilityCrate(0,0,amExtraTime)
-		elseif r == 4 then
-			SpawnUtilityCrate(0,0,amGirder)
-		elseif r == 5 then
-			SpawnAmmoCrate(0,0,amDynamite)
-		elseif r == 6 then
-			SpawnAmmoCrate(0,0,amFlamethrower)
-		elseif r == 7 then
-			SpawnUtilityCrate(0,0,amPortalGun)
-		end
-
-	end
-
-end
-
-------------------------
--- game methods
-------------------------
-
-function onGameInit()
-
-	-- Things we don't modify here will use their default values.
-	GameFlags = gfDivideTeams -- Game settings and rules
-	TurnTime = 30000 -- (was 30) 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  = 2000
-	Explosives = 0 -- The number of explosives being placed
-	Delay = 10 -- The delay between each round
-	SuddenDeathTurns = 99 -- suddendeath is off, effectively
-	Map = "Blizzard" -- The map to be played
-	Theme = "Snow" -- The theme to be used "Nature"
-
-end
-
-
-function onGameStart()
-
-	--ShowMission(loc(caption), loc(subcaption), loc(goal), 0, 0)
-	ShowMission(loc("CTF_BLIZZARD") .. " 0.5", loc("by mikade"), 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)
-
-
-	-- initialize teleporters
-	redTel = CreateZone(342,1316,42,449)	-- red teleporter
-	orangeTel = CreateZone(3719,1330,45,449)	-- orange teleporter
-
-
-	--new improved placement schematics aw yeah
-	RebuildTeamInfo()
-	--ShowMission("Team Info Rebuilt", "Here you go:", "TeamCount: " .. TeamsCount .. "|" .. teamNameArr[0] .. ": " .. teamSize[0] .. " Hogs|" .. teamNameArr[1] .. ": " .. teamSize[1] .. " Hogs|" .. teamNameArr[2] .. ": " .. teamSize[2] .. " Hogs|", 0, 0)
-	team1Placed = 0
-	team2Placed = 0
-	for i = 0, (TeamsCount-1) do
-		for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do
-			if GetHogClan(hhs[g]) == 0 then
-				SetGearPosition(hhs[g],1403+ ((team1Placed+1)*50),1570)
-				team1Placed = team1Placed +1
-				if team1Placed > 6 then
-					team1Placed = 0
-				end
-			elseif GetHogClan(hhs[g]) == 1 then
-				SetGearPosition(hhs[g],2230+ ((team2Placed+1)*50),1570)
-				team2Placed = team2Placed +1
-				if team2Placed > 6 then
-					team2Placed = 0
-				end
-			end
-		end
-	end
-
-
-
-	--spawn starting ufos and or super weapons
-	SpawnAmmoCrate(2048,1858,amJetpack)
-	--SpawnUtilityCrate(2048,1858,amExtraTime)
-
-	--set flag spawn points and spawn the flags
-	fSpawnX[0] = 957
-	fSpawnY[0] = 1747
-	fSpawnX[1] = 3123
-	fSpawnY[1] = 1747
-
-	for i = 0, 1 do
-		fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip)
-		fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
-		fCol[i] = GetClanColor(i)	
-
-		fSpawnC[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
-		SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 10, 200, 1, 10, 0, 300, 5, fCol[i])		
-		
-	
-		fIsMissing[i] = false
-		fNeedsRespawn[i] = false
-		fCaptures[i] = 0
-
-		vCircMinA[i] = 20
-		vCircMaxA[i] = 255
-		vCircType[i] = 1
-		vCircPulse[i] = 10
-		vCircFuckAll[i] = 0
-		vCircRadius[i] = 150
-		vCircWidth[i] = 5
-		vCircCol[i] = fCol[i]
-
-		SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
-
-	end
-
-end
-
-
-function onNewTurn()
-
-	if lastTeam ~= GetHogTeamName(CurrentHedgehog) then
-		lastTeam = GetHogTeamName(CurrentHedgehog)
-	end
-
-	for i = 0, 1 do
-		if fThief[i] ~= nil then
-			--adjust = 5 + GetHealth(fThief[i])
-			--SetHealth(fThief[i], adjust)
-			--AddCaption('Helped out the flag poisoned flag thiefs')
-		end
-	end
-
-	--AddCaption("Handling respawns")
-	HandleRespawns()
-	HandleCrateDrops()
-
-	--myC = AddVisualGear(GetX(CurrentHedgehog),GetY(CurrentHedgehog),vgtCircle,0,true)
-	--SetVisualGearValues(myC, GetX(CurrentHedgehog),GetY(CurrentHedgehog), 20, 200, 0, 0, 100, 50, 3, GetClanColor(GetHogClan(CurrentHedgehog)))	
-
-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(GetX(CurrentHedgehog) .. "; " .. GetY(CurrentHedgehog))
-		--AddCaption("Checking Teleporters")
-		CheckTeleporters()
-	end
-
-	HandleCircles()
-	ManageTeleporterEffects()
-
-end
-
-
-function onAmmoStoreInit()
-
-	SetAmmo(amDrill,9,0,0,0)
-	SetAmmo(amMortar,9,0,0,0)
-
-	SetAmmo(amGrenade,9,0,0,0)
-	SetAmmo(amClusterBomb,4,0,0,0)
-
-	--SetAmmo(amDEagle, 4, 0, 0, 0)
-	SetAmmo(amShotgun, 9, 0, 0, 0)
-	SetAmmo(amFlamethrower, 1, 0, 0, 1)
-
-	SetAmmo(amFirePunch, 9, 0, 0, 0)
-	SetAmmo(amBaseballBat, 2, 0, 0, 0)
-
-	SetAmmo(amDynamite,2,0,0,1)
-	SetAmmo(amSMine,4,0,0,0)
-
-	SetAmmo(amBlowTorch, 9, 0, 0, 0)
-	SetAmmo(amPickHammer, 9, 0, 0, 0)
-	SetAmmo(amGirder, 2, 0, 0, 2)
-	SetAmmo(amPortalGun, 2, 0, 0, 2)
-
-	SetAmmo(amParachute, 9, 0, 0, 0)
-	SetAmmo(amRope, 9, 0, 0, 0)
-	SetAmmo(amTeleport, 1, 0, 0, 1)
-	SetAmmo(amJetpack, 1, 0, 0, 1)
-
-	SetAmmo(amSwitch, 2, 0, 0, 1)
-	SetAmmo(amExtraTime,1,0,0,1)
-	SetAmmo(amLowGravity,1,0,0,0)
-	SetAmmo(amSkip, 9, 0, 0, 0)
-
-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
-
-	-- place hogs belonging to each clan either left or right side of map
-	if GetHogClan(gear) == 0 then
-		FindPlace(gear, false, 0, 2048)
-	elseif GetHogClan(gear) == 1 then
-		FindPlace(gear, false, 2048, LAND_WIDTH)
-	end
-	
-	AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
-
-end
-
-function onGearDamage(gear, damage)
-
-	-- >_< damn, occurs too fast, before the hog has finished moving / updated his health	
-	--if GetGearType(gear) == gtHedgehog then
-	--	if damage > GetHealth(gear) then
-	--		AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false)		
-	--	end
-	--end
-
-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 (gear == fGear[0]) or (gear == fGear[1]) then
-		FlagDeleted(gear)
-	end
-
-end
+--------------------------------
+-- CTF_BLIZZARD 0.4
+--------------------------------
+
+---------
+-- 0.2
+---------
+
+-- disabled super weapons
+
+-- theme modifications
+
+-- improved hog placement system: teams can now be put
+-- in any order and be of any size
+
+---------
+-- 0.3
+---------
+
+-- In this version:
+
+-- changed starting weapons
+-- changed crate drop contents and rate of drops
+
+-- completely removed super weapons and super weapon scripts
+
+-- removed custom respawning
+-- removed set respawn points
+
+-- added AIRespawn-esque respawning
+-- added simple left vs right respawn points
+
+-- added non-lethal poison to flag carriers as an indicator
+
+-- improved flag mechanics and player-flag feedback
+-- flag now instantly respawns if you kill enemy hog and return it,
+-- or if the flag falls in water, _BUT_ not if it is blown up
+
+---------
+-- 0.4
+---------
+
+-- tweaked crate drop rates and crate contents
+-- improved the teleporters, they should now be able to handle rope... hopefully
+-- updated SetEffect calls to be in line with 0.9.15 definitions
+-- added visual gears when hogs respawn
+-- added visual gears when hogs teleport
+-- added visual gear to track flag and flag carriers
+-- removed poisoning of flag carriers
+-- removed health adjustments for flag carriers due to aforementioned poisons
+
+---------
+-- 0.5
+---------
+
+-- added translation support, hopefully
+-- added ctf rules
+-- added effects to the teleporters
+-- added aura round spawning area
+-- changed the aura around the flag carrier / flag to an aura and added some support for this
+-- changed things so the seed is no longer always the same...
+
+
+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 actionReset = 0 -- used in CheckTeleporters()
+
+local roundsCounter = 0	-- used to determine when to spawn more crates
+						-- currently every 6 TURNS, should this work
+						-- on ROUNDS instead?
+local effectTimer = 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 fGear = {}	-- pointer to the case gears that represent the flag
+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 fThiefsHealed = false
+
+local fSpawnC = {}
+local fCirc = {} -- flag/carrier marker circles
+local fCol = {} -- colour of the clans
+
+local vCircX = {}
+local vCircY = {}
+local vCircMinA = {}
+local vCircMaxA = {}
+local vCircType = {}
+local vCircPulse = {}
+local vCircFuckAll = {}
+local vCircRadius = {}
+local vCircWidth = {}
+local vCircCol = {}
+
+
+--------------------------------
+--zone and teleporter variables
+--------------------------------
+
+local redTel
+local orangeTel
+--local areaArr = {} -- no longer used
+
+local zXMin = {}
+local zWidth = {}
+local zYMin = {}
+local zHeight = {}
+local zOccupied = {}
+local zCount = 0
+
+------------------------
+-- zone methods
+------------------------
+-- see on gameTick also
+
+function ManageTeleporterEffects()
+	effectTimer = effectTimer + 1
+	if effectTimer > 50 then -- 100
+		effectTimer = 0
+		
+		for i = 0,1 do		
+			eX = 10 + zXMin[i] + GetRandom(zWidth[i]-10)
+			eY = 50 + zYMin[i] + GetRandom(zHeight[i]-110)
+
+	-- steam and smoke and DUST look good, smokering looks trippy 
+	-- smoketrace and eviltrace are not effected by wind?
+	-- chunk is a LR falling gear
+			tempE = AddVisualGear(eX, eY, vgtDust, 0, false)
+			if tempE ~= 0 then
+				g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE)
+				SetVisualGearValues(tempE, eX, eY, g3, g4, g5, g6, g7, g8, g9, fCol[i])
+			end
+		end
+	end 
+end
+
+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
+
+------------------------
+--flag methods
+------------------------
+
+function CheckScore(teamID)
+
+	if teamID == 0 then
+		alt = 1
+		winner = "Red"
+
+	elseif teamID == 1 then
+		alt = 0
+		winner = "Blue"
+	end
+
+	if fCaptures[teamID] == 2 then
+		for i = 0, (numhhs-1) do
+			if GetHogClan(hhs[i]) == alt then
+				SetEffect(hhs[i], heResurrectable, false)
+				SetHealth(hhs[i],0)
+			end
+		end
+		--ShowMission("GAME OVER!", "Victory for the " .. winner .. " Team!", "Hooray!", 0, 0)
+		ShowMission(loc("GAME OVER!"), loc("Victory for the ") .. GetHogTeamName(CurrentHedgehog), loc("Hooray!"), 0, 0)
+	end
+
+end
+
+function HandleRespawns()
+
+	for i = 0, 1 do
+
+		if fNeedsRespawn[i] == true then
+			fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip)
+			--fGear[i] = SpawnHealthCrate(fSpawnX[i],fSpawnY[i])
+			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 FlagDeleted(gear)
+
+	if (gear == fGear[0]) then
+		wtf = 0
+		bbq = 1
+	elseif (gear == fGear[1]) then
+		wtf = 1
+		bbq = 0
+	end
+
+	--ShowMission("OH HAI!", "FlagDeleted was called", "Oh noes!", -amBazooka, 0)
+
+	if CurrentHedgehog ~= nil then
+
+		--ShowMission("GUESS WAT?", "I'm not nil", "Oh noes!", -amBazooka, 0)
+		--if the player picks up the flag
+		if CheckDistance(CurrentHedgehog, fGear[wtf]) < 1600 then
+
+			fGear[wtf] = nil -- the flag has now disappeared and we shouldnt be pointing to it
+
+			-- player has successfully captured the enemy flag
+			if (GetHogClan(CurrentHedgehog) == wtf) and (CurrentHedgehog == fThief[bbq]) and (fIsMissing[wtf] == false) then
+				fIsMissing[wtf] = false
+				fNeedsRespawn[wtf] = true
+				fIsMissing[bbq] = false
+				fNeedsRespawn[bbq] = true
+				fCaptures[wtf] = fCaptures[wtf] +1					--fCaptures[wtf]
+				
+				--ShowMission(loc("You have SCORED!!"), "Red Team: " .. fCaptures[0], "Blue Team: " .. fCaptures[1], -amBazooka, 0)
+				ShowMission(loc("You have SCORED!!"), GetHogTeamName(CurrentHedgehog) .. ": " .. fCaptures[wtf], loc("Opposing Team: ") .. fCaptures[bbq], 0, 0)
+
+				PlaySound(sndVictory)
+				--SetEffect(fThief[bbq], hePoisoned, false)
+				fThief[bbq] = nil -- player no longer has the enemy flag
+				CheckScore(wtf)
+
+			--if the player is returning the flag
+			elseif GetHogClan(CurrentHedgehog) == wtf then
+
+				fNeedsRespawn[wtf] = true
+
+				-- NEW ADDIITON, does this work? Should make it possible to return your flag and then score in the same turn
+				if fIsMissing[wtf] == true then
+					HandleRespawns() -- this will set fIsMissing[wtf] to false :)
+					AddCaption(loc("Flag returned!"))
+				elseif fIsMissing[wtf] == false then
+					AddCaption(loc("That was pointless.") .. loc("The flag will respawn next round."))
+				end
+
+				--fIsMissing[wtf] = false
+				--ShowMission("Flag returned!", "Hooray", "", -amBazooka, 0)
+
+			--if the player is taking the enemy flag
+			elseif GetHogClan(CurrentHedgehog) == bbq then
+				fIsMissing[wtf] = true
+				for i = 0,numhhs-1 do
+					if CurrentHedgehog == hhs[i] then
+						fThief[wtf] = hhs[i]
+						--SetEffect(fThief[wtf], hePoisoned, true)
+					end
+				end
+
+				AddCaption(loc("Flag captured!"))
+
+			else --below line doesnt usually get called
+				AddCaption("Hmm... that wasn't supposed to happen...")
+
+			end
+
+		-- if flag has been destroyed, probably
+		else
+
+			if GetY(fGear[wtf]) > 2025 then
+				fGear[wtf] = nil
+				fIsMissing[wtf] = true
+				fNeedsRespawn[wtf] = true
+				HandleRespawns()
+			else
+				fGear[wtf] = nil
+				fIsMissing[wtf] = true
+				fNeedsRespawn[wtf] = true
+				AddCaption(loc("Boom!") .. " " .. loc("The flag will respawn next round."))
+			end
+
+		end
+
+	-- if flag has been destroyed deep underwater and player is now nil
+	-- probably only gets called if the flag thief drowns himself
+	-- otherwise the above one will work fine
+	else
+		--ShowMission("NIL PLAYER!", "Oh snap", "Oh noes!", -amBazooka, 0)
+		fGear[wtf] = nil
+		fIsMissing[wtf] = true
+		fNeedsRespawn[wtf] = true
+		AddCaption(loc("The flag will respawn next round."))
+	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
+		--SetEffect(fThief[wtf], hePoisoned, false)
+		fGear[wtf] = SpawnAmmoCrate(fThiefX[wtf],fThiefY[wtf]-50,amSkip)
+		AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false)
+		fThief[wtf] = nil
+	end
+
+end
+
+function HandleCircles()
+	
+	for i = 0, 1 do
+		if fIsMissing[i] == false then -- draw a circle at the flag's spawning place
+			--SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 33, 2, fCol[i])
+			SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
+		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, 2, fCol[i])
+				SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
+			elseif fThief[i] == nil then -- draw cirle round dropped flag
+				--SetVisualGearValues(fCirc[i], GetX(fGear[i]), GetY(fGear[i]), 20, 200, 0, 0, 100, 33, 2, fCol[i])
+				SetVisualGearValues(fCirc[i], GetX(fGear[i]),GetY(fGear[i]), vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
+			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])
+		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 = math.sqrt(z)
+
+	dist = z
+
+	return dist
+
+end
+
+function CheckTeleporters()
+
+	teleportActive = false
+
+	if (GearIsInZone(CurrentHedgehog, redTel) == true) and (GetHogClan(CurrentHedgehog) == 0) then
+		teleportActive = true
+		destinationX = 1402
+		destinationY = 321
+	elseif (GearIsInZone(CurrentHedgehog, orangeTel) == true) and (GetHogClan(CurrentHedgehog) == 1) then
+		teleportActive = true
+		destinationX = 2692
+		destinationY = 321
+	end
+
+	if teleportActive == true then
+		if actionReset == 0 then
+			SetGearMessage(CurrentHedgehog, gmAttack)
+			--AddCaption(actionReset .. ";" .. "attack")
+		elseif actionReset == 10 then
+			SetGearMessage(CurrentHedgehog, 0)
+			--AddCaption(actionReset .. ";" .. "reset")
+		elseif actionReset == 20 then
+			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
+			SetGearPosition(CurrentHedgehog,destinationX,destinationY)
+			AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false)
+			--AddCaption(actionReset .. ";" .. "teleport")
+		end
+
+		actionReset = actionReset + 1
+		if actionReset >= 30 then
+			actionReset = 0
+		end
+
+	end
+
+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 HandleCrateDrops()
+
+	roundsCounter = roundsCounter +1
+
+	if roundsCounter == 5 then
+
+		roundsCounter = 0
+
+		r = GetRandom(8)
+		if r == 0 then
+			SpawnUtilityCrate(0,0,amSwitch)
+		elseif r == 1 then
+			SpawnUtilityCrate(0,0,amTeleport)
+		elseif r == 2 then
+			SpawnUtilityCrate(0,0,amJetpack)
+		elseif r == 3 then
+			SpawnUtilityCrate(0,0,amExtraTime)
+		elseif r == 4 then
+			SpawnUtilityCrate(0,0,amGirder)
+		elseif r == 5 then
+			SpawnAmmoCrate(0,0,amDynamite)
+		elseif r == 6 then
+			SpawnAmmoCrate(0,0,amFlamethrower)
+		elseif r == 7 then
+			SpawnUtilityCrate(0,0,amPortalGun)
+		end
+
+	end
+
+end
+
+------------------------
+-- game methods
+------------------------
+
+function onGameInit()
+
+	-- Things we don't modify here will use their default values.
+	GameFlags = gfDivideTeams -- Game settings and rules
+	TurnTime = 30000 -- (was 30) 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  = 2000
+	Explosives = 0 -- The number of explosives being placed
+	Delay = 10 -- The delay between each round
+	SuddenDeathTurns = 99 -- suddendeath is off, effectively
+	Map = "Blizzard" -- The map to be played
+	Theme = "Snow" -- The theme to be used "Nature"
+
+end
+
+
+function onGameStart()
+
+	--ShowMission(loc(caption), loc(subcaption), loc(goal), 0, 0)
+	ShowMission(loc("CTF_BLIZZARD") .. " 0.5", loc("by mikade"), 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)
+
+
+	-- initialize teleporters
+	redTel = CreateZone(342,1316,42,449)	-- red teleporter
+	orangeTel = CreateZone(3719,1330,45,449)	-- orange teleporter
+
+
+	--new improved placement schematics aw yeah
+	RebuildTeamInfo()
+	--ShowMission("Team Info Rebuilt", "Here you go:", "TeamCount: " .. TeamsCount .. "|" .. teamNameArr[0] .. ": " .. teamSize[0] .. " Hogs|" .. teamNameArr[1] .. ": " .. teamSize[1] .. " Hogs|" .. teamNameArr[2] .. ": " .. teamSize[2] .. " Hogs|", 0, 0)
+	team1Placed = 0
+	team2Placed = 0
+	for i = 0, (TeamsCount-1) do
+		for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do
+			if GetHogClan(hhs[g]) == 0 then
+				SetGearPosition(hhs[g],1403+ ((team1Placed+1)*50),1570)
+				team1Placed = team1Placed +1
+				if team1Placed > 6 then
+					team1Placed = 0
+				end
+			elseif GetHogClan(hhs[g]) == 1 then
+				SetGearPosition(hhs[g],2230+ ((team2Placed+1)*50),1570)
+				team2Placed = team2Placed +1
+				if team2Placed > 6 then
+					team2Placed = 0
+				end
+			end
+		end
+	end
+
+
+
+	--spawn starting ufos and or super weapons
+	SpawnAmmoCrate(2048,1858,amJetpack)
+	--SpawnUtilityCrate(2048,1858,amExtraTime)
+
+	--set flag spawn points and spawn the flags
+	fSpawnX[0] = 957
+	fSpawnY[0] = 1747
+	fSpawnX[1] = 3123
+	fSpawnY[1] = 1747
+
+	for i = 0, 1 do
+		fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip)
+		fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+		fCol[i] = GetClanColor(i)	
+
+		fSpawnC[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true)
+		SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 10, 200, 1, 10, 0, 300, 5, fCol[i])		
+		
+	
+		fIsMissing[i] = false
+		fNeedsRespawn[i] = false
+		fCaptures[i] = 0
+
+		vCircMinA[i] = 20
+		vCircMaxA[i] = 255
+		vCircType[i] = 1
+		vCircPulse[i] = 10
+		vCircFuckAll[i] = 0
+		vCircRadius[i] = 150
+		vCircWidth[i] = 5
+		vCircCol[i] = fCol[i]
+
+		SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i])
+
+	end
+
+end
+
+
+function onNewTurn()
+
+	if lastTeam ~= GetHogTeamName(CurrentHedgehog) then
+		lastTeam = GetHogTeamName(CurrentHedgehog)
+	end
+
+	for i = 0, 1 do
+		if fThief[i] ~= nil then
+			--adjust = 5 + GetHealth(fThief[i])
+			--SetHealth(fThief[i], adjust)
+			--AddCaption('Helped out the flag poisoned flag thiefs')
+		end
+	end
+
+	--AddCaption("Handling respawns")
+	HandleRespawns()
+	HandleCrateDrops()
+
+	--myC = AddVisualGear(GetX(CurrentHedgehog),GetY(CurrentHedgehog),vgtCircle,0,true)
+	--SetVisualGearValues(myC, GetX(CurrentHedgehog),GetY(CurrentHedgehog), 20, 200, 0, 0, 100, 50, 3, GetClanColor(GetHogClan(CurrentHedgehog)))	
+
+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(GetX(CurrentHedgehog) .. "; " .. GetY(CurrentHedgehog))
+		--AddCaption("Checking Teleporters")
+		CheckTeleporters()
+	end
+
+	HandleCircles()
+	ManageTeleporterEffects()
+
+end
+
+
+function onAmmoStoreInit()
+
+	SetAmmo(amDrill,9,0,0,0)
+	SetAmmo(amMortar,9,0,0,0)
+
+	SetAmmo(amGrenade,9,0,0,0)
+	SetAmmo(amClusterBomb,4,0,0,0)
+
+	--SetAmmo(amDEagle, 4, 0, 0, 0)
+	SetAmmo(amShotgun, 9, 0, 0, 0)
+	SetAmmo(amFlamethrower, 1, 0, 0, 1)
+
+	SetAmmo(amFirePunch, 9, 0, 0, 0)
+	SetAmmo(amBaseballBat, 2, 0, 0, 0)
+
+	SetAmmo(amDynamite,2,0,0,1)
+	SetAmmo(amSMine,4,0,0,0)
+
+	SetAmmo(amBlowTorch, 9, 0, 0, 0)
+	SetAmmo(amPickHammer, 9, 0, 0, 0)
+	SetAmmo(amGirder, 2, 0, 0, 2)
+	SetAmmo(amPortalGun, 2, 0, 0, 2)
+
+	SetAmmo(amParachute, 9, 0, 0, 0)
+	SetAmmo(amRope, 9, 0, 0, 0)
+	SetAmmo(amTeleport, 1, 0, 0, 1)
+	SetAmmo(amJetpack, 1, 0, 0, 1)
+
+	SetAmmo(amSwitch, 2, 0, 0, 1)
+	SetAmmo(amExtraTime,1,0,0,1)
+	SetAmmo(amLowGravity,1,0,0,0)
+	SetAmmo(amSkip, 9, 0, 0, 0)
+
+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
+
+	-- place hogs belonging to each clan either left or right side of map
+	if GetHogClan(gear) == 0 then
+		FindPlace(gear, false, 0, 2048)
+	elseif GetHogClan(gear) == 1 then
+		FindPlace(gear, false, 2048, LAND_WIDTH)
+	end
+	
+	AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
+
+end
+
+function onGearDamage(gear, damage)
+
+	-- >_< damn, occurs too fast, before the hog has finished moving / updated his health	
+	--if GetGearType(gear) == gtHedgehog then
+	--	if damage > GetHealth(gear) then
+	--		AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false)		
+	--	end
+	--end
+
+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 (gear == fGear[0]) or (gear == fGear[1]) then
+		FlagDeleted(gear)
+	end
+
+end
--- a/share/hedgewars/Data/misc/hedgewars-mimeinfo.xml	Thu Dec 30 16:21:14 2010 +0100
+++ b/share/hedgewars/Data/misc/hedgewars-mimeinfo.xml	Thu Dec 30 11:32:04 2010 -0500
@@ -8,14 +8,14 @@
     -->
     <comment>Hedgewars Demo</comment>
     <comment xml:lang="de">Hedgewars Demo</comment>
-    <comment xml:lang="fr">Hedgewars Démonstration</comment>
+    <comment xml:lang="es">Demo de Hedgewars</comment>
+    <comment xml:lang="fr">Démonstration d'Hedgewars</comment>
+    <comment xml:lang="it">Demo di Hedgewars</comment>
+	<comment xml:lang="ko">헤즈와스 데모</comment>
     <comment xml:lang="pl">Demo gry Hedgewars</comment>
+	<comment xml:lang="pt">Hedgewars Demo</comment>
     <comment xml:lang="sk">Demo hry Hedgewars</comment>
     <comment xml:lang="sv">Demo för Hedgewars</comment>
-    <comment xml:lang="es">Demo de Hedgewars</comment>
-    <comment xml:lang="it">Demo di Hedgewars</comment>
-	<comment xml:lang="pt">Hedgewars Demo</comment>
-	<comment xml:lang="ko">헤즈와스 데모</comment>
     <magic priority="50">
       <match required="yes" type="byte" offset="0" value="2"/>
       <match required="yes" type="big16" offset="1" value="21572"/>
@@ -27,13 +27,14 @@
     <!--<generic-icon name="applications-games"/>-->
     <comment>Hedgewars Save</comment>
     <comment xml:lang="de">Hedgewars gespeichertes Spiel</comment>
+    <comment xml:lang="es">Partida guardada de Hedgewars</comment>
+    <comment xml:lang="fr">Parties enregistrées d'Hedgewars</comment>
+	<comment xml:lang="ko">헤즈와스 저장된 게임</comment>
+    <comment xml:lang="it">Partita salvata di Hedgewars</comment>
     <comment xml:lang="pl">Zapis gry Hedgewars</comment>
+	<comment xml:lang="pt">Partida guardada de Hedgewars</comment>
     <comment xml:lang="sk">Uložená hra Hedgewars</comment>
     <comment xml:lang="sv">Sparfil för Hedgewars</comment>
-    <comment xml:lang="es">Partida guardada de Hedgewars</comment>
-    <comment xml:lang="it">Partita salvata di Hedgewars</comment>
-	<comment xml:lang="pt">Partida guardada de Hedgewars</comment>
-	<comment xml:lang="ko">헤즈와스 저장된 게임</comment>
     <magic priority="50">
       <match required="yes" type="byte" offset="0" value="2"/>
       <match required="yes" type="big16" offset="1" value="21587"/>
--- a/share/hedgewars/Data/misc/hwengine.desktop.in	Thu Dec 30 16:21:14 2010 +0100
+++ b/share/hedgewars/Data/misc/hwengine.desktop.in	Thu Dec 30 11:32:04 2010 -0500
@@ -5,13 +5,14 @@
 Name=Hedgewars Engine
 GenericName=Hedgewars engine, for playback of saves and demos
 GenericName[de]=Hedgewars engine, für die Wiedergabe von gespeicherten Spielen und Demos
+GenericName[es]=Motor del juego Hedgewars, reproduce demos y partidas guardadas
+GenericName[fr]=Moteur graphique d'Hedgewars, pour revoir les parties enregistrées et de démonstration.
+GenericName[it]=Motore grafico di Hedgewars, riproduce le demo e riprende le partite salvate
 GenericName[pl]=Silnik gry Hedgewars do odtwarzania dem i zapisów gier
+GenericName[pt]=Motor de jogo Hedgewars, para reprodução de jogos guardados e demos
+GenericName[ru]=Движок Hedgewars для проигрывания сохранённых игр и демок
 GenericName[sk]=Engine hry Hedgewars, pre prehrávanie uložených hier a demo súborov
 GenericName[sv]=Hedgewarsmotorn, för att öppna demo- och sparfiler
-GenericName[es]=Motor del juego Hedgewars, reproduce demos y partidas guardadas
-GenericName[it]=Motore grafico di Hedgewars, riproduce le demo e riprende le partite salvate
-GenericName[pt]=Motor de jogo Hedgewars, para reprodução de jogos guardados e demos
-GenericName[ru]=Движок Hedgewars для проигрывания сохранённых игр и демок
 Icon=hedgewars.png
 Exec=${CMAKE_INSTALL_PREFIX}/bin/hwengine ${HEDGEWARS_DATADIR}/hedgewars/Data %f
 Path=/tmp