Progress Move
@@ -18954,6 +19098,11 @@
{{/^rollGreater() rarityAction challenge1}}
{{/^rollTotal() rarityDie6 rarityAction}}{{/^rollLess() momentum 0}}
{{/rarityAction}}
+ {{#discoverASite}}
+
+
+
Clear {{discoverASite}} Progress
+
{{/discoverASite}}
{{#custom}}
{{#header}}
@@ -19487,22 +19636,7 @@ on('change:repeating_sites:domain_select', function(eventinfo) {
setAttrs({
repeating_sites_domain: eventinfo.newValue,
});
-});//Reset Health if set above Max
-on('change:health', function(healthChange) {
- getAttrs(["max_health"], function(values) {
- if (parseInt(healthChange.newValue) > parseInt(values.max_health)) {
- setAttrs({health: values.max_health});
- }
- });
-});
-
-on('change:health_reset', function() {
- getAttrs(["max_health"], function(values) {
- setAttrs({health: values.max_health});
- });
-});
-
-//Cannot increase Health while Wounded
+});//Cannot increase Health while Wounded
//Health reaching 0 marks Wounded
on('change:health', function(eventinfo) {
getAttrs(["debilWounded"], function(values) {
@@ -19529,53 +19663,16 @@ on('change:spirit', function(eventinfo) {
//Cannot increase Supply while Unprepared
//Supply reaching 0 marks Unprepared
on('change:supply', function(eventinfo) {
- getAttrs(["unprepared"], function(values) {
+ getAttrs(["debilUnprepared"], function(values) {
if(values.unprepared == "on") {
if (parseInt(eventinfo.newValue) > parseInt(eventinfo.previousValue)) {
setAttrs({supply: eventinfo.previousValue});
}
}
});
- if (parseInt(eventinfo.newValue) === 0) setAttrs({unprepared_button: "on"});
+ if (parseInt(eventinfo.newValue) === 0) setAttrs({debilUnprepared: "on"});
});
-
-// Edge sets Speed value
-on('change:edge', function(eventinfo) {
- setAttrs({speed: speedValues[eventinfo.newValue].full});
-});
-
-const speedValues = {
- '8': { full: '40ft/20ft. 12m/6m. 8/4', imperial: '40ft/20ft', metric: '12 m/6 m. ', units: '8/4' },
- '7': { full: '40ft/20ft. 12m/6m. 8/4', imperial: '40ft/20ft',metric: '12m/6m. ', units: '8/4' },
- '6': { full: '35ft/15ft. 10.5m/4.5m. 7/3', imperial: '35ft/15ft',metric: '10.5m/4.5m.', units: '7/3' },
- '5': { full: '35ft/15ft. 10.5m/4.5m. 7/3', imperial: '35ft/15ft',metric: '10.5m/4.5m.', units: '7/3' },
- '4': { full: '30ft/15ft. 9m/4.5m. 6/3', imperial: '30ft/15ft',metric: '9m/4.5m.', units: '6/3' },
- '3': { full: '30ft/15ft. 9m/4.5m. 6/3', imperial: '30ft/15ft',metric: '9m/4.5m.', units: '6/3' },
- '2': { full: '25ft/10ft. 7.5m/3m. 5/2', imperial: '25ft/10ft',metric: '7.5m/3m.', units: '5/2' },
- '1': { full: '25ft/10ft. 7.5m/3m. 5/2', imperial: '25ft/10ft',metric: '7.5m/3m.', units: '5/2' },
- '0': { full: '25ft/10ft. 7.5m/3m. 5/2', imperial: '25ft/10ft',metric: '7.5m/3m.', units: '5/2' }
-}
-
-// Heart sets Resilience value
-on('change:heart', function(eventinfo) {
- let resValue = parseInt(eventinfo.newValue) + 1
- setAttrs({resilience: resValue});
-});
-
-// Iron sets Max Load value
-on('change:iron', function(eventinfo) {
- let loadValue = parseInt(eventinfo.newValue) + 4
- setAttrs({max_load: loadValue});
-});
-
-// Setting Encumbered if load is over max
-on('change:load', function(eventinfo) {
- getAttrs(['max_load'], function(values) {
- if (parseInt(eventinfo.newValue) > parseInt(values.max_load)) {
- setAttrs({encumbered: 'on'});
- }
- });
-});on('remove:repeating_vow remove:repeating_bonds remove:repeating_progress remove:repeating_sites remove:repeating_assets', function() {
+ on('remove:repeating_vow remove:repeating_bonds remove:repeating_progress remove:repeating_sites remove:repeating_assets', function() {
const timestamp = Number(new Date())
setAttrs({ repeat_delete: timestamp });
});
diff --git a/Ironsworn/src/components/moves/mixins/container.pug b/Ironsworn/src/components/moves/mixins/container.pug
index 6d46d693d7..e3bb4a197a 100644
--- a/Ironsworn/src/components/moves/mixins/container.pug
+++ b/Ironsworn/src/components/moves/mixins/container.pug
@@ -1,44 +1,53 @@
-mixin progressRoll(opts)
+mixin progressRoll(opts, visibility)
button(
type="roll"
title=opts.title
name=`roll${opts.name}`
- class='hide'
+ class=visibility
value=`&{template:ironsworn_progress} {{header=@{character_name}}} {{progress_name=${opts.title}}} {{progress=[[?{Filled Progress|0}]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}}`
)
-mixin oracleRoll(opts)
+mixin oracleRoll(opts, visibility)
button(
type="roll"
title=opts.title
name=`roll${opts.name}`
- class='hide'
+ class=visibility
value=`&{template:${opts.type}} {{header=${opts.title}}} {{${opts.name}=[[d100]]}}`
)
-mixin rarityRoll(opts)
+mixin discoverASiteRoll(opts, visibility)
+ button(
+ type="roll"
+ title=opts.title
+ name=`roll${opts.name}`
+ class=visibility
+ value=`&{template:ironsworn_moves} {{header=${opts.title}}} {{${opts.name}=[[2d10kl1]]}}`
+ )
+
+mixin rarityRoll(opts, visibility)
button(
type="roll"
title=`${opts.title} Move`
- class='hide'
+ class=visibility
name=`roll${opts.name}`
value!=`&{template:ironsworn_moves} {{header=@{character_name}}} {{name=${opts.title}}} {{rarityAction=[[d6+${opts.stat}+(?{Modifier|0})]]}} {{negate1=[[1+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate2=[[2+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate3=[[3+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate4=[[4+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate5=[[5+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate6=[[6+${opts.stat_repeat}+(?{Modifier|0})]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}} {{momentum=[[@{momentum}]]}} {{modifiers=[[${opts.stat_repeat}+(?{Modifier|0})]]}} {{add=[[(?{Modifier|0})]]}} {{stat=[[${opts.stat_repeat}]]}} {{rarityDie6=[[6+${opts.stat_repeat}+(?{Modifier|0})]]}} {{rarityDie5=[[5+${opts.stat_repeat}+(?{Modifier|0})]]}} {{rarityDie1=[[1+${opts.stat_repeat}+(?{Modifier|0})]]}}`
)
-mixin owlRoll(opts)
+mixin owlRoll(opts, visibility)
button(
type="roll"
title=`${opts.title} Move`
- class='hide'
+ class=visibility
name=`roll${opts.name}`
value!=`&{template:ironsworn_moves} {{header=@{character_name}}} {{name=${opts.title}}} {{action=[[d6+${opts.stat}+(?{Modifier|0})]]}} {{owl=[[?{Owl Companion|No,0|Yes,?{Owl's Health|0}}]]}} {{negate1=[[1+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate2=[[2+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate3=[[3+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate4=[[4+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate5=[[5+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate6=[[6+${opts.stat_repeat}+(?{Modifier|0})]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}} {{momentum=[[@{momentum}+(?{Owl Companion})]]}} {{modifiers=[[${opts.stat_repeat}+(?{Modifier|0})]]}} {{add=[[(?{Modifier|0})]]}} {{stat=[[${opts.stat_repeat}]]}}`
)
-mixin movesRoll(opts)
+mixin movesRoll(opts, visibility)
button(
type="roll"
title=`${opts.title} Move`
- class='hide'
+ class=visibility
name=`roll${opts.name}`
value!=`&{template:ironsworn_moves} {{header=@{character_name}}} {{name=${opts.title}}} {{action=[[d6+${opts.stat}+(?{Modifier|0})]]}} {{negate1=[[1+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate2=[[2+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate3=[[3+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate4=[[4+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate5=[[5+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate6=[[6+${opts.stat_repeat}+(?{Modifier|0})]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}} {{momentum=[[@{momentum}]]}} {{modifiers=[[${opts.stat_repeat}+(?{Modifier|0})]]}} {{add=[[(?{Modifier|0})]]}} {{stat=[[${opts.stat_repeat}]]}}`
)
@@ -59,36 +68,37 @@ mixin container(opts)
div.roll-viewer
if opts.progress
+rollLabel
- +progressRoll(opts)
+ +progressRoll(opts, 'hide')
else if opts.oracle
+rollLabel
- +oracleRoll(opts)
+ +oracleRoll(opts, 'hide')
else if opts.rarity
+rollLabel
- +rarityRoll(opts)
+ +rarityRoll(opts, 'hide')
else if opts.owl
+rollLabel
- +owlRoll(opts)
+ +owlRoll(opts, 'hide')
+ else if opts.discover_a_site
+ +rollLabel
+ +discoverASiteRoll(opts, 'hide')
else
+rollLabel
- +movesRoll(opts)
+ +movesRoll(opts, 'hide')
div.move-description
block
div.oracle-footer.move-page-footer=opts.page
mixin listButton(opts)
- if opts.progress
- +rollListLabel
- +progressRoll(opts)
- else if opts.oracle
- +rollListLabel
- +oracleRoll(opts)
- else if opts.rarity
- +rollListLabel
- +rarityRoll(opts)
- else if opts.owl
- +rollListLabel
- +owlRoll(opts)
- else
- +rollListLabel
- +movesRoll(opts)
\ No newline at end of file
+ .button-container
+ if opts.progress
+ +progressRoll(opts, 'roll-show')
+ else if opts.oracle
+ +oracleRoll(opts, 'roll-show')
+ else if opts.rarity
+ +rarityRoll(opts, 'roll-show')
+ else if opts.owl
+ +owlRoll(opts, 'roll-show')
+ else if opts.discover_a_site
+ +discoverASiteRoll(opts, 'roll-show')
+ else
+ +movesRoll(opts, 'roll-show')
\ No newline at end of file
diff --git a/Ironsworn/src/components/moves/moves.pug b/Ironsworn/src/components/moves/moves.pug
index 484f85d6d7..86699c2dc3 100644
--- a/Ironsworn/src/components/moves/moves.pug
+++ b/Ironsworn/src/components/moves/moves.pug
@@ -23,6 +23,7 @@ input(type='radio' class='hide full-move-list' name='attr_move_view' value='1' c
h3=group.title
each move in group.moves
.move-list
+ +listButton(moveList[move.value])
label.move
input(type='radio' class='hide selected-move' name='attr_selected_move' value=move.value)
input(type='checkbox' class='hide move-highlight' name=`attr_${move.value}_highlight`)
diff --git a/Ironsworn/src/components/moves/moves.styl b/Ironsworn/src/components/moves/moves.styl
index 4101c4ad25..ba01d8e536 100644
--- a/Ironsworn/src/components/moves/moves.styl
+++ b/Ironsworn/src/components/moves/moves.styl
@@ -19,7 +19,7 @@ div
input
&.sheet-search-preview-bar
width 17.6em
- border 2px solid #4C4D4F
+ borderCommon()
border-radius 0
&:focus
outline 3px solid #fd0
@@ -27,7 +27,7 @@ input
box-shadow inset 0 0 0 2px
&.sheet-search-bar
width 50%
- border 2px solid #4C4D4F
+ borderCommon()
&:focus
outline 3px solid #fd0
outline-offset 0
@@ -51,23 +51,23 @@ input
.sheet-move-scroll-list
width 21.9em
overflow auto
- border 2px solid #4C4D4F
+ borderCommon()
padding 0
height 50em
.sheet-move-container
- display flex
flex-wrap wrap
flex-direction column
justify-content space-between
- height 36em
+ height 45em
margin-top 1em
display flex
font-size 1em
font-weight normal
+ align-content space-between
.sheet-move-scroll-list
overflow auto
- border 2px solid #4C4D4F
+ borderCommon()
padding 1em
width max-content
@@ -82,6 +82,10 @@ input
h3
color #fff
+.sheet-move-name
+ width 100%
+ borderCommon()
+
.sheet-move-highlight
&:checked
& ~ .sheet-move-name
@@ -89,13 +93,20 @@ input
outline-offset 0
box-shadow inset 0 0 0 2px
+.sheet-roll-show
+ padding 0 !important
+ font-size 20px !important
+ margin 0 !important
+ &:hover
+ color white
+
.sheet-move-list
padding 0
+ display flex
label
cursor pointer
div
font-weight 600
- width 100%
font-size 14px
text-align center
margin 0 0 0px
@@ -122,7 +133,7 @@ span
margin-left 1em
.sheet-move-group
- border 2px solid #4C4D4F
+ borderCommon()
box-sizing border-box
width 30%
margin 0.3em
@@ -130,7 +141,7 @@ span
height -moz-fit-content
.sheet-move-group-scroll
- border 2px solid #4C4D4F
+ borderCommon()
box-sizing border-box
height fit-content
height -moz-fit-content
@@ -188,7 +199,7 @@ span
.sheet-move-description
std-font('Crimson Text')
padding 1em
- border 2px solid #4C4D4F
+ borderCommon()
p
margin-bottom 0.3em
diff --git a/Ironsworn/src/components/oracles/oracles.styl b/Ironsworn/src/components/oracles/oracles.styl
index 758227b4d6..fbb786ae1d 100644
--- a/Ironsworn/src/components/oracles/oracles.styl
+++ b/Ironsworn/src/components/oracles/oracles.styl
@@ -117,7 +117,7 @@ span.sheet-oracle-result
width 80%
.sheet-oracle-box
- border: 2px solid #4C4D4F
+ borderCommon()
box-sizing: border-box
width: 100%
diff --git a/Ironsworn/src/data/move-list.pug b/Ironsworn/src/data/move-list.pug
index 80ddf69332..59a3d439ba 100644
--- a/Ironsworn/src/data/move-list.pug
+++ b/Ironsworn/src/data/move-list.pug
@@ -286,7 +286,7 @@
p: `If you are returning to a previously explored site, roll both challenge dice, take the lowest value, and clear that number of progress boxes. Then, Delve the Depths to explore this place.`
}
],
- discover: true
+ discover_a_site: true
},
draw_the_circle: {
title: 'Draw the Circle',
@@ -368,8 +368,8 @@
class: 'endure-harm',
page: 'Ironsworn - page 91',
radio: 'endure_harm',
- stat: `@{iron}`,
- stat_repeat: '@{iron}',
+ stat: `?{Stat|Health,@{health}|Iron,@{iron}}`,
+ stat_repeat: '?{Stat}',
system: 'ironsworn',
content: [
{
diff --git a/Ironsworn/src/package-lock.json b/Ironsworn/src/package-lock.json
index 3e70a3c89e..8c7a564b1c 100644
--- a/Ironsworn/src/package-lock.json
+++ b/Ironsworn/src/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "ironsworn",
- "version": "0.0.1",
+ "version": "2.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/Ironsworn/src/roll-templates/moves/moves.pug b/Ironsworn/src/roll-templates/moves/moves.pug
index c7e264a721..d93ec085fd 100644
--- a/Ironsworn/src/roll-templates/moves/moves.pug
+++ b/Ironsworn/src/roll-templates/moves/moves.pug
@@ -39,6 +39,12 @@ rolltemplate.sheet-rolltemplate-ironsworn_moves
| {{/^rollLess() momentum 0}}
| {{/rarityAction}}
+ | {{#discoverASite}}
+ .sheet-subheader {{header}}
+ .sheet-result-row
+ .sheet-oracle-table-text Clear {{discoverASite}} Progress
+ | {{/discoverASite}}
+
| {{#custom}}
| {{#header}}
div.sheet-result-body.sheet-result-row
diff --git a/Ironsworn/src/roll-templates/oracles/oracles.styl b/Ironsworn/src/roll-templates/oracles/oracles.styl
index 3703e1be57..d87c6c52c2 100644
--- a/Ironsworn/src/roll-templates/oracles/oracles.styl
+++ b/Ironsworn/src/roll-templates/oracles/oracles.styl
@@ -1,5 +1,6 @@
.sheet-rolltemplate-ironsworn_oracles .sheet-result-row,
.sheet-rolltemplate-moves_oracles .sheet-result-row,
+.sheet-rolltemplate-ironsworn_moves .sheet-result-row,
.sheet-rolltemplate-delve_oracles .sheet-result-row
padding 0.5em