// 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 "FishtankFishInfo.proto";
import "MonsterBornType.proto";
import "MonsterRoute.proto";
import "SceneFishInfo.proto";
import "SceneWeaponInfo.proto";

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

message SceneMonsterInfo {
  uint32 monster_id = 1;
  uint32 group_id = 2;
  uint32 config_id = 3;
  repeated SceneWeaponInfo weapon_list = 4;
  uint32 authority_peer_id = 5;
  repeated uint32 affix_list = 6;
  bool is_elite = 7;
  uint32 owner_entity_id = 8;
  uint32 summoned_tag = 9;
  map<uint32, uint32> summon_tag_map = 10;
  uint32 pose_id = 11;
  MonsterBornType born_type = 12;
  uint32 block_id = 13;
  uint32 mark_flag = 14;
  uint32 title_id = 15;
  uint32 special_name_id = 16;
  uint32 attack_target_id = 17;
  MonsterRoute monster_route = 18;
  uint32 ai_config_id = 19;
  uint32 level_route_id = 20;
  uint32 init_pose_id = 21;
  bool is_light = 22;
  uint32 kill_num = 23;
  oneof content {
    SceneFishInfo fish_info = 50;
    FishtankFishInfo fishtank_fish_info = 51;
  }
}
