Replace all raw string comparisons with StringKey, source generator that creates cache keys for all names for Gen7 plugin
All checks were successful
Build / Build (push) Successful in 2m21s

This commit is contained in:
2026-08-27 18:30:57 +02:00
parent 3a58f55bbf
commit 942be8eaeb
160 changed files with 1035 additions and 491 deletions

View File

@@ -30,16 +30,19 @@ public class HarshSunlight : Script, ILimitedTurnsScript, IScriptChangeBasePower
}
}
// Hydro Steam is not part of the gen 7 data files, so no generated constant exists for it.
private static readonly StringKey HydroSteamName = "hydro_steam";
/// <inheritdoc />
public void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower)
{
var hitType = move.GetHitData(target, hit).Type;
if (hitType?.Name == "fire" || move.UseMove.Name == "hydro_steam")
if (hitType?.Name == TypeNames.Fire || move.UseMove.Name == HydroSteamName)
{
// Increase Fire-type move power by 50% in harsh sunlight
basePower = (ushort)(basePower * 1.5);
}
else if (hitType?.Name == "water")
else if (hitType?.Name == TypeNames.Water)
{
basePower = (ushort)(basePower * 0.5);
}
@@ -52,7 +55,7 @@ public class HarshSunlight : Script, ILimitedTurnsScript, IScriptChangeBasePower
return;
if (args is not CustomTriggers.BypassChargeMoveArgs bypassArgs)
return;
if (bypassArgs.Move.UseMove.Name == "solar_beam" || bypassArgs.Move.UseMove.Name == "solar_blade")
if (bypassArgs.Move.UseMove.Name == MoveNames.SolarBeam || bypassArgs.Move.UseMove.Name == MoveNames.SolarBlade)
{
bypassArgs.Bypass = true;
}
@@ -70,7 +73,7 @@ public class HarshSunlight : Script, ILimitedTurnsScript, IScriptChangeBasePower
/// <inheritdoc />
public void ChangeAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref int modifiedAccuracy)
{
if (executingMove.UseMove.Name == "thunder" || executingMove.UseMove.Name == "hurricane")
if (executingMove.UseMove.Name == MoveNames.Thunder || executingMove.UseMove.Name == MoveNames.Hurricane)
{
modifiedAccuracy = (int)(modifiedAccuracy * 0.5);
}