Add misc setup objects

This commit is contained in:
Kurt 2018-11-13 19:16:14 -08:00
parent 025a290bc9
commit 5f456d705c
5 changed files with 134 additions and 0 deletions

View file

@ -0,0 +1,29 @@
namespace PKHeX.Core
{
public enum BelugaBlockIndex
{
/* 00 @ 0x00000, len = 0x00D90 */ MyItem,
/* 01 @ 0x00E00, len = 0x00200 */ _01,
/* 02 @ 0x01000, len = 0x00168 */ MyStatus,
/* 03 @ 0x01200, len = 0x01800 */ EventWork,
/* 04 @ 0x02A00, len = 0x020E8 */ Zukan,
/* 05 @ 0x04C00, len = 0x00930 */ Misc, // rival stuff
/* 06 @ 0x05600, len = 0x00004 */ ConfigSave,
/* 07 @ 0x05800, len = 0x00130 */ PlayerGeoLocation,
/* 08 @ 0x05A00, len = 0x00012 */ PokeListHeader,
/* 09 @ 0x05C00, len = 0x3F7A0 */ PokeListPokemon,
/* 10 @ 0x45400, len = 0x00008 */ PlayTime,
/* 11 @ 0x45600, len = 0x00E90 */ _11,
/* 12 @ 0x46600, len = 0x010A4 */ _12,
/* 13 @ 0x47800, len = 0x000F0 */ _13,
/* 14 @ 0x47A00, len = 0x06010 */ _14,
/* 15 @ 0x4DC00, len = 0x00200 */ _15, // stuff containing data about recent captures?
/* 16 @ 0x4DE00, len = 0x00098 */ _16,
/* 17 @ 0x4E000, len = 0x00068 */ _17,
/* 18 @ 0x4E200, len = 0x69780 */ GoGoPark,
/* 19 @ 0xB7A00, len = 0x000B0 */ GoGoParkNames,
/* 20 @ 0xB7C00, len = 0x00940 */ _20, // Go Park Names
Record,
}
}

View file

@ -0,0 +1,34 @@
namespace PKHeX.Core
{
public enum EventVarType
{
/// <summary>
/// Toggles data in the map.
/// </summary>
Zone,
/// <summary>
/// Toggles certain game features on and off.
/// </summary>
System,
/// <summary>
/// Hides overworld entities if flag is set.
/// </summary>
/// <remarks>Flag only</remarks>
Vanish,
/// <summary>
/// Tweaks overworld entities depending on the work value.
/// <remarks>
/// Work Value only
/// </remarks>
/// </summary>
Scene = Vanish,
/// <summary>
/// Tracks game progress.
/// </summary>
Event,
}
}

View file

@ -0,0 +1,23 @@
namespace PKHeX.Core
{
public interface IEventWork<T>
{
int MaxFlag { get; }
int MaxWork { get; }
T GetWork(int index);
void SetWork(int index, T value);
T GetWork(EventVarType type, int index);
void SetWork(EventVarType type, int index, T value);
bool GetFlag(int index);
void SetFlag(int index, bool value = true);
bool GetFlag(EventVarType type, int index);
void SetFlag(EventVarType type, int index, bool value = true);
EventVarType GetFlagType(int index, out int subIndex);
EventVarType GetWorkType(int index, out int subIndex);
int GetFlagRawIndex(EventVarType type, int index);
int GetWorkRawIndex(EventVarType type, int index);
}
}

View file

@ -0,0 +1,8 @@
namespace PKHeX.Core
{
public abstract class MyItem : SaveBlock
{
public abstract InventoryPouch[] Inventory { get; set; }
protected MyItem(SaveFile SAV) : base(SAV) { }
}
}

View file

@ -0,0 +1,40 @@
namespace PKHeX.Core
{
public static class PouchSize7b
{
/// <summary>
/// Pouch0 Item Max Capacity
/// </summary>
public const int Medicine = 60;
/// <summary>
/// Pouch1 Item Max Capacity
/// </summary>
public const int TM = 108;
/// <summary>
/// Pouch2 Item Max Capacity
/// </summary>
public const int Candy = 200;
/// <summary>
/// Pouch3 Item Max Capacity
/// </summary>
public const int PowerUp = 150;
/// <summary>
/// Pouch4 Item Max Capacity
/// </summary>
public const int Catching = 50;
/// <summary>
/// Pouch5 Item Max Capacity
/// </summary>
public const int Battle = 150;
/// <summary>
/// Pouch6 Item Max Capacity
/// </summary>
public const int Items = 150;
}
}