From b3206d8fa31dd0c1bbaefd657b6632d70ef60620 Mon Sep 17 00:00:00 2001 From: Bohica <53943479+Bohicatv@users.noreply.github.com> Date: Wed, 14 May 2025 01:50:49 -0700 Subject: [PATCH] Restores ML skill table, clean up --- Projects/UOContent/Spells/Base/MagerySpell.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Projects/UOContent/Spells/Base/MagerySpell.cs b/Projects/UOContent/Spells/Base/MagerySpell.cs index 5d6456557..b160b0575 100644 --- a/Projects/UOContent/Spells/Base/MagerySpell.cs +++ b/Projects/UOContent/Spells/Base/MagerySpell.cs @@ -8,21 +8,24 @@ namespace Server.Spells // Mana costs per spell circle public static int[] ManaPerCircle { get; set; } = { 4, 6, 9, 11, 14, 20, 40, 50 }; - // Minimum skill required per circle (scrolls use Circle+2) - public static double[] RequiredSkillPerCircle { get; set; } = { -50.0, -30.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0 }; + // Minimum skill required per circle (scrolls use Circle+2) for non-ML core (10 entries) + public static double[] SkillTable { get; set; } = { -50.0, -30.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0 }; + public static double[] SkillTableML { get; set; } = { 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0 }; + + public static double[] RequiredSkill => Core.ML ? SkillTableML : SkillTable; // Skill check window for casting a spell successfully public static double SkillCheckWindow { get; set; } = 40.0; // Cast delay per tick (seconds) - public static double CastDelaySecondsPerTick { get; set; } = 1.0; + public static double CastDelay { get; set; } = 1.0; public MagerySpell(Mobile caster, Item scroll, SpellInfo info) : base(caster, scroll, info) { } public abstract SpellCircle Circle { get; } public override TimeSpan CastDelayBase => - TimeSpan.FromSeconds((3 + (int)Circle) * CastDelaySecondsPerTick); + TimeSpan.FromSeconds((3 + (int)Circle) * CastDelay); public override bool ConsumeReagents() => base.ConsumeReagents() || ArcaneGem.ConsumeCharges(Caster, Core.SE ? 1 : 1 + (int)Circle); @@ -31,7 +34,7 @@ namespace Server.Spells { // Uses scrolls if present, otherwise use spellbook int skillIndex = (int)(Scroll == null ? Circle + 2 : Circle); - min = RequiredSkillPerCircle[skillIndex]; + min = RequiredSkill[skillIndex]; max = min + SkillCheckWindow; }