Imlements baneful bunker, data fixes

This commit is contained in:
2025-01-10 12:55:25 +01:00
parent 6434f9925c
commit 92ab67ddf8
12 changed files with 209 additions and 17 deletions

View File

@@ -313,6 +313,10 @@ public interface IPokemon : IScriptSource, IDeepCloneable
/// </summary>
void LearnMove(StringKey moveName, MoveLearnMethod method, byte index);
/// <summary>
/// Adds a non-volatile status to the Pokemon.
/// </summary>
void SetStatus(StringKey status);
/// <summary>
/// Removes the current non-volatile status from the Pokemon.
/// </summary>
@@ -926,6 +930,14 @@ public class PokemonImpl : ScriptSource, IPokemon
_learnedMoves[index] = new LearnedMoveImpl(move, method);
}
/// <inheritdoc />
public void SetStatus(StringKey status)
{
if (!Library.ScriptResolver.TryResolve(ScriptCategory.Status, status, null, out var statusScript))
throw new KeyNotFoundException($"Status script {status} not found");
StatusScript.Set(statusScript);
}
/// <inheritdoc />
public void ClearStatus() => StatusScript.Clear();