Loads of work on getting data ready.

This commit is contained in:
2021-03-28 20:22:46 +02:00
parent d3262e924d
commit 82ac1061fa
27 changed files with 19683 additions and 12390 deletions

View File

@@ -1,5 +1,7 @@
shared interface BaseTurnChoice {
TurnChoiceKind Kind { get const; }
Pokemon@ User { get const; }
const Pokemon@ User { get const; }
MoveTurnChoice@ opCast();
SwitchTurnChoice@ opCast();
FleeTurnChoice@ opCast();
}

View File

@@ -4,9 +4,10 @@ shared interface Battle {
bool CanFlee { get const; }
BattleRandom@ Random { get const; }
ChoiceQueue@ TurnQueue { get const; }
void AddVolatile(const constString &in name) const;
ref AddVolatile(const constString &in name);
void RemoveVolatile(const constString &in name) const;
void SetWeather(const constString &in name) const;
void ClearWeather(const constString &in name) const;
const constString& GetWeatherName() const;
BattleSide@ GetBattleSide(uint8 index);
}

View File

@@ -0,0 +1,5 @@
shared interface BattleSide {
bool SwapPositions(uint8 a, uint8 b);
uint8 SideIndex { get const; }
uint8 GetPokemonIndex(const Pokemon@ pokemon) const;
}

View File

@@ -0,0 +1,5 @@
shared interface FleeTurnChoice {
TurnChoiceKind Kind { get const; }
const Pokemon@ User { get const; }
BaseTurnChoice@ opImplCast();
}

View File

@@ -4,4 +4,6 @@ shared interface HitData {
float Effectiveness { get const; }
uint Damage { get const; }
uint8 Type { get const; }
bool HasFailed { get const; }
void Fail();
}

View File

@@ -0,0 +1,9 @@
shared abstract class ItemUseScript {
void OnInitialize(const EffectParameter@[] &in){};
bool IsItemUsable(){};
bool IsPokemonUseItem(){};
bool IsUseValidForPokemon(Pokemon@){};
bool IsHoldable(){};
void OnUse(){};
void OnPokemonUse(Pokemon@){};
}

View File

@@ -1,6 +1,6 @@
shared interface MoveTurnChoice {
TurnChoiceKind Kind { get const; }
Pokemon@ User { get const; }
const Pokemon@ User { get const; }
LearnedMove@ Move { get const; }
int8 Priority { get const; }
BaseTurnChoice@ opImplCast();

View File

@@ -4,6 +4,7 @@ shared abstract class PkmnScript {
void OnRemove(){};
void OnBeforeTurn(BaseTurnChoice@){};
void ChangeAttack(MoveTurnChoice@, constString &inout){};
void ModifyNumberOfHits(MoveTurnChoice@, uint8 &inout){};
void PreventAttack(ExecutingMove@, bool &inout){};
void FailAttack(ExecutingMove@, bool &inout){};
void StopBeforeAttack(ExecutingMove@, bool &inout){};
@@ -26,6 +27,13 @@ shared abstract class PkmnScript {
void ModifyStatModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};
void ModifyDamageModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};
void OverrideDamage(ExecutingMove@, Pokemon@, uint8, uint &inout){};
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){};
void OnEndTurn(Pokemon@){};
void ModifyCriticalStage(ExecutingMove@, Pokemon@, uint8, uint8 &inout){};
void OverrideCriticalModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};
void OverrideSTABModifier(ExecutingMove@, Pokemon@, uint8, float &inout){};

View File

@@ -27,7 +27,8 @@ shared interface Pokemon {
uint GetBoostedStat(Statistic stat) const;
uint GetBaseStat(Statistic stat) const;
int8 GetStatBoost(Statistic stat) const;
void AddVolatile(const constString &in name) const;
ref AddVolatile(const constString &in name);
void RemoveVolatile(const constString &in name) const;
const Battle@ Battle { get const; }
Battle@ Battle { get const; }
BattleSide@ BattleSide { get const; }
}

View File

@@ -1,7 +1,6 @@
shared interface SwitchTurnChoice {
TurnChoiceKind Kind { get const; }
Pokemon@ User { get const; }
const Pokemon@ User { get const; }
Pokemon@ NewPokemon { get const; }
MoveTurnChoice@ opCast();
BaseTurnChoice@ opImplCast();
}

View File

@@ -0,0 +1,16 @@
shared interface dictionary {
void set(const string &in, const ?&in);
bool get(const string &in, ? &out) const;
void set(const string &in, const int64&in);
bool get(const string &in, int64 &out) const;
void set(const string &in, const double&in);
bool get(const string &in, double &out) const;
bool exists(const string &in) const;
bool isEmpty() const;
uint getSize() const;
bool delete(const string &in);
void deleteAll();
string[]@ getKeys() const;
dictionaryValue& opIndex(const string &in);
const dictionaryValue& opIndex(const string &in) const;
}

View File

@@ -0,0 +1,8 @@
shared interface dictionaryValue {
dictionaryValue& opHndlAssign(const ? &in);
dictionaryValue& opHndlAssign(const dictionaryValue &in);
void opCast(? &out);
void opConv(? &out);
int64 opConv();
double opConv();
}