Initial set up for item use

This commit is contained in:
2025-01-10 11:11:50 +01:00
parent 85ea31f7cd
commit 0518499a4c
23 changed files with 305 additions and 59 deletions

View File

@@ -465,7 +465,7 @@ public class PokemonImpl : ScriptSource, IPokemon
if (serializedPokemon.Status != null)
{
if (!library.ScriptResolver.TryResolve(ScriptCategory.Status, serializedPokemon.Status,
if (!library.ScriptResolver.TryResolve(ScriptCategory.Status, serializedPokemon.Status, null,
out var statusScript))
throw new KeyNotFoundException($"Status script {serializedPokemon.Status} not found");
StatusScript.Set(statusScript);
@@ -668,7 +668,7 @@ public class PokemonImpl : ScriptSource, IPokemon
{
if (HeldItem is null)
return false;
if (!Library.ScriptResolver.TryResolveItemScript(HeldItem, out _))
if (!Library.ScriptResolver.TryResolveBattleItemScript(HeldItem, out _))
return false;
// TODO: actually consume the item
throw new NotImplementedException();
@@ -777,10 +777,10 @@ public class PokemonImpl : ScriptSource, IPokemon
AbilityScript.Clear();
if (!Library.StaticLibrary.Abilities.TryGet(newAbility, out var ability))
throw new KeyNotFoundException($"Ability {newAbility} not found.");
if (Library.ScriptResolver.TryResolve(ScriptCategory.Ability, newAbility, out var abilityScript))
if (Library.ScriptResolver.TryResolve(ScriptCategory.Ability, newAbility, ability.Parameters,
out var abilityScript))
{
AbilityScript.Set(abilityScript);
abilityScript.OnInitialize(Library, ability.Parameters);
}
else
{