kittyverse 0.5.0 → 1.0.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.
@@ -1,45 +1,186 @@
1
- # encoding: utf-8
2
-
3
1
  ###########################################
4
2
  ## Purrstige Traits / Cattributes
5
3
 
4
+
5
+ ## trait recipe helpers / shortcuts
6
+ EN00_EN15 = ['EN00','EN01','EN02','EN03',
7
+ 'EN04','EN05','EN06','EN07',
8
+ 'EN08','EN09','EN10','EN11',
9
+ 'EN12','EN13','EN14','EN15'] # Any non-visible Env (EN00-EN15)
10
+
11
+ PU16_PU29 = ['PU16','PU17','PU18','PU19',
12
+ 'PU20','PU21','PU22','PU23',
13
+ 'PU24','PU25','PU26','PU27',
14
+ 'PU28','PU29' ]
15
+ PU24_PU27 = ['PU24','PU25','PU26','PU27']
16
+ PU24_PU30 = ['PU24','PU25','PU26','PU27',
17
+ 'PU28','PU29','PU30']
18
+ PU28_PU29 = ['PU28','PU29']
19
+ PU28_PU30 = ['PU28','PU29','PU30']
20
+
21
+
22
+ WE00_WE07 = ['WE00', 'WE01', 'WE02', 'WE03',
23
+ 'WE04', 'WE05', 'WE06', 'WE07']
24
+ WE00_WE15 = ['WE00', 'WE01', 'WE02', 'WE03',
25
+ 'WE04', 'WE05', 'WE06', 'WE07',
26
+ 'WE08', 'WE09', 'WE10', 'WE11',
27
+ 'WE12', 'WE13', 'WE14', 'WE15']
28
+
29
+
30
+
31
+ PURRSTIGES_HACKATAO = {
32
+ # This weekend a set of Hackatao Purrstige traits are making
33
+ # their way into CryptoKitties.
34
+ # The "HaCKittieZ" will be breedable for a limited time from October 24th - 31st.
35
+ #
36
+ # Hackatao are decentralized artists widely known for
37
+ # their beautiful illustrations and collected among cool cats in the community.
38
+ #
39
+ # HaCKittieZ is our collaboration with renowned artist Hackatao and Async Art
40
+ # to give you incredible ways to personalize your CryptoKitties
41
+ # and push the boundaries of programmable art.
42
+ # A set of Purrstige traits designed by Hackatao will be breedable for a limited time.
43
+ # The HaCKittieZ traits can be mixed and matched to personalize
44
+ # your Kitties and create exciting permutations!
45
+
46
+ # 24.10.20 - New Purrstige - Meowfoolest
47
+ meowfoolest: { name: 'Meowfoolest',
48
+ recipe: {
49
+ time: { start: '2020-10-24', end: '2020-10-31'}, count: 254,
50
+ traits: ['liger', 'shale', 'PU30', 'daemonwings'] },
51
+ },
52
+ # 24.10.20 - New Purrstige - Meowfool
53
+ meowfool: { name: 'Meowfool',
54
+ recipe: {
55
+ time: { start: '2020-10-24', end: '2020-10-31'}, count: 388,
56
+ traits: ['shale', 'daemonwings', PU28_PU29] },
57
+ },
58
+ # 24.10.20 - New Purrstige - Meownificent
59
+ meownificent: { name: 'Meownificent',
60
+ recipe: {
61
+ time: { start: '2020-10-24', end: '2020-10-31'}, count: 260,
62
+ traits: [ 'liger', 'shale', 'PU30', WE00_WE15] },
63
+ },
64
+ # 24.10.20 - New Purrstige - Meowthulhu
65
+ meowthulhu: { name: 'Meowthulhu',
66
+ recipe: {
67
+ time: { start: '2020-10-24', end: '2020-10-31'}, count: 950,
68
+ traits: [ 'daemonwings', PU28_PU30] },
69
+ },
70
+ # 24.10.20 - New Purrstige - Meownique
71
+ meownique: { name: 'Meownique',
72
+ recipe: {
73
+ time: { start: '2020-10-24', end: '2020-10-31'}, count: 557,
74
+ traits: [ 'shale', PU28_PU29, WE00_WE15] },
75
+ },
76
+ }
77
+
78
+
79
+
80
+ PURRSTIGES_KITTENHEIM = {
81
+ # 07.11.19 - New Purrstige - Purrior
82
+ purrior: { name: 'Purrior',
83
+ recipe: {
84
+ time: { start: '2019-11-07', end: '2019-12-01' }, count: 120,
85
+ traits: [] },
86
+ },
87
+ # 06.11.19 - New Purrstige - Centurion
88
+ centurion: { name: 'Centurion',
89
+ recipe: {
90
+ time: { start: '2019-11-06', end: '2019-12-01' }, count: 144,
91
+ traits: [] },
92
+ },
93
+ # 03.11.19 - New Purrstige - Explorer
94
+ explorer: { name: 'Explorer',
95
+ recipe: {
96
+ time: { start: '2019-11-03', end: '2019-12-01' }, count: 162,
97
+ traits: ['lykoi', 'daemonhorns', ['rascal', 'camo'], 'PU28'] },
98
+ },
99
+ # 02.11.19 - New Purrstige - Guard
100
+ guard: { name: 'Guard',
101
+ recipe: {
102
+ time: { start: '2019-11-02', end: '2019-12-01' }, count: 220,
103
+ traits: [] },
104
+ },
105
+ # 01.11.19 - New Purrstige - Velite
106
+ velite: { name: 'Velite',
107
+ recipe: {
108
+ time: { start: '2019-11-01', end: '2019-12-01' }, count: 273,
109
+ traits: [] },
110
+ },
111
+ # 01.11.19 - New Purrstige - Scout
112
+ scout: { name: 'Scout',
113
+ recipe: {
114
+ time: { start: '2019-11-01', end: '2019-12-01' }, count: 140,
115
+ traits: [] },
116
+ },
117
+ # 02.11.19 - New Purrstige - Dominator
118
+ dominator: { name: 'Dominator',
119
+ recipe: {
120
+ time: { start: '2019-11-02', end: '2019-12-01' }, count: 141,
121
+ traits: ['lykoi', 'daemonhorns', PU24_PU27] },
122
+ },
123
+
124
+ # Nov 1, 2019 - Brassard trait is discovered. Purrstige
125
+ brassard: { name: 'Brassard',
126
+ recipe: {
127
+ time: { start: '2019-11-01', end: '2019-12-01' }, count: 793,
128
+ traits: [WE00_WE07, PU24_PU27] },
129
+ },
130
+
131
+ # Nov 1, 2019 - Aegis trait is discovered. Purrstige
132
+ aegis: { name: 'Aegis',
133
+ recipe: {
134
+ time: { start: '2019-11-01', end: '2019-12-01' }, count: 617,
135
+ traits: [] },
136
+ },
137
+ }
138
+
139
+
6
140
  PURRSTIGES_ROBOKITTY = {
7
141
  ###
8
142
  # May 1, 2019
9
143
  # 7 Robokitty Purrstiges
144
+
145
+ # 12.12.19 - New Purrstige - Driver
146
+ driver: { name: 'Driver',
147
+ recipe: {
148
+ time: { start: '2019-12-12', end: '2019-12-13' }, count: 257,
149
+ traits: ['ragdoll', TOTESBASIC, WE00_WE15, 'drift', PU24_PU30] },
150
+ },
10
151
  bionic: { name: 'Bionic',
11
152
  recipe: {
12
- time: { start: '2019-05-01', end: '2019-08-31' },
153
+ time: { start: '2019-05-01', end: '2019-08-31' }, count: 624,
13
154
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU30'] }
14
155
  },
15
156
  fileshare: { name: 'Fileshare',
16
157
  recipe: {
17
- time: { start: '2019-05-01', end: '2019-08-31' },
158
+ time: { start: '2019-05-01', end: '2019-08-31' }, count: 683,
18
159
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU29'] }
19
160
  },
20
161
  pawsfree: { name: 'Pawsfree',
21
162
  recipe: {
22
- time: { start: '2019-05-01', end: '2019-08-31' },
163
+ time: { start: '2019-05-01', end: '2019-08-31' }, count: 430,
23
164
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU28'] }
24
165
  },
25
166
  uplink: { name: 'Uplink',
26
167
  recipe: {
27
- time: { start: '2019-05-01', end: '2019-08-31' },
168
+ time: { start: '2019-05-01', end: '2019-08-31' }, count: 1151,
28
169
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU27'] }
29
170
  },
30
171
  gaunlet: { name: 'Gauntlet',
31
172
  recipe: {
32
- time: { start: '2019-05-01', end: '2019-08-31' },
173
+ time: { start: '2019-05-01', end: '2019-08-31' }, count: 905,
33
174
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU26'] }
34
175
  },
35
176
  catterypack: { name: 'Catterypack',
36
177
  recipe: {
37
- time: { start: '2019-05-01', end: '2019-08-31' },
178
+ time: { start: '2019-05-01', end: '2019-08-31' }, count: 513,
38
179
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU25'] }
39
180
  },
40
181
  squelch: { name: 'Squelch',
41
182
  recipe: {
42
- time: { start: '2019-05-01', end: '2019-08-31' },
183
+ time: { start: '2019-05-01', end: '2019-08-31' }, count: 828,
43
184
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU24'] }
44
185
  }
45
186
  }
@@ -143,6 +284,9 @@ inaband: { name: 'Inaband',
143
284
  }
144
285
 
145
286
 
287
+
288
+
289
+
146
290
  ###############
147
291
  ## todo:
148
292
  ## - use PURRSTIGES_XMAS?! and other themes too - why? why not?
@@ -157,15 +301,36 @@ inaband: { name: 'Inaband',
157
301
  PRESTIGES = PURRSTIGES =
158
302
  {
159
303
 
304
+ # 01.01.20 - New Purrstige - Confettibox
305
+ confettibox: { name: 'Confettibox',
306
+ recipe: {
307
+ time: { start: '2020-01-01', end: '2020-01-15' }, count: 554,
308
+ traits: ['tinybox', 'PU26'] },
309
+ },
310
+ # 01.12.19 - New Purrstige - Celebration
311
+ celebration: { name: 'Celebration',
312
+ recipe: {
313
+ time: { start: '2019-12-01', end: '?' }, count: 1080,
314
+ traits: [EN00_EN15, PU16_PU29] },
315
+ },
316
+ # 01.12.19 - New Purrstige - Grandfinale
317
+ grandfinale: { name: 'Grandfinale',
318
+ recipe: {
319
+ time: { start: '2019-12-01', end: '?' }, count: 520,
320
+ traits: [EN00_EN15, 'PU30'] },
321
+ },
322
+
323
+
324
+
160
325
  # Jun 28, 2019 - Werekitty trait is discovered. Purrstige
161
326
  werekitty: { name: 'Werekitty',
162
327
  recipe: {
163
328
  time: { start: '2019-06-28', end: '2019-07-27' }, count: 438,
164
329
  traits: ['moonrise', 'littlefoot', 'PU24',
165
- ['EN00','EN01','EN02','EN03','EN04','EN05','EN06','EN07','EN08','EN09','EN10','EN11','EN12','EN13','EN14','EN15']] }, # Any non-visible Env (EN00-EN15)
330
+ EN00_EN15] },
166
331
  desc: 'Monster Month Purrstige Trait'
167
332
  },
168
-
333
+
169
334
  ##
170
335
  # Mar 15, 2019
171
336
  # Oohshiny trait is discovered. Purrstige
@@ -223,3 +388,5 @@ oohshiny: { name: 'Oohshiny',
223
388
  }.merge( PURRSTIGES_ROBOKITTY )
224
389
  .merge( PURRSTIGES_PIRATE )
225
390
  .merge( PURRSTIGES_ALPACAT )
391
+ .merge( PURRSTIGES_KITTENHEIM )
392
+ .merge( PURRSTIGES_HACKATAO )
@@ -0,0 +1,135 @@
1
+ ###
2
+ ## Special Editions - Crypto Kitties
3
+ ## see https://www.cryptokitties.co/catalogue/special-edition-cats
4
+ ##
5
+ ## These cool Kitties have limited edition art
6
+ ## and are never obtainable through breeding
7
+
8
+
9
+ SPECIAL_EDITIONS = {
10
+
11
+ frostymcwhiskers: { name: 'Frosty McWhiskers', date: '2020-12-14',
12
+ specialedition: {
13
+ limit: 104 },
14
+ },
15
+
16
+ ###
17
+ # The redemption window to claim to your very own Fannie Special Edition Kitty
18
+ # will be closing this Saturday. For each Fannie, you'll need to submit
19
+ # a unique trio of Wild West Kitties (one Pickett, one Reeves and one Dart)
20
+ # to our Kitty Bounty Wallet along with a valid submission form
21
+ # before the deadline on 12/5/2020 at 11:59pm PT
22
+ fannie: { name: 'Fannie', date: '2020-12-14', ## first/lowest id: #1_992_009
23
+ specialedition: {
24
+ limit: 58 },
25
+ },
26
+
27
+ # With transactions getting stuck and costs to gift Kitties soaring through the roofs,
28
+ # we've decided to extend the window to redeem your Katz band members
29
+ # for Special Edition Mascots.
30
+ # The new redemption window ends on September 1st, 11:59pm PT.
31
+ ## Gas prices have slowed down redemption but there are currently
32
+ ## 20 Algies and 30 Eddies earmarked for distribution.
33
+
34
+ algie: { name: 'Algie', date: '2020-10-29', ## first/lowest id: #1_137_676 !! - todo/check - first birthdate?
35
+ specialedition: {
36
+ limit: 179 },
37
+ },
38
+
39
+ eddie: { name: 'Eddie', date: '2020-09-03', # first/lowest id: #1_967_278
40
+ specialedition: {
41
+ limit: 110 },
42
+ },
43
+
44
+ marty: { name: 'Marty', date: '2020-09-01',
45
+ specialedition: {
46
+ limit: 188 },
47
+ desc: 'Collaboration with Muse',
48
+ },
49
+
50
+ pandora: { name: 'Pandora', date: '2020-07-31',
51
+ specialedition: {
52
+ limit: 50 },
53
+ desc: 'CryptoKitty Box Support',
54
+ },
55
+
56
+ holli: { name: 'Holli', date: '2020-07-03', # first/lowest id: #1_949_215
57
+ specialedition: {
58
+ limit: 59 },
59
+ },
60
+
61
+ kikuyu: { name: 'Kikuyu', date: '2020-06-13',
62
+ specialedition: {
63
+ limit: 263 },
64
+ desc: 'For Hunter+Zelig+Bodhi',
65
+ },
66
+
67
+ flowtron: { name: 'Flowtron', date: '2020-05-21',
68
+ specialedition: {
69
+ limit: 303 },
70
+ desc: 'Exchange on Flow Fancy Set',
71
+ },
72
+
73
+ catterina: { name: 'Catterina', date: '2020-05-13',
74
+ specialedition: {
75
+ limit: 100 },
76
+ desc: 'Momo Wang',
77
+ },
78
+
79
+ negabillie: { name: 'Nega Billie', date: '2020-04-27',
80
+ specialedition: {
81
+ limit: 68 },
82
+ },
83
+
84
+ ##############
85
+ # 2019
86
+ carl: { name: 'Carl', date: '2019-08-20', # first/lowest id: #1_680_709
87
+ specialedition: {
88
+ limit: 40 },
89
+ },
90
+
91
+ alice: { name: 'Alice', date: '2019-08-23', # first/lowest id: #1_681_913
92
+ specialedition: {
93
+ limit: 88 },
94
+ },
95
+
96
+
97
+ 'kitt-e': { name: 'KITT-E', date: '2019-05-10',
98
+ specialedition: {
99
+ limit: 500 },
100
+ desc: 'Dapper (Crypto Contract) Wallet Promotion Cat'
101
+ },
102
+ # Apr 10, 2019 - Sparkles Special Edition Cat is released.Special Edition Cat
103
+ sparkles: { name: 'Sparkles', date: '2019-04-10',
104
+ specialedition: {
105
+ limit: 100 },
106
+ desc: 'Freebie for CryptoKitties Community Events'
107
+ },
108
+
109
+ ## date: '2019-01-10 ??? -- use for date "announced" or something - why? why not?
110
+ aeoncat: { name: 'Aeoncat',
111
+ specialedition: {
112
+ time: { start: '2019-01-17', end: '2019-01-28' },
113
+ limit: 380 }, ## Don't sleep - there's only 380 up for grabs!
114
+ desc: 'Goddess Aeona - Goddess of Nature - Gods Unchained Promotion'
115
+ },
116
+
117
+ #############################
118
+ ## 2018
119
+ ## December
120
+ catzy: { name: 'Catzy', date: '2018-12-31',
121
+ specialedition: {
122
+ limit: 10, ids: (1137653..1137662).to_a },
123
+ desc: 'Changpeng "CZ" Zhao - CEO of Binance - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
124
+ },
125
+ purremyallaire: { name: 'Purremy Allaire', date: '2018-12-31',
126
+ specialedition: {
127
+ limit: 10, ids: (1137663..1137672).to_a },
128
+ desc: 'Jeremy Allaire - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
129
+ },
130
+ lilbub: { name: 'Lil Bub Ub Bub (BUB)', date: '2018-11-13',
131
+ specialedition: {
132
+ limit: 500 }
133
+ },
134
+ }
135
+
@@ -141,6 +141,9 @@ class Fancy
141
141
  ## auto-fill fancies
142
142
  FANCIES.each do |key,h|
143
143
 
144
+ puts "fancy:"
145
+ pp h
146
+
144
147
  name = h[:name]
145
148
  name_cn = h[:name_cn] # add chinese name if present
146
149
 
@@ -174,7 +177,7 @@ class Fancy
174
177
  variants: h[:recipe][:variants], ## todo/fix: turn variant hash into variant ??? - why? why not?
175
178
  limit: h[:recipe][:limit],
176
179
  time_start: h[:recipe][:time] && h[:recipe][:time][:start] ? Date.strptime( h[:recipe][:time][:start], '%Y-%m-%d' ) : nil,
177
- time_end: h[:recipe][:time] && h[:recipe][:time][:end] ? Date.strptime( h[:recipe][:time][:end], '%Y-%m-%d' ) : nil )
180
+ time_end: h[:recipe][:time] && h[:recipe][:time][:end] && h[:recipe][:time][:end] != '?' ? Date.strptime( h[:recipe][:time][:end], '%Y-%m-%d' ) : nil )
178
181
 
179
182
  ## note: support overflow "shortcut" - overflow+limit => count
180
183
  count = if h[:recipe][:overflow]
@@ -1,10 +1,7 @@
1
- # encoding: utf-8
2
-
3
-
4
1
  class Kittyverse
5
2
 
6
- MAJOR = 0
7
- MINOR = 5
3
+ MAJOR = 1
4
+ MINOR = 0
8
5
  PATCH = 0
9
6
  VERSION = [MAJOR,MINOR,PATCH].join('.')
10
7
 
@@ -13,11 +10,11 @@ class Kittyverse
13
10
  end
14
11
 
15
12
  def self.banner
16
- "kittyverse/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
13
+ "kittyverse/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
17
14
  end
18
15
 
19
16
  def self.root
20
- "#{File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )}"
17
+ File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
21
18
  end
22
19
 
23
20
  end # module Kittyverse
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  ###
4
2
  # to run use
5
3
  # ruby -I ./lib -I ./test test/test_cattributes.rb
data/test/test_fancies.rb CHANGED
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  ###
4
2
  # to run use
5
3
  # ruby -I ./lib -I ./test test/test_fancies.rb
data/test/test_genome.rb CHANGED
@@ -1,4 +1,5 @@
1
1
 
2
+ =begin
2
3
  pp genome[0].class
3
4
  pp genome[0].name
4
5
  pp genome[0].code
@@ -59,4 +60,6 @@ pp genome.fu[0].code
59
60
  pp genome[:body][0].class
60
61
  pp genome[:body][0].name
61
62
  pp genome[:body][0].code
63
+ =end
64
+
62
65