mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-31 12:12:30 +00:00
Ironsworn - Character Sheet
Building Sheet
This sheet uses pugjs for HTML templating, along with Stylus from CSS templating. To build finished sheet run the following commands from command line or terminal:
cd src
npm install
// Mac or Linux
npm run build:pug
// Windows
npm run build:pug:win
npm run build:css
These will then generate a dist folder that will have the finished code. From their you can upload them into the custom sheet sandbox for testing.
Compatibility
The sheet has been tested across multiple browsers and devices, show below in the compatibility matrix:
| Browser | Windows | MacOs | Android | iOS |
|---|---|---|---|---|
| Chrome | yes | yes | yes | yes |
| Firefox | yes | yes | yes | yes |
| Safari | no | yes | no | yes |
Roll Logic
Wield a Rarity
Structured it using javascript for readability.
if (actionWithRarity == (negativeMomentum + modifiers)) {
negateActionDie()
if (modifiers > firstChallengeDie) {
if (firstChallengeDie == secondChallengeDie) {
opportunity()
} else {
if (modifiers > secondChallengeDie) {
strongHit()
} else {
weakHit()
}
}
} else {
if (firstChallengeDie == secondChallengeDie) {
complication()
} else {
if (modifiers > secondChallengeDie) {
weakHit()
} else {
miss()
}
}
}
} else {
if (actionWithRarity > firstChallengeDie) {
if (firstChallengeDie == secondChallengeDie) {
opportunity()
if (actionWithRarity == (6 + modifiers)) {
rarityDramatic()
}
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
} else {
if (actionWithRarity > secondChallengeDie) {
strongHit()
if (actionWithRarity == (6 + modifiers)) {
rarityDramatic()
}
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
} else {
if (actionWithRarity == (6 + modifiers)) {
strongHit()
rarityDramatic()
} else {
weakHit()
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
if (momentum > secondChallengeDie) {
burnMomentum('Strong Hit')
}
}
}
}
} else {
if (firstChallengeDie == secondChallengeDie) {
if (actionWithRarity == (6 + modifiers)) {
strongHit()
rarityDramatic()
} else {
complication()
if (actionWithRarity == (1 + modifiers)) {
rarityMiss()
}
if (momentum > firstChallengeDie) {
burnMomentum('Strong Hit')
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
}
}
} else {
if (actionWithRarity > secondChallengeDie) {
if (actionWithRarity == (6 + modifiers)) {
strongHit()
rarityDramatic()
} else {
weakHit()
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
if (momentum > firstChallengeDie) {
if (momentum > secondChallengeDie) {
burnMomentum('Strong Hit')
}
}
}
} else {
if (actionWithRarity == (6 + modifiers)) {
strongHit()
rarityDramatic()
} else {
miss()
if (actionWithRarity == (1 + modifiers)) {
rarityMiss()
}
if (momentum > firstChallengeDie) {
if (momentum > secondChallengeDie) {
burnMomentum('Strong Hit')
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
} else {
burnMomentum('Weak Hit')
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
}
} else {
if (momentum > secondChallengeDie) {
burnMomentum('Weak Hit')
if (actionWithRarity == (5 + modifiers)) {
raritySubtle()
}
}
}
}
}
}
}
}