Fixes and reworking of item use
All checks were successful
Build / Build (push) Successful in 57s

This commit is contained in:
2025-11-08 11:43:07 +01:00
parent fa05cdd773
commit 21ec4b28c7
11 changed files with 150 additions and 34 deletions

View File

@@ -351,6 +351,21 @@ public class BattleImpl : ScriptSource, IBattle
if (switchChoice.SwitchTo == switchChoice.User)
return false;
}
else if (choice is IItemChoice itemChoice)
{
if (!Library.ScriptResolver.TryResolveBattleItemScript(itemChoice.Item, out var itemScript))
return false;
if (!itemScript.IsItemUsable)
return false;
if (itemScript.TargetType != ItemTargetType.None)
{
var target = itemChoice.GetTargetPokemon(this);
if (target is null || !itemScript.IsTargetValid(target))
return false;
if (!itemScript.TargetType.IsValidTarget(this, choice.User, target))
return false;
}
}
return true;