-
-
Notifications
You must be signed in to change notification settings - Fork 1
Советы по поводу настройки бросков костей в Roll20
Условные утверждения (только математика) Используя мультипликативные свойства 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".
Переехали на Руководство Паланта по Roll20