From e3c2012ddb1459ae100ea2b679699323c616325f Mon Sep 17 00:00:00 2001 From: ze-dom Date: Fri, 17 Jul 2026 17:23:07 +0100 Subject: [PATCH] Updated updateplugin (cherry picked from commit 681b0e70e2d22204adba493c0b38369994e8afcc) --- .../Updates/FinishElfMasterTreePlugIn.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Persistence/Initialization/Updates/FinishElfMasterTreePlugIn.cs b/src/Persistence/Initialization/Updates/FinishElfMasterTreePlugIn.cs index 1d4e294..d134183 100644 --- a/src/Persistence/Initialization/Updates/FinishElfMasterTreePlugIn.cs +++ b/src/Persistence/Initialization/Updates/FinishElfMasterTreePlugIn.cs @@ -12,6 +12,7 @@ using MUnique.OpenMU.DataModel.Configuration.Items; using MUnique.OpenMU.GameLogic.Attributes; using MUnique.OpenMU.Persistence.Initialization.Items; using MUnique.OpenMU.Persistence.Initialization.Skills; +using MUnique.OpenMU.Persistence.Initialization.VersionSeasonSix; using MUnique.OpenMU.PlugIns; /// @@ -36,7 +37,7 @@ public class FinishElfMasterTreePlugIn : UpdatePlugInBase public override UpdateVersion Version => UpdateVersion.FinishElfMasterTree; /// - public override string DataInitializationKey => VersionSeasonSix.DataInitialization.Id; + public override string DataInitializationKey => DataInitialization.Id; /// public override string Name => PlugInName; @@ -48,7 +49,7 @@ public class FinishElfMasterTreePlugIn : UpdatePlugInBase public override bool IsMandatory => true; /// - public override DateTime CreatedAt => new(2026, 7, 16, 16, 0, 0, DateTimeKind.Utc); + public override DateTime CreatedAt => new(2026, 7, 17, 16, 0, 0, DateTimeKind.Utc); /// protected override async ValueTask ApplyAsync(IContext context, GameConfiguration gameConfiguration) @@ -87,6 +88,15 @@ public class FinishElfMasterTreePlugIn : UpdatePlugInBase greaterDefensePowerUp2.Boost.ConstantValue.Value = 1f; greaterDefensePowerUp2.Boost.ConstantValue.AggregateType = AggregateType.Multiplicate; + // Update Infinity Arrow effect + var infinityArrowEffect = gameConfiguration.MagicEffects.First(e => e.Number == (short)MagicEffectNumber.InfiniteArrow); + + if (infinityArrowEffect.PowerUpDefinitions.FirstOrDefault(pud => pud.TargetAttribute == Stats.AttackDamageIncrease) is PowerUpDefinition infinityArrowPowerUp) + { + infinityArrowPowerUp.Boost?.ConstantValue.Value = 1; + infinityArrowPowerUp.Boost?.ConstantValue.AggregateType = AggregateType.Multiplicate; + } + // Update 4-arrow (cross)bows var affectedBows = new short[] { 18, 19, 22, 23, 24 }; var bows = gameConfiguration.Items.Where(i => i.Group == (byte)ItemGroups.Bows && affectedBows.Contains(i.Number)); @@ -129,6 +139,11 @@ public class FinishElfMasterTreePlugIn : UpdatePlugInBase defenseIncreaseMastery.Aggregation = AggregateType.Multiplicate; defenseIncreaseMastery.ExtendsDuration = true; } + + if (gameConfiguration.Skills.FirstOrDefault(s => s.Number == (short)SkillNumber.InfinityArrowStr)?.MasterDefinition is { } infinityArrowStr) + { + infinityArrowStr.ValueFormula = $"{SkillsInitializer.Formula120} / 100"; + } } private ItemBasePowerUpDefinition CreateItemBasePowerUpDefinition(IContext context, GameConfiguration gameConfiguration, AttributeDefinition attributeDefinition, float value, AggregateType aggregateType)