More unit tests, more fixes
This commit is contained in:
@@ -11,12 +11,24 @@ public class Disable : Script, IScriptOnSecondaryEffect
|
||||
var battleData = move.User.BattleData;
|
||||
if (battleData == null)
|
||||
return;
|
||||
if (target.Volatile.Contains<DisableEffect>())
|
||||
{
|
||||
move.GetHitData(target, hit).Fail();
|
||||
return;
|
||||
}
|
||||
var lastMove = target.BattleData?.LastMoveChoice;
|
||||
if (lastMove == null)
|
||||
{
|
||||
move.GetHitData(target, hit).Fail();
|
||||
return;
|
||||
}
|
||||
// If the last move was struggle, the move fails and no disable is applied.
|
||||
if (target.Library.MiscLibrary.IsReplacementChoice(lastMove))
|
||||
{
|
||||
move.GetHitData(target, hit).Fail();
|
||||
return;
|
||||
}
|
||||
|
||||
var lastMoveName = lastMove.ChosenMove.MoveData.Name;
|
||||
target.Volatile.Add(new DisableEffect(lastMoveName));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user