Move all battle state from IPokemon to an ephemeral IBattlePokemon wrapper
This commit is contained in:
@@ -125,7 +125,7 @@ public interface IScriptChangeTargets
|
||||
/// <summary>
|
||||
/// Changes the targets of a move choice. This allows for changing the targets of a move before the move starts.
|
||||
/// </summary>
|
||||
void ChangeTargets(IMoveChoice moveChoice, ref IReadOnlyList<IPokemon?> targets);
|
||||
void ChangeTargets(IMoveChoice moveChoice, ref IReadOnlyList<IBattlePokemon?> targets);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -136,7 +136,7 @@ public interface IScriptChangeIncomingTargets
|
||||
/// <summary>
|
||||
/// This function allows you to change the targets of a move choice before the move starts.
|
||||
/// </summary>
|
||||
void ChangeIncomingTargets(IMoveChoice moveChoice, ref IReadOnlyList<IPokemon?> targets);
|
||||
void ChangeIncomingTargets(IMoveChoice moveChoice, ref IReadOnlyList<IBattlePokemon?> targets);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -219,7 +219,7 @@ public interface IScriptChangeMoveType
|
||||
/// This function allows the script to change the actual type that is used for the move on a target.
|
||||
/// If this is set to null, the move will be treated as a typeless move.
|
||||
/// </summary>
|
||||
void ChangeMoveType(IExecutingMove move, IPokemon target, byte hit, ref TypeIdentifier? typeIdentifier);
|
||||
void ChangeMoveType(IExecutingMove move, IBattlePokemon target, byte hit, ref TypeIdentifier? typeIdentifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -230,7 +230,7 @@ public interface IScriptChangeEffectiveness
|
||||
/// <summary>
|
||||
/// This function allows the script to change how effective a move is on a target.
|
||||
/// </summary>
|
||||
void ChangeEffectiveness(IExecutingMove move, IPokemon target, byte hit, ref float effectiveness);
|
||||
void ChangeEffectiveness(IExecutingMove move, IBattlePokemon target, byte hit, ref float effectiveness);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -241,7 +241,7 @@ public interface IScriptChangeIncomingEffectiveness
|
||||
/// <summary>
|
||||
/// This function allows the script to override how effective a move is on a target.
|
||||
/// </summary>
|
||||
void ChangeIncomingEffectiveness(IExecutingMove executingMove, IPokemon target, byte hitIndex,
|
||||
void ChangeIncomingEffectiveness(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex,
|
||||
ref float effectiveness);
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ public interface IScriptBlockCriticalHit
|
||||
/// <summary>
|
||||
/// This function allows a script to block an outgoing move from being critical.
|
||||
/// </summary>
|
||||
void BlockCriticalHit(IExecutingMove move, IPokemon target, byte hit, ref bool block);
|
||||
void BlockCriticalHit(IExecutingMove move, IBattlePokemon target, byte hit, ref bool block);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -264,7 +264,7 @@ public interface IScriptBlockIncomingCriticalHit
|
||||
/// <summary>
|
||||
/// This function allows a script to block an incoming move from being critical.
|
||||
/// </summary>
|
||||
void BlockIncomingCriticalHit(IExecutingMove move, IPokemon target, byte hit, ref bool block);
|
||||
void BlockIncomingCriticalHit(IExecutingMove move, IBattlePokemon target, byte hit, ref bool block);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -276,7 +276,7 @@ public interface IScriptOnIncomingHit
|
||||
/// This function triggers when an incoming hit happens. This triggers after the damage is done,
|
||||
/// but before the secondary effect of the move happens.
|
||||
/// </summary>
|
||||
void OnIncomingHit(IExecutingMove move, IPokemon target, byte hit);
|
||||
void OnIncomingHit(IExecutingMove move, IBattlePokemon target, byte hit);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -287,7 +287,7 @@ public interface IScriptOnOpponentFaints
|
||||
/// <summary>
|
||||
/// This function triggers when an opponent on the f ield faints due to the move that is being executed.
|
||||
/// </summary>
|
||||
void OnOpponentFaints(IExecutingMove move, IPokemon target, byte hit);
|
||||
void OnOpponentFaints(IExecutingMove move, IBattlePokemon target, byte hit);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -300,7 +300,7 @@ public interface IScriptOnSecondaryEffect
|
||||
/// secondary effects here. Status moves should implement their actual functionality in this
|
||||
/// function as well, as status moves effects are defined as secondary effects for simplicity.
|
||||
/// </summary>
|
||||
void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit);
|
||||
void OnSecondaryEffect(IExecutingMove move, IBattlePokemon target, byte hit);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -312,7 +312,7 @@ public interface IScriptFailIncomingMove
|
||||
/// This function allows a script to prevent a move that is targeted at its owner. If set to true
|
||||
/// the move fails, and fail events get triggered.
|
||||
/// </summary>
|
||||
void FailIncomingMove(IExecutingMove move, IPokemon target, ref bool fail);
|
||||
void FailIncomingMove(IExecutingMove move, IBattlePokemon target, ref bool fail);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -323,7 +323,7 @@ public interface IScriptIsInvulnerableToMove
|
||||
/// <summary>
|
||||
/// This function allows a script to make its owner invulnerable to an incoming move.
|
||||
/// </summary>
|
||||
void IsInvulnerableToMove(IExecutingMove move, IPokemon target, ref bool invulnerable);
|
||||
void IsInvulnerableToMove(IExecutingMove move, IBattlePokemon target, ref bool invulnerable);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -335,7 +335,7 @@ public interface IScriptOnMoveMiss
|
||||
/// This function allows a script to run when a move misses its target. This is used for moves
|
||||
/// that have a secondary effect that should run even if the move misses, such as Spore.
|
||||
/// </summary>
|
||||
void OnMoveMiss(IExecutingMove move, IPokemon target);
|
||||
void OnMoveMiss(IExecutingMove move, IBattlePokemon target);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -347,7 +347,7 @@ public interface IScriptChangeAccuracyModifier
|
||||
/// This function allows a script to modify the accuracy of a move used. This value represents
|
||||
/// the percentage accuracy, so anything above 100% will make it always hit.
|
||||
/// </summary>
|
||||
void ChangeAccuracyModifier(IExecutingMove move, IPokemon target, byte hit, ref float modifier);
|
||||
void ChangeAccuracyModifier(IExecutingMove move, IBattlePokemon target, byte hit, ref float modifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -358,7 +358,7 @@ public interface IScriptChangeCriticalStage
|
||||
/// <summary>
|
||||
/// This function allows a script to change the critical stage of the move used.
|
||||
/// </summary>
|
||||
void ChangeCriticalStage(IExecutingMove move, IPokemon target, byte hit, ref byte stage);
|
||||
void ChangeCriticalStage(IExecutingMove move, IBattlePokemon target, byte hit, ref byte stage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -370,7 +370,7 @@ public interface IScriptChangeCriticalModifier
|
||||
/// This function allows a script to change the damage modifier of a critical hit. This will only
|
||||
/// run when a hit is critical.
|
||||
/// </summary>
|
||||
void ChangeCriticalModifier(IExecutingMove move, IPokemon target, byte hit, ref float modifier);
|
||||
void ChangeCriticalModifier(IExecutingMove move, IBattlePokemon target, byte hit, ref float modifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -382,7 +382,7 @@ public interface IScriptChangeStabModifier
|
||||
/// This function allows a script to change the damage modifier of a Same Type Attack Bonus, which
|
||||
/// occurs when the user has the move type as one of its own types.
|
||||
/// </summary>
|
||||
void ChangeStabModifier(IExecutingMove executingMove, IPokemon target, byte hitNumber, bool isStab,
|
||||
void ChangeStabModifier(IExecutingMove executingMove, IBattlePokemon target, byte hitNumber, bool isStab,
|
||||
ref float modifier);
|
||||
}
|
||||
|
||||
@@ -394,7 +394,7 @@ public interface IScriptChangeBasePower
|
||||
/// <summary>
|
||||
/// This function allows a script to change the effective base power of a move hit.
|
||||
/// </summary>
|
||||
void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower);
|
||||
void ChangeBasePower(IExecutingMove move, IBattlePokemon target, byte hit, ref ushort basePower);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -407,7 +407,7 @@ public interface IScriptBypassDefensiveStatBoosts
|
||||
/// If this is true, the damage will be calculated as if the target has no positive stat boosts. Negative
|
||||
/// stat boosts will still be applied.
|
||||
/// </summary>
|
||||
void BypassDefensiveStatBoosts(IExecutingMove move, IPokemon target, byte hit, ref bool bypass);
|
||||
void BypassDefensiveStatBoosts(IExecutingMove move, IBattlePokemon target, byte hit, ref bool bypass);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -419,7 +419,7 @@ public interface IScriptBypassEvasionStatBoosts
|
||||
/// This function allows a script to bypass evasion stat boosts for a move hit.
|
||||
/// If this is true, the move will handle the evasion stat boosts as if the target has no positive stat boosts.
|
||||
/// </summary>
|
||||
void BypassEvasionStatBoosts(IExecutingMove move, IPokemon target, byte hitIndex, ref bool bypass);
|
||||
void BypassEvasionStatBoosts(IExecutingMove move, IBattlePokemon target, byte hitIndex, ref bool bypass);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -432,7 +432,7 @@ public interface IScriptBypassOffensiveStatBoosts
|
||||
/// If this is true, the damage will be calculated as if the user has no negative offensive stat boosts. Positive
|
||||
/// stat boosts will still be applied.
|
||||
/// </summary>
|
||||
void BypassOffensiveStatBoosts(IExecutingMove move, IPokemon target, byte hit, ref bool bypass);
|
||||
void BypassOffensiveStatBoosts(IExecutingMove move, IBattlePokemon target, byte hit, ref bool bypass);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -443,7 +443,7 @@ public interface IScriptChangeOffensiveStatValue
|
||||
/// <summary>
|
||||
/// This function allows a script to change the actual offensive stat values used when calculating damage
|
||||
/// </summary>
|
||||
void ChangeOffensiveStatValue(IExecutingMove move, IPokemon target, byte hit, uint defensiveStat,
|
||||
void ChangeOffensiveStatValue(IExecutingMove move, IBattlePokemon target, byte hit, uint defensiveStat,
|
||||
ImmutableStatisticSet<uint> targetStats, Statistic stat, ref uint value);
|
||||
}
|
||||
|
||||
@@ -455,7 +455,7 @@ public interface IScriptChangeDefensiveStatValue
|
||||
/// <summary>
|
||||
/// This function allows a script to change the actual defensive stat values used when calculating damage.
|
||||
/// </summary>
|
||||
void ChangeDefensiveStatValue(IExecutingMove move, IPokemon target, byte hit, uint offensiveStat,
|
||||
void ChangeDefensiveStatValue(IExecutingMove move, IBattlePokemon target, byte hit, uint offensiveStat,
|
||||
ImmutableStatisticSet<uint> targetStats, Statistic stat, ref uint value);
|
||||
}
|
||||
|
||||
@@ -467,7 +467,7 @@ public interface IScriptChangeIncomingMoveOffensiveStatValue
|
||||
/// <summary>
|
||||
/// This function allows a script to change the offensive stat value of an incoming move.
|
||||
/// </summary>
|
||||
void ChangeIncomingMoveOffensiveStatValue(IExecutingMove executingMove, IPokemon target, byte hitNumber,
|
||||
void ChangeIncomingMoveOffensiveStatValue(IExecutingMove executingMove, IBattlePokemon target, byte hitNumber,
|
||||
uint defensiveStat, StatisticSet<uint> targetStats, Statistic offensive, ref uint offensiveStat);
|
||||
}
|
||||
|
||||
@@ -479,7 +479,7 @@ public interface IScriptChangeIncomingMoveDefensiveStatValue
|
||||
/// <summary>
|
||||
/// This function allows a script to change the defensive stat value of an incoming move.
|
||||
/// </summary>
|
||||
void ChangeIncomingMoveDefensiveStatValue(IExecutingMove executingMove, IPokemon target, byte hitNumber,
|
||||
void ChangeIncomingMoveDefensiveStatValue(IExecutingMove executingMove, IBattlePokemon target, byte hitNumber,
|
||||
uint origOffensiveStat, StatisticSet<uint> targetStats, Statistic defensive, ref uint defensiveStat);
|
||||
}
|
||||
|
||||
@@ -492,7 +492,7 @@ public interface IScriptChangeDamageStatModifier
|
||||
/// This function allows a script to change the raw modifier we retrieved from the stats of the
|
||||
/// defender and attacker. The default value is the offensive stat divided by the defensive stat.
|
||||
/// </summary>
|
||||
void ChangeDamageStatModifier(IExecutingMove move, IPokemon target, byte hit, ref float modifier);
|
||||
void ChangeDamageStatModifier(IExecutingMove move, IBattlePokemon target, byte hit, ref float modifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -503,7 +503,7 @@ public interface IScriptChangeDamageModifier
|
||||
/// <summary>
|
||||
/// This function allows a script to apply a raw multiplier to the damage done by a move.
|
||||
/// </summary>
|
||||
void ChangeDamageModifier(IExecutingMove move, IPokemon target, byte hit, ref float modifier);
|
||||
void ChangeDamageModifier(IExecutingMove move, IBattlePokemon target, byte hit, ref float modifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -514,7 +514,7 @@ public interface IScriptChangeIncomingMoveDamageModifier
|
||||
/// <summary>
|
||||
/// This function allows a script to change the damage modifier of an incoming move.
|
||||
/// </summary>
|
||||
void ChangeIncomingMoveDamageModifier(IExecutingMove executingMove, IPokemon target, byte hitNumber,
|
||||
void ChangeIncomingMoveDamageModifier(IExecutingMove executingMove, IBattlePokemon target, byte hitNumber,
|
||||
ref float modifier);
|
||||
}
|
||||
|
||||
@@ -526,7 +526,7 @@ public interface IScriptChangeMoveDamage
|
||||
/// <summary>
|
||||
/// This function allows a script to modify the outgoing damage done by a move.
|
||||
/// </summary>
|
||||
void ChangeMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage);
|
||||
void ChangeMoveDamage(IExecutingMove move, IBattlePokemon target, byte hit, ref uint damage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -537,7 +537,7 @@ public interface IScriptChangeIncomingMoveDamage
|
||||
/// <summary>
|
||||
/// This function allows a script to modify the incoming damage done by a move.
|
||||
/// </summary>
|
||||
void ChangeIncomingMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage);
|
||||
void ChangeIncomingMoveDamage(IExecutingMove move, IBattlePokemon target, byte hit, ref uint damage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -549,7 +549,8 @@ public interface IScriptPreventStatBoostChange
|
||||
/// This function allows a script attached to a Pokemon or its parents to prevent stat boost
|
||||
/// changes on that Pokemon.
|
||||
/// </summary>
|
||||
void PreventStatBoostChange(IPokemon target, Statistic stat, sbyte amount, bool selfInflicted, ref bool prevent);
|
||||
void PreventStatBoostChange(IBattlePokemon target, Statistic stat, sbyte amount, bool selfInflicted,
|
||||
ref bool prevent);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -562,7 +563,7 @@ public interface IScriptChangeStatBoostChange
|
||||
/// which the stat boost will change. If the stat boost is done by the user itself, self
|
||||
/// inflicted will be true, otherwise it will be false.
|
||||
/// </summary>
|
||||
void ChangeStatBoostChange(IPokemon target, Statistic stat, bool selfInflicted, ref sbyte amount);
|
||||
void ChangeStatBoostChange(IBattlePokemon target, Statistic stat, bool selfInflicted, ref sbyte amount);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -573,7 +574,7 @@ public interface IScriptOnAfterStatBoostChange
|
||||
/// <summary>
|
||||
/// This function allows a script to run after a stat boost change has been applied.
|
||||
/// </summary>
|
||||
void OnAfterStatBoostChange(IPokemon pokemon, Statistic stat, bool selfInflicted, sbyte change);
|
||||
void OnAfterStatBoostChange(IBattlePokemon pokemon, Statistic stat, bool selfInflicted, sbyte change);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -586,7 +587,7 @@ public interface IScriptPreventSecondaryEffect
|
||||
/// This means the move will still hit and do damage, but not trigger its secondary effect. Note that this
|
||||
/// function is not called for status moves.
|
||||
/// </summary>
|
||||
void PreventSecondaryEffect(IExecutingMove move, IPokemon target, byte hit, ref bool prevent);
|
||||
void PreventSecondaryEffect(IExecutingMove move, IBattlePokemon target, byte hit, ref bool prevent);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -599,7 +600,7 @@ public interface IScriptPreventIncomingSecondaryEffect
|
||||
/// secondary effect. This means the move will still hit and do damage, but not trigger its
|
||||
/// secondary effect. Note that this function is not called for status moves.
|
||||
/// </summary>
|
||||
void PreventIncomingSecondaryEffect(IExecutingMove move, IPokemon target, byte hit, ref bool prevent);
|
||||
void PreventIncomingSecondaryEffect(IExecutingMove move, IBattlePokemon target, byte hit, ref bool prevent);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -613,7 +614,7 @@ public interface IScriptChangeEffectChance
|
||||
/// changing this to above or equal to 100 will make it always hit, while setting it to equal or
|
||||
/// below 0 will make it never hit.
|
||||
/// </summary>
|
||||
void ChangeEffectChance(IExecutingMove move, IPokemon target, byte hit, ref float chance);
|
||||
void ChangeEffectChance(IExecutingMove move, IBattlePokemon target, byte hit, ref float chance);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -627,7 +628,7 @@ public interface IScriptChangeIncomingEffectChance
|
||||
/// so changing this to above or equal to 100 will make it always hit, while setting it to equal
|
||||
/// or below 0 will make it never hit.
|
||||
/// </summary>
|
||||
void ChangeIncomingEffectChance(IExecutingMove move, IPokemon target, byte hit, ref float chance);
|
||||
void ChangeIncomingEffectChance(IExecutingMove move, IBattlePokemon target, byte hit, ref float chance);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -638,7 +639,7 @@ public interface IScriptOnAfterHits
|
||||
/// <summary>
|
||||
/// This function triggers on a move or its parents when all hits on a target are finished.
|
||||
/// </summary>
|
||||
void OnAfterHits(IExecutingMove move, IPokemon target);
|
||||
void OnAfterHits(IExecutingMove move, IBattlePokemon target);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -706,7 +707,7 @@ public interface IScriptOnDamage
|
||||
/// <summary>
|
||||
/// This function is triggered on a Pokemon and its parents when the given Pokemon takes damage.
|
||||
/// </summary>
|
||||
void OnDamage(IPokemon pokemon, DamageSource source, uint oldHealth, uint newHealth);
|
||||
void OnDamage(IBattlePokemon pokemon, DamageSource source, uint oldHealth, uint newHealth);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -717,7 +718,7 @@ public interface IScriptOnFaint
|
||||
/// <summary>
|
||||
/// This function is triggered on a Pokemon and its parents when the given Pokemon faints.
|
||||
/// </summary>
|
||||
void OnFaint(IPokemon pokemon, DamageSource source);
|
||||
void OnFaint(IBattlePokemon pokemon, DamageSource source);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -728,7 +729,7 @@ public interface IScriptOnAllyFaint
|
||||
/// <summary>
|
||||
/// This function is triggered on a Pokemon when an ally Pokemon faints.
|
||||
/// </summary>
|
||||
void OnAllyFaint(IPokemon ally, IPokemon faintedPokemon);
|
||||
void OnAllyFaint(IBattlePokemon ally, IBattlePokemon faintedPokemon);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -740,7 +741,7 @@ public interface IScriptOnSwitchOut
|
||||
/// This function is triggered on a Pokemon and its parents when the given Pokemon switches out
|
||||
/// of the battlefield.
|
||||
/// </summary>
|
||||
void OnSwitchOut(IPokemon oldPokemon, byte position);
|
||||
void OnSwitchOut(IBattlePokemon oldPokemon, byte position);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -752,7 +753,7 @@ public interface IScriptOnSwitchIn
|
||||
/// This function is triggered on a Pokemon and its parents when the given Pokemon is switched into
|
||||
/// the battlefield.
|
||||
/// </summary>
|
||||
void OnSwitchIn(IPokemon pokemon, byte position);
|
||||
void OnSwitchIn(IBattlePokemon pokemon, byte position);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -763,7 +764,7 @@ public interface IScriptOnOpponentSwitchIn
|
||||
/// <summary>
|
||||
/// This function is triggered on a Pokemon and its parents when an opponent switches in.
|
||||
/// </summary>
|
||||
void OnOpponentSwitchIn(IPokemon pokemon, byte position);
|
||||
void OnOpponentSwitchIn(IBattlePokemon pokemon, byte position);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -787,7 +788,7 @@ public interface IScriptOnAfterItemConsume
|
||||
/// This function is triggered on a Pokemon and its parents when the given Pokemon consumes the
|
||||
/// held item it had.
|
||||
/// </summary>
|
||||
void OnAfterItemConsume(IPokemon pokemon, IItem item);
|
||||
void OnAfterItemConsume(IBattlePokemon pokemon, IItem item);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -798,7 +799,7 @@ public interface IScriptBlockIncomingHit
|
||||
/// <summary>
|
||||
/// This function allows a script to block an incoming hit.
|
||||
/// </summary>
|
||||
void BlockIncomingHit(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref bool block);
|
||||
void BlockIncomingHit(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex, ref bool block);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -809,7 +810,7 @@ public interface IScriptBlockOutgoingHit
|
||||
/// <summary>
|
||||
/// This function allows a script to block an outgoing hit.
|
||||
/// </summary>
|
||||
void BlockOutgoingHit(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref bool block);
|
||||
void BlockOutgoingHit(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex, ref bool block);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -820,7 +821,7 @@ public interface IScriptPreventHeldItemConsume
|
||||
/// <summary>
|
||||
/// This function allows a script to prevent a held item from being consumed.
|
||||
/// </summary>
|
||||
void PreventHeldItemConsume(IPokemon pokemon, IItem heldItem, ref bool prevented);
|
||||
void PreventHeldItemConsume(IBattlePokemon pokemon, IItem heldItem, ref bool prevented);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -831,7 +832,7 @@ public interface IScriptChangeIncomingDamage
|
||||
/// <summary>
|
||||
/// This function allows a script to change any kind of damage that is incoming.
|
||||
/// </summary>
|
||||
void ChangeIncomingDamage(IPokemon pokemon, DamageSource source, ref uint damage);
|
||||
void ChangeIncomingDamage(IBattlePokemon pokemon, DamageSource source, ref uint damage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -853,7 +854,7 @@ public interface IScriptPreventHeal
|
||||
/// <summary>
|
||||
/// This function allows a script to prevent a Pokemon from being healed.
|
||||
/// </summary>
|
||||
void PreventHeal(IPokemon pokemon, uint heal, bool allowRevive, ref bool prevented);
|
||||
void PreventHeal(IBattlePokemon pokemon, uint heal, bool allowRevive, ref bool prevented);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -865,7 +866,8 @@ public interface IScriptChangeTypesForMove
|
||||
/// This function allows a script to change the types a target has. Multiple types can be set, and will be used
|
||||
/// for the effectiveness calculation.
|
||||
/// </summary>
|
||||
void ChangeTypesForMove(IExecutingMove executingMove, IPokemon target, byte hitIndex, IList<TypeIdentifier> types);
|
||||
void ChangeTypesForMove(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex,
|
||||
IList<TypeIdentifier> types);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -877,7 +879,7 @@ public interface IScriptChangeTypesForIncomingMove
|
||||
/// This function allows a script to change the types a Pokemon has for a move that's incoming. Multiple types can
|
||||
/// be set, and will be used for the effectiveness calculation.
|
||||
/// </summary>
|
||||
void ChangeTypesForIncomingMove(IExecutingMove executingMove, IPokemon target, byte hitIndex,
|
||||
void ChangeTypesForIncomingMove(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex,
|
||||
IList<TypeIdentifier> types);
|
||||
}
|
||||
|
||||
@@ -890,7 +892,7 @@ public interface IScriptChangeCategory
|
||||
/// This function allows a script to change the handling of the move category. This is used for moves that
|
||||
/// are sometimes a status move, and sometimes a damaging move, such as pollen puff.
|
||||
/// </summary>
|
||||
void ChangeCategory(IExecutingMove move, IPokemon target, byte hitIndex, ref MoveCategory category);
|
||||
void ChangeCategory(IExecutingMove move, IBattlePokemon target, byte hitIndex, ref MoveCategory category);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -901,7 +903,7 @@ public interface IScriptOnBeforeHit
|
||||
/// <summary>
|
||||
/// Triggers first when we're about to hit a target.
|
||||
/// </summary>
|
||||
void OnBeforeHit(IExecutingMove move, IPokemon target, byte hitIndex);
|
||||
void OnBeforeHit(IExecutingMove move, IBattlePokemon target, byte hitIndex);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -912,7 +914,7 @@ public interface IScriptPreventStatusChange
|
||||
/// <summary>
|
||||
/// This function allows a script to prevent a Pokemon from being affected by a status condition.
|
||||
/// </summary>
|
||||
void PreventStatusChange(IPokemon pokemon, StringKey status, bool selfInflicted, ref bool preventStatus);
|
||||
void PreventStatusChange(IBattlePokemon pokemon, StringKey status, bool selfInflicted, ref bool preventStatus);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -923,7 +925,7 @@ public interface IScriptOnAfterStatusChange
|
||||
/// <summary>
|
||||
/// This function triggers after a status condition has been applied to a Pokemon.
|
||||
/// </summary>
|
||||
void OnAfterStatusChange(IPokemon pokemon, StringKey status, IPokemon? originPokemon);
|
||||
void OnAfterStatusChange(IBattlePokemon pokemon, StringKey status, IPokemon? originPokemon);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -946,7 +948,7 @@ public interface IScriptIsFloating
|
||||
/// This function allows a script to make the Pokémon it is attached to float. This is used for moves
|
||||
/// such as levitate, and allows for moves such as earthquake to not hit the Pokémon.
|
||||
/// </summary>
|
||||
void IsFloating(IPokemon pokemon, ref bool isFloating);
|
||||
void IsFloating(IBattlePokemon pokemon, ref bool isFloating);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -991,7 +993,7 @@ public interface IScriptModifyIsContact
|
||||
/// <summary>
|
||||
/// Modifies whether a move is a contact move or not. This is used for abilities such as Long Reach.
|
||||
/// </summary>
|
||||
void ModifyIsContact(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref bool isContact);
|
||||
void ModifyIsContact(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex, ref bool isContact);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1002,7 +1004,7 @@ public interface IScriptPreventHeldItemSteal
|
||||
/// <summary>
|
||||
/// This function allows a script to prevent a held item from being stolen by an effect such as Thief or Covet.
|
||||
/// </summary>
|
||||
void PreventHeldItemSteal(IPokemon pokemon, IItem heldItem, ref bool prevent);
|
||||
void PreventHeldItemSteal(IBattlePokemon pokemon, IItem heldItem, ref bool prevent);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1013,7 +1015,7 @@ public interface IScriptOnAfterHeldItemChange
|
||||
/// <summary>
|
||||
/// This function allows a script to run after a held item has changed.
|
||||
/// </summary>
|
||||
void OnAfterHeldItemChange(IPokemon pokemon, IItem? previous, IItem? item);
|
||||
void OnAfterHeldItemChange(IBattlePokemon pokemon, IItem? previous, IItem? item);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1080,7 +1082,7 @@ public interface IScriptChangeExperienceGained
|
||||
/// This function is triggered on a Pokemon and its parents when the given Pokemon gains experience,
|
||||
/// and allows for changing this amount of experience.
|
||||
/// </summary>
|
||||
void ChangeExperienceGained(IPokemon faintedPokemon, IPokemon winningPokemon, ref uint amount);
|
||||
void ChangeExperienceGained(IBattlePokemon faintedPokemon, IBattlePokemon winningPokemon, ref uint amount);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1093,7 +1095,8 @@ public interface IScriptShareExperience
|
||||
/// and allows for making the experience be shared across multiple Pokemon.
|
||||
/// Amount is the modifier for how much experience is shared, with 1 being the default amount.
|
||||
/// </summary>
|
||||
void ShareExperience(IPokemon faintedPokemon, IPokemon winningPokemon, ref bool share, ref float amount);
|
||||
void ShareExperience(IBattlePokemon faintedPokemon, IBattlePokemon winningPokemon, ref bool share,
|
||||
ref float amount);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1117,7 +1120,7 @@ public interface IScriptChangeCatchRateBonus
|
||||
/// rate of this attempt. Pokeball modifier effects should be implemented here, as well as for
|
||||
/// example status effects that change capture rates.
|
||||
/// </summary>
|
||||
void ChangeCatchRateBonus(IPokemon pokemon, IItem pokeball, ref byte modifier);
|
||||
void ChangeCatchRateBonus(IBattlePokemon pokemon, IItem pokeball, ref byte modifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1142,7 +1145,7 @@ public interface IScriptChangeAccuracy
|
||||
/// A custom case goes when 255 is returned, in which case the entire accuracy check is skipped, and the move
|
||||
/// will always hit.
|
||||
/// </summary>
|
||||
void ChangeAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref int modifiedAccuracy);
|
||||
void ChangeAccuracy(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex, ref int modifiedAccuracy);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1155,5 +1158,6 @@ public interface IScriptChangeIncomingAccuracy
|
||||
/// A custom case goes when 255 is returned, in which case the entire accuracy check is skipped, and the move
|
||||
/// will always hit.
|
||||
/// </summary>
|
||||
void ChangeIncomingAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref int modifiedAccuracy);
|
||||
void ChangeIncomingAccuracy(IExecutingMove executingMove, IBattlePokemon target, byte hitIndex,
|
||||
ref int modifiedAccuracy);
|
||||
}
|
||||
Reference in New Issue
Block a user