Open Lpu8er opened 5 years ago
Une entité battle, N entité part (une par fleet).
Démarrage du combat : une fleet envoie le combat sur un emplacement sur lequel il détecte au moins une fleet. Affichage de la liste des fleets détectées : début du combat. Prise en compte uniquement des fleets toujours présents après détection (permet une fuite / réorganisation rapide et évite les abus)
Si au moins une fleet : création d'une entité battle, ajout de la battle part, switch des fleets en battling
Sur chaque tour :
calcul de l'initiative en fonction de l'énergie consommée (moins d'énergie = plus rapide). Tir de priorité en fonction de la situation (indice de situation, calculé au tour).
Sur chaque flotte, en ordonnancement avec l'initiative:
Indice de situation : (allié avec la fleet ? 0:1) (hostile avec la fleet ? 1.5:1) (différence de standing avec la fleet) * (indice de signature différentielle = sign ennemie / sign courante)
La flotte attaque l'indice de situation le plus élevé et supérieur à 0
Calcul de la précision du tir, calcul du % de touche, calcul des dégâts infligés, calcul des dégâts encaissés, suppression des vaisseaux neutralisés, mise à jour des statistiques de ce vaisseau Fin de l'action de la flotte
Fin du tour
Attente 1 minute flat Reprise tant qu'on a un indice de situation non-nul (donc forcément un tour "vide" sur la fin, ce qui permet à un allié de dernière minute de s'incruster dans le combat)
Fin du combat
Possibilité donc de s'ajouter dans un combat entre deux tours.
Algorithme de combat