Gen7Data/Scripts/Abilities/BeastBoost.as

34 lines
2.0 KiB
ActionScript
Raw Normal View History

2021-11-21 16:54:16 +00:00
namespace Gen7 {
class BeastBoost : PkmnScript {
void OnFaintingOpponent(ExecutingMove@ move, Pokemon@, uint8) override {
Statistic increaseStat = Statistic::HP;
auto user = move.User;
if (user.GetFlatStat(Statistic::Attack) > user.GetFlatStat(Statistic::HP) &&
user.GetFlatStat(Statistic::Attack) > user.GetFlatStat(Statistic::Defense) &&
user.GetFlatStat(Statistic::Attack) > user.GetFlatStat(Statistic::SpecialAttack) &&
user.GetFlatStat(Statistic::Attack) > user.GetFlatStat(Statistic::SpecialDefense) &&
user.GetFlatStat(Statistic::Attack) > user.GetFlatStat(Statistic::Speed)) {
increaseStat = Statistic::Attack;
}
if (user.GetFlatStat(Statistic::Defense) > user.GetFlatStat(Statistic::HP) &&
user.GetFlatStat(Statistic::Defense) > user.GetFlatStat(Statistic::SpecialAttack) &&
user.GetFlatStat(Statistic::Defense) > user.GetFlatStat(Statistic::SpecialDefense) &&
user.GetFlatStat(Statistic::Defense) > user.GetFlatStat(Statistic::Speed)) {
increaseStat = Statistic::Defense;
}
if (user.GetFlatStat(Statistic::SpecialAttack) > user.GetFlatStat(Statistic::HP) &&
user.GetFlatStat(Statistic::SpecialAttack) > user.GetFlatStat(Statistic::SpecialDefense) &&
user.GetFlatStat(Statistic::SpecialAttack) > user.GetFlatStat(Statistic::Speed)) {
increaseStat = Statistic::SpecialAttack;
}
if (user.GetFlatStat(Statistic::SpecialDefense) > user.GetFlatStat(Statistic::HP) &&
user.GetFlatStat(Statistic::SpecialDefense) > user.GetFlatStat(Statistic::Speed)) {
increaseStat = Statistic::SpecialDefense;
}
if (user.GetFlatStat(Statistic::Speed) > user.GetFlatStat(Statistic::HP)) {
increaseStat = Statistic::Speed;
}
user.ChangeStatBoost(increaseStat, 1);
}
}
}