Move all battle state from IPokemon to an ephemeral IBattlePokemon wrapper
This commit is contained in:
@@ -7,30 +7,26 @@ public class PollenPuff : Script, IScriptOnSecondaryEffect, IScriptChangeCategor
|
||||
{
|
||||
/// <inheritdoc />
|
||||
/// <inheritdoc />
|
||||
public void ChangeCategory(IExecutingMove move, IPokemon target, byte hitIndex, ref MoveCategory category)
|
||||
public void ChangeCategory(IExecutingMove move, IBattlePokemon target, byte hitIndex, ref MoveCategory category)
|
||||
{
|
||||
var battleData = move.User.BattleData;
|
||||
var targetBattleData = target.BattleData;
|
||||
var battleData = move.User;
|
||||
|
||||
if (battleData == null || targetBattleData == null)
|
||||
return;
|
||||
return;
|
||||
|
||||
if (battleData.SideIndex == targetBattleData.SideIndex)
|
||||
if (battleData.SideIndex == target.SideIndex)
|
||||
{
|
||||
category = MoveCategory.Status;
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
|
||||
public void OnSecondaryEffect(IExecutingMove move, IBattlePokemon target, byte hit)
|
||||
{
|
||||
var battleData = move.User.BattleData;
|
||||
var targetBattleData = target.BattleData;
|
||||
var battleData = move.User;
|
||||
|
||||
if (battleData == null || targetBattleData == null)
|
||||
return;
|
||||
return;
|
||||
|
||||
if (battleData.SideIndex == targetBattleData.SideIndex)
|
||||
if (battleData.SideIndex == target.SideIndex)
|
||||
{
|
||||
var maxHealth = target.MaxHealth;
|
||||
target.Heal(maxHealth / 2);
|
||||
|
||||
Reference in New Issue
Block a user