diff --git a/PkmnLib.Dataloader/MoveDataLoader.cs b/PkmnLib.Dataloader/MoveDataLoader.cs index 1c682be..e8de7ca 100644 --- a/PkmnLib.Dataloader/MoveDataLoader.cs +++ b/PkmnLib.Dataloader/MoveDataLoader.cs @@ -4,6 +4,7 @@ using System.Collections.Immutable; using System.IO; using System.Linq; using System.Text.Json; +using JetBrains.Annotations; using PkmnLib.Dataloader.Models; using PkmnLib.Static; using PkmnLib.Static.Libraries; @@ -26,12 +27,14 @@ public static class MoveDataLoader return library; } + [PublicAPI] public static Func, MoveDataImpl> MoveConstructor = - (serialized, name, moveType, category, basePower, accuracy, baseUsages, target, priority, secondaryEffect, - flags) => new MoveDataImpl(name, moveType, category, basePower, accuracy, baseUsages, target, priority, - secondaryEffect, flags); + ISecondaryEffect? + , IEnumerable, MoveDataImpl> MoveConstructor = + (_, name, moveType, category, basePower, accuracy, baseUsages, target, priority, secondaryEffect, flags) => + new MoveDataImpl(name, moveType, category, basePower, accuracy, baseUsages, target, priority, + secondaryEffect, flags); private static MoveDataImpl DeserializeMove(SerializedMove serialized, TypeLibrary typeLibrary) { diff --git a/PkmnLib.Dataloader/SpeciesDataLoader.cs b/PkmnLib.Dataloader/SpeciesDataLoader.cs index d646319..3972fa0 100644 --- a/PkmnLib.Dataloader/SpeciesDataLoader.cs +++ b/PkmnLib.Dataloader/SpeciesDataLoader.cs @@ -21,7 +21,7 @@ public static class SpeciesDataLoader if (obj == null) throw new InvalidDataException("Species data is empty."); return obj.Where(x => x.Key != "$schema").ToDictionary(x => x.Key, - x => x.Value.Deserialize(JsonOptions.DefaultOptions)); + x => x.Value.Deserialize(JsonOptions.DefaultOptions))!; } public static SpeciesLibrary LoadSpecies(Stream[] streams, IReadOnlyTypeLibrary typeLibrary) @@ -159,17 +159,17 @@ public static class SpeciesDataLoader Happiness = evolution.Data.GetValue(), ToSpecies = evolution.Species, }, - "happinessday" => new HappinessDayEvolution() + "happinessday" => new HappinessDayEvolution { Happiness = evolution.Data.GetValue(), ToSpecies = evolution.Species, }, - "happinessnight" => new HappinessNightEvolution() + "happinessnight" => new HappinessNightEvolution { Happiness = evolution.Data.GetValue(), ToSpecies = evolution.Species, }, - "item" => new ItemUseEvolution() + "item" => new ItemUseEvolution { Item = evolution.Data.GetValue() ?? throw new InvalidDataException("Item is null."), ToSpecies = evolution.Species, @@ -184,17 +184,17 @@ public static class SpeciesDataLoader Item = evolution.Data.GetValue() ?? throw new InvalidDataException("Item is null."), ToSpecies = evolution.Species, }, - "holditem" => new HoldItemEvolution() + "holditem" => new HoldItemEvolution { Item = evolution.Data.GetValue() ?? throw new InvalidDataException("Item is null."), ToSpecies = evolution.Species, }, - "dayholditem" => new DayHoldItemEvolution() + "dayholditem" => new DayHoldItemEvolution { Item = evolution.Data.GetValue() ?? throw new InvalidDataException("Item is null."), ToSpecies = evolution.Species, }, - "nightholditem" => new NightHoldItemEvolution() + "nightholditem" => new NightHoldItemEvolution { Item = evolution.Data.GetValue() ?? throw new InvalidDataException("Item is null."), ToSpecies = evolution.Species, diff --git a/PkmnLib.Dataloader/TypeDataLoader.cs b/PkmnLib.Dataloader/TypeDataLoader.cs index 3c6297b..a609977 100644 --- a/PkmnLib.Dataloader/TypeDataLoader.cs +++ b/PkmnLib.Dataloader/TypeDataLoader.cs @@ -1,7 +1,6 @@ using System; using System.IO; using System.Linq; -using PkmnLib.Static; using PkmnLib.Static.Libraries; namespace PkmnLib.Dataloader; diff --git a/PkmnLib.Dynamic/AI/PassTurnAI.cs b/PkmnLib.Dynamic/AI/PassTurnAI.cs index 4d07d97..b309daf 100644 --- a/PkmnLib.Dynamic/AI/PassTurnAI.cs +++ b/PkmnLib.Dynamic/AI/PassTurnAI.cs @@ -1,6 +1,5 @@ using PkmnLib.Dynamic.Models; using PkmnLib.Dynamic.Models.Choices; -using PkmnLib.Static.Utils; namespace PkmnLib.Dynamic.AI; diff --git a/PkmnLib.Dynamic/AI/RandomAI.cs b/PkmnLib.Dynamic/AI/RandomAI.cs index fd20be5..f971683 100644 --- a/PkmnLib.Dynamic/AI/RandomAI.cs +++ b/PkmnLib.Dynamic/AI/RandomAI.cs @@ -36,7 +36,7 @@ public class RandomAI : PokemonAI continue; } var target = targets[_random.GetInt(targets.Length)]; - var moveTurnChoice = new MoveChoice(pokemon, move!, target.side, target.position); + var moveTurnChoice = new MoveChoice(pokemon, move, target.side, target.position); if (battle.CanUse(moveTurnChoice)) { return moveTurnChoice; diff --git a/PkmnLib.Dynamic/Models/Choices/MoveChoice.cs b/PkmnLib.Dynamic/Models/Choices/MoveChoice.cs index 3cb6177..206931d 100644 --- a/PkmnLib.Dynamic/Models/Choices/MoveChoice.cs +++ b/PkmnLib.Dynamic/Models/Choices/MoveChoice.cs @@ -1,3 +1,4 @@ +using JetBrains.Annotations; using PkmnLib.Dynamic.ScriptHandling; using PkmnLib.Static.Utils; @@ -33,12 +34,19 @@ public interface IMoveChoice : ITurnChoice /// ScriptContainer Script { get; set; } + /// + /// Additional data that can be used by scripts to store information about the choice. + /// Dictionary? AdditionalData { get; } + /// + /// Volatile effects that are applied to the move choice. + /// IScriptSet Volatile { get; } } /// +[PublicAPI] public class MoveChoice : TurnChoice, IMoveChoice { /// diff --git a/PkmnLib.Dynamic/Models/Pokemon.cs b/PkmnLib.Dynamic/Models/Pokemon.cs index b8ef3f2..e96e8cf 100644 --- a/PkmnLib.Dynamic/Models/Pokemon.cs +++ b/PkmnLib.Dynamic/Models/Pokemon.cs @@ -525,7 +525,7 @@ public class PokemonImpl : ScriptSource, IPokemon return null; if (!library.StaticLibrary.Moves.TryGet(move.MoveName, out var moveData)) throw new KeyNotFoundException($"Move {move.MoveName} not found"); - return new LearnedMoveImpl(moveData, move.LearnMethod, move.CurrentPp); + return (ILearnedMove)new LearnedMoveImpl(moveData, move.LearnMethod, move.CurrentPp); }).ToArray(); AllowedExperience = serializedPokemon.AllowedExperience; IsEgg = serializedPokemon.IsEgg; diff --git a/PkmnLib.Dynamic/PkmnLib.Dynamic.csproj.DotSettings b/PkmnLib.Dynamic/PkmnLib.Dynamic.csproj.DotSettings new file mode 100644 index 0000000..48c34ab --- /dev/null +++ b/PkmnLib.Dynamic/PkmnLib.Dynamic.csproj.DotSettings @@ -0,0 +1,2 @@ + + True \ No newline at end of file diff --git a/PkmnLib.NET.sln.DotSettings b/PkmnLib.NET.sln.DotSettings index c32bf07..0271941 100644 --- a/PkmnLib.NET.sln.DotSettings +++ b/PkmnLib.NET.sln.DotSettings @@ -1,2 +1,3 @@  + EV PP \ No newline at end of file diff --git a/PkmnLib.Static/Libraries/TypeLibrary.cs b/PkmnLib.Static/Libraries/TypeLibrary.cs index 965deae..a67e7b9 100644 --- a/PkmnLib.Static/Libraries/TypeLibrary.cs +++ b/PkmnLib.Static/Libraries/TypeLibrary.cs @@ -1,4 +1,3 @@ -using System.Diagnostics.CodeAnalysis; using PkmnLib.Static.Utils; namespace PkmnLib.Static.Libraries; @@ -16,7 +15,7 @@ public interface IReadOnlyTypeLibrary /// /// Gets the type identifier for a type with an index. /// - bool TryGetTypeIdentifierFromIndex(byte index, [MaybeNullWhen(false)] out TypeIdentifier typeIdentifier); + bool TryGetTypeIdentifierFromIndex(byte index, out TypeIdentifier typeIdentifier); /// /// Gets the effectiveness for a single attacking type against a single defending type. diff --git a/PkmnLib.Tests/DataTests/MoveDataTests.cs b/PkmnLib.Tests/DataTests/MoveDataTests.cs index e6ab2ee..7e6897d 100644 --- a/PkmnLib.Tests/DataTests/MoveDataTests.cs +++ b/PkmnLib.Tests/DataTests/MoveDataTests.cs @@ -35,7 +35,7 @@ public class MoveDataTests try { await Assert.That(test.Library.ScriptResolver.TryResolve(ScriptCategory.Move, scriptName, - test.Move.SecondaryEffect.Parameters, out var script)).IsTrue(); + test.Move.SecondaryEffect.Parameters, out _)).IsTrue(); } catch (Exception e) { diff --git a/PkmnLib.Tests/Static/StringKeyTests.cs b/PkmnLib.Tests/Static/StringKeyTests.cs index ee6c274..a496ca1 100644 --- a/PkmnLib.Tests/Static/StringKeyTests.cs +++ b/PkmnLib.Tests/Static/StringKeyTests.cs @@ -1,4 +1,3 @@ -using System.Collections; using PkmnLib.Static.Utils; namespace PkmnLib.Tests.Static; diff --git a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs index 3776a3e..7df19e3 100644 --- a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs +++ b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs @@ -1,5 +1,5 @@ using PkmnLib.Dynamic.Models; -using PkmnLib.Plugin.Gen7.Moves; +using PkmnLib.Plugin.Gen7.Scripts.Moves; using PkmnLib.Static; namespace PkmnLib.Plugin.Gen7.Tests.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Gen7Plugin.cs b/Plugins/PkmnLib.Plugin.Gen7/Gen7Plugin.cs index e356fc4..ac6f071 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Gen7Plugin.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Gen7Plugin.cs @@ -11,7 +11,7 @@ public class Gen7Plugin : Dynamic.ScriptHandling.Registry.Plugin { private readonly Gen7PluginConfiguration _configuration; - public Gen7Plugin() : base() + public Gen7Plugin() { _configuration = new Gen7PluginConfiguration(); } diff --git a/Plugins/PkmnLib.Plugin.Gen7/Libraries/Gen7BattleStatCalculator.cs b/Plugins/PkmnLib.Plugin.Gen7/Libraries/Gen7BattleStatCalculator.cs index fa05f16..91842c8 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Libraries/Gen7BattleStatCalculator.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Libraries/Gen7BattleStatCalculator.cs @@ -57,6 +57,7 @@ public class Gen7BattleStatCalculator : IBattleStatCalculator executingMove.RunScriptHook( x => x.ChangeAccuracyModifier(executingMove, target, hitIndex, ref accuracyModifier)); var modifiedAccuracy = (int)(moveAccuracy * accuracyModifier); + // ReSharper disable once AccessToModifiedClosure executingMove.RunScriptHook(x => x.ChangeAccuracy(executingMove, target, hitIndex, ref modifiedAccuracy)); if (modifiedAccuracy == 255) return 255; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs index a4de9c7..b86ccb0 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Battle/Gravity.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Linq; using PkmnLib.Static; using PkmnLib.Static.Utils; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acrobatics.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acrobatics.cs index 960d218..7099e64 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acrobatics.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acrobatics.cs @@ -1,6 +1,6 @@ using PkmnLib.Static.Utils; -namespace PkmnLib.Plugin.Gen7.Moves; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; /// /// The user nimbly strikes the target. If the user is not holding an item, this attack inflicts massive damage. diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acupressure.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acupressure.cs index 8397202..c8235de 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acupressure.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Acupressure.cs @@ -1,7 +1,7 @@ using System.Linq; using PkmnLib.Static; -namespace PkmnLib.Plugin.Gen7.Moves; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; /// /// The user applies pressure to stress points, sharply boosting one of its or its allies' stats. diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AfterYou.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AfterYou.cs index e1ee181..c712ab8 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AfterYou.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AfterYou.cs @@ -1,4 +1,4 @@ -namespace PkmnLib.Plugin.Gen7.Moves; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; /// /// The user helps the target and makes it use its move right after the user. diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Assist.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Assist.cs index ac4ea6f..13b2bb3 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Assist.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Assist.cs @@ -4,7 +4,7 @@ using PkmnLib.Plugin.Gen7.Scripts.Utils; using PkmnLib.Static.Moves; using PkmnLib.Static.Utils; -namespace PkmnLib.Plugin.Gen7.Moves; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; /// /// The user hurriedly and randomly uses a move among those known by ally Pokémon. diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Attract.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Attract.cs index b7a0cdb..35fa737 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Attract.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Attract.cs @@ -1,7 +1,7 @@ using PkmnLib.Plugin.Gen7.Scripts.Pokemon; using PkmnLib.Static.Species; -namespace PkmnLib.Plugin.Gen7.Moves; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; /// /// If it is the opposite gender of the user, the target becomes infatuated and less likely to attack. diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AuroraVeil.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AuroraVeil.cs index 49e4579..856cc3b 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AuroraVeil.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/AuroraVeil.cs @@ -1,10 +1,9 @@ using System.Collections.Generic; -using PkmnLib.Plugin.Gen7.Scripts; using PkmnLib.Plugin.Gen7.Scripts.Side; using PkmnLib.Plugin.Gen7.Scripts.Weather; using PkmnLib.Static.Utils; -namespace PkmnLib.Plugin.Gen7.Moves; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; /// /// This move reduces damage from physical and special moves for five turns. This can be used only in a hailstorm. @@ -43,7 +42,7 @@ public class AuroraVeil : Script var side = battle.Sides[move.User.BattleData!.SideIndex]; var numberOfTurns = 5; - var dict = new Dictionary() + var dict = new Dictionary { { "duration", numberOfTurns }, }; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Autotomize.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Autotomize.cs index d00bf77..e10965b 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Autotomize.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Autotomize.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using PkmnLib.Static; -namespace PkmnLib.Plugin.Gen7.Moves; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; /// /// The user sheds part of its body to make itself lighter and sharply raise its Speed stat. @@ -27,7 +27,7 @@ public class Autotomize : Script if (user.ChangeStatBoost(Statistic.Speed, 2, true) && user.ChangeWeightInKgBy(-100.0f)) { var battle = user.BattleData?.Battle; - battle?.EventHook.Invoke(new DialogEvent("pokemon_became_nimble", new Dictionary() + battle?.EventHook.Invoke(new DialogEvent("pokemon_became_nimble", new Dictionary { { "pokemon", user }, })); diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Brine.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Brine.cs index 6bad12d..7b152b8 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Brine.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Brine.cs @@ -1,4 +1,3 @@ -using System; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeAllTargetStats.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeAllTargetStats.cs index 63e532b..f69d287 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeAllTargetStats.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeAllTargetStats.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using PkmnLib.Static; using PkmnLib.Static.Utils; -namespace PkmnLib.Dynamic.Events; +namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "change_all_target_stats")] public class ChangeAllTargetStats : Script diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleTargetStatBoosts.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleTargetStatBoosts.cs index 9b34d9e..4d10db4 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleTargetStatBoosts.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleTargetStatBoosts.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; using PkmnLib.Static; using PkmnLib.Static.Utils; @@ -34,7 +33,7 @@ public class ChangeMultipleTargetStatBoosts : Script public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { EventBatchId batchId = new(); - foreach (var stat in _statBoosts!) + foreach (var stat in _statBoosts) { target.ChangeStatBoost(stat.Key, stat.Value, true, batchId); } diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleUserStatBoosts.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleUserStatBoosts.cs index f5dbf87..9baee2d 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleUserStatBoosts.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/ChangeMultipleUserStatBoosts.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; using PkmnLib.Static; using PkmnLib.Static.Utils; @@ -34,7 +33,7 @@ public class ChangeMultipleUserStatBoosts : Script public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { EventBatchId batchId = new(); - foreach (var stat in _statBoosts!) + foreach (var stat in _statBoosts) { move.User.ChangeStatBoost(stat.Key, stat.Value, true, batchId); } diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoomDesire.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoomDesire.cs index 5af8c31..166dcd3 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoomDesire.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoomDesire.cs @@ -1,4 +1,3 @@ -using System.Linq; using PkmnLib.Plugin.Gen7.Scripts.Side; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoublePowerIfTargetDamagedInTurn.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoublePowerIfTargetDamagedInTurn.cs index d8deefa..d4e7d4e 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoublePowerIfTargetDamagedInTurn.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DoublePowerIfTargetDamagedInTurn.cs @@ -30,7 +30,7 @@ public class DoublePowerIfTargetDamagedInTurn : Script var data = side.VolatileScripts.Get(); if (data == null) return; - if (data._hitPokemon.Contains(target)) + if (data.HitPokemon.Contains(target)) basePower *= 2; } } \ No newline at end of file diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Drain.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Drain.cs index 87b4f7b..680a5df 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Drain.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Drain.cs @@ -25,6 +25,6 @@ public class Drain : Script var healed = (uint)(damage * DrainModifier); if (move.User.HasHeldItem("big_root")) healed = (uint)(healed * 1.3f); - user.Heal(healed, false); + user.Heal(healed); } } \ No newline at end of file diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DreamEater.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DreamEater.cs index 6fc79ae..12f0982 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DreamEater.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/DreamEater.cs @@ -18,6 +18,6 @@ public class DreamEater : Script var healed = (uint)(damage * 0.5f); if (move.User.HasHeldItem("big_root")) healed = (uint)(healed * 1.3f); - user.Heal(healed, false); + user.Heal(healed); } } \ No newline at end of file diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlameBurst.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlameBurst.cs index 542c4aa..f6de6f4 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlameBurst.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlameBurst.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Linq; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlareBlitz.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlareBlitz.cs index 348fb41..ed9ccf0 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlareBlitz.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FlareBlitz.cs @@ -16,7 +16,7 @@ public class FlareBlitz : Script } var hitData = move.GetHitData(target, hit); - var recoilDamage = (uint)(hitData.Damage * (1 / 3)); + var recoilDamage = hitData.Damage * (1 / 3); move.User.Damage(recoilDamage, DamageSource.Misc); } } \ No newline at end of file diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FloralHealing.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FloralHealing.cs index 3f83fc1..5c10601 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FloralHealing.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FloralHealing.cs @@ -1,5 +1,3 @@ -using PkmnLib.Plugin.Gen7.Scripts.Terrain; - namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "floral_healing")] diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FutureSight.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FutureSight.cs index 232ad8a..76cbbe9 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FutureSight.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FutureSight.cs @@ -1,7 +1,4 @@ -using System; using PkmnLib.Plugin.Gen7.Scripts.Battle; -using PkmnLib.Plugin.Gen7.Scripts.Pokemon; -using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GenesisSupernova.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GenesisSupernova.cs index 1a2c93c..23792ca 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GenesisSupernova.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GenesisSupernova.cs @@ -1,5 +1,3 @@ -using PkmnLib.Plugin.Gen7.Scripts.Terrain; - namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "genesis_supernova")] diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GrassTerrain.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GrassTerrain.cs index 64ca658..a53bef2 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GrassTerrain.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/GrassTerrain.cs @@ -1,5 +1,3 @@ -using PkmnLib.Plugin.Gen7.Scripts.Terrain; - namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "grassy_terrain")] diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/HealEachEndOfTurn.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/HealEachEndOfTurn.cs index 7a1d974..7154686 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/HealEachEndOfTurn.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/HealEachEndOfTurn.cs @@ -20,7 +20,7 @@ public class HealEachEndOfTurn : Script } else { - _healPercentage = healPercentage!; + _healPercentage = healPercentage; } } diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/IceBurn.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/IceBurn.cs index d0f8dbe..5696833 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/IceBurn.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/IceBurn.cs @@ -1,4 +1,3 @@ -using System; using PkmnLib.Plugin.Gen7.Scripts.Pokemon; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Mimic.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Mimic.cs index 9c0ccb0..761caf9 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Mimic.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Mimic.cs @@ -1,5 +1,3 @@ -using PkmnLib.Static.Utils; - namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "mimic")] diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Payback.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Payback.cs index c2ce94b..ba587f4 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Payback.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Payback.cs @@ -1,4 +1,3 @@ -using PkmnLib.Static; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PerishSong.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PerishSong.cs index 963dbf0..18ca54c 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PerishSong.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PerishSong.cs @@ -1,5 +1,4 @@ using System.Linq; -using PkmnLib.Static; using PkmnLib.Plugin.Gen7.Scripts.Pokemon; using PkmnLib.Static.Utils; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PoisonTail.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PoisonTail.cs index 6dd0666..f06ee7e 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PoisonTail.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PoisonTail.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using PkmnLib.Plugin.Gen7.Scripts.Status; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PowerTrip.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PowerTrip.cs index e1d23fe..740fa00 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PowerTrip.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/PowerTrip.cs @@ -1,5 +1,4 @@ using System; -using System.Linq; using PkmnLib.Static; using PkmnLib.Static.Utils; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Recoil.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Recoil.cs index 456f1a1..aebb7c0 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Recoil.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Recoil.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using PkmnLib.Dynamic.Models.BattleFlow; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Rest.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Rest.cs index 95ce5bb..6151576 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Rest.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Rest.cs @@ -13,7 +13,7 @@ public class Rest : Script move.GetHitData(target, hit).Fail(); return; } - if (!move.User.Heal(move.User.MaxHealth, false, forceHeal: false)) + if (!move.User.Heal(move.User.MaxHealth)) { move.GetHitData(target, hit).Fail(); return; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Retaliate.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Retaliate.cs index 85d558a..0359410 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Retaliate.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/Retaliate.cs @@ -1,4 +1,3 @@ -using System.Linq; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/RevelationDance.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/RevelationDance.cs index 59c2198..b805a3c 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/RevelationDance.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/RevelationDance.cs @@ -1,5 +1,3 @@ -using System.Collections.Generic; -using System.Linq; using PkmnLib.Static; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/SetWeather.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/SetWeather.cs index d42332c..6acc2c7 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/SetWeather.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/SetWeather.cs @@ -17,7 +17,7 @@ public class SetWeather : Script { throw new Exception("Weather not provided."); } - _weather = weather!.ToString(); + _weather = weather.ToString(); if (parameters.TryGetValue("turns", out var turns) && turns is int turn) { _defaultTurns = turn; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BideEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BideEffect.cs index 422a85f..72eb6d1 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BideEffect.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/BideEffect.cs @@ -1,6 +1,4 @@ -using System; using System.Collections.Generic; -using System.Linq; using PkmnLib.Plugin.Gen7.Scripts.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon; @@ -52,6 +50,6 @@ public class BideEffect : Script return; } var opposingSideIndex = (byte)(_owner.BattleData?.SideIndex == 0 ? 1 : 0); - choice = TurnChoiceHelper.CreateMoveChoice(_owner, "bide", opposingSideIndex, position); + choice = _choice = TurnChoiceHelper.CreateMoveChoice(_owner, "bide", opposingSideIndex, position); } } \ No newline at end of file diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ForesightEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ForesightEffect.cs index 23493db..e1570cb 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ForesightEffect.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/ForesightEffect.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Linq; using PkmnLib.Static; using PkmnLib.Static.Libraries; using PkmnLib.Static.Utils; @@ -9,14 +8,12 @@ namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon; [Script(ScriptCategory.Pokemon, "foresight")] public class ForesightEffect : Script { - private readonly IReadOnlyTypeLibrary _typeLibrary; private readonly TypeIdentifier _normalType; private readonly TypeIdentifier _fightingType; private readonly TypeIdentifier _ghostType; public ForesightEffect(IReadOnlyTypeLibrary typeLibrary) { - _typeLibrary = typeLibrary; typeLibrary.TryGetTypeIdentifier("normal", out _normalType); typeLibrary.TryGetTypeIdentifier("fighting", out _fightingType); typeLibrary.TryGetTypeIdentifier("ghost", out _ghostType); diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/Infatuated.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/Infatuated.cs index 48edfb0..edc6bcb 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/Infatuated.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/Infatuated.cs @@ -15,7 +15,7 @@ public class Infatuated : Script /// public override void PreventMove(IExecutingMove move, ref bool prevent) { - if (move.User.BattleData?.Battle?.Random.GetBool() == true) + if (move.User.BattleData?.Battle.Random.GetBool() == true) prevent = true; } } \ No newline at end of file diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs index 4d0ed96..848b73a 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/IngrainEffect.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Linq; using PkmnLib.Static; using PkmnLib.Static.Utils; diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/OutrageLikeEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/OutrageLikeEffect.cs index 409253e..33b9199 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/OutrageLikeEffect.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/OutrageLikeEffect.cs @@ -23,7 +23,7 @@ public abstract class OutrageLikeEffect : Script /// public override void ForceTurnSelection(byte sideIndex, byte position, ref ITurnChoice? choice) { - choice = TurnChoiceHelper.CreateMoveChoice(_owner, "_move", _targetSide, _targetPosition); + choice = TurnChoiceHelper.CreateMoveChoice(_owner, _move, _targetSide, _targetPosition); } /// diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs index 7dc1766..ddfb7b4 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Pokemon/PerishSongEffect.cs @@ -1,5 +1,3 @@ -using PkmnLib.Static; - namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon; [Script(ScriptCategory.Pokemon, "perish_song")] diff --git a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs index 77c7cb9..ade1e44 100644 --- a/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs +++ b/Plugins/PkmnLib.Plugin.Gen7/Scripts/Side/DoublePowerIfTargetDamagedInTurnData.cs @@ -5,7 +5,7 @@ namespace PkmnLib.Plugin.Gen7.Scripts.Side; [Script(ScriptCategory.Side, "double_power_if_target_damaged_in_turn_data")] public class DoublePowerIfTargetDamagedInTurnData : Script { - public HashSet _hitPokemon = new(); + public readonly HashSet HitPokemon = []; /// /// @@ -17,6 +17,6 @@ public class DoublePowerIfTargetDamagedInTurnData : Script /// public override void OnDamage(IPokemon pokemon, DamageSource source, uint oldHealth, uint newHealth) { - _hitPokemon.Add(pokemon); + HitPokemon.Add(pokemon); } } \ No newline at end of file