Files
DS-Combat_analy/데이터수집/수집스크립트/validate_result.py

62 lines
2.2 KiB
Python
Raw Normal View History

2025-11-17 16:56:36 +09:00
# -*- 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'])}")