mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-25 07:29:01 -05:00
57 lines
2.1 KiB
C
57 lines
2.1 KiB
C
#ifndef POKEPLATINUM_BATTLE_REGULATION_H
|
|
#define POKEPLATINUM_BATTLE_REGULATION_H
|
|
|
|
#include "savedata.h"
|
|
#include "string_gf.h"
|
|
|
|
#define BATTLE_REGULATION_NAME_LENGTH 12
|
|
|
|
typedef struct BattleRegulation {
|
|
u16 name[BATTLE_REGULATION_NAME_LENGTH];
|
|
u16 maxTotalLevel;
|
|
u8 teamSize;
|
|
u8 maxLevel;
|
|
s8 heightRestriction;
|
|
s8 weightRestriction;
|
|
u8 speciesRestriction : 1;
|
|
u8 itemRestriction : 1;
|
|
u8 speciesUniqueness : 1;
|
|
u8 itemUniqueness : 1;
|
|
u8 moveRestrictions : 1;
|
|
} BattleRegulation;
|
|
|
|
typedef struct BattleRegulationData {
|
|
BattleRegulation regulations[1];
|
|
} BattleRegulationData;
|
|
|
|
enum BattleRegulationRule {
|
|
BATTLE_REGULATION_RULE_TEAM_SIZE = 1,
|
|
BATTLE_REGULATION_RULE_MAX_LEVEL,
|
|
BATTLE_REGULATION_RULE_MAX_TOTAL_LEVEL,
|
|
BATTLE_REGULATION_RULE_SPECIES_RESTRICT,
|
|
BATTLE_REGULATION_RULE_HEIGHT_RESTRICT,
|
|
BATTLE_REGULATION_RULE_HEIGHT_TYPE,
|
|
BATTLE_REGULATION_RULE_WEIGHT_RESTRICT,
|
|
BATTLE_REGULATION_RULE_WEIGHT_TYPE,
|
|
BATTLE_REGULATION_RULE_ITEM_UNIQUE,
|
|
BATTLE_REGULATION_RULE_SPECIES_UNIQUE,
|
|
BATTLE_REGULATION_RULE_ITEM_RESTRICT,
|
|
BATTLE_REGULATION_RULE_MOVE_RESTRICTIONS,
|
|
};
|
|
|
|
int BattleRegulation_Size(void);
|
|
int BattleRegulation_SaveSize(void);
|
|
void BattleRegulation_Copy(const BattleRegulation *src, BattleRegulation *dst);
|
|
void RegulationBattles_Init(BattleRegulationData *regulationData);
|
|
void BattleRegulation_GetName(const BattleRegulation *regulation, String *string);
|
|
String *BattleRegulation_GetNameString(const BattleRegulation *regulation, int heapID);
|
|
int BattleRegulation_GetRuleValue(const BattleRegulation *regulation, enum BattleRegulationRule rule);
|
|
BattleRegulation *BattleRegulation_Load(SaveData *saveData, int index);
|
|
void BattleRegulation_Save(SaveData *saveData, const BattleRegulation *regulation);
|
|
const BattleRegulation *BattleRegulation_GetByIndex(SaveData *saveData, int index);
|
|
void BattleRegulation_GetNameByIndex(SaveData *saveData, int index, String *string, int heapID);
|
|
const BattleRegulation *BattleRegulation_GetDefault(void);
|
|
int BattleRegulation_GetIndex(const BattleRegulation *regulation);
|
|
|
|
#endif // POKEPLATINUM_BATTLE_REGULATION_H
|