console.clear();
local location="(not set)";
local flag=false;
function check()
local pot={
bit.rshift(bit.band(memory.read_u16_be(0x410FA6),0x0F00),0x8),
bit.rshift(bit.band(memory.read_u16_be(0x410FA6),0x00F0),0x4),
bit.band(memory.read_u16_be(0x410FA6),0x000F),
}
-- Link not holding pot anymore.
if(memory.read_u32_be(0x3FFDB0+0x124)==0x00000000)then
-- 0xX2XX
-- 0xX3XX
-- 0xX6XX
-- 0xX7XX
if(pot[1]==0x2 or pot[1]==0x3 or pot[1]==0x6 or pot[1]==0x7)then
-- 0xXX15
-- 0xXX65
-- 0xXX2D
-- 0xXX4B
-- 0xXX80
if( ((pot[2]==0x1 or pot[2]==0x6) and pot[3]==0x5) or (pot[2]==0x2 and pot[3]==0xD) or (pot[2]==0x4 and pot[3]==0xB) or (pot[2]==0x8 and pot[3]==0x0))then
location="Goht Trial";
return true;
-- 0xXX01
elseif(pot[2]==0x0 and pot[3]==0x1)then
location="Pirate's Fortress";
return true;
end
end
end
return false;
end
-- Reset on loading savestate.
function reset()
if(flag)then
flag=false;
end
end
while true do
event.onloadstate(reset);
if(check() and flag==false)then
gui.addmessage(location);
gui.addmessage("");
flag=true;
end
emu.frameadvance();
end
Comments
0 B
|👍
/👎