# Guarda a captura da classe atual e deixa o hook pronto pra proxima.
#
#     tools\guardar_classe.ps1 maga
#     tools\guardar_classe.ps1 guerreiro
#
# Serve pro levantamento das 7 classes: cada uma tem a propria curva de HP e MP por
# nivel, e hoje o banco usa o mesmo numero (36 de HP, 10 de MP) pras sete, medido numa
# Maga so. Uma captura por classe e o que separa isso.
#
# FECHE O JOGO antes de rodar -- o hook so fecha o arquivo quando o processo morre.
param([Parameter(Mandatory=$true)][string]$Classe)

$ErrorActionPreference = 'Stop'
$log = 'C:\RoshHook\traffic.log'

if (Get-Process AMo -ErrorAction SilentlyContinue) {
    Write-Host 'FECHE o jogo antes -- o arquivo ainda esta aberto pelo hook.' -ForegroundColor Yellow
    exit 1
}
if (-not (Test-Path $log)) {
    Write-Host "nao achei $log -- a captura rodou?" -ForegroundColor Yellow
    exit 1
}

$tam = (Get-Item $log).Length
if ($tam -lt 50000) {
    Write-Host "ATENCAO: a captura tem so $([math]::Round($tam/1KB,1)) KB." -ForegroundColor Yellow
    Write-Host 'Isso costuma querer dizer que o hook pegou pouca coisa, ou que a sessao'
    Write-Host 'foi curta demais pra ter subida de nivel. Guardando mesmo assim.'
}

$destino = "C:\RoshHook\traffic_classe_$($Classe.ToLower()).log"
Move-Item $log $destino -Force
Write-Host "guardado: $destino  ($([math]::Round($tam/1KB,1)) KB)" -ForegroundColor Green

Write-Host ''
Write-Host 'o que saiu dessa captura:' -ForegroundColor Cyan
& 'C:\Python314\python.exe' 'D:\RoshEmulator\tools\analisar_progressao.py' $destino

Write-Host ''
Write-Host 'pra proxima classe: abra o jogo de novo (o client segue apontado pro oficial)' -ForegroundColor Cyan
Write-Host 'e rode o injetor:  D:\RoshEmulator\tools\hook\injector.exe'
Write-Host ''
Write-Host 'quando tiver as 7:  python tools\comparar_classes_progressao.py' -ForegroundColor Cyan
