Lpu8er / voidfield

2 stars 0 forks source link

Attaque flottes #4

Open Lpu8er opened 5 years ago

Lpu8er commented 5 years ago

Algorithme de combat

Lpu8er commented 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.