// Proto has been converted from Sorapointa to Grasscutter format
// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
// Copyright (C) 2022  Sorapointa Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

syntax = "proto3";

import "AvatarEquipAffixInfo.proto";
import "AvatarExcelInfo.proto";
import "AvatarExpeditionState.proto";
import "AvatarFetterInfo.proto";
import "AvatarSkillInfo.proto";
import "PropValue.proto";
import "TrialAvatarInfo.proto";

option java_package = "emu.grasscutter.net.proto";

message AvatarInfo {
  uint32 avatar_id = 1;
  uint64 guid = 2;
  map<uint32, PropValue> prop_map = 3;
  uint32 life_state = 4;
  repeated uint64 equip_guid_list = 5;
  repeated uint32 talent_id_list = 6;
  map<uint32, float> fight_prop_map = 7;
  TrialAvatarInfo trial_avatar_info = 9;
  map<uint32, AvatarSkillInfo> skill_map = 10;
  uint32 skill_depot_id = 11;
  AvatarFetterInfo fetter_info = 12;
  uint32 core_proud_skill_level = 13;
  repeated uint32 inherent_proud_skill_list = 14;
  map<uint32, uint32> skill_level_map = 15;
  AvatarExpeditionState expedition_state = 16;
  map<uint32, uint32> proud_skill_extra_level_map = 17;
  bool is_focus = 18;
  uint32 avatar_type = 19;
  repeated uint32 team_resonance_list = 20;
  uint32 wearing_flycloak_id = 21;
  repeated AvatarEquipAffixInfo equip_affix_list = 22;
  uint32 born_time = 23;
  repeated uint32 pending_promote_reward_list = 24;
  uint32 costume_id = 25;
  AvatarExcelInfo excel_info = 26;
  uint32 anim_hash = 27;
}