diff options
author | Tor Andersson <tor@ccxvii.net> | 2021-07-15 13:06:44 +0200 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2022-11-16 19:19:39 +0100 |
commit | 163e2eaa1803c26231bc24bb0b6fe33239296f3c (patch) | |
tree | 24183605bcaa6183738bb8ba11104465671dc335 | |
parent | e95a550388b9a5ff51d95fefac5071693068cdaf (diff) | |
download | crusader-rex-163e2eaa1803c26231bc24bb0b6fe33239296f3c.tar.gz |
crusader: Improve UI for sending Asasssins event.
-rw-r--r-- | play.html | 1 | ||||
-rw-r--r-- | rules.js | 33 | ||||
-rw-r--r-- | ui.js | 2 |
3 files changed, 24 insertions, 12 deletions
@@ -158,6 +158,7 @@ body.shift .block.known:hover { .block.Franks.highlight { border-color: white; } .block.Saracens.highlight { border-color: white; } +.block.Assassins.highlight { border-color: white; } .block.Franks.selected { border-color: crimson; } .block.Saracens.selected { border-color: yellow; } @@ -1342,31 +1342,44 @@ states.assassins = { states.assassins_show_1 = { prompt: function (view, current) { view.assassinate = game.who; + view.who = ASSASSINS; if (is_inactive_player(current)) return view.prompt = "Assassins: Waiting for " + game.active + "."; view.prompt = "Assassins: The assassins target " + block_name(game.who) + " in " + game.where + "."; gen_action(view, 'next'); + gen_action(view, 'block', game.who); + gen_action(view, 'block', ASSASSINS); }, - next: function () { - assassinate(game.who, game.where); - game.state = 'assassins_show_2'; - }, + next: assassins_next_1, + block: assassins_next_1, +} + +function assassins_next_1() { + assassinate(game.who, game.where); + game.state = 'assassins_show_2'; } states.assassins_show_2 = { prompt: function (view, current) { view.assassinate = game.who; + view.who = ASSASSINS; if (is_inactive_player(current)) return view.prompt = "Assassins: Waiting for " + game.active + "."; view.prompt = "Assassins: The assassins hit " + block_name(game.who) + " in " + game.where + "."; gen_action(view, 'next'); + gen_action(view, 'block', ASSASSINS); + gen_action(view, 'town', MASYAF); }, - next: function () { - game.location[ASSASSINS] = MASYAF; - game.who = null; - game.where = null; - end_player_turn(); - }, + next: assassins_next_2, + block: assassins_next_2, + town: assassins_next_2, +} + +function assassins_next_2() { + game.location[ASSASSINS] = MASYAF; + game.who = null; + game.where = null; + end_player_turn(); } function assassinate(who, where) { @@ -566,8 +566,6 @@ function update_map() { } if (game.who && !game.battle) ui.blocks[game.who].classList.add('selected'); - if (game.assassinate) - ui.blocks[game.assassinate].classList.add('selected'); for (let b of game.castle) ui.blocks[b].classList.add('castle'); } |