From 148e68b6b90357a9f209b033dbab545c9d506220 Mon Sep 17 00:00:00 2001
From: MS-crew <100300664+MS-crew@users.noreply.github.com>
Date: Fri, 13 Jun 2025 21:05:59 +0300
Subject: [PATCH 1/5] Clean
---
EXILED/Exiled.API/Enums/DamageType.cs | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/EXILED/Exiled.API/Enums/DamageType.cs b/EXILED/Exiled.API/Enums/DamageType.cs
index ae93c5c020..e1054e1f33 100644
--- a/EXILED/Exiled.API/Enums/DamageType.cs
+++ b/EXILED/Exiled.API/Enums/DamageType.cs
@@ -15,8 +15,7 @@ namespace Exiled.API.Enums
/// Identifiers for types of damage.
///
///
- ///
- ///
+ ///
///
public enum DamageType
{
@@ -275,4 +274,4 @@ public enum DamageType
///
Scp127,
}
-}
\ No newline at end of file
+}
From 5be2a15f6ec85bf3cefe0e76e5719925e1470f28 Mon Sep 17 00:00:00 2001
From: MS-crew <100300664+MS-crew@users.noreply.github.com>
Date: Fri, 13 Jun 2025 21:08:22 +0300
Subject: [PATCH 2/5] Update GenericDamageHandler.cs
---
.../Features/DamageHandlers/GenericDamageHandler.cs | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs
index bd858b3447..4d74256cca 100644
--- a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs
+++ b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs
@@ -12,6 +12,7 @@ namespace Exiled.API.Features.DamageHandlers
using Footprinting;
using Items;
+ using PlayerRoles;
using PlayerRoles.PlayableScps.Scp096;
using PlayerRoles.PlayableScps.Scp939;
@@ -29,6 +30,7 @@ public class GenericDamageHandler : CustomReasonDamageHandler
private Player player;
private DamageType damageType;
private DamageHandlerBase.CassieAnnouncement customCassieAnnouncement;
+ private bool overrideCassieForAllRole;
///
/// Initializes a new instance of the class.
@@ -40,11 +42,13 @@ public class GenericDamageHandler : CustomReasonDamageHandler
/// Damage type.
/// Custom cassie announcment.
/// Text to provide to player death screen.
- public GenericDamageHandler(Player player, Player attacker, float damage, DamageType damageType, DamageHandlerBase.CassieAnnouncement cassieAnnouncement, string damageText = null)
+ /// Whether to play Cassie for non-SCPs as well.
+ public GenericDamageHandler(Player player, Player attacker, float damage, DamageType damageType, DamageHandlerBase.CassieAnnouncement cassieAnnouncement, string damageText = null, bool overrideCassieForAllRole = false)
: base(DamageTextDefault)
{
this.player = player;
this.damageType = damageType;
+ this.overrideCassieForAllRole = overrideCassieForAllRole;
cassieAnnouncement ??= DamageHandlerBase.CassieAnnouncement.Default;
customCassieAnnouncement = cassieAnnouncement;
@@ -237,7 +241,7 @@ public override HandlerOutput ApplyDamage(ReferenceHub ply)
HandlerOutput output = base.ApplyDamage(ply);
if (output is HandlerOutput.Death)
{
- if (customCassieAnnouncement?.Announcement != null)
+ if (customCassieAnnouncement?.Announcement != null && (overrideCassieForAllRole || ply.IsSCP()))
{
Cassie.Message(customCassieAnnouncement.Announcement);
}
From b70ba3ebfa45ed1d9f61d098a7324584c3202783 Mon Sep 17 00:00:00 2001
From: MS-crew <100300664+MS-crew@users.noreply.github.com>
Date: Fri, 13 Jun 2025 21:10:58 +0300
Subject: [PATCH 3/5] Cleanup
---
EXILED/Exiled.API/Features/Player.cs | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs
index 4dfcf09409..1f62ef88cc 100644
--- a/EXILED/Exiled.API/Features/Player.cs
+++ b/EXILED/Exiled.API/Features/Player.cs
@@ -2133,19 +2133,10 @@ public int GetScpPreference(RoleTypeId roleType)
/// The amount of damage to deal.
/// The of the damage dealt.
/// The cassie announcement to make if the damage kills the player.
- public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null) =>
- Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement));
-
- ///
- /// Hurts the player.
- ///
- /// The attacking player.
- /// The amount of damage to deal.
- /// The of the damage dealt.
- /// The cassie announcement to make if the damage kills the player.
- /// The death text to appear on screen.
- public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null, string deathText = null) =>
- Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText));
+ /// The death text to appear on screen.
+ /// Whether to play Cassie for non-SCPs as well.
+ public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null, string deathText = null, bool overrideCassieForAllRole = false) =>
+ Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText, overrideCassieForAllRole));
///
/// Hurts the player.
From 7e3bafe0a7c8e223f978802c66dde66fab45650f Mon Sep 17 00:00:00 2001
From: Yamato
Date: Tue, 8 Jul 2025 00:10:20 +0200
Subject: [PATCH 4/5] Remove BreakingChange
---
EXILED/Exiled.API/Features/Player.cs | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs
index 07554d4a40..33b7432d21 100644
--- a/EXILED/Exiled.API/Features/Player.cs
+++ b/EXILED/Exiled.API/Features/Player.cs
@@ -2138,6 +2138,27 @@ public int GetScpPreference(RoleTypeId roleType)
public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null, string deathText = null, bool overrideCassieForAllRole = false) =>
Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText, overrideCassieForAllRole));
+ ///
+ /// Hurts the player.
+ ///
+ /// The attacking player.
+ /// The amount of damage to deal.
+ /// The of the damage dealt.
+ /// The cassie announcement to make if the damage kills the player.
+ public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null) =>
+ Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement));
+
+ ///
+ /// Hurts the player.
+ ///
+ /// The attacking player.
+ /// The amount of damage to deal.
+ /// The of the damage dealt.
+ /// The cassie announcement to make if the damage kills the player.
+ /// The death text to appear on screen.
+ public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null, string deathText = null) =>
+ Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText));
+
///
/// Hurts the player.
///
From 79a574e498da754dc8fa8ecdcce2cf6e792928b1 Mon Sep 17 00:00:00 2001
From: Yamato
Date: Tue, 8 Jul 2025 00:13:13 +0200
Subject: [PATCH 5/5] Fix Ambiguous when compiling
---
EXILED/Exiled.API/Features/Player.cs | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs
index 33b7432d21..d59b1c2cf7 100644
--- a/EXILED/Exiled.API/Features/Player.cs
+++ b/EXILED/Exiled.API/Features/Player.cs
@@ -2133,10 +2133,8 @@ public int GetScpPreference(RoleTypeId roleType)
/// The amount of damage to deal.
/// The of the damage dealt.
/// The cassie announcement to make if the damage kills the player.
- /// The death text to appear on screen.
- /// Whether to play Cassie for non-SCPs as well.
- public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null, string deathText = null, bool overrideCassieForAllRole = false) =>
- Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText, overrideCassieForAllRole));
+ public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null) =>
+ Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement));
///
/// Hurts the player.
@@ -2145,8 +2143,9 @@ public void Hurt(Player attacker, float amount, DamageType damageType = DamageTy
/// The amount of damage to deal.
/// The of the damage dealt.
/// The cassie announcement to make if the damage kills the player.
- public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null) =>
- Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement));
+ /// The death text to appear on screen.
+ public void Hurt(Player attacker, float amount, DamageType damageType, CassieAnnouncement cassieAnnouncement, string deathText) =>
+ Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText));
///
/// Hurts the player.
@@ -2155,9 +2154,10 @@ public void Hurt(Player attacker, float amount, DamageType damageType = DamageTy
/// The amount of damage to deal.
/// The of the damage dealt.
/// The cassie announcement to make if the damage kills the player.
- /// The death text to appear on screen.
- public void Hurt(Player attacker, float amount, DamageType damageType = DamageType.Unknown, CassieAnnouncement cassieAnnouncement = null, string deathText = null) =>
- Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText));
+ /// The death text to appear on screen.
+ /// Whether to play Cassie for non-SCPs as well.
+ public void Hurt(Player attacker, float amount, DamageType damageType, CassieAnnouncement cassieAnnouncement, string deathText, bool overrideCassieForAllRole) =>
+ Hurt(new GenericDamageHandler(this, attacker, amount, damageType, cassieAnnouncement, deathText, overrideCassieForAllRole));
///
/// Hurts the player.