Class: Battle::Effects::Stockpile
- Inherits:
-
PokemonTiedEffectBase
- Object
- EffectBase
- PokemonTiedEffectBase
- Battle::Effects::Stockpile
- Defined in:
- scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb
Overview
Stockpile raises the user's Defense and Special Defense by one stage each and charges up power for use with companion moves Spit Up or Swallow.
Instance Attribute Summary collapse
-
#stockpile ⇒ Integer
readonly
Return the amount in stockpile.
Instance Method Summary collapse
-
#increasable? ⇒ Boolean
Is the effect increasable?.
-
#increase(amount = 1) ⇒ Boolean
Increase the stockpile value with animation.
-
#initialize(logic, pokemon) ⇒ Stockpile
constructor
Create a new Pokemon tied effect.
-
#maximum ⇒ Integer
Maximum stockpile.
-
#name ⇒ Symbol
Function giving the name of the effect.
-
#usable? ⇒ Boolean
Is the effect usable ?.
-
#use ⇒ Boolean
Function called when the effect is being used.
Methods inherited from PokemonTiedEffectBase
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?, #kill, #mod1_multiplier, #mod2_multiplier, #mod3_multiplier, #on_damage_prevention, #on_delete, #on_end_turn_event, #on_fterrain_prevention, #on_held_item_use_prevention, #on_move_ability_immunity, #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
#initialize(logic, pokemon) ⇒ Stockpile
Create a new Pokemon tied effect
15 16 17 18 19 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 15 def initialize(logic, pokemon) super @stockpile = 0 @stages_bonus = Hash.new(0) end |
Instance Attribute Details
#stockpile ⇒ Integer (readonly)
Return the amount in stockpile
10 11 12 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 10 def stockpile @stockpile end |
Instance Method Details
#increasable? ⇒ Boolean
Is the effect increasable?
23 24 25 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 23 def increasable? return @stockpile < maximum end |
#increase(amount = 1) ⇒ Boolean
Increase the stockpile value with animation
36 37 38 39 40 41 42 43 44 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 36 def increase(amount = 1) return false unless increasable? @stockpile += amount log_data("stockpile #{@stockpile}") @logic.scene.() edit_stages return true end |
#maximum ⇒ Integer
Maximum stockpile
65 66 67 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 65 def maximum 3 end |
#name ⇒ Symbol
Function giving the name of the effect
59 60 61 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 59 def name :stockpile end |
#usable? ⇒ Boolean
Is the effect usable ?
29 30 31 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 29 def usable? return @stockpile > 0 end |
#use ⇒ Boolean
Function called when the effect is being used
48 49 50 51 52 53 54 55 |
# File 'scripts/01600 Alpha 25 Battle Engine/04000 Effects/00500 Move Effects/01000 Stockpile.rb', line 48 def use return false unless usable? restore_stages @logic.scene.() kill return true end |