diff --git a/build/common.props b/build/common.props
index 5c47fae2..ada4cc98 100644
--- a/build/common.props
+++ b/build/common.props
@@ -2,7 +2,7 @@
- 1.2.7
+ 1.2.8
1.0.0
diff --git a/changelog.txt b/changelog.txt
index 4439b625..98565c45 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,4 +1,8 @@
---------------------------------------------------------------------------------------------------
+Version: 1.2.8
+Game Versions: v1.0.0,v1.0.1,v1.0.2,v1.0.3,v1.1.0,v1.1.1,v1.1.2,v1.1.3,v1.1.4,v1.1.5,v1.1.6,v1.2.0,v1.2.1,v1.2.2,v1.2.3.v1.2.4
+* Add support for v1.2.4
+---------------------------------------------------------------------------------------------------
Version: 1.2.7
Game Versions: v1.0.0,v1.0.1,v1.0.2,v1.0.3,v1.1.0,v1.1.1,v1.1.2,v1.1.3,v1.1.4,v1.1.5,v1.1.6,v1.2.0,v1.2.1,v1.2.2,v1.2.3
* Add support for v1.1.6
diff --git a/src/Bannerlord.Diplomacy/CampaignBehaviors/CivilWarBehavior.cs b/src/Bannerlord.Diplomacy/CampaignBehaviors/CivilWarBehavior.cs
index c3dc9fdb..245076e1 100644
--- a/src/Bannerlord.Diplomacy/CampaignBehaviors/CivilWarBehavior.cs
+++ b/src/Bannerlord.Diplomacy/CampaignBehaviors/CivilWarBehavior.cs
@@ -25,7 +25,11 @@ internal sealed class CivilWarBehavior : CampaignBehaviorBase
public override void RegisterEvents()
{
CampaignEvents.DailyTickClanEvent.AddNonSerializedListener(this, DailyTickClan);
+#if v124
+ CampaignEvents.OnClanChangedKingdomEvent.AddNonSerializedListener(this, (x, y, z, _, _) => RemoveClanFromRebelFaction(x, y, z));
+#elif v100 || v101 || v102 || v103 || v110 || v111 || v112 || v113 || v114 || v115 || v116 || v120 || v121 || v122 || v123
CampaignEvents.ClanChangedKingdom.AddNonSerializedListener(this, (x, y, z, _, _) => RemoveClanFromRebelFaction(x, y, z));
+#endif
CampaignEvents.MakePeace.AddNonSerializedListener(this, ResolveCivilWar);
CampaignEvents.KingdomDecisionConcluded.AddNonSerializedListener(this, NewKing);
CampaignEvents.DailyTickEvent.AddNonSerializedListener(this, DailyTick);
diff --git a/src/Bannerlord.Diplomacy/ViewModel/RebelFactionsVM.cs b/src/Bannerlord.Diplomacy/ViewModel/RebelFactionsVM.cs
index f26706fb..e65b2d39 100644
--- a/src/Bannerlord.Diplomacy/ViewModel/RebelFactionsVM.cs
+++ b/src/Bannerlord.Diplomacy/ViewModel/RebelFactionsVM.cs
@@ -139,7 +139,7 @@ public void OnCreateFaction()
inquiryElements,
true,
1,
-#if v120 || v121 || v122 || v123
+#if v120 || v121 || v122 || v123 || v124
1,
#endif
GameTexts.FindText("str_ok").ToString(),
diff --git a/src/Bannerlord.Diplomacy/ViewModel/WarExhaustionMapIndicatorVM.cs b/src/Bannerlord.Diplomacy/ViewModel/WarExhaustionMapIndicatorVM.cs
index 4f798c52..9fa5c347 100644
--- a/src/Bannerlord.Diplomacy/ViewModel/WarExhaustionMapIndicatorVM.cs
+++ b/src/Bannerlord.Diplomacy/ViewModel/WarExhaustionMapIndicatorVM.cs
@@ -19,7 +19,11 @@ public WarExhaustionMapIndicatorVM()
_kingdomsAtWar = new MBBindingList();
RefreshValues();
DiplomacyEvents.WarExhaustionInitialized.AddNonSerializedListener(this, HandleStanceChange);
+#if v124
+ CampaignEvents.OnClanChangedKingdomEvent.AddNonSerializedListener(this, (x, _, _, _, _) => HandleClanChangedKingdom(x));
+#elif v100 || v101 || v102 || v103 || v110 || v111 || v112 || v113 || v114 || v115 || v116 || v120 || v121 || v122 || v123
CampaignEvents.ClanChangedKingdom.AddNonSerializedListener(this, (x, _, _, _, _) => HandleClanChangedKingdom(x));
+#endif
DiplomacyEvents.WarExhaustionAdded.AddNonSerializedListener(this, HandleWarExhaustionChange);
Settings.Instance!.PropertyChanged += Settings_PropertyChanged;
}
@@ -47,7 +51,11 @@ public override void OnFinalize()
{
base.OnFinalize();
+#if v124
+ CampaignEvents.OnClanChangedKingdomEvent.ClearListeners(this);
+#elif v100 || v101 || v102 || v103 || v110 || v111 || v112 || v113 || v114 || v115 || v116 || v120 || v121 || v122 || v123
CampaignEvents.ClanChangedKingdom.ClearListeners(this);
+#endif
DiplomacyEvents.WarExhaustionInitialized.ClearListeners(this);
DiplomacyEvents.WarExhaustionAdded.ClearListeners(this);
}
diff --git a/supported-game-versions.txt b/supported-game-versions.txt
index 71728961..721bdb55 100644
--- a/supported-game-versions.txt
+++ b/supported-game-versions.txt
@@ -1,3 +1,4 @@
+v1.2.4
v1.2.3
v1.2.2
v1.2.1