Class: Battle::Move

Inherits:
Object show all
Includes:
Hooks
Defined in:
docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb,
docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move_00001_Mechanics.rb,
docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move_00010_Definitions.rb

Overview

Generic class describing a move

Defined Under Namespace

Modules: Mechanics Classes: AbilityChanging, AbilitySwap, Absorb, Acrobatics, Acupressure, AddThirdType, AfterYou, AquaRing, Assist, Assurance, Attract, AuraWheel, Autotomize, Avalanche, BaddyBad, Basic, BasicWithSuccessfulEffect, BatonPass, BeakBlast, BeatUp, Belch, BellyDrum, Bestow, Bide, Bind, BodyPress, BrickBreak, Brine, BurnUp, Camouflage, CantSwitch, Captivate, ChangeType, Charge, ClangorousSoul, Conversion, Conversion2, CoreEnforcer, Counter, CounterBase, CraftyShield, Curse, CustomStatsBased, Defog, DestinyBond, Disable, DoNothing, DoubleIronBash, DragonDarts, EchoedVoice, EerieSpell, Electrify, ElectroBall, ElectroShot, Embargo, Encore, Endeavor, Entrainment, Eruption, ExpandingForce, Facade, FakeOut, FalseSwipe, Fangs, Feint, FellStinger, FinalGambit, FishiousRend, FixedDamages, Flail, FlameBurst, Fling, FloralHealing, FlowerShield, FlyingPress, FocusEnergy, FocusPunch, FollowMe, ForceSwitch, Foresight, FoulPlay, FreezyFrost, Frustration, FullCrit, FuryCutter, FusionBolt, FusionFlare, FutureSight, GastroAcid, GearUp, Geomancy, GlitzyGlow, GrassyGlide, GravApple, Gravity, Growth, Grudge, GuardSplit, GuardSwap, GyroBall, HPEqLevel, HappyHour, Haze, HealBell, HealBlock, HealMove, HealWeather, HealingSacrifice, HealingWish, HeartSwap, HeavySlam, HelpingHand, Hex, HiddenPower, HighJumpKick, HitThenCureStatus, IceBall, IceSpinner, Imprison, Incinerate, Ingrain, IonDeluge, JawLock, Judgment, JungleHealing, KnockOff, LaserFocus, LastResort, LeechSeed, LifeDew, LockOn, LowKick, LuckyChant, LunarDance, MagicCoat, MagicPowder, MagicRoom, MagnetRise, MagneticFlux, Magnitude, MakeItRain, MeFirst, Memento, MetalBurst, Metronome, Mimic, MindBlown, Minimize, MiracleEye, MirrorCoat, MirrorMove, Mist, MistyExplosion, MudSport, MultiAttack, MultiHit, NaturalGift, NaturePower, Nightmare, NoRetreat, OHKO, Octolock, PainSplit, PartingShot, PayBack, PayDay, PerishSong, PlasmaFists, Pledge, Pluck, PollenPuff, Poltergeist, Powder, PowerSplit, PowerSwap, PowerTrick, Present, Protect, PsychUp, PsychoShift, Psywave, Purify, Pursuit, Quash, Rage, RageFist, RapidSpin, RecoilMove, Recycle, Reflect, ReflectType, RelicSong, Reload, Rest, Retaliate, Return, RevelationDance, Revenge, RisingVoltage, Rollout, Roost, Rototiller, Round, SacredSword, Safeguard, SappySeed, ScaleShot, SecretPower, SelfDestruct, SelfStat, SelfStatus, ShellSideArm, ShoreUp, SimpleBeam, Sketch, SkyDrop, SleepTalk, SmackDown, SmellingSalts, Snatch, Snore, SolarBeam, SparklingAria, SparklySwirl, SpectralThief, SpeedSwap, Spikes, SpitUp, Spite, Splash, StatAndStageEdit, StatAndStageEditBypassAccuracy, StatusStat, StealthRock, SteelRoller, StickyWeb, Stockpile, Stomp, StoredPower, StrengthSap, Struggle, StuffCheeks, Substitute, SuckerPunch, SuperFang, Swallow, Switcheroo, Synchronoise, Tailwind, TarShot, Taunt, Teatime, TechnoBlast, Telekinesis, Teleport, TerrainMove, TerrainPulse, Thief, Thrash, ThreeHit, ThroatChop, Thunder, TopsyTurvy, Torment, ToxicSpikes, ToxicThread, Transform, TriAttack, TrickRoom, TripleKick, TrumpCard, TwoHit, TwoTurnBase, UTurn, UpRoar, VenomDrench, Venoshock, WakeUpSlap, WaterShuriken, WeatherBall, WeatherMove, Wish, WonderRoom, WorrySeed, WringOut, Yawn

Constant Summary collapse

REGISTERED_MOVES =

Returns list of the registered moves.

Returns:

  • (Hash{Symbol => Class})

    list of the registered moves

Hash.new(Move)
R_RANGE =

Range of the R random factor

85..100
OneTarget =

List of symbol describe a one target aim

%i[any_other_pokemon random_foe adjacent_pokemon adjacent_foe user user_or_adjacent_ally adjacent_ally]
TargetNoAsk =

List of symbol that doesn’t show any choice of target

%i[adjacent_all_foe all_foe adjacent_all_pokemon all_pokemon user all_ally all_ally_but_user random_foe]

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(db_symbol, pp, ppmax, scene, original_launcher = nil) ⇒ Move

Create a new move

Parameters:

  • db_symbol (Symbol)

    db_symbol of the move in the database

  • pp (Integer)

    number of pp the move currently has

  • ppmax (Integer)

    maximum number of pp the move currently has

  • scene (Battle::Scene)

    current battle scene

  • original_launcher (PFM::PokemonBattler) (defaults to: nil)


43
44
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 43

def initialize(db_symbol, pp, ppmax, scene, original_launcher = nil)
end

Instance Attribute Details

#consecutive_use_countInteger

Number of time the move was used consecutively

Returns:

  • (Integer)


21
22
23
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 21

def consecutive_use_count
  @consecutive_use_count
end

#damage_dealtInteger

Number of damage dealt last time the move was used (to be used with move history)

Returns:

  • (Integer)


30
31
32
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 30

def damage_dealt
  @damage_dealt
end

#effectiveness (readonly)

Get the effectiveness



275
276
277
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 275

def effectiveness
  @effectiveness
end

#forced_next_move_decrease_ppBoolean

Tell if forced next move decreases PP

Returns:

  • (Boolean)


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

def forced_next_move_decrease_pp
  @forced_next_move_decrease_pp
end

#idInteger (readonly)

ID of the move in the database

Returns:

  • (Integer)


9
10
11
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 9

def id
  @id
end

#logicBattle::Logic (readonly)

Returns:



23
24
25
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 23

def logic
  @logic
end

#originalBattle::Move

Returns:



27
28
29
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 27

def original
  @original
end

#original_launcherPFM::PokemonBattler

Origine of the move (protected during the battle)

Returns:



36
37
38
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 36

def original_launcher
  @original_launcher
end

#original_targetArray<PFM::PokemonBattler>

The original target of the move (to be used with Magic Bounce/Coat)

Returns:



33
34
35
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 33

def original_target
  @original_target
end

#ppInteger

Number of pp the move currently has

Returns:

  • (Integer)


12
13
14
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 12

def pp
  @pp
end

#ppmaxInteger (readonly)

Maximum number of ppg the move currently has

Returns:

  • (Integer)


15
16
17
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 15

def ppmax
  @ppmax
end

#sceneBattle::Scene (readonly)

Returns:



25
26
27
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 25

def scene
  @scene
end

#usedBoolean

if the move has been used

Returns:

  • (Boolean)


18
19
20
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 18

def used
  @used
end

Class Method Details

.[](symbol) ⇒ Class<Battle::Move>

Retrieve a registered move

Parameters:

  • symbol (Symbol)

    be_method of the move

Returns:



280
281
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 280

def [](symbol)
end

.register(symbol, klass)

Register a move

Parameters:

  • symbol (Symbol)

    be_method of the move

  • klass (Class)

    class of the move



285
286
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 285

def register(symbol, klass)
end

.register_move_disabled_check_hook(reason) {|user, move| ... }

Function that registers a move_disabled_check hook

Parameters:

  • reason (String)

    reason of the move_disabled_check registration

Yield Parameters:

Yield Returns:

  • (Proc, nil)

    the code to execute if the move is disabled



869
870
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 869

def register_move_disabled_check_hook(reason)
end

.register_move_prevention_target_hook(reason) {|user, target, move| ... }

Function that registers a move_prevention_target hook

Parameters:

  • reason (String)

    reason of the move_prevention_target registration

Yield Parameters:

Yield Returns:

  • (Boolean)

    if the target is evading the move



877
878
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 877

def register_move_prevention_target_hook(reason)
end

.register_move_prevention_user_hook(reason) {|user, targets, move| ... }

Function that registers a move_prevention_user hook

Parameters:

  • reason (String)

    reason of the move_prevention_user registration

Yield Parameters:

Yield Returns:

  • (:prevent, nil)

    :prevent if the move cannot continue



862
863
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 862

def register_move_prevention_user_hook(reason)
end

.register_move_type_change_hook(reason) {|user, target, move, type| ... }

Function that registers a move_type_change hook

Parameters:

  • reason (String)

    reason of the move_type_change registration

Yield Parameters:

Yield Returns:

  • (Integer, nil)

    new move type



530
531
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 530

def register_move_type_change_hook(reason)
end

.register_single_type_multiplier_overwrite_hook(reason) {|target, target_type, type, move| ... }

Function that registers a single_type_multiplier_overwrite hook

Parameters:

  • reason (String)

    reason of the single_type_multiplier_overwrite registration

Yield Parameters:

Yield Returns:

  • (Float, nil)

    overwritten



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

def register_single_type_multiplier_overwrite_hook(reason)
end

Instance Method Details

#accuracyInteger

Return the current accuracy of the move

Returns:

  • (Integer)


88
89
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 88

def accuracy
end

#accuracy_mod(user) ⇒ Float

Return the accuracy modifier of the user

Parameters:

Returns:

  • (Float)


587
588
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 587

def accuracy_mod(user)
end

#accuracy_textString

Return the accuracy text of the skill (for the UI)

Returns:



92
93
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 92

def accuracy_text
end

#atk_classInteger

Return the class of the skill (used by the UI)

Returns:

  • (Integer)

    1, 2, 3



200
201
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 200

def atk_class
end

#authentic?Boolean

Tell if the move is a move that can bypass Substitute

Returns:

  • (Boolean)


252
253
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 252

def authentic?
end

#ballistics?Boolean

Tell if the move is a ballistic move

Returns:

  • (Boolean)


224
225
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 224

def ballistics?
end

#battle_stage_modArray<Studio::Move::BattleStageMod>

Return the stat stage modifier the skill can apply

Returns:



124
125
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 124

def battle_stage_mod
end

#battler_targets(pokemon, logic) ⇒ Array<PFM::PokemonBattler>

Note:

use one_target? to select the target inside the possible result

List the targets of this move

Parameters:

Returns:



620
621
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 620

def battler_targets(pokemon, logic)
end

#be_methodSymbol Also known as: symbol

Return the battle engine method of the move

Returns:

  • (Symbol)


66
67
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 66

def be_method
end

#bite?Boolean

Tell if the move is biting move

Returns:

  • (Boolean)


228
229
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 228

def bite?
end

#blocable?Boolean

Is the skill blocable by Protect and skill like that ?

Returns:

  • (Boolean)


140
141
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 140

def blocable?
end

#blocked_by?(target, symbol) ⇒ Boolean

Detect if the move is protected by another move on target

Parameters:

Returns:

  • (Boolean)


853
854
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 853

def blocked_by?(target, symbol)
end

#bypass_chance_of_hit?(user, target) ⇒ Boolean

Check if the move bypass chance of hit and cannot fail

Parameters:

Returns:

  • (Boolean)


582
583
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 582

def bypass_chance_of_hit?(user, target)
end

#calc_stab(user, types) ⇒ Numeric

STAB calculation

Parameters:

  • user (PFM::PokemonBattler)

    user of the move

  • types (Array<Integer>)

    list of definitive types of the move

Returns:

  • (Numeric)


499
500
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 499

def calc_stab(user, types)
end

#chance_of_hit(user, target) ⇒ Float

Return the chance of hit of the move

Parameters:

Returns:

  • (Float)


576
577
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 576

def chance_of_hit(user, target)
end

#check_specific_procedure(user, targets) ⇒ Symbol?

Check if an Effects imposes a specific proceed_internal

Parameters:

Returns:

  • (Symbol, nil)

    the symbol of the proceed_internal to call, nil if no specific procedure



803
804
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 803

def check_specific_procedure(user, targets)
end

#clone

Clone the move and give a reference to the original one



51
52
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 51

def clone
end

#critical_hit?Boolean

Was the move a critical hit

Returns:

  • (Boolean)


212
213
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 212

def critical_hit?
end

#critical_rateInteger

Return the critical rate index of the skill

Returns:

  • (Integer)


116
117
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 116

def critical_rate
end

#damages(user, target) ⇒ Integer

Note:

: I used the 4th Gen formula : www.smogon.com/dp/articles/damage_formula

Note:

The formula is the following: (((((((Level * 2 / 5) + 2) * BasePower * [Sp]Atk / 50) / [Sp]Def) * Mod1) + 2) *

CH * Mod2 * R / 100) * STAB * Type1 * Type2 * Mod3)

Method calculating the damages done by the actual move

Parameters:

Returns:

  • (Integer)


298
299
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 298

def damages(user, target)
end

#dance?Boolean

Tell if the move is a dance move

Returns:

  • (Boolean)


232
233
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 232

def dance?
end

#dataStudio::Move

Return the data of the skill

Returns:



55
56
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 55

def data
end

#db_symbolSymbol

Return the symbol of the move in the database

Returns:

  • (Symbol)


204
205
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 204

def db_symbol
end

#deal_effect_sheer_force(user, actual_targets)

Function that deals the effect to the pokemon

Parameters:



818
819
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 818

def deal_effect_sheer_force(user, actual_targets)
end

#definitive_types(user, target) ⇒ Array<Integer>

Get the types of the move with 1st type being affected by effects

Parameters:

Returns:

  • (Array<Integer>)

    list of types of the move



505
506
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 505

def definitive_types(user, target)
end

#descriptionString

Return the skill description

Returns:



62
63
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 62

def description
end

#direct?Boolean

Is the skill direct ?

Returns:

  • (Boolean)


128
129
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 128

def direct?
end

#disable_reason(user) ⇒ #call

Get the reason why the move is disabled

Parameters:

Returns:

  • (#call)

    Block that should be called when the move is disabled



841
842
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 841

def disable_reason(user)
end

#disabled?(user) ⇒ Boolean

Function that tells if the move is disabled

Parameters:

Returns:

  • (Boolean)


836
837
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 836

def disabled?(user)
end

#drain_factorInteger

Returns the drain factor

Returns:

  • (Integer)


152
153
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 152

def drain_factor
end

#effect_chanceInteger

Return the chance of effect of the skill

Returns:

  • (Integer)


104
105
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 104

def effect_chance
end

#efficent_message(effectiveness, target)

Show the effectiveness message

Parameters:



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

def efficent_message(effectiveness, target)
end

#evasion_mod(target) ⇒ Float

Return the evasion modifier of the target

Parameters:

Returns:

  • (Float)


592
593
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 592

def evasion_mod(target)
end

#force_switch?Boolean

Tell if the move is a move that forces target switch

Returns:

  • (Boolean)


264
265
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 264

def force_switch?
end

#gravity_affected?Boolean

Is the skill affected by gravity

Returns:

  • (Boolean)


120
121
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 120

def gravity_affected?
end

#heal?Boolean

Tell if the move is a heal move

Returns:

  • (Boolean)


240
241
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 240

def heal?
end

#magic_coat_affected?Boolean

Is the skill affected by magic coat ?

Returns:

  • (Boolean)


184
185
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 184

def magic_coat_affected?
end

#mental?Boolean

Tell if the move is a mental move

Returns:

  • (Boolean)


132
133
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 132

def mental?
end

#mirror_move_affected?Boolean

Is the skill affected by Mirror Move

Returns:

  • (Boolean)


136
137
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 136

def mirror_move_affected?
end

#move_blocked_by_target?(user, target) ⇒ Boolean

Note:

Thing that prevents the move from being used should be defined by :move_prevention_target Hook.

Function that tests if the targets blocks the move

Parameters:

Returns:

  • (Boolean)

    if the target evade the move (and is not selected)



848
849
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 848

def move_blocked_by_target?(user, target)
end

#move_usable_by_user(user, targets) ⇒ Boolean

Note:

Thing that prevents the move from being used should be defined by :move_prevention_user Hook

Function that tests if the user is able to use the move

Parameters:

Returns:

  • (Boolean)

    if the procedure can continue



831
832
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 831

def move_usable_by_user(user, targets)
end

#multi_hit?Boolean

Tells if the move hits multiple times

Returns:

  • (Boolean)


272
273
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 272

def multi_hit?
end

#name

Return the name of the skill



58
59
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 58

def name
end

#no_choice_skill?Boolean Also known as: is_no_choice_skill?

Does the skill doesn’t show a target choice

Returns:

  • (Boolean)


611
612
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 611

def no_choice_skill?
end

#not_very_effective?Boolean

Was the move not very effective ?

Returns:

  • (Boolean)


220
221
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 220

def not_very_effective?
end

#ohko?Boolean

Tell if the move is an OHKO move

Returns:

  • (Boolean)


256
257
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 256

def ohko?
end

#one_target?Boolean Also known as: is_one_target?

Does the skill aim only one Pokemon

Returns:

  • (Boolean)


601
602
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 601

def one_target?
end

#one_target_from_zone_attack(user) ⇒ Boolean

Check if an attack that targets multiple people is targeting only one

Parameters:

Returns:

  • (Boolean)


607
608
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 607

def one_target_from_zone_attack(user)
end

#physical?Boolean

Is the skill physical ?

Returns:

  • (Boolean)


188
189
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 188

def physical?
end

#powder?Boolean

Tell if the move is a powder move

Returns:

  • (Boolean)


248
249
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 248

def powder?
end

#powerInteger Also known as: base_power

Return the actual base power of the move

Returns:

  • (Integer)


75
76
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 75

def power
end

#power_textString

Return the text of the power of the skill (for the UI)

Returns:



80
81
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 80

def power_text
end

#pp_textString

Return the text of the PP of the skill

Returns:



71
72
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 71

def pp_text
end

#pre_attack?Boolean

Is the move doing something before any other attack ?

Returns:

  • (Boolean)


268
269
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 268

def pre_attack?
end

#priority(user = nil) ⇒ Integer

Return the priority of the skill

Parameters:

Returns:

  • (Integer)


97
98
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 97

def priority(user = nil)
end

#proceed(user, target_bank, target_position)

Function starting the move procedure

Parameters:

  • user (PFM::PokemonBattler)

    user of the move

  • target_bank (Integer)

    bank of the target

  • target_position (Integer)


639
640
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 639

def proceed(user, target_bank, target_position)
end

#proceed_internal_dancer(user, targets)

Internal procedure of the move

Parameters:



823
824
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 823

def proceed_internal_dancer(user, targets)
end

#proceed_internal_parental_bond(user, targets)

Internal procedure of the move for Parental Bond Ability

Parameters:



808
809
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 808

def proceed_internal_parental_bond(user, targets)
end

#proceed_internal_sheer_force(user, targets)

Internal procedure of the move for Sheer Force Ability

Parameters:



813
814
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 813

def proceed_internal_sheer_force(user, targets)
end

#proceed_pre_attack(user)

Proceed the procedure before any other attack.

Parameters:



643
644
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 643

def proceed_pre_attack(user)
end

#pulse?Boolean

Tell if the move is a pulse move

Returns:

  • (Boolean)


236
237
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 236

def pulse?
end

#punching?Boolean

Is the skill a punching move ?

Returns:

  • (Boolean)


156
157
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 156

def punching?
end

#real_base_power(user, target) ⇒ Integer

Get the real base power of the move (taking in account all parameter)

Parameters:

Returns:

  • (Integer)


304
305
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 304

def real_base_power(user, target)
end

#recoil?Boolean

Does the skill has recoil ?

Returns:

  • (Boolean)


144
145
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 144

def recoil?
end

#recoil_factorInteger

Returns the recoil factor

Returns:

  • (Integer)


148
149
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 148

def recoil_factor
end

#relative_priority

Move priority



100
101
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 100

def relative_priority
end

#self_user_switch?Boolean

Tell if the move is a move that switch the user if that hit

Returns:

  • (Boolean)


260
261
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 260

def self_user_switch?
end

#show_usage_failure(user)

Show the usage failure when move is not usable by user

Parameters:



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

def show_usage_failure(user)
end

#slicing_attack?Boolean

Is the skill a slicing attack ?

Returns:

  • (Boolean)


164
165
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 164

def slicing_attack?
end

#snatchable?Boolean

Is the skill snatchable ?

Returns:

  • (Boolean)


180
181
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 180

def snatchable?
end

#sound_attack?Boolean

Is the skill a sound attack ?

Returns:

  • (Boolean)


160
161
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 160

def sound_attack?
end

#special?Boolean

Is the skill special ?

Returns:

  • (Boolean)


192
193
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 192

def special?
end

#status?Boolean

Is the skill status ?

Returns:

  • (Boolean)


196
197
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 196

def status?
end

#status_effectsArray<Studio::Move::MoveStatus>

Get all the status effect of a move

Returns:



108
109
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 108

def status_effects
end

#super_effective?Boolean

Was the move super effective ?

Returns:

  • (Boolean)


216
217
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 216

def super_effective?
end

#targetSymbol

Return the target symbol the skill can aim

Returns:

  • (Symbol)


112
113
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 112

def target
end

#to_sString Also known as: inspect

Format move for logging purpose

Returns:



47
48
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 47

def to_s
end

#trigger_king_rock?Boolean

Does the skill trigger the king rock

Returns:

  • (Boolean)


176
177
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 176

def trigger_king_rock?
end

#two_turn?Boolean

Tell if the move is a two turn move

Returns:

  • (Boolean)


244
245
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 244

def two_turn?
end

#typeInteger

Return the current type of the move

Returns:

  • (Integer)


84
85
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 84

def type
end

#type?(type_id) ⇒ Boolean

Is the skill a specific type ?

Parameters:

  • type_id (Integer)

    ID of the type

Returns:

  • (Boolean)


394
395
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 394

def type?(type_id)
end

#type_dark?Boolean Also known as: type_tenebre?

Is the skill type dark ?

Returns:

  • (Boolean)


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

def type_dark?
end

#type_dragon?Boolean

Is the skill type dragon ?

Returns:

  • (Boolean)


471
472
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 471

def type_dragon?
end

#type_electric?Boolean Also known as: type_electrique?

Is the skill type electric ?

Returns:

  • (Boolean)


416
417
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 416

def type_electric?
end

#type_fairy?Boolean Also known as: type_fee?

Is the skill type fairy ?

Returns:

  • (Boolean)


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

def type_fairy?
end

#type_fighting?Boolean Also known as: type_combat?

Is the skill type fighting ?

Returns:

  • (Boolean)


431
432
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 431

def type_fighting?
end

#type_fire?Boolean Also known as: type_feu?

Is the skill type fire ?

Returns:

  • (Boolean)


406
407
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 406

def type_fire?
end

#type_flying?Boolean Also known as: type_vol?, type_fly?

Is the skill type fly ?

Returns:

  • (Boolean)


445
446
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 445

def type_flying?
end

#type_ghost?Boolean Also known as: type_spectre?

Is the skill type ghost ?

Returns:

  • (Boolean)


466
467
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 466

def type_ghost?
end

#type_grass?Boolean Also known as: type_plante?

Is the skill type grass ?

Returns:

  • (Boolean)


421
422
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 421

def type_grass?
end

#type_ground?Boolean Also known as: type_sol?

Is the skill type ground ?

Returns:

  • (Boolean)


440
441
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 440

def type_ground?
end

#type_ice?Boolean Also known as: type_glace?

Is the skill type ice ?

Returns:

  • (Boolean)


426
427
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 426

def type_ice?
end

#type_insect?Boolean Also known as: type_bug?

Is the skill type insect/bug ?

Returns:

  • (Boolean)


456
457
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 456

def type_insect?
end

#type_modifier(user, target) ⇒ Float

Function that calculate the type modifier (for specific uses)

Parameters:

Returns:

  • (Float)


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

def type_modifier(user, target)
end

#type_normal?Boolean

Is the skill type normal ?

Returns:

  • (Boolean)


402
403
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 402

def type_normal?
end

#type_poison?Boolean

Is the skill type poison ?

Returns:

  • (Boolean)


436
437
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 436

def type_poison?
end

#type_psychic?Boolean Also known as: type_psy?

Is the skill type psy ?

Returns:

  • (Boolean)


451
452
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 451

def type_psychic?
end

#type_rock?Boolean Also known as: type_roche?

Is the skill type rock ?

Returns:

  • (Boolean)


461
462
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 461

def type_rock?
end

#type_steel?Boolean Also known as: type_acier?

Is the skill type steel ?

Returns:

  • (Boolean)


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

def type_steel?
end

#type_water?Boolean Also known as: type_eau?

Is the skill type water ?

Returns:

  • (Boolean)


411
412
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 411

def type_water?
end

#typeless?Boolean

Is the skill typeless ?

Returns:

  • (Boolean)


398
399
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 398

def typeless?
end

#unfreeze?Boolean

Does the skill unfreeze

Returns:

  • (Boolean)


168
169
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 168

def unfreeze?
end

#wind_attack?Boolean

Is the skill a wind attack ?

Returns:

  • (Boolean)


172
173
# File 'docs/01600_Alpha_25_Battle_Engine_04150_Battle_Move.rb', line 172

def wind_attack?
end