# PokemonSpeciesForm | pokemon-rogue-battle
Documentation for pokemon-rogue-battle

# Class PokemonSpeciesForm`Abstract`

#### Hierarchy (View Summary)

- PokemonSpeciesForm
  - PokemonForm
  - default

- Defined in src/data/pokemon-species.ts:170

##### Index

### Constructors

constructor

### Properties

_formIndex
_generation
ability1
ability2
abilityHidden
baseExp
baseFriendship
baseStats
baseTotal
catchRate
genderDiffs
height
isStarterSelectable
speciesId
type1
type2
weight

### Accessors

formIndex
generation

### Methods

cry
generateCandyColors
getAbility
getAbilityCount
getBaseExp
getBaseStat
getBaseStatTotal
getCryKey
getFormSpriteKey
getIconAtlasKey
getIconId
getLevelMoves
getPassiveAbility
getRegion
getRootSpeciesId
getSpriteAtlasPath
getSpriteId
getSpriteKey
getVariantDataIndex
isCatchable
isObtainable
isOfType
isRareRegional
isRegional
isTrainerForbidden
loadAssets
validateStarterMoveset

## Constructors

### constructor

- new PokemonSpeciesForm(
  type1: PokemonType ,
  type2: null | PokemonType ,
  height: number,
  weight: number,
  ability1: Abilities ,
  ability2: Abilities ,
  abilityHidden: Abilities ,
  baseTotal: number,
  baseHp: number,
  baseAtk: number,
  baseDef: number,
  baseSpatk: number,
  baseSpdef: number,
  baseSpd: number,
  catchRate: number,
  baseFriendship: number,
  baseExp: number,
  genderDiffs: boolean,
  isStarterSelectable: boolean,
  ): PokemonSpeciesForm

  #### Parameters

  - type1: PokemonType
  - type2: null | PokemonType
  - height: number
  - weight: number
  - ability1: Abilities
  - ability2: Abilities
  - abilityHidden: Abilities
  - baseTotal: number
  - baseHp: number
  - baseAtk: number
  - baseDef: number
  - baseSpatk: number
  - baseSpdef: number
  - baseSpd: number
  - catchRate: number
  - baseFriendship: number
  - baseExp: number
  - genderDiffs: boolean
  - isStarterSelectable: boolean

  #### Returns PokemonSpeciesForm

  - Defined in src/data/pokemon-species.ts:189

## Properties

### `Protected`_formIndex

_formIndex: number

- Defined in src/data/pokemon-species.ts:172

### `Protected`_generation

_generation: number

- Defined in src/data/pokemon-species.ts:173

### `Readonly` ability1

ability1: Abilities

- Defined in src/data/pokemon-species.ts:178

### `Readonly` ability2

ability2: Abilities

- Defined in src/data/pokemon-species.ts:179

### `Readonly` abilityHidden

abilityHidden: Abilities

- Defined in src/data/pokemon-species.ts:180

### `Readonly` baseExp

baseExp: number

- Defined in src/data/pokemon-species.ts:185

### `Readonly` baseFriendship

baseFriendship: number

- Defined in src/data/pokemon-species.ts:184

### `Readonly` baseStats

baseStats: number[]

- Defined in src/data/pokemon-species.ts:182

### `Readonly` baseTotal

baseTotal: number

- Defined in src/data/pokemon-species.ts:181

### `Readonly` catchRate

catchRate: number

- Defined in src/data/pokemon-species.ts:183

### `Readonly` genderDiffs

genderDiffs: boolean

- Defined in src/data/pokemon-species.ts:186

### `Readonly` height

height: number

- Defined in src/data/pokemon-species.ts:176

### `Readonly` isStarterSelectable

isStarterSelectable: boolean

- Defined in src/data/pokemon-species.ts:187

### speciesId

speciesId: Species

- Defined in src/data/pokemon-species.ts:171

### `Readonly` type1

type1: PokemonType

- Defined in src/data/pokemon-species.ts:174

### `Readonly` type2

type2: null | PokemonType

- Defined in src/data/pokemon-species.ts:175

### `Readonly` weight

weight: number

- Defined in src/data/pokemon-species.ts:177

## Accessors

### formIndex

- get formIndex(): number

  #### Returns number

  - Defined in src/data/pokemon-species.ts:249
- set formIndex(formIndex: number): void

  #### Parameters

  - formIndex: number

  #### Returns void

  - Defined in src/data/pokemon-species.ts:253

### generation

- get generation(): number

  #### Returns number

  - Defined in src/data/pokemon-species.ts:241
- set generation(generation: number): void

  #### Parameters

  - generation: number

  #### Returns void

  - Defined in src/data/pokemon-species.ts:245

## Methods

### cry

- cry(soundConfig?: SoundConfig, ignorePlay?: boolean): AnySound

  #### Parameters

  - `Optional` soundConfig: SoundConfig
  - `Optional` ignorePlay: boolean

  #### Returns AnySound

  - Defined in src/data/pokemon-species.ts:636

### generateCandyColors

- generateCandyColors(): number[][]

  #### Returns number[][]

  - Defined in src/data/pokemon-species.ts:649

### getAbility

- getAbility(abilityIndex: number): Abilities

  Method to get the ability of a Pokemon species.

  #### Parameters

  - abilityIndex: number

    Which ability to get (should only be 0-2)

  #### Returns Abilities

  The id of the Ability

  - Defined in src/data/pokemon-species.ts:274

### getAbilityCount

- getAbilityCount(): number

  Method to get the total number of abilities a Pokemon species has.

  #### Returns number

  Number of abilities

  - Defined in src/data/pokemon-species.ts:265

### getBaseExp

- getBaseExp(): number

  #### Returns number

  - Defined in src/data/pokemon-species.ts:370

### getBaseStat

- getBaseStat(stat: Stat ): number

  Gets the species' base stat amount for the given stat.

  #### Parameters

  - stat: Stat

    The desired stat.

  #### Returns number

  The species' base stat amount.

  - Defined in src/data/pokemon-species.ts:366

### getBaseStatTotal

- getBaseStatTotal(): number

  Gets the BST for the species

  #### Returns number

  The species' BST.

  - Defined in src/data/pokemon-species.ts:357

### getCryKey

- getCryKey(formIndex?: number): string

  #### Parameters

  - `Optional` formIndex: number

  #### Returns string

  - Defined in src/data/pokemon-species.ts:495

### `Abstract` getFormSpriteKey

- getFormSpriteKey(formIndex?: number): string

  #### Parameters

  - `Optional` formIndex: number

  #### Returns string

  - Defined in src/data/pokemon-species.ts:412

### getIconAtlasKey

- getIconAtlasKey(formIndex?: number, shiny?: boolean, variant?: number): string

  #### Parameters

  - `Optional` formIndex: number
  - `Optional` shiny: boolean
  - `Optional` variant: number

  #### Returns string

  - Defined in src/data/pokemon-species.ts:432

### getIconId

- getIconId(
  female: boolean,
  formIndex?: number,
  shiny?: boolean,
  variant?: number,
  ): string

  #### Parameters

  - female: boolean
  - `Optional` formIndex: number
  - `Optional` shiny: boolean
  - `Optional` variant: number

  #### Returns string

  - Defined in src/data/pokemon-species.ts:439

### getLevelMoves

- getLevelMoves(): LevelMoves

  #### Returns LevelMoves

  - Defined in src/data/pokemon-species.ts:314

### getPassiveAbility

- getPassiveAbility(formIndex?: number): Abilities

  Method to get the passive ability of a Pokemon species

  #### Parameters

  - `Optional` formIndex: number

    The form index to use, defaults to form for this species instance

  #### Returns Abilities

  The id of the ability

  - Defined in src/data/pokemon-species.ts:291

### getRegion

- getRegion(): Region

  #### Returns Region

  - Defined in src/data/pokemon-species.ts:324

### getRootSpeciesId

- getRootSpeciesId(forStarter?: boolean): Species

  Method to get the root species id of a Pokemon. Magmortar.getRootSpeciesId(true) => Magmar Magmortar.getRootSpeciesId(false) => Magby

  #### Parameters

  - forStarter: boolean = false

    boolean to get the nonbaby form of a starter

  #### Returns Species

  The species

  - Defined in src/data/pokemon-species.ts:233

### getSpriteAtlasPath

- getSpriteAtlasPath(
  female: boolean,
  formIndex?: number,
  shiny?: boolean,
  variant?: number,
  back?: boolean,
  ): string

  #### Parameters

  - female: boolean
  - `Optional` formIndex: number
  - `Optional` shiny: boolean
  - `Optional` variant: number
  - `Optional` back: boolean

  #### Returns string

  - Defined in src/data/pokemon-species.ts:385

### getSpriteId

- getSpriteId(
  female: boolean,
  formIndex?: number,
  shiny?: boolean,
  variant?: number,
  back?: boolean,
  ): string

  #### Parameters

  - female: boolean
  - `Optional` formIndex: number
  - `Optional` shiny: boolean
  - variant: number = 0
  - `Optional` back: boolean

  #### Returns string

  - Defined in src/data/pokemon-species.ts:390

### getSpriteKey

- getSpriteKey(
  female: boolean,
  formIndex?: number,
  shiny?: boolean,
  variant?: number,
  back?: boolean,
  ): string

  #### Parameters

  - female: boolean
  - `Optional` formIndex: number
  - `Optional` shiny: boolean
  - `Optional` variant: number
  - `Optional` back: boolean

  #### Returns string

  - Defined in src/data/pokemon-species.ts:408

### getVariantDataIndex

- getVariantDataIndex(formIndex?: number): string | number

  Variant Data key/index is either species id or species id followed by -formkey

  #### Parameters

  - `Optional` formIndex: number

    optional form index for pokemon with different forms

  #### Returns string | number

  species id if no additional forms, index with formkey if a pokemon with a form

  - Defined in src/data/pokemon-species.ts:419

### isCatchable

- isCatchable(): boolean

  #### Returns boolean

  - Defined in src/data/pokemon-species.ts:332

### isObtainable

- isObtainable(): boolean

  #### Returns boolean

  - Defined in src/data/pokemon-species.ts:328

### isOfType

- isOfType(type: number): boolean

  #### Parameters

  - type: number

  #### Returns boolean

  - Defined in src/data/pokemon-species.ts:257

### isRareRegional

- isRareRegional(): boolean

  #### Returns boolean

  - Defined in src/data/pokemon-species.ts:344

### isRegional

- isRegional(): boolean

  #### Returns boolean

  - Defined in src/data/pokemon-species.ts:336

### isTrainerForbidden

- isTrainerForbidden(): boolean

  #### Returns boolean

  - Defined in src/data/pokemon-species.ts:340

### loadAssets

- loadAssets(
  female: boolean,
  formIndex?: number,
  shiny?: boolean,
  variant?: Variant ,
  startLoad?: boolean,
  back?: boolean,
  ): Promise<void>

  #### Parameters

  - female: boolean
  - `Optional` formIndex: number
  - `Optional` shiny: boolean
  - `Optional` variant: Variant
  - `Optional` startLoad: boolean
  - `Optional` back: boolean

  #### Returns Promise<void>

  - Defined in src/data/pokemon-species.ts:588

### validateStarterMoveset

- validateStarterMoveset(moveset: StarterMoveset , eggMoves: number): boolean

  #### Parameters

  - moveset: StarterMoveset
  - eggMoves: number

  #### Returns boolean

  - Defined in src/data/pokemon-species.ts:564