Class: Battle::Logic::BattleInfo

Inherits:
Object
  • Object
show all
Defined in:
docs/01600_Alpha_25_Battle_Engine_00200_Battle_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



521
522
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 521

def initialize(hash = {})
end

Instance Attribute Details

#additional_moneyInteger

Get the additionnal money

Returns:

  • (Integer)


512
513
514
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 512

def additional_money
  @additional_money
end

#ai_levelsArray<Array<Integer>>

Returns:

  • (Array<Array<Integer>>)


485
486
487
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 485

def ai_levels
  @ai_levels
end

#background_nameString

Get the background name

Returns:



653
654
655
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 653

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



481
482
483
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 481

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



487
488
489
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 487

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)



497
498
499
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 497

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



479
480
481
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 479

def battlers
  @battlers
end

#caught_pokemonPFM::PokemonBattler

Get the caught Pokemon

Returns:



506
507
508
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 506

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



477
478
479
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 477

def classes
  @classes
end

#defeat_textsArray<String>

Get the defeat text of the enemy trainers

Returns:



518
519
520
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 518

def defeat_texts
  @defeat_texts
end

#fishingBoolean

Tell if the battle follows a fishing attempt

Returns:

  • (Boolean)


503
504
505
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 503

def fishing
  @fishing
end

#flee_attempt_countInteger

Get the number of time the player tried to flee

Returns:

  • (Integer)


500
501
502
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 500

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



489
490
491
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 489

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



475
476
477
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 475

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



483
484
485
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 483

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



495
496
497
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 495

def trainer_is_couple
  @trainer_is_couple
end

#victory_bgmString

Get the victory BGM (victory of the enemies)

Returns:



509
510
511
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 509

def victory_bgm
  @victory_bgm
end

#victory_textsArray<String>

Get the victory texts of the enemy trainers

Returns:



515
516
517
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 515

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



491
492
493
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 491

def vs_type
  @vs_type
end

#wild_battle_reasonInteger

Returns Reason of the wild battle.

Returns:

  • (Integer)

    Reason of the wild battle



493
494
495
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 493

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



539
540
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 539

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)


544
545
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 544

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:



550
551
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 550

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:



533
534
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 533

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)


570
571
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 570

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:



590
591
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 590

def bag(battler)
end

#base_money(battler) ⇒ Integer

Get the base money of a battler

Parameters:

Returns:

  • (Integer)


600
601
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 600

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



625
626
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 625

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



629
630
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 629

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



613
614
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 613

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



617
618
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 617

def defeat_bgm=(bgm)
end

#determine_battler(resources) ⇒ String

Determine the battler that should be sent back

Parameters:

Returns:



575
576
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 575

def determine_battler(resources)
end

#disallow_exp?Boolean

Tell if the battle allow exp

Returns:

  • (Boolean)


525
526
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 525

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



660
661
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 660

def find_background_name_to_display(prefix = nil, &block)
end

#guess_battle_bgmArray, String

Function that guess the battle bgm

Returns:



633
634
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 633

def guess_battle_bgm
end

#guess_defeat_bgmArray, String

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

Returns:



637
638
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 637

def guess_defeat_bgm
end

#money_item_multiplier?(logic) ⇒ Boolean

Tell if the money item multiplier is active

Parameters:

Returns:

  • (Boolean)


609
610
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 609

def money_item_multiplier?(logic)
end

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

Get the party of a battler

Parameters:

Returns:



595
596
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 595

def party(battler)
end

#player_basic_infoArray

Return the basic info about the player

Returns:

  • (Array)


559
560
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 559

def player_basic_info
end

#total_money(logic)

Get the total money

Parameters:



604
605
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 604

def total_money(logic)
end

#trainer_battle?Boolean

Tell if the battle is a trainer battle

Returns:

  • (Boolean)


555
556
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 555

def trainer_battle?
end

#trainer_class(battler) ⇒ String

Get the trainer class of a battler

Parameters:

Returns:



585
586
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 585

def trainer_class(battler)
end

#trainer_name(battler) ⇒ String

Get the trainer name of a battler

Parameters:

Returns:



580
581
# File 'docs/01600_Alpha_25_Battle_Engine_00200_Battle_Logic.rb', line 580

def trainer_name(battler)
end