From 557d3206a81370d0fb4317c6a2a581c2ab787596 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 13 Dec 2022 19:05:39 +0100 Subject: [PATCH] cheatdest_list --- debug.cpp | 5 +++++ landlock.cpp | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/debug.cpp b/debug.cpp index 99810c99..687435f7 100644 --- a/debug.cpp +++ b/debug.cpp @@ -641,6 +641,11 @@ int read_cheat_args() { else if(argis("-W2")) { shift(); cheatdest = readland(args()); cheat(); showstartmenu = false; + cheatdest_list.clear(); + } + else if(argis("-W3")) { + shift(); cheatdest_list.push_back(readland(args())); cheat(); + showstartmenu = false; } else if(argis("-I")) { PHASE(3) cheat(); diff --git a/landlock.cpp b/landlock.cpp index ea25700e..0b5cd576 100644 --- a/landlock.cpp +++ b/landlock.cpp @@ -367,6 +367,8 @@ EX hookset hooks_nextland; EX bool all_unlocked = false; +EX vector cheatdest_list; + EX eLand getNewLand(eLand old) { #if CAP_LEGACY @@ -381,6 +383,12 @@ EX eLand getNewLand(eLand old) { if(cheatdest != old && cheatdest != laElementalWall) if(!isCyclic(cheatdest) && !isTechnicalLand(cheatdest)) return cheatdest; + if(cheatdest_list.size()) { + eLand l = cheatdest_list[0]; + std::rotate(cheatdest_list.begin(), cheatdest_list.begin()+1, cheatdest_list.end()); + return l; + } + if(old == laTortoise) return laDragon; if(yendor::on && ls::any_chaos()) {