summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2025-04-12 12:20:07 +0200
committerTor Andersson <tor@ccxvii.net>2025-04-12 12:20:07 +0200
commitc7e2b2ac1962e6f0f36a74389ce1f044524c4eea (patch)
tree7aed9771484046fe1095126eb4cd86d0f798812e
parent6824231da13054ed53aca7360e14fed948330c61 (diff)
downloadvijayanagara-c7e2b2ac1962e6f0f36a74389ce1f044524c4eea.tar.gz
Tweaks to command & decree prompts.
-rw-r--r--play.js2
-rw-r--r--rules.js96
2 files changed, 54 insertions, 44 deletions
diff --git a/play.js b/play.js
index ce7a766..b57f663 100644
--- a/play.js
+++ b/play.js
@@ -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")
diff --git a/rules.js b/rules.js
index feeb38a..8e08ee0 100644
--- a/rules.js
+++ b/rules.js
@@ -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)