diff --git a/Ironsworn-Starforged/Ironsworn-starforged.html b/Ironsworn-Starforged/Ironsworn-starforged.html index 3ba79971a7be..57d161b0c154 100644 --- a/Ironsworn-Starforged/Ironsworn-starforged.html +++ b/Ironsworn-Starforged/Ironsworn-starforged.html @@ -7468,9 +7468,9 @@

Fate Mo

When you begin a significant session or chapter of play, do all of the following.

  • Identify or adjust flagged content and Set a Flag.
  • Review or recap what happened last session.
  • Set the scene by envisioning your character’s current situation and intent.

In addition, you may spotlight a new danger, opportunity, or insight. This can include a scene hidden from your character’s perspective. If you do, envision a brief vignette (you may roll or choose on the table below for inspiration). Then, all players take +1 momentum as you return to play from the viewpoint of your characters.

- + @@ -7740,9 +7740,9 @@

Fate Mo

When your exploration of a waypoint uncovers something wondrous, roll on the table below or choose one. Then, envision the nature of the discovery and how it is revealed. When you first experience or engage with the discovery, you and your allies may mark two ticks on your discoveries legacy track.

- +

1-10
@@ -7848,9 +7848,9 @@

Fate Mo

When your exploration of a waypoint uncovers something dreadful, decide the number of aspects: one, two, or three. Roll that number of times or choose that number of aspects on the table below. Then, envision how the encounter begins.

For each result, when you first confront that aspect within the scope of the encounter, you and your allies may mark one tick on your discoveries legacy track.

- +

1-4
@@ -8052,9 +8052,9 @@

Fate Mo

When you seize an objective in a fight, envision how you take decisive action. Then, roll the challenge dice and compare to your progress.

If you are in control, check the result as normal. If you are in a bad spot, count a strong hit as a weak hit, and a weak hit as a miss.

On a strong hit, you prevail. Take +1 momentum. If any objectives remain and the fight continues, you are in control.

On a weak hit, you achieve your objective, but not without cost. Roll on the table below or choose one. If the fight continues, you are in a bad spot.

On a miss, you are defeated or your objective is lost. Pay the Price.

- +

1-4
@@ -8116,9 +8116,9 @@

Fate Mo

When you face physical injury, fatigue, or illness, suffer -1 health for minor harm, -2 for serious harm, or -3 for major harm. If your health is 0, Lose Momentum equal to any remaining harm.

Then, if your health is 0 or you choose to resist the harm, roll +health or +iron, whichever is higher.

On a strong hit, choose one.

  • Shake it off: If you are not wounded, take +1 health
  • Embrace the pain: Take +1 momentum

On a weak hit, if you are not wounded, you may Lose Momentum (-1) in exchange for +1 health. Otherwise, press on.

On a miss, it’s worse than you thought. Suffer an additional -1 health or Lose Momentum (-2). If your health is 0, you must also mark wounded or permanently harmed, or roll on the table below.

- +

1-40
@@ -8155,9 +8155,9 @@

Fate Mo

When you face mental strain, shock, or despair, suffer -1 spirit for minor stress, -2 for serious stress, or -3 for major stress. If your spirit is 0, Lose Momentum equal to any remaining stress.

Then, if your spirit is 0 or you choose to resist the stress, roll +spirit or +heart, whichever is higher.

On a strong hit, choose one.

  • Shake it off: If you are not shaken, take +1 spirit
  • Embrace the darkness: Take +1 momentum

On a weak hit, if you are not shaken, you may Lose Momentum (-1) in exchange for +1 spirit. Otherwise, press on.

On a miss, it's worse than you thought. Suffer an additional -1 spirit or Lose Momentum (-2). If your spirit is 0, you must also mark shaken or traumatized, or roll on the table below.

- +

1-10
@@ -8190,9 +8190,9 @@

Fate Mo

When your vehicle faces a damaging situation or environment, suffer -1 integrity for minor damage, -2 for serious damage, or -3 for major damage. If your integrity is 0, Lose Momentum equal to any remaining damage.

Then, if your integrity is 0 or you choose to resist the damage, roll +integrity.

On a strong hit, choose one.

  • Bypass: If your vehicle is not battered, take +1 integrity
  • Ride it out: Take +1 momentum

On a weak hit, if your vehicle is not battered, you may Lose Momentum (-1) in exchange for +1 integrity. Otherwise, press on.

On a miss, it’s worse than you thought. Suffer an additional -1 integrity or Lose Momentum (-2). If your integrity is 0, also suffer a cost according to the vehicle type.

  • Command vehicle: Mark the vehicle as battered or cursed, mark a module as broken, destroy a broken module by discarding it, or roll on the table below. If the command vehicle is destroyed, Overcome Destruction.
  • Support vehicle: Mark the vehicle as battered or roll on the table below. If the vehicle is destroyed, discard the asset.
  • Incidental vehicle: Roll on the table below.
- +

1-10
@@ -8385,6 +8385,29 @@

Fate Mo

When you seek to resolve questions, reveal details, discover locations, determine how other characters respond, or trigger encounters or events, you may…

  • Draw a conclusion: Decide the answer based on the most interesting and obvious result.
  • Spark an idea: Use an oracle table or other random prompt.
  • Ask a yes/no question: Decide the odds of a yes, and roll on the table below to check the answer.
  • Pick two: Envision two options. Rate one as likely, and roll on the table below to see if it is true. If not, it is the other.

1-10
OddsThe answer is yes if you roll…
Small Chance10 or less
Unlikely25 or less
50/5050 or less
Likely75 or less
Sure thing90 or less

On a match, envision an extreme result or twist.

+ + + + + + + + + + + + + + + + + + + + +
Almost CertainLikelyFifty-fiftyUnlikelySmall ChanceResult
1-90Yes
91-100No
@@ -8396,9 +8419,9 @@

Fate Mo

When you suffer the outcome of an action, choose one.

  • Make the most obvious negative outcome happen.
  • Ask the Oracle for inspiration. Interpret the answer as a hardship or complication appropriate to the current situation.
  • Roll on the table below. If you have difficulty interpreting the result to fit the current situation, roll again.
- + @@ -8707,808 +8730,808 @@
epic
Character Creation
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Characters
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Core
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Creatures
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Derelicts
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Factions
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Location Themes
-
- -
- +
+ +
+
Misc
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Moves
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Planets
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Settlements
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Space
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Starships
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Vaults
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
@@ -9527,808 +9550,808 @@
epic
Character Creation
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Characters
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Core
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Creatures
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Derelicts
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Factions
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Location Themes
-
- -
- +
+ +
+
Misc
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Moves
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Planets
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Settlements
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Space
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Starships
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
Vaults
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
-
- -
- +
+ +
+
diff --git a/Ironsworn-Starforged/src/app/components/moves/mixins/move-builder.pug b/Ironsworn-Starforged/src/app/components/moves/mixins/move-builder.pug index 2f059aa6d8e1..0cac988ad0de 100644 --- a/Ironsworn-Starforged/src/app/components/moves/mixins/move-builder.pug +++ b/Ironsworn-Starforged/src/app/components/moves/mixins/move-builder.pug @@ -1,5 +1,6 @@ include ./container include ../../oracles/mixins/oracle-table +include ../../oracles/mixins/oracle-roll-btn mixin movePreviewFactory(move, options) +container(move, options) @@ -11,7 +12,7 @@ mixin movePreviewFactory(move, options) if moveOracle.Table +oracleSingleButton(moveOracle, btnText) +oracleTable(moveOracle) - else if moveOracle.Tables + else if moveOracle.Oracles +oracleMultiBtn(moveOracle) +oracleMultiSubTable(moveOracle, btnText) diff --git a/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-roll-btn.pug b/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-roll-btn.pug index b0ded1a613b1..5d82c38fede3 100644 --- a/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-roll-btn.pug +++ b/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-roll-btn.pug @@ -17,6 +17,7 @@ mixin oracleSubOraclesListGroupItem(id, buttonLabel, oracles) options.push(`${tableLabel},${counter}`); counter++; }) + console.log('opt 1', options) - const rollQuery = `{{tableChoice=[[(?{Choose Table|${options.join('|')}})]]}}` +oracleRollBtn(id, buttonLabel, rollQuery) @@ -47,9 +48,10 @@ mixin oracleRollBtn(id, buttonLabel, rollQuery="") mixin oracleMultiBtn(oracle, btnText, indexOffset=0) - const labelText = oracle['Name'] - - const options = oracle.Tables.map((table, index) => { return `${table['Name']},${index+indexOffset}` }) + - const options = oracle.Oracles.map((table, index) => { return `${table['Name']},${index+indexOffset}` }) + - console.log('opt 2', options) - const rollQuery = `{{tableChoice=[[(?{Choose Table|${options.join('|')}})]]}} {{header=${labelText}}}` - - const id = oracle.id + - const id = oracle.$id label.roll-label.embedded-btn=btnText||labelText button.hide-element( type='roll' @@ -60,7 +62,7 @@ mixin oracleMultiBtn(oracle, btnText, indexOffset=0) mixin oracleSingleButton(oracle, btnText) - const labelText=oracle.Name - - const id = oracle.id + - const id = oracle.$id label.roll-label.surface-2.embedded-btn=btnText||labelText button.hide-element( type='roll' diff --git a/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-table.pug b/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-table.pug index d1910d1cc832..a1b955b1a144 100644 --- a/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-table.pug +++ b/Ironsworn-Starforged/src/app/components/oracles/mixins/oracle-table.pug @@ -10,18 +10,18 @@ mixin oracleMultiSubTable(oracle, header=false) - let mergedRows = []; //- if all subtables have the same number of rows - if (oracle.Tables.every(subtable => - subtable.Table.length == oracle.Tables[0].Table.length + if (oracle.Oracles.every(subtable => + subtable.Table.length == oracle.Oracles[0].Table.length //- && subtable.Table.map(row => row.Description) == oracle.Tables[0].Table.map(row => row.Description) )) { - oracle.Tables[0].Table.forEach((row, index) => { + oracle.Oracles[0].Table.forEach((row, index) => { let newRow = _.clone(row); newRow.Chance = []; - oracle.Tables.forEach(subOracle => newRow.Chance.push(subOracle.Table[index].Chance)); + oracle.Oracles.forEach(subOracle => newRow.Chance.push(subOracle.Table[index].Chance)); mergedRows.push(newRow); }) } else { - let tables = oracle.Tables.map(subtable => subtable.Table); + let tables = oracle.Oracles.map(subtable => subtable.Table); let baseTable = _.clone(tables.reduce((a, b) => a.length > b.length ? a : b)); // selects longest as starting point baseTable.forEach((row) => { @@ -49,10 +49,10 @@ mixin oracleMultiSubTable(oracle, header=false) thead if (header===true) tr - th.oracle-subtitle(colspan=(oracle.Tables.length+1))=oracle['Display name']||oracle.Name + th.oracle-subtitle(colspan=(oracle.Oracles.length+1))=oracle.Name tr - each subOracle in oracle.Tables - th.oracle-column-head.oracle-roll=subOracle.Name||subOracle['Display name'].replace(/^.* - /g, "") + each subOracle in oracle.Oracles + th.oracle-column-head.oracle-roll=subOracle.Name.replace(/^.* - /g, "") th.oracle-column-head.oracle-roll=`Result` each row, index in mergedRows +oracleTableRow(mergedRows, row, index)
1-2