# -*- coding: utf-8 -*-
"""결과 검증 스크립트"""

import json
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
JSON_FILE = os.path.join(BASE_DIR, '수집결과', 'all_stalkers_combat_data.json')

with open(JSON_FILE, 'r', encoding='utf-8') as f:
    data = json.load(f)

hilda = data['stalkers']['hilda']

print('=== Hilda 기본 정보 ===')
print(f"이름: {hilda['basic_info']['name']}")
print(f"직업: {hilda['basic_info']['jobName']}")

print(f"\n=== 기본 스탯 (일부) ===")
stats = hilda['stats']
print(f"Str: {stats['str']}, Dex: {stats['dex']}, Int: {stats['int']}")
print(f"스탯 합계: {stats['str'] + stats['dex'] + stats['int'] + stats['con'] + stats['wis']}")
print(f"크리티컬: {stats['criticalPer']}%")

print(f"\n=== 스킬 ===")
skills = hilda['skills']
print(f"기본 스킬: {skills['default']}")
print(f"서브 스킬: {skills['sub']}")
print(f"궁극기: {skills['ultimate']}")

skill_201 = hilda['skill_details']['SK100201']
print(f"\n=== SK100201 정보 ===")
print(f"이름: {skill_201['name']}")
print(f"설명: {skill_201['desc']}")
print(f"descValues: {skill_201['descValues']}")
print(f"피해 배율: {skill_201['skillDamageRate']}")
print(f"몽타주 수: {len(skill_201['montages'])}")

if skill_201['montages']:
    montage = skill_201['montages'][0]
    print(f"첫 몽타주: {montage['assetName']}")
    print(f"  - 시퀀스 길이: {montage['sequenceLength']}초")
    print(f"  - AnimNotifies 수: {len(montage['animNotifies'])}")

    if montage['animNotifies']:
        print(f"\n  첫 번째 AnimNotify:")
        notify = montage['animNotifies'][0]
        print(f"    - Class: {notify['notifyClass']}")
        print(f"    - TriggerTime: {notify['triggerTime']}초")
        print(f"    - Duration: {notify['duration']}초")
        if 'properties' in notify:
            print(f"    - Properties: {notify['properties']}")

print(f"\n=== 기본 공격 ===")
basic_attacks = hilda['basic_attacks']
for weapon_type, montages in basic_attacks.items():
    print(f"{weapon_type}: {len(montages)}개 몽타주")
    if montages:
        first = montages[0]
        print(f"  - {first['assetName']}")
        print(f"  - AnimNotifies: {len(first['animNotifies'])}개")
