When a move is changed through the ChangeMove hook, update the script
This commit is contained in:
@@ -22,7 +22,16 @@ internal static class MoveTurnExecutor
|
||||
throw new InvalidOperationException(
|
||||
$"The move was changed to '{moveDataName}' by a script, but this move does not exist.");
|
||||
}
|
||||
// FIXME: Change the script on the move when it is changed.
|
||||
var secondaryEffect = moveData.SecondaryEffect;
|
||||
if (secondaryEffect != null)
|
||||
{
|
||||
if (moveChoice.User.Library.ScriptResolver.TryResolve(ScriptCategory.Move, secondaryEffect.Name, out var script))
|
||||
{
|
||||
moveChoice.Script.Set(script);
|
||||
script.OnInitialize(moveChoice.User.Library, secondaryEffect.Parameters);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var targetType = moveData.Target;
|
||||
|
||||
@@ -49,10 +49,7 @@ public class ScriptContainer : IEnumerable<ScriptContainer>
|
||||
/// <param name="script"></param>
|
||||
public void Set(Script script)
|
||||
{
|
||||
if (Script is not null)
|
||||
{
|
||||
Script.OnRemove();
|
||||
}
|
||||
Script?.OnRemove();
|
||||
Script = script;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user