2020-09-19 15:44:06 +00:00
|
|
|
shared interface Pokemon {
|
|
|
|
const Species@ Species { get const; }
|
|
|
|
const Forme@ Forme { get const; }
|
|
|
|
uint8 Level { get const; }
|
|
|
|
uint Experience { get const; }
|
|
|
|
Gender Gender { get const; }
|
|
|
|
uint8 Coloring { get const; }
|
|
|
|
bool Shiny { get const; }
|
|
|
|
const Item@ HeldItem { get const; }
|
|
|
|
bool HasHeldItem(const constString &in name) const;
|
2021-08-25 19:18:41 +00:00
|
|
|
void SetHeldItem(const constString &in name);
|
2020-09-19 15:44:06 +00:00
|
|
|
void SetHeldItem(const Item@ item);
|
|
|
|
uint CurrentHealth { get const; }
|
|
|
|
const string& Nickname { get const; }
|
|
|
|
const constString& ActiveAbility { get const; }
|
|
|
|
bool IsFainted { get const; }
|
|
|
|
bool HasType(uint8 type) const;
|
|
|
|
uint MaxHealth { get const; }
|
|
|
|
void Damage(uint type, DamageSource source);
|
|
|
|
void Heal(uint type);
|
|
|
|
void OverrideActiveAbility(const string &in ability);
|
|
|
|
LearnedMove@[]@ GetMoves() const;
|
|
|
|
void ChangeStatBoost(Statistic stat, int8 amount);
|
|
|
|
const Species@ DisplaySpecies { get const; }
|
|
|
|
const Species@ DisplayForme { get const; }
|
|
|
|
uint GetFlatStat(Statistic stat) const;
|
|
|
|
uint GetBoostedStat(Statistic stat) const;
|
|
|
|
uint GetBaseStat(Statistic stat) const;
|
|
|
|
int8 GetStatBoost(Statistic stat) const;
|
2021-03-28 18:22:46 +00:00
|
|
|
ref AddVolatile(const constString &in name);
|
2020-09-19 15:44:06 +00:00
|
|
|
void RemoveVolatile(const constString &in name) const;
|
2021-03-28 18:22:46 +00:00
|
|
|
Battle@ Battle { get const; }
|
|
|
|
BattleSide@ BattleSide { get const; }
|
2021-05-13 12:32:56 +00:00
|
|
|
const constString& Status { get const; }
|
|
|
|
void ClearStatus() const;
|
|
|
|
void SetStatus(const constString &inout name);
|
2020-09-19 15:44:06 +00:00
|
|
|
}
|