Move all battle state from IPokemon to an ephemeral IBattlePokemon wrapper
This commit is contained in:
@@ -46,17 +46,14 @@ public class AuroraVeilEffect : Script, IScriptChangeIncomingMoveDamage, IScript
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void ChangeIncomingMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage)
|
||||
public void ChangeIncomingMoveDamage(IExecutingMove move, IBattlePokemon target, byte hit, ref uint damage)
|
||||
{
|
||||
var hitData = move.GetHitData(target, hit);
|
||||
if (hitData.IsCritical)
|
||||
return;
|
||||
if (move.User.BattleData?.SideIndex == target.BattleData?.SideIndex)
|
||||
if (move.User.SideIndex == target.SideIndex)
|
||||
return;
|
||||
var targetSide = target.BattleData?.SideIndex;
|
||||
if (targetSide == null)
|
||||
return;
|
||||
var side = move.User.BattleData!.Battle.Sides[targetSide.Value];
|
||||
var side = move.User.Battle.Sides[target.SideIndex];
|
||||
switch (move.UseMove.Category)
|
||||
{
|
||||
case MoveCategory.Physical when side.VolatileScripts.Contains(ScriptUtils.ResolveName<ReflectEffect>()):
|
||||
@@ -65,7 +62,7 @@ public class AuroraVeilEffect : Script, IScriptChangeIncomingMoveDamage, IScript
|
||||
}
|
||||
|
||||
var modifier = 0.5f;
|
||||
if (target.BattleData!.Battle.PositionsPerSide > 1)
|
||||
if (target.Battle.PositionsPerSide > 1)
|
||||
modifier = 2732f / 4096f;
|
||||
damage = (uint)(damage * modifier);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user