pokemongodb 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pokemongodb.rb +1 -0
- data/lib/pokemongodb/move_set.rb +52 -0
- data/lib/pokemongodb/pokemon.rb +9 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3de28ddbc8b64e47d7d5e8b06a7e92bac5913bf2
|
4
|
+
data.tar.gz: b456325269aeac29a42f2e90f193015464c43815
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48f359f71a4f0aad2ddb59edb4a5b30faf15f5d5b218411a8f0d085521613b0ecccf55f957b82c64cbb53399b56b16581e2f108dd56ed5f8f447b8a6d1f313b5
|
7
|
+
data.tar.gz: 4df8cce955437642b2ec81ad23f4d729a8c42987bb973f3cd86b803c4e34fb3717cab8eb26484c4cfe075d88d5ea3dee7f9ad92eaf2ca35b8d55c345f624820a
|
data/lib/pokemongodb.rb
CHANGED
@@ -0,0 +1,52 @@
|
|
1
|
+
class Pokemongodb
|
2
|
+
class MoveSet < Pokemongodb
|
3
|
+
# Returns all available MoveSets for Pokemon
|
4
|
+
#
|
5
|
+
# Example:
|
6
|
+
# >> Pokemongodb::MoveSet.from_pokemon(Pokemongodb::Pokemon::Bulbasaur)
|
7
|
+
# => [#<Pokemongodb::MoveSet:0xXXXXXX @fast_move=Pokemongodb::Move::VineWhip, @charge_move=Pokemongodb::Move::SludgeBomb, @dps=18.76>, ...]
|
8
|
+
def self.from_pokemon(pokemon)
|
9
|
+
sets = []
|
10
|
+
pokemon.fast_moves.each do |fast_move|
|
11
|
+
pokemon.charge_moves.each do |charge_move|
|
12
|
+
sets << Pokemongodb::MoveSet.new(fast_move, charge_move, pokemon)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
sets.sort_by { |set| set.dps }.reverse
|
16
|
+
end
|
17
|
+
|
18
|
+
def initialize(fast_move, charge_move, pokemon)
|
19
|
+
@fast_move = fast_move
|
20
|
+
@charge_move = charge_move
|
21
|
+
@pokemon = pokemon
|
22
|
+
@dps = dps
|
23
|
+
end
|
24
|
+
|
25
|
+
def dps
|
26
|
+
timer = 90.0
|
27
|
+
damage = 0
|
28
|
+
energy = 0.0
|
29
|
+
|
30
|
+
until timer <= 0
|
31
|
+
move = energy >= @charge_move.energy.abs ? @charge_move : @fast_move
|
32
|
+
timer -= move.cooldown
|
33
|
+
damage += calculated_power(move)
|
34
|
+
energy += calculated_energy(move)
|
35
|
+
end
|
36
|
+
|
37
|
+
return (damage / 90.0).round(2)
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
def calculated_power(move)
|
42
|
+
modifier = @pokemon.types.include?(move.type) ? 1.25 : 1
|
43
|
+
(move.power * modifier).round(2)
|
44
|
+
end
|
45
|
+
|
46
|
+
def calculated_energy(move)
|
47
|
+
return move.energy if move.energy <= 0
|
48
|
+
modifier = @pokemon.types.include?(move.type) ? 1.25 : 1
|
49
|
+
(move.energy * modifier).round(2)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
data/lib/pokemongodb/pokemon.rb
CHANGED
@@ -139,6 +139,15 @@ class Pokemongodb
|
|
139
139
|
all.detect { |type| type.evolves_into == self }
|
140
140
|
end
|
141
141
|
|
142
|
+
# Returns all available MoveSets for Pokemon
|
143
|
+
#
|
144
|
+
# Example:
|
145
|
+
# >> Pokemongodb::Pokemon::Bulbasaur.move_sets
|
146
|
+
# => [#<Pokemongodb::MoveSet:0xXXXXXX @fast_move=Pokemongodb::Move::VineWhip, @charge_move=Pokemongodb::Move::SludgeBomb, @dps=18.76>, ...]
|
147
|
+
def self.move_sets
|
148
|
+
Pokemongodb::MoveSet.from_pokemon(self)
|
149
|
+
end
|
150
|
+
|
142
151
|
# Returns array of possible move types
|
143
152
|
#
|
144
153
|
# Example:
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pokemongodb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TeoUCSB82
|
@@ -69,6 +69,7 @@ files:
|
|
69
69
|
- lib/pokemongodb/locations/wetland.rb
|
70
70
|
- lib/pokemongodb/locations/woodland.rb
|
71
71
|
- lib/pokemongodb/move.rb
|
72
|
+
- lib/pokemongodb/move_set.rb
|
72
73
|
- lib/pokemongodb/moves/acid.rb
|
73
74
|
- lib/pokemongodb/moves/aerial_ace.rb
|
74
75
|
- lib/pokemongodb/moves/air_cutter.rb
|