Skip to content

Commit 494697a

Browse files
committed
[Fix] Enemy.ModifyBehaviour works properly now
1 parent bbcb42b commit 494697a

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

RL2.API/APIEndpoints/Enemy.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@ internal static void ModifyData_Invoke(EnemyType type, EnemyRank rank, EnemyData
8888
/// <param name="rank">Enemy rank</param>
8989
/// <param name="aiScript">Enemy's AI script object</param>
9090
/// <param name="logicController_SO">Enemy's logic controller scriptable object. Handles chances of behaviour</param>
91-
public delegate void ModifyBehaviour_delegate(EnemyType type, EnemyRank rank, BaseAIScript aiScript, LogicController_SO logicController_SO);
91+
public delegate void ModifyBehaviour_delegate(EnemyType type, EnemyRank rank, ref BaseAIScript aiScript, ref LogicController_SO logicController_SO);
9292

9393
/// <inheritdoc cref="ModifyBehaviour_delegate"/>
9494
public static event ModifyBehaviour_delegate? ModifyBehaviour;
9595

96-
internal static void ModifyBehaviour_Invoke(EnemyType type, EnemyRank rank, BaseAIScript aiScript, LogicController_SO logicController_SO) {
97-
ModifyBehaviour?.Invoke(type, rank, aiScript, logicController_SO);
96+
internal static void ModifyBehaviour_Invoke(EnemyType type, EnemyRank rank, ref BaseAIScript aiScript, ref LogicController_SO logicController_SO) {
97+
ModifyBehaviour?.Invoke(type, rank, ref aiScript, ref logicController_SO);
9898
}
9999
#endregion
100100
}

RL2.API/Hooks/Enemy.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,12 @@ internal static bool ModifyClassDataMethod(EnemyClassDataDictionary_TryGetValue
7575
if (found) {
7676
foreach (EnemyRank rank in Enum.GetValues(typeof(EnemyRank))) {
7777
Enemy.ModifyData_Invoke(type, rank, data.GetEnemyData(rank));
78-
Enemy.ModifyBehaviour_Invoke(type, rank, data.GetAIScript(rank), data.GetLogicController());
7978
}
79+
Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Basic, ref data.m_basicAIScript, ref data.m_enemyLogicController);
80+
Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Advanced, ref data.m_advancedAIScript, ref data.m_enemyLogicController);
81+
Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Expert, ref data.m_expertAIScript, ref data.m_enemyLogicController);
82+
Enemy.ModifyBehaviour_Invoke(type, EnemyRank.Miniboss, ref data.m_minibossAIScript, ref data.m_enemyLogicController);
8083
}
81-
8284
return found;
8385
}
8486
#endregion

0 commit comments

Comments
 (0)