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
VK_W = 0x57
VK_D = 0x44
KEYEVENTF_KEYUP = 0x0002

def send_mouse_click(x, y):
    user32.SetCursorPos(x, y)
    time.sleep(0.05)
    user32.mouse_event(0x0001, 1, 0, 0, 0)
    time.sleep(0.05)
    user32.mouse_event(0x0001, -1, 0, 0, 0)
    time.sleep(0.1)
    user32.mouse_event(0x0002, 0, 0, 0, 0)
    time.sleep(0.06)
    user32.mouse_event(0x0004, 0, 0, 0, 0)

# Step into portal: Hold W+D for 0.3s
print("Walking into portal (W+D)...")
user32.keybd_event(VK_W, 0x11, 0, 0)
user32.keybd_event(VK_D, 0x20, 0, 0)
time.sleep(0.3)
user32.keybd_event(VK_W, 0x11, KEYEVENTF_KEYUP, 0)
user32.keybd_event(VK_D, 0x20, KEYEVENTF_KEYUP, 0)
time.sleep(0.1)

# Click on portal vortex
print("Clicking portal at (1600, 250)...")
send_mouse_click(1600, 250)
time.sleep(4.0)

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