diff --git a/PkmnLib.Dynamic/BattleFlow/TurnRunner.cs b/PkmnLib.Dynamic/BattleFlow/TurnRunner.cs
index e6afc1c..d9cdf3f 100644
--- a/PkmnLib.Dynamic/BattleFlow/TurnRunner.cs
+++ b/PkmnLib.Dynamic/BattleFlow/TurnRunner.cs
@@ -60,15 +60,15 @@ public static class TurnRunner
{
scripts.Clear();
pokemon.GetOwnScripts(scripts);
- scripts.RunScriptHook(x => x.OnEndTurn(battle));
+ scripts.RunScriptHook(x => x.OnEndTurn(pokemon, battle));
}
scripts.Clear();
side.GetOwnScripts(scripts);
- scripts.RunScriptHook(x => x.OnEndTurn(battle));
+ scripts.RunScriptHook(x => x.OnEndTurn(side, battle));
}
scripts.Clear();
battle.GetOwnScripts(scripts);
- scripts.RunScriptHook(x => x.OnEndTurn(battle));
+ scripts.RunScriptHook(x => x.OnEndTurn(battle, battle));
}
}
diff --git a/PkmnLib.Dynamic/ScriptHandling/Script.cs b/PkmnLib.Dynamic/ScriptHandling/Script.cs
index cbc0cf5..5a2b044 100644
--- a/PkmnLib.Dynamic/ScriptHandling/Script.cs
+++ b/PkmnLib.Dynamic/ScriptHandling/Script.cs
@@ -552,8 +552,9 @@ public abstract class Script : IDeepCloneable
/// running. Note that choices are not active anymore here, so their scripts do not call this
/// function.
///
+ ///
///
- public virtual void OnEndTurn(IBattle battle)
+ public virtual void OnEndTurn(IScriptSource owner, IBattle battle)
{
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Data/Abilities.jsonc b/Plugins/PkmnLib.Plugin.Gen7/Data/Abilities.jsonc
index 2a1f2d8..0a06621 100755
--- a/Plugins/PkmnLib.Plugin.Gen7/Data/Abilities.jsonc
+++ b/Plugins/PkmnLib.Plugin.Gen7/Data/Abilities.jsonc
@@ -567,15 +567,33 @@
"slow_start": {
"effect": "slow_start"
},
- "slush_rush": {},
- "sniper": {},
- "snow_cloak": {},
- "snow_warning": {},
- "solar_power": {},
- "solid_rock": {},
- "soul_heart": {},
- "soundproof": {},
- "speed_boost": {},
+ "slush_rush": {
+ "effect": "slush_rush"
+ },
+ "sniper": {
+ "effect": "sniper"
+ },
+ "snow_cloak": {
+ "effect": "snow_cloak"
+ },
+ "snow_warning": {
+ "effect": "snow_warning"
+ },
+ "solar_power": {
+ "effect": "solar_power"
+ },
+ "solid_rock": {
+ "effect": "solid_rock"
+ },
+ "soul_heart": {
+ "effect": "soul_heart"
+ },
+ "soundproof": {
+ "effect": "soundproof"
+ },
+ "speed_boost": {
+ "effect": "speed_boost"
+ },
"stakeout": {},
"stall": {},
"stamina": {},
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/BadDreams.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/BadDreams.cs
index 086f057..11fe8dc 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/BadDreams.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/BadDreams.cs
@@ -20,7 +20,7 @@ public class BadDreams : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_owner is null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/DrySkin.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/DrySkin.cs
index 2221462..cbb0712 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/DrySkin.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/DrySkin.cs
@@ -39,7 +39,7 @@ public class DrySkin : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_owningPokemon == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Harvest.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Harvest.cs
index a20961e..5615003 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Harvest.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Harvest.cs
@@ -19,7 +19,7 @@ public class Harvest : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon?.BattleData is null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Healer.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Healer.cs
index 8a86920..0132c21 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Healer.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Healer.cs
@@ -19,7 +19,7 @@ public class Healer : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon?.BattleData is null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Hydration.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Hydration.cs
index 490f1f5..84b26ba 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Hydration.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Hydration.cs
@@ -19,7 +19,7 @@ public class Hydration : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon is null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/IceBody.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/IceBody.cs
index 235e67f..8f8b27c 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/IceBody.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/IceBody.cs
@@ -19,7 +19,7 @@ public class IceBody : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon is null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Moody.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Moody.cs
index c22a874..8113e10 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Moody.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Moody.cs
@@ -19,7 +19,7 @@ public class Moody : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/PowerConstruct.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/PowerConstruct.cs
index e3fc87e..ac48631 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/PowerConstruct.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/PowerConstruct.cs
@@ -19,7 +19,7 @@ public class PowerConstruct : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon?.BattleData?.Battle == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/RainDish.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/RainDish.cs
index d493c54..f0cb90b 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/RainDish.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/RainDish.cs
@@ -19,7 +19,7 @@ public class RainDish : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_owner is null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Schooling.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Schooling.cs
index d92de29..0d5c425 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Schooling.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Schooling.cs
@@ -22,7 +22,7 @@ public class Schooling : Script
public override void OnSwitchIn(IPokemon pokemon, byte position) => ChangeFormIfNeeded(pokemon);
///
- public override void OnEndTurn(IBattle battle) => ChangeFormIfNeeded(_owningPokemon);
+ public override void OnEndTurn(IScriptSource owner, IBattle battle) => ChangeFormIfNeeded(_owningPokemon);
private static void ChangeFormIfNeeded(IPokemon? pokemon)
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShedSkin.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShedSkin.cs
index 76db660..b1383fc 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShedSkin.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShedSkin.cs
@@ -19,7 +19,7 @@ public class ShedSkin : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_owningPokemon is null || _owningPokemon.StatusScript.IsEmpty)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShieldsDown.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShieldsDown.cs
index 81dba86..82a3b29 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShieldsDown.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/ShieldsDown.cs
@@ -22,7 +22,7 @@ public class ShieldsDown : Script
public override void OnSwitchIn(IPokemon pokemon, byte position) => ChangeFormIfNeeded(pokemon);
///
- public override void OnEndTurn(IBattle battle) => ChangeFormIfNeeded(_owningPokemon);
+ public override void OnEndTurn(IScriptSource owner, IBattle battle) => ChangeFormIfNeeded(_owningPokemon);
private static void ChangeFormIfNeeded(IPokemon? pokemon)
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SlushRush.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SlushRush.cs
new file mode 100644
index 0000000..953d60a
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SlushRush.cs
@@ -0,0 +1,19 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Slush Rush is an ability that doubles the Pokémon's Speed during hail.
+///
+/// Bulbapedia - Slush Rush
+///
+[Script(ScriptCategory.Ability, "slush_rush")]
+public class SlushRush : Script
+{
+ ///
+ public override void ChangeSpeed(ITurnChoice choice, ref uint speed)
+ {
+ if (choice.User.BattleData?.Battle.WeatherName == ScriptUtils.ResolveName())
+ {
+ speed *= 2;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Sniper.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Sniper.cs
new file mode 100644
index 0000000..1149b90
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Sniper.cs
@@ -0,0 +1,16 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Sniper is an ability that increases the power of critical hits.
+///
+/// Bulbapedia - Sniper
+///
+[Script(ScriptCategory.Ability, "sniper")]
+public class Sniper : Script
+{
+ ///
+ public override void ChangeCriticalModifier(IExecutingMove move, IPokemon target, byte hit, ref float modifier)
+ {
+ modifier *= 1.5f;
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SnowCloak.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SnowCloak.cs
new file mode 100644
index 0000000..f78f61f
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SnowCloak.cs
@@ -0,0 +1,27 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Snow Cloak is an ability that raises the Pokémon's evasion during hail.
+///
+/// Bulbapedia - Snow Cloak
+///
+[Script(ScriptCategory.Ability, "snow_cloak")]
+public class SnowCloak : Script
+{
+ ///
+ public override void ChangeIncomingAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex,
+ ref int modifiedAccuracy)
+ {
+ // If the weather is hail, increase evasion by 20%
+ if (executingMove.Battle.WeatherName == ScriptUtils.ResolveName())
+ {
+ modifiedAccuracy = (int)(modifiedAccuracy * 0.8f);
+ }
+ }
+
+ public override void CustomTrigger(StringKey eventName, ICustomTriggerArgs args)
+ {
+ if (eventName == CustomTriggers.IgnoreHail && args is CustomTriggers.IgnoreHailArgs hailArgs)
+ hailArgs.Ignore = true;
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SnowWarning.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SnowWarning.cs
new file mode 100644
index 0000000..1de8be9
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SnowWarning.cs
@@ -0,0 +1,25 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Snow Warning is an ability that creates hail when the Pokémon enters battle.
+///
+/// Bulbapedia - Snow Warning
+///
+[Script(ScriptCategory.Ability, "snow_warning")]
+public class SnowWarning : Script
+{
+ ///
+ public override void OnSwitchIn(IPokemon pokemon, byte position)
+ {
+ var battleData = pokemon.BattleData;
+ if (battleData == null)
+ return;
+
+ if (battleData.Battle.WeatherName == ScriptUtils.ResolveName())
+ return;
+
+ EventBatchId batchId = new();
+ battleData.Battle.EventHook.Invoke(new AbilityTriggerEvent(pokemon));
+ battleData.Battle.SetWeather(ScriptUtils.ResolveName(), 5, batchId);
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SolarPower.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SolarPower.cs
new file mode 100644
index 0000000..14c23aa
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SolarPower.cs
@@ -0,0 +1,34 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Solar Power is an ability that boosts Special Attack in harsh sunlight but causes the Pokémon to lose HP each turn.
+///
+/// Bulbapedia - Solar Power
+///
+[Script(ScriptCategory.Ability, "solar_power")]
+public class SolarPower : Script
+{
+ ///
+ public override void ChangeOffensiveStatValue(IExecutingMove move, IPokemon target, byte hit, uint defensiveStat,
+ ImmutableStatisticSet targetStats, Statistic stat, ref uint value)
+ {
+ if ((stat == Statistic.SpecialAttack &&
+ move.Battle.WeatherName == ScriptUtils.ResolveName()) ||
+ move.Battle.WeatherName == ScriptUtils.ResolveName())
+ {
+ value = value.MultiplyOrMax(1.5f);
+ }
+ }
+
+ ///
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
+ {
+ if (owner is not IPokemon pokemon)
+ return;
+
+ if (!pokemon.IsUsable)
+ return;
+
+ pokemon.Damage(pokemon.MaxHealth / 8, DamageSource.Weather);
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SolidRock.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SolidRock.cs
new file mode 100644
index 0000000..f4639cf
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SolidRock.cs
@@ -0,0 +1,17 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Solid Rock is an ability that reduces damage from super-effective moves.
+///
+/// Bulbapedia - Solid Rock
+///
+[Script(ScriptCategory.Ability, "solid_rock")]
+public class SolidRock : Script
+{
+ ///
+ public override void ChangeIncomingMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage)
+ {
+ if (move.GetHitData(target, hit).Effectiveness >= 2f)
+ damage = (uint)(damage * 0.75f);
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SoulHeart.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SoulHeart.cs
new file mode 100644
index 0000000..88e6510
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SoulHeart.cs
@@ -0,0 +1,22 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Soul-Heart is an ability that raises Special Attack when another Pokémon faints.
+///
+/// Bulbapedia - Soul-Heart
+///
+[Script(ScriptCategory.Ability, "soul_heart")]
+public class SoulHeart : Script
+{
+ ///
+ public override void OnAllyFaint(IPokemon ally, IPokemon faintedPokemon)
+ {
+ ally.ChangeStatBoost(Statistic.SpecialAttack, 1, true, false);
+ }
+
+ ///
+ public override void OnOpponentFaints(IExecutingMove move, IPokemon target, byte hit)
+ {
+ move.User.ChangeStatBoost(Statistic.SpecialAttack, 1, true, false);
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Soundproof.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Soundproof.cs
new file mode 100644
index 0000000..ae4eca4
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/Soundproof.cs
@@ -0,0 +1,17 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Soundproof is an ability that grants immunity to sound-based moves.
+///
+/// Bulbapedia - Soundproof
+///
+[Script(ScriptCategory.Ability, "soundproof")]
+public class Soundproof : Script
+{
+ ///
+ public override void IsInvulnerableToMove(IExecutingMove move, IPokemon target, ref bool invulnerable)
+ {
+ if (move.UseMove.HasFlag("sound"))
+ invulnerable = true;
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SpeedBoost.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SpeedBoost.cs
new file mode 100644
index 0000000..48814cc
--- /dev/null
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Abilities/SpeedBoost.cs
@@ -0,0 +1,24 @@
+namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
+
+///
+/// Speed Boost is an ability that raises the Pokémon's Speed at the end of each turn.
+///
+/// Bulbapedia - Speed Boost
+///
+[Script(ScriptCategory.Ability, "speed_boost")]
+public class SpeedBoost : Script
+{
+ ///
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
+ {
+ if (owner is not IPokemon pokemon)
+ return;
+
+ EventBatchId batchId = new();
+ battle.EventHook.Invoke(new AbilityTriggerEvent(pokemon)
+ {
+ BatchId = batchId,
+ });
+ pokemon.ChangeStatBoost(Statistic.Speed, 1, true, false, batchId);
+ }
+}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FairyLockEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FairyLockEffect.cs
index ffa6701..1ccdc36 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FairyLockEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FairyLockEffect.cs
@@ -18,7 +18,7 @@ public class FairyLockEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_turns <= 0)
RemoveSelf();
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FutureSightEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FutureSightEffect.cs
index 3ea758a..c294700 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FutureSightEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/FutureSightEffect.cs
@@ -12,7 +12,7 @@ public class FutureSightEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turnsLeft -= 1;
if (_turnsLeft <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs
index acbcbce..c079888 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs
@@ -34,7 +34,7 @@ public class Gravity : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turns--;
if (_turns > 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MagicRoomEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MagicRoomEffect.cs
index 085b3ca..64f4426 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MagicRoomEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MagicRoomEffect.cs
@@ -19,7 +19,7 @@ public class MagicRoomEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_turnsLeft > 0)
_turnsLeft--;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MudSportEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MudSportEffect.cs
index 4e4105d..4dd52d9 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MudSportEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/MudSportEffect.cs
@@ -17,7 +17,7 @@ public class MudSportEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turnsLeft--;
if (_turnsLeft <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/SnatchEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/SnatchEffect.cs
index 0fcfc7c..a6244d6 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/SnatchEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/SnatchEffect.cs
@@ -53,7 +53,7 @@ public class SnatchEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/TrickRoomEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/TrickRoomEffect.cs
index 77a94cc..b226302 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/TrickRoomEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/TrickRoomEffect.cs
@@ -12,7 +12,7 @@ public class TrickRoomEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turnsLeft--;
if (_turnsLeft <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/UproarEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/UproarEffect.cs
index e6616e9..fdc4d83 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/UproarEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/UproarEffect.cs
@@ -39,7 +39,7 @@ public class UproarEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (!_hasUsedUproar)
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/WonderRoomEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/WonderRoomEffect.cs
index 5ec6f04..da91e00 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/WonderRoomEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/WonderRoomEffect.cs
@@ -19,7 +19,7 @@ public class WonderRoomEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
TurnsLeft--;
if (TurnsLeft <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MetalBurst.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MetalBurst.cs
index 2e7b4e7..3704c8d 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MetalBurst.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MetalBurst.cs
@@ -43,7 +43,7 @@ public class MetalBurst : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MirrorCoat.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MirrorCoat.cs
index e610047..ea196fa 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MirrorCoat.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/MirrorCoat.cs
@@ -43,7 +43,7 @@ public class MirrorCoat : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BindEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BindEffect.cs
index 9fbc767..37024e7 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BindEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BindEffect.cs
@@ -15,7 +15,7 @@ public class BindEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_owner == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ChargeEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ChargeEffect.cs
index ef0c135..da15ea1 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ChargeEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ChargeEffect.cs
@@ -18,7 +18,7 @@ public class ChargeEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_turnOfUse)
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/DisableEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/DisableEffect.cs
index f414615..c110f7b 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/DisableEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/DisableEffect.cs
@@ -21,7 +21,7 @@ public class DisableEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turnsLeft--;
if (_turnsLeft <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EmbargoEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EmbargoEffect.cs
index dd3d3fd..9dc7fb9 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EmbargoEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EmbargoEffect.cs
@@ -18,7 +18,7 @@ public class EmbargoEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turns--;
if (_turns == 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EncoreEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EncoreEffect.cs
index ca7bc05..0094d86 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EncoreEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EncoreEffect.cs
@@ -30,7 +30,7 @@ public class EncoreEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turns--;
if (_turns <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EndureEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EndureEffect.cs
index 44a61e4..2a9bff0 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EndureEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/EndureEffect.cs
@@ -11,5 +11,5 @@ public class EndureEffect : Script
}
///
- public override void OnEndTurn(IBattle battle) => RemoveSelf();
+ public override void OnEndTurn(IScriptSource owner, IBattle battle) => RemoveSelf();
}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/FireSpinEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/FireSpinEffect.cs
index 99e9555..cb0053f 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/FireSpinEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/FireSpinEffect.cs
@@ -11,7 +11,7 @@ public class FireSpinEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_owner.Damage(_owner.BoostedStats.Hp / 8, DamageSource.Misc);
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/GhostCurseEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/GhostCurseEffect.cs
index 5f2546a..30c727c 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/GhostCurseEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/GhostCurseEffect.cs
@@ -11,7 +11,7 @@ public class GhostCurseEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_pokemon.Damage(_pokemon.CurrentHealth / 4, DamageSource.Misc);
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealBlockEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealBlockEffect.cs
index 09ecc53..8be22f3 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealBlockEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealBlockEffect.cs
@@ -11,7 +11,7 @@ public class HealBlockEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_duration--;
if (_duration <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealEachEndOfTurnEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealEachEndOfTurnEffect.cs
index 6abcecb..17052a0 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealEachEndOfTurnEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HealEachEndOfTurnEffect.cs
@@ -16,9 +16,10 @@ public class HealEachEndOfTurnEffect : Script
_pokemon = pokemon;
}
+ ///
///
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon is null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HelpingHandEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HelpingHandEffect.cs
index 1bc7912..a0b7cf9 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HelpingHandEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/HelpingHandEffect.cs
@@ -9,5 +9,5 @@ public class HelpingHandEffect : Script
basePower = basePower.MultiplyOrMax(1.5f);
///
- public override void OnEndTurn(IBattle battle) => RemoveSelf();
+ public override void OnEndTurn(IScriptSource owner, IBattle battle) => RemoveSelf();
}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IceBallEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IceBallEffect.cs
index 65ce0d3..5655341 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IceBallEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IceBallEffect.cs
@@ -31,7 +31,7 @@ public class IceBallEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (TurnCount < 5)
TurnCount++;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/InfestationEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/InfestationEffect.cs
index 150fad4..2c1a032 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/InfestationEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/InfestationEffect.cs
@@ -19,7 +19,7 @@ public class InfestationEffect : Script
public override void PreventSelfRunAway(IFleeChoice choice, ref bool prevent) => prevent = true;
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
var damage = _owner.BoostedStats.Hp / 8;
_owner.Damage(damage, DamageSource.Misc);
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs
index d6c6d4e..2b3c450 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs
@@ -19,7 +19,7 @@ public class IngrainEffect : Script
public override void PreventSelfRunAway(IFleeChoice choice, ref bool prevent) => prevent = true;
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
var heal = _owner.BoostedStats.Hp / 16;
_owner.Heal(heal);
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LeechSeedEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LeechSeedEffect.cs
index ce59aaa..c5ac6ff 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LeechSeedEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LeechSeedEffect.cs
@@ -13,7 +13,7 @@ public class LeechSeedEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
var damage = _owner.BoostedStats.Hp / 8;
if (_owner.CurrentHealth <= damage)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LockOnEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LockOnEffect.cs
index 021ea47..15117b8 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LockOnEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LockOnEffect.cs
@@ -20,7 +20,7 @@ public class LockOnEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LuckyChantEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LuckyChantEffect.cs
index 9243d69..40f7656 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LuckyChantEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/LuckyChantEffect.cs
@@ -11,7 +11,7 @@ public class LuckyChantEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turnsLeft--;
if (_turnsLeft > 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagmaStormEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagmaStormEffect.cs
index ec2496f..360ff40 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagmaStormEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagmaStormEffect.cs
@@ -11,7 +11,7 @@ public class MagmaStormEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_owner.Damage(_owner.BoostedStats.Hp / 16, DamageSource.Misc);
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagnetRiseEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagnetRiseEffect.cs
index cbc8438..bb09407 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagnetRiseEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/MagnetRiseEffect.cs
@@ -15,7 +15,7 @@ public class MagnetRiseEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_turnsRemaining > 0)
_turnsRemaining--;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/NightmareEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/NightmareEffect.cs
index 8885e20..ede542a 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/NightmareEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/NightmareEffect.cs
@@ -13,7 +13,7 @@ public class NightmareEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (!_owner.HasStatus(ScriptUtils.ResolveName()))
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs
index ddfb7b4..6a5b639 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs
@@ -13,7 +13,7 @@ public class PerishSongEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turns--;
if (_turns <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ProtectionFailureScript.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ProtectionFailureScript.cs
index ac2777b..10e20ee 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ProtectionFailureScript.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ProtectionFailureScript.cs
@@ -17,7 +17,7 @@ public class ProtectionFailureScript : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (!UsedProtect)
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RageEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RageEffect.cs
index b3bc3fc..fe28a19 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RageEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RageEffect.cs
@@ -10,7 +10,7 @@ public class RageEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RoostEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RoostEffect.cs
index ccdea48..9ac0bd6 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RoostEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/RoostEffect.cs
@@ -13,5 +13,5 @@ public class RoostEffect : Script
}
///
- public override void OnEndTurn(IBattle battle) => RemoveSelf();
+ public override void OnEndTurn(IScriptSource owner, IBattle battle) => RemoveSelf();
}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/SlowStartEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/SlowStartEffect.cs
index 8d264f2..64c80ab 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/SlowStartEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/SlowStartEffect.cs
@@ -20,7 +20,7 @@ public class SlowStartEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_turnsRemaining <= 0)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/TauntEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/TauntEffect.cs
index 76c6d75..bff04b6 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/TauntEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/TauntEffect.cs
@@ -25,7 +25,7 @@ public class TauntEffect(int turns) : Script
}
}
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turns--;
if (_turns <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ThroatChopEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ThroatChopEffect.cs
index 756e344..a152ad4 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ThroatChopEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ThroatChopEffect.cs
@@ -20,7 +20,7 @@ public class ThroatChopEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turns--;
if (_turns <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WhirlpoolEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WhirlpoolEffect.cs
index 346d06c..353bb41 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WhirlpoolEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WhirlpoolEffect.cs
@@ -56,7 +56,7 @@ public class WhirlpoolEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_user == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WishEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WishEffect.cs
index d7b7a9f..b212ddc 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WishEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/WishEffect.cs
@@ -17,7 +17,7 @@ public class WishEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/YawnEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/YawnEffect.cs
index 9c2a5f7..878a0b0 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/YawnEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/YawnEffect.cs
@@ -20,7 +20,7 @@ public class YawnEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon == null)
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/AuroraVeilEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/AuroraVeilEffect.cs
index 3bcb18f..d8ae0dd 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/AuroraVeilEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/AuroraVeilEffect.cs
@@ -34,9 +34,10 @@ public class AuroraVeilEffect : Script
NumberOfTurns = numberOfTurns;
}
+ ///
///
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (NumberOfTurns > 0)
NumberOfTurns--;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoomDesireEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoomDesireEffect.cs
index 40387d3..85a3a93 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoomDesireEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoomDesireEffect.cs
@@ -36,7 +36,7 @@ public class DoomDesireEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_side == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs
index 064c342..fe9f1d6 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs
@@ -5,9 +5,10 @@ public class DoublePowerIfTargetDamagedInTurnData : Script
{
public readonly HashSet HitPokemon = [];
+ ///
///
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/EchoedVoiceData.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/EchoedVoiceData.cs
index a922ff7..c1b6dfe 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/EchoedVoiceData.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/EchoedVoiceData.cs
@@ -7,7 +7,7 @@ namespace PkmnLib.Plugin.Gen7.Scripts.Side;
public class EchoedVoiceData : Script
{
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/LightScreenEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/LightScreenEffect.cs
index d1b238b..aa41388 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/LightScreenEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/LightScreenEffect.cs
@@ -23,7 +23,7 @@ public class LightScreenEffect(int turns) : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_turns -= 1;
if (_turns <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/MatBlockEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/MatBlockEffect.cs
index a8a1860..ddf8524 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/MatBlockEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/MatBlockEffect.cs
@@ -12,7 +12,7 @@ public class MatBlockEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/QuickGuardEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/QuickGuardEffect.cs
index 42e2892..9710e85 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/QuickGuardEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/QuickGuardEffect.cs
@@ -11,7 +11,7 @@ public class QuickGuardEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/RagePowderEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/RagePowderEffect.cs
index b38ca67..9eafe2d 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/RagePowderEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/RagePowderEffect.cs
@@ -21,7 +21,7 @@ public class RagePowderEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/ReflectEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/ReflectEffect.cs
index 92c0f8f..c1eb923 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/ReflectEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/ReflectEffect.cs
@@ -27,7 +27,7 @@ public class ReflectEffect(int turns) : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_turns > 0)
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/SpotlightEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/SpotlightEffect.cs
index 16cb5eb..1b5cf5a 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/SpotlightEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/SpotlightEffect.cs
@@ -25,7 +25,7 @@ public class SpotlightEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/TailwindEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/TailwindEffect.cs
index f8c20e9..23d9422 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/TailwindEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/TailwindEffect.cs
@@ -12,7 +12,7 @@ public class TailwindEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_duration--;
if (_duration <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/WideGuardEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/WideGuardEffect.cs
index 41b2249..a3ed080 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/WideGuardEffect.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/WideGuardEffect.cs
@@ -31,7 +31,7 @@ public class WideGuardEffect : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
RemoveSelf();
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/BadlyPoisoned.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/BadlyPoisoned.cs
index 1b0c25d..ea308c7 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/BadlyPoisoned.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/BadlyPoisoned.cs
@@ -9,9 +9,9 @@ public class BadlyPoisoned : Poisoned
public override float GetPoisonMultiplier() => 1f / (16f * _turns);
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
- base.OnEndTurn(battle);
+ base.OnEndTurn(owner, battle);
_turns = Math.Min(_turns + 1, 15);
}
}
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Burned.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Burned.cs
index aeb6917..bf2622b 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Burned.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Burned.cs
@@ -25,7 +25,7 @@ public class Burned : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_target == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Frozen.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Frozen.cs
index dd68181..659f4b7 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Frozen.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Frozen.cs
@@ -28,7 +28,7 @@ public class Frozen : Script
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Poisoned.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Poisoned.cs
index 8b6786c..7ccd0ee 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Poisoned.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Status/Poisoned.cs
@@ -16,7 +16,7 @@ public class Poisoned : Script
public virtual float GetPoisonMultiplier() => 1f / 8f;
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (_pokemon == null)
return;
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/DesolateLands.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/DesolateLands.cs
index 6afc004..17bd53a 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/DesolateLands.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/DesolateLands.cs
@@ -35,7 +35,7 @@ public class DesolateLands : HarshSunlight
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
// We don't want to call base.OnEndTurn here, as we want to prevent the weather from ending
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Hail.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Hail.cs
index 2aa53a4..7b22ee0 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Hail.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Hail.cs
@@ -15,7 +15,7 @@ public class Hail : Script, ILimitedTurnsScript
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
if (!battle.Library.StaticLibrary.Types.TryGetTypeIdentifier("ice", out var iceType))
{
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/HarshSunlight.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/HarshSunlight.cs
index e32b7d2..06a1f8c 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/HarshSunlight.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/HarshSunlight.cs
@@ -20,7 +20,7 @@ public class HarshSunlight : Script, ILimitedTurnsScript
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_duration--;
if (_duration <= 0)
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/PrimordialSea.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/PrimordialSea.cs
index a47224f..31bbca4 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/PrimordialSea.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/PrimordialSea.cs
@@ -34,7 +34,7 @@ public class PrimordialSea : Rain
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
// We don't want to call base.OnEndTurn here, as we want to prevent the weather from ending
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Rain.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Rain.cs
index c228075..3d1d479 100644
--- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Rain.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Weather/Rain.cs
@@ -15,7 +15,7 @@ public class Rain : Script, ILimitedTurnsScript
}
///
- public override void OnEndTurn(IBattle battle)
+ public override void OnEndTurn(IScriptSource owner, IBattle battle)
{
_duration--;
if (_duration <= 0)