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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user