24 lines
866 B
C#
24 lines
866 B
C#
namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
|
|
|
|
/// <summary>
|
|
/// Limber is an ability that prevents the Pokémon from being paralyzed.
|
|
///
|
|
/// <see href="https://bulbapedia.bulbagarden.net/wiki/Limber_(Ability)">Bulbapedia - Limber</see>
|
|
/// </summary>
|
|
[Script(ScriptCategory.Ability, "limber")]
|
|
public class Limber : Script, IScriptPreventStatusChange
|
|
{
|
|
/// <inheritdoc />
|
|
public void PreventStatusChange(IPokemon pokemon, StringKey status, bool selfInflicted, ref bool preventStatus)
|
|
{
|
|
if (status != ScriptUtils.ResolveName<Status.Paralyzed>())
|
|
return;
|
|
|
|
// If the status is being inflicted by a move, we can also prevent the move from inflicting it
|
|
if (selfInflicted)
|
|
return;
|
|
|
|
pokemon.BattleData?.Battle.EventHook.Invoke(new AbilityTriggerEvent(pokemon));
|
|
preventStatus = true;
|
|
}
|
|
} |