tutorial:roll20:tricks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tutorial:roll20:tricks [2020-04-04 14:31]
weichbr created
tutorial:roll20:tricks [2020-04-18 18:23] (current)
weichbr [Buffs]
Line 3: Line 3:
 ==== Macro Syntax ==== ==== Macro Syntax ====
  
-Offizielle Doku [[https://wiki.roll20.net/Dice_Reference|hier]].+Offizielle Doku [[https://roll20.zendesk.com/hc/en-us/articles/360037256794-Macros|hier]] (Macros) und [[https://wiki.roll20.net/Dice_Reference|hier]] (Würfel).
 Vorweg: Die Roll20 Syntax kann nur rechnen, würfeln und Fragen stellen. Vorweg: Die Roll20 Syntax kann nur rechnen, würfeln und Fragen stellen.
 Bedingungen und Schleifen sind nicht möglich. Bedingungen und Schleifen sind nicht möglich.
  
-Generell wird nur in doppelten eckigen Klammern gerechnet und gewürfelt.+Generell wird nur in doppelten eckigen Klammern ''<nowiki>[[ ]]</nowiki>'' gerechnet und gewürfelt. Diese können auch verschachtelt werden.
 Normale Mathe die geht: Normale Mathe die geht:
   - ''+'' Addition, ''-'' Subtraktion, ''*'' Multiplikation, ''/'' Division, ''%'' Modulo/Rest, ''<nowiki>**</nowiki>'' Exponenzieren   - ''+'' Addition, ''-'' Subtraktion, ''*'' Multiplikation, ''/'' Division, ''%'' Modulo/Rest, ''<nowiki>**</nowiki>'' Exponenzieren
Line 14: Line 14:
 Es gibt kein ''max()'' oder ''min()'', dies muss über "Grouped Rolls" behandelt werden. Es gibt kein ''max()'' oder ''min()'', dies muss über "Grouped Rolls" behandelt werden.
 Aus ''max(a, b)'' wird ''{a, b}kh1'' (**k**eep **h**igher **one**), aus ''min(a, b)'' wird '''{a, b}kl1'' (**k**eep **l**ower **one**). Aus ''max(a, b)'' wird ''{a, b}kh1'' (**k**eep **h**igher **one**), aus ''min(a, b)'' wird '''{a, b}kl1'' (**k**eep **l**ower **one**).
- 
-Bedinungen können emuliert werden, indem 1 als wahr und 0 als falsch angesehen wird und man mit den entsprechenden Werten multipliziert. 
  
 Attribute können mit ''@{attribute}'' abgerufen werden. Attribute können mit ''@{attribute}'' abgerufen werden.
 +
 +Bedingungen können emuliert werden, indem 1 als wahr und 0 als falsch angesehen wird und man mit den entsprechenden Werten multipliziert:
 +  * Ein ''if @{attr} then VAL'' wäre dann ''<nowiki>[[ VAL * @{attr} ]]</nowiki>''
 +  * Ein ''if @{attr} then T else F'' lässt sich dann so bauen: ''<nowiki>[[ [[{{@{attr},0}>1}*(T - F) + F]] ]]</nowiki>''. ''T'' und ''F'' können selber weitere Ausdrücke sein.
 +  * Negation ist durch ''1 - @{attr}'' machbar.
 +  * Logisches UND durch Multiplikation aller Attribute: ''@{attr1} * @{attr2}''
 +  * Logisches ODER durch Addition aller Attribute und kl1: ''{@{attr1} + @{attr2},1}kl1''
 +
 +----
 +
 +Beispiel:
 +Schadenswürfel ändern sich mit Buffs (z.B. durch [[http://prd.5footstep.de/Expertenregeln/Zauber/StarkerKiefer|Starker Kiefer]] und/oder [[http://prd.5footstep.de/Grundregelwerk/Zauber/Tierwachstum|Tierwachstum]]). Im Folgenden wird angenommen:
 +  - Grundschadenswürfel 1w6
 +  - mit Starker Kiefer: 2w6
 +  - mit Tierwachstum: 1w8
 +  - mit beiden: 3w6
 +  - ''@{knowledge_history_bonus}'' ist 1 wenn Starker Kiefer aktiv ist, sonst 0 (siehe dazu auch [[tutorial:roll20:tricks#Buffs|Buffs]])
 +  - ''@{knowledge_local_bonus}'' ist 1 wenn Tierwachstum aktiv ist, sonst 0
 +
 +Mit ''if .. then ..'':
 +<code>
 +[[ {{ @{knowledge_history_bonus},0 }>1 }*([[ 2 + @{knowledge_local_bonus} ]] - 1) + 1]]d[[ {{ 1-@{knowledge_history_bonus},0 }>1 }*([[6 + @{knowledge_local_bonus}*2 ]] - 6) + 6 ]]
 +</code>
 +Mit Logik:
 +<code>
 +[[ (@{knowledge_history_bonus} * @{knowledge_local_bonus})*(3) + ((1-@{knowledge_history_bonus}) * @{knowledge_local_bonus})*(1) + (@{knowledge_history_bonus} * (1-@{knowledge_local_bonus}))*(2) + ((1-@{knowledge_history_bonus})*(1-@{knowledge_local_bonus}))*(1) ]]d[[ (@{knowledge_history_bonus} * @{knowledge_local_bonus})*(6) + ((1-@{knowledge_history_bonus}) * @{knowledge_local_bonus})*(8) + (@{knowledge_history_bonus} * (1-@{knowledge_local_bonus}))*(6) + ((1-@{knowledge_history_bonus})*(1-@{knowledge_local_bonus}))*(6) ]]
 +</code>
 +
 +Dies lässt sich z.B. in einem Attribut speichern und dann immer wieder abrufen und den aktuellen Würfel zu erhalten.
 +
 +----
  
 Fragen können mit ''?{}'' gestellt werden. Fragen können mit ''?{}'' gestellt werden.
Line 41: Line 70:
   - ''2 * (1d6)'' würfelt nicht ''2d6'' sondern einen 1d6 und verdoppelt das Ergebnis.   - ''2 * (1d6)'' würfelt nicht ''2d6'' sondern einen 1d6 und verdoppelt das Ergebnis.
   - Division ist keine Integerdivision, es können rationale Zahlen entstehen (''3/2 = 1.5'' und nicht ''1'')!   - Division ist keine Integerdivision, es können rationale Zahlen entstehen (''3/2 = 1.5'' und nicht ''1'')!
 +  - Man kann Zahlen Namen geben. Dies ist nützlich da man sonst nicht weiß wie sich die "+ 5 + 1 + 0 - 3" sonst zusammensetzt. Namen werden durch einfache eckige Klammern hinter der Zahl angegeben, z.B.: ''<nowiki>[[ 1d20 + @{strengh_mod}[STR] + 1[MAGISCHEWAFFE] ]]</nowiki>''
  
 ==== Zauber ==== ==== Zauber ====
Line 51: Line 81:
  
 ==== Buffs ==== ==== Buffs ====
 +
 +Eine Liste mit fertigen Buffs findet sich [[tutorial:roll20:buffs|hier]].
  
 Buffs sind in Wirklichkeit kein Freitextfeld sondern parsen das was man dort einträgt (siehe [[https://roll20.zendesk.com/hc/en-us/articles/360037773733-Pathfinder-Official|hier]] unter "Buffs") Buffs sind in Wirklichkeit kein Freitextfeld sondern parsen das was man dort einträgt (siehe [[https://roll20.zendesk.com/hc/en-us/articles/360037773733-Pathfinder-Official|hier]] unter "Buffs")
Line 60: Line 92:
  
 Stacking wird automatisch behandelt. Stacking wird automatisch behandelt.
 +Dies ist allerdings nicht immer gwünscht, z.B. gibt Tierwachstum einen Bonus auf die natürliche RK der explizit mit dem aktuellem stackt.
 +Dieser Bonus darf also nicht als ''+2 natural to AC'' angegeben werden, sonder muss ungetypt angegeben werden: ''+2 to AC''.
 +Beispiel für Tierwachstum:
 +<code>
 ++8 size to Strength
 ++4 size to Constitution
 ++(2*@{class1_level}) to hit points
 +-2 size to Dexterity
 +# +2 natürlich stacked mit bisherigem
 ++2 to AC
 +# local = 1 -> wir haben TW
 ++1 to knowledge_local_bonus
 +</code>
 +
 Buffs können leider gewisse Attribute nicht verändern, z.B. nicht die Größe (und damit auch nicht den Größenmalus/bonus) oder einzelne Angriffe. Entweder Boni auf alle Angriffe einer Kategorie (Meele/Ranged) oder gar nicht. Buffs können leider gewisse Attribute nicht verändern, z.B. nicht die Größe (und damit auch nicht den Größenmalus/bonus) oder einzelne Angriffe. Entweder Boni auf alle Angriffe einer Kategorie (Meele/Ranged) oder gar nicht.
 Dies lässt sich (für Tiergefährten z.B.) umgehen, indem man Boni auf Skills gibt, die man nicht benutzt und diese Boni dann zu einzelnen Angriffen dazurechnet. Dies lässt sich (für Tiergefährten z.B.) umgehen, indem man Boni auf Skills gibt, die man nicht benutzt und diese Boni dann zu einzelnen Angriffen dazurechnet.
Line 65: Line 111:
 Beispiel [[http://prd.5footstep.de/Grundregelwerk/Zauber/MagischeFaenge|Mächtige Magische Fänge]] die nur auf Klauen gelten: Beispiel [[http://prd.5footstep.de/Grundregelwerk/Zauber/MagischeFaenge|Mächtige Magische Fänge]] die nur auf Klauen gelten:
 <code> <code>
-+[[floor(@{class1_level}/4)]] to knowledge_arcana_bonus++[[1+floor(@{class1_level}/4)]] to knowledge_arcana_bonus
 </code> </code>
  
-Hier wird ein Bonus auf Wissen (Arkanes) gegeben und dieser Bonus dann mit ''@{knowledge_arcana_bonus}'' bei dem Klauenangriff dazugerechnet. +Hier wird ein Bonus auf Wissen (Arkanes) gegeben. Dieser Bonus kann dann mit ''@{knowledge_arcana_bonus}'' bei dem Klauenangriff dazugerechnet werden
-Tiergefährten haben normalerweise überhaupt keine Wissenstalente wodurch man hier elf mögliche Variablen erhält.+Tiergefährten haben normalerweise überhaupt keine Wissensfertigkeiten wodurch man hier elf mögliche Variablen erhält.
  
 ==== Abilities ==== ==== Abilities ====
Line 89: Line 135:
 Das sieht potenziell hässlich aus. Das sieht potenziell hässlich aus.
 Man kann diese "stylen" wenn man ein Template anwendet. Man kann diese "stylen" wenn man ein Template anwendet.
-Offizielle Template Doku für Pathfinder ist [[https://wiki.roll20.net/Pathfinder_Official_Templates|hier]], aber die ist ziemlich uff.+Offizielle Template Doku für Pathfinder ist [[https://roll20.zendesk.com/hc/en-us/articles/360037257814-Pathfinder-Official-Templates|hier]], aber die ist ziemlich uff.
  
 Dinge die man wissen sollte: Dinge die man wissen sollte:
-  - Möchte man exakt einen Angriff visualisieren, dann würfelt man mit ''roll'' den Angriff, macht den Schaden aber mit ''dmg1flag'', ''dmg1'', etc. Erst wenn man mehr als einen Angriff hat, darf man ''rolldmg1'', etc. für den Schaden benutzen.+  - Möchte man exakt einen Angriff visualisieren, dann würfelt man mit ''roll'' den Angriff, macht den Schaden aber mit ''dmg1flag'', ''dmg1'', etc. Erst wenn man mehr als einen Angriff hat, darf man ''rolldmg1'', etc. für den Schaden benutzen. Siehe [[https://app.roll20.net/forum/post/6400044/pathfinder-official-sheet-roll-template-macro-not-showing-damage|hier]]. 
 +  - Die gesamte Ability muss in eine Zeile wenn ein Template benutzt wird. 
 + 
 +Beispiel für den Vollen Angriff einer Katze (Biss und 2 Klauen) mit potentiellen Mächtigen Magischen Fängen auf den Klauen und Abfrage für Heftiger Angriff, einem Wurf auf zu Fall bringen und dem Schadenswurfs des Talents [[http://prd.5footstep.de/Expertenregeln/Talente/Reisskrallen|Reißkrallen]]: 
 +<code> 
 +&{template:pc} {{showchar=[[1]]}} {{charname=Luna}} {{name=Voller Angriff}} {{type=attack damage}} {{attack=1}} {{roll=[[ 1d20 + @{melee_mod}[MELEE] - @{_pa_attack_q}[HA]]]}} {{critconfirm=[[ 1d20 + @{melee_mod}[MELEE] - @{_pa_attack}[HA]]]}} {{rolldmg1=[[ @{_bite_dmg_roll} + @{strength_mod}[STR] + [[((floor(@{class1_bab}/4) + 1) * 2) * ?{Heftig}]][HA]]]}} {{rolldmg1type=Biss, Hieb/Wucht/Stich}} {{rolldmg1crit=[[ @{_bite_dmg_roll} + @{_bite_dmg_roll} + 2*(@{strength_mod}[STR] + @{_pa_dmg}[HA])]]}} {{rolldmg2=[[ 1d20 + @{cmb_mod}[CMB] ]]}} {{rolldmg2type=Zu Fall bringen}} {{roll1=[[ 1d20 + @{melee_mod}[MELEE] + @{knowledge_arcana_bonus}[MAGFANGS] - @{_pa_attack}[HA]]]}} {{critconfirm1=[[ 1d20 + @{melee_mod}[MELEE] + @{knowledge_arcana_bonus}[MAGFANGS] - @{_pa_attack}[HA]]]}} {{roll1dmg1=[[ @{_claw_dmg_roll} + @{strength_mod}[STR] + @{knowledge_arcana_bonus}[MAGFANGS] + @{_pa_dmg}[HA]]]}} {{roll1dmg1type=Klaue, Hieb}} {{roll1dmg1crit=[[@{_claw_dmg_roll} + @{_claw_dmg_roll} + 2*(@{strength_mod}[STR] + @{knowledge_arcana_bonus}[MAGFANGS] + @{_pa_dmg}[HA])]]}} {{roll2=[[ 1d20 + @{melee_mod}[MELEE] + @{knowledge_arcana_bonus}[MAGFANGS] - @{_pa_attack}[HA] ]]}} {{critconfirm2=[[ 1d20 + @{melee_mod}[MELEE] + @{knowledge_arcana_bonus}[MAGFANGS] - @{_pa_attack}[HA] ]]}} {{roll2dmg1=[[@{_claw_dmg_roll} + @{strength_mod}[STR] + @{knowledge_arcana_bonus}[MAGFANGS] + @{_pa_dmg}[HA] ]]}} {{roll2dmg1type=Klaue, Hieb}} {{roll2dmg1crit=[[@{_claw_dmg_roll} + @{_claw_dmg_roll} + 2*(@{strength_mod}[STR] + @{knowledge_arcana_bonus}[MAGFANGS] + @{_pa_dmg}[HA])]]}} {{roll2dmg2=[[1d6]]}} {{roll2dmg2type=Reißkrallen}} 
 +</code> 
 +Zur besseren Übersicht wurden hier die Schadenswürfel der Angriffe in eigene Attribute ausgelagert (''@{_bite_dmg_roll}'' und ''@{_claw_dmg_roll}'') genauso wie der Heftige Angriff (''@{_pa_attack_q}'' ''@{_pa_attack}'' und ''@{_pa_dmg}''). 
 +Endresultat: {{ :tutorial:roll20:luna_full_atk.png?nolink|}}
  • tutorial/roll20/tricks.1586003477.txt.gz
  • Last modified: 2020-04-04 14:31
  • by weichbr