# -*- 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'])}개")