Elle favorise généralement l'attaquant, à quelques exceptions près
Ce résultat n'est pas très surprenant : le résultat moyen de 1d20 + bonus est littéralement égal à 10,5 + bonus, soit 0,5 point de plus que 10 + bonus, ce qui se traduit par une amélioration de 2,5 points des chances globales (en supposant que les bonus sont égaux).
Pour vérifier, j'ai écrit un programme rapide pour calculer les chances d'un attaquant de battre un défenseur, lorsqu'ils ont tous les deux le même bonus, en utilisant les chances actives (les deux lancent un d20) et les chances passives (l'attaquant lance un d20, le défenseur prend 10). Comme prévu, les probabilités pour les dés lancés activement sont inférieures d'environ 2,5 % pour l'attaquant par rapport aux dés lancés passivement :
//You'd naturally expect all the odds to be better than 50%, since the attacker wins ties
//Equal Bonuses:
Active Results: 5250737 out of 10000000 (52.507369999999995%)
Passive Results: 5498955 out of 10000000 (54.98955%)
//Repeated the trial several times to show accuracy: results are all within 0.04% of each other
Active Results: 5248819 out of 10000000 (52.48819%)
Passive Results: 5498203 out of 10000000 (54.98203%)
Active Results: 5249101 out of 10000000 (52.49101%)
Passive Results: 5500179 out of 10000000 (55.00178999999999%)
Active Results: 5249686 out of 10000000 (52.49686%)
Passive Results: 5501477 out of 10000000 (55.01477%)
Active Results: 5249980 out of 10000000 (52.49979999999999%)
Passive Results: 5499290 out of 10000000 (54.9929%)
Les résultats parlent d'eux-mêmes.
Les résultats deviennent très spectaculaires si l'un des bonus est beaucoup plus important que l'autre, et des bonus élevés pour le défenseur feront que le système favorisera le défenseur
La différence de 2,5 % n'est valable que lorsque les primes sont égales. Lorsqu'elles sont inégales, la différence sera légèrement supérieure ou inférieure à 2,5 % pour les petites différences, et modifiera radicalement les résultats pour les grandes différences. Les statistiques suivantes représentent les différence dans les scores de capacité de l'attaquant et du défenseur respectivement - en d'autres termes, "Attaquant : 5, Défenseur : 0" signifie que le bonus de l'attaquant est supérieur de 5 points à celui du défenseur. Seule la différence compte : Si l'attaquant a un bonus de +7 et le défenseur un bonus de +4, les statistiques sont exactement identiques à celles d'un scénario où l'attaquant a +3 et le défenseur +0.
//Difference is 2.5%
Attacker: 0, Defender: 0
Active Results: 5249125 out of 10000000 (52.49125%)
Passive Results: 5499626 out of 10000000 (54.99626%)
//Note that Attacker:2, Defender:1 has identical odds/similar results
Attacker: 1, Defender: 0
Active Results: 5722711 out of 10000000 (57.22711%)
Passive Results: 6000753 out of 10000000 (60.007529999999996%)
//Attacker:3, Defender:1; Attacker:4, Defender:2, etc.
Attacker: 2, Defender: 0
Active Results: 6174039 out of 10000000 (61.74039%)
Passive Results: 6499936 out of 10000000 (64.99936%)
Attacker: 3, Defender: 0
Active Results: 6601101 out of 10000000 (66.01101%)
Passive Results: 7000450 out of 10000000 (70.00450000000001%)
//Difference is 5%, passive is like the attacker has a +1.2 + bonus in active
Attacker: 4, Defender: 0
Active Results: 7000297 out of 10000000 (70.00297%)
Passive Results: 7497731 out of 10000000 (74.97731%)
Attacker: 5, Defender: 0
Active Results: 7375115 out of 10000000 (73.75115%)
Passive Results: 8000631 out of 10000000 (80.00631%)
//Effective attacker bonus is 2 + bonus
Attacker: 6, Defender: 0
Active Results: 7726113 out of 10000000 (77.26113%)
Passive Results: 8501084 out of 10000000 (85.01084%)
//+4
Attacker: 7, Defender: 0
Active Results: 8051381 out of 10000000 (80.51380999999999%)
Passive Results: 8999331 out of 10000000 (89.99331000000001%)
//+5
Attacker: 8, Defender: 0
Active Results: 8350069 out of 10000000 (83.50069%)
Passive Results: 9500553 out of 10000000 (95.00553000000001%)
//Attacker wins ***every roll***, as opposed to winning 86% of rolls
//Is effectively 10 + bonus
Attacker: 9, Defender: 0
Active Results: 8626220 out of 10000000 (86.2622%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 10, Defender: 0
Active Results: 8875606 out of 10000000 (88.75606%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 11, Defender: 0
Active Results: 9099772 out of 10000000 (90.99772%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 12, Defender: 0
Active Results: 9300587 out of 10000000 (93.00587%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 13, Defender: 0
Active Results: 9474565 out of 10000000 (94.74565%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 14, Defender: 0
Active Results: 9625309 out of 10000000 (96.25309%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 15, Defender: 0
Active Results: 9749404 out of 10000000 (97.49404%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 16, Defender: 0
Active Results: 9850722 out of 10000000 (98.50721999999999%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 17, Defender: 0
Active Results: 9925287 out of 10000000 (99.25287%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 18, Defender: 0
Active Results: 9974967 out of 10000000 (99.74967%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 19, Defender: 0
Active Results: 10000000 out of 10000000 (100.0%)
Passive Results: 10000000 out of 10000000 (100.0%)
Attacker: 20, Defender: 0
Active Results: 10000000 out of 10000000 (100.0%)
Passive Results: 10000000 out of 10000000 (100.0%)
//Now we consider situations where defender has a better bonus
Attacker: 0, Defender: 1
Active Results: 4750868 out of 10000000 (47.50868%)
Passive Results: 4998554 out of 10000000 (49.98554%)
Attacker: 0, Defender: 2
Active Results: 4277085 out of 10000000 (42.770849999999996%)
Passive Results: 4498389 out of 10000000 (44.983889999999995%)
Attacker: 0, Defender: 3
Active Results: 3824786 out of 10000000 (38.24786%)
Passive Results: 4002931 out of 10000000 (40.02931%)
Attacker: 0, Defender: 4
Active Results: 3399840 out of 10000000 (33.998400000000004%)
Passive Results: 3500342 out of 10000000 (35.00342%)
//Curiously, passive starts to harm attacker in this situation
Attacker: 0, Defender: 5
Active Results: 2999828 out of 10000000 (29.99828%)
Passive Results: 2996882 out of 10000000 (29.96882%)
//Effectively attacker -1
Attacker: 0, Defender: 6
Active Results: 2626743 out of 10000000 (26.267430000000004%)
Passive Results: 2499426 out of 10000000 (24.994259999999997%)
Attacker: 0, Defender: 7
Active Results: 2275216 out of 10000000 (22.75216%)
Passive Results: 2001180 out of 10000000 (20.011799999999997%)
//Effectively attacker -2
Attacker: 0, Defender: 8
Active Results: 1949354 out of 10000000 (19.49354%)
Passive Results: 1498727 out of 10000000 (14.98727%)
//-3
Attacker: 0, Defender: 9
Active Results: 1650522 out of 10000000 (16.50522%)
Passive Results: 999070 out of 10000000 (9.9907%)
//-4
Attacker: 0, Defender: 10
Active Results: 1375942 out of 10000000 (13.75942%)
Passive Results: 500388 out of 10000000 (5.0038800000000005%)
//Attacker cannot win rolls
//Effectively -9
Attacker: 0, Defender: 11
Active Results: 1125553 out of 10000000 (11.25553%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 12
Active Results: 899999 out of 10000000 (8.999989999999999%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 13
Active Results: 700584 out of 10000000 (7.005840000000001%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 14
Active Results: 525539 out of 10000000 (5.25539%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 15
Active Results: 375152 out of 10000000 (3.7515199999999997%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 16
Active Results: 250269 out of 10000000 (2.5026900000000003%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 17
Active Results: 149511 out of 10000000 (1.49511%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 18
Active Results: 74403 out of 10000000 (0.7440300000000001%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 19
Active Results: 25251 out of 10000000 (0.25251%)
Passive Results: 0 out of 10000000 (0.0%)
Attacker: 0, Defender: 20
Active Results: 0 out of 10000000 (0.0%)
Passive Results: 0 out of 10000000 (0.0%)
Pour résumer pour les personnes qui ont des difficultés à lire beaucoup de statistiques, si le jeu de règles de l'OP est qualifié de Passif, et que 5e-default est Actif, alors.. :
- Dans la plage Défenseur+4 à Attaquant+3, le passif apporte un bonus de +2,5%.
- A Attaquant passif+4, l'équivalent est Attaquant actif+5.
- A Attaquant passif+6, l'équivalent est Attaquant actif+8.
- A Attaquant passif+9, l'attaquant gagne tous les jets, toujours, ce qui équivaut à Attaquant actif+19.
- A Défenseur passif+5, l'équivalent est Défenseur actif+5
- A Défenseur passif+6, l'équivalent est Défenseur actif+7
- A Défenseur passif+11, le défenseur gagne tous les jets, toujours, ce qui équivaut à Défenseur actif+20.
La bonne nouvelle, c'est que les différences de bonus comme celles que j'ai montrées sont plutôt rares : à moins que votre groupe ne combatte une créature qui dépasse largement son CR effectif, des différences de bonus supérieures à 8 ne devraient jamais se produire.
La mauvaise nouvelle est que beaucoup de ces choses vont à l'encontre de la politique de 5e d'assurer une Précision Limitée : en créant des scénarios où un adversaire peut littéralement gagner chaque jet de compétence contre un adversaire, au-delà d'un certain différentiel de compétence. De plus, l'Expertise est un moyen facile d'augmenter un score jusqu'à +9, ce qui rendrait ce système dangereux et facile à exploiter pour toute créature ayant une expertise dans une compétence.
Exemple de mise en pratique
Vous êtes un barde de niveau 5, spécialisé dans la tromperie. Le roi vous a surpris au lit avec son fils et vous devez vous expliquer. Reconnaissons au roi qu'il n'est pas complètement idiot. Il a probablement un score de Sagesse de 12, ce qui lui donne un +1 aux tests de Perspicacité.
Mais il y a un problème, du moins pour lui : Vous, le charmant barde, avez un +10 à votre test de Tromperie. Normalement, vous devriez faire un jet avec un désavantage, car vous êtes dans une situation compromettante : même avec tous vos bonus, vous aurez besoin d'un peu de chance pour éviter les conséquences. Dans le système normal du 5e, vous auriez 86% de chances de réussir n'importe quel jet, et avec le désavantage, vos chances de réussir sont de (0,86)^2, ce qui fait 74%, environ 3/4. C'est assez raisonnable, étant donné votre capacité à mentir comme un arracheur de pantalon (dans ce cas, apparemment littéralement).
Mais dans le système proposé par l'OP, cela n'a pas vraiment d'importance : à +1, le bonus que reçoit le roi est automatiquement de 11. Avec un bonus de +10, le le résultat le plus bas que vous puissiez obtenir est 11 ce qui bat le score de perspicacité du roi (rappelez-vous que les tests de capacité n'ont pas d'échec critique). Même si le roi est beaucoup plus intelligent (perspicacité +4), vous avez tout de même augmenté vos chances de réussite de 65% à 81%, passant de 2/3 à 4/5.
Et cela s'applique généralement à tous les voleurs/bardes qui maîtrisent une compétence correspondant à leur score de capacité privilégié : à moins que les créatures qu'ils affrontent ne soient artificiellement améliorées au-delà de ce que leur CR leur permettrait normalement, ils pourront écraser n'importe qui avec n'importe quel test de capacité utilisant leur score.
Je ne mettrais probablement pas en œuvre ce système
C'est relativement inoffensif lorsque les différences de bonus sont faibles, mais cela viole un principe de conception fondamental du 5e dans des scénarios plus radicaux, et pourrait perturber l'équilibre général des créatures qui ont des bonus anormalement élevés pour un ou plusieurs scores de capacité.
Code, pour référence (écrit en Java) :
import java.util.Objects;
import java.util.Random;
public class ProbabilityTesting {
public static class Pair<K,V> implements Cloneable{
public final K first;
public final V second;
public Pair() {
this(null, null);
}
public Pair(K first, V second) {
this.first = first;
this.second = second;
}
public boolean equals(Object o) {
if(this == o) return true;
if(!(o instanceof Pair<?,?>)) {
return false;
}
try {
@SuppressWarnings("unchecked")
Pair<K,V> p = (Pair<K,V>)o;
return Objects.equals(first, p.first) && Objects.equals(second, p.second);
} catch (ClassCastException e) {
return false;
}
}
@Override
public Object clone() {
return new Pair<>(first, second);
}
public static<K,V> Pair<K, V> of(K k, V v) {
return new Pair<>(k, v);
}
}
private static class Calculator {
private boolean use_passive;
private int attacker_bonus;
private int defender_bonus;
private int num_of_trials;
public Calculator(boolean use_passive, int attacker_bonus, int defender_bonus, int num_of_trials) {
this.use_passive = use_passive;
this.attacker_bonus = attacker_bonus;
this.defender_bonus = defender_bonus;
this.num_of_trials = num_of_trials;
}
public Pair<Integer, Integer> call() throws Exception {
int successes = 0;
Random rand = new Random();
for(int i = 0; i < num_of_trials; i++) {
int attacker_score = rand.nextInt(20) + 1 + attacker_bonus;
int defender_score;
if(use_passive)
defender_score = 10 + defender_bonus;
else
defender_score = rand.nextInt(20) + 1 + defender_bonus;
//Attacker wins ties
if(attacker_score >= defender_score)
successes++;
}
return Pair.of(successes, num_of_trials);
}
}
public static void main(String[] args) throws Exception {
for(int i = 0; i < 41; i++) {
int attacker_bonus, defender_bonus;
if(i < 21) {
attacker_bonus = i;
defender_bonus = 0;
} else {
attacker_bonus = 0;
defender_bonus = i - 20;
}
Calculator active = new Calculator(false, attacker_bonus, defender_bonus, 10_000_000);
Calculator passive = new Calculator(true, attacker_bonus, defender_bonus, 10_000_000);
Pair<Integer, Integer> active_results = active.call(), passive_results = passive.call();
System.out.println("Attacker: " + attacker_bonus + ", Defender: " + defender_bonus);
System.out.println("Active Results: " + active_results.first + " out of " + active_results.second + " (" + (active_results.first / (double)active_results.second * 100) + "%)");
System.out.println("Passive Results: " + passive_results.first + " out of " + passive_results.second + " (" + (passive_results.first / (double)passive_results.second * 100) + "%)");
System.out.println();
}
}
}