update graphics
This commit is contained in:
75
src/deck.rb
75
src/deck.rb
@@ -1,7 +1,7 @@
|
||||
require 'squib'
|
||||
|
||||
|
||||
DPI = 300
|
||||
DPI = 150
|
||||
CELL_PX = DPI / 8.0
|
||||
BLEED = 0.125 # In inches
|
||||
WIDTH = (2.5 + 2*BLEED) * DPI
|
||||
@@ -57,6 +57,35 @@ def get_art(data, idx)
|
||||
return "default_art_#{icon}#{icon_alt}.svg"
|
||||
end
|
||||
|
||||
def get_grouped_effects(data, idx)
|
||||
if data['effet_1'].nil?
|
||||
n_effects = 0
|
||||
elsif data['effet_2'].nil?
|
||||
n_effects = 1
|
||||
elsif data['effet_3'].nil?
|
||||
n_effects = 2
|
||||
else
|
||||
n_effects = 3
|
||||
end
|
||||
effects = []
|
||||
(0..3).each do |i|
|
||||
effects.append([data["type_effet_#{i}"], data["effet_#{i}"]])
|
||||
end
|
||||
return [n_effects, effects]
|
||||
end
|
||||
|
||||
def get_n_effects(data, idx)
|
||||
if data['effet_1'][idx].nil?
|
||||
0
|
||||
elsif data['effet_2'][idx].nil?
|
||||
1
|
||||
elsif data['effet_3'][idx].nil?
|
||||
2
|
||||
else
|
||||
3
|
||||
end
|
||||
end
|
||||
|
||||
def embed_custom(embed, id)
|
||||
embed.svg width: "#{EMBED_SIZE}c", height: "#{EMBED_SIZE}c", dx: '0c', dy: "#{EMBED_DY}c", key: ":#{id}:", file: "._graphics/#{id}.svg"
|
||||
end
|
||||
@@ -108,19 +137,35 @@ Squib::Deck.new(
|
||||
svg file: alt_banner_file, layout: 'alt_banner'
|
||||
text str: data['rang_alt'], layout: 'alt_banner_text'
|
||||
|
||||
fill_color = data['effet'].map { |effet| effet.nil? ? '#0000': '#f7f7f7ff' }
|
||||
stroke_color = data['effet'].map { |effet| effet.nil? ? '#0000': '#cca9' }
|
||||
fill_color = data['effet_1'].map { |effet| effet.nil? ? '#0000': '#f7f7f7ff' }
|
||||
stroke_color = data['effet_1'].map { |effet| effet.nil? ? '#0000': '#cca9' }
|
||||
rect layout: 'effect_frame', fill_color: fill_color, stroke_color: stroke_color
|
||||
text(str: data['effet'], layout: 'effect_text', font_size: EFFECT_FONT_SIZE, spacing: EFFECT_FONT_SPACING) do |embed|
|
||||
embed_custom(embed, 'effet')
|
||||
embed_custom(embed, 'magouille')
|
||||
embed_custom(embed, 'pv')
|
||||
embed_custom(embed, 'symbole_ind')
|
||||
embed_custom(embed, 'symbole_gau')
|
||||
embed_custom(embed, 'symbole_roy')
|
||||
embed_custom(embed, 'symbole_ana')
|
||||
embed_custom(embed, 'symbole_dro')
|
||||
embed_custom(embed, 'symbole_eco')
|
||||
|
||||
n_effects = (0..data['icone'].length).map { |idx| get_n_effects(data, idx) }
|
||||
(1..3).each do |n|
|
||||
n.times do |i|
|
||||
# Effect texts
|
||||
text(str: (0..data['icone'].length).map { |idx| (n == n_effects[idx]) ? data["effet_#{i+1}"][idx] : nil}, layout: "effect_text_#{n}_#{i}", font_size: EFFECT_FONT_SIZE, spacing: EFFECT_FONT_SPACING) do |embed|
|
||||
embed_custom(embed, 'effet')
|
||||
embed_custom(embed, 'magouille')
|
||||
embed_custom(embed, 'pv')
|
||||
embed_custom(embed, 'symbole_ind')
|
||||
embed_custom(embed, 'symbole_gau')
|
||||
embed_custom(embed, 'symbole_roy')
|
||||
embed_custom(embed, 'symbole_ana')
|
||||
embed_custom(embed, 'symbole_dro')
|
||||
embed_custom(embed, 'symbole_eco')
|
||||
end
|
||||
|
||||
# Effect icons
|
||||
svg file: (0..data['icone'].length).map { |idx| (n == n_effects[idx]) ? data["type_effet_#{i+1}"][idx] + ".svg" : nil}, layout: "effect_icon_#{n}_#{i}"
|
||||
end
|
||||
end
|
||||
(2..3).each do |n|
|
||||
#Effect separators
|
||||
(n-1).times do |i|
|
||||
svg file: (0..data['icone'].length).map { |idx| (n == n_effects[idx]) ? "separateur_effet.svg" : nil}, layout: "effect_separator_#{n}_#{i}"
|
||||
end
|
||||
end
|
||||
|
||||
build :debug do
|
||||
@@ -133,8 +178,8 @@ Squib::Deck.new(
|
||||
end
|
||||
|
||||
build :showcase do
|
||||
hand range: [0, 6, 13, 21, 38, 59, 65], trim_radius: inches(0.125), fill_color: 'black'
|
||||
showcase range: [0, 6, 13, 21, 38, 59, 65], trim: inches(BLEED), trim_radius: inches(0.125), fill_color: 'black'
|
||||
hand range: [0, 6, 13, 21, 38, 59, 62], trim_radius: inches(0.125), fill_color: 'black'
|
||||
showcase range: [0, 6, 13, 21, 38, 59, 62], trim: inches(BLEED), trim_radius: inches(0.125), fill_color: 'black'
|
||||
end
|
||||
|
||||
build :full do
|
||||
|
||||
Reference in New Issue
Block a user