Editeur de missions

De Wiki - Fallen Galaxy
Aller à : Navigation, rechercher

L'éditeur de mission pour FG est accessible à cette adresse : http://ragnarok.fallengalaxy.com/editor

Les missions peuvent être testées sur Ragnarok avec des droits spécifiques. Contactez JayJay pour demander les droits.

Prise en main

Barre d'outils

  • Sauvegarder, qui permet d'enregistrer la mission sur le serveur sous le nom de votre choix. Lorsque vous vous lancez dans la création d'une mission, commencez par l'enregistrer pour ne pas perdre votre travail !
  • Charger, qui permet de récupérer une mission enregistrée sur le serveur. Pour chaque mission enregistrée, vous avez : "Nom mission" et "Nom mission~autosave", l'éditeur faisant une sauvegarde automatique toutes les 20 secondes.
  • Exporter, qui permet de générer le code XML de la mission, utile pour la partager. (note : petit bug sous chrome, on ne peut pas sélectionner le texte)
  • Importer, qui permet de charger une mission à partir du code XML.
  • Valider, qui vérifie que votre mission ne comporte pas d'erreurs (il ne doit plus y avoir d'éléments en rouge).
  • Tester, qui charge la mission sur le serveur pour pouvoir la tester.

Barre d'onglets

  • Général : informations sur la mission
  • Secteurs : secteurs dans lesquels se déroulera la mission
  • Etapes : liste des objectifs que devra accomplir le joueur
  • PNJ : liste les PNJs qui sont créés dans le cadre de la mission.
  • Dialogue : les dialogues des PNJs de la mission.
  • Déclencheurs : les évènements qui font progresser la mission
  • Variables : les variables stockent des valeurs pour sauvegarder la progression de la mission

Onglet général

Indiquez le nom de la mission (affiché dans la fenêtre mission) et la description (affichée dans les offres de missions).

Onglet secteurs

Selon la faction, le niveau du joueur, les secteurs ou il est installé, il est vraisemblable que la mission ne se déroule pas dans les mêmes secteurs. Pour ces raisons, vous n'indiquez pas directement les secteurs dans lesquels vont se dérouler la mission, mais les critères que doivent remplir les secteurs pour que la mission se déroule dedans. Lorsque la mission sera lancée, le jeu déterminera tous les secteurs qui respectent les critères que vous avez donné, et choisira aléatoirement dans ces secteurs. Attention, la mission plantera s'il n'existe aucun secteur respectant vos critères.

  • Ajoutez un secteur en cliquant sur le bouton secteur. Chaque secteur comporte un identifiant (ID). L'ID sert par exemple à indiquer lorsque vous souhaitez créer une flotte dans quel secteur la créer.

Indiquez ensuite les critères que doit respecter le secteur pour être sélectionné :

  • Contient des structures : vous permet d'indiquer que le secteur doit contenir des constructions appartenant aux participants à la mission. Vous pouvez indiquer le type de construction, ainsi que les participants qui doivent posséder des constructions.
  • Propriété du secteur : vous permet d'indiquer que le secteur doit respecter une certaine propriété : secteur protégé oui/non, limite de puissance, nom du secteur. Note : il est fortement déconseillé d'utiliser le nom du secteur comme critère, car si le nom du secteur change, la mission sera cassée.
  • Distance par rapport à un autre secteur : vous permet d'indiquer un éloignement du secteur par rapport à un autre secteur, l'éloignement étant la durée totale des sauts hyperspatiaux. Cela vous permet d'indiquer par ex que le secteur doit se trouver entre 2h et 5h de sauts HE d'un autre secteur. Vous pouvez indiquer que la durée doit être calculée aller-retour (le temps pour entrer dans un secteur ennemi n'est pas le même que pour en sortir), et si le trajet peut passer par des secteurs ennemis ou non (ce qui complique généralement la mission).

Onglet étapes

Les étapes correspondent à la progression du(des) joueur(s) dans la mission, par exemple : "Trouvez Odin", "Détruisez Loki", etc.. Les étapes sont numérotées, la première étape étant l'étape 0, jusqu'au numéro de votre choix. A chaque étape correspond un texte, qui sera affiché dans la ligne "Objectifs" de la fenêtre mission. Le numéro de l'étape correspond également à la progression. Ainsi si vous avez des étapes de 0 à 10, lorsque vous en êtes à l'étape 4, la fenêtre mission affichera une progression de 40%. Ajoutez la liste des étapes que devra remplir le joueur. Les étapes peuvent ensuite être utilisées dans les conditions (Tester étape) et les actions (Passer à l'étape).

Onglet PNJs

  • PNJ : permet d'ajouter un PNJ à la mission. Notez que lorsque vous ajoutez un PNJ, vous ajouter en fait un joueur IA qui sera généré à la création de la mission. Dans les options des PNJs, vous trouvez son nom affiché dans le jeu, sa faction (soit fixe, soit celle du joueur qui accepte la mission), son avatar (optionnel, c'est la petite image qui est affichée dans les dialogues), et son identifiant (il n'est pas nécessaire de modifier l'identifiant).
  • Recherche / Ensemble de recherche : Par défaut, lorsqu'un PNJ est créé, il ne dispose d'aucune recherche. Donc s'il combat, ses vaisseaux n'auront aucune capacités car elles ne seront pas débloquées. Si le PNJ ne combat pas, il est à priori inutile de lui donner des recherches. La façon la plus simple d'ajouter des recherches à un PNJ est de sélectionner "Ensemble de recherche" (sélectionnez le PNJ avant). En ajoutant ce paramètre, le PNJ disposera de toutes les technologies d'un niveau inférieur ou égal au niveau de votre choix. Le niveau correspond à la colonne dans FG : Générateur d'impulsion, Guérilla spatiale... = niv 0, Laser à impulsions = niv 1, etc. En mettant niveau 2 par exemple, le PNJ aura toutes les technologies des trois premières colonnes. Le bouton Recherche permet également d'ajouter une technologie spécifique au PNJ.

Onglet Dialogues

PNJ : ce bouton vous permet d'ajouter des dialogues pour un PNJ créé dans l'onglet PNJ. Dans les options, sélectionnez le PNJ concerné par les dialogues.

  • Dialogue : ajoute un dialogue à un PNJ (sélectionnez "Dialogue du PNJ xxx" avant). Un dialogue se compose d'un texte, et de plusieurs options de réponses.
  • Réponse : ajoute une option de réponse à un dialogue (sélectionez un dialogue avant).

Cochez la case "Invisible quand indisponible" si vous souhaitez que la réponse ne soit pas affiché quand le joueur n'y pas accès (par défaut, elle est grisée mais visible).

  • Redirection : les redirections s'ajoutent à des réponses. Elles permettent d'indiquer quel est le dialogue suivant lorsque le joueur sélectionne la réponse. Sélectionnez "Fin du dialogue" pour arrêter la conversation quand le joueur choisit la réponse. Vous pouvez remarquer que les redirections comportent 2 paramètres, "Conditions" et "Actions", qui sont expliqués plus bas. Vous pouvez mettre plusieurs redirections sur une même réponse ; la première redirection dont les conditions sont remplies sera appliquée (cela permet par exemple, selon que le PNJ soit en colère ou non, de rediriger le joueur vers un dialogue ou un autre pour un même réponse)

Sélection du dialogue initial : Lorsque le joueur parle pour la première fois au PNJ, il faut déterminer quel dialogue sera affiché. Cela fonctionne avec les redirections : la première redirection dont toutes les conditions sont remplies redirigera vers le premier dialogue affiché au joueur. Vous pouvez par exemple afficher un dialogue différent selon l'heure du jour. Important ! Lorsque le joueur parle à un PNJ, sa progression dans la conversion est sauvegardée. Ainsi, s'il se déconnecte en plein milieu d'une conversation, la prochaine fois que le joueur parlera au PNJ, la conversation reprendra à l'endroit où elle s'est arrêtée. Sauf dans un cas : lorsqu'une redirection est la fin de dialogue, l'état de la conversation est effacé.

Les conditions sont des critères que doit remplir le joueur pour pouvoir sélectionner la réponse. Par défaut, il n'y a pas de condition, donc la réponse est accessible. Si vous mettez plusieurs redirections sur une même réponse, le jeu va examiner les conditions de la 1e redirection. Si elles sont toutes remplies, le jeu appliquera la redirection. Si au moins une condition n'est pas remplie, le jeu examine la redirection suivante. Si les conditions d'aucune redirection ne sont remplies, la réponse est grisée (ou invisible si vous avez coché la case). Exemples de condition : disposer d'au moins 1000 crédits, etc.

Les actions sont des traitements qui sont appliqués lorsque la redirection s'effectue. Les actions sont bien sur appliquées uniquement si toutes les conditions de la redirection sont remplies. Exemples d'action : prélever 1000 crédits du joueur, etc.

Onglet Déclencheurs

Les déclencheurs sont des évènements qui se produisent en jeu et qui ont un impact sur la mission. Par exemple, le déclencheur "flotte perdue" se déclenchera lorsqu'un joueur perd une flotte en combat ou lorsqu'un joueur auto-détruit l'une de ses flottes. Attention, les déclencheurs ne se déclenchent que si l'évènement concerne l'un des participants ou l'un des PNJs de la mission. Un joueur qui perd une flotte et qui n'est pas inscrit à la mission ne déclenchera pas le déclencheur "Flotte perdue" (et heureusement, sinon les déclencheurs s'activeraient à la moindre action !). Pour chaque déclencheur, vous pouvez définir des conditions et des actions. Comme pour les dialogues, les actions ne se déclenchent que si toutes les conditions sont validées.

Onglet Variables

Si vous n'êtes pas familier avec la programmation, une variable sert à sauvegarder une valeur. Une valeur peut être aussi bien un nombre que du texte, ou un indicateur vrai / faux. Cela vous permet par exemple de conserver le nombre de vaisseaux livrés (nombre), de déterminer si le joueur a bien livré un colis (vrai/faux), etc.

Ajoutez une variable : Le nom vous permet d'identifier la variable, afin de l'utiliser dans des conditions ou des actions (une condition peut être : si la variable "nombre de vaisseaux livrés" est supérieure à 1000). Le type de données définit les valeurs que peut recevoir la variable. Attention, si vous essayez de mettre une valeur qui n'est pas compatible avec le type de données de la variable (par exemple, mettre "toto" dans un nombre), la mission sera plantée ! La portée de la variable est une notion importante. Avec la portée "mission", la valeur de la variable sera la même pour tous les participants à la mission. Avec la portée "chaque participant", la valeur de la variable sera propre à chaque participant. Un petit exemple pour comprendre : si vous souhaitez par exemple stocker le nombre de vaisseaux livrés total de la mission tout participants confondus, choisissez la portée "mission". Si vous souhaitez en revanche stocker le nombre de vaisseaux livrés par chaque participant, choisissez la portée "chaque participant" ; ainsi, si vous ajoutez par exemple une condition dans un dialogue "la variable "nombre de vaisseaux livrés" est supérieure à 1000", cela prendra la valeur du participant concerné. Enfin, la valeur initiale est la valeur que prend la variable lorsque la mission est lancée.

Référence

Liste des conditions

  • Tester valeur variable : permet de tester que la valeur d'une variable vaut une certaine valeur. Choisissez la variable (créée dans l'onglet Variables) à tester, l'opérateur, et la valeur de comparaison. Dans la valeur de comparaison, vous pouvez utiliser des variables et des formules (var + 1, cos(var), var1 * var2, etc...). La liste des formules est décrite plus bas.
  • Tester valeur étape : permet de tester que la mission est arrivée à une certaine étape. Cela est très utile dans la sélection du dialogue initial d'un PNJ : suivant l'avancement de la mission, vous pouvez ainsi proposer des dialogues différents.
  • Tester propriété flotte : permet d'indiquer que la flotte doit respecter une certaine propriété : position (x, y), puissance, flotte invulnérable. Vous pouvez vous servir des variables et des formules dans la valeur de comparaison.
  • Tester propriétaire flotte : permet de vérifier que la flotte appartient à un certain joueur : soit un PNJ, soit un participant à la mission.

Liste des actions

  • Actions conditionnées : permet de définir une liste d'actions qui ne seront exécutées que sous certaines conditions. Ceci est utile par exemple si vous avez un compteur de flottes détruites, et que vous voulez faire une action particulière arrivé à un certain seuil.
  • Affecter valeur variable : permet de donner une valeur à une variable. La valeur peut contenir des formules et des variables. Vous pouvez par exemple augmenter la valeur de la variable var de 1 en sélectionnant la variable var et comme valeur var + 1.
  • Créer flotte PNJ : crée une flotte appartenant à un PNJ défini dans l'onglet PNJ dans un secteur défini dans l'onglet Secteurs. L'interaction correspond à l'action qui sera déclenchée lorsqu'un joueur déplace une flotte sur la flotte PNJ : pas d'interaction déclenche le comportement par défaut (combat si le PNJ est d'une autre faction que le joueur...), dialogue déclenche l'ouverture d'une fenêtre de discussion (vous devez alors avoir défini des dialogues pour ce PNJ dans l'onglet dialogue) - deux indicateur sont possibles : un ! ou ? (le ? apparaît sur la carte de la galaxie). Vous pouvez définir la position dans le secteur de la flotte, ainsi que les vaisseaux qui composent la flotte.
  • Donner crédits joueur : comme son nom l'indique. Note : pour le moment, il n'est pas possible d'utiliser les unités k, m, ni de mettre des formules ou des variables dans la quantité.
  • Donner ressources (flotte) : ajoute des ressources dans la flotte qui discute avec le PNJ. Note : Une condition implicite est ajoutée par le jeu : avoir de la place et des cargos pour pouvoir recevoir les ressources.
  • Donner XP : comme son nom l'indique.
  • Donner pts recherche : comme son nom l'indique. Si le joueur n'a pas de recherche définie, les points de recherche sont perdues.
  • Passer à l'étape : modifie l'étape dans laquelle la mission se trouve. Vous pouvez revenir à une étape précédente si vous le souhaitez.
  • Modifier réputation : chaque joueur a un score de réputation. Ce score peut servir à proposer différentes options de dialogue selon que le joueur joue plutôt gentil ou méchant. Le score n'est pas affiché, le joueur ne le connait donc pas.
  • Prélever crédits joueur : comme son nom l'indique. Note : pour le moment, il n'est pas possible d'utiliser les unités k, m, ni de mettre des formules ou des variables dans la quantité. Important : lorsque vous ajoutez cette action, le jeu ajoute implicitement une condition qui est de vérifier que le joueur dispose de suffisamment de crédits. Ainsi, si vous ajoutez une action Prélever 1000 crédits dans une réponse et que le joueur ne dispose pas de cette somme, la réponse sera grisée.
  • Prélever ressources flottes : comme son nom l'indique. La flotte doit disposer des ressources pour que la réponse soit disponible.
  • Terminer mission : comme son nom l'indique. Tout ce qui a été créé dans le cadre de la mission est supprimé. Si la mission est une réussite, le joueur reçoit la récompense.

Annexes

Liste des formules

(en anglais)

Note : la valeur "faux" vaut 0, la valeur "vrai" vaut différent de 0

  • PI : 3,1416...
  • NOW : renvoie la date actuelle en secondes (timestamp unix). Vous pouvez par exemple créer une variable "dateLivraison" de type date. Faites ensuiteAffecter valeur variable avec "dateLivraison" et comme valeur "NOW". Par la suite, vous pourrez déterminer si 2h se sont écoulées en faisant Tester valeur variable avec "dateLivraison" inférieur ou égal à la valeur "NOW - 2h"
  • SQR: Square function which can be used as SQR(X)
  • SIN: Sinus function which can be used as SIN(X), X is a real-type expression. Sin returns the sine of the angle X in radians.
  • COS: Cosinus function which can be used as COS(X), X is a real-type expression. COS returns the cosine of the angle X in radians.
  • ATAN: ArcTangent function which can be used as ATAN(X)
  • SINH: Sinus Hyperbolic function which can be used as SINH(X)
  • COSH: Cosinus Hyperbolic function which can be used as COSH(X)
  • COTAN: which can be used as COTAN(X)
  • TAN: which can be used as TAN(X)
  • EXP: which can be used as EXP(X)
  • LN: natural log, which can be used as LN(X)
  • LOG: 10 based log, which can be used as LOG(X)
  • SQRT: which can be used as SQRT(X)
  • ABS: absolute value, which can be used as ABS(X)
  • SIGN: SIGN(X) returns -1 if X<0; +1 if X>0, 0 if X=0; it can be used as SQR(X)
  • TRUNC: Discards the fractional part of a number. e.g. TRUNC(-3.2) is -3, TRUNC(3.2) is 3.
  • CEIL: CEIL(-3.2) = 3, CEIL(3.2) = 4
  • FLOOR: FLOOR(-3.2) = -4, FLOOR(3.2) = 3
  • RND(X) generates a random INTEGER number such that 0 <= Result < int(X).
  • RANDOM(X) generates a random floating point number such that 0 <= Result < X.
  • INTPOW: The INTPOW function raises Base to an integral power. INTPOW(2, 3) = 8. Note that result of INTPOW(2, 3.4) = 8 as well.
  • POW: The Power function raises Base to any power. For fractional exponents or exponents greater than MaxInt, Base must be greater than 0.
  • LOGN: The LogN function returns the log base N of X. Example: LOGN(10, 100) = 2
  • MIN: MIN(2, 3) is 2.
  • MAX: MAX(2, 3) is 3.
  • MOD: MOD(x,y) function implements the Java % (modulus) operator.
  • IF: The IF(b, case1, case2) function provides branching capability. If b is not 0, then it returns case1, else it returns case2. Behavior is similar to Java's: return b ? case1 : case2;

If b==0 then case1 will not be evaluated, and vice versa. Example: IF(HEIGHT, 3/HEIGHT, 3) will make sure 3/HEIGHT does not cause division by zero.

Mots-clés utilisables dans les dialogues

Dans les dialogues, vous pouvez utiliser des "mots-clés" qui seront remplacées à l'affichage. Les mots-clés commencent et se terminent par le caractère %. Voici la liste des mots-clés :

  •  %player% : remplacé par le nom du joueur. Exemple : "Comment ça va, %player% ?"
  •  %randomName% : remplacé par un nom aléatoire (prénom nom)
  •  %randomMaleName% : remplacé par un nom masculin aléatoire (prénom nom)
  •  %randomFemaleName% : remplacé par un nom féminin aléatoire (prénom nom)
  •  %credits% : remplacé par l'image des crédits
  •  %resourceXXX% : remplacé par l'image de la ressource XXX (ex : %resource0% pour le titane)
  •  %area.id secteur% : remplacé par le nom du secteur

Un peu de français... Les noms des constructions changent selon les factions. Vous pouvez utiliser la clé %structureAB% pour afficher le bon nom de construction selon la faction du joueur. Cette clé un peu complexe s'utilise ainsi :

  • A est la faction :
0 Dominat
1 ODG
2 CFR
3 RA
x = la faction du joueur
  • B est le code de la construction (noms ODG) :
0 dépôt
1 chantier spatial
2 contrôleur
3 cryostase
4 relai hyperspatial
5 centre de commandement (CdC)
6 extracteur
7 centre de recherche
8 colonie
9 balise d'observation
10 balise de détection
11 manufacture
12 charge explosive
13 balise d'alarme
Exemple :
  •  %structure10% sera remplacé par Dépôt
  •  %structure20% sera remplacé par Hangar
  •  %structure111% sera remplacé par Manufacture
  •  %structurex0% sera remplacé par Dépôt pour un joueur ODG, Hangar pour un joueur CFR, Zone de stockage pour un joueur RA


Vous pouvez utiliser la clé au pluriel en ajoutant un s : %structuresAB%

Exemple : %structures14% sera remplacé par Relais hyperspatiaux


Cette clé peut poser des problèmes dans la structure d'une phrase. Un dépôt chez l'ODG s'appelle par exemple Zone de stockage chez le RA. Si vous formulez votre phrase ainsi : Déposez vos ressources dans le %structurex0%, cela donnera :

  • Déposez vos ressources dans le Dépôt pour un joueur ODG
  • Déposez vos ressources dans le Zone de stockage pour un joueur RA

Aïe ! Pour éviter ce problème, vous pouvez préfixer la clé par :

  • a : ajoute le pronom indéfini "un", "une"
  • the : ajoute le pronom défini "le", "la", "l'"
  • ofthe : ajoute l'appartenance "du", "de la", "d'"
Exemple :
  •  %astructurex0% sera remplacé par "un Dépôt" pour un joueur ODG, "une Zone de stockage" pour un joueur RA
  •  %thestructurex0% sera remplacé par "le Dépôt" pour un joueur ODG, "la Zone de stockage" pour un joueur RA
  •  %ofthestructurex0% sera remplacé par "du Dépôt" pour un joueur ODG, "de la Zone de stockage" pour un joueur RA


Si vous avez besoin d'utiliser en début de phrase, écrivez la première lettre du préfixe en majuscule.

Exemple :
  •  %Astructurex0% sera remplacé par "Un Dépôt" pour un joueur ODG, "Une Zone de stockage" pour un joueur RA
  •  %Thestructurex0% sera remplacé par "Le Dépôt" pour un joueur ODG, "La Zone de stockage" pour un joueur RA
  • (le préfixe "ofthe" n'existe pas en début de phrase)


Les préfixes n'existent pas au pluriel ; il suffit d'utiliser "des %structuresAB%" et "les %structuresAB%" qui sont corrects quel que soit le nom de la construction.

Unités SI (k, m, min, h...)

Vous pouvez utiliser les unités suivantes lorsque l'éditeur demande une valeur (quantité de ressources, durée d'un saut, etc.) :

  • k : x1.000 (ex : 5k = 5000)
  • m : x1.000.000 (ex : 5m = 5000000)
  • g : x1.000.000.000 (ex 5g = 5000000000)
  • s : (secondes) x1 (5s = 5)
  • min : (minutes) x60 (5min = 300)
  • h : (heures) x3600
  • j : x86400 (5j = 432000)

Attention, des formules qui peuvent sembler naturelles ne sont pas justes, comme par exemple : 2h30 ou 2h30min. Il faut écrire 2h + 30min

Astuces

  • Vous pouvez créer plusieurs PNJs avec des identifiant différents mais avec le même nom. Bien que ce sera 2 joueurs IA différents, ils auront le même nom affiché en jeu, et le joueur ne pourra pas faire la distinction entre les 2. Vous pouvez faire des choses intéressantes comme mettre des recherches différentes aux 2 PNJs, et ainsi avoir des capacités différentes pour les flottes de chacun.
  • L'éditeur est flambant neuf, et il y a donc des risques qu'un bug se soit glissé dans le code. Si vous vous lancez dans une grosse mission, n'hésitez pas à la sauver régulièrement sous un nom différent pour ne pas perdre vos fichiers.
  • Vous pouvez partager vos cartes en faisant importer, et en mettant Login$Nom de la mission. Par exemple : JayJay$ThorEtOdin
  • La touche SUPPR permet de supprimer un élément. Attention à ne pas supprimer tous les dialogues d'un PNJ d'un coup, il n'y a pas de confirmation.

Historique des mises à jour

v0.1 première version
v0.11 ajout variables
v0.12 ajout de quelques conditions et actions. Amélioration ajout recherche à un PNJ.
v0.13 ajout des étapes
v0.2 ajout onglets général, secteurs et de nombreuses actions
v0.3 ajout de l'onglet déclencheurs
v0.31 ajout des unités internationales (k,m,min,h,etc.) et des clés pour les noms de construction : %structureAB%
v0.32 ajout action Créer flotte PNJ et valider / tester mission en live.
v0.33 ajout condition Tester propriété flotte, amélioration chargement des missions, messages d'erreur plus clairs.
v0.4 ajout des variables de type flotte & construction, ajout de conditions/actions imbriquées ("if"), modifier et récupérer les propriétés des flottes
v0.45 ajout des variables de type secteur ; ajout de conditions : Tester propriété secteur, Tester propriété construction ; et d'actions : Modifier propriété construction, Affecter valeur variable avec propriété secteur, Affecter valeur variable avec propriété construction ; meilleure validation des expressions ; amélioration export
v0.46 ajout action créer effet visuel ; gestion des positions en cases et en % de la taille du secteur ; gestion du drag and drop pour déplacer les éléments
v0.47 ajout actions répéter actions, attendre (met en pause l'exécution des actions suivantes), donner un ordre de déplacement à une flotte, lancer / arrêter mode cinématique, déplacer la camera, travelling caméra ; nouvelles façons de définir une position : "à proximité de" / "points cardinaux" / "aléatoire" / ajout déclencheurs de type périodiques (toutes les minutes / heures / jours) ; affichage des variables dans les dialogues ou les textes flottants avec la clé %var.nomvariable%.
v0.5 ajout variable terrain, ajout actions créer terrain (astéroide, trou noir, épave), modifier propriété terrain, affecter valeur variable avec propriété terrain ; ajout condition test propriété terrain, distance entre 2 élements
v0.55 ajout de variables propres à un déclencheur ou une redirection (plus simple et plus performant), ajout actions donner ordre attaque flotte / construction, attente, annuler ordres, détruire flotte / terrain (seuls les terrains créés dans le cadre de la mission peuvent être détruits)
v0.6 ajout fonctions, ajout commande /dumpvars
v0.64 ajout actions créer construction PNJ, détruire construction, ajout options leurre / patrouilleur / furtif lors de la création d'une flotte PNJ