More abilities, refactor stealing held items
All checks were successful
Build / Build (push) Successful in 50s
All checks were successful
Build / Build (push) Successful in 50s
This commit is contained in:
@@ -13,11 +13,12 @@ public class BugBite : Script
|
||||
|
||||
var targetHeldItem = target.HeldItem;
|
||||
|
||||
if (targetHeldItem is not { Category: ItemCategory.Berry })
|
||||
if (targetHeldItem is not { Category: ItemCategory.Berry } || !target.TryStealHeldItem(out targetHeldItem))
|
||||
{
|
||||
move.GetHitData(target, hit).Fail();
|
||||
return;
|
||||
}
|
||||
|
||||
_ = target.SetHeldItem(null);
|
||||
targetHeldItem.RunItemScript(battleData.Battle.Library.ScriptResolver, user);
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ public class Covet : Script
|
||||
{
|
||||
if (target.HeldItem == null)
|
||||
return;
|
||||
if (move.User.HeldItem != null)
|
||||
if (!move.User.TryStealHeldItem(out var item))
|
||||
return;
|
||||
_ = move.User.SetHeldItem(target.RemoveHeldItemForBattle());
|
||||
_ = move.User.SetHeldItem(item);
|
||||
}
|
||||
}
|
||||
@@ -6,9 +6,11 @@ public class Incinerate : Script
|
||||
/// <inheritdoc />
|
||||
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
|
||||
{
|
||||
if (target.HeldItem is { Category: ItemCategory.Berry })
|
||||
if (target.HeldItem is not { Category: ItemCategory.Berry } || !target.TryStealHeldItem(out _))
|
||||
{
|
||||
target.RemoveHeldItemForBattle();
|
||||
move.GetHitData(target, hit).Fail();
|
||||
return;
|
||||
}
|
||||
// TODO: Add message for item incineration
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ public class KnockOff : Script
|
||||
/// <inheritdoc />
|
||||
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
|
||||
{
|
||||
if (target.RemoveHeldItemForBattle() is null)
|
||||
if (!target.TryStealHeldItem(out var item))
|
||||
{
|
||||
move.GetHitData(target, hit).Fail();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user