diff options
author | Tor Andersson <tor@ccxvii.net> | 2025-04-12 12:20:07 +0200 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2025-04-12 12:20:07 +0200 |
commit | c7e2b2ac1962e6f0f36a74389ce1f044524c4eea (patch) | |
tree | 7aed9771484046fe1095126eb4cd86d0f798812e | |
parent | 6824231da13054ed53aca7360e14fed948330c61 (diff) | |
download | vijayanagara-c7e2b2ac1962e6f0f36a74389ce1f044524c4eea.tar.gz |
Tweaks to command & decree prompts.
-rw-r--r-- | play.js | 2 | ||||
-rw-r--r-- | rules.js | 96 |
2 files changed, 54 insertions, 44 deletions
@@ -1281,8 +1281,8 @@ function on_update() { action_button("skip", "Skip") action_button("next", "Next") action_button("end_event", "End Event") - action_button("end_of_turn", "End your turn") action_button("end_return", "End Influence Shift") + action_button("end_of_turn", "End Turn") action_button("deny", "Deny") action_button("done", "Done") @@ -710,7 +710,17 @@ states.main_phase = { view.prompt = "Select a Decree." gen_any_decree() } else { - view.prompt = "End of turn." + switch (game.cylinder[game.current]) { + case SOP_COMMAND_DECREE: + view.prompt = "Command and Decree: Done." + break + case SOP_EVENT_OR_COMMAND: + view.prompt = "Event or Command: Done." + break + case SOP_LIMITED_COMMAND: + view.prompt = "Limited Command: Done." + break + } view.actions.end_of_turn = 1 } }, @@ -746,7 +756,7 @@ states.cavalry = { if (can_take) view.prompt = `Gain Cavalry: Take ${game.cav.n} Cavalry token${game.cav.n > 1 ? "s" : ""}.` else { - view.prompt = "Gain Cavalry: No more available Cavalry token." + view.prompt = "Gain Cavalry: No more Cavalry tokens available." view.actions.end_cavalry = 1 } } else { @@ -766,9 +776,9 @@ states.cavalry = { } states.compromising_gifts = { - inactive: "Compromising gifts", + inactive: "Compromising Gifts", prompt() { - view.prompt = "Compromising gifts: Reduce your Influence by one to gain two Resources and two Cavalry tokens." + view.prompt = "Compromising Gifts: Reduce your Influence by one to gain two Resources and two Cavalry tokens." gen_action_influence(game.current) view.actions.end_gifts = 1 @@ -878,7 +888,7 @@ states.march_space = { states.rebel = { inactive: "Rebel", prompt() { - view.prompt = "Rebel: Select a Province where you are in majority." + view.prompt = "Rebel: Select a Province where your pieces are in majority." if (can_select_cmd_space(1)) { for (let s = first_space; s <= last_space; ++s) { @@ -915,7 +925,7 @@ states.strategic_assistance = { states.tax = { inactive: "Tax", prompt() { - view.prompt = `Tax: Collect ${tax_count()} from Controlled Prosperity and Temples.` + view.prompt = `Tax: Collect ${tax_count()} Resources from Prosperity and Temples in your Controlled Provinces.` if (game.decree.count > 0) gen_action_resources(VE) @@ -1214,9 +1224,9 @@ states.attack = { prompt() { if (can_select_cmd_space(1) && can_attack()) { if (game.current === DS) - view.prompt = "Attack: Select Spaces with Rebels or Mongol Invaders." + view.prompt = "Attack: Select spaces with Rebels or Mongol Invaders." else - view.prompt = "Attack: Select Provinces with enemy pieces." + view.prompt = "Attack: Select Provinces with opposing pieces." for (let s = first_space; s <= last_space; ++s) { if (!is_selected_cmd_space(s) && can_attack_in_space(s)) @@ -1293,11 +1303,11 @@ states.attack_adjacent_support = { view.who = game.cmd.selected if (game.current === DS) - view.prompt = "Attack: Add up to two Units from adjacent Space with a Qasbah." + view.prompt = "Attack: Join with up to two Units from one adjacent space with a Qasbah." else if (game.current === BK) - view.prompt = "Attack: Add up to two Amirs from adjacent Province with a Fort." + view.prompt = "Attack: Join with up to two Amirs from one adjacent Province with a Fort." else if (game.current === VE) - view.prompt = "Attack: Add up to one Raja from adjacent Province with a Temple." + view.prompt = "Attack: Join with up to one Raja from one adjacent Province with a Temple." if (game.cmd.support_space === null) { for (let s = first_space; s <= last_space; ++s) @@ -1339,7 +1349,7 @@ states.attack_adjacent_support = { states.attack_space = { inactive: "Attack", prompt() { - view.prompt = "Attack: Roll the die to attack." + view.prompt = "Attack: Roll the dice!" view.who = game.cmd.selected view.actions.roll = 1 @@ -1492,7 +1502,7 @@ states.attack_casualties = { game.cmd.count > 0 && game.cmd.selected.filter(p => piece_faction(p) === game.current).length > 0 ) { - view.prompt = `Attack: Must remove ${game.cmd.count} pieces as casualties.` + view.prompt = `Attack: Remove ${game.cmd.count} pieces as casualties.` for (let p of game.cmd.selected) if (piece_faction(p) === game.current) @@ -1707,9 +1717,9 @@ states.govern = { inactive: "Govern", prompt() { if (game.vm && "ignore_loc_req" in game.vm && game.vm.ignore_loc_req) - view.prompt = "Govern: Ignore locations requirements." + view.prompt = "Govern: Select any space, ignoring location requirements." else - view.prompt = "Govern: Select a Tributary, Controlled, Mongol Invader region or Delhi." + view.prompt = "Govern: Select a Tributary, Sultanate Controlled Province, Mongol Invasion Region, or Delhi." if (can_select_cmd_space(1) && can_govern()) for (let s = first_space; s <= last_space; ++s) @@ -1730,7 +1740,7 @@ states.govern = { states.govern_space = { inactive: "Govern", prompt() { - view.prompt = "Govern: Place a Governor or place a Qasbah and remove two Obedient Units." + view.prompt = "Govern: Place a Governor OR place a Qasbah and/or remove two Obedient Units." view.where = game.cmd.where view.actions.next = 1 @@ -1795,7 +1805,7 @@ function goto_migrate() { states.migrate = { inactive: "Migrate", prompt() { - view.prompt = "Migrate: Select a Province as the Migrate destination." + view.prompt = "Migrate: Select a Province to move into." if (can_select_cmd_space(1) && can_migrate()) for (let s = first_space; s <= last_province; ++s) @@ -1965,9 +1975,9 @@ states.rally = { inactive: "Rally", prompt() { if (game.current === BK) - view.prompt = "Rally: Select Maharashtra or a Province with your presence." + view.prompt = "Rally: Select Maharashtra or a Province with your pieces." else if (game.current === VE) - view.prompt = "Rally: Select Karnataka or a Province with your presence." + view.prompt = "Rally: Select Karnataka or a Province with your pieces." if (can_select_cmd_space(1) && can_rally()) { for (let s = first_space; s <= last_space; ++s) { @@ -1991,7 +2001,7 @@ states.rally_space = { inactive: "Rally", prompt() { if (find_piece(AVAILABLE, game.current, ELITE) === -1) { - view.prompt = `Rally: No more available ${PIECE_FACTION_TYPE_NAME[game.current][ELITE]}.` + view.prompt = `Rally: No available ${PIECE_FACTION_TYPE_NAME[game.current][ELITE]}.` view.actions.next = 1 } else { view.prompt = `Rally: Place up to ${format_unit_count(game.current, ELITE, rally_count())}.` @@ -2103,7 +2113,7 @@ function goto_collect() { states.collect = { inactive: "Collect Tribute", prompt() { - view.prompt = `Collect Tribute: Collect ${collect_count()} from half the Tributaries prosperity.` + view.prompt = `Collect Tribute: Collect ${collect_count()} from half the total Tributary Prosperity.` if (game.decree.count > 0) gen_action_resources(DS) @@ -2359,7 +2369,7 @@ function goto_compel() { states.compel = { inactive: "Compel", prompt() { - view.prompt = "Compel: Select Province with or adjacent to your presence." + view.prompt = "Compel: Select a Province with or adjacent to your pieces." for (let s = first_space; s <= last_province; ++s) if (can_compel_in_space(s)) @@ -2382,7 +2392,7 @@ states.compel_space = { inactive: "Compel", prompt() { if (game.decree.count > 0) { - view.prompt = "Compel: Move in or add up to two Rajas." + view.prompt = "Compel: Move in or place up to two Rajas." gen_place_piece(game.current, ELITE) @@ -2423,14 +2433,14 @@ states.compel_space = { states.compel_space_influencial = { inactive: "Compel", prompt() { - view.prompt = "Compel: Remove one enemy unit in the selected Province." + view.prompt = "Compel: Remove one Troop, Governor, or Amir." gen_piece_in_space(game.decree.where, DS, TROOPS) gen_piece_in_space(game.decree.where, DS, ELITE) gen_piece_in_space(game.decree.where, BK, ELITE) if (count_faction_units(game.decree.where, DS) + count_faction_units(game.decree.where, BK) === 0) { - view.prompt = "Compel: No enemy unit in the selected Province" + view.prompt = "Compel: No Troops, Governors, or Amirs in the selected Province." view.actions.skip = 1 } }, @@ -2485,8 +2495,8 @@ states.conspire = { view.actions.end_conspire = 0 view.prompt = game.inf[BK] < 2 - ? "Conspire: Select Province with your presence to convert a Governor." - : "Conspire: Select Province with or adjacent to your presence to convert a Governor or Raja."; + ? "Conspire: Select a Province with your pieces to convert a Governor." + : "Conspire: Select a Province with or adjacent to your pieces to convert a Governor or Raja."; for (let s = first_space; s <= last_province; ++s) if (can_conspire_in_space(s) && !set_has(game.decree.spaces, s)) @@ -2543,7 +2553,7 @@ states.conspire_replace = { inactive: "Conspire", prompt() { if (game.decree.is_rebel === null) { - view.prompt = `Conspire: Obedient or Rebelling Amir.` + view.prompt = `Conspire: Replace with an Obedient or Rebelling Amir.` view.actions.obedient = 1 view.actions.rebelling = 1 } else if (count_pieces(AVAILABLE, BK, ELITE) > 0) { @@ -2603,7 +2613,7 @@ function goto_trade() { states.trade = { inactive: "Trade", prompt() { - view.prompt = `Trade: Collect ${trade_count()} from Provinces with your presence.` + view.prompt = `Trade: Collect ${trade_count()} from Provinces where you have pieces.` if (game.decree.count === 1) gen_action_resources(BK) @@ -2635,7 +2645,7 @@ function can_advance() { states.advance = { inactive: "Advance", prompt() { - view.prompt = "Advance: Select the Advance destination." + view.prompt = "Advance: March the Mongol Invaders towards Delhi." if (has_piece(S_MOUNTAIN_PASSES, MI, TROOPS)) gen_action_space(S_PUNJAB) @@ -2653,7 +2663,7 @@ states.advance = { states.advance_space = { inactive: "Advance", prompt() { - view.prompt = "Advance: Move any number of Mongol Invaders into destination." + view.prompt = `Advance: Move one or more of Mongol Invaders into ${SPACE_NAME[game.cmd.where]}.` let origin = game.cmd.where === S_DELHI ? S_PUNJAB : S_MOUNTAIN_PASSES for (let p = first_piece[MI][TROOPS]; p <= last_piece[MI][TROOPS]; ++p) @@ -2680,7 +2690,7 @@ function can_amass() { states.amass = { inactive: "Amass", prompt() { - view.prompt = "Amass: Place up to three invaders into the Mountain Passes." + view.prompt = "Amass: Place up to three Mongol Invaders in the Mountain Passes." gen_action_space(S_MONGOL_INVADERS) }, @@ -2753,7 +2763,7 @@ function can_mi_attack() { states.mi_attack = { inactive: "Attack & Plunder", prompt() { - view.prompt = "Attack & Plunder: Select a Space to attack the Sultanate units and plunder resources." + view.prompt = "Attack & Plunder: Select a space to assault Sultanate forces." for (let s = first_space; s <= last_space; ++s) if (has_piece_faction(s, MI)) @@ -2783,7 +2793,7 @@ states.plunder = { inactive: "Attack & Plunder", prompt() { if (game.resources[DS] <= 3) { - view.prompt = "Attack & Plunder: Plunder cannot reduce Delhi Sultanate resources under 3." + view.prompt = "Attack & Plunder: Plunder cannot reduce Delhi Sultanate resources below 3." view.actions.next = 1 } else { let n = Math.min(game.resources[DS] - 3, count_pieces(game.cmd.where, MI, TROOPS)) @@ -3431,13 +3441,13 @@ function troops_to_inf_track(faction, s) { } if (moved < 2) { - goto_return_troops(faction, 2-moved, s) + goto_deccan_influence_track(faction, 2-moved, s) } else { end_influence() } } -function goto_return_troops(faction, n_troops, s) { +function goto_deccan_influence_track(faction, n_troops, s) { push_summary() if (game.inf_shift === null) game.inf_shift = {} @@ -3445,22 +3455,22 @@ function goto_return_troops(faction, n_troops, s) { game.inf_shift.s = s game.inf_shift.save_current = game.current change_current(faction) - game.state = "return_troops" + game.state = "deccan_influence_track" } -states.return_troops = { - inactive: `Returning Units to the Influence track.`, +states.deccan_influence_track = { + inactive: `Deccan Influence Track`, prompt() { if (game.inf_shift.n > 0) { - view.prompt = `Deccan Influence dwindles: Return ${game.inf_shift.n} ${PIECE_FACTION_TYPE_NAME[game.current][ELITE]}${game.inf_shift.n > 1 ? "s" : ""} to the Influence track.` + view.prompt = `Deccan Influence Dwindles: Return ${game.inf_shift.n} ${PIECE_FACTION_TYPE_NAME[game.current][ELITE]}${game.inf_shift.n > 1 ? "s" : ""} to the track.` for_each_piece(game.current, ELITE, p => { if (piece_space(p) >= 0 && piece_space(p) <= S_PUNJAB) gen_action_piece(p) }) } else { - view.prompt = "Deccan Influence dwindles: Done." + view.prompt = "Deccan Influence Dwindles: Done." view.actions.end_return = 1 } @@ -3594,7 +3604,7 @@ function action_ask_resources() { states.ask_resources = { disable_negotiation: true, prompt() { - view.prompt = "Negotiate: Ask another faction for resources?" + view.prompt = "Negotiate: Ask another faction for Resources?" if (!is_player_ds() && game.resources[DS] > 0) gen_action_resources(DS) if (!is_player_bk() && game.resources[BK] > 0) @@ -3657,7 +3667,7 @@ function action_transfer_resources() { states.transfer_resources = { disable_negotiation: true, prompt() { - view.prompt = "Transfer resources to another faction." + view.prompt = "Transfer Resources to another faction." if (game.resources[game.current] >= 1) { if (!is_player_ds() && game.resources[DS] < 24) gen_action_resources(DS) |