# HG changeset patch
# User ourobolos
# Date 1293726724 18000
# Node ID 71fb9189d91c9baed5034f9a6370b58e1282ec55
# Parent 5047d270e7d30bc1a9bf5f16faba69481f0ef352
French translation finally gets some love
diff -r 5047d270e7d3 -r 71fb9189d91c misc/hedgewars.desktop
--- 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
diff -r 5047d270e7d3 -r 71fb9189d91c share/hedgewars/Data/Locale/fr.lua
--- /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"] = "",
+ }
diff -r 5047d270e7d3 -r 71fb9189d91c share/hedgewars/Data/Locale/fr.txt
--- 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
diff -r 5047d270e7d3 -r 71fb9189d91c share/hedgewars/Data/Locale/hedgewars_fr.ts
--- 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 @@
-
+ Copier à partir de ...
@@ -46,18 +46,18 @@
-
+ Quand cette option est active choisir des paramètres de jeu sélectionnera les armesHWChatWidget
- %1 *** %2 a été enlevé de la liste des personnes ignorées
+ %1 *** %2 a été enlevé de votre liste de personnes ignorées
- %1 *** %2 a été ajouté dans la liste des personnes ignorées
+ %1 *** %2 a été ajouté dans votre liste de personnes ignorées
@@ -92,7 +92,7 @@
- Veuillez sélectionner une partie dans la liste ci-dessus
+ Veuillez sélectionner une partie enregistrée dans la liste ci-dessus
@@ -101,12 +101,12 @@
File Types
-
+ Fichier de démonstration d'HedgewarsFile Types
-
+ Fichier de sauvegarde d'Hedgewars
@@ -156,7 +156,7 @@
- Farpelu
+ Farfelu
@@ -188,11 +188,11 @@
-
+ Graine
-
+ Valider
@@ -244,7 +244,7 @@
Votre pseudo %1 est
enregistré sur Hedgewars.org
Veuillez fournir votre mot de passe
-ou choisir un nouveau pseudo:
+ou choisir un nouveau pseudo :
@@ -267,7 +267,10 @@
registered on Hedgewars.org
Please provide your password below
or pick another nickname in game config:
-
+ Votre pseudo %1 est
+enregistré sur Hedgewars.org
+Veuillez fournir votre mot de passe
+ou choisir un nouveau pseudo :
@@ -289,31 +292,31 @@
- Vider le cache de comptes
+ Vider le cache des comptes
-
+ Récupérer les données
-
+ Message du serveur pour la dernière version :
-
+ Message du serveur pour la version précédente :
-
+ Numéro de la dernière version du protocole :
-
+ Prévisualisation du MOTD
-
+ Enregistrer les données
@@ -327,31 +330,31 @@
PageDrawMap
-
+ Annuler
-
+ Effacer
- Charger
+ Charger
-
+ Enregistrer
-
+ Charger une carte dessinée
-
+ Cartes dessinées (*.hwmap);;Tous les fichiers (*.*)
-
+ Enregistrer une carte dessinée
@@ -387,59 +390,59 @@
-
+ Détails
-
+ Courbes de santé-
-
+ Rang
-
+ Le prix du meilleur tir a été décerné à <b>%1</b> avec <b>%2</b> points.
-
-
-
+
+ Le meilleur tueur est <b>%1</b> avec <b>%2</b> mort dans un tour.
+ Le meilleur tueur est <b>%1</b> avec <b>%2</b> morts dans un tour.
-
-
-
+
+ Un total de <b>%1</b> hérisson a été tué durant ce tour.
+ Un total de <b>%1</b> hérissons ont été tués durant ce tour.
-
+ (%1 Tue)
-
-
-
+
+ <b>%1</b> pense que c'est bien de tirer sur ses propres hérissons pour <b>%2</b> point.
+ <b>%1</b> pense que c'est bien de tirer sur ses propres hérissons pour <b>%2</b> points.
-
-
+
+ <b>%1</b> a tué <b>%2</b> de ses propres hérissons.
-
-
+
+ <b>%1</b> a eu peur et a passé son tour <b>%2</b> fois.
@@ -457,247 +460,247 @@
Tips
-
+ 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.Tips
-
+ 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.Tips
-
+ 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 !Tips
-
+ Si vous voulez empêcher les autres d'utiliser votre pseudo sur le serveur officiel, créez un compte sur http://www.hedgewars.org/.Tips
-
+ Assez du mode par défaut ? Essayez une des missions - elles offrent différents types de jeu suivant votre choix.Tips
-
+ 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.Tips
-
+ 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.Tips
-
+ 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 !Tips
-
+ Hedgewars est un jeu libre et gratuit créé sur notre temps libre. Partagez-le avec votre famille et vos amis comme vous le voulez !Tips
-
+ 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.Tips
-
+ Hedgewars est disponible dans de nombreuses langues. Si la traduction dans votre langue est partielle ou obsolète, contactez-nous !Tips
-
+ Hedgewars peux être exécuté sur de nombreux systèmes d'exploitation différents, incluant Microsoft Windows, Mac OS X et Linux. Tips
-
+ 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.Tips
-
+ Vous devriez faire une petite pause au moins une fois par heure.Tips
-
+ 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.Tips
-
+ Nous sommes ouverts aux suggestions et au critiques constructives. Si vous n'aimez pas quelque chose ou avez une grande idée, contactez-nous !Tips
-
+ Particulièrement quand vous jouez en ligne soyez polis et pensez que certains joueurs avec vous peuvent être mineurs.Tips
-
+ Les modes de jeu spéciaux comme « Vampirisme » ou « Karma » vous permettent de développer de nouvelles tactiques. Essayez-les en parties personnalisées !Tips
-
+ La version Windows d'Hedgewars fonctionne avec Xfire. Pensez à ajouter Hedgewars dans la liste de jeu pour que vous amis vous voient jouer.Tips
-
+ Vous ne devriez jamais installer Hedgewars sur des ordinateurs ne vous appartenant pas (école, université, travail, etc...). Demandez au responsable !Tips
-
+ 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.Tips
-
+ Aucun hérisson n'a été blessé durant la conception de ce jeu.Tips
-
+ Hedgewars est un jeu libre et gratuit créé sur notre temps libre. Si quelqu'un vous l'a vendu, vous devriez vous faire rembourser !Tips
-
+ Branchez une ou plusieurs manettes avant de lancer le jeu pour pouvoir contrôler vos équipes avec.Tips
-
+ Créer un compte sur %1 vous permet d'empêcher les autres d'utiliser votre pseudo favori sur le serveur officiel.Tips
-
+ Si votre carte graphique ne peut pas fournir d'accélération matérielle pour OpenGL, essayez d'installer les drivers associés.Tips
-
+ 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.Tips
-
+ Peur de tomber d'une falaise ? Maintenez [precise] pour tourner [left] ou [right] sans bouger.Tips
-
+ 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.Tips
-
+ 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.Tips
-
+ 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.Tips
-
+ 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.Tips
-
+ 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.Tips
-
+ 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.Tips
-
+ Le Marteau est plus efficace utilisé sur des ponts ou des poutrelles. Les hérissons touchés vont passer à travers le sol.Tips
-
+ 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.Tips
-
+ La distance maximale que le Gâteau peux parcourir dépend du terrain qu'il doit franchir. Utiliser [attack] pour le faire exploser avant.Tips
-
+ Le Lance-flammes est une arme mais peut aussi être utilisé pour creuser un tunnel.Tips
-
+ Utilisez la grenade infernale pour empêcher temporairement des hérissons de traverser du terrain comme un tunnel ou une plate-forme.Tips
-
+ Vous voulez savoir qui est derrière le jeu ? Cliquez sur le logo Hedgewars dans le menu principal pour voir les crédits.Tips
-
+ 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.Tips
-
+ Vous voulez vraiment un chapeau spécifique ? Faites un don et recevez un chapeau exclusif de votre choix.Tips
-
+ Conservez les pilotes de votre carte graphique à jour pour éviter les problèmes en jouant.Tips
-
+ 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 !Tips
-
+ 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.Tips
-
+ Vous aimez Hedgewars ? Devenez un fan sur %1 ou suivez-nous sur %2 !Tips
-
+ 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.Tips
-
+ 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 !Tips
-
+ 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 !
@@ -748,35 +751,35 @@
-
+ Supprimer une équipe
-
+ Vous ne pouvez pas modifier d'équipe depuis la sélection d'équipes. Retournez au manu principal pour ajouter, modifier ou supprimer des équipes.
-
+ Nouveaux paramètres
-
+ Modifier paramètres
-
+ Supprimer paramètres
-
+ Nouvel ensemble d'armes
-
+ Modifier un ensemble d'armes
-
+ Supprimer un ensemble d'armes
@@ -896,36 +899,36 @@
-
+ Labyrinthe aléatoire
-
+ État :
-
+ Règles :
-
+ Armes :
-
+ Recherche :
-
+ Effacer
-
+ Attention
-
+ Vous voulez rejoindre une partie qui a déjà commencée. Voulez-vous tout de même rejoindre la salle ?
@@ -992,59 +995,59 @@
-
+ Ordre de jeu aléatoire plutôt que par ordre dans la salle.
-
+ Jouez avec un Roi. S'il meurs, votre côté perds.
-
+ Placez vos hérissons chacun à votre tour avant de commencer à jouer.
-
+ Les munitions sont partagées parmi les équipes de même couleur.
-
+ Désactiver les poutres en générant des cartes aléatoires.
-
+ Désactiver les objets de terrain en générant des cartes aléatoires.
-
+ L'IA ressuscite à chaque mort.
-
+ Tous les hérissons (vivants) sont soignés complètement à la fin du tour.
-
+ Attaquer ne termine pas votre tour.
-
+ Les armes sont réinitialisées aux valeurs de départ à la fin de chaque tour.
-
+ Chaque hérisson a ses propres munitions. Il ne les partage pas avec son équipe.
-
+ Vous n'aurez plus jamais à vous soucier du vent.
-
+ Le vent affectera quasiment tout.
-
+ Copier
@@ -1059,11 +1062,11 @@
- Nouveau
+ Nouveau
-
+ Copier
@@ -1090,7 +1093,7 @@
-
+ Mode Campagne (...). EN DÉVELOPPEMENT
@@ -1121,23 +1124,23 @@
-
+ Suivre
-
+ Ignorer
-
+ Ajouter un ami
-
+ Ne plus ignorer
-
+ Retirer un ami
@@ -1180,19 +1183,19 @@
-
+ Montrer le menu d'aide des munitions.
-
+ Activer les sons du menu principal
-
+ Activer la musique du menu principal
-
+ Effets du menu principal
@@ -1211,19 +1214,19 @@
-
+ Réglage du système
-
+ Labyrinthe généré
-
+ Mission
-
+ Communauté
@@ -1235,7 +1238,7 @@
-
+ En cours
@@ -1243,7 +1246,7 @@
-
+ Carte dessinée
@@ -1278,7 +1281,7 @@
- Armes
+ Armes
@@ -1290,15 +1293,15 @@
-
+ Réglages de l'équipe
-
+ Divers
-
+ Paramètres et Armes
@@ -1405,11 +1408,11 @@
-
+ % de Mines défectueuses
-
+ Nom
@@ -1417,59 +1420,59 @@
-
+ Tombe
-
+ Drapeau
-
+ Voix
-
+ Langue
-
+ Relancez le jeu pour appliquer
-
+ Explosifs
-
+ Conseil :
-
+ 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.
-
+ Qualité
-
+ % Caisses de Santé
-
+ Santé dans les Caisses
-
+ Montée de l'eau à la Mort Subite
-
+ Perte de Santé à la Mort Subite
-
+ % longueur de la Corde Ninja
@@ -1530,39 +1533,39 @@
-
+ Impossible d'enregistrer sur le set d'armes par défaut.
-
+ Toutes les associations d'extensions de fichiers ont été effectuées.
-
+ Les associations d'extensions de fichiers ont échoué.
- Équipes
+ Équipes
-
+ Voulez-vous vraiment effacer cette équipe ?
-
+ Paramètres de jeu
-
+ Impossible d'effacer les paramètres de jeu par défaut.
-
+ Voulez-vous vraiment effacer ces paramètres de jeu ?
-
+ Impossible d'effacer le set d'armes par défaut.
@@ -1652,15 +1655,15 @@
-
+ Équipes aléatoires
-
+ Associer les extensions de fichiers
-
+ plus
@@ -1706,19 +1709,19 @@
-
+ Munitions dans les caisses
-
+ Délais
-
+ Nouveau
-
+ Copie de
@@ -1780,59 +1783,59 @@
- Ajouter des Mines
+ Ajouter des Mines
-
+ Ordre aléatoire
-
+ Roi
-
+ Placer les hérissons
-
+ Les Clans partagent les munitions
-
+ Désactiver les poutres
-
+ Désactiver les objets de terrain
-
+ Mode de survie de l'IA
-
+ Réinitialiser la Santé
-
+ Attaques illimitées
-
+ Réinitialiser les Armes
-
+ Munitions par hérisson
-
+ Désactiver le vent
-
+ Davantage de vent
@@ -2103,7 +2106,7 @@
- Bouton directionnel
+ Chapeau
@@ -2403,7 +2406,7 @@
-
+ Effacer
diff -r 5047d270e7d3 -r 71fb9189d91c share/hedgewars/Data/Maps/CTF_Blizzard/map.lua
--- 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
diff -r 5047d270e7d3 -r 71fb9189d91c share/hedgewars/Data/misc/hedgewars-mimeinfo.xml
--- 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 @@
-->
Hedgewars DemoHedgewars Demo
- Hedgewars Démonstration
+ Demo de Hedgewars
+ Démonstration d'Hedgewars
+ Demo di Hedgewars
+ 헤즈와스 데모Demo gry Hedgewars
+ Hedgewars DemoDemo hry HedgewarsDemo för Hedgewars
- Demo de Hedgewars
- Demo di Hedgewars
- Hedgewars Demo
- 헤즈와스 데모
@@ -27,13 +27,14 @@
Hedgewars SaveHedgewars gespeichertes Spiel
+ Partida guardada de Hedgewars
+ Parties enregistrées d'Hedgewars
+ 헤즈와스 저장된 게임
+ Partita salvata di HedgewarsZapis gry Hedgewars
+ Partida guardada de HedgewarsUložená hra HedgewarsSparfil för Hedgewars
- Partida guardada de Hedgewars
- Partita salvata di Hedgewars
- Partida guardada de Hedgewars
- 헤즈와스 저장된 게임
diff -r 5047d270e7d3 -r 71fb9189d91c share/hedgewars/Data/misc/hwengine.desktop.in
--- 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