Skip to main content

artifacts/models/
raid_damage_reward_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct RaidDamageRewardSchema {
7    /// Damage required per reward instance.
8    #[serde(rename = "damage_per_reward")]
9    pub damage_per_reward: u32,
10    /// Maximum number of times this reward can be granted. Null means no cap.
11    #[serde(rename = "max_rewards", skip_serializing_if = "Option::is_none")]
12    pub max_rewards: Option<u32>,
13    /// Items granted per reward instance.
14    #[serde(rename = "items", skip_serializing_if = "Option::is_none")]
15    pub items: Option<Vec<models::SimpleItemSchema>>,
16}
17
18impl RaidDamageRewardSchema {
19    pub fn new(damage_per_reward: u32) -> RaidDamageRewardSchema {
20        RaidDamageRewardSchema {
21            damage_per_reward,
22            max_rewards: None,
23            items: None,
24        }
25    }
26}