2020-04-10 22:23:17 +00:00
|
|
|
shared abstract class PkmnScript {
|
2021-10-30 16:45:42 +00:00
|
|
|
ref@ __owner;
|
|
|
|
|
|
|
|
ref@& GetOwner(){ return __owner; };
|
2022-02-12 16:47:59 +00:00
|
|
|
void OnInitialize(const BattleLibrary@, const narray<EffectParameter@>@){};
|
2020-09-19 15:44:06 +00:00
|
|
|
void Stack(){};
|
|
|
|
void OnRemove(){};
|
|
|
|
void OnBeforeTurn(BaseTurnChoice@){};
|
|
|
|
void ChangeAttack(MoveTurnChoice@, constString &inout){};
|
2021-03-28 18:22:46 +00:00
|
|
|
void ModifyNumberOfHits(MoveTurnChoice@, uint8 &inout){};
|
2020-09-19 15:44:06 +00:00
|
|
|
void PreventAttack(ExecutingMove@, bool &inout){};
|
|
|
|
void FailAttack(ExecutingMove@, bool &inout){};
|
|
|
|
void StopBeforeAttack(ExecutingMove@, bool &inout){};
|
|
|
|
void OnBeforeAttack(ExecutingMove@){};
|
|
|
|
void FailIncomingAttack(ExecutingMove@, Pokemon@, bool &inout){};
|
|
|
|
void IsInvulnerable(ExecutingMove@, Pokemon@, bool &inout){};
|
|
|
|
void OnAttackMiss(ExecutingMove@, Pokemon@){};
|
|
|
|
void ChangeAttackType(ExecutingMove@, Pokemon@, uint8, uint8 &inout){};
|
|
|
|
void ChangeEffectiveness(ExecutingMove@, Pokemon@, uint8, float &inout){};
|
2021-11-21 16:54:16 +00:00
|
|
|
void BlockCritical(ExecutingMove@, Pokemon@, uint8, bool &inout){};
|
2021-11-19 17:12:10 +00:00
|
|
|
void OnIncomingHit(ExecutingMove@, Pokemon@, uint8){};
|
2021-11-21 16:54:16 +00:00
|
|
|
void OnFaintingOpponent(ExecutingMove@, Pokemon@, uint8){};
|
2022-02-12 16:47:59 +00:00
|
|
|
void PreventStatBoostChange(Pokemon@, Statistic, int8, bool &inout){};
|
|
|
|
void ModifyStatBoostChange(Pokemon@, Statistic, int8 &inout){};
|
2020-09-19 15:44:06 +00:00
|
|
|
void PreventSecondaryEffects(ExecutingMove@, Pokemon@, uint8, bool &inout){};
|
|
|
|
void OnSecondaryEffect(ExecutingMove@, Pokemon@, uint8){};
|
|
|
|
void OnAfterHits(ExecutingMove@, Pokemon@){};
|
|
|
|
void PreventSelfSwitch(SwitchTurnChoice@, bool &inout){};
|
|
|
|
void ModifyEffectChance(ExecutingMove@, Pokemon@, float &inout){};
|
|
|
|
void ModifyIncomingEffectChance(ExecutingMove@, Pokemon@, float &inout){};
|
|
|
|
void OverrideBasePower(ExecutingMove@, Pokemon@, uint8, uint8 &inout){};
|
|
|
|
void ChangeDamageStatsUser(ExecutingMove@, Pokemon@, uint8, Pokemon@ &inout){};
|
|
|
|
void BypassDefensiveStat(ExecutingMove@, Pokemon@, uint8, bool &inout){};
|
|
|
|
void BypassOffensiveStat(ExecutingMove@, Pokemon@, uint8, bool &inout){};
|
|
|
|
void ModifyStatModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};
|
|
|
|
void ModifyDamageModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};
|
|
|
|
void OverrideDamage(ExecutingMove@, Pokemon@, uint8, uint &inout){};
|
2021-10-30 16:45:42 +00:00
|
|
|
void OverrideIncomingDamage(ExecutingMove@, Pokemon@, uint8, uint &inout){};
|
2021-03-28 18:22:46 +00:00
|
|
|
void ChangePriority(MoveTurnChoice@, int8 &inout){};
|
|
|
|
void OnFail(Pokemon@){};
|
|
|
|
void OnOpponentFail(Pokemon@){};
|
|
|
|
void PreventRunAway(FleeTurnChoice@, bool &inout){};
|
|
|
|
void PreventOpponentRunAway(FleeTurnChoice@, bool &inout){};
|
|
|
|
void PreventOpponentSwitch(SwitchTurnChoice@, bool &inout){};
|
2021-10-30 16:45:42 +00:00
|
|
|
void OnEndTurn(){};
|
2021-11-21 16:54:16 +00:00
|
|
|
void OnDamage(Pokemon@, DamageSource, uint, uint){};
|
2021-11-19 17:12:10 +00:00
|
|
|
void OnFaint(Pokemon@, DamageSource){};
|
2022-02-12 13:28:05 +00:00
|
|
|
void PreventIncomingCritical(ExecutingMove@, Pokemon@, uint8, bool &inout){};
|
2020-09-19 15:44:06 +00:00
|
|
|
void ModifyCriticalStage(ExecutingMove@, Pokemon@, uint8, uint8 &inout){};
|
|
|
|
void OverrideCriticalModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};
|
|
|
|
void OverrideSTABModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};
|
|
|
|
void ModifyExperienceGain(Pokemon@, Pokemon@, uint &inout){};
|
|
|
|
void DoesShareExperience(Pokemon@, Pokemon@, bool &inout){};
|
2021-11-19 17:12:10 +00:00
|
|
|
void BlockWeather(Battle@, bool &inout){};
|
|
|
|
void OnSwitchIn(Pokemon@){};
|
2022-02-12 16:47:59 +00:00
|
|
|
void ModifyOffensiveStatValue(ExecutingMove@, Pokemon@, uint8, float &inout){};
|
|
|
|
void ModifyDefensiveStatValue(ExecutingMove@, Pokemon@, uint8, float &inout){};
|
2020-09-19 15:44:06 +00:00
|
|
|
}
|