From 730ac407c83fe6d5df66fada07ce65c0a113fd47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ramiro=20V=C3=A1zquez?= <43798115+5Miro@users.noreply.github.com> Date: Sun, 16 Nov 2025 01:59:29 -0300 Subject: [PATCH 1/2] feat: add max magic speed --- src/GameLogic/Attributes/Stats.cs | 7 +++++-- .../Character/UpdateCharacterStatsExtendedPlugIn.cs | 2 +- .../Updates/FixAttackSpeedCalculationUpdate.cs | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/GameLogic/Attributes/Stats.cs b/src/GameLogic/Attributes/Stats.cs index 1410771f8..a0128ac46 100644 --- a/src/GameLogic/Attributes/Stats.cs +++ b/src/GameLogic/Attributes/Stats.cs @@ -365,7 +365,7 @@ public class Stats /// public static AttributeDefinition AttackSpeed { get; } = new(new Guid("BACC1115-1E8B-4E62-B952-8F8DDB58A949"), "Attack Speed", string.Empty) { - MaximumValue = 200, + MaximumValue = 1500, }; /// @@ -402,7 +402,10 @@ public class Stats /// /// Gets the magic speed attribute definition which is used for some skills. /// - public static AttributeDefinition MagicSpeed { get; } = new(new Guid("AE32AA45-9C18-43B3-9F7B-648FD7F4B0AD"), "Magic Speed", string.Empty); + public static AttributeDefinition MagicSpeed { get; } = new(new Guid("AE32AA45-9C18-43B3-9F7B-648FD7F4B0AD"), "Magic Speed", string.Empty) + { + MaximumValue = 1500, + }; /// /// Gets the wizardry base (min and max) damage increase attribute definition>. diff --git a/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs b/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs index 64ba409a0..d666bc7da 100644 --- a/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs +++ b/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs @@ -37,7 +37,7 @@ public async ValueTask UpdateCharacterStatsAsync() return; } - var maxAttackSpeed = this._player.GameContext.Configuration.Attributes.FirstOrDefault(a => a == Stats.AttackSpeed)?.MaximumValue ?? 200; + var maxAttackSpeed = this._player.GameContext.Configuration.Attributes.FirstOrDefault(a => a == Stats.AttackSpeed)?.MaximumValue ?? 1500; await connection.SendCharacterInformationExtendedAsync( this._player.Position.X, this._player.Position.Y, diff --git a/src/Persistence/Initialization/Updates/FixAttackSpeedCalculationUpdate.cs b/src/Persistence/Initialization/Updates/FixAttackSpeedCalculationUpdate.cs index 99a486c82..28da07901 100644 --- a/src/Persistence/Initialization/Updates/FixAttackSpeedCalculationUpdate.cs +++ b/src/Persistence/Initialization/Updates/FixAttackSpeedCalculationUpdate.cs @@ -137,6 +137,7 @@ protected override async ValueTask ApplyAsync(IContext context, GameConfiguratio AddStatIfNotExists(context, gameConfiguration, Stats.WalkSpeed); Stats.AttackSpeed.GetPersistent(gameConfiguration).MaximumValue = Stats.AttackSpeed.MaximumValue; + Stats.MagicSpeed.GetPersistent(gameConfiguration).MaximumValue = Stats.MagicSpeed.MaximumValue; foreach (var characterClass in gameConfiguration.CharacterClasses) { From 9cd01592751cc2d3bb4fd30f1f0a4047fc487e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ramiro=20V=C3=A1zquez?= <43798115+5Miro@users.noreply.github.com> Date: Tue, 18 Nov 2025 02:46:08 -0300 Subject: [PATCH 2/2] Change the values back to default --- src/GameLogic/Attributes/Stats.cs | 4 ++-- .../Character/UpdateCharacterStatsExtendedPlugIn.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/GameLogic/Attributes/Stats.cs b/src/GameLogic/Attributes/Stats.cs index a0128ac46..227dc24c9 100644 --- a/src/GameLogic/Attributes/Stats.cs +++ b/src/GameLogic/Attributes/Stats.cs @@ -365,7 +365,7 @@ public class Stats /// public static AttributeDefinition AttackSpeed { get; } = new(new Guid("BACC1115-1E8B-4E62-B952-8F8DDB58A949"), "Attack Speed", string.Empty) { - MaximumValue = 1500, + MaximumValue = 200, }; /// @@ -404,7 +404,7 @@ public class Stats /// public static AttributeDefinition MagicSpeed { get; } = new(new Guid("AE32AA45-9C18-43B3-9F7B-648FD7F4B0AD"), "Magic Speed", string.Empty) { - MaximumValue = 1500, + MaximumValue = 200, }; /// diff --git a/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs b/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs index d666bc7da..64ba409a0 100644 --- a/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs +++ b/src/GameServer/RemoteView/Character/UpdateCharacterStatsExtendedPlugIn.cs @@ -37,7 +37,7 @@ public async ValueTask UpdateCharacterStatsAsync() return; } - var maxAttackSpeed = this._player.GameContext.Configuration.Attributes.FirstOrDefault(a => a == Stats.AttackSpeed)?.MaximumValue ?? 1500; + var maxAttackSpeed = this._player.GameContext.Configuration.Attributes.FirstOrDefault(a => a == Stats.AttackSpeed)?.MaximumValue ?? 200; await connection.SendCharacterInformationExtendedAsync( this._player.Position.X, this._player.Position.Y,