mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
Merge pull request #687 from Lithl/exalted-create-rolltemplate
Create roll templates for Exalted 2e
This commit is contained in:
+65
-1
@@ -1,4 +1,68 @@
|
||||
.charsheet
|
||||
.sheet-rolltemplate-joinbattle > div > img,
|
||||
.sheet-rolltemplate-joindebate > div > img,
|
||||
.sheet-rolltemplate-joinwar > div > img {
|
||||
height: 45px;
|
||||
float: left;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-attack > div,
|
||||
.sheet-rolltemplate-damage > div {
|
||||
background-image: url(http://i.imgur.com/X0RX9Qu.png);
|
||||
background-size: contain;
|
||||
background-position: right center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-damage > div { background-image: url(http://i.imgur.com/t9YYFMu.png); }
|
||||
|
||||
.sheet-rolltemplate-joinbattle > div > h3,
|
||||
.sheet-rolltemplate-joindebate > div > h3,
|
||||
.sheet-rolltemplate-joinwar > div > h3,
|
||||
.sheet-rolltemplate-attack > div > h3,
|
||||
.sheet-rolltemplate-damage > div > h3 {
|
||||
color: #d6c110;
|
||||
font-style: italic;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-joindebate > div > h3 { color: #90c1a5; }
|
||||
.sheet-rolltemplate-joinwar > div > h3 { color: #f69010; }
|
||||
.sheet-rolltemplate-attack > div > h3 { color: #d63010; }
|
||||
.sheet-rolltemplate-damage > div > h3 { color: #b39d9c; }
|
||||
|
||||
.sheet-rolltemplate-attack h3.sheet-unnamed,
|
||||
.sheet-rolltemplate-damage h3.sheet-unnamed { text-align: center; }
|
||||
|
||||
.sheet-rolltemplate-joinbattle > div > div,
|
||||
.sheet-rolltemplate-joindebate > div > div,
|
||||
.sheet-rolltemplate-joinwar > div > div,
|
||||
.sheet-rolltemplate-attack > div > div,
|
||||
.sheet-rolltemplate-damage > div > div {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-joinbattle > div,
|
||||
.sheet-rolltemplate-joindebate > div,
|
||||
.sheet-rolltemplate-joinwar > div,
|
||||
.sheet-rolltemplate-attack > div,
|
||||
.sheet-rolltemplate-damage > div {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-damage span.sheet-minimum + span.sheet-regular { display: none; }
|
||||
.sheet-rolltemplate-damage span.sheet-damage-type {
|
||||
display: inline-block;
|
||||
font-weight: bolder;
|
||||
text-transform: lowercase;
|
||||
font-variant: small-caps;
|
||||
background-color: #88ffff;
|
||||
padding: 0 3px 0 3px;
|
||||
}
|
||||
.sheet-rolltemplate-damage span.sheet-damage-type::first-letter { text-transform: uppercase; }
|
||||
|
||||
.charsheet
|
||||
{
|
||||
background-color: #fff;
|
||||
overflow: hidden;
|
||||
|
||||
+120
-5
@@ -1,3 +1,118 @@
|
||||
<rolltemplate class="sheet-rolltemplate-joinbattle">
|
||||
<div>
|
||||
<img src="http://i.imgur.com/SncEMzz.png" />
|
||||
<h3>Join Battle!</h3>
|
||||
<div>Wits ({{wits}}) +</div>
|
||||
<div>Awareness ({{awareness}}) +</div>
|
||||
<div>Bonus Dice ({{bonus dice}}) +</div>
|
||||
<div>Bonus Successess ({{bonus successess}}) =</div>
|
||||
{{roll}} Successes
|
||||
</div>
|
||||
</rolltemplate>
|
||||
<rolltemplate class="sheet-rolltemplate-joindebate">
|
||||
<div>
|
||||
<img src="http://i.imgur.com/SncEMzz.png" />
|
||||
<h3>Join Debate!</h3>
|
||||
<div>Wits ({{wits}}) +</div>
|
||||
<div>Awareness ({{awareness}}) +</div>
|
||||
<div>Bonus Dice ({{bonus dice}}) +</div>
|
||||
<div>Bonus Successess ({{bonus successess}}) =</div>
|
||||
{{roll}} Successes
|
||||
</div>
|
||||
</rolltemplate>
|
||||
<rolltemplate class="sheet-rolltemplate-joinwar">
|
||||
<div>
|
||||
<img src="http://i.imgur.com/SncEMzz.png" />
|
||||
<h3>Join War!</h3>
|
||||
<div>Wits ({{wits}}) +</div>
|
||||
<div>War ({{war}}) +</div>
|
||||
<div>Bonus Dice ({{bonus dice}}) +</div>
|
||||
<div>Bonus Successess ({{bonus successess}}) =</div>
|
||||
{{roll}} Successes
|
||||
</div>
|
||||
</rolltemplate>
|
||||
<rolltemplate class="sheet-rolltemplate-attack">
|
||||
<div>
|
||||
{{#name}}
|
||||
<h3 class="named">{{name}} (Attack!)</h3>
|
||||
{{/name}}
|
||||
{{^name}}
|
||||
<h3 class="unnamed">Attack!</h3>
|
||||
{{/name}}
|
||||
<div>
|
||||
{{#attribute name}}
|
||||
{{attribute name}}
|
||||
{{/attribute name}}
|
||||
{{^attribute name}}
|
||||
Attribute
|
||||
{{/attribute name}}
|
||||
({{attribute}}) +
|
||||
</div>
|
||||
<div>
|
||||
{{#ability name}}
|
||||
{{ability name}}
|
||||
{{/ability name}}
|
||||
{{^ability name}}
|
||||
Ability
|
||||
{{/ability name}}
|
||||
({{ability}}) +
|
||||
</div>
|
||||
<div>
|
||||
{{#specialty name}}
|
||||
{{specialty name}}
|
||||
{{/specialty name}}
|
||||
{{^specialty name}}
|
||||
Specialty
|
||||
{{/specialty name}}
|
||||
({{specialty}}) +
|
||||
</div>
|
||||
<div>Accuracy ({{accuracy}}) +</div>
|
||||
<div>Bonus Dice ({{bonus dice}}) +</div>
|
||||
<div>Bonus Successes ({{bonus successes}}) =</div>
|
||||
{{roll}} Successes
|
||||
</div>
|
||||
</rolltemplate>
|
||||
<rolltemplate class="sheet-rolltemplate-damage">
|
||||
<div>
|
||||
{{#name}}
|
||||
<h3 class="named">{{name}} (Hit!)</h3>
|
||||
{{/name}}
|
||||
{{^name}}
|
||||
<h3 class="unnamed">Hit!</h3>
|
||||
{{/name}}
|
||||
<div><span class="damage-type">{{damage type}}</span> Damage ({{damage}}) +</div>
|
||||
{{#attribute}}
|
||||
<div>
|
||||
{{#attribute name}}
|
||||
{{attribute name}}
|
||||
{{/attribute name}}
|
||||
{{^attribute name}}
|
||||
Attribute
|
||||
{{/attribute name}}
|
||||
({{attribute}}) +
|
||||
</div>
|
||||
{{/attribute}}
|
||||
{{#ability}}
|
||||
<div>
|
||||
{{#ability name}}
|
||||
{{ability name}}
|
||||
{{/ability name}}
|
||||
{{^ability name}}
|
||||
Ability
|
||||
{{/ability name}}
|
||||
({{ability}}) +
|
||||
</div>
|
||||
{{/ability}}
|
||||
<div>Bonus Dice ({{bonus dice}}) +</div>
|
||||
<div>Bonus Successes ({{bonus successes}}) –</div>
|
||||
<div>Target Soak ({{target soak}}) =</div>
|
||||
{{#rollTotal() pool 0}}
|
||||
<span class="minimum">{{minimum roll}} Successes</span>
|
||||
{{/rollTotal() pool 0}}
|
||||
<span class="regular">{{roll}} Successes</span>
|
||||
</div>
|
||||
</rolltemplate>
|
||||
|
||||
<div class="bio sheet-3colrow">
|
||||
<div class="sheet-col center">
|
||||
<img src="http://i.imgur.com/RgaO9Ft.gif" class="banner" />
|
||||
@@ -646,9 +761,9 @@
|
||||
<h1 class="separator vspace"><span>Combat</span></h1>
|
||||
<div class="combat-equipment">
|
||||
<div class="weapons" style="width: 67%">
|
||||
<div style="width: 32%; display: inline-block" class="center"><button class="tokenaction blank-roll-button" type="roll" name="roll_JoinBattle" value="/me joins the fight\n/r (@{Wits}+@{Awareness}*(1-@{Awareness|max})+?{Bonus Dice (Charms, Stunts, etc.)|0})t[exalted]+?{Automatic Successes|0} &{tracker}">Join Battle</button></div>
|
||||
<div style="width: 32%; display: inline-block" class="center"><button class="tokenaction blank-roll-button" type="roll" name="roll_JoinDebate" value="/me joins the argument\n/r (@{Wits}+@{Awareness}*(1-@{Awareness|max})+?{Bonus Dice (Charms, Stunts, etc.)|0})t[exalted]+?{Automatic Successes|0} &{tracker}">Join Debate</button></div>
|
||||
<div style="width: 32%; display: inline-block" class="center"><button class="tokenaction blank-roll-button" type="roll" name="roll_JoinWar" value="/me joins the war\n/r (@{Wits}+@{War}*(1-@{War|max})+?{Bonus Dice (Charms, Stunts, etc.)|0})t[exalted]+?{Automatic Successes|0} &{tracker}">Join War</button></div>
|
||||
<div style="width: 32%; display: inline-block" class="center"><button class="tokenaction blank-roll-button" type="roll" name="roll_JoinBattle" value="&{template:joinbattle} {{wits=[[@{Wits}]]}} {{awareness=[[(1-@{Awareness|max})*@{Awareness}]]}} {{bonus dice=[[?{Bonus Dice (Charms, Stunts, etc.)|0}]]}} {{bonus successess=[[?{Bonus Successes|0}]]}} {{roll=[[(@{Wits}+@{Awareness}*(1-@{Awareness|max})+?{Bonus Dice (Charms, Stunts, etc.)|0})t[exalted]+?{Bonus Successes|0} &{tracker}]]}}}">Join Battle</button></div>
|
||||
<div style="width: 32%; display: inline-block" class="center"><button class="tokenaction blank-roll-button" type="roll" name="roll_JoinDebate" value="&{template:joindebate} {{wits=[[@{Wits}]]}} {{awareness=[[(1-@{Awareness|max})*@{Awareness}]]}} {{bonus dice=[[?{Bonus Dice (Charms, Stunts, etc.)|0}]]}} {{bonus successess=[[?{Bonus Successes|0}]]}} {{roll=[[(@{Wits}+@{Awareness}*(1-@{Awareness|max})+?{Bonus Dice (Charms, Stunts, etc.)|0})t[exalted]+?{Bonus Successes|0} &{tracker}]]}}">Join Debate</button></div>
|
||||
<div style="width: 32%; display: inline-block" class="center"><button class="tokenaction blank-roll-button" type="roll" name="roll_JoinWar" value="&{template:joinwar} {{wits=[[@{Wits}]]}} {{war=[[(1-@{War|max})*@{War}]]}} {{bonus dice=[[?{Bonus Dice (Charms, Stunts, etc.)|0}]]}} {{bonus successess=[[?{Bonus Successes|0}]]}} {{roll=[[(@{Wits}+@{War}*(1-@{War|max})+?{Bonus Dice (Charms, Stunts, etc.)|0})t[exalted]+?{Bonus Successes|0} &{tracker}]]}}">Join War</button></div>
|
||||
<div class="vspace"></div>
|
||||
<span class="span-header center" style="padding: 0px; width: 130px">Weapon / Attack</span>
|
||||
<span class="span-header center" style="padding: 0px; width: 49px">Speed</span>
|
||||
@@ -680,7 +795,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<button style="width: 76px" class="blank-roll-button" type="roll" name="roll_AttackRoll" value="/r (@{AttackAttribute}+@{AttackAbility}+@{AttackSpecialty}+@{AttackAccuracy}+?{Bonus Dice (Charms, Stunts, etc.)|0})t[exalted]+?{Automatic Successes|0}">Attack:</button>
|
||||
<button value="&{template:attack} {{name=@{AttackName}}} {{attribute=[[@{AttackAttribute}]]}} {{ability=[[@{AttackAbility}]]}} {{specialty=[[@{AttackSpecialty}]]}} {{accuracy=[[@{AttackAccuracy}]]}} {{bonus dice=[[?{Bonus Dice (Charms, Stunts, etc.)|0}]]}} {{bonus successes=[[?{Bonus Successes|0}]]}} {{roll=[[(@{AttackAttribute}+@{AttackAbility}+@{AttackSpecialty}+@{AttackAccuracy}+?{Bonus Dice (Charms, Stunts, etc.)})t[exalted]+?{Bonus Successes}]]}}" style="width: 76px" class="blank-roll-button" type="roll" name="roll_AttackRoll">Attack:</button>
|
||||
<select name="attr_AttackAttribute" class="regular fancy">
|
||||
<option value="@{Strength}">Strength</option>
|
||||
<option value="@{Dexterity}" selected="true">Dexterity</option>
|
||||
@@ -735,7 +850,7 @@
|
||||
<input type="number" class="fancy" name="attr_AttackSpecialty" min="0" max="3" value="0" title="Specialty" />
|
||||
</div>
|
||||
<div>
|
||||
<button class="blank-roll-button" type="roll" name="roll_AttackDamage" value="/r [[{?{Minimum Damage|1},@{AttackDamage}+@{AttackDamageAttribute}+@{AttackDamageAbility}+?{Bonus Dice (Charms, Threshold Successes etc.)|1}-?{Target Soak|0}}kh1]]t[exalted]+?{Automatic Successes|0} @{AttackDamageType}">Damage:</button>
|
||||
<button value="&{template:damage} {{name=@{AttackName}}} {{damage type=@{AttackDamageType}}} {{damage=[[@{AttackDamage}]]}} {{attribute=[[@{AttackDamageAttribute}]]}} {{ability=[[@{AttackDamageAbility}]]}} {{bonus dice=[[?{Bonus Dice (Charms, Threshold Successes, etc.)|1}]]}} {{bonus successes=[[?{Bonus Successes|0}]]}} {{target soak=[[?{Target Soak|0}]]}} {{pool=[[(@{AttackDamage}+@{AttackDamageAttribute}+@{AttackDamageAbility}+?{Bonus Dice (Charms, Threshold Successes, etc.)}-?{Target Soak}-?{Minimum Damage|1})d0>1f<1]]}} {{minimum roll=[[?{Minimum Damage}t[exalted-damage]+?{Bonus Successes}]]}} {{roll=[[(@{AttackDamage}+@{AttackDamageAttribute}+@{AttackDamageAbility}+?{Bonus Dice (Charms, Threshold Successes, etc.)}-?{Target Soak})t[exalted-damage]+?{Bonus Successes}]]}}" class="blank-roll-button" type="roll" name="roll_AttackDamage">Damage:</button>
|
||||
<select name="attr_AttackDamageAttribute" class="regular fancy">
|
||||
<option value="0">–</option>
|
||||
<option value="@{Strength}">Strength</option>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
@@ -4,5 +4,5 @@
|
||||
"authors": "Brian Shields, Benjamin Bandelow",
|
||||
"preview": "exalted2e.jpg",
|
||||
"roll20userid": "235259,442",
|
||||
"instructions": "The roll buttons assume you have two rollable tables, one named `exalted` and one named `exalted-damage`.\n\nThe table `exalted` should have the following table items:\n\n* \"botch\" (weight 1)\n* \"0\" (weight 5)\n* \"1\" (weight 3)\n* \"2\" (weight 1)\n\nThe table `exalted-damage` should have the following table items:\n\n* \"0\" (weight 6)\n* \"1\" (weight 4)\n\nIf your campaign includes Sidereals throwing around Ascending and/or Descending Destinies, you will either need the API (a mentor feature) or alternate rollable tables, and the roll buttons on the sheet will not be correct.\n\n**When creating your own macros,** be sure to multiply any Ability by `1-Ability|max`, to account for abilities which have been reset to 0. For example, `/r (@{Dexterity}+@{Melee})t[exalted]` will roll your Dexterity and Melee together, however if the checkbox to reset Melee to 0 is ticked, the roll will be incorrect. Instead, use `/r (@{Dexterity+@{Melee}*(1-@{Melee|max}))t[exalted]`."
|
||||
}
|
||||
"instructions": "###Rollable Tables\nThe roll buttons assume you have two rollable tables, one named `exalted` and one named `exalted-damage`.\n\nThe table `exalted` should have the following table items:\n\n* \"botch\" (weight 1)\n* \"0\" (weight 5)\n* \"1\" (weight 3)\n* \"2\" (weight 1)\n\nThe table `exalted-damage` should have the following table items:\n\n* \"0\" (weight 6)\n* \"1\" (weight 4)\n\nIf your campaign includes Sidereals throwing around Ascending and/or Descending Destinies, you will either need the API (a mentor feature) or alternate rollable tables, and the roll buttons on the sheet will not be correct.\n\n**When creating your own macros,** be sure to multiply any Ability by `1-Ability|max`, to account for abilities which have been reset to 0. For example, `/r (@{Dexterity}+@{Melee})t[exalted]` will roll your Dexterity and Melee together, however if the checkbox to reset Melee to 0 is ticked, the roll will be incorrect. Instead, use `/r (@{Dexterity+@{Melee}*(1-@{Melee|max}))t[exalted]`.\n\n###Roll Templates\nThis sheet includes five roll templates: `joinbattle`, `joindebate`, `joinwar`, `attack`, and `damage`.\n\n`joinbattle` and `joindebate` both accept the properties `wits`, `awareness`, `bonus dice`, `bonus successes`, and `roll`. `joinwar` is the same, except `war` is used instead of `awareness`. If you create your own macros using these templates, each of the properties should be an inline roll and the `roll` property should roll an appropriate number of times on the `exalted` table.\n\n`attack` **requires** the properties `attribute`, `ability`, `specialty`, `accuracy`, `bonus dice`, `bonus successes`, and `roll`. As with the previous templates, if you create your own attack macros, these properties should all be inline rolls, and `roll` should roll on the `exalted` table. `attack` can *optionally* include the properties `name`, `attribute name`, `ability name`, and `specialty name`. The attack roll button in the repeating section on the **Combat** tab uses the weapon name for `name`, while the other name properties are unused. If supplied in a custom macro, they will be used in place of \"Attribute\", \"Ability\", and \"Specialty\".\n\n`damage` **requires** the properties `damage type`, `damage`, `bonus dice`, `bonus successes`, `target soak`, `pool`, `minimum roll`, and `roll`. `damage` can *optionally* include `name`, `attribute name`, `attribute`, `ability name`, and `ability`.\n\nThe properties `damage`, `attribute`, `ability`, `bonus dice`, `bonus successes`, `target soak`, `pool`, `minimum roll`, and `roll` should all be inline rolls. `minimum roll` should roll on the `exalted-damage` table a number of times equal to your minimum damage for the attack (generally 1, except for overwhelming weapons). `roll` should roll on the `exalted-damage` table the appropriate number of times. The two damage rolls are distinguised by the `pool` property. **In a custom macro, `pool` should be set to roll a number of zero-sided dice equal to your damage dice pool minus your minimum damage. This roll should generate successes on results of 1 or greater, and failures on results of 1 or less.** Such an inline roll looks something along the lines of `[[(Damage + Attribute + Ability + Bonus Dice - Target Soak - Minimum Damage)d0>1f<1]]`. This computation results in either 0 (for a die pool of 0 or less) or the size of the pool expressed as a negative value. This lets the template know whether to use your minimum damage or your regular damage."
|
||||
}
|
||||
Reference in New Issue
Block a user