1
0

update graphics

This commit is contained in:
Ninjananas
2025-01-07 22:57:34 +01:00
parent f112f57e37
commit a04cf4d0cb
6 changed files with 240 additions and 58 deletions

View File

@@ -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