class Pokemongodb::Move

Public Class Methods

all() click to toggle source

Returns array of all moves

Example:

>> Pokemongodb::Move.all
=> [Pokemongodb::Move::Acid, Pokemongodb::Move::BugBite, ...]
# File lib/pokemongodb/move.rb, line 13
def self.all
  [
    Move::Acid,
    Move::AerialAce,
    Move::AirCutter,
    Move::AncientPower,
    Move::AquaJet,
    Move::AquaTail,
    Move::Bite,
    Move::Blizzard,
    Move::BodySlam,
    Move::BoneClub,
    Move::BrickBreak,
    Move::Brine,
    Move::Bubble,
    Move::BubbleBeam,
    Move::BugBite,
    Move::BugBuzz,
    Move::Bulldoze,
    Move::BulletPunch,
    Move::Confusion,
    Move::CrossChop,
    Move::CrossPoison,
    Move::Cut,
    Move::DarkPulse,
    Move::DazzlingGleam,
    Move::Dig,
    Move::DisarmingVoice,
    Move::Discharge,
    Move::DragonBreath,
    Move::DragonClaw,
    Move::DragonPulse,
    Move::DrainingKiss,
    Move::DrillPeck,
    Move::DrillRun,
    Move::Earthquake,
    Move::Ember,
    Move::FeintAttack,
    Move::FireBlast,
    Move::FireFang,
    Move::FirePunch,
    Move::FlameBurst,
    Move::FlameCharge,
    Move::FlameWheel,
    Move::Flamethrower,
    Move::FlashCannon,
    Move::FrostBreath,
    Move::FuryCutter,
    Move::GunkShot,
    Move::HeatWave,
    Move::HornAttack,
    Move::Hurricane,
    Move::HydroPump,
    Move::HyperBeam,
    Move::HyperFang,
    Move::IceBeam,
    Move::IcePunch,
    Move::IceShard,
    Move::IcyWind,
    Move::IronHead,
    Move::KarateChop,
    Move::LeafBlade,
    Move::Lick,
    Move::LowKick,
    Move::LowSweep,
    Move::MagnetBomb,
    Move::Megahorn,
    Move::MetalClaw,
    Move::Moonblast,
    Move::MudBomb,
    Move::MudShot,
    Move::MudSlap,
    Move::NightSlash,
    Move::OminousWind,
    Move::Peck,
    Move::PetalBlizzard,
    Move::PlayRough,
    Move::PoisonFang,
    Move::PoisonJab,
    Move::PoisonSting,
    Move::Pound,
    Move::PowerGem,
    Move::PowerWhip,
    Move::Psybeam,
    Move::Psychic,
    Move::PsychoCut,
    Move::Psyshock,
    Move::QuickAttack,
    Move::RazorLeaf,
    Move::RockSlide,
    Move::RockSmash,
    Move::RockThrow,
    Move::RockTomb,
    Move::Scald,
    Move::Scratch,
    Move::SeedBomb,
    Move::ShadowBall,
    Move::ShadowClaw,
    Move::SignalBeam,
    Move::Sludge,
    Move::SludgeBomb,
    Move::SludgeWave,
    Move::SolarBeam,
    Move::Spark,
    Move::Splash,
    Move::SteelWing,
    Move::Stomp,
    Move::StoneEdge,
    Move::Struggle,
    Move::Submission,
    Move::SuckerPunch,
    Move::Swift,
    Move::Tackle,
    Move::Thunder,
    Move::ThunderPunch,
    Move::ThunderShock,
    Move::Thunderbolt,
    Move::Twister,
    Move::ViceGrip,
    Move::VineWhip,
    Move::WaterGun,
    Move::WaterPulse,
    Move::WingAttack,
    Move::Wrap,
    Move::XScissor,
    Move::ZenHeadbutt,
  ]
end
category() click to toggle source

Returns category enum based on energy value.

Example:

>> Pokemongodb::Move::Acid.category
=> :fast

>> Pokemongodb::Move::AerielAce.category
=> :charge
# File lib/pokemongodb/move.rb, line 150
def self.category
  energy > 0 ? Category::FAST : Category::CHARGE
end
charge() click to toggle source

Returns array of all charge moves

Example:

>> Pokemongodb::Move.charge
=> [Pokemongodb::Move::AerielAce, Pokemongodb::Move::AirCutter, ...]
# File lib/pokemongodb/move.rb, line 159
def self.charge
  self.all.select do |move|
    move.category == Category::CHARGE
  end
end
dps() click to toggle source

Returns float of calculated damage per second.

Example:

>> Pokemongodb::Move::Acid.dps
=> 9.52
# File lib/pokemongodb/move.rb, line 170
def self.dps
  (power / cooldown).round(2)
end
eps() click to toggle source

Returns float of calculated energy per second.

Example:

>> Pokemongodb::Move::Acid.eps
=> 6.67
# File lib/pokemongodb/move.rb, line 179
def self.eps
  (energy / cooldown).round(2)
end
fast() click to toggle source

Returns array of all fast moves

Example:

>> Pokemongodb::Move.fast
=> [Pokemongodb::Move::Acid, Pokemongodb::Move::BugBite, ...]
# File lib/pokemongodb/move.rb, line 188
def self.fast
  self.all.select do |move|
    move.category == Category::FAST
  end
end
used_by() click to toggle source

Returns array of pokemon who can use the move

Example:

>> Pokemongodb::Move::Acid.used_by
=> [Pokemongodb::Pokemon::Arbok, Pokemongodb::Pokemon::Bellsprout...]
# File lib/pokemongodb/move.rb, line 199
def self.used_by
  Pokemongodb::Pokemon.all.select { |x| x.moves.include?(self) }
end