Skip to content

Советы по поводу настройки бросков костей в Roll20

Anton Palikhov edited this page Mar 24, 2024 · 4 revisions

Условные утверждения (только математика) Используя мультипликативные свойства 0 (поглощение) и 1 (тождество), вы можете писать условные утверждения для целых значений (и в некоторой степени для значений с плавающей точкой). Примером может служить формула "если x больше или равно A, то T; иначе F", где T и F - некоторые значения. Если x или A - это броски костей, окружите их [[]] внутри этих формул. Это можно записать в виде макроса с

[[{{x,что-то-меньшеn-A}>A}*(T-F) + F]]

Пример 1:

[[{{3,0}>2}*(4) + 3]]

Пример 2:

[[{{[[1d4]],0}>2}*(4) + 3]]

В приведенных выше примерах мы умножим (4) на то, сколько раз утверждение '{X}>2' было истинным, и прибавим к результату +3. Для примера 1 это верно 1 раз, так как 3 > 2, но 0 < 2. В результате получится 14+3 = 7. Для примера 2, который верен 0-1 раз, в зависимости от результата 1d4. В результате получится либо 04+3=3, либо 1*4+3=7.

Аналогично, "x больше A, тогда T; иначе F" записывается так

[[{{x,что-то-меньшеn-A}>[[A+1]]}*(T-F) + F]]

(Assuming A is an integer)
В качестве альтернативы можно умножить один минус проверки (x==A) ниже на проверку (x>=A) выше, например, так:

[[({{x,что-то-меньшеn-A}>A})*(1-{0,floor(1-abs(x-A))}dl1)*(T-F)+F]]

"x equals A" is simpler.

[[({0,floor(1-abs(x-A))}dl1)*(T-F) +F]]

Теперь о некоторых тождествах: "x меньше A" является обратной величиной по отношению к "x больше или равно A", поэтому условие можно записать как "x больше или равно A, тогда F; иначе T", используя формулы выше. Аналогично с "x меньше или равно A" и "x больше A", а также с "x не равно A" и "x равно A".

ПЕРЕЕХАЛИ

Clone this wiki locally