pokemongodb 1.0.1 → 1.0.2
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 +19 -0
- data/lib/pokemongodb/location.rb +1 -1
- data/lib/pokemongodb/move.rb +1 -1
- data/lib/pokemongodb/pokemon.rb +69 -222
- data/lib/pokemongodb/type.rb +1 -10
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8b41cc67bda2d959660b2ba55344bf0a36553f3
|
4
|
+
data.tar.gz: 914b673b6edc68daecbb06e278cc6cad59c79041
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13e9f71e624526222579594cdab6635bd6951fb89d1e9c3b4bf31c663f26b8be6e337754c644e076f2d3bfd972cac8aaf0529fc8fba38cfcedafc65062cc160b
|
7
|
+
data.tar.gz: 47eee2d58865e0903b5799a1c9c8ba4ae1304f0568ad89bb5682693a0419986a68670e2e4492aece7afcdea3eab23b94d31b9cfa681a22fa7172fd7f7bb9957f
|
data/lib/pokemongodb.rb
CHANGED
@@ -1,4 +1,23 @@
|
|
1
1
|
class Pokemongodb
|
2
|
+
|
3
|
+
# Returns formatted move name for display
|
4
|
+
#
|
5
|
+
# Example:
|
6
|
+
# >> Pokemongodb::Move::Acid.to_s
|
7
|
+
# => "acid"
|
8
|
+
#
|
9
|
+
# >> Pokemongodb::Move::AerialAce.to_s
|
10
|
+
# => "aerial ace"
|
11
|
+
#
|
12
|
+
# >> Pokemongodb::Pokemon::Squirtle.to_s
|
13
|
+
# => "squirtle"
|
14
|
+
#
|
15
|
+
# >> Pokemongodb::Type::Dark.to_s
|
16
|
+
# => "dark"
|
17
|
+
def self.to_s
|
18
|
+
regex = /(?=[A-Z])/
|
19
|
+
super.split("::").last.split(regex).join(" ").downcase
|
20
|
+
end
|
2
21
|
end
|
3
22
|
|
4
23
|
require 'pokemongodb/location'
|
data/lib/pokemongodb/location.rb
CHANGED
data/lib/pokemongodb/move.rb
CHANGED
data/lib/pokemongodb/pokemon.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
class Pokemongodb
|
2
|
-
class Pokemon
|
2
|
+
class Pokemon < Pokemongodb
|
3
3
|
class Role
|
4
4
|
OFFENSE = :offense
|
5
5
|
DEFENSE = :defense
|
@@ -9,161 +9,24 @@ class Pokemongodb
|
|
9
9
|
#
|
10
10
|
# Example:
|
11
11
|
# >> Pokemongodb::Pokemon.all
|
12
|
-
# => [Pokemongodb::Pokemon::
|
12
|
+
# => [Pokemongodb::Pokemon::Abra, Pokemongodb::Pokemon::Aerodactyl, ...]
|
13
13
|
def self.all
|
14
|
-
[
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
Pokemongodb::Pokemon::Charmeleon,
|
31
|
-
Pokemongodb::Pokemon::Clefable,
|
32
|
-
Pokemongodb::Pokemon::Clefairy,
|
33
|
-
Pokemongodb::Pokemon::Cloyster,
|
34
|
-
Pokemongodb::Pokemon::Cubone,
|
35
|
-
Pokemongodb::Pokemon::Dewgong,
|
36
|
-
Pokemongodb::Pokemon::Diglett,
|
37
|
-
Pokemongodb::Pokemon::Ditto,
|
38
|
-
Pokemongodb::Pokemon::Dodrio,
|
39
|
-
Pokemongodb::Pokemon::Doduo,
|
40
|
-
Pokemongodb::Pokemon::Dragonair,
|
41
|
-
Pokemongodb::Pokemon::Dragonite,
|
42
|
-
Pokemongodb::Pokemon::Dratini,
|
43
|
-
Pokemongodb::Pokemon::Drowzee,
|
44
|
-
Pokemongodb::Pokemon::Dugtrio,
|
45
|
-
Pokemongodb::Pokemon::Eevee,
|
46
|
-
Pokemongodb::Pokemon::Ekans,
|
47
|
-
Pokemongodb::Pokemon::Electabuzz,
|
48
|
-
Pokemongodb::Pokemon::Electrode,
|
49
|
-
Pokemongodb::Pokemon::Exeggcute,
|
50
|
-
Pokemongodb::Pokemon::Exeggutor,
|
51
|
-
Pokemongodb::Pokemon::Farfetchd,
|
52
|
-
Pokemongodb::Pokemon::Fearow,
|
53
|
-
Pokemongodb::Pokemon::Flareon,
|
54
|
-
Pokemongodb::Pokemon::Gastly,
|
55
|
-
Pokemongodb::Pokemon::Gengar,
|
56
|
-
Pokemongodb::Pokemon::Geodude,
|
57
|
-
Pokemongodb::Pokemon::Gloom,
|
58
|
-
Pokemongodb::Pokemon::Golbat,
|
59
|
-
Pokemongodb::Pokemon::Goldeen,
|
60
|
-
Pokemongodb::Pokemon::Golduck,
|
61
|
-
Pokemongodb::Pokemon::Golem,
|
62
|
-
Pokemongodb::Pokemon::Graveler,
|
63
|
-
Pokemongodb::Pokemon::Grimer,
|
64
|
-
Pokemongodb::Pokemon::Growlithe,
|
65
|
-
Pokemongodb::Pokemon::Gyarados,
|
66
|
-
Pokemongodb::Pokemon::Haunter,
|
67
|
-
Pokemongodb::Pokemon::Hitmonchan,
|
68
|
-
Pokemongodb::Pokemon::Hitmonlee,
|
69
|
-
Pokemongodb::Pokemon::Horsea,
|
70
|
-
Pokemongodb::Pokemon::Hypno,
|
71
|
-
Pokemongodb::Pokemon::Ivysaur,
|
72
|
-
Pokemongodb::Pokemon::Jigglypuff,
|
73
|
-
Pokemongodb::Pokemon::Jolteon,
|
74
|
-
Pokemongodb::Pokemon::Jynx,
|
75
|
-
Pokemongodb::Pokemon::Kabuto,
|
76
|
-
Pokemongodb::Pokemon::Kabutops,
|
77
|
-
Pokemongodb::Pokemon::Kadabra,
|
78
|
-
Pokemongodb::Pokemon::Kakuna,
|
79
|
-
Pokemongodb::Pokemon::Kangaskhan,
|
80
|
-
Pokemongodb::Pokemon::Kingler,
|
81
|
-
Pokemongodb::Pokemon::Koffing,
|
82
|
-
Pokemongodb::Pokemon::Krabby,
|
83
|
-
Pokemongodb::Pokemon::Lapras,
|
84
|
-
Pokemongodb::Pokemon::Lickitung,
|
85
|
-
Pokemongodb::Pokemon::Machamp,
|
86
|
-
Pokemongodb::Pokemon::Machoke,
|
87
|
-
Pokemongodb::Pokemon::Machop,
|
88
|
-
Pokemongodb::Pokemon::Magikarp,
|
89
|
-
Pokemongodb::Pokemon::Magmar,
|
90
|
-
Pokemongodb::Pokemon::Magnemite,
|
91
|
-
Pokemongodb::Pokemon::Magneton,
|
92
|
-
Pokemongodb::Pokemon::Mankey,
|
93
|
-
Pokemongodb::Pokemon::Marowak,
|
94
|
-
Pokemongodb::Pokemon::Meowth,
|
95
|
-
Pokemongodb::Pokemon::Metapod,
|
96
|
-
Pokemongodb::Pokemon::Mew,
|
97
|
-
Pokemongodb::Pokemon::Mewtwo,
|
98
|
-
Pokemongodb::Pokemon::Moltres,
|
99
|
-
Pokemongodb::Pokemon::MrMime,
|
100
|
-
Pokemongodb::Pokemon::Muk,
|
101
|
-
Pokemongodb::Pokemon::Nidoking,
|
102
|
-
Pokemongodb::Pokemon::Nidoqueen,
|
103
|
-
Pokemongodb::Pokemon::NidoranF,
|
104
|
-
Pokemongodb::Pokemon::NidoranM,
|
105
|
-
Pokemongodb::Pokemon::Nidorina,
|
106
|
-
Pokemongodb::Pokemon::Nidorino,
|
107
|
-
Pokemongodb::Pokemon::Ninetales,
|
108
|
-
Pokemongodb::Pokemon::Oddish,
|
109
|
-
Pokemongodb::Pokemon::Omanyte,
|
110
|
-
Pokemongodb::Pokemon::Omastar,
|
111
|
-
Pokemongodb::Pokemon::Onix,
|
112
|
-
Pokemongodb::Pokemon::Paras,
|
113
|
-
Pokemongodb::Pokemon::Parasect,
|
114
|
-
Pokemongodb::Pokemon::Persian,
|
115
|
-
Pokemongodb::Pokemon::Pidgeot,
|
116
|
-
Pokemongodb::Pokemon::Pidgeotto,
|
117
|
-
Pokemongodb::Pokemon::Pidgey,
|
118
|
-
Pokemongodb::Pokemon::Pikachu,
|
119
|
-
Pokemongodb::Pokemon::Pinsir,
|
120
|
-
Pokemongodb::Pokemon::Poliwag,
|
121
|
-
Pokemongodb::Pokemon::Poliwhirl,
|
122
|
-
Pokemongodb::Pokemon::Poliwrath,
|
123
|
-
Pokemongodb::Pokemon::Ponyta,
|
124
|
-
Pokemongodb::Pokemon::Porygon,
|
125
|
-
Pokemongodb::Pokemon::Primeape,
|
126
|
-
Pokemongodb::Pokemon::Psyduck,
|
127
|
-
Pokemongodb::Pokemon::Raichu,
|
128
|
-
Pokemongodb::Pokemon::Rapidash,
|
129
|
-
Pokemongodb::Pokemon::Raticate,
|
130
|
-
Pokemongodb::Pokemon::Rattata,
|
131
|
-
Pokemongodb::Pokemon::Rhydon,
|
132
|
-
Pokemongodb::Pokemon::Rhyhorn,
|
133
|
-
Pokemongodb::Pokemon::Sandshrew,
|
134
|
-
Pokemongodb::Pokemon::Sandslash,
|
135
|
-
Pokemongodb::Pokemon::Scyther,
|
136
|
-
Pokemongodb::Pokemon::Seadra,
|
137
|
-
Pokemongodb::Pokemon::Seaking,
|
138
|
-
Pokemongodb::Pokemon::Seel,
|
139
|
-
Pokemongodb::Pokemon::Shellder,
|
140
|
-
Pokemongodb::Pokemon::Slowbro,
|
141
|
-
Pokemongodb::Pokemon::Slowpoke,
|
142
|
-
Pokemongodb::Pokemon::Snorlax,
|
143
|
-
Pokemongodb::Pokemon::Spearow,
|
144
|
-
Pokemongodb::Pokemon::Squirtle,
|
145
|
-
Pokemongodb::Pokemon::Starmie,
|
146
|
-
Pokemongodb::Pokemon::Staryu,
|
147
|
-
Pokemongodb::Pokemon::Tangela,
|
148
|
-
Pokemongodb::Pokemon::Tauros,
|
149
|
-
Pokemongodb::Pokemon::Tentacool,
|
150
|
-
Pokemongodb::Pokemon::Tentacruel,
|
151
|
-
Pokemongodb::Pokemon::Vaporeon,
|
152
|
-
Pokemongodb::Pokemon::Venomoth,
|
153
|
-
Pokemongodb::Pokemon::Venonat,
|
154
|
-
Pokemongodb::Pokemon::Venusaur,
|
155
|
-
Pokemongodb::Pokemon::Victreebel,
|
156
|
-
Pokemongodb::Pokemon::Vileplume,
|
157
|
-
Pokemongodb::Pokemon::Voltorb,
|
158
|
-
Pokemongodb::Pokemon::Vulpix,
|
159
|
-
Pokemongodb::Pokemon::Wartortle,
|
160
|
-
Pokemongodb::Pokemon::Weedle,
|
161
|
-
Pokemongodb::Pokemon::Weepinbell,
|
162
|
-
Pokemongodb::Pokemon::Weezing,
|
163
|
-
Pokemongodb::Pokemon::Wigglytuff,
|
164
|
-
Pokemongodb::Pokemon::Zapdos,
|
165
|
-
Pokemongodb::Pokemon::Zubat
|
166
|
-
]
|
14
|
+
[ Pokemongodb::Pokemon::Abra, Pokemongodb::Pokemon::Aerodactyl, Pokemongodb::Pokemon::Alakazam, Pokemongodb::Pokemon::Arbok, Pokemongodb::Pokemon::Arcanine, Pokemongodb::Pokemon::Articuno, Pokemongodb::Pokemon::Beedrill, Pokemongodb::Pokemon::Bellsprout, Pokemongodb::Pokemon::Blastoise, Pokemongodb::Pokemon::Bulbasaur, Pokemongodb::Pokemon::Butterfree, Pokemongodb::Pokemon::Caterpie, Pokemongodb::Pokemon::Chansey, Pokemongodb::Pokemon::Charizard, Pokemongodb::Pokemon::Charmander, Pokemongodb::Pokemon::Charmeleon, Pokemongodb::Pokemon::Clefable, Pokemongodb::Pokemon::Clefairy, Pokemongodb::Pokemon::Cloyster, Pokemongodb::Pokemon::Cubone, Pokemongodb::Pokemon::Dewgong, Pokemongodb::Pokemon::Diglett, Pokemongodb::Pokemon::Ditto, Pokemongodb::Pokemon::Dodrio, Pokemongodb::Pokemon::Doduo, Pokemongodb::Pokemon::Dragonair, Pokemongodb::Pokemon::Dragonite, Pokemongodb::Pokemon::Dratini, Pokemongodb::Pokemon::Drowzee, Pokemongodb::Pokemon::Dugtrio, Pokemongodb::Pokemon::Eevee, Pokemongodb::Pokemon::Ekans, Pokemongodb::Pokemon::Electabuzz, Pokemongodb::Pokemon::Electrode, Pokemongodb::Pokemon::Exeggcute, Pokemongodb::Pokemon::Exeggutor, Pokemongodb::Pokemon::Farfetchd, Pokemongodb::Pokemon::Fearow, Pokemongodb::Pokemon::Flareon, Pokemongodb::Pokemon::Gastly, Pokemongodb::Pokemon::Gengar, Pokemongodb::Pokemon::Geodude, Pokemongodb::Pokemon::Gloom, Pokemongodb::Pokemon::Golbat, Pokemongodb::Pokemon::Goldeen, Pokemongodb::Pokemon::Golduck, Pokemongodb::Pokemon::Golem, Pokemongodb::Pokemon::Graveler, Pokemongodb::Pokemon::Grimer, Pokemongodb::Pokemon::Growlithe, Pokemongodb::Pokemon::Gyarados, Pokemongodb::Pokemon::Haunter, Pokemongodb::Pokemon::Hitmonchan, Pokemongodb::Pokemon::Hitmonlee, Pokemongodb::Pokemon::Horsea, Pokemongodb::Pokemon::Hypno, Pokemongodb::Pokemon::Ivysaur, Pokemongodb::Pokemon::Jigglypuff, Pokemongodb::Pokemon::Jolteon, Pokemongodb::Pokemon::Jynx, Pokemongodb::Pokemon::Kabuto, Pokemongodb::Pokemon::Kabutops, Pokemongodb::Pokemon::Kadabra, Pokemongodb::Pokemon::Kakuna, Pokemongodb::Pokemon::Kangaskhan, Pokemongodb::Pokemon::Kingler, Pokemongodb::Pokemon::Koffing, Pokemongodb::Pokemon::Krabby, Pokemongodb::Pokemon::Lapras, Pokemongodb::Pokemon::Lickitung, Pokemongodb::Pokemon::Machamp, Pokemongodb::Pokemon::Machoke, Pokemongodb::Pokemon::Machop, Pokemongodb::Pokemon::Magikarp, Pokemongodb::Pokemon::Magmar, Pokemongodb::Pokemon::Magnemite, Pokemongodb::Pokemon::Magneton, Pokemongodb::Pokemon::Mankey, Pokemongodb::Pokemon::Marowak, Pokemongodb::Pokemon::Meowth, Pokemongodb::Pokemon::Metapod, Pokemongodb::Pokemon::Mew, Pokemongodb::Pokemon::Mewtwo, Pokemongodb::Pokemon::Moltres, Pokemongodb::Pokemon::MrMime, Pokemongodb::Pokemon::Muk, Pokemongodb::Pokemon::Nidoking, Pokemongodb::Pokemon::Nidoqueen, Pokemongodb::Pokemon::NidoranF, Pokemongodb::Pokemon::NidoranM, Pokemongodb::Pokemon::Nidorina, Pokemongodb::Pokemon::Nidorino, Pokemongodb::Pokemon::Ninetales, Pokemongodb::Pokemon::Oddish, Pokemongodb::Pokemon::Omanyte, Pokemongodb::Pokemon::Omastar, Pokemongodb::Pokemon::Onix, Pokemongodb::Pokemon::Paras, Pokemongodb::Pokemon::Parasect, Pokemongodb::Pokemon::Persian, Pokemongodb::Pokemon::Pidgeot, Pokemongodb::Pokemon::Pidgeotto, Pokemongodb::Pokemon::Pidgey, Pokemongodb::Pokemon::Pikachu, Pokemongodb::Pokemon::Pinsir, Pokemongodb::Pokemon::Poliwag, Pokemongodb::Pokemon::Poliwhirl, Pokemongodb::Pokemon::Poliwrath, Pokemongodb::Pokemon::Ponyta, Pokemongodb::Pokemon::Porygon, Pokemongodb::Pokemon::Primeape, Pokemongodb::Pokemon::Psyduck, Pokemongodb::Pokemon::Raichu, Pokemongodb::Pokemon::Rapidash, Pokemongodb::Pokemon::Raticate, Pokemongodb::Pokemon::Rattata, Pokemongodb::Pokemon::Rhydon, Pokemongodb::Pokemon::Rhyhorn, Pokemongodb::Pokemon::Sandshrew, Pokemongodb::Pokemon::Sandslash, Pokemongodb::Pokemon::Scyther, Pokemongodb::Pokemon::Seadra, Pokemongodb::Pokemon::Seaking, Pokemongodb::Pokemon::Seel, Pokemongodb::Pokemon::Shellder, Pokemongodb::Pokemon::Slowbro, Pokemongodb::Pokemon::Slowpoke, Pokemongodb::Pokemon::Snorlax, Pokemongodb::Pokemon::Spearow, Pokemongodb::Pokemon::Squirtle, Pokemongodb::Pokemon::Starmie, Pokemongodb::Pokemon::Staryu, Pokemongodb::Pokemon::Tangela, Pokemongodb::Pokemon::Tauros, Pokemongodb::Pokemon::Tentacool, Pokemongodb::Pokemon::Tentacruel, Pokemongodb::Pokemon::Vaporeon, Pokemongodb::Pokemon::Venomoth, Pokemongodb::Pokemon::Venonat, Pokemongodb::Pokemon::Venusaur, Pokemongodb::Pokemon::Victreebel, Pokemongodb::Pokemon::Vileplume, Pokemongodb::Pokemon::Voltorb, Pokemongodb::Pokemon::Vulpix, Pokemongodb::Pokemon::Wartortle, Pokemongodb::Pokemon::Weedle, Pokemongodb::Pokemon::Weepinbell, Pokemongodb::Pokemon::Weezing, Pokemongodb::Pokemon::Wigglytuff, Pokemongodb::Pokemon::Zapdos, Pokemongodb::Pokemon::Zubat ]
|
15
|
+
end
|
16
|
+
|
17
|
+
# Returns number of candies to evolve, or nil if no evolution
|
18
|
+
#
|
19
|
+
# Example:
|
20
|
+
# >> Pokemongodb::Pokemon::Bulbasaur.candy_to_evolve
|
21
|
+
# => 25
|
22
|
+
#
|
23
|
+
# >> Pokemongodb::Pokemon::Ivysaur.candy_to_evolve
|
24
|
+
# => 100
|
25
|
+
#
|
26
|
+
# >> Pokemongodb::Pokemon::Venusaur.candy_to_evolve
|
27
|
+
# => nil
|
28
|
+
def self.candy_to_evolve
|
29
|
+
nil
|
167
30
|
end
|
168
31
|
|
169
32
|
# Returns array of possible charge move types
|
@@ -184,6 +47,36 @@ class Pokemongodb
|
|
184
47
|
moves.select { |move| move.category == Pokemongodb::Move::Category::CHARGE }
|
185
48
|
end
|
186
49
|
|
50
|
+
# returns integer of distance to hatch an egg, or nil if not hatchable from egg
|
51
|
+
#
|
52
|
+
# Example:
|
53
|
+
# >> Pokemongodb::Pokemon::Bulbasaur.egg_hatch_distance
|
54
|
+
# => 2
|
55
|
+
#
|
56
|
+
# >> Pokemongodb::Pokemon::Vulpix.egg_hatch_distance
|
57
|
+
# => 5
|
58
|
+
#
|
59
|
+
# >> Pokemongodb::Pokemon::Venusaur.egg_hatch_distance
|
60
|
+
# => nil
|
61
|
+
def self.egg_hatch_distance
|
62
|
+
nil
|
63
|
+
end
|
64
|
+
|
65
|
+
# returns the pokemon it evolves into, or nil if no further evolution
|
66
|
+
#
|
67
|
+
# Example:
|
68
|
+
# >> Pokemongodb::Pokemon::Bulbasaur.evolves_into
|
69
|
+
# => Pokemongodb::Pokemon::Ivysaur
|
70
|
+
#
|
71
|
+
# >> Pokemongodb::Pokemon::Ivysaur.evolves_into
|
72
|
+
# => Pokemongodb::Pokemon::Venusayr
|
73
|
+
#
|
74
|
+
# >> Pokemongodb::Pokemon::Venusaur.evolves_into
|
75
|
+
# => nil
|
76
|
+
def self.evolves_into
|
77
|
+
nil
|
78
|
+
end
|
79
|
+
|
187
80
|
# Returns array of possible move types
|
188
81
|
#
|
189
82
|
# Example:
|
@@ -255,6 +148,20 @@ class Pokemongodb
|
|
255
148
|
(fast_move_types + charge_move_types).uniq
|
256
149
|
end
|
257
150
|
|
151
|
+
# returns integer of perfect iv for hatched egg, or nil if not hatchable
|
152
|
+
#
|
153
|
+
# Example:
|
154
|
+
# >> Pokemongodb::Pokemon::Bulbasaur.perfect_hatch_iv
|
155
|
+
# => 612
|
156
|
+
#
|
157
|
+
# >> Pokemongodb::Pokemon::Ivysaur.perfect_hatch_iv
|
158
|
+
# => nil
|
159
|
+
def self.perfect_hatch_iv
|
160
|
+
return nil unless self.egg_hatch_distance
|
161
|
+
ratio = 4 / 7.0
|
162
|
+
(self.max_cp * ratio).to_i
|
163
|
+
end
|
164
|
+
|
258
165
|
# Returns pokemon by id, string, or symbol
|
259
166
|
#
|
260
167
|
# Example:
|
@@ -275,11 +182,7 @@ class Pokemongodb
|
|
275
182
|
# >> Pokemongodb::Pokemon::Bulbasaur.strong_against
|
276
183
|
# => [Pokemongodb::Pokemon::Cubone, Pokemongodb::Pokemon::Diglett, ...]
|
277
184
|
def self.strong_against
|
278
|
-
|
279
|
-
self.types.map(&:strong_against).flatten.uniq.each do |type|
|
280
|
-
p += Pokemongodb::Pokemon.find_by_type(type)
|
281
|
-
end
|
282
|
-
return p.uniq
|
185
|
+
self.find_type_against(:strong_against)
|
283
186
|
end
|
284
187
|
|
285
188
|
# Returns array of pokemon the subject is weak against
|
@@ -288,73 +191,17 @@ class Pokemongodb
|
|
288
191
|
# >> Pokemongodb::Pokemon::Bulbasaur.weak_against
|
289
192
|
# => Pokemongodb::Pokemon::Beedrill, Pokemongodb::Pokemon::Butterfree, ... ]
|
290
193
|
def self.weak_against
|
194
|
+
self.find_type_against(:weak_against)
|
195
|
+
end
|
196
|
+
|
197
|
+
private
|
198
|
+
def self.find_type_against(mapped_type)
|
291
199
|
p = []
|
292
|
-
self.types.map(
|
200
|
+
self.types.map(&mapped_type).flatten.uniq.each do |type|
|
293
201
|
p += Pokemongodb::Pokemon.find_by_type(type)
|
294
202
|
end
|
295
203
|
return p.uniq
|
296
204
|
end
|
297
|
-
|
298
|
-
protected
|
299
|
-
|
300
|
-
# Returns number of candies to evolve, or nil if no evolution
|
301
|
-
#
|
302
|
-
# Example:
|
303
|
-
# >> Pokemongodb::Pokemon::Bulbasaur.candy_to_evolve
|
304
|
-
# => 25
|
305
|
-
#
|
306
|
-
# >> Pokemongodb::Pokemon::Ivysaur.candy_to_evolve
|
307
|
-
# => 100
|
308
|
-
#
|
309
|
-
# >> Pokemongodb::Pokemon::Venusaur.candy_to_evolve
|
310
|
-
# => nil
|
311
|
-
def self.candy_to_evolve
|
312
|
-
nil
|
313
|
-
end
|
314
|
-
|
315
|
-
# returns integer of distance to hatch an egg, or nil if not hatchable from egg
|
316
|
-
#
|
317
|
-
# Example:
|
318
|
-
# >> Pokemongodb::Pokemon::Bulbasaur.egg_hatch_distance
|
319
|
-
# => 2
|
320
|
-
#
|
321
|
-
# >> Pokemongodb::Pokemon::Vulpix.egg_hatch_distance
|
322
|
-
# => 5
|
323
|
-
#
|
324
|
-
# >> Pokemongodb::Pokemon::Venusaur.egg_hatch_distance
|
325
|
-
# => nil
|
326
|
-
def self.egg_hatch_distance
|
327
|
-
nil
|
328
|
-
end
|
329
|
-
|
330
|
-
# returns the pokemon it evolves into, or nil if no further evolution
|
331
|
-
#
|
332
|
-
# Example:
|
333
|
-
# >> Pokemongodb::Pokemon::Bulbasaur.evolves_into
|
334
|
-
# => Pokemongodb::Pokemon::Ivysaur
|
335
|
-
#
|
336
|
-
# >> Pokemongodb::Pokemon::Ivysaur.evolves_into
|
337
|
-
# => Pokemongodb::Pokemon::Venusayr
|
338
|
-
#
|
339
|
-
# >> Pokemongodb::Pokemon::Venusaur.evolves_into
|
340
|
-
# => nil
|
341
|
-
def self.evolves_into
|
342
|
-
nil
|
343
|
-
end
|
344
|
-
|
345
|
-
# returns integer of perfect iv for hatched egg, or nil if not hatchable
|
346
|
-
#
|
347
|
-
# Example:
|
348
|
-
# >> Pokemongodb::Pokemon::Bulbasaur.perfect_hatch_iv
|
349
|
-
# => 612
|
350
|
-
#
|
351
|
-
# >> Pokemongodb::Pokemon::Ivysaur.perfect_hatch_iv
|
352
|
-
# => nil
|
353
|
-
def self.perfect_hatch_iv
|
354
|
-
return nil unless self.egg_hatch_distance
|
355
|
-
ratio = 4 / 7.0
|
356
|
-
(self.max_cp * ratio).to_i
|
357
|
-
end
|
358
205
|
end
|
359
206
|
end
|
360
207
|
|
data/lib/pokemongodb/type.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
class Pokemongodb
|
2
|
-
class Type
|
2
|
+
class Type < Pokemongodb
|
3
3
|
|
4
4
|
# Returns array of all available Types.
|
5
5
|
#
|
@@ -40,15 +40,6 @@ class Pokemongodb
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
# Returns string name inferred from class name.
|
44
|
-
#
|
45
|
-
# Example:
|
46
|
-
# >> Pokemongodb::Type::Normal.name
|
47
|
-
# => "Normal"
|
48
|
-
def self.name
|
49
|
-
to_s.split("::").last
|
50
|
-
end
|
51
|
-
|
52
43
|
# Returns array of types where both the offense and defense are strong.
|
53
44
|
#
|
54
45
|
# Example:
|