Class: Battle::AI::Base

Inherits:
Object show all
Includes:
Hooks
Defined in:
docs/5_Battle_30_AI.rb

Overview

Base class of AI, it holds the most important data

Constant Summary collapse

BOOSTING_ITEMS =

List of boosting items

%i[x_attack x_sp_atk x_speed x_defense x_sp_def dire_hit guard_spec]
HEALING_ITEMS =

List of healing items

%i[full_restore hyper_potion energy_root moomoo_milk lemonade super_potion energy_powder soda_pop fresh_water potion berry_juice sweet_heart sitrus_berry oran_berry]
POISON_HEAL_ITEMS =

List of item that heal from poison

%i[antidote full_heal heal_powder lava_cookie old_gateau pecha_berry lum_berry casteliacone lumiose_galette shalour_sable]
BURN_HEAL_ITEMS =

List of item that heals from burn state

%i[burn_heal full_heal heal_powder lava_cookie old_gateau rawst_berry lum_berry casteliacone lumiose_galette shalour_sable]
PARALYZE_HEAL_ITEMS =

List of item that heals from paralysis

%i[paralyze_heal full_heal heal_powder lava_cookie old_gateau cheri_berry lum_berry casteliacone lumiose_galette shalour_sable]
FREEZE_HEAL_ITEMS =

List of item that heals from frozen state

%i[ice_heal full_heal heal_powder lava_cookie old_gateau aspear_berry lum_berry casteliacone lumiose_galette shalour_sable]
WAKE_UP_ITEMS =

List of item that wake the Pokemon up

%i[awakening full_heal heal_powder lava_cookie old_gateau blue_flute chesto_berry lum_berry casteliacone lumiose_galette shalour_sable]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Hooks

#exec_hooks, #force_return, included, remove, remove_without_name

Constructor Details

#initialize(scene, bank, party_id, level) ⇒ Base

Create a new AI instance

Parameters:

  • scene (Battle::Scene)

    scene that hold the logic object

  • bank (Integer)

    bank where the AI acts

  • party_id (Integer)

    ID of the party the AI look for Pokemon info

  • level (Integer)

    level of tha AI



150
151
# File 'docs/5_Battle_30_AI.rb', line 150

def initialize(scene, bank, party_id, level)
end

Instance Attribute Details

#bankInteger (readonly)

Get the bank the AI controls

Returns:

  • (Integer)


140
141
142
# File 'docs/5_Battle_30_AI.rb', line 140

def bank
  @bank
end

#party_idInteger (readonly)

Get the party the AI controls

Returns:

  • (Integer)


143
144
145
# File 'docs/5_Battle_30_AI.rb', line 143

def party_id
  @party_id
end

#sceneBattle::Scene (readonly)

Get the scene that initialized the AI

Returns:



137
138
139
# File 'docs/5_Battle_30_AI.rb', line 137

def scene
  @scene
end

Class Method Details

.register(level, klass)

Register a new AI

Parameters:

  • level (Integer)

    level of the AI

  • klass (Class<Base>)


160
161
# File 'docs/5_Battle_30_AI.rb', line 160

def register(level, klass)
end

.registered(level) ⇒ Class<Battle::AI::Base>

Get a registered AI

Parameters:

  • level (Integer)

    level of the AI

Returns:



165
166
# File 'docs/5_Battle_30_AI.rb', line 165

def registered(level)
end

Instance Method Details

#controlled_pokemonArray<PFM::PokemonBattler>

Get all the controlled Pokemon

Returns:



174
175
# File 'docs/5_Battle_30_AI.rb', line 174

def controlled_pokemon
end

#partyArray<PFM::PokemonBattler>

Get all Pokemon in the party of the AI

Returns:



170
171
# File 'docs/5_Battle_30_AI.rb', line 170

def party
end

#request_switch(who) ⇒ PFM::PokemonBattler?

Function returning pokemon to switch with on request

Parameters:

Returns:



266
267
# File 'docs/5_Battle_30_AI.rb', line 266

def request_switch(who)
end

#triggerArray<Actions::Base>

Get the action the AI wants to do

Returns:



154
155
# File 'docs/5_Battle_30_AI.rb', line 154

def trigger
end