Fixed durations and extra projectiles logic

(cherry picked from commit 2f552938d7057b09210e8fc77ff641b304b7f3f7)
This commit is contained in:
ze-dom
2026-07-17 17:06:40 +01:00
committed by Acentech Dev
parent 00be181d5c
commit ddc9482809
5 changed files with 22 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
// <copyright file="AreaSkillAttackAction.cs" company="MUnique">
// <copyright file="AreaSkillAttackAction.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
@@ -246,9 +246,11 @@ public class AreaSkillAttackAction
{
// Order targets by distance to process nearest targets first
orderedTargets.Sort((a, b) => player.GetDistanceTo(a).CompareTo(player.GetDistanceTo(b)));
filter = FrustumFilters.GetOrAdd(areaSkillSettings, static s => new FrustumBasedTargetFilter(s.FrustumStartWidth, s.FrustumEndWidth, s.FrustumDistance, s.ProjectileCount));
projectileCount = areaSkillSettings.ProjectileCount + (int)(player.Attributes?[Stats.ExtraProjectiles] ?? 0);
attackRounds = 1; // One attack round per projectile
filter = FrustumFilters.GetOrAdd(areaSkillSettings, s => new FrustumBasedTargetFilter(s.FrustumStartWidth, s.FrustumEndWidth, s.FrustumDistance, projectileCount));
minAttacks = projectileCount;
maxAttacks = projectileCount;
extraTarget = orderedTargets.FirstOrDefault(t => t.Id == extraTargetId);
if (extraTarget is not null)

View File

@@ -86,6 +86,8 @@ public class SoulBarrierStrengSkillAction : TargetedSkillDefaultPlugin
new ConstantElement(strengSkillLevel!.Level * 0.001f), // extra 0.1% per streng skill level
InputOperator.Multiply))
];
skillEntry.PowerUpsPvp = skillEntry.PowerUps;
}
await AttackableExtensions.ApplyMagicEffectAsync(target, player, skillEntry).ConfigureAwait(false);