1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2026-05-08 08:11:21 +00:00

after 3 illegal moves, provide some suggestions regarding possible skip-moves and Orb uses

This commit is contained in:
Zeno Rogue
2026-04-18 14:06:35 +02:00
parent b518948af2
commit a7a3d13b70
14 changed files with 108 additions and 37 deletions

View File

@@ -404,8 +404,10 @@ int yasc_recode(int x) {
return yasc_recode(x / 10) * 100 + (x % 10);
};
EX void checkmove() {
EX cell *bowtarget = nullptr;
EX void checkmove(bool complete) {
if(!complete) { attempts = 0; movehints_ticks = 0; }
if(dual::state == 2) return;
if(shmup::on) return;
@@ -421,7 +423,7 @@ EX void checkmove() {
legalmoves.clear(); legalmoves.resize(cwt.at->type+1, false);
move_issues.clear(); move_issues.resize(cwt.at->type);
canmove = haveRangedTarget();
canmove = haveRangedTarget(complete);
items[itWarning]+=2;
if(movepcto(-1, 0, true))
canmove = legalmoves[cwt.at->type] = true;
@@ -450,7 +452,9 @@ EX void checkmove() {
for(int i=0; i<cwt.at->type; i++)
yasc_code += yasc_recode(move_issues[i].type);
if(!canmove && bow::crossbow_mode() && !items[itCrossbow]) canmove = bow::have_bow_target();
bowtarget = (!canmove || complete) ? bow::have_bow_target() : nullptr;
if(bowtarget) canmove = true;
#if CAP_INV
if(inv::on && !canmove && !inv::incheck) {
@@ -458,7 +462,7 @@ EX void checkmove() {
canmove = true;
else {
inv::check(1);
checkmove();
checkmove(complete);
inv::check(-1);
}
if(canmove)