Uma das diferenças que a 5ª edição de Dungeons and Dragons em relação às anteriores é a possibilidade de lançar dados com vantagem e desvantagem.
Em uma rolagem de dados tradicional, o jogador lança seu dado e o resultado obtido é o resultado final^[Descontando eventuais modificadores]. Em uma jogada com vantagem, o jogador lança dois dados e mantém o maior deles como resultado final. De modo análogo, uma jogada com desvantagem, o jogador lança dois dados e mantém o menor deles como resultado final.
Considerando um d20, que é o dado de 20 lados, cada lançamento de 1 a 20 tem 5% de chance de ocorrer. Eu criei os gráficos abaixo para ver como estas probabilidades mudam ao jogar os dados com vantagem e desvantagem.
O código para criar os gráficos está a seguir.
library(tidyverse)
theme_set(theme_minimal())
combinacoes <-
expand_grid(d1 = 1:20, d2 = 1:20) %>%
rowwise() %>%
mutate(max = max(d1, d2), min = min(d1, d2))
combinacoes %>%
group_by(max) %>%
count() %>%
ungroup() %>%
mutate(perc = n/sum(n)*100) %>%
ggplot(aes(x = max, y = perc, label = perc, fill = perc)) +
geom_col() +
scale_fill_viridis_c(option = "C") +
geom_text(aes(y = perc + .25),
size = 3) +
scale_x_continuous(breaks = 1:20) +
scale_y_continuous(breaks = NULL) +
labs(x = "Resultado Final com os Dois Dados",
y = "Percentual de Acerto do Resultado",
title = "Jogar 2d20 com Vantagem",
caption = "marcusnunes.me") +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.title = element_text(hjust = 0.5),
axis.text.x = element_text(vjust = 10),
legend.position = "none")
combinacoes %>%
group_by(min) %>%
count() %>%
ungroup() %>%
mutate(perc = n/sum(n)*100) %>%
ggplot(aes(x = min, y = perc, label = perc, fill = perc)) +
geom_col() +
scale_fill_viridis_c(option = "C", direction = -1) +
geom_text(aes(y = perc + .25),
size = 3) +
scale_x_continuous(breaks = 1:20) +
scale_y_continuous(breaks = NULL) +
labs(x = "Resultado Final com os Dois Dados",
y = "Percentual de Acerto do Resultado",
title = "Jogar 2d20 com Desvantagem",
caption = "marcusnunes.me") +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.title = element_text(hjust = 0.5),
axis.text.x = element_text(vjust = 10),
legend.position = "none")