damdara 0.5.1

Dragon Quest Core Module, created in Rust.
Documentation
use crate::constants::spell::{Spell, SpellResistance};

pub struct Monster {
    pub stats: MonsterStats,
    pub behavior: MonsterBehavior,
}

pub struct MonsterStats {
    pub name: &'static str,
    pub hp: u8,
    pub attack: u8,
    pub defense: u8,
    pub exp: u8,
    pub gold: u8,
}

pub struct MonsterAction {
    pub spell: Spell,
    pub rate: u8, // 発動率(0, 25, 50, 75%)
}

pub struct MonsterBehavior {
    pub name: &'static str,
    pub resist: SpellResistance,
    pub evade_rate: f32,
    pub action_a: Option<MonsterAction>,
    pub action_b: Option<MonsterAction>,
}

pub const MONSTER_MASTER: [MonsterStats; 40] = [
    MonsterStats {
        name: "スライム",
        hp: 3,
        attack: 5,
        defense: 3,
        exp: 1,
        gold: 2,
    },
    MonsterStats {
        name: "スライムベス",
        hp: 4,
        attack: 7,
        defense: 3,
        exp: 1,
        gold: 2,
    },
    MonsterStats {
        name: "ドラキー",
        hp: 6,
        attack: 9,
        defense: 6,
        exp: 2,
        gold: 2,
    },
    MonsterStats {
        name: "ゴースト",
        hp: 7,
        attack: 11,
        defense: 8,
        exp: 3,
        gold: 4,
    },
    MonsterStats {
        name: "まほうつかい",
        hp: 13,
        attack: 11,
        defense: 12,
        exp: 4,
        gold: 11,
    },
    MonsterStats {
        name: "メイジドラキー",
        hp: 15,
        attack: 14,
        defense: 14,
        exp: 5,
        gold: 11,
    },
    MonsterStats {
        name: "おおさそり",
        hp: 20,
        attack: 18,
        defense: 16,
        exp: 6,
        gold: 15,
    },
    MonsterStats {
        name: "がいこつ",
        hp: 30,
        attack: 28,
        defense: 22,
        exp: 11,
        gold: 29,
    },
    MonsterStats {
        name: "メーダ",
        hp: 22,
        attack: 20,
        defense: 18,
        exp: 7,
        gold: 15,
    },
    MonsterStats {
        name: "メトロゴースト",
        hp: 23,
        attack: 18,
        defense: 20,
        exp: 8,
        gold: 17,
    },
    MonsterStats {
        name: "ドロル",
        hp: 25,
        attack: 24,
        defense: 24,
        exp: 10,
        gold: 24,
    },
    MonsterStats {
        name: "ドラキーマ",
        hp: 20,
        attack: 22,
        defense: 26,
        exp: 11,
        gold: 19,
    },
    MonsterStats {
        name: "まどうし",
        hp: 30,
        attack: 28,
        defense: 22,
        exp: 13,
        gold: 34,
    },
    MonsterStats {
        name: "てつのさそり",
        hp: 22,
        attack: 36,
        defense: 42,
        exp: 14,
        gold: 39,
    },
    MonsterStats {
        name: "リカント",
        hp: 34,
        attack: 40,
        defense: 30,
        exp: 16,
        gold: 49,
    },
    MonsterStats {
        name: "しりょう",
        hp: 36,
        attack: 44,
        defense: 34,
        exp: 17,
        gold: 59,
    },
    MonsterStats {
        name: "リカントマムル",
        hp: 38,
        attack: 50,
        defense: 36,
        exp: 20,
        gold: 79,
    },
    MonsterStats {
        name: "キメラ",
        hp: 42,
        attack: 56,
        defense: 48,
        exp: 24,
        gold: 99,
    },
    MonsterStats {
        name: "ゴールドマン",
        hp: 50,
        attack: 48,
        defense: 40,
        exp: 6,
        gold: 199,
    },
    MonsterStats {
        name: "ヘルゴースト",
        hp: 36,
        attack: 40,
        defense: 38,
        exp: 18,
        gold: 69,
    },
    MonsterStats {
        name: "メーダロード",
        hp: 35,
        attack: 47,
        defense: 40,
        exp: 20,
        gold: 84,
    },
    MonsterStats {
        name: "ドロルメイジ",
        hp: 38,
        attack: 52,
        defense: 50,
        exp: 22,
        gold: 89,
    },
    MonsterStats {
        name: "しりょうのきし",
        hp: 46,
        attack: 68,
        defense: 56,
        exp: 28,
        gold: 119,
    },
    MonsterStats {
        name: "しのさそり",
        hp: 35,
        attack: 60,
        defense: 90,
        exp: 26,
        gold: 109,
    },
    MonsterStats {
        name: "よろいのきし",
        hp: 55,
        attack: 76,
        defense: 78,
        exp: 33,
        gold: 129,
    },
    MonsterStats {
        name: "かげのきし",
        hp: 50,
        attack: 79,
        defense: 64,
        exp: 37,
        gold: 149,
    },
    MonsterStats {
        name: "メイジキメラ",
        hp: 58,
        attack: 78,
        defense: 68,
        exp: 34,
        gold: 139,
    },
    MonsterStats {
        name: "メタルスライム",
        hp: 4,
        attack: 10,
        defense: 255,
        exp: 115,
        gold: 5,
    },
    MonsterStats {
        name: "キラーリカント",
        hp: 60,
        attack: 86,
        defense: 70,
        exp: 40,
        gold: 154,
    },
    MonsterStats {
        name: "スターキメラ",
        hp: 65,
        attack: 86,
        defense: 80,
        exp: 43,
        gold: 159,
    },
    MonsterStats {
        name: "ドラゴン",
        hp: 65,
        attack: 88,
        defense: 74,
        exp: 45,
        gold: 159,
    },
    MonsterStats {
        name: "だいまどう",
        hp: 65,
        attack: 80,
        defense: 70,
        exp: 50,
        gold: 164,
    },
    MonsterStats {
        name: "ゴーレム",
        hp: 70,
        attack: 120,
        defense: 60,
        exp: 5,
        gold: 9,
    },
    MonsterStats {
        name: "あくまのきし",
        hp: 70,
        attack: 94,
        defense: 82,
        exp: 54,
        gold: 164,
    },
    MonsterStats {
        name: "キースドラゴン",
        hp: 70,
        attack: 98,
        defense: 84,
        exp: 60,
        gold: 149,
    },
    MonsterStats {
        name: "ストーンマン",
        hp: 160,
        attack: 100,
        defense: 40,
        exp: 65,
        gold: 139,
    },
    MonsterStats {
        name: "しにがみのきし",
        hp: 90,
        attack: 105,
        defense: 86,
        exp: 70,
        gold: 139,
    },
    MonsterStats {
        name: "ダースドラゴン",
        hp: 100,
        attack: 120,
        defense: 90,
        exp: 100,
        gold: 139,
    },
    MonsterStats {
        name: "りゅうおう",
        hp: 100,
        attack: 90,
        defense: 75,
        exp: 0,
        gold: 0,
    },
    MonsterStats {
        name: "りゅうおう(竜型)",
        hp: 130,
        attack: 140,
        defense: 200,
        exp: 0,
        gold: 0,
    },
];