import time
import ctypes
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))

from src.assistant_tool.screen_capturer import ScreenCapturer

capturer = ScreenCapturer(output_dir="captures")
hwnd = capturer.find_poe2_window()
if not hwnd:
    print("Could not find POE2 window")
    sys.exit(1)

capturer.bring_to_foreground(hwnd)
time.sleep(0.2)

user32 = ctypes.windll.user32

KEYEVENTF_KEYUP = 0x0002
VK_W = 0x57
VK_D = 0x44
VK_F = 0x46

def press_keys_held(vks, duration):
    for vk in vks:
        user32.keybd_event(vk, 0, 0, 0)
    time.sleep(duration)
    for vk in vks:
        user32.keybd_event(vk, 0, KEYEVENTF_KEYUP, 0)
    time.sleep(0.1)

print("Walking East-Northeast towards portal (W + D for 0.7s)...")
press_keys_held([VK_W, VK_D], 0.7)

# Now move cursor to portal area and interact
print("Hovering and clicking portal...")
user32.SetCursorPos(1500, 400)
time.sleep(0.15)
user32.mouse_event(0x0002, 0, 0, 0, 0)
time.sleep(0.08)
user32.mouse_event(0x0004, 0, 0, 0, 0)
time.sleep(0.1)
# Also press F (interact)
user32.keybd_event(VK_F, 0x21, 0, 0)
time.sleep(0.05)
user32.keybd_event(VK_F, 0x21, KEYEVENTF_KEYUP, 0)

print("Waiting 4s for zone transition...")
time.sleep(4.0)

img_path = capturer.capture_screenshot(event_name="AFTER_WALK_AND_ENTER", capture_ram=False)
print(f"Captured: {img_path}")
