<?php

namespace App\Services\PwHexParser\Types;

use App\Services\PwHexParser\Contracts\Translate;

class Genie extends Translate
{
    protected string $typeKey = 'Genie';

    public function getStructure(): array
    {
        return [
            'current_exp' => 'int64',
            'level' => 'int32',
            'available_points' => 'int32',
            'strength' => 'int32',
            'agility' => 'int32',
            'constitution' => 'int32',
            'intelligence' => 'int32',
            'talent_points' => 'int32',
            'metal' => 'int32',
            'wood' => 'int32',
            'water' => 'int32',
            'fire' => 'int32',
            'earth' => 'int32',
            'refine_level' => 'int32',
            'vigour' => 'int64',
            'status_value' => 'int64',
            'equipments_count' => 'int64',
            // Based on analysis, there is a 44 chars (22 bytes) gap here for some versions
            // This might be equipment header or reserved space
            'padding' => 'skip:44', 
            'skills_count' => 'skills_count_no_skip', // No padding after count in this version
            'skills' => 'skills',
        ];
    }

    public function getMinimumLength(): int
    {
        return 83;
    }
}
