Updated updateplugin

(cherry picked from commit 681b0e70e2d22204adba493c0b38369994e8afcc)
This commit is contained in:
ze-dom
2026-07-17 17:23:07 +01:00
committed by Acentech Dev
parent ddc9482809
commit e3c2012ddb

View File

@@ -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;
/// <summary>
@@ -36,7 +37,7 @@ public class FinishElfMasterTreePlugIn : UpdatePlugInBase
public override UpdateVersion Version => UpdateVersion.FinishElfMasterTree;
/// <inheritdoc />
public override string DataInitializationKey => VersionSeasonSix.DataInitialization.Id;
public override string DataInitializationKey => DataInitialization.Id;
/// <inheritdoc />
public override string Name => PlugInName;
@@ -48,7 +49,7 @@ public class FinishElfMasterTreePlugIn : UpdatePlugInBase
public override bool IsMandatory => true;
/// <inheritdoc />
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);
/// <inheritdoc />
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)