More abilities
All checks were successful
Build / Build (push) Successful in 48s

This commit is contained in:
2025-06-09 13:44:26 +02:00
parent 00005aa4bf
commit 97868ab4c6
94 changed files with 829 additions and 150 deletions

View File

@@ -23,6 +23,6 @@ public class Acupressure : Script
// Choose a random stat to raise. 0 is HP, so we start at 1.
var stat = (Statistic)move.User.BattleData!.Battle.Random.GetInt(1, (int)Statistic.Speed + 1);
target.ChangeStatBoost(stat, 2, false);
target.ChangeStatBoost(stat, 2, false, false);
}
}

View File

@@ -21,7 +21,7 @@ public class Autotomize : Script
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
var user = move.User;
if (user.ChangeStatBoost(Statistic.Speed, 2, true) && user.ChangeWeightInKgBy(-100.0f))
if (user.ChangeStatBoost(Statistic.Speed, 2, true, false) && user.ChangeWeightInKgBy(-100.0f))
{
var battle = user.BattleData?.Battle;
battle?.EventHook.Invoke(new DialogEvent("pokemon_became_nimble", new Dictionary<string, object>

View File

@@ -15,6 +15,6 @@ public class BellyDrum : Script
target.Damage(maxHealthHalved, DamageSource.Misc);
// Raising the user's Attack by 12 stages should always set it to +6.
target.ChangeStatBoost(Statistic.Attack, 12, true);
target.ChangeStatBoost(Statistic.Attack, 12, true, false);
}
}

View File

@@ -34,7 +34,7 @@ public class Bounce : Script
var random = battle.Random;
if (random.EffectChance(30, move, target, hit))
{
target.SetStatus("paralyzed");
target.SetStatus("paralyzed", false);
}
}
}

View File

@@ -19,6 +19,6 @@ public class Captivate : Script
move.GetHitData(target, hit).Fail();
return;
}
target.ChangeStatBoost(Statistic.SpecialAttack, -2, false);
target.ChangeStatBoost(Statistic.SpecialAttack, -2, false, false);
}
}

View File

@@ -24,10 +24,10 @@ public class ChangeAllTargetStats : Script
/// <inheritdoc />
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
target.ChangeStatBoost(Statistic.Attack, _amount, target == move.User);
target.ChangeStatBoost(Statistic.Defense, _amount, target == move.User);
target.ChangeStatBoost(Statistic.SpecialAttack, _amount, target == move.User);
target.ChangeStatBoost(Statistic.SpecialDefense, _amount, target == move.User);
target.ChangeStatBoost(Statistic.Speed, _amount, target == move.User);
target.ChangeStatBoost(Statistic.Attack, _amount, target == move.User, false);
target.ChangeStatBoost(Statistic.Defense, _amount, target == move.User, false);
target.ChangeStatBoost(Statistic.SpecialAttack, _amount, target == move.User, false);
target.ChangeStatBoost(Statistic.SpecialDefense, _amount, target == move.User, false);
target.ChangeStatBoost(Statistic.Speed, _amount, target == move.User, false);
}
}

View File

@@ -32,7 +32,7 @@ public class ChangeMultipleTargetStatBoosts : Script
EventBatchId batchId = new();
foreach (var stat in _statBoosts)
{
target.ChangeStatBoost(stat.Key, stat.Value, true, batchId);
target.ChangeStatBoost(stat.Key, stat.Value, true, false, batchId);
}
}
}

View File

@@ -32,7 +32,7 @@ public class ChangeMultipleUserStatBoosts : Script
EventBatchId batchId = new();
foreach (var stat in _statBoosts)
{
move.User.ChangeStatBoost(stat.Key, stat.Value, true, batchId);
move.User.ChangeStatBoost(stat.Key, stat.Value, true, false, batchId);
}
}
}

View File

@@ -31,7 +31,7 @@ public abstract class ChangeTargetStats : Script
/// <inheritdoc />
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
target.ChangeStatBoost(_stat, _amount, target == move.User);
target.ChangeStatBoost(_stat, _amount, target == move.User, false);
}
}

View File

@@ -31,7 +31,7 @@ public abstract class ChangeUserStats : Script
/// <inheritdoc />
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
move.User.ChangeStatBoost(_stat, _amount, true);
move.User.ChangeStatBoost(_stat, _amount, true, false);
}
}

View File

@@ -8,7 +8,7 @@ public class Charge : Script
/// <inheritdoc />
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
move.User.ChangeStatBoost(Statistic.SpecialDefense, 1, true);
move.User.ChangeStatBoost(Statistic.SpecialDefense, 1, true, false);
move.User.Volatile.Add(new ChargeEffect());
}
}

View File

@@ -24,9 +24,9 @@ public class Curse : Script
else
{
EventBatchId batchId = new();
move.User.ChangeStatBoost(Statistic.Speed, -1, true, batchId);
move.User.ChangeStatBoost(Statistic.Defense, 1, true, batchId);
move.User.ChangeStatBoost(Statistic.Attack, 1, true, batchId);
move.User.ChangeStatBoost(Statistic.Speed, -1, true, false, batchId);
move.User.ChangeStatBoost(Statistic.Defense, 1, true, false, batchId);
move.User.ChangeStatBoost(Statistic.Attack, 1, true, false, batchId);
}
}
}

View File

@@ -7,7 +7,7 @@ public class DragonAscent : Script
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
EventBatchId batchId = new();
move.User.ChangeStatBoost(Statistic.Defense, -1, true, batchId);
move.User.ChangeStatBoost(Statistic.SpecialDefense, -1, true, batchId);
move.User.ChangeStatBoost(Statistic.Defense, -1, true, false, batchId);
move.User.ChangeStatBoost(Statistic.SpecialDefense, -1, true, false, batchId);
}
}

View File

@@ -8,7 +8,7 @@ public class FellStinger : Script
{
if (target.IsFainted)
{
move.User.ChangeStatBoost(Statistic.Attack, 2, true);
move.User.ChangeStatBoost(Statistic.Attack, 2, true, false);
}
}
}

View File

@@ -14,7 +14,7 @@ public class FireFang : Script
var random = battleData.Battle.Random;
if (random.EffectChance(10, move, target, hit))
{
target.SetStatus("burned");
target.SetStatus("burned", false);
}
// It also has an independent 10% chance of causing the target to flinch, if the user attacks before the target.

View File

@@ -28,7 +28,7 @@ public class FlameWheel : Script
if (move.Battle.Random.EffectChance(_burnChance, move, target, hit))
{
target.SetStatus("burned");
target.SetStatus("burned", false);
}
}
}

View File

@@ -12,7 +12,7 @@ public class FlareBlitz : Script
if (battleData.Battle.Random.EffectChance(10, move, target, hit))
{
target.SetStatus("burned");
target.SetStatus("burned", false);
}
var hitData = move.GetHitData(target, hit);

View File

@@ -8,7 +8,7 @@ public class Flatter : Script
/// <inheritdoc />
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
target.ChangeStatBoost(Statistic.SpecialAttack, 1, false);
target.ChangeStatBoost(Statistic.SpecialAttack, 1, false, false);
target.Volatile.StackOrAdd("confusion", () => new Confusion());
}
}

View File

@@ -22,7 +22,7 @@ public class FlowerShield : Script
continue;
if (!pokemon.Types.Contains(grassType))
continue;
pokemon.ChangeStatBoost(Statistic.Defense, 1, pokemon == move.User, batchId);
pokemon.ChangeStatBoost(Statistic.Defense, 1, pokemon == move.User, false, batchId);
}
}
}

View File

@@ -13,6 +13,6 @@ public class Foresight : Script
return;
var typeLibrary = battleData.Battle.Library.StaticLibrary.Types;
target.Volatile.Add(new ForesightEffect(typeLibrary));
target.ChangeStatBoost(Statistic.Evasion, (sbyte)-target.StatBoost.Evasion, false);
target.ChangeStatBoost(Statistic.Evasion, (sbyte)-target.StatBoost.Evasion, false, false);
}
}

View File

@@ -31,7 +31,7 @@ public class FreezeDry : Script
if (battleData.Battle.Random.EffectChance(10, move, target, hit))
{
target.SetStatus("frozen");
target.SetStatus("frozen", false);
}
}
}

View File

@@ -17,7 +17,7 @@ public class FreezeShock : BaseChargeMove<RequireChargeEffect>
if (battleData.Battle.Random.EffectChance(30, move, target, hit))
{
target.SetStatus("paralyzed");
target.SetStatus("paralyzed", false);
}
}
}

View File

@@ -19,8 +19,8 @@ public class GearUp : Script
var ability = pokemon.ActiveAbility?.Name;
if (ability != "plus" && ability != "minus")
continue;
pokemon.ChangeStatBoost(Statistic.Attack, 1, pokemon == move.User, evtBatchId);
pokemon.ChangeStatBoost(Statistic.SpecialAttack, 1, pokemon == move.User, evtBatchId);
pokemon.ChangeStatBoost(Statistic.Attack, 1, pokemon == move.User, false, evtBatchId);
pokemon.ChangeStatBoost(Statistic.SpecialAttack, 1, pokemon == move.User, false, evtBatchId);
}
}
}

View File

@@ -12,8 +12,8 @@ public class Geomancy : BaseChargeMove<RequireChargeEffect>
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
EventBatchId eventBatchId = new();
move.User.ChangeStatBoost(Statistic.SpecialAttack, 2, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.SpecialDefense, 2, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.Speed, 2, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.SpecialAttack, 2, true, false, eventBatchId);
move.User.ChangeStatBoost(Statistic.SpecialDefense, 2, true, false, eventBatchId);
move.User.ChangeStatBoost(Statistic.Speed, 2, true, false, eventBatchId);
}
}

View File

@@ -12,7 +12,7 @@ public class Growth : Script
sbyte amount = 1;
if (move.Battle.WeatherName == ScriptUtils.ResolveName<HarshSunlight>())
amount = 2;
move.User.ChangeStatBoost(Statistic.Attack, amount, true, batchId);
move.User.ChangeStatBoost(Statistic.SpecialAttack, amount, true, batchId);
move.User.ChangeStatBoost(Statistic.Attack, amount, true, false, batchId);
move.User.ChangeStatBoost(Statistic.SpecialAttack, amount, true, false, batchId);
}
}

View File

@@ -17,11 +17,11 @@ public class GuardSwap : Script
var userSpecialDefense = userStats.GetStatistic(Statistic.SpecialDefense);
var targetSpecialDefense = targetStats.GetStatistic(Statistic.SpecialDefense);
user.ChangeStatBoost(Statistic.Defense, (sbyte)(targetDefense - userDefense), true, eventBatchId);
user.ChangeStatBoost(Statistic.SpecialDefense, (sbyte)(targetSpecialDefense - userSpecialDefense), true,
user.ChangeStatBoost(Statistic.Defense, (sbyte)(targetDefense - userDefense), true, true, eventBatchId);
user.ChangeStatBoost(Statistic.SpecialDefense, (sbyte)(targetSpecialDefense - userSpecialDefense), true, true,
eventBatchId);
target.ChangeStatBoost(Statistic.Defense, (sbyte)(userDefense - targetDefense), false, eventBatchId);
target.ChangeStatBoost(Statistic.Defense, (sbyte)(userDefense - targetDefense), false, true, eventBatchId);
target.ChangeStatBoost(Statistic.SpecialDefense, (sbyte)(userSpecialDefense - targetSpecialDefense), false,
eventBatchId);
true, eventBatchId);
}
}

View File

@@ -16,8 +16,8 @@ public class HeartSwap : Script
var targetStat = targetStats.GetStatistic(stat);
if (userStat == targetStat)
continue;
move.User.ChangeStatBoost(stat, (sbyte)(userStat - targetStat), true, eventBatchId);
target.ChangeStatBoost(stat, (sbyte)(targetStat - userStat), false, eventBatchId);
move.User.ChangeStatBoost(stat, (sbyte)(userStat - targetStat), true, true, eventBatchId);
target.ChangeStatBoost(stat, (sbyte)(targetStat - userStat), false, true, eventBatchId);
}
}
}

View File

@@ -17,7 +17,7 @@ public class IceBurn : BaseChargeMove<RequireChargeEffect>
if (battleData.Battle.Random.EffectChance(30, move, target, hit))
{
target.SetStatus("burned");
target.SetStatus("burned", false);
}
}
}

View File

@@ -14,7 +14,7 @@ public class IceFang : Script
if (battleData.Battle.Random.EffectChance(10, move, target, hit))
{
target.SetStatus("frozen");
target.SetStatus("frozen", false);
}
if (battleData.Battle.Random.EffectChance(10, move, target, hit))
{

View File

@@ -18,8 +18,8 @@ public class MagneticFlux : Script
continue;
EventBatchId batch = new();
pokemon.ChangeStatBoost(Statistic.Defense, 1, pokemon == move.User, batch);
pokemon.ChangeStatBoost(Statistic.SpecialDefense, 1, pokemon == move.User, batch);
pokemon.ChangeStatBoost(Statistic.Defense, 1, pokemon == move.User, false, batch);
pokemon.ChangeStatBoost(Statistic.SpecialDefense, 1, pokemon == move.User, false, batch);
}
}
}

View File

@@ -7,8 +7,8 @@ public class Memento : Script
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
var evtBatch = new EventBatchId();
target.ChangeStatBoost(Statistic.Attack, -2, false, evtBatch);
target.ChangeStatBoost(Statistic.SpecialAttack, -2, false, evtBatch);
target.ChangeStatBoost(Statistic.Attack, -2, false, false, evtBatch);
target.ChangeStatBoost(Statistic.SpecialAttack, -2, false, false, evtBatch);
move.User.Faint(DamageSource.Misc);
}

View File

@@ -10,7 +10,7 @@ public class MiracleEye : Script
{
if (target.StatBoost.Evasion > 0)
{
target.ChangeStatBoost(Statistic.Evasion, (sbyte)-target.StatBoost.Evasion, false);
target.ChangeStatBoost(Statistic.Evasion, (sbyte)-target.StatBoost.Evasion, false, false);
}
target.Volatile.Add(new MiracleEyeEffect());
}

View File

@@ -15,8 +15,8 @@ public class PartingShot : Script
return;
var evtBatch = new EventBatchId();
var attackChanged = target.ChangeStatBoost(Statistic.Attack, -1, false, evtBatch);
var specialAttackChanged = target.ChangeStatBoost(Statistic.SpecialAttack, -1, false, evtBatch);
var attackChanged = target.ChangeStatBoost(Statistic.Attack, -1, false, false, evtBatch);
var specialAttackChanged = target.ChangeStatBoost(Statistic.SpecialAttack, -1, false, false, evtBatch);
if (attackChanged || specialAttackChanged)
{

View File

@@ -22,7 +22,7 @@ public class PoisonTail : Script
if (battleData.Battle.Random.EffectChance(10, move, target, hit))
{
target.SetStatus(ScriptUtils.ResolveName<BadlyPoisoned>());
target.SetStatus(ScriptUtils.ResolveName<BadlyPoisoned>(), false);
}
}
}

View File

@@ -14,11 +14,11 @@ public class PowerSwap : Script
var userSpecialAttack = user.StatBoost.SpecialAttack;
var targetSpecialAttack = target.StatBoost.SpecialAttack;
user.ChangeStatBoost(Statistic.Attack, (sbyte)(targetAttack - userAttack), true, eventBatchId);
user.ChangeStatBoost(Statistic.SpecialAttack, (sbyte)(targetSpecialAttack - userSpecialAttack), true,
user.ChangeStatBoost(Statistic.Attack, (sbyte)(targetAttack - userAttack), true, true, eventBatchId);
user.ChangeStatBoost(Statistic.SpecialAttack, (sbyte)(targetSpecialAttack - userSpecialAttack), true, true,
eventBatchId);
target.ChangeStatBoost(Statistic.Attack, (sbyte)(userAttack - targetAttack), true, eventBatchId);
target.ChangeStatBoost(Statistic.SpecialAttack, (sbyte)(userSpecialAttack - targetSpecialAttack), true,
target.ChangeStatBoost(Statistic.Attack, (sbyte)(userAttack - targetAttack), true, true, eventBatchId);
target.ChangeStatBoost(Statistic.SpecialAttack, (sbyte)(userSpecialAttack - targetSpecialAttack), true, true,
eventBatchId);
}
}

View File

@@ -9,7 +9,7 @@ public class ResetTargetStats : Script
EventBatchId eventBatchId = new();
foreach (Statistic stat in Enum.GetValues(typeof(Statistic)))
{
target.ChangeStatBoost(stat, (sbyte)-target.StatBoost.GetStatistic(stat), true, eventBatchId);
target.ChangeStatBoost(stat, (sbyte)-target.StatBoost.GetStatistic(stat), true, true, eventBatchId);
}
}
}

View File

@@ -18,7 +18,7 @@ public class Rest : Script
move.GetHitData(target, hit).Fail();
return;
}
if (move.User.SetStatus(ScriptUtils.ResolveName<Sleep>()) && move.User.StatusScript.Script is Sleep sleep)
if (move.User.SetStatus(ScriptUtils.ResolveName<Sleep>(), true) && move.User.StatusScript.Script is Sleep sleep)
sleep.Turns = 2;
}
}

View File

@@ -13,8 +13,8 @@ public class Rototiller : Script
EventBatchId batchId = new();
foreach (var pkmn in pokemon)
{
pkmn.ChangeStatBoost(Statistic.Attack, 1, pkmn == move.User, batchId);
pkmn.ChangeStatBoost(Statistic.SpecialAttack, 1, pkmn == move.User, batchId);
pkmn.ChangeStatBoost(Statistic.Attack, 1, pkmn == move.User, false, batchId);
pkmn.ChangeStatBoost(Statistic.SpecialAttack, 1, pkmn == move.User, false, batchId);
}
}
}

View File

@@ -20,6 +20,6 @@ public class SetStatus : Script
{
if (_status == null)
throw new Exception("Missing required parameter 'status'");
target.SetStatus(_status);
target.SetStatus(_status, false);
}
}

View File

@@ -7,11 +7,11 @@ public class ShellSmash : Script
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
EventBatchId eventBatchId = new();
move.User.ChangeStatBoost(Statistic.Attack, 2, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.SpecialAttack, 2, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.Speed, 2, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.Attack, 2, true, false, eventBatchId);
move.User.ChangeStatBoost(Statistic.SpecialAttack, 2, true, false, eventBatchId);
move.User.ChangeStatBoost(Statistic.Speed, 2, true, false, eventBatchId);
eventBatchId = new EventBatchId();
move.User.ChangeStatBoost(Statistic.Defense, -1, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.SpecialDefense, -1, true, eventBatchId);
move.User.ChangeStatBoost(Statistic.Defense, -1, true, false, eventBatchId);
move.User.ChangeStatBoost(Statistic.SpecialDefense, -1, true, false, eventBatchId);
}
}

View File

@@ -10,7 +10,7 @@ public class SkullBash : Script
{
if (move.User.Volatile.Contains<SkullBashEffect>())
return;
move.User.ChangeStatBoost(Statistic.Defense, 1, true);
move.User.ChangeStatBoost(Statistic.Defense, 1, true, false);
move.User.Volatile.Add(new SkullBashEffect(move.User));
prevent = true;
}

View File

@@ -12,8 +12,8 @@ public class SpectralThief : Script
EventBatchId batchId = new();
foreach (var positiveStat in positiveStats)
{
move.User.ChangeStatBoost(positiveStat.statistic, positiveStat.value, true, batchId);
target.ChangeStatBoost(positiveStat.statistic, (sbyte)-positiveStat.value, true, batchId);
move.User.ChangeStatBoost(positiveStat.statistic, positiveStat.value, true, true, batchId);
target.ChangeStatBoost(positiveStat.statistic, (sbyte)-positiveStat.value, true, true, batchId);
}
}
}

View File

@@ -7,7 +7,7 @@ public class StrengthSap : Script
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
var attack = target.BoostedStats.Attack;
if (!target.ChangeStatBoost(Statistic.Attack, -1, false))
if (!target.ChangeStatBoost(Statistic.Attack, -1, false, false))
{
move.GetHitData(target, hit).Fail();
return;

View File

@@ -7,7 +7,7 @@ public class Superpower : Script
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
EventBatchId eventBatch = new();
move.User.ChangeStatBoost(Statistic.Attack, -1, true, eventBatch);
move.User.ChangeStatBoost(Statistic.Defense, -1, true, eventBatch);
move.User.ChangeStatBoost(Statistic.Attack, -1, true, false, eventBatch);
move.User.ChangeStatBoost(Statistic.Defense, -1, true, false, eventBatch);
}
}

View File

@@ -6,7 +6,7 @@ public class Swagger : Script
/// <inheritdoc />
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
target.ChangeStatBoost(Statistic.Attack, 2, false);
target.ChangeStatBoost(Statistic.Attack, 2, false, false);
target.Volatile.Add(new Pokemon.Confusion());
}
}

View File

@@ -12,7 +12,7 @@ public class ThunderFang : Script
var random = move.Battle.Random;
if (random.EffectChance(10, move, target, hit))
{
target.SetStatus(ScriptUtils.ResolveName<Paralyzed>());
target.SetStatus(ScriptUtils.ResolveName<Paralyzed>(), false);
}
if (random.EffectChance(10, move, target, hit))
{

View File

@@ -16,7 +16,7 @@ public class TopsyTurvy : Script
hasChanged = true;
var newStatBoost = -statBoost;
target.ChangeStatBoost(stat, (sbyte)newStatBoost, target == move.User, batchId);
target.ChangeStatBoost(stat, (sbyte)newStatBoost, target == move.User, true, batchId);
}
if (!hasChanged)
{

View File

@@ -6,7 +6,7 @@ public class ToxicThread : Script
/// <inheritdoc />
public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
target.SetStatus(ScriptUtils.ResolveName<Status.Poisoned>());
target.ChangeStatBoost(Statistic.Speed, -1, false);
target.SetStatus(ScriptUtils.ResolveName<Status.Poisoned>(), false);
target.ChangeStatBoost(Statistic.Speed, -1, false, false);
}
}

View File

@@ -14,6 +14,6 @@ public class TriAttack : Script
ScriptUtils.ResolveName<Status.Paralyzed>(),
ScriptUtils.ResolveName<Status.Frozen>(),
]);
target.SetStatus(status);
target.SetStatus(status, false);
}
}

View File

@@ -11,7 +11,7 @@ public class Twineedle : Script
{
if (move.Battle.Random.EffectChance(20, move, target, hit))
{
target.SetStatus(ScriptUtils.ResolveName<Status.Poisoned>());
target.SetStatus(ScriptUtils.ResolveName<Status.Poisoned>(), false);
}
}
}

View File

@@ -11,8 +11,8 @@ public class VenomDrench : Script
return;
EventBatchId eventBatch = new();
target.ChangeStatBoost(Statistic.Attack, -1, false, eventBatch);
target.ChangeStatBoost(Statistic.SpecialAttack, -1, false, eventBatch);
target.ChangeStatBoost(Statistic.Speed, -1, false, eventBatch);
target.ChangeStatBoost(Statistic.Attack, -1, false, false, eventBatch);
target.ChangeStatBoost(Statistic.SpecialAttack, -1, false, false, eventBatch);
target.ChangeStatBoost(Statistic.Speed, -1, false, false, eventBatch);
}
}

View File

@@ -12,7 +12,7 @@ public class VoltTackle : Script
if (move.Battle.Random.EffectChance(10, move, target, hit))
{
target.SetStatus(ScriptUtils.ResolveName<Status.Paralyzed>());
target.SetStatus(ScriptUtils.ResolveName<Status.Paralyzed>(), false);
}
}
}