Class: Battle::Logic::BattleInfo

Inherits:
Object
  • Object
show all
Defined in:
docs/5_Battle_04_Logic.rb

Overview

Class describing the informations about the battle

Constant Summary collapse

MONEY_ITEMS =

List of item decupling money

%i[amulet_coin luck_incense]
AI_LEVELS_BASE_MONEY =

List of base money giving AI levels (if strictly below the value)

[16, 20, 36, 48, 80, 100, 200, Float::INFINITY]
BASE_TRAINER_BATTLE_BGM =

Information of the base trainer battle bgm

Returns:

  • (Array)
['audio/bgm/xy_trainer_battle', 100, 100]
BASE_WILD_BATTLE_BGM =

Information of the base wild battle bgm

Returns:

  • (Array)
['audio/bgm/rosa_wild_battle', 100, 100]
BASE_TRAINER_DEFEAT_BGM =

Information of the base trainer defeat bgm

Returns:

  • (Array)
['audio/bgm/xy_trainer_battle_victory', 100, 100]
BASE_WILD_DEFEAT_BGM =

Information of the base wild defeat bgm

Returns:

  • (Array)
['audio/bgm/xy_wild_battle_victory.ogg', 100, 100]
BACKGROUND_NAMES =

Name of the background according to their processed zone_type

['back_building', 'back_grass', 'back_tall_grass', 'back_taller_grass', 'back_cave', 'back_mount', 'back_sand', 'back_pond', 'back_sea', 'back_under_water', 'back_ice', 'back_snow']
TIMED_BACKGROUND_SUFFIXES =

List of of suffix for the timed background. Order is morning, day, sunset, night.

Returns:

[['morning', 'day'], ['day'], ['sunset', 'night'], ['night']]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash = {}) ⇒ BattleInfo

Create a new Battle Info

Parameters:

  • hash (Hash) (defaults to: {})

    basic info about the battle



528
529
# File 'docs/5_Battle_04_Logic.rb', line 528

def initialize(hash = {})
end

Instance Attribute Details

#additional_moneyInteger

Get the additionnal money

Returns:

  • (Integer)


519
520
521
# File 'docs/5_Battle_04_Logic.rb', line 519

def additional_money
  @additional_money
end

#ai_levelsArray<Array<Integer>>

Returns:

  • (Array<Array<Integer>>)


492
493
494
# File 'docs/5_Battle_04_Logic.rb', line 492

def ai_levels
  @ai_levels
end

#background_nameString

Get the background name

Returns:



660
661
662
# File 'docs/5_Battle_04_Logic.rb', line 660

def background_name
  @background_name
end

#bagsArray<Array<PFM::Bag>>

Returns List of the bags of the battlers according to the bank.

Returns:

  • (Array<Array<PFM::Bag>>)

    List of the bags of the battlers according to the bank



488
489
490
# File 'docs/5_Battle_04_Logic.rb', line 488

def bags
  @bags
end

#base_moneysArray<Array<Integer>>

Returns List of the base money of the battlers according to the bank.

Returns:

  • (Array<Array<Integer>>)

    List of the base money of the battlers according to the bank



494
495
496
# File 'docs/5_Battle_04_Logic.rb', line 494

def base_moneys
  @base_moneys
end

#battle_idInteger

Returns ID of the battle (for event loading).

Returns:

  • (Integer)

    ID of the battle (for event loading)



504
505
506
# File 'docs/5_Battle_04_Logic.rb', line 504

def battle_id
  @battle_id
end

#battlersArray<Array<String>>

Returns List of the battler (image) name of the battlers according to the bank.

Returns:

  • (Array<Array<String>>)

    List of the battler (image) name of the battlers according to the bank



486
487
488
# File 'docs/5_Battle_04_Logic.rb', line 486

def battlers
  @battlers
end

#caught_pokemonPFM::PokemonBattler

Get the caught Pokemon

Returns:



513
514
515
# File 'docs/5_Battle_04_Logic.rb', line 513

def caught_pokemon
  @caught_pokemon
end

#classesArray<Array<String>>

Returns List of the classes of the battlers according to the bank & their position.

Returns:

  • (Array<Array<String>>)

    List of the classes of the battlers according to the bank & their position



484
485
486
# File 'docs/5_Battle_04_Logic.rb', line 484

def classes
  @classes
end

#defeat_textsArray<String>

Get the defeat text of the enemy trainers

Returns:



525
526
527
# File 'docs/5_Battle_04_Logic.rb', line 525

def defeat_texts
  @defeat_texts
end

#fishingBoolean

Tell if the battle follows a fishing attempt

Returns:

  • (Boolean)


510
511
512
# File 'docs/5_Battle_04_Logic.rb', line 510

def fishing
  @fishing
end

#flee_attempt_countInteger

Get the number of time the player tried to flee

Returns:

  • (Integer)


507
508
509
# File 'docs/5_Battle_04_Logic.rb', line 507

def flee_attempt_count
  @flee_attempt_count
end

#max_levelInteger?

Returns Maximum level allowed for the battle.

Returns:

  • (Integer, nil)

    Maximum level allowed for the battle



496
497
498
# File 'docs/5_Battle_04_Logic.rb', line 496

def max_level
  @max_level
end

#namesArray<Array<String>>

Returns List of the name of the battlers according to the bank & their position.

Returns:

  • (Array<Array<String>>)

    List of the name of the battlers according to the bank & their position



482
483
484
# File 'docs/5_Battle_04_Logic.rb', line 482

def names
  @names
end

#partiesArray<Array<Array<PFM::Pokemon>>>

Returns List of the “Party” of the battlers according to the bank & their position.

Returns:

  • (Array<Array<Array<PFM::Pokemon>>>)

    List of the “Party” of the battlers according to the bank & their position



490
491
492
# File 'docs/5_Battle_04_Logic.rb', line 490

def parties
  @parties
end

#trainer_is_coupleBoolean

Returns if the trainer battle is a “couple” battle.

Returns:

  • (Boolean)

    if the trainer battle is a “couple” battle



502
503
504
# File 'docs/5_Battle_04_Logic.rb', line 502

def trainer_is_couple
  @trainer_is_couple
end

#victory_bgmString

Get the victory BGM (victory of the enemies)

Returns:



516
517
518
# File 'docs/5_Battle_04_Logic.rb', line 516

def victory_bgm
  @victory_bgm
end

#victory_textsArray<String>

Get the victory texts of the enemy trainers

Returns:



522
523
524
# File 'docs/5_Battle_04_Logic.rb', line 522

def victory_texts
  @victory_texts
end

#vs_typeInteger

Returns Number of Pokemon fighting at the same time.

Returns:

  • (Integer)

    Number of Pokemon fighting at the same time



498
499
500
# File 'docs/5_Battle_04_Logic.rb', line 498

def vs_type
  @vs_type
end

#wild_battle_reasonInteger

Returns Reason of the wild battle.

Returns:

  • (Integer)

    Reason of the wild battle



500
501
502
# File 'docs/5_Battle_04_Logic.rb', line 500

def wild_battle_reason
  @wild_battle_reason
end

Class Method Details

.add_trainer(battle_info, bank, id_trainer)

Add a trainer to the battle_info object

Parameters:

  • battle_info (BattleInfo)
  • bank (Integer)

    bank of the trainer

  • id_trainer (Integer)

    ID of the trainer in the database



546
547
# File 'docs/5_Battle_04_Logic.rb', line 546

def add_trainer(battle_info, bank, id_trainer)
end

.ai_level(base_money) ⇒ Integer

Guess the AI level based on the base money (or a variable)

Parameters:

  • base_money (Integer)

Returns:

  • (Integer)


551
552
# File 'docs/5_Battle_04_Logic.rb', line 551

def ai_level(base_money)
end

.change_battle_bgms(battle_info, trainer)

Give the new BGMs to the Battle_Info if the current BGMs are the guessed one This means the first trainer added will give its info to the Battle_Info

Parameters:



557
558
# File 'docs/5_Battle_04_Logic.rb', line 557

def change_battle_bgms(battle_info, trainer)
end

.from_old_psdk_settings(id_trainer1, id_trainer2 = 0, id_friend = 0) ⇒ Battle::Logic::BattleInfo

Configure a PSDK battle from old settings

Parameters:

  • id_trainer1 (Integer)
  • id_trainer2 (Integer) (defaults to: 0)
  • id_friend (Integer) (defaults to: 0)

Returns:



540
541
# File 'docs/5_Battle_04_Logic.rb', line 540

def from_old_psdk_settings(id_trainer1, id_trainer2 = 0, id_friend = 0)
end

Instance Method Details

#add_party(bank, party, name = nil, klass = nil, battler = nil, bag = nil, base_money = nil, ai_level = nil, victory_text = nil, defeat_text = nil)

Add a party to a bank

Parameters:

  • bank (Integer)

    bank where the party should be defined

  • party (Array<PFM::Pokemon>)

    Pokemon of the battler

  • name (String, nil) (defaults to: nil)

    name of the battler (don’t set it if Wild Battle)

  • klass (String, nil) (defaults to: nil)

    name of the battler (don’t set it if Wild Battle)

  • battler (String, nil) (defaults to: nil)

    name of the battler image (don’t set it if Wild Battle)

  • bag (String, nil) (defaults to: nil)

    bag used by the party

  • base_money (Integer) (defaults to: nil)
  • ai_level (Integer) (defaults to: nil)


577
578
# File 'docs/5_Battle_04_Logic.rb', line 577

def add_party(bank, party, name = nil, klass = nil, battler = nil, bag = nil, base_money = nil, ai_level = nil, victory_text = nil, defeat_text = nil)
end

#bag(battler) ⇒ PFM::Bag

Get the bag of a battler

Parameters:

Returns:



597
598
# File 'docs/5_Battle_04_Logic.rb', line 597

def bag(battler)
end

#base_money(battler) ⇒ Integer

Get the base money of a battler

Parameters:

Returns:

  • (Integer)


607
608
# File 'docs/5_Battle_04_Logic.rb', line 607

def base_money(battler)
end

#battle_bgmString, Array

Get the battle bgm music

Returns:

  • (String, Array)

    string if it’s the filename only, Array if volume/pitch/fade are forwarded



632
633
# File 'docs/5_Battle_04_Logic.rb', line 632

def battle_bgm
end

#battle_bgm=(bgm)

Set the battle_bgm

Parameters:

  • bgm (String, Array)

    String if it’s the filename only, Array if volume/pitch/fade are forwarded



636
637
# File 'docs/5_Battle_04_Logic.rb', line 636

def battle_bgm=(bgm)
end

#defeat_bgmString, Array

Get the defeat bgm music

Returns:

  • (String, Array)

    string if it’s the filename only, Array if volume/pitch/fade are forwarded



620
621
# File 'docs/5_Battle_04_Logic.rb', line 620

def defeat_bgm
end

#defeat_bgm=(bgm)

Set the defeat_bgm

Parameters:

  • bgm (String, Array)

    String if it’s the filename only, Array if volume/pitch/fade are forwarded



624
625
# File 'docs/5_Battle_04_Logic.rb', line 624

def defeat_bgm=(bgm)
end

#determine_battler(resources, bank) ⇒ String

Determine the battler that should be sent back

Parameters:

Returns:



582
583
# File 'docs/5_Battle_04_Logic.rb', line 582

def determine_battler(resources, bank)
end

#disallow_exp?Boolean

Tell if the battle allow exp

Returns:

  • (Boolean)


532
533
# File 'docs/5_Battle_04_Logic.rb', line 532

def disallow_exp?
end

#find_background_name_to_display(prefix = nil, &block) {|background_name| ... } ⇒ String

Get the correct background name to display

Parameters:

  • prefix (String, nil) (defaults to: nil)

    prefix to add to all suggested background

  • block (Proc)

    proc responsive of telling weither the filename param exists and can be used

Yield Parameters:

Yield Returns:

  • (Boolean)

Returns:

  • (String)

    found background name



667
668
# File 'docs/5_Battle_04_Logic.rb', line 667

def find_background_name_to_display(prefix = nil, &block)
end

#guess_battle_bgmArray, String

Function that guess the battle bgm

Returns:



640
641
# File 'docs/5_Battle_04_Logic.rb', line 640

def guess_battle_bgm
end

#guess_defeat_bgmArray, String

Function that guess the defeat bgm (defeat of the enemy trainer/wild Pokemon)

Returns:



644
645
# File 'docs/5_Battle_04_Logic.rb', line 644

def guess_defeat_bgm
end

#money_item_multiplier?(logic) ⇒ Boolean

Tell if the money item multiplier is active

Parameters:

Returns:

  • (Boolean)


616
617
# File 'docs/5_Battle_04_Logic.rb', line 616

def money_item_multiplier?(logic)
end

#party(battler) ⇒ Array<PFM::Pokemon>

Get the party of a battler

Parameters:

Returns:



602
603
# File 'docs/5_Battle_04_Logic.rb', line 602

def party(battler)
end

#player_basic_infoArray

Return the basic info about the player

Returns:

  • (Array)


566
567
# File 'docs/5_Battle_04_Logic.rb', line 566

def player_basic_info
end

#total_money(logic)

Get the total money

Parameters:



611
612
# File 'docs/5_Battle_04_Logic.rb', line 611

def total_money(logic)
end

#trainer_battle?Boolean

Tell if the battle is a trainer battle

Returns:

  • (Boolean)


562
563
# File 'docs/5_Battle_04_Logic.rb', line 562

def trainer_battle?
end

#trainer_class(battler) ⇒ String

Get the trainer class of a battler

Parameters:

Returns:



592
593
# File 'docs/5_Battle_04_Logic.rb', line 592

def trainer_class(battler)
end

#trainer_name(battler) ⇒ String

Get the trainer name of a battler

Parameters:

Returns:



587
588
# File 'docs/5_Battle_04_Logic.rb', line 587

def trainer_name(battler)
end