summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.js148
-rw-r--r--rules.ts62
-rw-r--r--tools/gendata.js14
3 files changed, 127 insertions, 97 deletions
diff --git a/data.js b/data.js
index b5fda68..431bf6b 100644
--- a/data.js
+++ b/data.js
@@ -200,80 +200,80 @@ vassals:[
{"service":0,"name":"Hastings","seat":-1,"influence":0,"capability":"Hastings"},
],
cards:[
-{"name":"Y1","event":"Leeward Battle Line","when":"hold","capability":"Culverins and falconets","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y2","event":"Flank Attack","when":"hold","capability":"Culverins and falconets","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y3","event":"Escape Ship","when":"hold","capability":"Muster'd my solders","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y4","event":"Jack Cade","when":"this_levy","capability":"We done deeds of charity","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y5","event":"Suspicion","when":"hold","capability":"Thomas Bourchier","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y6","event":"Seamanship","when":"this_campaign","capability":"Great Ships","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y7","event":"Yorkists Block Parliament","when":"this_levy","capability":"Harbingers","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y8","event":"Exile Pact","when":"this_campaign","capability":"England is my home","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y9","event":"Escape Ship","when":"hold","capability":"Barricades","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y10","event":"Tax Collectors","when":"now","capability":"Agitators","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y11","event":"Blocked Ford","when":"hold","capability":"Yorkists Never Wait","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y12","event":"Parliament's Truce","when":"hold","capability":"Soldiers of fortune","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y13","event":"Aspielles","when":"hold","capability":"Scourers","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
-{"name":"Y14","event":"Richard of York","when":"this_levy","capability":"Burgundians","lords":[0,1]},
-{"name":"Y15","event":"London for York","when":"now","capability":"Naval Blockade","lords":[13]},
-{"name":"Y16","event":"The Commons","when":"this_levy","capability":"Beloved Warwick","lords":[13]},
-{"name":"Y17","event":"She-Wolf of France","when":"now","capability":"Alice Montagu","lords":[3]},
-{"name":"Y18","event":"Succession","when":"this_levy","capability":"Irishmen","lords":[0,4]},
-{"name":"Y19","event":"Caltrops","when":"hold","capability":"Welshmen","lords":[0,1]},
-{"name":"Y20","event":"Yorkist Parade","when":"hold","capability":"York's favoured Son","lords":[1,4]},
-{"name":"Y21","event":"Sir Richard Leigh","when":"now","capability":"Southerners","lords":[0,1,4]},
-{"name":"Y22","event":"Loyalty and Trust","when":"this_levy","capability":"fair Arbiter","lords":[3]},
-{"name":"Y23","event":"Charles the Bold","when":"now","capability":"Burgundians","lords":[2,9,10,11]},
-{"name":"Y24","event":"Sun in Splendour","when":"hold","capability":"Hastings","lords":[2]},
-{"name":"Y25","event":"Owain Glyndwr","when":"this_campaign","capability":"Pembroke","lords":[5]},
-{"name":"Y26","event":"Dubious Clarence","when":"now","capability":"Fallen Brother","lords":[9,10,11]},
-{"name":"Y27","event":"Yorkist North","when":"now","capability":"Percy's North","lords":[7,8]},
-{"name":"Y28","event":"Gloucester as heir","when":"this_levy","capability":"First Son","lords":[2]},
-{"name":"Y29","event":"Dorset","when":"this_campaign","capability":"Stafford Branch","lords":[6]},
-{"name":"Y30","event":"Regroup","when":"hold","capability":"Captain","lords":[5,6]},
-{"name":"Y31","event":"Earl Rivers","when":"now","capability":"Woodvilles","lords":[2,6,9,10,11]},
-{"name":"Y32","event":"The King's Name","when":"this_levy","capability":"Final Charge","lords":[11]},
-{"name":"Y33","event":"Edward V","when":"this_levy","capability":"Bloody thou art, bloody will be thy end","lords":[11]},
-{"name":"Y34","event":"An honest tale speeds best","when":"this_campaign","capability":"So wise, so young","lords":[9,10]},
-{"name":"Y35","event":"Privy Council","when":"this_levy","capability":"Kingdom United","lords":[9,10]},
-{"name":"Y36","event":"Swift Maneuver","when":"hold","capability":"Vanguard","lords":[12]},
-{"name":"Y37","event":"Patrick de la Mote","when":"hold","capability":"Percy's North","lords":[7,8]},
-{"name":"L1","event":"Leeward Battle Line","when":"hold","capability":"Culverins and falconets","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L2","event":"Flank Attack","when":"hold","capability":"Culverins and falconets","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L3","event":"Escape Ship","when":"hold","capability":"Muster’d my soldiers","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L4","event":"Be sent for","when":"this_levy","capability":"Heralds","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L5","event":"Suspicion","when":"hold","capability":"Church Blessing","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L6","event":"Seamanship","when":"this_campaign","capability":"Great Ships","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L7","event":"For trust not him","when":"hold","capability":"Harbingers","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L8","event":"Forced Marches","when":"this_campaign","capability":"Hay Wains","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L9","event":"Rising Wages","when":"this_levy","capability":"Quartermasters","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L10","event":"New Act of Parliament","when":"this_campaign","capability":"Chamberlains","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L11","event":"Blocked Ford","when":"hold","capability":"In the Name of the King","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L12","event":"Ravine","when":"hold","capability":"Commission of Array","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L13","event":"Aspielles","when":"hold","capability":"Expert Counsellors","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L14","event":"Scots","when":"now","capability":"Percy’s Power","lords":[21]},
-{"name":"L15","event":"Henry Pressures Parliament","when":"now","capability":"King’s Parley","lords":[14]},
-{"name":"L16","event":"Warden of the Marches","when":"hold","capability":"Northmen","lords":[21]},
-{"name":"L17","event":"My crown is in my heart","when":"this_levy","capability":"Margaret","lords":[14]},
-{"name":"L18","event":"Parliament Votes","when":"this_levy","capability":"Council Member","lords":[16,17,18,19,20]},
-{"name":"L19","event":"Henry’s Proclamation","when":"now","capability":"Andrew Trollope","lords":[16,17,18,19,20]},
-{"name":"L20","event":"Parliament Truce","when":"hold","capability":"Veteran of French Wars","lords":[16,17,18,19]},
-{"name":"L21","event":"French Fleet","when":"this_campaign","capability":"My Father’s Blood","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
-{"name":"L22","event":"French Troops","when":"now","capability":"Stafford Estates","lords":[20]},
-{"name":"L23","event":"Warwick’s Propaganda","when":"now","capability":"Montagu","lords":[27]},
-{"name":"L24","event":"Warwick’s Propaganda","when":"now","capability":"Married to a Neville","lords":[22]},
-{"name":"L25","event":"Welsh Rebellion","when":"now","capability":"Welsh Lord","lords":[23,24]},
-{"name":"L26","event":"Henry Released","when":"now","capability":"Edward","lords":[15]},
-{"name":"L27","event":"L’Universelle Aragne","when":"now","capability":"Barded Horse","lords":[15,16,17,18,19]},
-{"name":"L28","event":"Rebel Supply Depot","when":"hold","capability":"Loyal Somerset","lords":[16,17]},
-{"name":"L29","event":"To wilful disobedience","when":"now","capability":"High Admiral","lords":[18,19]},
-{"name":"L30","event":"French War Loans","when":"now","capability":"Merchants","lords":[27]},
-{"name":"L31","event":"Robin’s Rebellion","when":"now","capability":"Yeomen of the Crown","lords":[15]},
-{"name":"L32","event":"Tudor Banners","when":"now","capability":"Two Roses","lords":[25]},
-{"name":"L33","event":"Surprise Landing","when":"hold","capability":"Philibert de Chandée","lords":[25,26]},
-{"name":"L34","event":"Buckingham’s Plot","when":"this_levy","capability":"Piquiers","lords":[25,26]},
-{"name":"L35","event":"Margaret Beaufort","when":"this_levy","capability":"Thomas Stanley","lords":[23,24,25]},
-{"name":"L36","event":"Talbot to the Rescue","when":"hold","capability":"Chevaliers","lords":[23,24,25,26]},
-{"name":"L37","event":"The Earl of Richmond","when":"this_levy","capability":"Madame La Grande","lords":[23,24,25,26]},
+{"name":"Y1","event":"Leeward Battle Line","roses":0,"when":"hold","capability":"Culverins and falconets","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y2","event":"Flank Attack","roses":0,"when":"hold","capability":"Culverins and falconets","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y3","event":"Escape Ship","roses":0,"when":"hold","capability":"Muster'd my solders","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y4","event":"Jack Cade","roses":0,"when":"this_levy","capability":"We done deeds of charity","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y5","event":"Suspicion","roses":0,"when":"hold","capability":"Thomas Bourchier","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y6","event":"Seamanship","roses":0,"when":"this_campaign","capability":"Great Ships","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y7","event":"Yorkists Block Parliament","roses":0,"when":"this_levy","capability":"Harbingers","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y8","event":"Exile Pact","roses":0,"when":"this_campaign","capability":"England is my home","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y9","event":"Escape Ship","roses":0,"when":"hold","capability":"Barricades","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y10","event":"Tax Collectors","roses":0,"when":"now","capability":"Agitators","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y11","event":"Blocked Ford","roses":0,"when":"hold","capability":"Yorkists Never Wait","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y12","event":"Parliament's Truce","roses":0,"when":"hold","capability":"Soldiers of fortune","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y13","event":"Aspielles","roses":0,"when":"hold","capability":"Scourers","lords":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},
+{"name":"Y14","event":"Richard of York","roses":1,"when":"this_levy","capability":"Burgundians","lords":[0,1]},
+{"name":"Y15","event":"London for York","roses":1,"when":"now","capability":"Naval Blockade","lords":[13]},
+{"name":"Y16","event":"The Commons","roses":1,"when":"this_levy","capability":"Beloved Warwick","lords":[13]},
+{"name":"Y17","event":"She-Wolf of France","roses":1,"when":"now","capability":"Alice Montagu","lords":[3]},
+{"name":"Y18","event":"Succession","roses":1,"when":"this_levy","capability":"Irishmen","lords":[0,4]},
+{"name":"Y19","event":"Caltrops","roses":1,"when":"hold","capability":"Welshmen","lords":[0,1]},
+{"name":"Y20","event":"Yorkist Parade","roses":1,"when":"hold","capability":"York's favoured Son","lords":[1,4]},
+{"name":"Y21","event":"Sir Richard Leigh","roses":1,"when":"now","capability":"Southerners","lords":[0,1,4]},
+{"name":"Y22","event":"Loyalty and Trust","roses":1,"when":"this_levy","capability":"fair Arbiter","lords":[3]},
+{"name":"Y23","event":"Charles the Bold","roses":2,"when":"now","capability":"Burgundians","lords":[2,9,10,11]},
+{"name":"Y24","event":"Sun in Splendour","roses":2,"when":"hold","capability":"Hastings","lords":[2]},
+{"name":"Y25","event":"Owain Glyndwr","roses":2,"when":"this_campaign","capability":"Pembroke","lords":[5]},
+{"name":"Y26","event":"Dubious Clarence","roses":2,"when":"now","capability":"Fallen Brother","lords":[9,10,11]},
+{"name":"Y27","event":"Yorkist North","roses":2,"when":"now","capability":"Percy's North","lords":[7,8]},
+{"name":"Y28","event":"Gloucester as heir","roses":2,"when":"this_levy","capability":"First Son","lords":[2]},
+{"name":"Y29","event":"Dorset","roses":2,"when":"this_campaign","capability":"Stafford Branch","lords":[6]},
+{"name":"Y30","event":"Regroup","roses":2,"when":"hold","capability":"Captain","lords":[5,6]},
+{"name":"Y31","event":"Earl Rivers","roses":2,"when":"now","capability":"Woodvilles","lords":[2,6,9,10,11]},
+{"name":"Y32","event":"The King's Name","roses":3,"when":"this_levy","capability":"Final Charge","lords":[11]},
+{"name":"Y33","event":"Edward V","roses":3,"when":"this_levy","capability":"Bloody thou art, bloody will be thy end","lords":[11]},
+{"name":"Y34","event":"An honest tale speeds best","roses":3,"when":"this_campaign","capability":"So wise, so young","lords":[9,10]},
+{"name":"Y35","event":"Privy Council","roses":3,"when":"this_levy","capability":"Kingdom United","lords":[9,10]},
+{"name":"Y36","event":"Swift Maneuver","roses":3,"when":"hold","capability":"Vanguard","lords":[12]},
+{"name":"Y37","event":"Patrick de la Mote","roses":3,"when":"hold","capability":"Percy's North","lords":[7,8]},
+{"name":"L1","event":"Leeward Battle Line","roses":0,"when":"hold","capability":"Culverins and falconets","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L2","event":"Flank Attack","roses":0,"when":"hold","capability":"Culverins and falconets","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L3","event":"Escape Ship","roses":0,"when":"hold","capability":"Muster’d my soldiers","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L4","event":"Be sent for","roses":0,"when":"this_levy","capability":"Heralds","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L5","event":"Suspicion","roses":0,"when":"hold","capability":"Church Blessing","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L6","event":"Seamanship","roses":0,"when":"this_campaign","capability":"Great Ships","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L7","event":"For trust not him","roses":0,"when":"hold","capability":"Harbingers","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L8","event":"Forced Marches","roses":0,"when":"this_campaign","capability":"Hay Wains","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L9","event":"Rising Wages","roses":0,"when":"this_levy","capability":"Quartermasters","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L10","event":"New Act of Parliament","roses":0,"when":"this_campaign","capability":"Chamberlains","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L11","event":"Blocked Ford","roses":0,"when":"hold","capability":"In the Name of the King","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L12","event":"Ravine","roses":0,"when":"hold","capability":"Commission of Array","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L13","event":"Aspielles","roses":0,"when":"hold","capability":"Expert Counsellors","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L14","event":"Scots","roses":1,"when":"now","capability":"Percy’s Power","lords":[21]},
+{"name":"L15","event":"Henry Pressures Parliament","roses":1,"when":"now","capability":"King’s Parley","lords":[14]},
+{"name":"L16","event":"Warden of the Marches","roses":1,"when":"hold","capability":"Northmen","lords":[21]},
+{"name":"L17","event":"My crown is in my heart","roses":1,"when":"this_levy","capability":"Margaret","lords":[14]},
+{"name":"L18","event":"Parliament Votes","roses":1,"when":"this_levy","capability":"Council Member","lords":[16,17,18,19,20]},
+{"name":"L19","event":"Henry’s Proclamation","roses":1,"when":"now","capability":"Andrew Trollope","lords":[16,17,18,19,20]},
+{"name":"L20","event":"Parliament Truce","roses":1,"when":"hold","capability":"Veteran of French Wars","lords":[16,17,18,19]},
+{"name":"L21","event":"French Fleet","roses":1,"when":"this_campaign","capability":"My Father’s Blood","lords":[14,15,16,17,18,19,20,21,22,23,24,25,26,27]},
+{"name":"L22","event":"French Troops","roses":1,"when":"now","capability":"Stafford Estates","lords":[20]},
+{"name":"L23","event":"Warwick’s Propaganda","roses":2,"when":"now","capability":"Montagu","lords":[27]},
+{"name":"L24","event":"Warwick’s Propaganda","roses":2,"when":"now","capability":"Married to a Neville","lords":[22]},
+{"name":"L25","event":"Welsh Rebellion","roses":2,"when":"now","capability":"Welsh Lord","lords":[23,24]},
+{"name":"L26","event":"Henry Released","roses":2,"when":"now","capability":"Edward","lords":[15]},
+{"name":"L27","event":"L’Universelle Aragne","roses":2,"when":"now","capability":"Barded Horse","lords":[15,16,17,18,19]},
+{"name":"L28","event":"Rebel Supply Depot","roses":2,"when":"hold","capability":"Loyal Somerset","lords":[16,17]},
+{"name":"L29","event":"To wilful disobedience","roses":2,"when":"now","capability":"High Admiral","lords":[18,19]},
+{"name":"L30","event":"French War Loans","roses":2,"when":"now","capability":"Merchants","lords":[27]},
+{"name":"L31","event":"Robin’s Rebellion","roses":2,"when":"now","capability":"Yeomen of the Crown","lords":[15]},
+{"name":"L32","event":"Tudor Banners","roses":3,"when":"now","capability":"Two Roses","lords":[25]},
+{"name":"L33","event":"Surprise Landing","roses":3,"when":"hold","capability":"Philibert de Chandée","lords":[25,26]},
+{"name":"L34","event":"Buckingham’s Plot","roses":3,"when":"this_levy","capability":"Piquiers","lords":[25,26]},
+{"name":"L35","event":"Margaret Beaufort","roses":3,"when":"this_levy","capability":"Thomas Stanley","lords":[23,24,25]},
+{"name":"L36","event":"Talbot to the Rescue","roses":3,"when":"hold","capability":"Chevaliers","lords":[23,24,25,26]},
+{"name":"L37","event":"The Earl of Richmond","roses":3,"when":"this_levy","capability":"Madame La Grande","lords":[23,24,25,26]},
],
favour:[
{"name":"Bamburgh favour","box":{"x":637,"y":300,"w":60,"h":45}},
diff --git a/rules.ts b/rules.ts
index 24d136d..81af077 100644
--- a/rules.ts
+++ b/rules.ts
@@ -2,23 +2,26 @@
// TODO: "approach" pause when about to move into intercept range?
// TODO: log end victory conditions at scenario start
-// Check all push/clear_undo
// TODO: check all who = NOBODY etc resets
-// TODO check all game.count uses
-// TODO check all game.who uses
/*
TODO
- NAVAL BLOCKADE - Tax and Tax Collectors
-
- Y15 LONDON FOR YORK (protective effects + ui)
- extra favour marker in magic locale
+ NAVAL BLOCKADE - for Tax and Tax Collectors
+ Y15 LONDON FOR YORK - except by Event exception
scenario card lists
number of roses in data
Scenario special rules.
+
+ Review all undo steps.
+ Review all states for needless pauses.
+ Review all states for adding extra pauses to prevent loss of control.
+
+ Review all prompts.
+ Review all inactive prompts.
+ Review all log messages.
*/
/*
@@ -60,7 +63,7 @@ type MyMap<K,V> = (K|V)[]
interface Game {
seed: number,
- scenario: string,
+ scenario: number,
hidden: 0 | 1,
log: string[],
@@ -8363,7 +8366,13 @@ function check_scenario_end_victory() {
// === 6.0 SCENARIOS ===
-exports.scenarios = [
+const SCENARIO_IA = 0
+const SCENARIO_IB = 1
+const SCENARIO_IC = 2
+const SCENARIO_II = 3
+const SCENARIO_III = 4
+
+const SCENARIO_NAMES = exports.scenarios = [
"Ia. Henry VI",
"Ib. Towton",
"Ic. Somerset's Return",
@@ -8372,18 +8381,28 @@ exports.scenarios = [
// TODO "I-III. Wars of the Roses",
]
-const scenario_last_turn = {
- "Ia. Henry VI": 15,
- "Ib. Towton": 2,
- "Ic. Somerset's Return": 8,
- "II. Warwicks' Rebellion": 15,
- "III. My Kingdom for a Horse": 15,
- "I-III. Wars of the Roses": 15,
-}
+const scenario_last_turn = [
+ 15,
+ 2,
+ 8,
+ 15,
+ 15,
+]
-function is_card_in_scenario(_c: Card) {
- // TODO: Cards setup
- return true
+function is_card_in_scenario(c: Card): boolean {
+ let roses = data.cards[c].roses
+ let scenario = game.scenario
+ switch (scenario) {
+ case SCENARIO_IA:
+ case SCENARIO_IB:
+ case SCENARIO_IC:
+ return roses === 0 || roses === 1
+ case SCENARIO_II:
+ return (roses === 0 || roses === 2) && c !== L4
+ case SCENARIO_III:
+ return (roses === 0 || roses === 3)
+ }
+ throw "INVALID SCENARIO"
}
function muster_lord_forces(lord: Lord) {
@@ -8411,7 +8430,7 @@ function muster_lord(lord: Lord, locale: Locale) {
exports.setup = function (seed, scenario, options) {
game = {
seed,
- scenario,
+ scenario: SCENARIO_NAMES.indexOf(scenario),
hidden: options.hidden ? 1 : 0,
log: [],
@@ -9661,7 +9680,6 @@ states.we_done_deeds_of_charity = {
game.count--
},
done() {
- clear_undo()
logi(`${AOW_YORK_WE_DONE_DEEDS_OF_CHARITY}`)
log("York paid " + game.count + " provender to add " + game.count + " Influence Points")
game.count = 0
diff --git a/tools/gendata.js b/tools/gendata.js
index 1ae7c25..46f7547 100644
--- a/tools/gendata.js
+++ b/tools/gendata.js
@@ -1504,7 +1504,7 @@ let AOW = {}
let cards = []
function arts_of_war_event(name, event, when) {
- let c = { name, event, when, capability: null, lords: null }
+ let c = { name, event, roses: 0, when, capability: null, lords: null }
cards.push(c)
AOW[name] = c
}
@@ -1524,6 +1524,11 @@ function arts_of_war_capability(name, capability, lord_names) {
}
}
+function arts_of_war_roses(roses, side, a, b) {
+ for (let n = a; n <= b; ++n)
+ AOW[side + n].roses = roses
+}
+
arts_of_war_event("Y1", "Leeward Battle Line", "hold")
arts_of_war_event("Y2", "Flank Attack", "hold")
arts_of_war_event("Y3", "Escape Ship", "hold")
@@ -1600,6 +1605,9 @@ arts_of_war_capability("Y35", "Kingdom United", ["Gloucester 1", "Gloucester 2"]
arts_of_war_capability("Y36", "Vanguard", ["Norfolk"])
arts_of_war_capability("Y37", "Percy's North", ["Northumberland Y1", "Northumberland Y2"])
+arts_of_war_roses(1, "Y", 14, 22)
+arts_of_war_roses(2, "Y", 23, 31)
+arts_of_war_roses(3, "Y", 32, 37)
arts_of_war_event("L1", "Leeward Battle Line", "hold")
arts_of_war_event("L2", "Flank Attack", "hold")
@@ -1677,6 +1685,10 @@ arts_of_war_capability("L35", "Thomas Stanley", ["Jasper Tudor 1", "Jasper Tudor
arts_of_war_capability("L36", "Chevaliers", ["Oxford", "Jasper Tudor 1", "Jasper Tudor 2", "Henry Tudor"])
arts_of_war_capability("L37", "Madame La Grande", ["Oxford", "Jasper Tudor 1", "Jasper Tudor 2", "Henry Tudor"])
+arts_of_war_roses(1, "L", 14, 22)
+arts_of_war_roses(2, "L", 23, 31)
+arts_of_war_roses(3, "L", 32, 37)
+
let vassals = []
function vassal(service, name, seat, influence, capability) {
vassals.push({service, name, seat, influence, capability })