Class: PFM::GameState

Inherits:
Object show all
Defined in:
docs/4_Systems_000_General_3_GameState.rb,
docs/4_Systems_101_Dex.rb,
docs/4_Systems_103_Bag.rb,
docs/4_Systems_901_GTS.rb,
docs/4_Systems_203_Shop.rb,
docs/4_Systems_999_Wild.rb,
docs/4_Systems_800_Quest.rb,
docs/4_Systems_104_Trainer.rb,
docs/4_Systems_105_Options.rb,
docs/4_Systems_200_Storage.rb,
docs/4_Systems_201_Daycare.rb,
docs/4_Systems_202_Environment.rb,
docs/4_Systems_801_Mining_Game.rb,
docs/4_Systems_300_Hall_of_fame.rb,
docs/4_Systems_951_DynamicLight.rb,
docs/4_Systems_998_Global_Systems.rb

Overview

The game informations and Party management

The global object is stored in PFM.game_state

Author:

  • Nuri Yuri

Constant Summary collapse

ON_INITIALIZE =

Constant containing all the proc to call when creating a new GameState object (for battle)

{}
ON_PLAYER_INITIALIZE =

Constant containing all the proc to call when creating a new GameState object (for the player)

{}
ON_EXPAND_GLOBAL_VARIABLES =

Constant containing all the proc to call when expanding the global variables

{}
FASTER_HATCH_ABILITIES =

Abilities that increase the hatch speed

%i[magma_armor flame_body steam_engine]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(battle = false, starting_language = 'en') ⇒ GameState

Create a new Pokemon Party

Parameters:

  • battle (Boolean) (defaults to: false)

    if its a party of a NPC battler

  • starting_language (String) (defaults to: 'en')

    the lang id of the game described by this object



173
174
# File 'docs/4_Systems_000_General_3_GameState.rb', line 173

def initialize(battle = false, starting_language = 'en')
end

Instance Attribute Details

#actorsArray<PFM::Pokemon>

The Pokemon of the Player

Returns:



32
33
34
# File 'docs/4_Systems_000_General_3_GameState.rb', line 32

def actors
  @actors
end

#bagPFM::Bag

The bag of the player

Returns:



126
127
128
# File 'docs/4_Systems_103_Bag.rb', line 126

def bag
  @bag
end

#berriesHash

The in game berry data

Returns:

  • (Hash)


168
169
170
# File 'docs/4_Systems_000_General_3_GameState.rb', line 168

def berries
  @berries
end

#daycarePFM::Daycare

The daycare management object

Returns:



240
241
242
# File 'docs/4_Systems_201_Daycare.rb', line 240

def daycare
  @daycare
end

#envPFM::Environment

The environment informations

Returns:



285
286
287
# File 'docs/4_Systems_202_Environment.rb', line 285

def env
  @env
end

#game_actorsGame_Actors

The $game_actors

Returns:

  • (Game_Actors)


101
102
103
# File 'docs/4_Systems_000_General_3_GameState.rb', line 101

def game_actors
  @game_actors
end

#game_mapGame_Map

The $game_map

Returns:



117
118
119
# File 'docs/4_Systems_000_General_3_GameState.rb', line 117

def game_map
  @game_map
end

#game_partyGame_Party

The $game_party

Returns:

  • (Game_Party)


108
109
110
# File 'docs/4_Systems_000_General_3_GameState.rb', line 108

def game_party
  @game_party
end

#game_playerGame_Player

The $game_player

Returns:



124
125
126
# File 'docs/4_Systems_000_General_3_GameState.rb', line 124

def game_player
  @game_player
end

#game_screenGame_Screen

The $game_screen

Returns:



94
95
96
# File 'docs/4_Systems_000_General_3_GameState.rb', line 94

def game_screen
  @game_screen
end

#game_self_switchesGame_SelfSwitches

The $game_self_switches

Returns:

  • (Game_SelfSwitches)


73
74
75
# File 'docs/4_Systems_000_General_3_GameState.rb', line 73

def game_self_switches
  @game_self_switches
end

#game_self_variablesGame_SelfVariables

The $game_self_variables

Returns:

  • (Game_SelfVariables)


80
81
82
# File 'docs/4_Systems_000_General_3_GameState.rb', line 80

def game_self_variables
  @game_self_variables
end

#game_switchesGame_Switches

The $game_switches

Returns:

  • (Game_Switches)


63
64
65
# File 'docs/4_Systems_000_General_3_GameState.rb', line 63

def game_switches
  @game_switches
end

#game_systemGame_System

The $game_system

Returns:

  • (Game_System)


87
88
89
# File 'docs/4_Systems_000_General_3_GameState.rb', line 87

def game_system
  @game_system
end

#game_tempGame_Temp

The $game_temp

Returns:

  • (Game_Temp)


131
132
133
# File 'docs/4_Systems_000_General_3_GameState.rb', line 131

def game_temp
  @game_temp
end

#game_variablesGame_Variables

The $game_variables

Returns:

  • (Game_Variables)


53
54
55
# File 'docs/4_Systems_000_General_3_GameState.rb', line 53

def game_variables
  @game_variables
end

#hall_of_famePFM::Hall_of_Fame

The list of the victory in the Pokemon League

Returns:



22
23
24
# File 'docs/4_Systems_300_Hall_of_fame.rb', line 22

def hall_of_fame
  @hall_of_fame
end

#honey_treesArray<Hash{ Symbol => Integer}> (readonly)

Access to the honey tree information

Returns:

  • (Array<Hash{ Symbol => Integer}>)


85
86
87
# File 'docs/4_Systems_998_Global_Systems.rb', line 85

def honey_trees
  @honey_trees
end

#level_max_limitInteger

Maximum level an allied Pokemon can reach

Returns:

  • (Integer)


163
164
165
# File 'docs/4_Systems_000_General_3_GameState.rb', line 163

def level_max_limit
  @level_max_limit
end

#mining_gamePFM::MiningGame

Stats and booleans relative to the Mining Game

Returns:



359
360
361
# File 'docs/4_Systems_801_Mining_Game.rb', line 359

def mining_game
  @mining_game
end

#nuri_yuri_dynamic_light

Access to the information of the current dynamic light state (Battle / Save)



181
182
183
# File 'docs/4_Systems_951_DynamicLight.rb', line 181

def nuri_yuri_dynamic_light
  @nuri_yuri_dynamic_light
end

#nuzlockeNuzlocke

The nuzlocke logic

Returns:



138
139
140
# File 'docs/4_Systems_000_General_3_GameState.rb', line 138

def nuzlocke
  @nuzlocke
end

#online_pokemon

Returns the value of attribute online_pokemon.



296
297
298
# File 'docs/4_Systems_901_GTS.rb', line 296

def online_pokemon
  @online_pokemon
end

#optionsPFM::Options

The game options

Returns:



76
77
78
# File 'docs/4_Systems_105_Options.rb', line 76

def options
  @options
end

#pathfinding_requestsArray<Object>

The pathfinding requests

Returns:



147
148
149
# File 'docs/4_Systems_000_General_3_GameState.rb', line 147

def pathfinding_requests
  @pathfinding_requests
end

#pokedexPFM::Pokedex

The Pokedex of the player

Returns:



166
167
168
# File 'docs/4_Systems_101_Dex.rb', line 166

def pokedex
  @pokedex
end

#questsPFM::Quests

The player quests informations

Returns:



405
406
407
# File 'docs/4_Systems_800_Quest.rb', line 405

def quests
  @quests
end

#repel_countInteger Also known as: get_repel_count

The number of steps the repel will work

Returns:

  • (Integer)


41
42
43
# File 'docs/4_Systems_000_General_3_GameState.rb', line 41

def repel_count
  @repel_count
end

#repel_step_cooldownBoolean

If the repel is on cooldown

Returns:

  • (Boolean)


49
50
51
# File 'docs/4_Systems_000_General_3_GameState.rb', line 49

def repel_step_cooldown
  @repel_step_cooldown
end

#shopPFM::Shop

The list of the limited shops

Returns:



81
82
83
# File 'docs/4_Systems_203_Shop.rb', line 81

def shop
  @shop
end

#stepsInteger

The number of steps the player did

Returns:

  • (Integer)


45
46
47
# File 'docs/4_Systems_000_General_3_GameState.rb', line 45

def steps
  @steps
end

#storagePFM::Storage

The PC storage of the player

Returns:



197
198
199
# File 'docs/4_Systems_200_Storage.rb', line 197

def storage
  @storage
end

#tint_time_setSymbol?

Name of the time set to use (nil = default)

Returns:

  • (Symbol, nil)


152
153
154
# File 'docs/4_Systems_000_General_3_GameState.rb', line 152

def tint_time_set
  @tint_time_set
end

#trainerPFM::Trainer

The informations about the player and the game

Returns:



184
185
186
# File 'docs/4_Systems_104_Trainer.rb', line 184

def trainer
  @trainer
end

#user_dataHash (readonly)

User data

Returns:

  • (Hash)


155
156
157
# File 'docs/4_Systems_000_General_3_GameState.rb', line 155

def user_data
  @user_data
end

#wild_battlePFM::Wild_Battle

The information about the Wild Battle

Returns:



295
296
297
# File 'docs/4_Systems_999_Wild.rb', line 295

def wild_battle
  @wild_battle
end

Class Method Details

.on_expand_global_variables(name, &block)

Add a new proc on global variable expand

Parameters:

  • name (Symbol)

    name of the block to add

  • block (Proc)

    proc to execute with the GameState context



27
28
# File 'docs/4_Systems_000_General_3_GameState.rb', line 27

def on_expand_global_variables(name, &block)
end

.on_initialize(name, &block)

Add a new proc on initialize (for battle)

Parameters:

  • name (Symbol)

    name of the block to add

  • block (Proc)

    proc to execute with the GameState context



17
18
# File 'docs/4_Systems_000_General_3_GameState.rb', line 17

def on_initialize(name, &block)
end

.on_player_initialize(name, &block)

Add a new proc on player initialize (for the player)

Parameters:

  • name (Symbol)

    name of the block to add

  • block (Proc)

    proc to execute with the GameState context



22
23
# File 'docs/4_Systems_000_General_3_GameState.rb', line 22

def on_player_initialize(name, &block)
end

Instance Method Details

#add_money(n)

Add money

Parameters:

  • n (Integer)

    amount of money to add



236
237
# File 'docs/4_Systems_000_General_3_GameState.rb', line 236

def add_money(n)
end

#add_pokemon(pkmn) ⇒ Boolean, Integer

Add a Pokemon to the pary (also update the Pokedex Informations)

Parameters:

Returns:

  • (Boolean, Integer)

    Box index if stored in a box, false if failed, true if stored in the Party



285
286
# File 'docs/4_Systems_000_General_3_GameState.rb', line 285

def add_pokemon(pkmn)
end

#alive?Boolean

Is the party able to start a battle ?

Returns:

  • (Boolean)


264
265
# File 'docs/4_Systems_000_General_3_GameState.rb', line 264

def alive?
end

#battle_starting_update

Note:

this methods calls common event 1 if a battle must start

Update section to detect if a wild battle must start



191
192
# File 'docs/4_Systems_000_General_3_GameState.rb', line 191

def battle_starting_update
end

#can_learn?(id) ⇒ Boolean #can_learn?(id, index) ⇒ Integer, false

Checks if one Pokemon of the party can learn the requested skill.

Overloads:

  • #can_learn?(id) ⇒ Boolean

    Parameters:

    • id (Integer, Symbol)

      the id of the skill in the database

    Returns:

    • (Boolean)
  • #can_learn?(id, index) ⇒ Integer, false

    Returns the position of the first pokemon that meets conditions

    Parameters:

    • id (Integer, Symbol)

      the id of the skill in the database

    • index (true)

      indicating to return the index

    Returns:

    • (Integer, false)


362
363
# File 'docs/4_Systems_000_General_3_GameState.rb', line 362

def can_learn?(id, index = false)
end

#can_learn_index(id) ⇒ Integer, false

Return the index of the Pokemon who can learn the specified skill

Parameters:

  • id (Integer, Symbol)

    the id of the skill in the database

Returns:

  • (Integer, false)


367
368
# File 'docs/4_Systems_000_General_3_GameState.rb', line 367

def can_learn_index(id)
end

#can_learn_or_learnt?(id) ⇒ Boolean #can_learn_or_learnt?(id, index) ⇒ Integer, false

Checks if one Pokemon of the party can learn or has learnt the requested skill.

Overloads:

  • #can_learn_or_learnt?(id) ⇒ Boolean

    Parameters:

    • id (Integer, Symbol)

      the id of the skill in the database

    Returns:

    • (Boolean)
  • #can_learn_or_learnt?(id, index) ⇒ Integer, false

    Returns the position of the first pokemon that meets conditions

    Parameters:

    • id (Integer, Symbol)

      the id of the skill in the database

    • index (true)

      indicating to return the index

    Returns:

    • (Integer, false)


378
379
# File 'docs/4_Systems_000_General_3_GameState.rb', line 378

def can_learn_or_learnt?(id, index = false)
end

#can_learn_or_learnt_index(id) ⇒ Integer, false

Return the index of the Pokemon who can learn or has learn the specified skill

Parameters:

  • id (Integer, Symbol)

    the id of the skill in the database

Returns:

  • (Integer, false)


383
384
# File 'docs/4_Systems_000_General_3_GameState.rb', line 383

def can_learn_or_learnt_index(id)
end

#cant_process_event_tasks?Boolean

Tell if EventTasks can’t process

Returns:

  • (Boolean)


206
207
# File 'docs/4_Systems_000_General_3_GameState.rb', line 206

def cant_process_event_tasks?
end

#contain_enough_selectable_pokemon?(arr = []) ⇒ Boolean Also known as: has_enough_selectable_pokemon?

Check if the player has enough Pokemon to choose in its party Doesn’t count banned Pokemon

Parameters:

  • arr (Array) (defaults to: [])

    ids of the banned Pokemon

Returns:

  • (Boolean)


311
312
# File 'docs/4_Systems_000_General_3_GameState.rb', line 311

def contain_enough_selectable_pokemon?(arr = [])
end

#contain_matching_pokemon?(id, level = nil, form = nil, shiny = nil, index: false) ⇒ Boolean, Integer Also known as: has_pokemon?

Check if the player has a specific Pokemon in its party

Parameters:

  • id (Integer, Symbol)

    id of the Pokemon in the database

  • level (Integer, nil) (defaults to: nil)

    the level required

  • form (Integer, nil) (defaults to: nil)

    the form of the Pokemon

  • shiny (Boolean, nil) (defaults to: nil)

    if the Pokemon should be shiny or not

  • index (Boolean) (defaults to: false)

    if you want an index when found

Returns:

  • (Boolean, Integer)

    if the Pokemon has been found



305
306
# File 'docs/4_Systems_000_General_3_GameState.rb', line 305

def contain_matching_pokemon?(id, level = nil, form = nil, shiny = nil, index: false)
end

#contain_pokemon_with_the_ability?(id, index = false) ⇒ Boolean, Integer Also known as: has_ability?

Check if the party has a Pokemon with a specific ability

Parameters:

  • id (Integer, Symbol)

    ID of the ability in the database

  • index (Boolean) (defaults to: false)

    if the method return the index of the Pokemon that has the ability

Returns:

  • (Boolean, Integer)


345
346
# File 'docs/4_Systems_000_General_3_GameState.rb', line 345

def contain_pokemon_with_the_ability?(id, index = false)
end

#contain_pokemon_with_the_skill?(id, index = false) ⇒ Boolean, Integer Also known as: has_skill?

Check if the party has a Pokemon with a specific skill

Parameters:

  • id (Integer, Symbol)

    ID of the skill in the database

  • index (Boolean) (defaults to: false)

    if the method return the index of the Pokemon that has the skill

Returns:

  • (Boolean, Integer)


333
334
# File 'docs/4_Systems_000_General_3_GameState.rb', line 333

def contain_pokemon_with_the_skill?(id, index = false)
end

#dead?Boolean

Is the party not able to start a battle ?

Returns:

  • (Boolean)


260
261
# File 'docs/4_Systems_000_General_3_GameState.rb', line 260

def dead?
end

#empty?Boolean

Is the party empty ?

Returns:

  • (Boolean)


252
253
# File 'docs/4_Systems_000_General_3_GameState.rb', line 252

def empty?
end

#expand_global_var

Expand the global variable with the instance variables of the object



184
185
# File 'docs/4_Systems_000_General_3_GameState.rb', line 184

def expand_global_var
end

#find_pokemon(criteria) ⇒ PFM::Pokemon?

Return the Pokemon that match the specific criteria

Parameters:

  • criteria (Hash)

    list of property linked to a value to check in order to find the Pokemon

Returns:



388
389
# File 'docs/4_Systems_000_General_3_GameState.rb', line 388

def find_pokemon(criteria)
end

#first_pokemon_alive_index

Index of the first pokemon alive in the party



271
272
# File 'docs/4_Systems_000_General_3_GameState.rb', line 271

def first_pokemon_alive_index
end

#full?Boolean

Is the party full ?

Returns:

  • (Boolean)


256
257
# File 'docs/4_Systems_000_General_3_GameState.rb', line 256

def full?
end

#hatch_check_update

Update the remaining steps of all the Egg to hatch



199
200
# File 'docs/4_Systems_000_General_3_GameState.rb', line 199

def hatch_check_update
end

#heal_party

Heal the pokemon in the Party



323
324
# File 'docs/4_Systems_000_General_3_GameState.rb', line 323

def heal_party
end

#increase_stepsArray

Increase the @step and manage events that trigger each steps

Returns:

  • (Array)

    informations about events that has been triggered.



210
211
# File 'docs/4_Systems_000_General_3_GameState.rb', line 210

def increase_steps
end

#load_parameters

Load some parameters (audio volume & text)



243
244
# File 'docs/4_Systems_000_General_3_GameState.rb', line 243

def load_parameters
end

#lose_money(n)

Lose money

Parameters:

  • n (Integer)

    amount of money to lose



240
241
# File 'docs/4_Systems_000_General_3_GameState.rb', line 240

def lose_money(n)
end

#loyalty_update

Update the loyalty process of the pokemon



202
203
# File 'docs/4_Systems_000_General_3_GameState.rb', line 202

def loyalty_update
end

#max_levelInteger

Return the maximum level of the Pokemon in the Party

Returns:

  • (Integer)


327
328
# File 'docs/4_Systems_000_General_3_GameState.rb', line 327

def max_level
end

#moneyInteger

Return the money the player has

Returns:

  • (Integer)


228
229
# File 'docs/4_Systems_000_General_3_GameState.rb', line 228

def money
end

#money=(v)

Change the money the player has

Parameters:

  • v (Integer)


232
233
# File 'docs/4_Systems_000_General_3_GameState.rb', line 232

def money=(v)
end

#online_idInteger

Retrieve the online ID of the trainer

Returns:

  • (Integer)


299
300
# File 'docs/4_Systems_901_GTS.rb', line 299

def online_id
end

#poison_update

Update the processing of the poison event



194
195
# File 'docs/4_Systems_000_General_3_GameState.rb', line 194

def poison_update
end

#pokemon_ability_index(id) ⇒ Integer, false

Get the index of the Pokemon that has the specified ability

Parameters:

  • id (Integer, Symbol)

    ID of the ability in the database

Returns:

  • (Integer, false)


351
352
# File 'docs/4_Systems_000_General_3_GameState.rb', line 351

def pokemon_ability_index(id)
end

#pokemon_alive(max = @actors.size)

Number of pokemon alive in the party

Parameters:

  • max (Integer) (defaults to: @actors.size)

    the number of Pokemon to check from the begining of the party



268
269
# File 'docs/4_Systems_000_General_3_GameState.rb', line 268

def pokemon_alive(max = @actors.size)
end

#pokemon_index(id, level = nil, form = nil, shiny = nil) ⇒ Integer, false

Find a specific Pokemon index in the party

Parameters:

  • id (Integer, Symbol)

    id of the Pokemon in the database

  • level (Integer, nil) (defaults to: nil)

    the level required

  • form (Integer, nil) (defaults to: nil)

    the form of the Pokemon

  • shiny (Boolean, nil) (defaults to: nil)

    if the Pokemon should be shiny or not

Returns:

  • (Integer, false)

    index of the Pokemon in the party



320
321
# File 'docs/4_Systems_000_General_3_GameState.rb', line 320

def pokemon_index(id, level = nil, form = nil, shiny = nil)
end

#pokemon_skill_index(id) ⇒ Integer, false

Get the index of the Pokemon that has the specified skill

Parameters:

  • id (Integer, Symbol)

    ID of the skill in the database

Returns:

  • (Integer, false)


339
340
# File 'docs/4_Systems_000_General_3_GameState.rb', line 339

def pokemon_skill_index(id)
end

#raw_online_idInteger?

The raw_online_id doesn’t have the checksum to get a new ID, this is used for when you do new game.

Returns:

  • (Integer, nil)


304
305
# File 'docs/4_Systems_901_GTS.rb', line 304

def raw_online_id
end

#remove_pokemon(var, by_id = false, all = false)

Remove a pokemon from the party

Parameters:

  • var (Integer, Symbol)

    the var value (index or id)

  • by_id (Boolean) (defaults to: false)

    if the pokemon are removed by their id

  • all (Boolean) (defaults to: false)

    if every pokemon that has the id are removed



291
292
# File 'docs/4_Systems_000_General_3_GameState.rb', line 291

def remove_pokemon(var, by_id = false, all = false)
end

#repel_on_cooldown?Boolean

Tell the state of the cooldown provided by cancelling a Repel check

Returns:

  • (Boolean)


224
225
# File 'docs/4_Systems_000_General_3_GameState.rb', line 224

def repel_on_cooldown?
end

#repel_update

Update the processing of the repel



187
188
# File 'docs/4_Systems_000_General_3_GameState.rb', line 187

def repel_update
end

#sizeInteger

Return the size of the party

Returns:

  • (Integer)


248
249
# File 'docs/4_Systems_000_General_3_GameState.rb', line 248

def size
end

#specific_alive?(id) ⇒ Boolean

Test if a specific Pokémon is able to fight or not

Examples:

Checking if Pikachu is alive in the party

PFM.game_state.specific_alive?(25)

Checking if alolan Meowth is alive in the party

PFM.game_state.specific_alive?(52) { |pokemon| pokemon.form == 1 }

Parameters:

  • id (Integer)

    ID of the Pokemon

Returns:

  • (Boolean)


280
281
# File 'docs/4_Systems_000_General_3_GameState.rb', line 280

def specific_alive?(id)
end

#switch_pokemon(first, second)

Switch pokemon in the party

Parameters:

  • first (Integer)

    index of the first pokemon to switch

  • second (Integer)

    index of the second pokemon to switch



296
297
# File 'docs/4_Systems_000_General_3_GameState.rb', line 296

def switch_pokemon(first, second)
end