This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
|
||||
|
||||
/// <summary>
|
||||
/// Desolate Land is an ability that creates extremely harsh sunlight when the Pokémon enters battle.
|
||||
/// This sunlight is so intense that it prevents other weather conditions and makes Water-type moves fail.
|
||||
/// This ability is exclusive to Primal Groudon.
|
||||
///
|
||||
/// <see href="https://bulbapedia.bulbagarden.net/wiki/Desolate_Land_(Ability)">Bulbapedia - Desolate Land</see>
|
||||
/// </summary>
|
||||
[Script(ScriptCategory.Ability, "desolate_land")]
|
||||
public class DesolateLandAbility : Script
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public override void OnSwitchIn(IPokemon pokemon, byte position)
|
||||
{
|
||||
var battle = pokemon.BattleData?.Battle;
|
||||
if (battle == null)
|
||||
return;
|
||||
|
||||
battle.SetWeather(ScriptUtils.ResolveName<Weather.DesolateLands>(), -1);
|
||||
if (battle.WeatherName == ScriptUtils.ResolveName<Weather.DesolateLands>())
|
||||
{
|
||||
((Weather.DesolateLands)battle.WeatherScript.Script!).MarkAsPlaced(pokemon);
|
||||
battle.EventHook.Invoke(new AbilityTriggerEvent(pokemon));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user