Skip to content

Commit

Permalink
Barebones Unbound Skeleton
Browse files Browse the repository at this point in the history
  • Loading branch information
evanwporter committed Dec 16, 2024
1 parent f9d361f commit 04c06dc
Show file tree
Hide file tree
Showing 2 changed files with 191 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/types/SAVTypes/unbound/G3UBSAV.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { GameOfOrigin } from 'pokemon-resources'
import { OHPKM } from '../../pkm/OHPKM'
import { PathData } from '../path'
import { Box, BoxCoordinates, PluginSAV } from '../SAV'
import PK3UB from './PK3UB'

export class G3UBSAV implements PluginSAV<PK3UB> {
origin: GameOfOrigin = 0
boxRows!: number
boxColumns!: number
filePath!: PathData
fileCreated?: Date | undefined
money!: number
name!: string
tid!: number
sid?: number | undefined
displayID!: string
currentPCBox!: number
boxes: Box<PK3UB>[] = []
bytes!: Uint8Array<ArrayBufferLike>
invalid: boolean = false
tooEarlyToOpen: boolean = false
pcChecksumOffset?: number | undefined
pcOffset?: number | undefined
updatedBoxSlots: BoxCoordinates[] = []
gameColor!: () => string
isPlugin: true = true
getPluginIdentifier!: (() => string | undefined) & (() => string)
getCurrentBox!: () => Box<PK3UB>
supportsMon!: (dexNumber: number, formeNumber: number) => boolean
prepareBoxesAndGetModified!: () => OHPKM[]
calculateChecksum?: (() => number) | undefined
getGameName!: () => string
getExtraData?: (() => object) | undefined
}
156 changes: 156 additions & 0 deletions src/types/SAVTypes/unbound/PK3UB.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
import {
ContestStats,
Geolocation,
HyperTrainStats,
MarkingsFourShapes,
MarkingsSixShapesNoColor,
MarkingsSixShapesWithColor,
Memory,
PKMDate,
Stats,
StatsPreSplit,
ToBytesOptions,
} from 'pokemon-files'
import { PluginPKMInterface } from '../../interfaces'

export class PK3UB implements PluginPKMInterface {
pluginIdentifier!: string
selectColor!: string
format!: string
abilityIndex?: number | undefined
abilityNum?: number | undefined
affixedRibbon?: number | undefined
alphaMove?: number | undefined
avs?: Stats | undefined
ball?: number | undefined
ballDPPt?: number | undefined
ballHGSS?: number | undefined
battleMemoryCount?: number | undefined
canGigantamax?: boolean | undefined
checksum?: number | undefined
consoleRegion?: number | undefined
contest?: ContestStats | undefined
contestMemoryCount?: number | undefined
country?: number | undefined
currentHP!: number
dexNum!: number
dvs?: StatsPreSplit | undefined
dynamaxLevel?: number | undefined
eggDate?: PKMDate | undefined
eggLocationIndex?: number | undefined
eggLocationIndexDP?: number | undefined
eggLocationIndexPtHGSS?: number | undefined
encounterType?: number | undefined
encryptionConstant?: number | undefined
enjoyment?: number | undefined
evs?: Stats | undefined
evsG12?: StatsPreSplit | undefined
exp!: number
favorite?: boolean | undefined
fieldEventFatigue1?: number | undefined
fieldEventFatigue2?: number | undefined
flag2LA?: boolean | undefined
formArgument?: number | undefined
formeNum!: number
fullness?: number | undefined
gameOfOrigin!: number
gameOfOriginBattle?: number | undefined
gender?: number | undefined
geolocations?: Geolocation[] | undefined
gvs?: Stats | undefined
handlerAffection?: number | undefined
handlerFriendship?: number | undefined
handlerGender?: boolean | undefined
handlerID?: number | undefined
handlerLanguage?: number | undefined
handlerMemory?: Memory | undefined
handlerName?: string | undefined
height?: number | undefined
heldItemIndex!: number
homeTracker?: Uint8Array<ArrayBufferLike> | undefined
hyperTraining?: HyperTrainStats | undefined
isAlpha?: boolean | undefined
isCurrentHandler?: boolean | undefined
isEgg?: boolean | undefined
isFatefulEncounter?: boolean | undefined
isNicknamed?: boolean | undefined
isNoble?: boolean | undefined
isNsPokemon?: boolean | undefined
ivs?: Stats | undefined
languageIndex!: number
level?: number | undefined
markings?: MarkingsFourShapes | MarkingsSixShapesNoColor | MarkingsSixShapesWithColor | undefined
masterFlagsLA?: Uint8Array<ArrayBufferLike> | undefined
metDate?: PKMDate | undefined
metLevel?: number | undefined
metLocationIndex?: number | undefined
metLocationIndexDP?: number | undefined
metLocationIndexPtHGSS?: number | undefined
metTimeOfDay?: number | undefined
moveFlagsLA?: Uint8Array<ArrayBufferLike> | undefined
movePP!: number[]
movePPUps!: number[]
moves!: number[]
nature?: number | undefined
nickname!: string
obedienceLevel?: number | undefined
palma?: number | undefined
performance?: number | undefined
personalityValue?: number | undefined
pokeStarFame?: number | undefined
pokerusByte?: number | undefined
region?: number | undefined
relearnMoves?: number[] | undefined
resortEventStatus?: number | undefined
ribbonBytes?: Uint8Array<ArrayBufferLike> | undefined
ribbons?: string[] | undefined
sanity?: number | undefined
scale?: number | undefined
secretID!: number
secretSuperTrainingComplete?: boolean | undefined
secretSuperTrainingUnlocked?: boolean | undefined
shadowGauge?: number | undefined
shadowID?: number | undefined
shinyLeaves?: number | undefined
sociability?: number | undefined
statLevel?: number | undefined
statNature?: number | undefined
statusCondition?: number | undefined
superTrainingDistFlags?: number | undefined
superTrainingFlags?: number | undefined
teraTypeOriginal?: number | undefined
teraTypeOverride?: number | undefined
tmFlagsBDSP?: Uint8Array<ArrayBufferLike> | undefined
tmFlagsSV?: Uint8Array<ArrayBufferLike> | undefined
tmFlagsSVDLC?: Uint8Array<ArrayBufferLike> | undefined
trFlagsSwSh?: Uint8Array<ArrayBufferLike> | undefined
trainerAffection?: number | undefined
trainerFriendship?: number | undefined
trainerGender!: boolean
trainerID!: number
trainerMemory?: Memory | undefined
trainerName!: string
trainingBag?: number | undefined
trainingBagHits?: number | undefined
tutorFlagsLA?: Uint8Array<ArrayBufferLike> | undefined
type1?: number | undefined
type2?: number | undefined
unknownA0?: number | undefined
unknownF3?: number | undefined
weight?: number | undefined
heldItemName!: string
language!: string
isShadow?: boolean | undefined
getLevel!: () => number
isShiny!: () => boolean
isSquareShiny!: () => boolean
toBytes!: ((options?: ToBytesOptions) => ArrayBuffer) | (() => ArrayBuffer)
getStats(): Stats {
throw new Error('Method not implemented.')
}
pluginOrigin?: string | undefined
isLocked?: boolean | undefined
originalBytes?: Uint8Array<ArrayBufferLike> | undefined
}

export default PK3UB

0 comments on commit 04c06dc

Please sign in to comment.