Class: Battle::Move::Protect
- Inherits:
-
Battle::Move
- Object
- Battle::Move
- Battle::Move::Protect
- Defined in:
- scripts/01600 Alpha 25 Battle Engine/04150 Battle_Move/00010 Definitions/00300 Protect.rb
Overview
Protect move
Constant Summary
Constants inherited from Battle::Move
OneTarget, REGISTERED_MOVES, R_RANGE, TargetNoAsk
Instance Attribute Summary
Attributes inherited from Battle::Move
#consecutive_use_count, #damage_dealt, #effectiveness, #forced_next_move_decrease_pp, #id, #logic, #original, #pp, #ppmax, #scene, #used
Instance Method Summary collapse
-
#deal_effect(user, actual_targets)
Function that deals the effect to the pokemon.
- #deal_message(user)
-
#move_usable_by_user(user, targets) ⇒ Boolean
Function that tests if the user is able to use the move.
Methods inherited from Battle::Move
[], #accuracy, #accuracy_mod, #accuracy_text, #atk_class, #authentic?, #ballistics?, #battle_stage_mod, #battler_targets, #be_method, #bite?, #blocable?, #blocked_by?, #bypass_chance_of_hit?, #calc_stab, #chance_of_hit, #clone, #critical_hit?, #critical_rate, #damages, #dance?, #data, #db_symbol, #definitive_types, #description, #direct?, #disable_reason, #disabled?, #effect_chance, #evasion_mod, #force_switch?, #gravity_affected?, #heal?, #initialize, #magic_coat_affected?, #mirror_move_affected?, #move_blocked_by_target?, #name, #no_choice_skill?, #not_very_effective?, #ohko?, #one_target?, #physical?, #powder?, #power, #power_text, #pp_text, #pre_attack?, #priority, #proceed, #proceed_pre_attack, #pulse?, #punching?, #real_base_power, #recoil?, #recoil_factor, register, register_move_disabled_check_hook, register_move_prevention_target_hook, register_move_prevention_user_hook, register_move_type_change_hook, register_single_type_multiplier_overwrite_hook, #relative_priority, #self_user_switch?, #snatchable?, #sound_attack?, #special?, #status?, #status_effects, #super_effective?, #target, #to_s, #trigger_king_rock?, #type, #type?, #type_dark?, #type_dragon?, #type_electric?, #type_fairy?, #type_fighting?, #type_fire?, #type_flying?, #type_ghost?, #type_grass?, #type_ground?, #type_ice?, #type_insect?, #type_modifier, #type_normal?, #type_poison?, #type_psychic?, #type_rock?, #type_steel?, #type_water?, #unfreeze?
Methods included from Hooks
#exec_hooks, #force_return, included, register, remove, remove_without_name
Constructor Details
This class inherits a constructor from Battle::Move
Instance Method Details
#deal_effect(user, actual_targets)
Function that deals the effect to the pokemon
37 38 39 40 41 42 |
# File 'scripts/01600 Alpha 25 Battle Engine/04150 Battle_Move/00010 Definitions/00300 Protect.rb', line 37 def deal_effect(user, actual_targets) actual_targets.each do |target| target.effects.add(Effects::Protect.new(logic, target, self)) scene.((target)) end end |
#deal_message(user)
44 45 46 47 48 49 50 51 |
# File 'scripts/01600 Alpha 25 Battle Engine/04150 Battle_Move/00010 Definitions/00300 Protect.rb', line 44 def (user) msg_id = 517 msg_id = 511 if db_symbol == :endure msg_id = 800 if db_symbol == :quick_guard msg_id = 797 if db_symbol == :wide_guard return parse_text_with_pokemon(19, msg_id, user) end |
#move_usable_by_user(user, targets) ⇒ Boolean
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
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'scripts/01600 Alpha 25 Battle Engine/04150 Battle_Move/00010 Definitions/00300 Protect.rb', line 10 def move_usable_by_user(user, targets) return false unless super if user.effects.has?(:substitute) || logic.battler_attacks_last?(user) show_usage_failure(user) return false end turn = $game_temp.battle_turn consecutive_uses = user.move_history.reverse.take_while do |history| if history.move.be_method == :s_protect turn -= 1 next turn == history.turn end end unless bchance?(2**-consecutive_uses.size) show_usage_failure(user) return false end return true end |