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
All checks were successful
Build / Build (push) Successful in 2m21s
This commit is contained in:
@@ -28,25 +28,31 @@ public class Rain : Script, ILimitedTurnsScript, IScriptChangeBasePower, IScript
|
||||
public void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower)
|
||||
{
|
||||
var hitType = move.GetHitData(target, hit).Type;
|
||||
if (hitType?.Name == "water")
|
||||
if (hitType?.Name == TypeNames.Water)
|
||||
{
|
||||
// Increase Water-type move power by 50% in rain
|
||||
basePower = (ushort)(basePower * 1.5);
|
||||
}
|
||||
else if (hitType?.Name == "fire")
|
||||
else if (hitType?.Name == TypeNames.Fire)
|
||||
{
|
||||
// Decrease Fire-type move power by 50% in rain
|
||||
basePower = (ushort)(basePower * 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
// These moves are not part of the gen 7 data files, so no generated constants exist for them.
|
||||
private static readonly StringKey BleakwindStormName = "bleakwind_storm";
|
||||
private static readonly StringKey WindboltStormName = "windbolt_storm";
|
||||
private static readonly StringKey SandsearStormName = "sandsear_storm";
|
||||
|
||||
/// <inheritdoc />
|
||||
public void ChangeAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref int modifiedAccuracy)
|
||||
{
|
||||
modifiedAccuracy = executingMove.UseMove.Name.ToString() switch
|
||||
var moveName = executingMove.UseMove.Name;
|
||||
if (moveName == MoveNames.Thunder || moveName == MoveNames.Hurricane || moveName == BleakwindStormName ||
|
||||
moveName == WindboltStormName || moveName == SandsearStormName)
|
||||
{
|
||||
"thunder" or "hurricane" or "bleakwind_storm" or "windbolt_storm" or "sandsear_storm" => 1000,
|
||||
_ => modifiedAccuracy,
|
||||
};
|
||||
modifiedAccuracy = 1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user