Simulateur de gain d'XP

1 · Barème

Charger :

Coefficients — tl_bareme_xp

Les facteurs sont en pourcentage, comme au back office : 100 = neutre.

Gains de base — tl_bareme_xp_action

SourceActeurCibleFacteurs

Facteurs décochés : montants finaux, sans écart de niveau ni coefficient. La mort de la cible coûte toujours la perte à la mort. Le tour n'a pas de facteurs : seul le bonus de plan adverse s'y ajoute.

2 · Scénario

Action

Acteur

Cible

3 · Résultat

Comparer à :
XP / PI de l'acteur
0
XP / PI de la cible
0
Pièces transférées
0

Calcul de l'acteur

    Calcul de la cible

      4 · Écart de niveau

      Même scénario, en faisant varier les deux niveaux. Chaque case : acteur / cible.

      plancher gain_minimum appliquéscénario courant

      5 · Points d'action maximum

      Même scénario, en faisant varier les points d'action maximum actuels de l'acteur, à naissance inchangée : ce que rapporte chaque point d'action acheté. Un plein par cycle pour tout le monde : « par cycle » suppose toutes les actions dépensées ainsi.

      Ce que le code fait vraiment

      • Le serveur temps réel lit le barème à son démarrage. Experience\Bareme garde les tables en mémoire pour toute la vie du processus : après une modification en back office, redémarrer le conteneur websocket, sans quoi les actions jouées depuis la carte restent sur l'ancien barème.
      • La naissance est compensée, pas les achats. Acteur = base × (PA max + points_action_reference − PA de naissance) ÷ PA max. Un Humain né à 1 PA gagne ×2 par coup, ×1,5 une fois son 2e PA acheté : il gagne alors par tour ce que gagne un Ange à 3 PA, qui a payé le même prix. Un Archange né à 4 PA gagne ×½. Le compte ne descend jamais sous 1 coup ; à 0 PA max, le facteur retombe à 1.
      • Le plancher relève les gains négatifs. Frapper beaucoup plus faible que soi donne une valeur négative, que gain_minimum remonte à 1 : l'écart de niveau ne peut jamais annuler un gain tant que le plancher vaut 1 ou plus.
      • La cible profite de l'écart sans facteur. Cible = (base cible + écart) : un personnage de niveau 1 frappé par un niveau 13 gagne base + 12, amorti seulement s'il n'a pas esquivé. Ni naissance, ni puissance, ni camp, ni plan ne s'appliquent à la cible.
      • La race de la cible fixe sa valeur. Sur une attaque, le gain de l'attaquant est multiplié par la cote de la race de la cible (tl_race.puissance_xp, en %) : 50 pour une race mineure, qui rapporte moitié moins à quiconque la frappe, 100 pour une race majeure, 200 pour une grande figure. La race de l'attaquant n'y entre pas. Ni le soin, ni le gain de la cible, ni la perte de mort n'en dépendent.
      • Mourir coûte toujours : −(perte_mort + perte_mort_par_niveau × niveau de la victime), quel que soit le niveau du tueur, facteurs cochés ou non. perte_mort vaut au moins 1.
      • Le tour vaut un montant fixe, plus bonus_tour_plan_adverse pour tout personnage présent sur le plan d'origine d'un autre camp, qu'il ait agi ou non. C'est la même règle que le compteur de séjour en plan adverse. Un tour réglé à 0 ne touche pas le bonus.
      • Se déplacer et répartir ses dés ne rapportent jamais d'XP. Seules attack, soigner, sprinter et tour sont des sources de gain.
      • Une cible inerte court-circuite tout, y compris une source réglée à 0 : l'acteur reçoit gain_objet (+ gain_objet_destruction si elle est détruite), quelle que soit l'action.
      • Le soin inverse le facteur de camp : c'est soigner un adversaire qui est amorti. Deux personnages sans camp ne sont jamais alliés — un auto-soin sans camp est donc amorti.