Refactor Magic Materials data for improved readability and maintainability
This commit is contained in:
+233
-46
@@ -1,47 +1,102 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AOW4.Data;
|
||||
|
||||
public static class MagicMaterialsData
|
||||
{
|
||||
public static readonly IReadOnlyList<MagicMaterial> RawData = new List<MagicMaterial>
|
||||
{
|
||||
new MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Ore,
|
||||
Name = "Arcanum Ore",
|
||||
Description = "Desolate, Cave Underground and Desolate Underground only. Collection effect: Rings of Binding.",
|
||||
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\nPower Cleave\nSupport - Bolstered Defense\nReinforced\n+2 Defense\nBolstering Defense\nJuggernaut\nDemolisher",
|
||||
InfusionEffects2 = "Construct Slayer\nDragon Slayer\nInflict Immobilized\nPush Back\nDisplace and Replace\n+3 Defense\nSiege Master"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Ore,
|
||||
Name = "Focus Crystals",
|
||||
Description = "Desolate, Cave Underground and Desolate Underground only. Collection effect: Rings of Binding.",
|
||||
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%\n+1 Range\nInflict Marked\nDamage Reflection 30%\n+20% Accuracy\nLightning Strike",
|
||||
InfusionEffects2 = "Retaliator +100%\nElemental Slayer\nInflict Stunned\nHyper-Awareness\n+30% Accuracy\nInversion",
|
||||
InfusionEffects3 = "Area Damage - Line\nDamage Reflection 40%"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Ore,
|
||||
Name = "Fireforge Stone",
|
||||
Description = "Desolate, Cave Underground and Desolate Underground only. Collection effect: Rings of Binding.",
|
||||
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\n+20% Critical Damage\nInflict Burning\nSupport - Strengthened\nLesser Fire Shield\n+2 Fire Resistance\nBerserker's Rage",
|
||||
InfusionEffects2 = "Arcfire Damage\n+40% Critical Damage\nPlant Slayer\nGreater Fire Shield\n+4 Fire Resistance\nIgnore 4 Status Resistance",
|
||||
InfusionEffects3 = "Area Damage - Blast\nInflict Insanity\nConsume Chaos\n+6 Fire Resistance"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.SunlessOre,
|
||||
Name = "Blood Glass",
|
||||
@@ -49,9 +104,13 @@ public static class MagicMaterialsData
|
||||
IncreaseDraft = 20,
|
||||
IncreaseHPRegen = 5,
|
||||
GlobalBonus = "+5 HP regeneration (on the world map)",
|
||||
InfusionEffects1 = "Greater Inflict Bleed\nLifedrinker\nBlood Sigil"
|
||||
InfusionEffects1 = """
|
||||
Greater Inflict Bleed
|
||||
Lifedrinker
|
||||
Blood Sigil
|
||||
"""
|
||||
},
|
||||
new MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Liquid,
|
||||
Name = "Archon Blood",
|
||||
@@ -59,11 +118,34 @@ public static class MagicMaterialsData
|
||||
IncreaseMana = 20,
|
||||
IncreaseCombatCastingPoints = 15,
|
||||
GlobalBonus = "+15 Combat Casting Points",
|
||||
InfusionEffects1 = "Frost Damage\nInfecting\nAssassinate\nLife Steal\nLesser Frost Shield\n+10 Hit Points\n+2 Frost Resistance\nVicious Killer\nFlanker\nRaise Undead",
|
||||
InfusionEffects2 = "Death Damage\nInflict Diseased\n+15 Hit Points\n+4 Frost Resistance\nBolstering Regeneration\nUndying",
|
||||
InfusionEffects3 = "Inflict Decaying\nGravecall\nGreater Frost Shield\n+6 Frost Resistance"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Liquid,
|
||||
Name = "Astral Dew",
|
||||
@@ -72,11 +154,31 @@ public static class MagicMaterialsData
|
||||
IncreaseKnowledge = 10,
|
||||
IncreaseWorldCastingPoints = 15,
|
||||
GlobalBonus = "+15 World Map Casting Points",
|
||||
InfusionEffects1 = "Lightning Damage\nInflict Status Vulnerability\nInflict Sundered Resistance\nSupport - Bolstered Resistance\nLesser Lightning Shield\nWarded\n+2 Lightning Resistance\nSlip Away\nCasting Points +20",
|
||||
InfusionEffects2 = "Magic Origin Slayer\nInflict Frozen\nGreater Lightning Shield\n+4 Lightning Resistance",
|
||||
InfusionEffects3 = "Static Shield\n+6 Lightning Resistance\nPass Through\nAstral Membrane"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Liquid,
|
||||
Name = "Tranquility Pool",
|
||||
@@ -84,11 +186,33 @@ public static class MagicMaterialsData
|
||||
IncreaseKnowledge = 20,
|
||||
DecreaseKnowledgeResearchCostPercent = 10,
|
||||
GlobalBonus = "-10% Knowledge research cost for spells",
|
||||
InfusionEffects1 = "Inflict Slowed\nInflict Weakened\nInflict Wet\nSupport - Status Protection\nLesser Spirit Shield\n+2 Resistance\n+2 Status Resistance\nAttunement: Star Blades\nBolstering Resistance\nSlippery\nHindering Blizzard",
|
||||
InfusionEffects2 = "Celestial Slayer\nUndead Slayer\n+3 Resistance\n+3 Status Resistance\nAttunement: Fortune",
|
||||
InfusionEffects3 = "Area Damage - Cascade\nStatus Effect Immunity\nResurrection"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Plant,
|
||||
Name = "Haste Berries",
|
||||
@@ -96,11 +220,29 @@ public static class MagicMaterialsData
|
||||
IncreaseDraft = 20,
|
||||
DecreaseTurnsTakenToFoundAbsorbMigrateCities = 2,
|
||||
GlobalBonus = "-2 turns to found, absorb or migrate cities",
|
||||
InfusionEffects1 = "Frenzy\nInflict Distracted\nSwift\nWind Barrier\nConjure Animal",
|
||||
InfusionEffects2 = "Extra Retaliation\nGiant Slayer\nInflict Blinded\nWhirlwind\nDefensive Masters\nVery Fast Movement\nKilling Momentum\nAnimate Flora",
|
||||
InfusionEffects3 = "Area Damage - Chain\nPolymorph"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Plant,
|
||||
Name = "Silvertongue Fruit",
|
||||
@@ -109,11 +251,33 @@ public static class MagicMaterialsData
|
||||
IncreaseDraft = 10,
|
||||
IncreaseAllegianceFromWhisperingStones = 1,
|
||||
GlobalBonus = "+1 Allegiance from Whispering Stones",
|
||||
InfusionEffects1 = "Blight Damage\nInflict Condemned\nInflict Poisoned\nSupport - Regeneration\nLesser Blight Shield\n+2 Blight Resistance\nInspiring Killer\nUniversal Camouflage\nArmy Trainer\nSummon Spider",
|
||||
InfusionEffects2 = "Hero Slayer\nInflict Despairing\nInflict Taunted\nGreater Blight Shield\n+4 Blight Resistance\nArmy Maintenance",
|
||||
InfusionEffects3 = "+6 Blight Resistance\nDomination\nSummon Spider Monarch"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.Plant,
|
||||
Name = "Rainbow Clover",
|
||||
@@ -122,11 +286,25 @@ public static class MagicMaterialsData
|
||||
IncreaseStability = 10,
|
||||
IncreaseRelationWithFreeCitiesAndRulers = 100,
|
||||
GlobalBonus = "+100 Relations with Free Cities and Rulers",
|
||||
InfusionEffects1 = "Spirit Damage\n+2 Spirit Resistance\nZeal\nArmy Recuperation",
|
||||
InfusionEffects2 = "Radiant Damage\n+20% Critical Hit chance\nFiend Slayer\n+4 Spirit Resistance",
|
||||
InfusionEffects3 = "+30% Critical Hit chance\n+6 Spirit Resistance\nMass Heal"
|
||||
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 MagicMaterial
|
||||
new()
|
||||
{
|
||||
Category = MagicMaterialCategory.VoidStone,
|
||||
Name = "Void Stones",
|
||||
@@ -134,9 +312,18 @@ public static class MagicMaterialsData
|
||||
IncreaseMana = 30,
|
||||
IncreaseAllegianceFromUmbralDwellings = 2,
|
||||
GlobalBonus = "+2 Allegiance per turn with discovered Umbral Dwellings",
|
||||
InfusionEffects1 = "Boon Stealing\nCleansing Fire\nArmy: Umbral Malady Immunity",
|
||||
InfusionEffects2 = "Splitterling Infection\nSummon Umbral Demon",
|
||||
InfusionEffects3 = "True Damage"
|
||||
InfusionEffects1 = """
|
||||
Boon Stealing
|
||||
Cleansing Fire
|
||||
Army: Umbral Malady Immunity
|
||||
""",
|
||||
InfusionEffects2 = """
|
||||
Splitterling Infection
|
||||
Summon Umbral Demon
|
||||
""",
|
||||
InfusionEffects3 = """
|
||||
True Damage
|
||||
"""
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user