namespace AOW4.Data;

public static class MagicMaterialsData
{
    public static readonly IReadOnlyList<MagicMaterial> RawData = new List<MagicMaterial>
    {
        new()
        {
            Category = MagicMaterialCategory.Ore,
            Name = "Arcanum Ore",
            Description =
                "Desolate, Cave Underground and Desolate Underground only. Collection effect: Rings of Binding.",
            IncreaseProduction = 10,
            IncreaseMana = 10,
            GlobalBonus = "-25% Hurry Recruitment Cost",
            InfusionEffects1 = """
                               Inflict Sundered Defense
                               Power Cleave
                               Support - Bolstered Defense
                               Reinforced
                               +2 Defense
                               Bolstering Defense
                               Juggernaut
                               Demolisher
                               """,
            InfusionEffects2 = """
                               Construct Slayer
                               Dragon Slayer
                               Inflict Immobilized
                               Push Back
                               Displace and Replace
                               +3 Defense
                               Siege Master
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Ore,
            Name = "Focus Crystals",
            Description =
                "Desolate, Cave Underground and Desolate Underground only. Collection effect: Rings of Binding.",
            IncreaseGold = 10,
            IncreaseKnowledge = 10,
            GlobalBonus = "+10% Unit Experience Gain",
            InfusionEffects1 = """
                               Retaliator +50%
                               +1 Range
                               Inflict Marked
                               Damage Reflection 30%
                               +20% Accuracy
                               Lightning Strike
                               """,
            InfusionEffects2 = """
                               Retaliator +100%
                               Elemental Slayer
                               Inflict Stunned
                               Hyper-Awareness
                               +30% Accuracy
                               Inversion
                               """,
            InfusionEffects3 = """
                               Area Damage - Line
                               Damage Reflection 40%
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Ore,
            Name = "Fireforge Stone",
            Description =
                "Desolate, Cave Underground and Desolate Underground only. Collection effect: Rings of Binding.",
            IncreaseProduction = 20,
            DecreaseDraftCostPercent = 20,
            GlobalBonus = "-20% Unit Draft Cost",
            InfusionEffects1 = """
                               Fire Damage
                               +20% Critical Damage
                               Inflict Burning
                               Support - Strengthened
                               Lesser Fire Shield
                               +2 Fire Resistance
                               Berserker's Rage
                               """,
            InfusionEffects2 = """
                               Arcfire Damage
                               +40% Critical Damage
                               Plant Slayer
                               Greater Fire Shield
                               +4 Fire Resistance
                               Ignore 4 Status Resistance
                               """,
            InfusionEffects3 = """
                               Area Damage - Blast
                               Inflict Insanity
                               Consume Chaos
                               +6 Fire Resistance
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.SunlessOre,
            Name = "Blood Glass",
            Description = "Sunless Terrain only. Counts as Ore.",
            IncreaseDraft = 20,
            IncreaseHPRegen = 5,
            GlobalBonus = "+5 HP regeneration (on the world map)",
            InfusionEffects1 = """
                               Greater Inflict Bleed
                               Lifedrinker
                               Blood Sigil
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Liquid,
            Name = "Archon Blood",
            Description = "Arctic, Highlands and Arctic Underground only. Collection effect: Cosmoflux Elixir.",
            IncreaseMana = 20,
            IncreaseCombatCastingPoints = 15,
            GlobalBonus = "+15 Combat Casting Points",
            InfusionEffects1 = """
                               Frost Damage
                               Infecting
                               Assassinate
                               Life Steal
                               Lesser Frost Shield
                               +10 Hit Points
                               +2 Frost Resistance
                               Vicious Killer
                               Flanker
                               Raise Undead
                               """,
            InfusionEffects2 = """
                               Death Damage
                               Inflict Diseased
                               +15 Hit Points
                               +4 Frost Resistance
                               Bolstering Regeneration
                               Undying
                               """,
            InfusionEffects3 = """
                               Inflict Decaying
                               Gravecall
                               Greater Frost Shield
                               +6 Frost Resistance
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Liquid,
            Name = "Astral Dew",
            Description = "Arctic, Highlands and Arctic Underground only. Collection effect: Cosmoflux Elixir.",
            IncreaseMana = 10,
            IncreaseKnowledge = 10,
            IncreaseWorldCastingPoints = 15,
            GlobalBonus = "+15 World Map Casting Points",
            InfusionEffects1 = """
                               Lightning Damage
                               Inflict Status Vulnerability
                               Inflict Sundered Resistance
                               Support - Bolstered Resistance
                               Lesser Lightning Shield
                               Warded
                               +2 Lightning Resistance
                               Slip Away
                               Casting Points +20
                               """,
            InfusionEffects2 = """
                               Magic Origin Slayer
                               Inflict Frozen
                               Greater Lightning Shield
                               +4 Lightning Resistance
                               """,
            InfusionEffects3 = """
                               Static Shield
                               +6 Lightning Resistance
                               Pass Through
                               Astral Membrane
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Liquid,
            Name = "Tranquility Pool",
            Description = "Arctic, Highlands and Arctic Underground only. Collection effect: Cosmoflux Elixir.",
            IncreaseKnowledge = 20,
            DecreaseKnowledgeResearchCostPercent = 10,
            GlobalBonus = "-10% Knowledge research cost for spells",
            InfusionEffects1 = """
                               Inflict Slowed
                               Inflict Weakened
                               Inflict Wet
                               Support - Status Protection
                               Lesser Spirit Shield
                               +2 Resistance
                               +2 Status Resistance
                               Attunement: Star Blades
                               Bolstering Resistance
                               Slippery
                               Hindering Blizzard
                               """,
            InfusionEffects2 = """
                               Celestial Slayer
                               Undead Slayer
                               +3 Resistance
                               +3 Status Resistance
                               Attunement: Fortune
                               """,
            InfusionEffects3 = """
                               Area Damage - Cascade
                               Status Effect Immunity
                               Resurrection
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Plant,
            Name = "Haste Berries",
            Description = "Desert, Temperate and Tropical only. Collection effect: Imperial Essence.",
            IncreaseDraft = 20,
            DecreaseTurnsTakenToFoundAbsorbMigrateCities = 2,
            GlobalBonus = "-2 turns to found, absorb or migrate cities",
            InfusionEffects1 = """
                               Frenzy
                               Inflict Distracted
                               Swift
                               Wind Barrier
                               Conjure Animal
                               """,
            InfusionEffects2 = """
                               Extra Retaliation
                               Giant Slayer
                               Inflict Blinded
                               Whirlwind
                               Defensive Masters
                               Very Fast Movement
                               Killing Momentum
                               Animate Flora
                               """,
            InfusionEffects3 = """
                               Area Damage - Chain
                               Polymorph
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Plant,
            Name = "Silvertongue Fruit",
            Description = "Desert, Temperate and Tropical only. Collection effect: Imperial Essence.",
            IncreaseFood = 10,
            IncreaseDraft = 10,
            IncreaseAllegianceFromWhisperingStones = 1,
            GlobalBonus = "+1 Allegiance from Whispering Stones",
            InfusionEffects1 = """
                               Blight Damage
                               Inflict Condemned
                               Inflict Poisoned
                               Support - Regeneration
                               Lesser Blight Shield
                               +2 Blight Resistance
                               Inspiring Killer
                               Universal Camouflage
                               Army Trainer
                               Summon Spider
                               """,
            InfusionEffects2 = """
                               Hero Slayer
                               Inflict Despairing
                               Inflict Taunted
                               Greater Blight Shield
                               +4 Blight Resistance
                               Army Maintenance
                               """,
            InfusionEffects3 = """
                               +6 Blight Resistance
                               Domination
                               Summon Spider Monarch
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.Plant,
            Name = "Rainbow Clover",
            Description = "Desert, Temperate and Tropical only. Collection effect: Imperial Essence.",
            IncreaseFood = 10,
            IncreaseStability = 10,
            IncreaseRelationWithFreeCitiesAndRulers = 100,
            GlobalBonus = "+100 Relations with Free Cities and Rulers",
            InfusionEffects1 = """
                               Spirit Damage
                               +2 Spirit Resistance
                               Zeal
                               Army Recuperation
                               """,
            InfusionEffects2 = """
                               Radiant Damage
                               +20% Critical Hit chance
                               Fiend Slayer
                               +4 Spirit Resistance
                               """,
            InfusionEffects3 = """
                               +30% Critical Hit chance
                               +6 Spirit Resistance
                               Mass Heal
                               """
        },
        new()
        {
            Category = MagicMaterialCategory.VoidStone,
            Name = "Void Stones",
            Description = "Umbral Abyss only. Collection effect: Void Ink.",
            IncreaseMana = 30,
            IncreaseAllegianceFromUmbralDwellings = 2,
            GlobalBonus = "+2 Allegiance per turn with discovered Umbral Dwellings",
            InfusionEffects1 = """
                               Boon Stealing
                               Cleansing Fire
                               Army: Umbral Malady Immunity
                               """,
            InfusionEffects2 = """
                               Splitterling Infection
                               Summon Umbral Demon
                               """,
            InfusionEffects3 = """
                               True Damage
                               """
        }
    };
}