kittyverse 0.3.0 → 0.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/Manifest.txt +5 -3
- data/README.md +69 -10
- data/lib/kittyverse.rb +9 -268
- data/lib/kittyverse/cattributes.rb +29 -22
- data/lib/kittyverse/config/fancies.rb +550 -0
- data/lib/kittyverse/{purrstige.rb → config/purrstiges.rb} +1 -1
- data/lib/kittyverse/config/traits.rb +377 -0
- data/lib/kittyverse/{traits_timeline.rb → config/traits_timeline.rb} +0 -0
- data/lib/kittyverse/fancies.rb +158 -550
- data/lib/kittyverse/links.rb +6 -9
- data/lib/kittyverse/traits.rb +262 -374
- data/lib/kittyverse/version.rb +1 -1
- data/test/test_cattributes.rb +22 -34
- data/test/test_fancies.rb +52 -0
- data/test/test_traits.rb +66 -169
- metadata +7 -5
- data/lib/kittyverse/catalog.rb +0 -27
@@ -1,6 +1,13 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
|
4
|
+
|
5
|
+
class Cattributes
|
6
|
+
## add cattributes (traits) type lookup to Cattribute itself - why? why not?
|
7
|
+
def self.[]( key ) TraitType.find_by_key( key ).cattributes; end
|
8
|
+
end
|
9
|
+
|
10
|
+
|
4
11
|
class Cattribute
|
5
12
|
|
6
13
|
def self.cattributes_by_name() @@cattributes_by_name ||= {}; end
|
@@ -26,6 +33,7 @@ class Cattribute
|
|
26
33
|
|
27
34
|
|
28
35
|
attr_accessor :type,
|
36
|
+
:key,
|
29
37
|
:name,
|
30
38
|
:traits,
|
31
39
|
:recipe
|
@@ -44,45 +52,43 @@ class Cattribute
|
|
44
52
|
|
45
53
|
|
46
54
|
## autofill cattributes
|
47
|
-
|
48
|
-
|
55
|
+
TraitType.each do |tt|
|
56
|
+
key = tt.key
|
57
|
+
puts "key: #{key}"
|
49
58
|
|
50
|
-
tt = Traits[ key ]
|
51
59
|
tt.cattributes ||= [] ## if nil make sure it's an empty array when starting
|
52
60
|
## pp tt
|
53
61
|
|
54
62
|
next if [:secret, :prestige].include?( key)
|
55
63
|
|
56
|
-
|
64
|
+
tt.traits.each do |t|
|
57
65
|
## 1) skip "unnamed" traits
|
58
|
-
next if
|
66
|
+
next if t.name.nil?
|
59
67
|
|
68
|
+
pp t.name
|
60
69
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
if TOTESBASIC.include?( trait_name )
|
66
|
-
if trait_name == TOTESBASIC.first
|
70
|
+
## 2) special case for totesbasic - one cattribute, three traits
|
71
|
+
## (that is, Totesbasic 1, Totesbasic 2, Totesbasic 3)
|
72
|
+
if TOTESBASIC.include?( t.name )
|
73
|
+
if t.name == TOTESBASIC.first
|
67
74
|
t1 = Traits[ TOTESBASIC[0] ]
|
68
75
|
t2 = Traits[ TOTESBASIC[1] ]
|
69
76
|
t3 = Traits[ TOTESBASIC[2] ]
|
70
77
|
|
71
78
|
cattribute = Cattribute.new(
|
72
|
-
|
73
|
-
|
79
|
+
key: 'totesbasic'.to_sym,
|
80
|
+
name: 'Totesbasic',
|
81
|
+
type: tt,
|
74
82
|
traits: [t1,t2,t3]
|
75
83
|
)
|
76
84
|
else
|
77
85
|
next ## skip all other totesbasic traits
|
78
86
|
end
|
79
87
|
else
|
80
|
-
t = Traits[trait_name]
|
81
|
-
pp t.name
|
82
|
-
|
83
88
|
cattribute = Cattribute.new(
|
84
|
-
name
|
85
|
-
|
89
|
+
key: t.name.to_sym,
|
90
|
+
name: t.name,
|
91
|
+
type: tt,
|
86
92
|
traits: [t]
|
87
93
|
)
|
88
94
|
## pp cattribute
|
@@ -90,7 +96,7 @@ class Cattribute
|
|
90
96
|
|
91
97
|
tt.cattributes << cattribute
|
92
98
|
|
93
|
-
cattributes_by_name[ cattribute.name ] = cattribute
|
99
|
+
cattributes_by_name[ cattribute.name.downcase ] = cattribute
|
94
100
|
end
|
95
101
|
end
|
96
102
|
|
@@ -102,14 +108,15 @@ class Cattribute
|
|
102
108
|
pp h
|
103
109
|
|
104
110
|
cattribute = Cattribute.new(
|
105
|
-
|
106
|
-
|
111
|
+
key: key,
|
112
|
+
name: h[:name],
|
113
|
+
type: tt,
|
107
114
|
traits: [], ## empty traits
|
108
115
|
recipe: h[:recipe] ## todo/fix: add recipe as a struct (NOT as a hash)
|
109
116
|
)
|
110
117
|
tt.cattributes << cattribute
|
111
118
|
|
112
|
-
cattributes_by_name[ cattribute.name ] = cattribute
|
119
|
+
cattributes_by_name[ cattribute.name.downcase ] = cattribute
|
113
120
|
end
|
114
121
|
|
115
122
|
|
@@ -0,0 +1,550 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
#
|
5
|
+
# for latest updates on new fancies/exclusives see:
|
6
|
+
# https://updates.cryptokitties.co (official latest updates/timeline)
|
7
|
+
#
|
8
|
+
# or see
|
9
|
+
# https://blog.kotobaza.co/timeline/
|
10
|
+
|
11
|
+
|
12
|
+
##
|
13
|
+
## todo/fix:
|
14
|
+
## use count: for time-limited fancies do NOT use limit!!! change limit to count!!!
|
15
|
+
|
16
|
+
##
|
17
|
+
## note:
|
18
|
+
## for time limits for fancies use:
|
19
|
+
## e.g. time: { end: '2018-12-07' } # until dec/7
|
20
|
+
##
|
21
|
+
## for overflows for limited edition use:
|
22
|
+
## e.g. overflow: 1 # 888+1 (=889)
|
23
|
+
|
24
|
+
|
25
|
+
### todo/fix:
|
26
|
+
## split into EXCLUSIVES
|
27
|
+
## and into SPECIAL_EDITIONS (SPECIALS?) - why? why not?
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
FANCIES =
|
32
|
+
{
|
33
|
+
# Apr 27, 2019
|
34
|
+
# Krakitten Fancy Cat is discovered. Fancy Cat
|
35
|
+
krakitten: { name: 'Krakitten',
|
36
|
+
recipe: {
|
37
|
+
time: { start: '2019-04-27', end: '2019-05-06' },
|
38
|
+
traits: ['cobalt', 'ducky', 'salty', 'splat']}
|
39
|
+
},
|
40
|
+
# Apr 13, 2019
|
41
|
+
# Furbeard Fancy Cat is discovered. Fancy Cat
|
42
|
+
furbeard: { name: 'Furbeard', date: '2019-04-13',
|
43
|
+
recipe: {
|
44
|
+
limit: 3733, ### todo -check if furbear was time windowed???
|
45
|
+
traits: ['inflatablepool', 'hanauma', 'neckbeard']}
|
46
|
+
},
|
47
|
+
|
48
|
+
# Apr 10, 2019
|
49
|
+
# Sparkles Special Edition Cat is released.Special Edition Cat
|
50
|
+
sparkles: { name: 'Sparkles', date: '2019-04-10',
|
51
|
+
specialedition: {
|
52
|
+
limit: 100 },
|
53
|
+
desc: 'Freebie for CryptoKitties Community Events'
|
54
|
+
},
|
55
|
+
|
56
|
+
papacatuanuku: { name: 'Papacatuanuku', date: '2019-03-31',
|
57
|
+
exclusive: {
|
58
|
+
limit: 1, ids: [1500000] },
|
59
|
+
desc: 'Kitty #1500000'
|
60
|
+
},
|
61
|
+
|
62
|
+
# Mar 30, 2019
|
63
|
+
# Glitter Fancy Cat is discovered. Fancy Cat
|
64
|
+
glitter: { name: 'Glitter',
|
65
|
+
recipe: {
|
66
|
+
time: { start: '2019-03-30', end: '2019-11-30'},
|
67
|
+
traits: ['rorschach', 'juju', 'unicorn', 'hyacinth'] }
|
68
|
+
},
|
69
|
+
|
70
|
+
|
71
|
+
# Mar 26, 2019
|
72
|
+
# Sir Meowsalot Exclusive Cat is released. Exclusive Cat
|
73
|
+
sirmeowsalot: { name: 'Sir Meowsalot', date: '2019-03-26',
|
74
|
+
exclusive: {
|
75
|
+
limit: 21, ids: (201..221).to_a }
|
76
|
+
},
|
77
|
+
|
78
|
+
# Mar 16, 2019
|
79
|
+
# Clover Fancy Cat is discovered. Fancy Cat
|
80
|
+
clover: { name: 'Clover', date: '2019-03-16',
|
81
|
+
recipe: {
|
82
|
+
limit: 2506,
|
83
|
+
traits: ['shamrock', 'emeraldgreen', 'roadtogold', 'PU27'] },
|
84
|
+
desc: "Celebrating St. Patrick's Day 2019 (March/19th)"
|
85
|
+
},
|
86
|
+
|
87
|
+
# Mar 2, 2019
|
88
|
+
# Glasswalker Fancy Cat is discovered. Fancy Cat
|
89
|
+
glasswalker: { name: 'Glasswalker', date: '2019-03-02',
|
90
|
+
recipe: {
|
91
|
+
limit: 1230,
|
92
|
+
traits: ['cloudwhite', 'henna', 'pearl', 'firedup'] },
|
93
|
+
desc: "Ninja Fancy Cat"
|
94
|
+
},
|
95
|
+
|
96
|
+
cyberberry: { name: 'Cyber Berry', date: '2019-03-02',
|
97
|
+
exclusive: {
|
98
|
+
limit: 1, ids: [282] },
|
99
|
+
desc: "Winner of the NFTme Sweetstakes"
|
100
|
+
},
|
101
|
+
|
102
|
+
# Mar 1, 2019
|
103
|
+
# Hinecatone Exclusive Cat is discovered. Exclusive Cat
|
104
|
+
hinecatone: { name: 'Hinecatone', date: '2019-03-01',
|
105
|
+
exclusive: {
|
106
|
+
limit: 15, ids: [1423547, 1433380, 1433486, 1440835, 1453366, 1456935, 1456973, 1459319, 1463197, 1466118, 1474082, 1484593, 1484982, 1492154, 1498885]}
|
107
|
+
},
|
108
|
+
|
109
|
+
|
110
|
+
# Feb 21, 2019
|
111
|
+
# Ande Fancy Cat is discovered. Fancy Cat
|
112
|
+
ande: { name: 'Ande', date: '2019-02-21',
|
113
|
+
recipe: {
|
114
|
+
limit: 440,
|
115
|
+
traits: ['munchkin', 'cashewmilk', 'moue', 'PU30', 'WE10'] }
|
116
|
+
},
|
117
|
+
# Feb 17, 2019
|
118
|
+
# Al Fancy Cat is discovered. Fancy Cat
|
119
|
+
al: { name: 'Al',
|
120
|
+
recipe: {
|
121
|
+
time: { start: '2019-02-17', end: '2019-12-01'},
|
122
|
+
traits: ['munchkin','moue','cashewmilk','brownies'] }
|
123
|
+
},
|
124
|
+
# Feb 16, 2019
|
125
|
+
# Pizzazz Fancy Cat is discovered.Fancy Cat
|
126
|
+
pizzazz: { name: 'Pizzazz',
|
127
|
+
recipe: {
|
128
|
+
time: { start: '2019-02-16', end: '2019-12-01'},
|
129
|
+
traits: ['mekong', 'scarlet', 'spangled', 'wonky'] }
|
130
|
+
},
|
131
|
+
|
132
|
+
# Feb 15, 2019
|
133
|
+
# Felono Exclusive Cat is discovered. Exclusive Cat
|
134
|
+
felono: { name: 'Felono', date: '2019-02-15',
|
135
|
+
exclusive: {
|
136
|
+
limit: 30, ids: [1394641, 1404595, 1406021, 1413065, 1414375, 1420553, 1421315, 1421864, 1424104 ,1425433, 1431823, 1435517, 1436333, 1449860, 1451482, 1455458, 1459320, 1462952, 1463069, 1476999, 1483225, 1487210, 1487551, 1489681, 1490345, 1491632, 1492206, 1492739, 1492817, 1498778]}
|
137
|
+
},
|
138
|
+
|
139
|
+
# Feb 9, 2019
|
140
|
+
# Miss Purrfect Fancy Cat is discovered.Fancy Cat
|
141
|
+
misspurrfect: { name: 'Miss Purrfect', date: '2019-02-09',
|
142
|
+
recipe: {
|
143
|
+
limit: 1298,
|
144
|
+
traits: ['allyouneed', 'butterscotch', 'asif', 'satiated', 'flapflap']},
|
145
|
+
desc: "Celebrating St. Valentine's Day 2019 (Feb/14th)"
|
146
|
+
},
|
147
|
+
|
148
|
+
## 2019
|
149
|
+
## January
|
150
|
+
|
151
|
+
# Jan 26, 2019
|
152
|
+
# Squib Fancy Cat is discovered. Fancy Cat
|
153
|
+
squib: { name: 'Squib', date: '2019-01-26',
|
154
|
+
recipe: {
|
155
|
+
limit: 1443,
|
156
|
+
traits: ['oldlace', 'razzledazzle', 'buzzed', 'rollercoaster']},
|
157
|
+
desc: 'Celebrating American Football Super Bowl LIII in 2019'
|
158
|
+
},
|
159
|
+
|
160
|
+
tallythepurrocious: { name: 'Tally The Purrocious',
|
161
|
+
recipe: {
|
162
|
+
time: { start: '2019-01-10', end: '2019-01-21' }, count: 3992,
|
163
|
+
traits: ['selkirk', 'koala', 'arcreactor', 'sully'] },
|
164
|
+
desc: 'Gods Unchained Promotion - Mystical Cat Talisman'
|
165
|
+
},
|
166
|
+
## date: '2019-01-10 ??? -- use for date "announced" or something - why? why not?
|
167
|
+
aeoncat: { name: 'Aeoncat',
|
168
|
+
specialedition: {
|
169
|
+
time: { start: '2019-01-17', end: '2019-01-28' },
|
170
|
+
limit: 380 }, ## Don't sleep - there's only 380 up for grabs!
|
171
|
+
desc: 'Goddess Aeona - Goddess of Nature - Gods Unchained Promotion'
|
172
|
+
},
|
173
|
+
hypurrion: { name: 'Hypurrion', date: '2019-01-10',
|
174
|
+
exclusive: {
|
175
|
+
limit: 1, ids: [269]},
|
176
|
+
desc: 'Hyperion - Mythic Titan of Light - Gods Unchained Promotion'
|
177
|
+
},
|
178
|
+
|
179
|
+
## 2018
|
180
|
+
## December
|
181
|
+
catzy: { name: 'Catzy', date: '2018-12-31',
|
182
|
+
specialedition: {
|
183
|
+
limit: 10, ids: (1137653..1137662).to_a },
|
184
|
+
desc: 'Changpeng "CZ" Zhao - CEO of Binance - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
|
185
|
+
},
|
186
|
+
purremyallaire: { name: 'Purremy Allaire', date: '2018-12-31',
|
187
|
+
specialedition: {
|
188
|
+
limit: 10, ids: (1137663..1137672).to_a },
|
189
|
+
desc: 'Jeremy Allaire - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
|
190
|
+
},
|
191
|
+
genedough: { name: 'Gene Dough',
|
192
|
+
recipe: {
|
193
|
+
time: { start: '2018-12-23', end: '2019-01-07' }, count: 1376,
|
194
|
+
traits: ['hotcocoa', 'mittens', 'frosting'] }
|
195
|
+
},
|
196
|
+
pawrula: { name: 'Pawrula the Bright',
|
197
|
+
recipe: {
|
198
|
+
time: { start: '2018-12-15', end: '2019-11-30' },
|
199
|
+
traits: ['camo', 'butterscotch', 'fox'] },
|
200
|
+
desc: 'Neha Narula - Director of the Digital Currency Initiative at the MIT Media Lab'
|
201
|
+
},
|
202
|
+
|
203
|
+
## November
|
204
|
+
draco: { name: 'Draco',
|
205
|
+
recipe: {
|
206
|
+
time: { start: '2018-11-30', end: '2018-12-07' }, count: 1115,
|
207
|
+
traits: ['toyger', 'martian', 'peppermint', 'dragonwings', 'SE03'] }
|
208
|
+
},
|
209
|
+
dracothemagnificent: { name: 'Draco The Magnificent', date: '2018-11-27',
|
210
|
+
exclusive: {
|
211
|
+
limit: 12, ids: (270..281).to_a }
|
212
|
+
},
|
213
|
+
bugcatv2: { name: 'Bug Cat V2', date: '2018-11-27',
|
214
|
+
exclusive: {
|
215
|
+
limit: 20, ids: (167..186).to_a },
|
216
|
+
desc: 'Bug Bounty II (Offers Contract) Kitty'
|
217
|
+
},
|
218
|
+
dracojunior: { name: 'Draco Junior',
|
219
|
+
recipe: {
|
220
|
+
time: { start: '2018-11-26', end: '2018-12-07' }, count: 1398,
|
221
|
+
traits: ['lynx', 'verdigris', 'dragontail', 'SE03']}
|
222
|
+
},
|
223
|
+
dreggo: { name: 'Dreggo',
|
224
|
+
recipe: {
|
225
|
+
time: { start: '2018-11-21', end: '2018-12-07' }, count: 3624,
|
226
|
+
traits: ['siberian', 'bananacream', 'SE03'] }
|
227
|
+
},
|
228
|
+
pickles: { name: 'Pickles', date: '2018-11-14',
|
229
|
+
recipe: {
|
230
|
+
limit: 303,
|
231
|
+
traits: ['lynx', 'martian', 'highsociety', 'emeraldgreen']}
|
232
|
+
},
|
233
|
+
lilbub: { name: 'Lil Bub Ub Bub (BUB)', date: '2018-11-13',
|
234
|
+
specialedition: {
|
235
|
+
limit: 468 }
|
236
|
+
},
|
237
|
+
|
238
|
+
lilbubthemagicalspacecat: { name: 'Lil Bub Ub Bub (BUB) The Magical Space Cat', date: '2018-11-13',
|
239
|
+
exclusive: {
|
240
|
+
limit: 3, ids: [266,267,268]}
|
241
|
+
},
|
242
|
+
|
243
|
+
## October
|
244
|
+
dukecat: { name: 'Dukecat', date: '2018-10-18',
|
245
|
+
recipe: {
|
246
|
+
limit: 1366,
|
247
|
+
traits: ['cymric', 'periwinkle', 'simple', 'tongue']}
|
248
|
+
},
|
249
|
+
sheilapurren: { name: 'Sheila Purren', date: '2018-10-04',
|
250
|
+
recipe: {
|
251
|
+
limit: 1971,
|
252
|
+
traits: ['mauveover', 'icy', 'wingtips', 'fangtastic']},
|
253
|
+
desc: 'Sheila Warren Kitty-fied - Head of Blockchain and Distributed Ledger Technology at the World Economic Forum (WEF)'
|
254
|
+
},
|
255
|
+
|
256
|
+
## September
|
257
|
+
pawzilla: { name: 'Pawzilla', date: '2018-09-22',
|
258
|
+
recipe: {
|
259
|
+
limit: 1185,
|
260
|
+
traits: ['jaguar', 'universe', 'atlantis', 'littlefoot']}
|
261
|
+
},
|
262
|
+
vulcat: { name: 'Vulcat', date: '2018-09-12',
|
263
|
+
exclusive: {
|
264
|
+
limit: 1, ids: [1000000] },
|
265
|
+
desc: '1 000 000th Kitty'
|
266
|
+
},
|
267
|
+
meowstro: { name: 'Meowstro', date: '2018-09-09',
|
268
|
+
recipe: {
|
269
|
+
limit: 1698,
|
270
|
+
traits: ['onyx', 'wowza', 'eclipse']}
|
271
|
+
},
|
272
|
+
atlas: { name: 'Atlas', date: '2018-09-07',
|
273
|
+
recipe: {
|
274
|
+
limit: 998,
|
275
|
+
traits: ['highlander', 'kittencream', 'swarley', 'topoftheworld']}
|
276
|
+
},
|
277
|
+
|
278
|
+
## August
|
279
|
+
vulcant: { name: 'Vulcant', date: '2018-08-31',
|
280
|
+
exclusive: {
|
281
|
+
limit: 20, ids: [932914,937360,938299,946526,948925,949058,950617,952280,952981,956374,956908,958570,964205,967234,983046,984451,990713,992861,995745,997469] }
|
282
|
+
},
|
283
|
+
purrity: { name: 'Purrity', date: '2018-08-23',
|
284
|
+
recipe: {
|
285
|
+
limit: 5984,
|
286
|
+
traits: ['selkirk', 'chronic', 'cloudwhite', 'cheeky'] }
|
287
|
+
},
|
288
|
+
rabbidkitty: { name: 'Rabbid Kitty', date: '2018-08-23',
|
289
|
+
exclusive: {
|
290
|
+
limit: 6, ids: (260..265).to_a },
|
291
|
+
desc: 'Ubisoft Blockchain Heroes Hackathon'
|
292
|
+
},
|
293
|
+
squiddlesworth: { name: 'Squiddlesworth', date: '2018-08-16',
|
294
|
+
recipe: {
|
295
|
+
limit: 1510,
|
296
|
+
traits: ['sphynx', 'redvelvet', 'patrickstarfish', 'dragontail'] },
|
297
|
+
desc: 'Lava Squid Cat'
|
298
|
+
},
|
299
|
+
|
300
|
+
## July
|
301
|
+
purrspero: { name: 'Purrspero', date: '2018-07-27',
|
302
|
+
recipe: {
|
303
|
+
limit: 4448,
|
304
|
+
traits: ['dippedcone', 'googly', 'royalpurple', 'beard']}
|
305
|
+
},
|
306
|
+
catbury: { name: 'Catbury', date: '2018-07-25',
|
307
|
+
recipe: {
|
308
|
+
limit: 76,
|
309
|
+
traits: ['ragdoll', 'crazy', 'chocolate', 'mintmacaron', 'yokel', 'WE02']}
|
310
|
+
},
|
311
|
+
honu: { name: 'Honu', date: '2018-07-20',
|
312
|
+
exclusive: {
|
313
|
+
limit: 1, ids: [251] },
|
314
|
+
desc: 'Kitties for Good - Save Turtle Habitats'
|
315
|
+
},
|
316
|
+
victoire: { name: 'Victoire', date: '2018-07-18',
|
317
|
+
exclusive: {
|
318
|
+
limit: 1, ids: [402] },
|
319
|
+
desc: 'France Football World Cup Champion'
|
320
|
+
},
|
321
|
+
lulu: { name: 'Lulu', date: '2018-07-13',
|
322
|
+
recipe: {
|
323
|
+
limit: 999,
|
324
|
+
traits: ['cyan', 'verdigris', 'turtleback', 'salty']}
|
325
|
+
},
|
326
|
+
boot: { name: 'Boot', date: '2018-07-05',
|
327
|
+
recipe: {
|
328
|
+
limit: 1440,
|
329
|
+
traits: ['ganado', 'wiley', 'cerulian', 'rollercoaster'],
|
330
|
+
variants: {
|
331
|
+
belgium: { name: 'Belgium', count: 97, traits: [['orangesoda','onyx']]}, ## Base Color: Orangesoda / Onyx
|
332
|
+
brazil: { name: 'Brazil', count: 195, traits: [['hintomint','bananacream','verdigris']]}, ## Base Color: Hintomint / Bananacream / Verdigris
|
333
|
+
croatia: { name: 'Croatia', count: 253, traits: [['cottoncandy','mauveover','oldlace']]}, ## Base Color: Cottoncandy / Mauveover / Oldlace
|
334
|
+
england: { name: 'England', count: 168, traits: [['greymatter','martian']]}, ## Base Color: Greymatter / Martian
|
335
|
+
france: { name: 'France', count: 317, traits: [['harbourfog','cinderella','lavender']]}, ## Base Color: Harbourfog / Cinderella / Lavender
|
336
|
+
russia: { name: 'Russia', count: 94, traits: [['shadowgrey','salmon','cloudwhite']]}, ## Base Color: Shadowgrey / Salmon/ Cloudwhite
|
337
|
+
sweden: { name: 'Sweden', count: 123, traits: [['brownies','dragonfruit','redvelvet']]}, ## Base Color: Brownies / Dragonfruit / Redvelvet
|
338
|
+
uruguay: { name: 'Uruguay', count: 193, traits: [['aquamarine','nachocheez','koala']]}, ## Base Color: Aquamarine / Nachocheez / Koala
|
339
|
+
}},
|
340
|
+
desc: 'Football World Cup',
|
341
|
+
},
|
342
|
+
## note: boot - different variants for world cup teams
|
343
|
+
## Although there are 8 unique Fancies, they're actually each a variant on the same Fancy - Boot.
|
344
|
+
## Their colours are different, and you can collect all 8 as a set
|
345
|
+
|
346
|
+
## June
|
347
|
+
raspoutine: { name: 'Raspoutine', date: '2018-06-28',
|
348
|
+
recipe: {
|
349
|
+
limit: 1867,
|
350
|
+
traits: ['buzzed', 'nachocheez', 'sandalwood', 'belch']}
|
351
|
+
},
|
352
|
+
furlin: { name: 'Furlin', date: '2018-06-26',
|
353
|
+
exclusive: {
|
354
|
+
limit: 52, ids: (115..126).to_a + (128..166).to_a }
|
355
|
+
},
|
356
|
+
kittypride: { name: 'Kitty Pride', date: '2018-06-21',
|
357
|
+
recipe: {
|
358
|
+
limit: 1316,
|
359
|
+
traits: ['fabulous','cinderella','garnet']}
|
360
|
+
},
|
361
|
+
furrmingo: { name: 'Furrmingo', date: '2018-06-14',
|
362
|
+
recipe: {
|
363
|
+
limit: 333,
|
364
|
+
traits: ['bobtail', 'egyptiankohl', 'flamingo', 'whixtensions']}
|
365
|
+
},
|
366
|
+
|
367
|
+
## May
|
368
|
+
page: { name: 'Page', date: '2018-05-31',
|
369
|
+
recipe: {
|
370
|
+
limit: 50_000,
|
371
|
+
traits: ['rascal', 'peach', 'wasntme' ]}
|
372
|
+
},
|
373
|
+
"schrödingerscat": { name: "Schrödinger's Cat", date: '2018-05-20',
|
374
|
+
recipe: {
|
375
|
+
limit: 73,
|
376
|
+
traits: ['forgetmenot','tinybox','PU20','SE25']}
|
377
|
+
},
|
378
|
+
chatplongeur: { name: 'Chat Plongeur', date: '2018-05-19',
|
379
|
+
recipe: {
|
380
|
+
limit: 1910,
|
381
|
+
traits: ['aquamarine', 'skyblue', 'seafoam'] }
|
382
|
+
},
|
383
|
+
docpurr: { name: 'Doc Purr', date: '2018-05-16',
|
384
|
+
recipe: {
|
385
|
+
limit: 250,
|
386
|
+
traits: ['persian','spock','raisedbrow','violet','tongue'] }
|
387
|
+
},
|
388
|
+
celestialcyberdimension: { name: 'Celestial Cyber Dimension', date: '2018-05-12',
|
389
|
+
exclusive: {
|
390
|
+
limit: 1, ids: [127] }
|
391
|
+
},
|
392
|
+
swish: { name: 'Swish', date: '2018-05-08',
|
393
|
+
recipe: {
|
394
|
+
limit: 2880,
|
395
|
+
traits: ['norwegianforest', 'luckystripe', 'thicccbrowz', 'orangesoda'] }
|
396
|
+
},
|
397
|
+
|
398
|
+
## April
|
399
|
+
flutterbee: { name: 'Flutterbee', date: '2018-04-28',
|
400
|
+
recipe: {
|
401
|
+
limit: 275,
|
402
|
+
traits: ['cloudwhite','jaguar','lemonade','azaleablush','WE14'] }
|
403
|
+
},
|
404
|
+
vernon: { name: 'Vernon', date: '2018-04-16',
|
405
|
+
recipe: {
|
406
|
+
limit: 320,
|
407
|
+
traits: ['amur','fabulous','cottoncandy','springcrocus','belleblue','soserious']},
|
408
|
+
desc: 'Spring Equinox Kitty' ## first, see https://www.cryptokitties.co/kitty/696398
|
409
|
+
},
|
410
|
+
|
411
|
+
## March
|
412
|
+
berry: { name: 'Berry', date: '2018-03-16',
|
413
|
+
recipe: {
|
414
|
+
limit: 200,
|
415
|
+
traits: ['dragonfruit','thunderstruck','emeraldgreen','apricot','simple'] }
|
416
|
+
},
|
417
|
+
pussforprogress: { name: 'Puss For Progress', date: '2018-03-08',
|
418
|
+
recipe: {
|
419
|
+
limit: 1920,
|
420
|
+
traits: ['himalayan','peach','safetyvest','gerbil'] },
|
421
|
+
desc: "Women's Day"
|
422
|
+
},
|
423
|
+
fortunecat: { name: 'Fortune Cat', name_cn: '红包喵', date: '2018-03-08',
|
424
|
+
recipe: {
|
425
|
+
limit: 888,
|
426
|
+
traits: ['harbourfog','calicool','swampgreen','sapphire','beard']}
|
427
|
+
}, ## todo: check date for china launch specials!!!
|
428
|
+
goldendragoncat: { name: 'Golden Dragon Cat', name_cn: '帝龙喵', date: '2018-03-08',
|
429
|
+
exclusive: {
|
430
|
+
limit: 1, ids: [888] },
|
431
|
+
desc: 'China Launch'
|
432
|
+
}, ## todo: check date for china launch specials!!!
|
433
|
+
goldendogcat: { name: 'Golden Dog Cat', name_cn: '旺财汪', date: '2018-03-08',
|
434
|
+
exclusive: {
|
435
|
+
limit: 11, ids: [1802,1803,1805,1806,1808,1809,1812,1816]+(1825..1828).to_a },
|
436
|
+
desc: 'China Launch'
|
437
|
+
}, ## todo: check date for china launch specials!!!
|
438
|
+
liondance: { name: 'Lion Dance', name_cn: '咚咚锵', date: '2018-03-07',
|
439
|
+
recipe: {
|
440
|
+
limit: 888, overflow: 1, ## use count 889 ?? - why? why not?
|
441
|
+
traits: ['manx','royalblue','googly','starstruck']}
|
442
|
+
},
|
443
|
+
dogcat: { name: 'Dog Cat', name_cn: '汪星爷', date: '2018-03-02',
|
444
|
+
recipe: {
|
445
|
+
limit: 88,
|
446
|
+
traits: ['tigerpunk','periwinkle','barkbrown','sweetmeloncakes','yokel']},
|
447
|
+
desc: 'Year of the Dog (Greater China)'
|
448
|
+
},
|
449
|
+
knightkitty: { name: 'Knight Kitty', date: '2018-03-01',
|
450
|
+
exclusive: {
|
451
|
+
limit: 11, ids: (104..114).to_a }
|
452
|
+
},
|
453
|
+
|
454
|
+
## February
|
455
|
+
tabby: { name: 'Tabby', date: '2018-02-26',
|
456
|
+
recipe: {
|
457
|
+
limit: 250,
|
458
|
+
traits: ['ragamuffin','morningglory','otaku','cheeky'] }
|
459
|
+
},
|
460
|
+
yuricatsuki: { name: 'Yuri Catsuki', date: '2018-02-20',
|
461
|
+
recipe: {
|
462
|
+
limit: 250,
|
463
|
+
traits: ['cymric','tiger','neckbeard','elk'] },
|
464
|
+
desc: 'Figure Scating Kitty - Winter Olympics (Korea)'
|
465
|
+
},
|
466
|
+
misterpurrfect: { name: 'Mister Purrfect', date: '2018-02-14',
|
467
|
+
recipe: {
|
468
|
+
limit: 1000,
|
469
|
+
traits: ['chocolate','baddate','strawberry','wuvme'] },
|
470
|
+
desc: "Valentine's Day"
|
471
|
+
},
|
472
|
+
earnie: { name: 'Earnie', date: '2018-02-13',
|
473
|
+
recipe: {
|
474
|
+
limit: 500,
|
475
|
+
traits: ['birman','orangesoda','hotrod','grim'] },
|
476
|
+
desc: 'Earn.com - Golden Kitty Award (Product Hunt)'
|
477
|
+
},
|
478
|
+
cathena: { name: 'Cathena', date: '2018-02-06',
|
479
|
+
exclusive: {
|
480
|
+
limit: 1, ids: [500000] },
|
481
|
+
desc: '500 000th Kitty'
|
482
|
+
},
|
483
|
+
|
484
|
+
## January
|
485
|
+
'momo-chan': { name: 'Momo-chan', date: '2018-01-31',
|
486
|
+
recipe: {
|
487
|
+
limit: 500,
|
488
|
+
traits: ['onyx','henna','bloodred','wolfgrey','sass'] },
|
489
|
+
desc: 'Ninja Kitty'
|
490
|
+
},
|
491
|
+
negato: { name: 'Negato', date: '2018-01-29',
|
492
|
+
recipe: {
|
493
|
+
limit: 500,
|
494
|
+
traits: ['onyx','henna','wolfgrey','slyboots'] },
|
495
|
+
desc: 'Ninja Kitty'
|
496
|
+
},
|
497
|
+
stitches: { name: 'Stitches', date: '2018-01-10',
|
498
|
+
recipe: {
|
499
|
+
limit: 500,
|
500
|
+
traits: ['hintomint','seafoam','swampgreen','saycheese'] },
|
501
|
+
desc: 'Zombie Kitty'
|
502
|
+
},
|
503
|
+
|
504
|
+
## 2017
|
505
|
+
## December
|
506
|
+
phuziqaat: { name: 'Phu Ziqaat', date: '2017-12-31',
|
507
|
+
recipe: {
|
508
|
+
limit: 1000,
|
509
|
+
traits: ['chartreux','spock','alien','pouty'] },
|
510
|
+
desc: 'Alien Kitty'
|
511
|
+
},
|
512
|
+
santaclaws: { name: 'Santa Claws', date: '2017-12-12',
|
513
|
+
recipe: {
|
514
|
+
limit: 1000, overflow: 2,
|
515
|
+
traits: ['cloudwhite','scarlet','beard','wild_d'] },
|
516
|
+
desc: 'Ho Ho Ho - Santa Claus Kitty'
|
517
|
+
},
|
518
|
+
mistletoe: { name: 'Mistletoe', date: '2017-12-09',
|
519
|
+
recipe: {
|
520
|
+
limit: 2000,
|
521
|
+
traits: ['oldlace','crazy','gerbil'] },
|
522
|
+
desc: "XMas Kitty"
|
523
|
+
},
|
524
|
+
dracula: { name: 'Dracula', date: '2017-12-01',
|
525
|
+
recipe: {
|
526
|
+
limit: 2000,
|
527
|
+
traits: ['laperm','spock','strawberry','WE01'] }
|
528
|
+
},
|
529
|
+
|
530
|
+
## November
|
531
|
+
ducat: { name: 'Du Cat', date: '2017-11-29',
|
532
|
+
recipe: {
|
533
|
+
limit: 10_000,
|
534
|
+
traits: ['cymric','tongue']}
|
535
|
+
},
|
536
|
+
genesis: { name: 'Genesis', date: '2017-11-24',
|
537
|
+
exclusive: {
|
538
|
+
limit: 1, ids: [1] },
|
539
|
+
desc: '1st Kitty'
|
540
|
+
},
|
541
|
+
shipcat: { name: 'Ship Cat', date: '2017-11-23',
|
542
|
+
recipe: {
|
543
|
+
limit: 2000,
|
544
|
+
traits: ['sphynx','orangesoda','luckystripe','crazy']}
|
545
|
+
},
|
546
|
+
bugcat: { name: 'Bug Cat', date: '2017-11-23',
|
547
|
+
exclusive: {
|
548
|
+
limit: 3, ids: [101,102,103] },
|
549
|
+
desc: 'Bug Bounty Kitty' }
|
550
|
+
}
|