diff --git a/RL2.API/APIEndpoints/Enemy.cs b/RL2.API/APIEndpoints/Enemy.cs
index 422692f..3f58b6a 100644
--- a/RL2.API/APIEndpoints/Enemy.cs
+++ b/RL2.API/APIEndpoints/Enemy.cs
@@ -88,13 +88,13 @@ internal static void ModifyData_Invoke(EnemyType type, EnemyRank rank, EnemyData
/// Enemy rank
/// Enemy's AI script object
/// Enemy's logic controller scriptable object. Handles chances of behaviour
- public delegate void ModifyBehaviour_delegate(EnemyType type, EnemyRank rank, BaseAIScript aiScript, LogicController_SO logicController_SO);
+ public delegate void ModifyBehaviour_delegate(EnemyType type, EnemyRank rank, ref BaseAIScript aiScript, ref LogicController_SO logicController_SO);
///
public static event ModifyBehaviour_delegate? ModifyBehaviour;
- internal static void ModifyBehaviour_Invoke(EnemyType type, EnemyRank rank, BaseAIScript aiScript, LogicController_SO logicController_SO) {
- ModifyBehaviour?.Invoke(type, rank, aiScript, logicController_SO);
+ internal static void ModifyBehaviour_Invoke(EnemyType type, EnemyRank rank, ref BaseAIScript aiScript, ref LogicController_SO logicController_SO) {
+ ModifyBehaviour?.Invoke(type, rank, ref aiScript, ref logicController_SO);
}
#endregion
}
\ No newline at end of file
diff --git a/RL2.API/Hooks/Enemy.cs b/RL2.API/Hooks/Enemy.cs
index 03f741f..faae596 100644
--- a/RL2.API/Hooks/Enemy.cs
+++ b/RL2.API/Hooks/Enemy.cs
@@ -75,10 +75,12 @@ internal static bool ModifyClassDataMethod(EnemyClassDataDictionary_TryGetValue
if (found) {
foreach (EnemyRank rank in Enum.GetValues(typeof(EnemyRank))) {
Enemy.ModifyData_Invoke(type, rank, data.GetEnemyData(rank));
- Enemy.ModifyBehaviour_Invoke(type, rank, data.GetAIScript(rank), data.GetLogicController());
}
+ Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Basic, ref data.m_basicAIScript, ref data.m_enemyLogicController);
+ Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Advanced, ref data.m_advancedAIScript, ref data.m_enemyLogicController);
+ Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Expert, ref data.m_expertAIScript, ref data.m_enemyLogicController);
+ Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Miniboss, ref data.m_minibossAIScript, ref data.m_enemyLogicController);
}
-
return found;
}
#endregion