From b862cbe522ad494cf2135bba856eedc1e675086d Mon Sep 17 00:00:00 2001 From: DigitalBox98 Date: Thu, 26 May 2022 20:27:22 +0200 Subject: [PATCH] Add a new property : keep_lord_heal_itself Possibility to remove the Keep Lord to heal itself (0=no self heal, 1=self heal which is the default) --- GameServer/ai/brain/Guards/Lord.cs | 30 +++++++++++-------- GameServer/serverproperty/ServerProperties.cs | 7 +++++ 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/GameServer/ai/brain/Guards/Lord.cs b/GameServer/ai/brain/Guards/Lord.cs index 5be8c38d82..0c0f229d48 100644 --- a/GameServer/ai/brain/Guards/Lord.cs +++ b/GameServer/ai/brain/Guards/Lord.cs @@ -15,22 +15,26 @@ public LordBrain() : base() public override void Think() { - if (Body != null && Body.Spells.Count == 0) - { - switch (Body.Realm) + if (GS.ServerProperties.Properties.KEEP_LORD_HEAL_ITSELF == true) + { + if (Body != null && Body.Spells.Count == 0) { - case eRealm.None: - case eRealm.Albion: - Body.Spells.Add(GuardSpellDB.AlbLordHealSpell); - break; - case eRealm.Midgard: - Body.Spells.Add(GuardSpellDB.MidLordHealSpell); - break; - case eRealm.Hibernia: - Body.Spells.Add(GuardSpellDB.HibLordHealSpell); - break; + switch (Body.Realm) + { + case eRealm.None: + case eRealm.Albion: + Body.Spells.Add(GuardSpellDB.AlbLordHealSpell); + break; + case eRealm.Midgard: + Body.Spells.Add(GuardSpellDB.MidLordHealSpell); + break; + case eRealm.Hibernia: + Body.Spells.Add(GuardSpellDB.HibLordHealSpell); + break; + } } } + base.Think(); } diff --git a/GameServer/serverproperty/ServerProperties.cs b/GameServer/serverproperty/ServerProperties.cs index 5d22ec1e3f..38dad0c9f9 100644 --- a/GameServer/serverproperty/ServerProperties.cs +++ b/GameServer/serverproperty/ServerProperties.cs @@ -1479,6 +1479,13 @@ public static void InitProperties() #endregion #region KEEPS + + /// + /// Possibility for the Keep Lord to heal itself + /// + [ServerProperty("keeps", "keep_lord_heal_itself", "Possibility for the Keep Lord to heal itself", true)] + public static bool KEEP_LORD_HEAL_ITSELF; + /// /// Number of seconds between allowed LOS checks for keep guards ///