21 lines
727 B
C#

using PkmnLib.Plugin.Gen7.Scripts.Pokemon;
namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
/// <summary>
/// Stench is an ability that may cause the target to flinch when hit by a damaging move.
///
/// <see href="https://bulbapedia.bulbagarden.net/wiki/Stench_(Ability)">Bulbapedia - Stench</see>
/// </summary>
[Script(ScriptCategory.Ability, "stench")]
public class Stench : Script, IScriptOnSecondaryEffect
{
/// <inheritdoc />
public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
if (move.Battle.Random.GetInt(100) >= 10)
return;
move.Battle.EventHook.Invoke(new AbilityTriggerEvent(move.User));
target.Volatile.Add(new FlinchEffect());
}
}