From 82ec5b5fb3987cd2a1cf8927d3c2ed21564bc890 Mon Sep 17 00:00:00 2001 From: Ninjananas Date: Sun, 25 May 2025 18:32:59 +0200 Subject: [PATCH] use csv instead of xlsx --- Gemfile | 5 +- Makefile | 10 +- data/cards.csv | 53 ++ data/cards.xlsx | Bin 8738 -> 8735 bytes graphics/plateau_v1.svg | 1794 +++++++++++++++++++++++++++++++++++++++ src/deck.rb | 5 +- 6 files changed, 1860 insertions(+), 7 deletions(-) create mode 100644 data/cards.csv create mode 100644 graphics/plateau_v1.svg diff --git a/Gemfile b/Gemfile index d9b7cdc..d66235f 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,6 @@ source 'https://rubygems.org' -gem "squib", path: "../squib/pkg" +gem "rake" +gem "squib", + :git => "/home/ninjananas/projets/squib", + :branch => "image_anchors" diff --git a/Makefile b/Makefile index 8368546..092ea9c 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -common_deps := src/deck.rb data/cards.xlsx ._graphics_copy_touch ._graphics_extract_touch config.yml ._layouts/poker.yml +common_deps := src/deck.rb data/cards.csv ._graphics_copy_touch ._graphics_extract_touch config.yml ._layouts/poker.yml pnp := _output/pnp_A4.pdf debug := _output/debug.pdf @@ -30,16 +30,16 @@ clean: $(pnp): $(common_deps) - rake pnp + bundle exec rake pnp $(debug): $(common_deps) - rake debug + bundle exec rake debug $(showcase): $(common_deps) - rake showcase + bundle exec rake showcase $(full): $(common_deps) - rake full + bundle exec rake full ._graphics_extract_touch: $(wildcard graphics/bundled/*) @ mkdir -p ._graphics diff --git a/data/cards.csv b/data/cards.csv new file mode 100644 index 0000000..f17644a --- /dev/null +++ b/data/cards.csv @@ -0,0 +1,53 @@ +"quantite","type","nom","rang","icone","rang_alt","icone_alt","type_effet_1","effet_1","type_effet_2","effet_2","type_effet_3","effet_3","art","citation" +"0","dummy","dummy","dummy","dummy","dummy","dummy","dummy","dummy",,,,,, +"1","candidat","Industrion","10","ind",,,,,,,,,, +"1","candidat","Usinax","9","ind",,,,,,,,,, +"1","candidat","Ouvriex","8","ind","1","gau",,,,,,,, +"1","candidat","Patronex","7","ind","2","dro",,,,,,,, +"1","candidat","Alpha-Kappa-Beta","6","ind","3","roy",,,,,,,, +"1","candidat","Libertarix","5","ind","4","ana",,,,,,,, +"1","candidat","Gauchoïde","10","gau",,,,,,,,,, +"1","candidat","Répartitron","9","gau",,,,,,,,,, +"1","candidat","Oligarchix","8","gau","1","roy",,,,,,,, +"1","candidat","Pink Alu","7","gau","2","ind",,,,,,,, +"1","candidat","Révolutron XV","6","gau","3","ana",,,,,,,, +"1","candidat","Lokaloïd","5","gau","4","eco",,,,,,,, +"1","candidat","Royalix","10","roy",,,,,,,,,, +"1","candidat","Monark Mk IV","9","roy",,,,,,,,,, +"1","candidat","Louis-Louis","8","roy","1","dro",,,,,,,, +"1","candidat","BDFL 2.0","7","roy","2","gau",,,,,,,, +"1","candidat","Éco-Duc 3.1","6","roy","3","eco",,,,,,,, +"1","candidat","Lys-Import","5","roy","4","ind",,,,,,,, +"1","candidat","Anarchix 2000","10","ana",,,,,,,,,, +"1","candidat","Son of Robotry","9","ana",,,,,,,,,, +"1","candidat","Phoc-U","8","ana","1","ind",,,,,,,, +"1","candidat","Robow Warrior","7","ana","2","eco",,,,,,,, +"1","candidat","Skizzo 2","6","ana","3","dro",,,,,,,, +"1","candidat","London Call","5","ana","4","gau",,,,,,,, +"1","candidat","Conservator","10","dro",,,,,,,,,, +"1","candidat","Traditron","9","dro",,,,,,,,,, +"1","candidat","Greenwasher","8","dro","1","eco",,,,,,,, +"1","candidat","Crazy Gun","7","dro","2","ana",,,,,,,, +"1","candidat","Profitron","6","dro","3","ind",,,,,,,, +"1","candidat","MDP 123456","5","dro","4","roy",,,,,,,, +"1","candidat","Écolotron","10","eco",,,,,,,,,, +"1","candidat","Pichonio","9","eco",,,,,,,,,, +"1","candidat","Hermitron","8","eco","1","ana",,,,,,,, +"1","candidat","Gaiax","7","eco","2","roy",,,,,,,, +"1","candidat","Vegauchix","6","eco","3","gau",,,,,,,, +"1","candidat","Chassa-Cor III","5","eco","4","dro",,,,,,,, +"1","candidat","Adaptatron","0","jok",,,,,,,,,, +"1","candidat","Compatiblix","0","jok",,,,,,,,,, +"3","action","Robocaïne",,"robocaine",,,"effet","Jouez 2 actions","effet","Piochez 2 cartes",,,, +"3","action","Corruption","-2","corruption",,,"magouille","Volez un candidat adverse. Ajoutez-lui cette carte comme mod. Son parti perd un :pv:.",,,,,, +"3","action","Retournement de veste",,"veste",,,"effet","Retournez un de vos candidats sur son autre parti. Un :pv: de son ancien parti est transféré à son nouveau parti",,,,,, +"2","action","Assassinat",,"assassinat",,,"magouille","Défaussez un candidat (le vôtre ou celui d’un adversaire)",,,,,, +"5","action","Casserole","-3","casserole",,,"effet","Mettez le mod de cette carte à un candidat. Retirez deux :pv: à son parti.",,,,,, +"2","action","Spin Doctor",,"spindoctor",,,"effet","Défaussez un mod négatif d'un de vos candidats",,,,,, +"3","action","Propagande","++2","propagande","-1",,"magouille","Mettez le mod de cette carte à un candidat. Si échec, mettez le mod négatif ",,,,,, +"1","action","Campagne de Com'","++2","campagne",,,"effet","Ajoutez comme mod à un candidat :symbole_ind: et un :pv: à son parti.",,,,,, +"1","action","Campagne de Com'","++2","campagne",,,"effet","Ajoutez comme mod à un candidat :symbole_gau: et un :pv: à son parti.",,,,,, +"1","action","Campagne de Com'","++2","campagne",,,"effet","Ajoutez comme mod à un candidat :symbole_roy: et un :pv: à son parti.",,,,,, +"1","action","Campagne de Com'","++2","campagne",,,"effet","Ajoutez comme mod à un candidat :symbole_ana: et un :pv: à son parti.",,,,,, +"1","action","Campagne de Com'","++2","campagne",,,"effet","Ajoutez comme mod à un candidat :symbole_dro: et un :pv: à son parti.",,,,,, +"1","action","Campagne de Com'","++2","campagne",,,"effet","Ajoutez comme mod à un candidat :symbole_eco: et un :pv: à son parti.",,,,,, diff --git a/data/cards.xlsx b/data/cards.xlsx index 260f729d3d4f2e316b2e5d02d2068f354cb1b4cb..3b97237ce82b293c908002f3333fae7e187306a5 100644 GIT binary patch delta 4701 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 FS^%!9d;b6c delta 4719 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 diff --git a/graphics/plateau_v1.svg b/graphics/plateau_v1.svg new file mode 100644 index 0000000..f6582a8 --- /dev/null +++ b/graphics/plateau_v1.svg @@ -0,0 +1,1794 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/deck.rb b/src/deck.rb index 2508f53..ec43964 100644 --- a/src/deck.rb +++ b/src/deck.rb @@ -12,7 +12,10 @@ EMBED_SIZE = EFFECT_FONT_SIZE / 9.0 # In cells EMBED_DY = - (0.7 * EMBED_SIZE + 0.2) * DPI / 300 # In cells -data = Squib.xlsx file: 'data/cards.xlsx', explode: 'quantite' +#data = Squib.xlsx file: 'data/cards.xlsx', explode: 'quantite' +data = Squib.csv file: 'data/cards.csv', explode: 'quantite' +data['rang'].map! { it.nil? ? nil : it.to_s.sub(/\A\++/, "+") } +data['rang_alt'].map! { it.nil? ? nil : it.to_s.sub(/\A\++/, "+") } def icon_to_svg(icon) icon.nil? ? nil : "icone_#{icon}.svg"