public PokemonDataInfoEntry(CreatureIndex id, IReadOnlyBinaryDataAccessor data) { this.Id = id; Unknown00 = data.ReadInt64(0); Unknown08 = data.ReadInt64(8); var levelupLearnset = new List <LevelUpMove>(26); for (int i = 0; i < 26; i++) { WazaIndex move = (WazaIndex)data.ReadInt16(0x10 + i * sizeof(short)); byte level = data.ReadByte(0x44 + i); levelupLearnset.Add(new LevelUpMove(level, move)); } this.LevelupLearnset = levelupLearnset; Unknown5E = data.ReadInt16(0x5E); Unknown60 = data.ReadInt32(0x60); PokedexNumber = data.ReadInt16(0x64); Unknown66 = data.ReadInt16(0x66); Taxon = data.ReadInt16(0x68); Unknown6A = data.ReadInt16(0x6A); Unknown6C = data.ReadInt32(0x6C); Unknown70 = data.ReadInt32(0x70); BaseHitPoints = data.ReadInt16(0x74); BaseAttack = data.ReadInt16(0x76); BaseSpecialAttack = data.ReadInt16(0x78); BaseDefense = data.ReadInt16(0x7A); BaseSpecialDefense = data.ReadInt16(0x7C); BaseSpeed = data.ReadInt16(0x7E); Unknown80 = data.ReadInt32(0x80); ExperienceEntry = data.ReadInt32(0x84); Unknown88 = data.ReadInt64(0x88); Ability1 = (AbilityIndex)data.ReadByte(0x90); Ability2 = (AbilityIndex)data.ReadByte(0x91); HiddenAbility = (AbilityIndex)data.ReadByte(0x92); Type1 = (PokemonType)data.ReadByte(0x93); Type2 = (PokemonType)data.ReadByte(0x94); Unknown95 = data.ReadByte(0x95); Unknown96 = data.ReadByte(0x96); Unknown97 = data.ReadByte(0x97); Unknown98 = data.ReadByte(0x98); Unknown99 = data.ReadByte(0x99); Unknown9A = data.ReadByte(0x9A); RecruitPrereq = data.ReadString(0x9B, 69, Encoding.ASCII).TrimEnd('\0'); }
public RankEntry(Sir0 sir0, IReadOnlyBinaryDataAccessor data) { { int offset = checked ((int)data.ReadInt64(0)); RewardStatue = sir0.Data.ReadString(offset, offset + 0x10, Encoding.ASCII); } MinPoints = data.ReadInt32(8); Unknown = data.ReadInt16(0xC); ToolboxSize = data.ReadInt16(0xE); CampCapacity = data.ReadInt16(0x10); TeamPresets = data.ReadInt16(0x12); JobLimit = data.ReadInt16(0x14); }
public PokemonGraphicsDatabaseEntry(IReadOnlyBinaryDataAccessor entryAccessor, IReadOnlyBinaryDataAccessor rawDataAccessor) { ModelNamePointer = entryAccessor.ReadInt64(0); AnimationNamePointer = entryAccessor.ReadInt64(8); BaseFormModelNamePointer = entryAccessor.ReadInt64(16); PortraitSheetNamePointer = entryAccessor.ReadInt64(24); RescueCampSheetNamePointer = entryAccessor.ReadInt64(32); RescueCampSheetReverseNamePointer = entryAccessor.ReadInt64(40); ModelName = rawDataAccessor.ReadNullTerminatedUnicodeString(ModelNamePointer); AnimationName = rawDataAccessor.ReadNullTerminatedUnicodeString(AnimationNamePointer); BaseFormModelName = rawDataAccessor.ReadNullTerminatedUnicodeString(BaseFormModelNamePointer); PortraitSheetName = rawDataAccessor.ReadNullTerminatedUnicodeString(PortraitSheetNamePointer); RescueCampSheetName = rawDataAccessor.ReadNullTerminatedUnicodeString(RescueCampSheetNamePointer); RescueCampSheetReverseName = rawDataAccessor.ReadNullTerminatedUnicodeString(RescueCampSheetReverseNamePointer); UnkX30 = entryAccessor.ReadSingle(0x30); UnkX34 = entryAccessor.ReadSingle(0x34); UnkX38 = entryAccessor.ReadSingle(0x38); UnkX3C = entryAccessor.ReadSingle(0x3C); UnkX40 = entryAccessor.ReadSingle(0x40); UnkX44 = entryAccessor.ReadSingle(0x44); UnkX48 = entryAccessor.ReadSingle(0x48); WalkSpeedDistance = entryAccessor.ReadSingle(0x4C); // Referenced by PokemonDatabase_GetWalkSpeed() UnkX50 = entryAccessor.ReadSingle(0x50); RunSpeedRatioGround = entryAccessor.ReadSingle(0x54); // Referenced by PokemonDatabase_GetRunRateGround() UnkX58 = entryAccessor.ReadSingle(0x58); UnkX5C = entryAccessor.ReadSingle(0x5C); UnkX60 = entryAccessor.ReadSingle(0x60); UnkX64 = entryAccessor.ReadSingle(0x64); UnknownBodyType1 = (GraphicsBodySizeType)entryAccessor.ReadInt32(0x68); UnknownBodyType2 = (GraphicsBodySizeType)entryAccessor.ReadInt32(0x6C); Flags = (PokemonGraphicsDatabaseEntryFlags)entryAccessor.ReadInt32(0x70); EnabledPortraits = (EnabledPortraitsFlags)entryAccessor.ReadUInt32(0x74); // Bitmask of enabled portraits UnkX78 = entryAccessor.ReadInt32(0x78); UnkX7C = entryAccessor.ReadInt32(0x7C); UnkX80 = entryAccessor.ReadInt32(0x80); UnkX84 = entryAccessor.ReadSingle(0x84); UnkX88 = entryAccessor.ReadSingle(0x88); UnkX8C = entryAccessor.ReadSingle(0x8C); UnkX90 = entryAccessor.ReadSingle(0x90); UnkX94 = entryAccessor.ReadSingle(0x94); UnkX98 = entryAccessor.ReadSingle(0x98); UnkX9C = entryAccessor.ReadSingle(0x9C); UnkXA0 = entryAccessor.ReadSingle(0xA0); Padding1 = entryAccessor.ReadInt32(0xA4); Padding2 = entryAccessor.ReadInt32(0xA8); Padding3 = entryAccessor.ReadInt32(0xAC); }
public PokemonEvolutionEntry(Sir0 sir0, IReadOnlyBinaryDataAccessor data) { int branchOffset = checked ((int)data.ReadInt64(0)); int branchCount = data.ReadInt32(8); var branches = new List <PokemonEvolutionBranch>(branchCount); for (int i = 0; i < branchCount; i++) { branches.Add(new PokemonEvolutionBranch(sir0.Data.Slice(branchOffset + i * 0x14, 0x14))); } this.Branches = branches; MegaEvos = ( (CreatureIndex)data.ReadInt16(0xC), (CreatureIndex)data.ReadInt16(0xE) ); }