use serde::Deserialize;

use super::BattleEventConfigID;

template_id!(ArchiveBattleQuest id);

#[derive(Deserialize, Debug)]
#[serde(rename_all = "PascalCase")]
pub struct ArchiveBattleQuestTemplate {
    #[serde(rename = "ID")]
    pub id: ArchiveBattleQuestID,
    pub quest_name: String,
    pub quest_desc: String,
    pub target: String,
    pub quest_type: u32,
    pub chapter: u32,
    pub difficulty: u32,
    pub monster_level: u32,
    #[serde(rename = "HollowID")]
    pub hollow_id: u32,
    #[serde(rename = "FirstBattleEventID")]
    pub first_battle_event_id: u32,
    #[serde(rename = "BattleEventID")]
    pub battle_event_id: BattleEventConfigID,
    pub battle_rank: String,
    pub slot1_avatar: i32,
    pub slot2_avatar: i32,
    pub slot3_avatar: i32,
    pub buddy: i32,
}
