profilepic 0.1.4 → 0.1.5
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 +7 -7
- data/README.md +35 -2
- data/lib/profilepic/builder.rb +55 -99
- data/lib/profilepic/config/doge.rb +52 -0
- data/lib/profilepic/config/marcs.rb +163 -0
- data/lib/profilepic/config/saudis.rb +106 -0
- data/lib/profilepic/config/yeoldepunks.rb +204 -0
- data/lib/profilepic/helper.rb +162 -0
- data/lib/profilepic/public/spritesheet.js +7 -2
- data/lib/profilepic/public/style.css +19 -0
- data/lib/profilepic/service.rb +204 -417
- data/lib/profilepic/version.rb +1 -1
- data/lib/profilepic/views/doge.erb +5 -47
- data/lib/profilepic/views/index.erb +40 -13
- data/lib/profilepic/views/layout.erb +1 -1
- data/lib/profilepic/views/marcs.erb +5 -190
- data/lib/profilepic/views/more.erb +84 -0
- data/lib/profilepic/views/saudis.erb +33 -0
- data/lib/profilepic/views/yeoldepunks.erb +5 -202
- data/lib/profilepic.rb +9 -3
- metadata +9 -9
- data/lib/profilepic/public/doge-24x24.csv +0 -23
- data/lib/profilepic/public/doge-24x24.png +0 -0
- data/lib/profilepic/public/marcs-24x24.csv +0 -149
- data/lib/profilepic/public/marcs-24x24.png +0 -0
- data/lib/profilepic/public/yeoldepunks-24x24.csv +0 -134
- data/lib/profilepic/public/yeoldepunks-24x24.png +0 -0
- data/lib/profilepic/views/shared/_more_options.erb +0 -49
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0d9194ef8a921921733a83bef15c522456fd399d93e606e5d1e11e2252a2da80
|
|
4
|
+
data.tar.gz: 17e38b0c8108879aafe9313544a7dd97166024845017231658646fa4bd4840a8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f5ad1a98d1e65e7fa3f10c18226c474aa27a79802242b8eee7405444f6e2a3b5df9a313e3d91f2b5faba0358029377f175ac7bdc83431824938e633d9d4df961
|
|
7
|
+
data.tar.gz: dd1b25d565262e24fff04468f09fd60f933b0ad151a6e2628b4aa46efb7880e608713aebbfcfc56c9d9db472cd5f5552e202a79fa0aa7c530422f9e415a3d2b0
|
data/Manifest.txt
CHANGED
|
@@ -5,20 +5,20 @@ Rakefile
|
|
|
5
5
|
bin/profilepic
|
|
6
6
|
lib/profilepic.rb
|
|
7
7
|
lib/profilepic/builder.rb
|
|
8
|
-
lib/profilepic/
|
|
9
|
-
lib/profilepic/
|
|
10
|
-
lib/profilepic/
|
|
11
|
-
lib/profilepic/
|
|
8
|
+
lib/profilepic/config/doge.rb
|
|
9
|
+
lib/profilepic/config/marcs.rb
|
|
10
|
+
lib/profilepic/config/saudis.rb
|
|
11
|
+
lib/profilepic/config/yeoldepunks.rb
|
|
12
|
+
lib/profilepic/helper.rb
|
|
12
13
|
lib/profilepic/public/spritesheet.js
|
|
13
14
|
lib/profilepic/public/style.css
|
|
14
|
-
lib/profilepic/public/yeoldepunks-24x24.csv
|
|
15
|
-
lib/profilepic/public/yeoldepunks-24x24.png
|
|
16
15
|
lib/profilepic/service.rb
|
|
17
16
|
lib/profilepic/version.rb
|
|
18
17
|
lib/profilepic/views/doge.erb
|
|
19
18
|
lib/profilepic/views/index.erb
|
|
20
19
|
lib/profilepic/views/layout.erb
|
|
21
20
|
lib/profilepic/views/marcs.erb
|
|
22
|
-
lib/profilepic/views/
|
|
21
|
+
lib/profilepic/views/more.erb
|
|
22
|
+
lib/profilepic/views/saudis.erb
|
|
23
23
|
lib/profilepic/views/shared/_version.erb
|
|
24
24
|
lib/profilepic/views/yeoldepunks.erb
|
data/README.md
CHANGED
|
@@ -8,11 +8,44 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
## Command-Line Tool
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
Use the command line tool named - surprise, surpirse - `profilepic`
|
|
14
|
+
to run a zero-config / out-of-the-box profile pic(ture) as a service. Type:
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
$ profilepic
|
|
15
17
|
|
|
18
|
+
That will start-up a (local loopback) web server / service running on port 3000.
|
|
19
|
+
Open-up up the index page in your browser to get started e.g. <http://localhost:3000/>.
|
|
20
|
+
|
|
21
|
+
That's it.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Usage in Your Scripts And/Or (Web) Apps
|
|
29
|
+
|
|
30
|
+
Yes, you can. The [`ProfilepicService` class](lib/profilepic/service.rb) is a "plain-vanilla" rack (web) app (powered by the [sinatra gem / library](https://github.com/sinatra/sinatra)). To run the app "standalone" use:
|
|
31
|
+
|
|
32
|
+
``` ruby
|
|
33
|
+
require 'profilepic'
|
|
34
|
+
|
|
35
|
+
# start-up the ProfilepicService (rack) app, that is, the profile pic(ure) as a service,
|
|
36
|
+
# using the WEBrick server running on port 3000 using the local loopback host e.g. 127.0.0.1
|
|
37
|
+
Rack::Handler::WEBrick.run ProfilepicService, :Port => 3000, :Host => '127.0.0.1'
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Or mount the rack (web) app in your own scripts or web framework/library of choice.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Install
|
|
45
|
+
|
|
46
|
+
Just install the gem:
|
|
47
|
+
|
|
48
|
+
$ gem install profilepic
|
|
16
49
|
|
|
17
50
|
|
|
18
51
|
|
data/lib/profilepic/builder.rb
CHANGED
|
@@ -13,13 +13,8 @@ class ImageReq ## (Generate) Image Request
|
|
|
13
13
|
name = _norm_key( params[:t] || 'punk' )
|
|
14
14
|
attributes = _parse_attributes( params[:attributes] || '' )
|
|
15
15
|
|
|
16
|
-
zoom = _parse_zoom( params[:z] || '1' )
|
|
17
|
-
background = _norm_key( params[:bg] || 'none' )
|
|
18
|
-
|
|
19
16
|
new( name: name,
|
|
20
|
-
attributes: attributes
|
|
21
|
-
zoom: zoom,
|
|
22
|
-
background: background )
|
|
17
|
+
attributes: attributes )
|
|
23
18
|
end
|
|
24
19
|
|
|
25
20
|
def self.build_marc( params )
|
|
@@ -27,59 +22,35 @@ class ImageReq ## (Generate) Image Request
|
|
|
27
22
|
pp params
|
|
28
23
|
|
|
29
24
|
name = 'marc'
|
|
30
|
-
|
|
31
|
-
more_attributes = _parse_attributes( params[:attributes] || '' )
|
|
32
|
-
|
|
33
|
-
eyes = _norm_key( params[:eyes] || 'none' )
|
|
34
|
-
face = _norm_key( params[:face] || 'none' )
|
|
35
|
-
beard = _norm_key( params[:beard] || 'none' )
|
|
36
|
-
hair = _norm_key( params[:hair] || 'none' )
|
|
37
|
-
headwear = _norm_key( params[:headwear] || 'none' )
|
|
38
|
-
eyewear = _norm_key( params[:eyewear] || 'none' )
|
|
39
|
-
mouth = _norm_key( params[:mouth] || 'none' )
|
|
40
|
-
|
|
41
|
-
zoom = _parse_zoom( params[:z] || '1' )
|
|
42
|
-
background = _norm_key( params[:bg] || 'none' )
|
|
43
|
-
|
|
44
|
-
attributes = [archetype]
|
|
45
|
-
attributes << eyes if eyes != 'none'
|
|
46
|
-
attributes << face if face != 'none'
|
|
47
|
-
attributes << hair if hair != 'none'
|
|
48
|
-
attributes << beard if beard != 'none'
|
|
49
|
-
attributes << headwear if headwear != 'none'
|
|
50
|
-
attributes << eyewear if eyewear != 'none'
|
|
51
|
-
attributes << mouth if mouth != 'none'
|
|
25
|
+
attributes = _build_attributes( params, MARC )
|
|
52
26
|
|
|
53
27
|
new( name: name,
|
|
54
|
-
attributes: attributes
|
|
55
|
-
zoom: zoom,
|
|
56
|
-
background: background )
|
|
28
|
+
attributes: attributes )
|
|
57
29
|
end
|
|
58
30
|
|
|
59
|
-
|
|
31
|
+
|
|
32
|
+
def self.build_saudi( params )
|
|
60
33
|
puts "==> image request params:"
|
|
61
34
|
pp params
|
|
62
35
|
|
|
63
|
-
name = '
|
|
64
|
-
|
|
65
|
-
|
|
36
|
+
name = 'saudi'
|
|
37
|
+
attributes = _build_attributes( params, SAUDI )
|
|
38
|
+
|
|
39
|
+
new( name: name,
|
|
40
|
+
attributes: attributes )
|
|
41
|
+
end
|
|
42
|
+
|
|
66
43
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
44
|
+
def self.build_doge( params )
|
|
45
|
+
puts "==> image request params:"
|
|
46
|
+
pp params
|
|
70
47
|
|
|
71
|
-
|
|
72
|
-
background = _norm_key( params[:bg] || 'none' )
|
|
48
|
+
name = 'doge'
|
|
73
49
|
|
|
74
|
-
attributes =
|
|
75
|
-
attributes << hair if hair != 'none'
|
|
76
|
-
attributes << headwear if headwear != 'none'
|
|
77
|
-
attributes << eyewear if eyewear != 'none'
|
|
50
|
+
attributes = _build_attributes( params, DOGE )
|
|
78
51
|
|
|
79
52
|
new( name: name,
|
|
80
|
-
attributes: attributes
|
|
81
|
-
zoom: zoom,
|
|
82
|
-
background: background )
|
|
53
|
+
attributes: attributes )
|
|
83
54
|
end
|
|
84
55
|
|
|
85
56
|
|
|
@@ -88,70 +59,37 @@ class ImageReq ## (Generate) Image Request
|
|
|
88
59
|
pp params
|
|
89
60
|
|
|
90
61
|
name = 'yeoldepunk'
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
hair = _norm_key( params[:hair] || 'none' )
|
|
94
|
-
beard = _norm_key( params[:beard] || 'none' )
|
|
95
|
-
eyes = _norm_key( params[:eyes] || 'none' )
|
|
96
|
-
eyewear = _norm_key( params[:eyewear] || 'none' )
|
|
97
|
-
blemish = _norm_key( params[:blemish] || 'none' )
|
|
98
|
-
nose = _norm_key( params[:nose] || 'none' )
|
|
99
|
-
mouth = _norm_key( params[:mouth] || 'none' )
|
|
100
|
-
mouthprop = _norm_key( params[:mouthprop] || 'none' )
|
|
101
|
-
earring = _norm_key( params[:earring] || 'none' )
|
|
102
|
-
headwear = _norm_key( params[:headwear] || 'none' )
|
|
103
|
-
neck = _norm_key( params[:neck] || 'none' )
|
|
104
|
-
|
|
105
|
-
zoom = _parse_zoom( params[:z] || '1' )
|
|
106
|
-
background = _norm_key( params[:bg] || 'none' )
|
|
107
|
-
|
|
108
|
-
attributes = [archetype]
|
|
109
|
-
attributes << hair if hair != 'none'
|
|
110
|
-
attributes << blemish if blemish != 'none'
|
|
111
|
-
attributes << beard if beard != 'none'
|
|
112
|
-
attributes << eyes if eyes != 'none'
|
|
113
|
-
attributes << eyewear if eyewear != 'none'
|
|
114
|
-
attributes << nose if nose != 'none'
|
|
115
|
-
attributes << mouth if mouth != 'none'
|
|
116
|
-
attributes << mouthprop if mouthprop != 'none'
|
|
117
|
-
attributes << earring if earring != 'none'
|
|
118
|
-
attributes << headwear if headwear != 'none'
|
|
119
|
-
attributes << neck if neck != 'none'
|
|
62
|
+
|
|
63
|
+
attributes = _build_attributes( params, YEOLDEPUNK )
|
|
120
64
|
|
|
121
65
|
new( name: name,
|
|
122
|
-
attributes: attributes
|
|
123
|
-
zoom: zoom,
|
|
124
|
-
background: background )
|
|
66
|
+
attributes: attributes )
|
|
125
67
|
end
|
|
126
68
|
|
|
127
69
|
|
|
128
70
|
|
|
129
71
|
attr_reader :name,
|
|
130
|
-
:attributes
|
|
131
|
-
|
|
132
|
-
:background
|
|
133
|
-
def initialize( name:, attributes:, zoom:, background: )
|
|
72
|
+
:attributes
|
|
73
|
+
def initialize( name:, attributes: )
|
|
134
74
|
@name = name
|
|
135
75
|
@attributes = attributes
|
|
136
|
-
@zoom = zoom
|
|
137
|
-
@background = background
|
|
138
76
|
end
|
|
139
77
|
|
|
140
78
|
def image
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
img = img.zoom( @zoom ) if [2,3,4,5,6,7,8,9,10,20].include?( @zoom )
|
|
144
|
-
img
|
|
79
|
+
## check - cache / memoize image - why? why not?
|
|
80
|
+
Original::Image.fabricate( @name, *@attributes )
|
|
145
81
|
end
|
|
146
82
|
|
|
83
|
+
def image_blob() image.to_blob; end
|
|
84
|
+
alias_method :blob, :image_blob ## keep (shortcut) alias - why? why not?
|
|
85
|
+
|
|
147
86
|
def image_key
|
|
148
|
-
@key ||=
|
|
149
|
-
key = "#{@name}#{Time.now.to_i}"
|
|
150
|
-
key << "@#{@zoom}x" if [2,3,4,5,6,7,8,9,10,20].include?( @zoom )
|
|
151
|
-
key
|
|
152
|
-
end
|
|
87
|
+
@key ||= "#{@name}#{Time.now.to_i}"
|
|
153
88
|
@key
|
|
154
89
|
end
|
|
90
|
+
alias_method :key, :image_key ## keep (shortcut) alias - why? why not?
|
|
91
|
+
|
|
92
|
+
|
|
155
93
|
|
|
156
94
|
#####
|
|
157
95
|
# (static) helpers
|
|
@@ -160,6 +98,28 @@ def self._norm_key( str )
|
|
|
160
98
|
str.downcase.strip
|
|
161
99
|
end
|
|
162
100
|
|
|
101
|
+
def self._build_attributes( params, spec )
|
|
102
|
+
attributes = []
|
|
103
|
+
spec.each do |name,h|
|
|
104
|
+
|
|
105
|
+
value = params[name]
|
|
106
|
+
|
|
107
|
+
if value.nil? || value.empty?
|
|
108
|
+
required = h[:none] == true ## check if value is required or optional
|
|
109
|
+
if required
|
|
110
|
+
raise ArgumentError, "required attribute/param >#{name}< missing"
|
|
111
|
+
else
|
|
112
|
+
next ## skip optional attributes
|
|
113
|
+
end
|
|
114
|
+
else
|
|
115
|
+
key = _norm_key( value )
|
|
116
|
+
attributes << key if key != 'none'
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
attributes
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
|
|
163
123
|
def self._parse_attributes( str )
|
|
164
124
|
# convert attributes to array
|
|
165
125
|
## allow various separators
|
|
@@ -169,9 +129,5 @@ def self._parse_attributes( str )
|
|
|
169
129
|
attributes
|
|
170
130
|
end
|
|
171
131
|
|
|
172
|
-
|
|
173
|
-
str.strip.to_i( 10 )
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
end
|
|
132
|
+
end # class ImageReq - (Generate) Image Request
|
|
177
133
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
|
|
2
|
+
DOGE = {
|
|
3
|
+
t: {
|
|
4
|
+
legend: 'Select a doge shiba inu base (archetype)',
|
|
5
|
+
options: [
|
|
6
|
+
'Classic',
|
|
7
|
+
'Dark',
|
|
8
|
+
'Zombie',
|
|
9
|
+
'Alien',
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
hair: {
|
|
14
|
+
legend: 'Select hair',
|
|
15
|
+
none: true,
|
|
16
|
+
options: [
|
|
17
|
+
'Crazy Hair',
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
headwear: {
|
|
22
|
+
legend: 'Select headwear',
|
|
23
|
+
none: true,
|
|
24
|
+
options: [
|
|
25
|
+
'Beanie',
|
|
26
|
+
'Cap',
|
|
27
|
+
'Cap Forward',
|
|
28
|
+
'Cowboy Hat',
|
|
29
|
+
'Fedora',
|
|
30
|
+
'Knitted Cap',
|
|
31
|
+
'Top Hat',
|
|
32
|
+
'Bandana',
|
|
33
|
+
'Headband',
|
|
34
|
+
'Tiara',
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
eyewear: {
|
|
39
|
+
legend: 'Select eyewear',
|
|
40
|
+
none: true,
|
|
41
|
+
options: [
|
|
42
|
+
'3D Glasses',
|
|
43
|
+
'Big Shades',
|
|
44
|
+
'Classic Shades',
|
|
45
|
+
'Regular Shades',
|
|
46
|
+
'Small Shades',
|
|
47
|
+
'Nerd Glasses',
|
|
48
|
+
'Eye Patch',
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
|
|
2
|
+
MARC = {
|
|
3
|
+
|
|
4
|
+
t: {
|
|
5
|
+
legend: 'Select a marc base (archetype)',
|
|
6
|
+
options: [
|
|
7
|
+
'Marc',
|
|
8
|
+
'Marc Mid',
|
|
9
|
+
'Marc Dark',
|
|
10
|
+
'Marc Albino',
|
|
11
|
+
'Marc Golden',
|
|
12
|
+
'Mad Lad',
|
|
13
|
+
'Zombie',
|
|
14
|
+
'Ape',
|
|
15
|
+
'Ape Golden',
|
|
16
|
+
'Ape Pink',
|
|
17
|
+
'Alien',
|
|
18
|
+
'Alien Green',
|
|
19
|
+
'Devil',
|
|
20
|
+
'Orc',
|
|
21
|
+
'Skeleton',
|
|
22
|
+
'Bot'],
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
eyes: {
|
|
26
|
+
legend: 'Select eyes (extras)',
|
|
27
|
+
none: true,
|
|
28
|
+
options: [
|
|
29
|
+
'Blue Eyes',
|
|
30
|
+
'Green Eyes',
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
face: {
|
|
35
|
+
legend: 'Select face (extras)',
|
|
36
|
+
none: true,
|
|
37
|
+
options: [
|
|
38
|
+
'Blue Eye Shadow',
|
|
39
|
+
'Green Eye Shadow',
|
|
40
|
+
'Purple Eye Shadow',
|
|
41
|
+
'Clown Eyes Blue',
|
|
42
|
+
'Clown Eyes Green',
|
|
43
|
+
'Bagner',
|
|
44
|
+
'Marc Tyson',
|
|
45
|
+
'Tears',
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
beard: {
|
|
50
|
+
legend: 'Select beard',
|
|
51
|
+
none: true,
|
|
52
|
+
options: [
|
|
53
|
+
'Big Beard White',
|
|
54
|
+
'Big Beard',
|
|
55
|
+
'Chinstrap',
|
|
56
|
+
'Front Beard',
|
|
57
|
+
'Front Beard Dark',
|
|
58
|
+
'Full Mustache',
|
|
59
|
+
'Full Mustache Dark',
|
|
60
|
+
'Goat',
|
|
61
|
+
'Goat Dark',
|
|
62
|
+
'Handlebar',
|
|
63
|
+
'Luxurious Beard',
|
|
64
|
+
'Mustache',
|
|
65
|
+
'Mutton Chop',
|
|
66
|
+
'Normal Beard',
|
|
67
|
+
'Normal Beard Black',
|
|
68
|
+
'Shadow Beard',
|
|
69
|
+
'Soul Patch',
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
hair: {
|
|
74
|
+
legend: 'Select hair',
|
|
75
|
+
none: true,
|
|
76
|
+
options: [
|
|
77
|
+
'Blonde Bob',
|
|
78
|
+
'Chad',
|
|
79
|
+
'Clown Hair',
|
|
80
|
+
'Crazy White Hair',
|
|
81
|
+
'Crazy Hair',
|
|
82
|
+
'Frumpy Hair',
|
|
83
|
+
'Marc Three',
|
|
84
|
+
'Purple Hair',
|
|
85
|
+
'Stringy Hair',
|
|
86
|
+
'Vampire Hair',
|
|
87
|
+
'Wild Blonde Hair',
|
|
88
|
+
'Wild Hair',
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
headwear: {
|
|
93
|
+
legend: 'Select headwear',
|
|
94
|
+
none: true,
|
|
95
|
+
options: [
|
|
96
|
+
'Bandana',
|
|
97
|
+
'Beanie',
|
|
98
|
+
'Bunny Ears',
|
|
99
|
+
'Cap',
|
|
100
|
+
'Skull Cap',
|
|
101
|
+
'Cap Forward',
|
|
102
|
+
'Police Cap',
|
|
103
|
+
'Cowboy Hat',
|
|
104
|
+
'Do Rag',
|
|
105
|
+
'Fast Food',
|
|
106
|
+
'Marcdonalds',
|
|
107
|
+
'Fedora',
|
|
108
|
+
'Headband',
|
|
109
|
+
'Roaring Headband',
|
|
110
|
+
'Hoodie',
|
|
111
|
+
'Purple Hoodie',
|
|
112
|
+
'Knitted Cap',
|
|
113
|
+
'Laurels',
|
|
114
|
+
'Shemagh',
|
|
115
|
+
'Tassle Hat',
|
|
116
|
+
'Tiarra',
|
|
117
|
+
'Top Hat',
|
|
118
|
+
'Uncle Sam',
|
|
119
|
+
'Viking',
|
|
120
|
+
'Welding Goggles',
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
eyewear: {
|
|
125
|
+
legend: 'Select eyewear',
|
|
126
|
+
none: true,
|
|
127
|
+
options: [
|
|
128
|
+
'3D Glasses',
|
|
129
|
+
'Aviators',
|
|
130
|
+
'Big Shades',
|
|
131
|
+
'Classic Shades',
|
|
132
|
+
'Deal With It',
|
|
133
|
+
'Glasses',
|
|
134
|
+
'Gold Glasses',
|
|
135
|
+
'Horned-Rim Glasses',
|
|
136
|
+
'Monocle',
|
|
137
|
+
'Nerd Glasses',
|
|
138
|
+
'Pink Shades',
|
|
139
|
+
'Polarized',
|
|
140
|
+
'Polarized White',
|
|
141
|
+
'Regular Shades',
|
|
142
|
+
'Small Shades',
|
|
143
|
+
'VR Headset',
|
|
144
|
+
'Eye Mask',
|
|
145
|
+
'Eye Patch',
|
|
146
|
+
'Lasers'],
|
|
147
|
+
},
|
|
148
|
+
|
|
149
|
+
mouth: {
|
|
150
|
+
legend: 'Select mouth prop',
|
|
151
|
+
none: true,
|
|
152
|
+
options: [
|
|
153
|
+
'Cigar',
|
|
154
|
+
'Cigarette',
|
|
155
|
+
'Hookah',
|
|
156
|
+
'Pipe',
|
|
157
|
+
'Vape',
|
|
158
|
+
'Medical Mask',
|
|
159
|
+
'Bubble Gum' ],
|
|
160
|
+
},
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
|
|
2
|
+
SAUDI = {
|
|
3
|
+
|
|
4
|
+
t: {
|
|
5
|
+
legend: 'Select a saudi/sheik base (archetype)',
|
|
6
|
+
options: [
|
|
7
|
+
'Light 1',
|
|
8
|
+
'Light 2',
|
|
9
|
+
'Medium 1',
|
|
10
|
+
'Medium 2',
|
|
11
|
+
'Dark 1',
|
|
12
|
+
'Dark 2',
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
headwear: {
|
|
17
|
+
legend: 'Select headwear',
|
|
18
|
+
none: true,
|
|
19
|
+
options: [
|
|
20
|
+
'White Shemagh',
|
|
21
|
+
'White Shemagh Agal',
|
|
22
|
+
'White Shemagh Gold Agal',
|
|
23
|
+
'White Shemagh Stylish Gold Agal',
|
|
24
|
+
'White Shemagh Crown',
|
|
25
|
+
'Brown Shemagh Agal',
|
|
26
|
+
'Brown Shemagh Crown',
|
|
27
|
+
'Red Shemagh',
|
|
28
|
+
'Red Shemagh Agal',
|
|
29
|
+
'Red Shemagh Crown',
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
beard: {
|
|
35
|
+
legend: 'Select beard',
|
|
36
|
+
none: true,
|
|
37
|
+
options: [
|
|
38
|
+
'messy white beard',
|
|
39
|
+
'short white beard',
|
|
40
|
+
'normal white beard',
|
|
41
|
+
'luxurious white beard',
|
|
42
|
+
'short grey beard',
|
|
43
|
+
'messy brown beard',
|
|
44
|
+
'normal brown beard',
|
|
45
|
+
'luxurious brown beard',
|
|
46
|
+
'shadow beard',
|
|
47
|
+
'shadow beard mustache',
|
|
48
|
+
'light beard',
|
|
49
|
+
'mustache',
|
|
50
|
+
'stylish mustache',
|
|
51
|
+
'sideburns',
|
|
52
|
+
'sideburns mustache',
|
|
53
|
+
'normal beard',
|
|
54
|
+
'normal brown beard mustache',
|
|
55
|
+
'luxurious beard',
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
eyewear: {
|
|
61
|
+
legend: 'Select eyewear',
|
|
62
|
+
none: true,
|
|
63
|
+
options: [
|
|
64
|
+
'horn rimmed glasses',
|
|
65
|
+
'rimless glasses',
|
|
66
|
+
'nerd glasses',
|
|
67
|
+
'stylish nerd glasses',
|
|
68
|
+
'classic shades',
|
|
69
|
+
'classic green shades',
|
|
70
|
+
'classic gold shades',
|
|
71
|
+
'regular pixel shades',
|
|
72
|
+
'regular reflective shades',
|
|
73
|
+
'big green shades',
|
|
74
|
+
'big pixel shades',
|
|
75
|
+
'big purple shades',
|
|
76
|
+
'big shades',
|
|
77
|
+
'small shades',
|
|
78
|
+
'regular shades',
|
|
79
|
+
'round shades',
|
|
80
|
+
'big round shades',
|
|
81
|
+
'square reflective shades',
|
|
82
|
+
'square shades',
|
|
83
|
+
'3d glasses',
|
|
84
|
+
'vr',
|
|
85
|
+
'laser eyes',
|
|
86
|
+
'max bidding',
|
|
87
|
+
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
mouth: {
|
|
92
|
+
legend: 'Select mouth prop',
|
|
93
|
+
none: true,
|
|
94
|
+
options: [
|
|
95
|
+
'cigarette',
|
|
96
|
+
'shadowless cigarette',
|
|
97
|
+
'miswak',
|
|
98
|
+
'vape',
|
|
99
|
+
'shadowless vape',
|
|
100
|
+
'cigar',
|
|
101
|
+
'pearwood pipe',
|
|
102
|
+
'rosewood pipe',
|
|
103
|
+
'bubble gum',
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
}
|