From feb1288946bfb56a0ea3ef99f7432280ed846b6d Mon Sep 17 00:00:00 2001 From: Frans Bongers Date: Sun, 9 Mar 2025 16:13:33 +0100 Subject: last refactor for clicking tracks instead of standees --- rules.js | 41 ++++++++++++++++++++++++++--------------- rules.ts | 49 ++++++++++++++++++++++++++++--------------------- 2 files changed, 54 insertions(+), 36 deletions(-) diff --git a/rules.js b/rules.js index b0a9662..3fa7804 100644 --- a/rules.js +++ b/rules.js @@ -68,9 +68,6 @@ function gen_action_front(front_id) { function gen_action_medallion(medallion_id) { gen_action('medallion', medallion_id); } -function gen_action_standee(track_id) { - gen_action('standee', track_id); -} function gen_spend_hero_points() { const faction = get_active_faction(); const can_spend_hp = game.faction_turn === faction && game.hero_points[faction] > 0; @@ -1287,25 +1284,39 @@ states.move_track = { view.prompt = add_prompt_prefix(view.prompt, get_source_name(node.a.src)); } if (track === data_1.LIBERTY_OR_COLLECTIVIZATION) { - gen_action_standee(data_1.LIBERTY); - gen_action_standee(data_1.COLLECTIVIZATION); + gen_move_track(data_1.LIBERTY, game.tracks[data_1.LIBERTY] + value); + gen_move_track(data_1.COLLECTIVIZATION, game.tracks[data_1.COLLECTIVIZATION] + value); + } + else if (track === data_1.GOVERNMENT && + (value === data_1.TOWARDS_CENTER || value === data_1.AWAY_FROM_CENTER)) { + const direction = get_government_track_direction(value); + gen_move_track(track, game.tracks[track] + direction); } else { - gen_action_standee(track); + gen_move_track(track, game.tracks[track] + value); } }, spend_hp() { resolve_spend_hp(); }, - standee(s) { - const node = get_active_node(); - let value = node.a.v; - if (s === data_1.GOVERNMENT && - (value === data_1.TOWARDS_CENTER || value === data_1.AWAY_FROM_CENTER)) { - const direction = get_government_track_direction(value); - value = direction; - } - move_track(s, value); + tr0(x) { + move_track_to(0, x); + resolve_active_and_proceed(); + }, + tr1(x) { + move_track_to(1, x); + resolve_active_and_proceed(); + }, + tr2(x) { + move_track_to(2, x); + resolve_active_and_proceed(); + }, + tr3(x) { + move_track_to(3, x); + resolve_active_and_proceed(); + }, + tr4(x) { + move_track_to(4, x); resolve_active_and_proceed(); }, }; diff --git a/rules.ts b/rules.ts index dda4fac..ab19cf5 100644 --- a/rules.ts +++ b/rules.ts @@ -153,10 +153,6 @@ function gen_action_medallion(medallion_id: number) { gen_action('medallion', medallion_id); } -function gen_action_standee(track_id: number) { - gen_action('standee', track_id); -} - function gen_spend_hero_points() { const faction = get_active_faction(); const can_spend_hp = @@ -1604,29 +1600,40 @@ states.move_track = { } if (track === LIBERTY_OR_COLLECTIVIZATION) { - gen_action_standee(LIBERTY); - gen_action_standee(COLLECTIVIZATION); + gen_move_track(LIBERTY, game.tracks[LIBERTY] + value); + gen_move_track(COLLECTIVIZATION, game.tracks[COLLECTIVIZATION] + value); + } else if ( + track === GOVERNMENT && + (value === TOWARDS_CENTER || value === AWAY_FROM_CENTER) + ) { + const direction = get_government_track_direction(value); + // Value equals direction because away / towards always moves 1 step + gen_move_track(track, game.tracks[track] + direction); } else { - gen_action_standee(track); + gen_move_track(track, game.tracks[track] + value); } }, spend_hp() { resolve_spend_hp(); }, - standee(s: number) { - const node = get_active_node(); - let value = node.a.v; - - if ( - s === GOVERNMENT && - (value === TOWARDS_CENTER || value === AWAY_FROM_CENTER) - ) { - const direction = get_government_track_direction(value); - // Value equals direction because away / towards always moves 1 step - value = direction; - } - - move_track(s, value); + tr0(x: number) { + move_track_to(0, x); + resolve_active_and_proceed(); + }, + tr1(x: number) { + move_track_to(1, x); + resolve_active_and_proceed(); + }, + tr2(x: number) { + move_track_to(2, x); + resolve_active_and_proceed(); + }, + tr3(x: number) { + move_track_to(3, x); + resolve_active_and_proceed(); + }, + tr4(x: number) { + move_track_to(4, x); resolve_active_and_proceed(); }, }; -- cgit v1.2.3