Class: Battle::Effects::Ability::Overcoat

Inherits:
Battle::Effects::Ability show all
Defined in:
scripts/01600 Alpha 25 Battle Engine/04000 Effects/00700 Ability Effects/00100 Overcoat.rb

Overview

A Pokémon with Overcoat does not take damage from the weather conditions sandstorm and hailstorm. Also protects from powder and spore moves, as well as Effect Spore.

Instance Attribute Summary

Attributes inherited from Battle::Effects::Ability

#affect_allies, #db_symbol, #target

Instance Method Summary collapse

Methods inherited from Battle::Effects::Ability

#initialize, new, register

Methods inherited from EffectBase

#base_power_multiplier, #can_attack_hit_out_of_reach?, #chance_of_hit_multiplier, #counter=, #dead?, #effect_chance_modifier, #force_next_move?, #initialize, #kill, #mod1_multiplier, #mod2_multiplier, #mod3_multiplier, #name, #on_damage_prevention, #on_delete, #on_end_turn_event, #on_fterrain_prevention, #on_held_item_use_prevention, #on_move_disabled_check, #on_move_prevention_target, #on_move_prevention_user, #on_move_priority_change, #on_move_type_change, #on_post_accuracy_check, #on_post_action_event, #on_post_damage, #on_post_damage_death, #on_post_fterrain_change, #on_post_item_change, #on_post_status_change, #on_post_weather_change, #on_pre_item_change, #on_single_type_multiplier_overwrite, #on_stat_change, #on_stat_change_post, #on_stat_decrease_prevention, #on_stat_increase_prevention, #on_status_prevention, #on_switch_event, #on_switch_passthrough, #on_switch_prevention, #on_transform_event, #on_two_turn_shortcut, #on_weather_prevention, #out_of_reach?, #rapid_spin_affected?, #sp_atk_multiplier, #sp_def_multiplier, #spd_modifier, #targetted?, #update_counter

Constructor Details

This class inherits a constructor from Battle::Effects::Ability

Instance Method Details

#on_move_ability_immunity(user, target, move) ⇒ Boolean

Function called when we try to check if the effect changes the definitive priority of the move

Parameters:

Returns:

  • (Boolean)

    if the target is immune to the move



17
18
19
20
21
22
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00700 Ability Effects/00100 Overcoat.rb', line 17

def on_move_ability_immunity(user, target, move)
  return false if target != @target

  @logic.scene.visual.show_ability(target) if move.powder?
  return move.powder?
end