Discord
Saint Seiya Legend of Justice
Version
🇬🇧 EN

Comprendre (un peu mieux) le moteur de combat du jeu

GuroGuro
24 juin 2026
Technique

Pendant longtemps, une grande partie des mécaniques de combat de SSLOJ reposait sur des suppositions, des tests empiriques et des ressentis de joueurs.

Grâce à certaines extractions du moteur du jeu, et au décodage de nombreuses tables internes, il est désormais possible de comprendre un peu mieux comment le jeu résout réellement un combat.

Une partie importante de ce que les joueurs considéraient comme du hasard ou des incohérences pourrait être aujourd'hui expliquée.

Les informations présentées ci-dessous proviennent directement du moteur du jeu et non d'interprétations basées sur les descriptions des compétences.

Je précise que cet article va être assez technique et ne s'adressera peut être pas à tout le monde, mais pour les autres, il va expliquer certaines particularités du déroulement des combats dans le jeu.

 

Le combat est calculé dès le départ

La première découverte majeure concerne le fonctionnement général des combats PVP.
Je précise ici PVP car les combats PVE ont un système légèrement différent mais un peu moins interessant.

SSLOJ utilise un moteur entièrement déterministe.

Au lancement du combat, une graine aléatoire unique est créée en quelques millisecondes, a partir des données du camp allié et adverse, puis utilisée pour tous les calculs :

  • critiques
  • esquives
  • dégâts variables
  • déclenchements de compétences
  • cibles aléatoires
  • etc.

Le serveur peut ainsi rejouer exactement le même combat et obtenir exactement le même résultat.

C'est également ce qui explique pourquoi le bouton "Passer" fonctionne immédiatement dans certains modes : le résultat du combat est déjà connu par la simulation et est effectué en quelques millisecondes.

Quand vous lancez un combat, vous ne faites que regarder un replay et vous n'avez aucune influence dessus.

 

Le mythe du hasard

Beaucoup de joueurs ont remarqué qu'en relançant plusieurs fois un même combat, les résultats semblent parfois différents.

En réalité, le moteur utilise toujours une variance de dégâts de ±4 %, ainsi que des tirages critiques déterministes.

Cela peut donner l'impression que :

  • un personnage survit parfois
  • une ultime part un peu plus tôt
  • un tank tient quelques secondes de plus
  • etc.

alors que le moteur suit simplement un scénario différent lié à une autre graine de départ.

Ces simples variations agissent comme un effet papillon et rendent tous les combats différents.

 

La notion du "StartOrder"

Chaque héros possède une statistique cachée appelée : StartOrder

Elle sert uniquement à déterminer l'ordre d'exécution des compétences d'ouverture (pour les personnages qui en possèdent une).

Quelques exemples de personnages ayant une compétence d'ouverture et leur paramètre startOrder :

  1. StartOrder 1 : Saga GC, Hadès
  2. StartOrder 9 : Artémis
  3. StartOrder 10 : Cardinale, Krishna, Dôko GC, Shijima, Seiya GC, Sage, Asmita, Ikki GC, Shura GC, Chagall, Eaque, Kagaho, Deathmask GC
  4. StartOrder 20 : Alone
  5. StartOrder 30 : Ikki ND, Kaiser, Écarlate, Minos
  6. StartOrder 50 : Poséidon
  7. StartOrder 80 : Milo
  8. StartOrder 82 : Moses
  9. StartOrder 83 : Seiya Sagittaire
  10. StartOrder 84 : Camus Verseau
  11. StartOrder 85 : Kanon Dragon des Mers
  12. StartOrder 90 : Ptolemy, La Scoumoune, Aldébaran, Ox, Aldébaran GC
  13. StartOrder 91 : Sirius
  14. StartOrder 1770 : Gestalt
  15. StartOrder 1785 : Astérion
  16. StartOrder 1800 : Jamian
  17. StartOrder 1890 : Hypnos

 

Au début du combat :

  1. Tous les personnages disposant d'une compétence d'ouverture, autant du camps allié que du camps adverse, sont placés dans une même file.
  2. Cette file est triée selon leur StartOrder.
  3. Les ouvertures sont ensuite exécutées dans cet ordre (sauf cas du StartOrder identique).

 

Pour cette file :

  • la Vitesse d'attaque n'intervient pas ;
  • l'Accélération n'intervient pas ;

Seul le StartOrder compte.

 

Dans le cas ou 2 personnages ont le même numéro de StartOrder, le moteur utilise alors un second critère :

l'identifiant interne de l'unité (unitID).

Cet identifiant est calculé a partir du camp et de la position du combattant.

Dans un combat standard :

  • le camp gauche est l'attaquant ;
  • le camp droit est le défenseur.

Lorsque deux héros possèdent le même StartOrder, le héros du camp gauche est traité avant celui du camp droit.

Cela donne un léger avantage à l'équipe située à gauche lors de certains duels d'ouverture.

Et quand 2 personnages dans le même camps ont le meme StartOrder, un dernier critère entre en jeu, la position du combattant.
Un combattant en position 1 avec un StartOrder 10 lancera sa compétence d'ouverture avant le combattant du même camp qui aura un StartOrder identique mais qui sera a une autre position.

Prenons un exemple :

  • Dans le camp en face le seul personnage avec une compétence d'ouverture est Artémis.
  • Dans votre équipe vous avez Ikki GC, Dhoko GC et Alone.
  • Alone est en position 1, Ikki GC en position 2 et Dhoko GC en position 5
  • Dans la file, par ordre de priorité il y aura : Artémis / Alone / Ikki GC / Dhoko GC
  • Artémis, bien que dans le camps adverse, lancera sa compétence d'ouverture en premier

 

A noter, car ça a son importance, dans les configuration Galaxian War et Galaxian War Interserveur, suivant la position où vous êtes (gauche ou droite), cela pourrait avoir un impact sur le déclenchement des compétences d'ouverture.

En revanche, une fois toutes les compétences d'ouverture lancée, le moteur de jeu reprend un fonctionnement "normal" et traite les priorités en fonction de la vitesse, accélération, contrôles, etc. pour déterminer l'ordre des actions a effectuer.

 

Mais du coup a quoi sert le timing "début" sur le skill 

On a vu que le paramètre StartOrder était prioritaire pour le lancement du skill mais ce n'est pas parce qu'une compétence est lancée, qu'elle est active.

Prenons un exemple concret :
Dans le cas où on a un personnage comme Shijima, qui a un skill d'ouverture "Tenma Kôfuku" a 1.100s, que je place en position 1 et qu'en position 2 je met Ikki God Cloth, qui a une compétence d'ouverture a 0.001s.
Qui va jouer en premier et lancer son skills d'ouverture en premier ?

Comme ils ont le même StartOrder (10), le moteur départage par un paramètre appelé unitID 
Dans une même équipe, position 1 est créée avant position 2, donc Shijima a le plus petit unitID et passe avant Ikki GC dans la file d’ouverture.

La nuance importante : Shijima lance l’action avant Ikki, mais son effet réel arrive à 1.100s (starttm=1.100). 
Ikki lancera son ouverture juste après, et comme son paramètre starttm (début) est à 0.001s, l’effet d’Aura Terrifiante peut s’appliquer avant l’effet de Tenma Kôfuku.

Et c'est en revanche a ce niveau que va jouer l'accéleration.

Une fois la compétence d'ouverture lancée, il va y avoir un très léger temps avant que l'effet de la compétence arrive et ce temps peut être raccourci avec de l'accélération, qui va aussi jouer sur le temps de fin de la compétence.

Prenons le cas de Seiya Sagittaire qui a un StartOrder a 83, donc assez haut.
Il va lancer sa compétence d'ouverture après quasiment tous les autres personnages qui ont également une compétence d'ouverture.
Mais avec de l'accélération on va pouvoir réduire le timing de 0.766s de base afin de pouvoir agir avant certains personnages qui auraient lancé leur compétence d'ouverture plus tot, mais dont l'effet n'est pas encore actif.

Exemple :
L'exemple n'est pas le meilleur mais je n'ai trouvé que celui-là.

  • Coté allié : Seiya Sagittaire / coté ennemis : Ikki Next Dimension (ça tombe bien, il vient de sortir)
  • L'effet de la compétence d'ouverture de Seiya Sagittaire débute a 0.766s
  • L'effet de la compétence d'ouverture de Ikki ND débute à 0.700s donc avant Seiya Sagittaire
  • Ikki ND a un StartOrder a 30 donc plus bas que Seiya Sagittaire : il va lancer sa compétence d'ouverture en premier
  • En ajoutant de l'accélération à Seiya Sagittaire, il est possible de combler un peu l'écart de timing de l'effet afin de passer sous les 0,7s et donc avoir un effet qui se déclenche avant celui de Ikki ND, bien que ce dernier ait lancé sa compétence d'ouverture avant.

La vitesse en revanche ne joue pas a ce moment là.

 

Le cas Asmita et Aldébaran GC

Lors des tests sur la version Chinoise, on s'est aperçu  qu'en mettant Asmita devant Seiya GC, ce dernier n'empêchait pas le changement de position des personnages (compétence d'ouverture d'Asmita), alors que dans le cas d'Aldébaran GC, si Seiya Gc est devant lui, il empeche le changement de position.
On en a déduit naïvement que Seiya GC ne pouvait pas bloquer la compétence d'ouverture d'Asmita.

Avec ce qu'on a évoqué au dessus vous devriez commencer à comprendre.

Asmita et Seiya GC ont le même StartOrder 10, mais Asmita, quand il est dans le camps des attaquants,  passe en priorité par rapport a Seiya GC
Donc il fait sa compétence d'ouverture avant lui, et donc le changement de position des personnages.

En revanche, lorsque Asmita est dans le camps adverse, en mettant Seiya Gc en face de lui, il sera prioritaire sur le déclenchement de sa compétence d'ouverture et fera son duel sur Asmita, empechant ce dernier de modifier l'ordre des combattant.

C'est cette configuration que l'on n'avait pas testé et qui a propulsé Asmita au rang de perso cheaté. (Il reste très fort cependant)

Et Aldébaran GC dans tout ça ?
Vu qu'il a un StartOrder a 90, il jouera dans tous les cas APRES seiya GC, quelque soit le camp ou sa position.

Cela n'a pas été testé mais Asmita ayant un timing de 0.01s sur l'effet de sa compétence d'ouverture, contrairement a Seiya GC qui est à 0, en donnant beaucoup d'accélération à Seiya GC, on pourrait supposer qu'il puisse bloquer le changement de position.
N'ayant pas pu tester, cela restera une simple hypothèse pour le moment.

Le cas Hadès

Comme vous avez pu le voir dans le tableau plus haut, Hades a un StartOrder a 1. Il agit donc quasiment avant tout le monde.

Oui mais alors pourquoi quand on met Seiya GC sur lui, quand on attaque, Hadès ne fait pas sa compétence d'ouverture ? La marque sous Hadès n'apparait pas.

C'est là qu'intervient une autre notion : les combattants "clones"

Dans la base de données, la plupart des combattants ont une seconde version avec un ID différent.
En général avec exactement les mêmes données et donc le même startOrder.
Et quand vous lancer un combat contre un adverse qui a Hades, vous jouez contre le "clone".

En gros le clone c'est une version identique avec un ID différent qui servirait pour indiquer que c'est l'adversaire.
Je pense, simple hypothèse, pour ne pas avoir le même ID lors des combats avec 2 combattant identiques, et éviter certaines erreurs. Hypothèse bancale mais je n'ai pas mieux.

Donc ce clone d'Hadès, dans la base de donné, n'a malheureusement pas un StartOrder a 1 mais a 10.
Et donc avec tout ce qu'on a vu au dessus, votre SeiyaGC fera sa compétence d'ouverture avant le Hadès en face.

A noter que c'est peut être un énième bug, étant donné que sur la version Chinoise, les 2 Hadès ont le même numéro de StartOrder à 1.
Et donc Seiya GC, dans les 2 cas ne peut pas contrer la compétence d'ouverture d'Hadès sur cette version.
C'est le seul cas recensé dans le jeu à ma connaissance.

 

Le cas exceptionnel

Oui car il en fallait bien un.

Il semble que dans le cas où Artémis est présente avec Hadès chez l'adversaire, Seiya Gc ne bloque pas la compétence d'ouverture d'Hadès

Les tests effectués montrent effectivement que le Hadès adverse lance sa compétence d'ouverture, même si en face de lui il y a Seiya God Cloth.

L'explication trouvée, même si elle ne plaira pas a tout le monde car il s'agit d'une hypothèse :

Le Domaine Lunaire d’Artémis ne change pas le startOrder. 
Par contre, comme Artémis a StartOrder = 9, elle pose son Domaine Lunaire avant les ouvertures à 10 (comme pour Seiya GC).
Et son Domaine Lunaire applique aux ennemis un vrai debuff moteur lié à l’Accélération/Décélération, pas juste un texte cosmétique.

Donc si Artémis est avec Hadès, le Domaine touche SeiyaGC, mais pas Hadès.

Le moteur utilise cette stat pour scaler les skills non normaux, y compris les skills d’ouverture.
Donc le Domaine peut modifier le timing interne d’une compétence d'ouverture : starttm, durée d’action, fin du skill, etc.

Point important, avec les modifications apportées le 24 juin 2026, le timing de la compétence d'ouverture d'Hadès a été revu et il est fort possible que maintenant, même avec Artémis dans la team adverse, Seiya GC puisse contrer la compétence d'ouverture d'Hadès.

 

Autres choses a connaître a propos du moteur du jeu

Quelques trucs en vrac pour finir, même si on est loin d'avoir fait le tour ou de découvrir d'autres choses.

 

La défense est limitée à 75 %

La formule réelle des dégâts montre que la Défense possède un plafond naturel.

Peu importe la quantité de Défense accumulée :

un personnage ne pourra jamais réduire un coup de plus de 75 % uniquement grâce à cette statistique.

Au-delà de ce seuil : les rendements deviennent extrêmement faibles.

 

Les critiques sont très puissants

Le multiplicateur critique n'est pas fixe.

Il varie entre : x2 et x5.

Selon :

  • les dégâts critiques ;
  • la résistance aux dégâts critiques ;
  • divers modificateurs.

Cela explique pourquoi certains personnages spécialisés dans le critique peuvent parfois infliger des dégâts très importants.

 

Conclusion

La découverte du StartOrder change maintenant un peu la lecture de certains combats.

Deux équipes identiques peuvent donc produire des résultats différents simplement parce qu'un personnage avec une compétence d'ouverture agit quelques millisecondes avant l'autre, ou qu'il est dans le camp allié ou adverse.

Le moteur de combat de SSLOJ est finalement beaucoup moins mystérieux qu'il n'y paraît.
Il est simplement rempli de règles cachées que le jeu n'affiche jamais.

En rédigeant cet article je me suis posé une autre question : Quid des effets (terrains, espace, Environnement) ?
Quand on a 2 personnages identiques, sachant qu'un effet peut en remplacer un autre, que se passe t'il ? Qui joue en premier ? Qui annule quoi ?


Je vais faire du teasing mais j'ai certaines réponses très intéressantes et ce sera le sujet d'un article très prochainement. 😊