Latest revision |
Your text |
Line 10: |
Line 10: |
| At best (28 leaves): 3.3EPA | | At best (28 leaves): 3.3EPA |
| Average 2.77 EPA (barely worth it) | | Average 2.77 EPA (barely worth it) |
− |
| |
− | __NOTOC____NOEDITSECTION__
| |
− | ==Parameters==
| |
− | ===Stats & Success Probabilities===
| |
− | '''Campaign''': The Cats{{#switch:The Cats
| |
− | |Viscountess = {{#vardefine:story_waste|1}}<!--
| |
− | -->{{#vardefine:story_mount|0}}<!--
| |
− | -->{{#vardefine:story_river|2}}<!--
| |
− | -->{{#vardefine:short|yes}}
| |
− | |Ophidian Gentleman = {{#vardefine:story_waste|2}}<!--
| |
− | -->{{#vardefine:story_mount|2}}<!--
| |
− | -->{{#vardefine:story_river|2}}<!--
| |
− | -->{{#vardefine:short|yes}}
| |
− | |Second City Priest = {{#vardefine:story_waste|2}}<!--
| |
− | -->{{#vardefine:story_mount|3}}<!--
| |
− | -->{{#vardefine:story_river|4}}<!--
| |
− | -->{{#vardefine:short|yes}}
| |
− | |The Cats = {{#vardefine:story_waste|1}}<!--
| |
− | -->{{#vardefine:story_mount|2}}<!--
| |
− | -->{{#vardefine:story_river|1}}<!--
| |
− | -->{{#vardefine:story_shore|2}}<!--
| |
− | -->{{#vardefine:story_forest|4}}
| |
− | |The Fingerkings = {{#vardefine:story_waste|1}}<!--
| |
− | -->{{#vardefine:story_mount|1}}<!--
| |
− | -->{{#vardefine:story_river|3}}<!--
| |
− | -->{{#vardefine:story_shore|3}}<!--
| |
− | -->{{#vardefine:story_forest|4}}
| |
− | |The Chessboard = {{#vardefine:story_waste|1}}<!--
| |
− | -->{{#vardefine:story_mount|3}}<!--
| |
− | -->{{#vardefine:story_river|3}}<!--
| |
− | -->{{#vardefine:story_shore|3}}<!--
| |
− | -->{{#vardefine:story_forest|3}}
| |
− | |Yourself = {{#vardefine:story_waste|1}}<!--
| |
− | -->{{#vardefine:story_mount|1}}<!--
| |
− | -->{{#vardefine:story_river|1}}<!--
| |
− | -->{{#vardefine:story_shore|1}}<!--
| |
− | -->{{#vardefine:story_forest|4}}
| |
− | }} (Total story actions: {{#expr:{{#var:story_waste}}+{{#var:story_mount}}+{{#var:story_river}}+{{#var:story_shore|0}}+{{#var:story_forest|0}} }})
| |
− |
| |
− | '''General''': {{#vardefineecho:gen|Cat}}<!--
| |
− | -->{{#vardefine:gen_level|3}}<!--
| |
− | -->{{#ifeq:{{#var:gen}}|(none)||, level {{#var:gen_level}} }}<!--
| |
− | -->{{#vardefine:gen_cat|0}}{{#vardefine:gen_snek|0}}{{#vardefine:gen_chess|0}}<!--
| |
− | -->{{#switch:{{#var:gen}}
| |
− | |Snake = {{#vardefine:gen_snek|{{#expr:15*{{#var:gen_level}}}}}}
| |
− | |Cat = {{#vardefine:gen_cat|{{#expr:15*{{#var:gen_level}}}}}}
| |
− | |Chess = {{#vardefine:gen_chess|{{#expr:15*{{#var:gen_level}}}}}} }}
| |
− |
| |
− | {|class="article-table mw-collapsible mw-collapsed"
| |
− | !Success Chances
| |
− | !Slow
| |
− | !Fast
| |
− | !Gain Morale
| |
− | !Spend Morale
| |
− | !Airs
| |
− | |-
| |
− | |{{IL|Shadowy}} {{#vardefineecho:sha|306}}
| |
− | |{{#expr:100* {{#vardefineecho:sha_slow|{{#ifexpr:{{#var:sha}} > (150-{{#var:gen_cat}})/.6 | 1 | {{#expr:.6*{{#var:sha}}/(150-{{#var:gen_cat}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:sha_fast|{{#ifexpr:{{#var:sha}} > (250-{{#var:gen_cat}})/.6 | 1 | {{#expr:.6*{{#var:sha}}/(250-{{#var:gen_cat}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:sha_gain|{{#ifexpr:{{#var:sha}} > (200-{{#var:gen_cat}})/.6 | 1 | {{#expr:.6*{{#var:sha}}/(200-{{#var:gen_cat}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:sha_spend|{{#ifexpr:{{#var:sha}} > (90-{{#var:gen_cat}})/.6 | 1 | {{#expr:.6*{{#var:sha}}/(90-{{#var:gen_cat}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:sha_airs|{{#ifexpr:{{#var:sha}} > (250-{{#var:gen_cat}})/.6 | 1 | {{#expr:.6*{{#var:sha}}/(250-{{#var:gen_cat}}) }}}}}} round 0}}%
| |
− | |-
| |
− | |{{IL|Dangerous}} {{#vardefineecho:dan|314}}
| |
− | |{{#expr:100* {{#vardefineecho:dan_slow|{{#ifexpr:{{#var:dan}} > 150/.6 | 1 | {{#expr:.6*{{#var:dan}}/150 }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:dan_fast|{{#ifexpr:{{#var:dan}} > 250/.6 | 1 | {{#expr:.6*{{#var:dan}}/250 }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:dan_gain|{{#ifexpr:{{#var:dan}} > 175/.6 | 1 | {{#expr:.6*{{#var:dan}}/175 }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:dan_spend|{{#ifexpr:{{#var:dan}} > 90/.6 | 1 | {{#expr:.6*{{#var:dan}}/90 }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:dan_airs|{{#ifexpr:{{#var:dan}} > 250/.6 | 1 | {{#expr:.6*{{#var:dan}}/250 }}}}}} round 0}}%
| |
− | |-
| |
− | |{{IL|Watchful}} {{#vardefineecho:wat|335}}
| |
− | |{{#expr:100* {{#vardefineecho:wat_slow|{{#ifexpr:{{#var:wat}} > (150-{{#var:gen_chess}})/.6 | 1 | {{#expr:.6*{{#var:wat}}/(150-{{#var:gen_chess}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:wat_fast|{{#ifexpr:{{#var:wat}} > (250-{{#var:gen_chess}})/.6 | 1 | {{#expr:.6*{{#var:wat}}/(250-{{#var:gen_chess}}) }}}}}} round 0}}%
| |
− | |N/A
| |
− | |{{#expr:100* {{#vardefineecho:wat_more|{{#ifexpr:{{#var:wat}} > (90-{{#var:gen_chess}})/.6 | 1 | {{#expr:.6*{{#var:wat}}/(90-{{#var:gen_chess}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:wat_airs|{{#ifexpr:{{#var:wat}} > (250-{{#var:gen_chess}})/.6 | 1 | {{#expr:.6*{{#var:wat}}/(250-{{#var:gen_chess}}) }}}}}} round 0}}%
| |
− | |-
| |
− | |{{IL|Persuasive}} {{#vardefineecho:per|334}}
| |
− | |{{#expr:100* {{#vardefineecho:per_slow|{{#ifexpr:{{#var:per}} > (150-{{#var:gen_snek}})/.6 | 1 | {{#expr:.6*{{#var:per}}/(150-{{#var:gen_snek}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:per_fast|{{#ifexpr:{{#var:per}} > (250-{{#var:gen_snek}})/.6 | 1 | {{#expr:.6*{{#var:per}}/(250-{{#var:gen_snek}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:per_gain|{{#ifexpr:{{#var:per}} > (200-{{#var:gen_snek}})/.6 | 1 | {{#expr:.6*{{#var:per}}/(200-{{#var:gen_snek}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:per_spend|{{#ifexpr:{{#var:per}} > (90-{{#var:gen_snek}})/.6 | 1 | {{#expr:.6*{{#var:per}}/(90-{{#var:gen_snek}}) }}}}}} round 0}}%
| |
− | |{{#expr:100* {{#vardefineecho:per_airs|{{#ifexpr:{{#var:per}} > (250-{{#var:gen_snek}})/.6 | 1 | {{#expr:.6*{{#var:per}}/(250-{{#var:gen_snek}}) }}}}}} round 0}}%
| |
− | |}
| |
− |
| |
− | {|class="article-table mw-collapsible mw-collapsed"
| |
− | !Skill !! Level !! Sucess Rate
| |
− | |-
| |
− | |{{IL|Glasswork}} || 10 || {{#expr:100* {{#vardefineecho:glass|{{#ifexpr:10>9| 1 | {{#expr:{{#ifeq:10|0|1|10}}/10}}}}}} round 0}}%
| |
− | |-
| |
− | |{{IL|Kataleptic Toxicology}} || 10 || {{#expr:100* {{#vardefineecho:toxic|{{#ifexpr:10>9| 1 | {{#expr:{{#ifeq:10|0|1|10}}/10}}}}}} round 0}}%
| |
− | |-
| |
− | |{{IL|Mithridacy}} || 10 || {{#expr:100* {{#vardefineecho:mith|{{#ifexpr:10>9| 1 | {{#expr:{{#ifeq:10|0|1|10}}/10}}}}}} round 0}}%
| |
− | |-
| |
− | |{{IL|A Player of Chess}} || 10 || {{#expr:100* {{#vardefineecho:chess|{{#ifexpr:10>9| 1 | {{#expr:{{#ifeq:10|0|1|10}}/10}}}}}} round 0}}%
| |
− | |}
| |
− |
| |
− | ===Resource Costs===
| |
− | {|class="article-table mw-collapsible mw-collapsed"
| |
− | !Item
| |
− | !Action Equivalent
| |
− | |-
| |
− | !{{IL|Ravages of Parabolan Warfare}}
| |
− | |{{#vardefineecho:cost_ravag|0}}
| |
− | |-
| |
− | !{{IL|Nightmares}}
| |
− | |{{#vardefineecho:cost_night|0}}
| |
− | |-
| |
− | !{{IL|Apostate's Psalm}}
| |
− | |{{#vardefineecho:cost_psalm|5}}
| |
− | |-
| |
− | !{{IL|Glass Gazette}}
| |
− | |{{#vardefineecho:cost_glass|5}}
| |
− | |-
| |
− | !{{IL|London Street Sign}}
| |
− | |{{#vardefineecho:cost_sign|5}}
| |
− | |-
| |
− | !{{IL|Memory of a Much Lesser Self}}
| |
− | |{{#vardefineecho:cost_self|5}}
| |
− | |-
| |
− | !{{IL|Wing of a Young Terror Bird}}
| |
− | |{{#vardefineecho:cost_wing|5}}
| |
− | |-
| |
− | !{{IL|Correspondence Plaque}}
| |
− | |{{#vardefineecho:cost_plaq|5}}
| |
− | |-
| |
− | !{{IL|Memory of Light}}
| |
− | |{{#vardefineecho:cost_light|5}}
| |
− | |-
| |
− | !{{IL|Deep-zee Catch}}
| |
− | |{{#vardefineecho:cost_catch|5}}
| |
− | |-
| |
− | !{{IL|Moves in the Great Game}}
| |
− | |{{#vardefineecho:cost_move|5}}
| |
− | |-
| |
− | !{{IL|Palimpsest Scrap}}
| |
− | |{{#vardefineecho:cost_scrap|5}}
| |
− | |-
| |
− | !{{IL|Royal-Blue Feather}}
| |
− | |{{#vardefineecho:cost_royal|5}}
| |
− | |-
| |
− | !{{IL|Trace of Viric}}
| |
− | |{{#vardefineecho:cost_viric|5}}
| |
− | |-
| |
− | !{{IL|Secluded Address}}
| |
− | |{{#vardefineecho:cost_addr|5}}
| |
− | |-
| |
− | !{{IL|Solacefruit}}
| |
− | |{{#vardefineecho:cost_solac|5}}
| |
− | |-
| |
− | !{{IL|Silvered Cat's Claw}}
| |
− | |{{#vardefineecho:cost_claw|5}}
| |
− | |-
| |
− | !{{IL|Well-Placed Pawn}}
| |
− | |{{#vardefineecho:cost_pawn|0.04}}
| |
− | |}
| |
− |
| |
− | <!--
| |
− | ##################################################
| |
− | # #
| |
− | # Calculate action costs, starting from the back #
| |
− | # #
| |
− | ##################################################
| |
− | -->{{#vardefine:row|[{{#caamap:0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7|,|@|(("val":"0","choice":""))|,}}]}}<!--
| |
− | -->{{#vardefine:blank|[{{#caamap:0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9|,|@|
| |
− | {{#var:row}}|,}}]}}<!--
| |
− | -->{{#ifeq:{{#var:short|no}}|no|<!--
| |
− | The Castle of Forests
| |
− | Hosting constants for performance reasons:
| |
− | -->{{#vardefine:slow_const|{{#expr:1 + <!-- always makes progress
| |
− | -->{{#var:sha_slow}}*{{#var:cost_psalm}} + <!-- material cost on success
| |
− | -->(1-{{#var:sha_slow}})*{{#var:cost_ravag}} }}}}<!--material cost on failure
| |
− | -->{{#vardefine:ignite_const|{{#expr: 1/{{#var:dan_fast}} + <!-- action cost to succeed
| |
− | -->{{#var:cost_glass}} + 3*{{#var:cost_plaq}} + <!-- material cost to succeed
| |
− | -->(1/{{#var:dan_fast}} - 1)*({{#var:cost_ravag}} + {{#var:cost_plaq}} + {{#var:cost_glass}})}}}} <!-- material cost from failures
| |
− | -->{{#vardefine:chicken_const|{{#expr: 1/{{#var:wat_fast}} + <!-- action cost to succeed
| |
− | -->{{#var:cost_wing}} + 3*{{#var:cost_light}} + <!-- material cost to succeed
| |
− | -->(1/{{#var:wat_fast}} - 1)*({{#var:cost_ravag}} + {{#var:cost_light}} + {{#var:cost_wing}}) }}}} <!-- material cost from failure
| |
− | -->{{#vardefine:gain_const|{{#expr: 1/{{#var:dan_gain}} + <!-- action cost to succeed
| |
− | -->(1/{{#var:dan_gain}} - 1)*2*{{#var:cost_ravag}} }}}}<!-- cost of failure
| |
− | -->{{#vardefine:skill_const|{{#expr: 1/{{#var:glass}} * <!-- attempts to succeed
| |
− | -->(1 + 3*{{#var:cost_viric}}) }}}} <!-- cost per attempt
| |
− |
| |
− | Begin Loop
| |
− | Initialize
| |
− | -->{{#cadefine:forest|{{#var:blank}}}}<!--
| |
− | -->{{#caset:forest[24]|[{{#caamap:0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7|,|@|
| |
− | (("val":"{{#var:story_forest}}","choice":"Complete campaign"))|,}}] }}<!--
| |
− | Extend the edges
| |
− | -->{{#loop:a | 25 | 5 |
| |
− | {{#caset:forest[{{#var:a}}]|{{#caprint:forest[24]|markup}}}}
| |
− | }}<!--
| |
− | -->{{#loop:nadv | 1 | 24 |
| |
− | {{#vardefine:adv|{{#expr:24 - {{#var:nadv}}}} }} <!--
| |
− | -->{{#cadefine:options}}<!--
| |
− | -->{{#capush:options|
| |
− | [{{#camap:forest[{{#expr:{{#var:adv}}+2}}][*][val]|@@@|
| |
− | (("choice":"Pray",
| |
− | "val":"{{#expr:{{#var:slow_const}} + @@@}}"))|,}}] }}<!--
| |
− | -->{{#capush:options|
| |
− | [{{#camap:forest[{{#expr:{{#var:adv}}+4}}][*][val]|@@@|
| |
− | (("choice":"Ignite the Chorus of Forests",
| |
− | "val":"{{#expr:{{#var:ignite_const}} + @@@}}"))|,}}] }}<!--
| |
− | -->{{#capush:options|
| |
− | [{{#camap:forest[{{#expr:{{#var:adv}}+4}}][*][val]|@@@|
| |
− | (("choice":"Summon a Terror-Bird",
| |
− | "val":"{{#expr:{{#var:chicken_const}} + @@@}}"))|,}}] }}<!--
| |
− | -->{{#capush:options|
| |
− | [{{#camap:forest[{{#expr:{{#var:adv}}+2}}][*][val]|@@@|
| |
− | (("choice":"Sear the Castle with Viric",
| |
− | "val":"{{#expr:{{#var:skill_const}} + @@@}}"))|,}}] }}<!--
| |
− | -->{{#caslice:gain|forest[{{#expr:{{#var:adv}}+1}}]|1}}<!--
| |
− | -->{{#capush:options|
| |
− | [{{#camap:gain[*][val]|@@@|
| |
− | (("choice":"Liberate the Dungeons of the Castle",
| |
− | "val":"{{#expr:{{#var:gain_const}} + @@@}}"))|,}}] }}<!--
| |
− | -->{{#loop:mor| 0 | 17 |<!--
| |
− | -->{{#caextract:values|options[*][{{#var:mor}}]}}<!--
| |
− | -->{{#ifexpr: {{#var:mor}} > 4 |
| |
− | {{#capush:values|
| |
− | (("choice":"Assault the Citadel of Vinyards",
| |
− | "val":{{#expr: 1 + <!-- always moves
| |
− | -->{{#var:dan_spend}}*{{#caprint:forest[{{#expr:{{#var:adv}}+5}}][{{#expr:{{#var:mor}}-5}}][val]}} +<!-- move on success
| |
− | -->(1-{{#var:dan_spend}})*{{#caprint:forest[{{#var:adv}}][{{#expr:{{#var:mor}}-5}}][val]}}<!-- move on failure
| |
− | -->}}))}} }}<!--
| |
− | -->{{#casort:values|keysort|val}}<!--
| |
− | Record
| |
− | -->{{#caset:forest[{{#var:adv}}][{{#var:mor}}]|{{#caprint:values[0]|markup}}}} }}<!--
| |
− | -->{{#caset:forest[{{#var:adv}}][17]|{{#caprint:forest[{{#var:adv}}][16]|markup}}}}
| |
− | }}<!--
| |
− |
| |
− | Shadows on the Mirrorpane
| |
− | Hosting constants for performance reasons:
| |
− | -->{{#vardefine:slow_const|{{#expr: 1 + {{#var:cost_sign}} + <!-- always moves and costs
| |
− | -->(1-{{#var:wat_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:gain_const|{{#expr: 1/{{#var:per_gain}} + <!-- action cost to succeed
| |
− | -->(1/{{#var:per_gain}} - 1)*3*{{#var:cost_ravag}} }}}} <!-- 3 ravages on failure
| |
− | -->{{#vardefine:skill_const|{{#expr: 1/{{#var:glass}} * <!-- attempts to succeed
| |
− | -->(1 + 3*{{#var:cost_light}}) }}}} <!-- cost per attempt
| |
− |
| |
− | Begin the loop
| |
− | Initialize
| |
− | -->{{#loop:i | 0 | 18 | <!--
| |
− | -->{{#vardefine:mirror_24_{{#var:i}}|{{#expr:1+{{#var:story_shore}}+{{#caprint:forest[0][{{#var:i}}][val]}}}}}} }}<!--
| |
− | Extend the edges
| |
− | -->{{#loop:m | 0 | 18 |
| |
− | {{#loop:a | 25 | 5 |
| |
− | {{#vardefine:mirror_{{#var:a}}_{{#var:m}}|{{#var:mirror_24_{{#var:m}}}} }}
| |
− | }}}}<!--
| |
− | -->{{#loop:nadv | 1 | 24 |<!--
| |
− | !-->{{#vardefine:adv|{{#expr:24 - {{#var:nadv}}}} }} {{#loop:mor | 0 |17 |<!--
| |
− | -->{{#cadefine:values|[<!--
| |
− | Slow: <!--
| |
− | -->(("choice":"Establish a night watch", "val":{{#expr: {{#var:slow_const}} + <!--
| |
− | -->{{#var:wat_slow}}*{{#var:mirror_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }} + <!-- move on success
| |
− | -->(1-{{#var:wat_slow}})*{{#var:mirror_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move on failure
| |
− | -->}})),<!--
| |
− | Gain:
| |
− | -->(("choice":"Initiate a campaign of public health","val":{{#expr: {{#var:gain_const}} + <!--
| |
− | -->{{#var:mirror_{{#expr:{{#var:adv}}+1}}_{{#expr:{{#var:mor}}+1}} }}
| |
− | }})),<!--
| |
− | Skill:
| |
− | -->(("choice":"Infiltrate disordered dreams","val":{{#expr: {{#var:skill_const}} + <!--
| |
− | -->{{#var:mirror_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }}
| |
− | }})),<!--
| |
− | Spend:
| |
− | -->(("choice":"Summon your Company for aid","val":{{#ifexpr:{{#var:mor}}<5|1000| {{#expr:1 + <!-- always move
| |
− | -->{{#var:sha_spend}}*{{#var:mirror_{{#expr:{{#var:adv}}+5}}_{{#expr:{{#var:mor}}-5}}}} + <!-- move on success
| |
− | -->(1-{{#var:sha_spend}})*{{#var:mirror_{{#var:adv}}_{{#expr:{{#var:mor}}-5}} }}<!-- move on fail
| |
− | -->}}
| |
− | }}))]}}<!--
| |
− | Totals
| |
− | -->{{#casort:values|keysort|val}}<!--
| |
− | -->{{#vardefine:total|{{#caprint:values[0][val]}}}}<!--
| |
− | -->{{#vardefine:choice|{{#caprint:values[0][choice]}}}}<!--
| |
− | Airs
| |
− | -->{{#vardefine:airs_adv|{{#var:mirror_{{#expr:{{#var:adv}}+4}}_{{#var:mor}} }} }}<!--
| |
− | Schlomo:
| |
− | -->{{#vardefine:schlomo|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - (1 + {{#var:cost_ravag}}*(1-{{#var:per_airs}}))/{{#var:per_airs}}|yes|no}}}}<!--
| |
− | Crimes:
| |
− | -->{{#vardefine:spree|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - (1 + {{#var:cost_ravag}}*(1-{{#var:sha_airs}}))/{{#var:sha_airs}}|yes|no}}}}<!--
| |
− | Update:
| |
− | -->{{#vardefine:total|{{#expr:
| |
− | ( {{#var:total}} + {{#ifeq:{{#var:schlomo}}|yes|1|{{#var:total}}}} + {{#ifeq:{{#var:spree}}|yes|1|{{#var:total}}}} +
| |
− | ({{#ifeq:{{#var:schlomo}}|yes|{{#var:per_airs}}|0}} + {{#ifeq:{{#var:spree}}|yes|{{#var:sha_airs}}|0}}) * {{#var:airs_adv}} +
| |
− | {{#var:cost_ravag}}*({{#ifeq:{{#var:schlomo}}|yes|1-{{#var:per_airs}}|0}} + {{#ifeq:{{#var:spree}}|yes|1-{{#var:sha_airs}}|0}}) ) /
| |
− | (1 + {{#ifeq:{{#var:schlomo}}|yes|{{#var:per_airs}}|1}} + {{#ifeq:{{#var:spree}}|yes|{{#var:sha_airs}}|1}})
| |
− | }}}}<!--
| |
− | Record:
| |
− | -->{{#ifeq:{{#var:schlomo}}|yes|{{#vardefine:choice|{{#var:choice}}<br/>Call on Dr Schlomo's assistance}}}}<!--
| |
− | -->{{#ifeq:{{#var:spree}}|yes|{{#vardefine:choice|{{#var:choice}}<br/>Embark upon a crime-spree}}}}<!--
| |
− | choice:-->{{#vardefine:mirror_{{#var:adv}}_{{#var:mor}}_choice|{{#var:choice}}}}<!--
| |
− | Final: -->{{#vardefine:mirror_{{#var:adv}}_{{#var:mor}}|{{#var:total}}}}
| |
− | }}{{#vardefine:mirror_{{#var:adv}}_17|{{#var:mirror_{{#var:adv}}_16}} }}
| |
− | }}<!--
| |
− |
| |
− | The Smoking Shore
| |
− | Hosting loop constants for performance:
| |
− | -->{{#vardefine:slow_const|{{#expr: 1 + 25*{{#var:cost_claw}} + <!-- always moves and costs
| |
− | -->(1-{{#var:wat_fast}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:gain_const|{{#expr: 1/{{#var:dan_gain}} + <!-- action cost to succeed
| |
− | -->(1/{{#var:dan_gain}} - 1)*2*{{#var:cost_ravag}} }}}}<!-- 2 ravages on failure
| |
− | -->{{#vardefine:seige_const|{{#expr:(1 + ({{#var:cost_ravag}} - 2*{{#var:cost_solac}})*(1-{{#var:dan_airs}}))/{{#var:dan_airs}} }}}}<!--
| |
− | -->{{#vardefine:dream_const|{{#expr:(1 + ({{#var:cost_ravag}} - 2*{{#var:cost_viric}})*(1-{{#var:wat_airs}}))/{{#var:wat_airs}} }}}}<!--
| |
− | -->{{#vardefine:ash_const|{{#expr:(1 + {{#var:cost_ravag}} + (2*{{#var:cost_ravag}})*(1-{{#var:per_airs}}))/{{#var:per_airs}} }}}}<!--
| |
− | -->{{#vardefine:skill_const|{{#expr: 1/{{#var:mith}} *<!-- attempts to succeed
| |
− | -->(1 + 3*{{#var:cost_scrap}}) }}}} <!-- cost per attempt
| |
− |
| |
− | Loop Begin:
| |
− | Initialize
| |
− | -->{{#loop:i | 0 | 18 |{{#vardefine:shore_24_{{#var:i}}|{{#expr:{{#var:story_shore}}+ {{#caprint:forest[0][{{#var:i}}][val]}} }}}} }}<!--
| |
− | Extend the edges
| |
− | -->{{#loop:m | 0 | 18 |
| |
− | {{#loop:a | 25 | 5 |
| |
− | {{#vardefine:shore_{{#var:a}}_{{#var:m}}|{{#var:shore_24_{{#var:m}}}} }}
| |
− | }}}}<!--
| |
− | -->{{#loop:nadv | 1 | 24 |{{#vardefine:adv|{{#expr:24 - {{#var:nadv}}}} }}<!--
| |
− | -->{{#loop:mor | 0 |17 |{{#cadefine:values|[<!--
| |
− | Slow: NOTE Has abnormal difficulty
| |
− | -->(("choice":"Petition Long-Dead Cats","val":{{#expr: {{#var:slow_const}} + <!--
| |
− | -->{{#var:wat_fast}}*{{#var:shore_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }}+ <!-- move on success
| |
− | -->(1-{{#var:wat_fast}})*{{#var:shore_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move on failure
| |
− | -->}})),<!--
| |
− | Gain:
| |
− | -->(("choice":"Enjoy a respite","val":{{#expr: {{#var:gain_const}} + <!--
| |
− | -->{{#var:shore_{{#expr:{{#var:adv}}+1}}_{{#expr:{{#var:mor}}+1}}}}
| |
− | }})),<!--
| |
− | Skill:
| |
− | -->(("choice":"Disseminate Falsehood","val":{{#expr: {{#var:skill_const}} + <!--
| |
− | -->{{#var:shore_{{#expr:{{#var:adv}}+2}}_{{#var:mor}}}}
| |
− | }})),<!--
| |
− | Spend:
| |
− | -->(("choice":"Mount a cavalry charge","val":{{#ifexpr:{{#var:mor}}<5|1000| {{#expr:1 + <!-- always move
| |
− | -->{{#var:dan_spend}}*{{#var:shore_{{#expr:{{#var:adv}}+5}}_{{#expr:{{#var:mor}}-5}}}} + <!-- move on success
| |
− | -->(1-{{#var:dan_spend}})*{{#var:shore_{{#var:adv}}_{{#expr:{{#var:mor}}-5}} }}<!-- move on fail
| |
− | -->}}
| |
− | }}))]}}<!--
| |
− | Totals
| |
− | -->{{#casort:values|keysort|val}}<!--
| |
− | -->{{#vardefine:total|{{#caprint:values[0][val]}}}}<!--
| |
− | -->{{#vardefine:choice|{{#caprint:values[0][choice]}}}}<!--
| |
− | Airs
| |
− | -->{{#vardefine:airs_adv|{{#var:shore_{{#expr:{{#var:adv}}+4}}_{{#var:mor}} }} }}<!--
| |
− | Siege:
| |
− | -->{{#vardefine:siege|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - {{#var:seige_const}}|yes|no}}}}<!--
| |
− | Dream:
| |
− | -->{{#vardefine:dream|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - {{#var:dream_const}}|yes|no}}}}<!--
| |
− | Ash:
| |
− | -->{{#vardefine:ash|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - {{#var:ash_const}}|yes|no}}}}<!--
| |
− | Update total
| |
− | -->{{#vardefine:total|{{#expr:
| |
− | ( {{#ifeq:{{#var:siege}}|yes|1|{{#var:total}}}} + {{#ifeq:{{#var:dream}}|yes|1|{{#var:total}}}} + {{#ifeq:{{#var:ash}}|yes|1|{{#var:total}}}} +
| |
− | ({{#ifeq:{{#var:siege}}|yes|{{#var:dan_airs}}|0}} + {{#ifeq:{{#var:dream}}|yes|{{#var:wat_airs}}|0}}) * {{#var:airs_adv}} + {{#ifeq:{{#var:ash}}|yes|{{#var:per_airs}}|0}}*{{#var:shore_{{#expr:{{#var:adv}}+3}}_{{#var:mor}}}} +
| |
− | ({{#var:cost_ravag}} - 2*{{#var:cost_solac}})*({{#ifeq:{{#var:siege}}|yes|1-{{#var:dan_airs}}|0}}) + ({{#var:cost_ravag}} - 2*{{#var:cost_viric}})*({{#ifeq:{{#var:dream}}|yes|1-{{#var:wat_airs}}|0}}) + (2*{{#var:cost_ravag}})*({{#ifeq:{{#var:ash}}|yes|1-{{#var:per_airs}}|0}}) ) /
| |
− | ({{#ifeq:{{#var:siege}}|yes|{{#var:dan_airs}}|1}} + {{#ifeq:{{#var:dream}}|yes|{{#var:wat_airs}}|1}} + {{#ifeq:{{#var:ash}}|yes|{{#var:per_airs}}|1}})
| |
− | }}}}<!--
| |
− | Record choice:
| |
− | -->{{#ifeq:{{#var:siege}}|yes|<!--
| |
− | -->{{#vardefine:choice|{{#var:choice}}<br />Siege an Insidious Spinney}}}}<!--
| |
− | -->{{#ifeq:{{#var:dream}}|yes|{{#vardefine:choice|{{#var:choice}}<br />Dream your way past}}}}<!--
| |
− | -->{{#ifeq:{{#var:ash}}|yes|{{#vardefine:choice|{{#var:choice}}<br />Consult a Column of Searing Ash}}}}<!--
| |
− | Final:
| |
− | -->{{#vardefine:shore_{{#var:adv}}_{{#var:mor}}_choice|{{#var:choice}}}}<!--
| |
− | -->{{#vardefine:shore_{{#var:adv}}_{{#var:mor}}|{{#var:total}}}}
| |
− | }}{{#vardefine:shore_{{#var:adv}}_17|{{#var:shore_{{#var:adv}}_16}}}}
| |
− | }}<!--
| |
− | -->}}<!-- end "short" if
| |
− |
| |
− | The Writhing River
| |
− | Hosting constants for performance
| |
− | -->{{#vardefine:delegate_const|{{#expr: 1 + {{#var:cost_self}} + <!-- always moves and costs
| |
− | -->(1-{{#var:per_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:oracle_const|{{#expr: 1 + {{#var:cost_glass}} + <!-- always moves and costs
| |
− | -->(1-{{#var:sha_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:illuminate_const|{{#expr: 1/{{#var:dan_fast}} + <!-- action cost to succeed
| |
− | -->3*{{#var:cost_light}} + <!-- cost on success
| |
− | -->(1/{{#var:dan_fast}} - 1)*({{#var:cost_light}} + {{#var:cost_ravag}}) }}}} <!-- cost on failure
| |
− | -->{{#vardefine:mount_const|{{#expr: 1/{{#var:wat_fast}} + <!-- action cost to succeed
| |
− | -->6*{{#var:cost_royal}} + <!-- cost on success
| |
− | -->(1/{{#var:wat_fast}} - 1)*(2*{{#var:cost_royal}} + {{#var:cost_ravag}}) }}}}<!-- cost on failure
| |
− | -->{{#vardefine:gain_const|{{#expr: 1/{{#var:dan_gain}} + <!-- action cost to succeed
| |
− | -->(1/{{#var:dan_gain}} - 1)*2*{{#var:cost_ravag}} }}}}<!-- 2 ravages on failure
| |
− |
| |
− | Begin loop
| |
− | Initialize
| |
− | -->{{#loop:i | 0 | 18 | {{#ifeq:{{#var:short}}|yes
| |
− | |{{#vardefine:river_24_{{#var:i}}|{{#var:story_river}}}}<!--
| |
− | -->{{#vardefine:river_24_{{#var:i}}_choice|Complete the Campaign}}
| |
− | |{{#ifexpr:{{#var:shore_0_{{#var:i}}}} < 1 + {{#var:mirror_0_{{#var:i}}}}
| |
− | |{{#vardefine:river_24_{{#var:i}}|{{#expr:{{#var:story_river}} + {{#var:shore_0_{{#var:i}}}}}}}}<!--
| |
− | -->{{#vardefine:river_24_{{#var:i}}_choice|Advance to the Smoking Shore}}
| |
− | |{{#vardefine:river_24_{{#var:i}}|{{#expr:1 + {{#var:story_river}} + {{#var:mirror_0_{{#var:i}}}}}}}}<!--
| |
− | -->{{#vardefine:river_24_{{#var:i}}_choice|Advance to Shadows on the Mirrorpane}}}} }} }} <!--
| |
− | Extend the edges
| |
− | -->{{#loop:m | 0 | 18 |
| |
− | {{#loop:a | 25 | 5 |
| |
− | {{#vardefine:river_{{#var:a}}_{{#var:m}}|{{#var:river_24_{{#var:m}}}} }}
| |
− | }}}}<!--
| |
− | -->{{#loop:nadv | 1 | 24 |{{#vardefine:adv|{{#expr:24 - {{#var:nadv}}}} }}<!--
| |
− | -->{{#loop:mor | 0 |17 |{{#cadefine:values|[<!--
| |
− | Delegate:
| |
− | -->(("choice":"Delegate to yourself","val":{{#expr: {{#var:delegate_const}} + <!--
| |
− | -->{{#var:per_slow}}*{{#var:river_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }}+ <!-- move on success
| |
− | -->(1-{{#var:per_slow}})*{{#var:river_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move on failure
| |
− | -->}})),<!--
| |
− | Oracle:
| |
− | -->(("choice":"Consult a Poisoned Oracle","val":{{#expr: {{#var:oracle_const}} + <!--
| |
− | -->{{#var:sha_slow}}*{{#var:river_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }}+ <!-- move on success
| |
− | -->(1-{{#var:sha_slow}})*{{#var:river_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move on failure
| |
− | -->}})),<!--
| |
− | Illuminate:
| |
− | -->(("choice":"Illuminate ancient passages","val":{{#expr: {{#var:illuminate_const}} + <!--
| |
− | -->{{#var:river_{{#expr:{{#var:adv}}+3}}_{{#var:mor}} }}
| |
− | }})),<!--
| |
− | Mounts:
| |
− | -->(("choice":"Grow mounts to speed your passage", "val":{{#expr: {{#var:mount_const}} + <!--
| |
− | -->{{#var:river_{{#expr:{{#var:adv}}+3}}_{{#var:mor}} }}
| |
− | }})),<!--
| |
− | Gain:
| |
− | -->(("choice":"Launch a naval assault", "val":{{#expr: {{#var:gain_const}} + <!--
| |
− | -->{{#var:river_{{#expr:{{#var:adv}}+1}}_{{#expr:{{#var:mor}}+1}}}}
| |
− | }})),<!--
| |
− | Spend:
| |
− | -->(("choice":"Sail the Wanting Way","val":{{#ifexpr:{{#var:mor}}<5|1000| {{#expr:1 + <!-- always move
| |
− | -->{{#var:dan_spend}}*{{#var:river_{{#expr:{{#var:adv}}+6}}_{{#expr:{{#var:mor}}-5}}}} + <!-- move on success
| |
− | -->(1-{{#var:dan_spend}})*{{#var:river_{{#var:adv}}_{{#expr:{{#var:mor}}-5}} }}}}<!-- move on fail
| |
− | -->}}))]}}<!--
| |
− | Totals:
| |
− | -->{{#casort:values|keysort|val}}<!--
| |
− | Record:
| |
− | choice: -->{{#vardefine:river_{{#var:adv}}_{{#var:mor}}_choice|{{#caprint:values[0][choice]}}}}<!--
| |
− | Final: -->{{#vardefine:river_{{#var:adv}}_{{#var:mor}}|{{#caprint:values[0][val]}}}}
| |
− | }}{{#vardefine:river_{{#var:adv}}_17|{{#var:river_{{#var:adv}}_16}}}}
| |
− | }}<!--
| |
− |
| |
− | -->{{#ifeq:{{#var:short|no}}|no|<!--
| |
− | The War from Home
| |
− | Hoist constants
| |
− | -->{{#vardefine:deploy_const|{{#expr:1 + <!-- always moves
| |
− | -->(1-{{#var:dan_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:distract_const|{{#expr:1 + <!-- always moves
| |
− | -->(1-{{#var:sha_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:gain_const|{{#expr: 1/{{#var:sha_gain}} + <!-- action cost to succeed
| |
− | -->(1/{{#var:sha_gain}} - 1)*2*{{#var:cost_ravag}} }}}} <!-- 2 ravages on failure
| |
− | -->{{#vardefine:skill_const|{{#expr: 1/{{#var:toxic}} *<!-- attempts to succeed
| |
− | -->(1 + 3*{{#var:cost_addr}}) }}}}<!-- cost per attempt
| |
− |
| |
− | Begin loop
| |
− | Initialize
| |
− | -->{{#loop:i | 0 | 18 |{{#vardefine:home_24_{{#var:i}}|{{#expr:1+{{#var:story_mount}}+{{#var:river_0_{{#var:i}}}}}}}} }}<!--
| |
− | Extend the edges
| |
− | -->{{#loop:m | 0 | 18 |
| |
− | {{#loop:a | 25 | 5 |
| |
− | {{#vardefine:home_{{#var:a}}_{{#var:m}}|{{#var:home_24_{{#var:m}}}} }}
| |
− | }}}}<!--
| |
− | -->{{#loop:nadv | 1 | 24 |{{#vardefine:adv|{{#expr:24 - {{#var:nadv}}}} }}<!--
| |
− | -->{{#loop:mor | 0 |17 |{{#cadefine:values|[<!--
| |
− | Deploy:
| |
− | -->(("choice":"Deploy reinforcements", "val":{{#expr: {{#var:deploy_const}} + <!--
| |
− | -->{{#var:home_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move
| |
− | --> }})),<!--
| |
− | Distract:
| |
− | -->(("choice":"Provide a distraction", "val":{{#expr: {{#var:distract_const}} + <!--
| |
− | -->{{#var:home_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move
| |
− | --> }})),<!--
| |
− | Skill:
| |
− | -->(("choice":"Conduct an experiment from within your tub", "val":{{#expr: {{#var:skill_const}} + <!--
| |
− | -->{{#var:home_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }} <!-- move
| |
− | --> }})),<!--
| |
− | Gain:
| |
− | -->(("choice":"Spy on the movement of cats", "val":{{#expr: {{#var:gain_const}} + <!--
| |
− | -->{{#var:home_{{#expr:{{#var:adv}}+1}}_{{#expr:{{#var:mor}}+1}}}}
| |
− | }})),<!--
| |
− | Spend:
| |
− | -->(("choice":"Inspire artistic support","val":{{#ifexpr:{{#var:mor}}<5|1000| {{#expr:1 + <!-- always move
| |
− | -->{{#var:per_spend}}*{{#var:home_{{#expr:{{#var:adv}}+5}}_{{#expr:{{#var:mor}}-5}}}} + <!-- move on success
| |
− | -->(1-{{#var:per_spend}})*{{#var:home_{{#var:adv}}_{{#expr:{{#var:mor}}-5}} }}}}<!-- move on fail
| |
− | --> }}))]}}<!--
| |
− | Totals
| |
− | -->{{#casort:values|keysort|val}}<!--
| |
− | -->{{#vardefine:total|{{#caprint:values[0][val]}}}}<!--
| |
− | -->{{#vardefine:choice|{{#caprint:values[0][choice]}}}}<!--
| |
− | Airs
| |
− | -->{{#vardefine:airs_adv|{{#var:home_{{#expr:{{#var:adv}}+4}}_{{#var:mor}}}}}}<!--
| |
− | Spirits:
| |
− | -->{{#vardefine:spirits|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - (1 + {{#var:cost_ravag}}*(1-{{#var:per_airs}}))/{{#var:per_airs}}|yes|no}}}}<!--
| |
− | -->{{#vardefine:total|{{#expr:
| |
− | ( 2*{{#var:total}} + {{#ifeq:{{#var:spirits}}|yes|1|{{#var:total}}}} +
| |
− | ({{#ifeq:{{#var:spirits}}|yes|{{#var:per_airs}}|0}}) * {{#var:airs_adv}} +
| |
− | {{#var:cost_ravag}}*({{#ifeq:{{#var:spirits}}|yes|1-{{#var:per_airs}}|0}}) ) /
| |
− | (2 + {{#ifeq:{{#var:spirits}}|yes|{{#var:per_airs}}|1}})
| |
− | }}}}<!--
| |
− |
| |
− | Record totals
| |
− | Choice
| |
− | -->{{#ifeq:{{#var:spirits}}|yes|{{#vardefine:choice|{{#var:choice}}<br/>Boost the spirits of your Company}}}}<!--
| |
− | -->{{#vardefine:home_{{#var:adv}}_{{#var:mor}}_choice|{{#var:choice}}}}<!--
| |
− | Final: -->{{#vardefine:home_{{#var:adv}}_{{#var:mor}}|{{#var:total}}}}
| |
− | }}{{#vardefine:home_{{#var:adv}}_17|{{#var:home_{{#var:adv}}_16}}}}
| |
− | }}<!--
| |
− | -->|<!-- short campaign
| |
− | -->{{#loop:i|0|18|{{#vardefine:home_0_{{#var:i}}|1000}}}}<!--
| |
− | -->}}<!--
| |
− |
| |
− | The Hanging Mountains
| |
− | Hoist for performance
| |
− | -->{{#vardefine:slow_const|{{#expr: 1 + <!-- always moves
| |
− | -->(1-{{#var:sha_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:fast_const|{{#expr: 1/{{#var:wat_fast}} + <!-- action cost to succeed
| |
− | -->6*{{#var:cost_solac}} + <!-- cost on success
| |
− | -->(1/{{#var:wat_fast}} - 1)*(3*{{#var:cost_solac}} + {{#var:cost_ravag}}) }}}} <!-- cost on failure
| |
− | -->{{#vardefine:flower_const|{{#expr: 1/{{#var:per_slow}}*(1 + 2*{{#var:cost_ravag}}) }}}}<!--action & ravag cost to succeed
| |
− | -->{{#vardefine:gain_const|{{#expr: 1/{{#var:sha_gain}} + <!-- action cost to succeed
| |
− | -->(1/{{#var:sha_gain}} - 1)*2*{{#var:cost_ravag}} }}}}<!-- 2 ravages on failure
| |
− | -->{{#vardefine:toxif_const|{{#expr: 1/{{#var:toxic}} + <!-- action cost to succeed
| |
− | -->3*{{#var:cost_catch}} +<!--cost on success
| |
− | -->(1/{{#var:toxic}} - 1)*{{#var:cost_catch}} }}}}<!-- cost on failure
| |
− | -->{{#vardefine:wind_const|{{#expr: 1/{{#var:chess}} + <!-- action cost to succeed
| |
− | -->3*{{#var:cost_move}} + {{#var:cost_pawn}} +<!--cost on success
| |
− | -->(1/{{#var:chess}} - 1)*{{#var:cost_pawn}} }}}}<!-- cost on failure
| |
− |
| |
− | Begin loop
| |
− | Initialize
| |
− | -->{{#loop:i | 0 | 18 |{{#vardefine:mount_24_{{#var:i}}|{{#expr:{{#var:story_mount}}+{{#var:river_0_{{#var:i}}}}}}}} }}<!--
| |
− | Extend the edges
| |
− | -->{{#loop:m | 0 | 18 |
| |
− | {{#loop:a | 25 | 5 |
| |
− | {{#vardefine:mount_{{#var:a}}_{{#var:m}}|{{#var:mount_24_{{#var:m}}}} }}
| |
− | }}}}<!--
| |
− | -->{{#loop:nadv | 1 | 24 |{{#vardefine:adv|{{#expr:24 - {{#var:nadv}}}} }}<!--
| |
− | -->{{#loop:mor | 0 |17 |{{#cadefine:values|[<!--
| |
− | Slow:
| |
− | -->(("choice":"Lead a raid from the sky","val":{{#expr: {{#var:slow_const}} + <!--
| |
− | -->{{#var:mount_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }}<!-- move
| |
− | --> }})),<!--
| |
− | Fast:
| |
− | -->(("choice":"Lure with false fruit", "val":{{#expr: {{#var:fast_const}} + <!--
| |
− | -->{{#var:mount_{{#expr:{{#var:adv}}+3}}_{{#var:mor}} }}
| |
− | }})),<!--
| |
− | wind:
| |
− | -->(("choice":"Deploy a whirlwind of allegiances", "val":{{#expr: {{#var:wind_const}} + <!--
| |
− | -->{{#var:mount_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }}
| |
− | }})),<!--
| |
− | toxify:
| |
− | -->(("choice":"Toxify the waters of the (enemies)", "val":{{#expr: {{#var:toxif_const}} + <!--
| |
− | -->{{#var:mount_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }}
| |
− | }})),<!--
| |
− | Flowers: NOTE abnormal difficulty
| |
− | -->(("choice":"Gather the Flowers of Nevermore", "val":{{#expr: {{#var:flower_const}} + <!--
| |
− | -->{{#var:mount_{{#expr:{{#var:adv}}+3}}_{{#var:mor}} }}
| |
− | }})),<!--
| |
− | Gain:
| |
− | -->(("choice":"Hold a feast", "val":{{#expr: {{#var:gain_const}} + <!--
| |
− | -->{{#var:mount_{{#expr:{{#var:adv}}+1}}_{{#expr:{{#var:mor}}+1}}}}
| |
− | }}))]}}<!--
| |
− | Totals
| |
− | -->{{#casort:values|keysort|val}}<!--
| |
− | Record totals
| |
− | choice: -->{{#vardefine:mount_{{#var:adv}}_{{#var:mor}}_choice|{{#caprint:values[0][choice]}}}}<!--
| |
− | Final: -->{{#vardefine:mount_{{#var:adv}}_{{#var:mor}}|{{#caprint:values[0][val]}}}}
| |
− | }}{{#vardefine:mount_{{#var:adv}}_17|{{#var:mount_{{#var:adv}}_16}}}}
| |
− | }}<!--
| |
− |
| |
− | Wastes of Want
| |
− | Hoist Constants
| |
− | -->{{#vardefine:rally_const|{{#expr: 1 + <!-- always moves
| |
− | -->(1-{{#var:per_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:scout_const|{{#expr: 1 + <!-- always moves
| |
− | -->(1-{{#var:sha_slow}})*{{#var:cost_ravag}} }}}}<!-- ravages on failure
| |
− | -->{{#vardefine:gain_const|{{#expr:1/{{#var:dan_gain}} + <!-- action cost to succeed
| |
− | -->(1/{{#var:dan_gain}} - 1)*2*{{#var:cost_ravag}} }}}} <!-- 2 ravages on failure
| |
− | -->{{#vardefine:deploy_const|{{#expr: (1 + ({{#var:cost_ravag}})*(1-{{#var:wat_airs}}))/{{#var:wat_airs}} }}}}<!--
| |
− | -->{{#vardefine:trench_const|{{#expr: (1 + ({{#var:cost_ravag}})*(1-{{#var:dan_airs}}))/{{#var:dan_airs}} }}}}<!--
| |
− | -->{{#vardefine:skill_const|{{#expr: 1/{{#var:glass}} +<!-- actions to succeed
| |
− | -->3*{{#var:cost_move}} +<!-- cost on success
| |
− | -->(1/{{#var:glass}} - 1)*({{#var:cost_move}} + {{#var:cost_night}}) }}}}<!-- cost on failure
| |
− |
| |
− | Begin Loop
| |
− | Initalize
| |
− | -->{{#loop:i | 0 | 18 |{{#ifexpr:{{#var:mount_0_{{#var:i}}}} < 1 + {{#var:home_0_{{#var:i}}}}
| |
− | |{{#vardefine:waste_24_{{#var:i}}|{{#expr:{{#var:story_waste}} + {{#var:mount_0_{{#var:i}}}}}}}}<!--
| |
− | -->{{#vardefine:waste_24_{{#var:i}}_choice|Advance to the Hanging Mountains}}
| |
− | |{{#vardefine:waste_24_{{#var:i}}|{{#expr:1 + {{#var:story_waste}} + {{#var:home_0_{{#var:i}}}}}}}}<!--
| |
− | -->{{#vardefine:waste_24_{{#var:i}}_choice|Advance to The War from Home}} }} }} <!--
| |
− | Extend the edges
| |
− | -->{{#loop:m | 0 | 18 |
| |
− | {{#loop:a | 25 | 5 |
| |
− | {{#vardefine:waste_{{#var:a}}_{{#var:m}}|{{#var:waste_24_{{#var:m}}}} }}
| |
− | }}}}<!--
| |
− | -->{{#loop:nadv | 1 | 24 |{{#vardefine:adv|{{#expr:24 - {{#var:nadv}}}} }}<!--
| |
− | -->{{#loop:mor | 0 |17 |{{#cadefine:values|[<!--
| |
− | Rally:
| |
− | -->(("choice":"Rally your army onward","val":{{#expr: {{#var:rally_const}} + <!--
| |
− | -->{{#var:waste_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move on success
| |
− | -->}})),<!--
| |
− | Scout:
| |
− | -->(("choice":"Scout the way ahead","val":{{#expr: {{#var:scout_const}} + <!--
| |
− | -->{{#var:waste_{{#expr:{{#var:adv}}+1}}_{{#var:mor}} }} <!-- move on success
| |
− | -->}})),<!--
| |
− | Skill:
| |
− | -->(("choice":"Employ the arts of Glasswhispery","val":{{#ifeq:no|yes|{{#expr: {{#var:skill_const}} + <!--
| |
− | -->{{#var:waste_{{#expr:{{#var:adv}}+2}}_{{#var:mor}} }} <!-- move on success
| |
− | -->}}|1000}})),<!--
| |
− | Gain:
| |
− | -->(("choice":"Host a hunt","val":{{#expr: {{#var:gain_const}} + <!--
| |
− | -->{{#var:waste_{{#expr:{{#var:adv}}+1}}_{{#expr:{{#var:mor}}+1}}}}
| |
− | }}))]}}<!--
| |
− | Totals
| |
− | -->{{#casort:values|keysort|val}}<!--
| |
− | -->{{#vardefine:total|{{#caprint:values[0][val]}}}}<!--
| |
− | -->{{#vardefine:choice|{{#caprint:values[0][choice]}}}}<!--
| |
− | Airs
| |
− | -->{{#vardefine:airs_adv|{{#var:waste_{{#expr:{{#var:adv}}+4}}_{{#var:mor}}}}}}<!--
| |
− | Deploy:
| |
− | -->{{#vardefine:deploy|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - {{#var:deploy_const}}|yes|no}}}}<!--
| |
− | Trench:
| |
− | -->{{#vardefine:trench|{{#ifexpr:{{#var:airs_adv}} < {{#var:total}} - {{#var:trench_const}}|yes|no}}}}<!--
| |
− |
| |
− | -->{{#vardefine:total|{{#expr:
| |
− | ( {{#var:total}} + {{#ifeq:{{#var:deploy}}|yes|1|{{#var:total}}}} + {{#ifeq:{{#var:trench}}|yes|1|{{#var:total}}}} +
| |
− | ({{#ifeq:{{#var:deploy}}|yes|{{#var:wat_airs}}|0}} + {{#ifeq:{{#var:trench}}|yes|{{#var:dan_airs}}|0}}) * {{#var:airs_adv}} +
| |
− | {{#var:cost_ravag}}*({{#ifeq:{{#var:deploy}}|yes|1-{{#var:wat_airs}}|0}}) + {{#var:cost_ravag}}*({{#ifeq:{{#var:trench}}|yes|1-{{#var:dan_airs}}|0}}) ) /
| |
− | (1 + {{#ifeq:{{#var:deploy}}|yes|{{#var:wat_airs}}|1}} + {{#ifeq:{{#var:trench}}|yes|{{#var:dan_airs}}|1}})
| |
− | }}}}<!--
| |
− | Record finals
| |
− | choice:
| |
− | -->{{#ifeq:{{#var:deploy}}|yes|{{#vardefine:choice|{{#var:choice}}<br >Deploy Counter-Factual Phantasies}}}}<!--
| |
− | -->{{#ifeq:{{#var:trench}}|yes|{{#vardefine:choice|{{#var:choice}}<br >Lead your army through forgotten trenches}}}}<!--
| |
− | -->{{#vardefine:waste_{{#var:adv}}_{{#var:mor}}_choice|{{#var:choice}}}}<!--
| |
− | Final: -->{{#vardefine:waste_{{#var:adv}}_{{#var:mor}}|{{#var:total}}}}
| |
− | }}{{#vardefine:waste_{{#var:adv}}_17|{{#var:waste_{{#var:adv}}_16}}}}
| |
− | }}
| |
− |
| |
− | <!--
| |
− | ################################
| |
− | # #
| |
− | # Print action costs frontwise #
| |
− | # #
| |
− | ################################
| |
− | -->
| |
− | ==Total Action Costs==
| |
− | {|class="article-table"
| |
− | !Beginning {{IL|Campaign Morale|Appearance=Morale}} || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10
| |
− | |-
| |
− | !Actions {{#loop:i|0|11|{{!}}{{!}} {{#expr:{{#ifeq:{{#var:gen}}|(none)|2|3}} + {{#var:waste_0_{{#var:i}}}} round 2}}}}
| |
− | |}
| |
− |
| |
− | ==Battle Plan==
| |
− | {|class="article-table mw-collapsible" style="max-height: 80vh;"
| |
− | |+The Wastes of Want
| |
− | !style="position:sticky; top:0; left:0;" | Advance \ Morale {{#loop:i | 0 | 17 | !! style="position:sticky; top:0;" {{!}} {{#var:i}}}}
| |
− | |- {{#loop:adv|0|25|<nowiki />
| |
− | !style="position:sticky; left:0;" {{!}}{{#var:adv}}
| |
− | {{#loop:mor|0|17|{{#ifeq:{{#var:mor}}|0||{{!}}}}{{!}} {{#expr:{{#var:waste_{{#var:adv}}_{{#var:mor}}}} round 2}}<br />{{#var:waste_{{#var:adv}}_{{#var:mor}}_choice}} }}
| |
− | {{!}}- }}
| |
− | |}
| |
− |
| |
− | {|class="article-table mw-collapsible mw-collapsed" style="max-height: 80vh;"
| |
− | |+The Hanging Mountains
| |
− | !style="position:sticky; top:0; left:0;" | Advance \ Morale {{#loop:i | 0 | 17 | !! style="position:sticky; top:0;" {{!}} {{#var:i}}}}
| |
− | |- {{#loop:adv|0|25|<nowiki />
| |
− | !style="position:sticky; left:0;" {{!}}{{#var:adv}}
| |
− | {{#loop:mor|0|17|{{#ifeq:{{#var:mor}}|0||{{!}}}}{{!}} {{#expr:{{#var:mount_{{#var:adv}}_{{#var:mor}}}} round 2}}<br />{{#var:mount_{{#var:adv}}_{{#var:mor}}_choice}} }}
| |
− | {{!}}- }}
| |
− | |}
| |
− |
| |
− | {|class="article-table mw-collapsible mw-collapsed" style="max-height: 80vh;"
| |
− | |+The War from Home
| |
− | !style="position:sticky; top:0; left:0;" | Advance \ Morale {{#loop:i | 0 | 17 | !! style="position:sticky; top:0;" {{!}} {{#var:i}}}}
| |
− | |- {{#loop:adv|0|25|<nowiki />
| |
− | !style="position:sticky; left:0;" {{!}}{{#var:adv}}
| |
− | {{#loop:mor|0|17|{{#ifeq:{{#var:mor}}|0||{{!}}}}{{!}} {{#expr: {{#var:home_{{#var:adv}}_{{#var:mor}}}} round 2}}<br />{{#var:home_{{#var:adv}}_{{#var:mor}}_choice}} }}
| |
− | {{!}}- }}
| |
− | |}
| |
− |
| |
− | {|class="article-table mw-collapsible mw-collapsed" style="max-height: 80vh;"
| |
− | |+The Writhing River
| |
− | !style="position:sticky; top:0; left:0;" | Advance \ Morale {{#loop:i | 0 | 17 | !! style="position:sticky; top:0;" {{!}} {{#var:i}}}}
| |
− | |- {{#loop:adv|0|25|<nowiki />
| |
− | !style="position:sticky; left:0;" {{!}}{{#var:adv}}
| |
− | {{#loop:mor|0|17|{{#ifeq:{{#var:mor}}|0||{{!}}}}{{!}} {{#expr: {{#var:river_{{#var:adv}}_{{#var:mor}}}} round 2}}<br />{{#var:river_{{#var:adv}}_{{#var:mor}}_choice}} }}
| |
− | {{!}}- }}
| |
− | |}
| |
− |
| |
− | {{#ifeq:{{#var:short|no}}|no|{{{!}}class="article-table mw-collapsible mw-collapsed" style="max-height: 80vh;"
| |
− | {{!}}+The Smoking Shore
| |
− | !style="position:sticky; top:0; left:0;" {{!}} Advance \ Morale {{#loop:i | 0 | 17 | !! style="position:sticky; top:0;" {{!}} {{#var:i}}}}
| |
− | {{!}}- {{#loop:adv|0|25|<nowiki />
| |
− | !style="position:sticky; left:0;" {{!}}{{#var:adv}}
| |
− | {{#loop:mor|0|17|{{#ifeq:{{#var:mor}}|0||{{!}}}}{{!}} {{#expr:{{#var:shore_{{#var:adv}}_{{#var:mor}}}} round 2}}<br />{{#var:shore_{{#var:adv}}_{{#var:mor}}_choice}} }}
| |
− | {{!}}- }}
| |
− | {{!}}}
| |
− |
| |
− | {{{!}}class="article-table mw-collapsible mw-collapsed" style="max-height: 80vh;"
| |
− | {{!}}+Shadows on the Mirrorpane
| |
− | !style="position:sticky; top:0; left:0;" {{!}} Advance \ Morale {{#loop:i | 0 | 17 | !! style="position:sticky; top:0;" {{!}} {{#var:i}}}}
| |
− | {{!}}- {{#loop:adv|0|25|<nowiki />
| |
− | !style="position:sticky; left:0;" {{!}}{{#var:adv}}
| |
− | {{#loop:mor|0|17|{{#ifeq:{{#var:mor}}|0||{{!}}}}{{!}} {{#expr: {{#var:mirror_{{#var:adv}}_{{#var:mor}}}} round 2}}<br />{{#var:mirror_{{#var:adv}}_{{#var:mor}}_choice}} }}
| |
− | {{!}}- }}
| |
− | {{!}}}
| |
− |
| |
− | {{{!}}class="article-table mw-collapsible mw-collapsed" style="max-height: 80vh;"
| |
− | {{!}}+The Castle of Forests
| |
− | !style="position:sticky; top:0; left:0;" {{!}} Advance \ Morale {{#loop:i | 0 | 17 | !! style="position:sticky; top:0;" {{!}} {{#var:i}}}}
| |
− | {{!}}- {{#loop:adv|0|25|<nowiki />
| |
− | !style="position:sticky; left:0;" {{!}}{{#var:adv}}
| |
− | {{#loop:mor|0|17|{{#ifeq:{{#var:mor}}|0||{{!}}}}{{!}} {{#expr: {{#caprint:forest[{{#var:adv}}][{{#var:mor}}][val]}} round 2}}<br />{{#caprint:forest[{{#var:adv}}][{{#var:mor}}][choice]}} }}
| |
− | {{!}}- }}
| |
− | {{!}}} }}
| |