Start CSV cards
This commit is contained in:
parent
624109beda
commit
68cc57cc27
19
2022/11-setlist/data.csv
Normal file
19
2022/11-setlist/data.csv
Normal file
@ -0,0 +1,19 @@
|
||||
name,volume,traits,audience,effect,blurb
|
||||
Opener,mp,,2,+3 {a} if the first song in your set,
|
||||
Intermission,ppp,,0,,
|
||||
Love Ballad,f,l,4,,
|
||||
Rage Against The Man,fff,a,4,,
|
||||
Everything Is Awesome,mf,j,4,,
|
||||
Tears in the Rain,p,s,4,,
|
||||
Breakup Song,ff,la,3,+3 {a} if another band played a {l} song,
|
||||
New Relationship,mf,lj,+4 {a} if the first {l} song in any band's setlist,
|
||||
Brokenhearted,p,ls,0,,
|
||||
Mixed Messages,f,aj,0,,
|
||||
Betrayed,f,as,2,+3 {a} if immediately following a {j} song in your setlist,
|
||||
Happy To Be Sad,f,js,0,+2 {a} for each {s} song already in your setlist,
|
||||
Indignant Love,f,laj,0,,
|
||||
Unrequited Love,f,las,0,,
|
||||
Butterflies In The Stomach,f,ljs,0,,
|
||||
Rampage,f,ajs,0,,
|
||||
Everything At Once,f,lajs,0,,
|
||||
Wildcard,f,lajs,0,,
|
|
@ -1,56 +1,74 @@
|
||||
- name: Opener
|
||||
volume: p
|
||||
effect: +5 {a} if the first song in your set.
|
||||
traits:
|
||||
- name: "Entr'acte"
|
||||
volume: p
|
||||
effect: +3 {a} if not the first or last song in your set.
|
||||
traits:
|
||||
- name: Reprise
|
||||
volume: f
|
||||
effect: +3 {a} if in the second half in your set.
|
||||
traits:
|
||||
- name: Breakup Song
|
||||
volume: ff
|
||||
effect: +3 {a}. +2 additional {a} if any band has played a <b>Love Song</b>
|
||||
blurb: You may hate yourself for loving it, but you oughta know that these songs pack a punch.
|
||||
traits:
|
||||
- name: Love Song
|
||||
volume: mp
|
||||
effect: +2 {a}. +3 additional {a} if Love Song is the loudest song in your set.
|
||||
blurb: I forgot how this goes, but it's all coming back to me now.
|
||||
traits:
|
||||
- name: Power Ballad
|
||||
volume: ff
|
||||
effect: +3 {a}
|
||||
traits:
|
||||
- name: Call and Response
|
||||
volume: f
|
||||
effect: +2 {a} for each song before this one.
|
||||
traits:
|
||||
- name: Heavy Hitter
|
||||
volume: fff
|
||||
effect: +4 {a}.
|
||||
traits:
|
||||
- name: Protest Song
|
||||
volume: ff
|
||||
effect: +1 {a}. +3 {a} if the loudest song this round.
|
||||
traits:
|
||||
- name: Signature Song
|
||||
volume: f
|
||||
effect: +5 {a}.
|
||||
traits:
|
||||
- name: Buildup
|
||||
volume: pp
|
||||
effect: Add +2 {a} to the next song in your set.
|
||||
traits:
|
||||
- name: Breakdown
|
||||
volume: mf
|
||||
effect: +2 {a} for each quieter song played this round.
|
||||
traits:
|
||||
- name: Sleazy
|
||||
volume: mf
|
||||
effect: +4 {a} if not the loudest song this round.
|
||||
traits:
|
||||
- name: Showstopper
|
||||
volume: fff
|
||||
effect: +5 {a} if the last song in your set.
|
||||
traits:
|
||||
- name: Remix
|
||||
volume: f
|
||||
effect: Repeat the effect of the song immediately before this in your set.
|
||||
traits:
|
||||
- name: Acoustic Cover
|
||||
volume: mp
|
||||
effect: Copy the effect of a song in another band's setlist.
|
||||
traits:
|
||||
- name: Heavy Cover
|
||||
volume: f
|
||||
effect: Copy the effect of a song in another band's setlist.
|
||||
traits:
|
||||
- name: Encore
|
||||
volume: mf
|
||||
effect: +5 {a} if the last song in your set.
|
||||
traits:
|
@ -29,9 +29,9 @@ VOLUMES = {
|
||||
"fff" => 8,
|
||||
}
|
||||
|
||||
data = Squib.yaml file: 'data.yml'
|
||||
data = Squib.csv file: 'data.csv'
|
||||
|
||||
Squib::Deck.new(cards: 18) do
|
||||
Squib::Deck.new(cards: data.nrows) do
|
||||
use_layout file: 'economy.yml'
|
||||
use_layout file: 'layout.yml'
|
||||
background color: 'white'
|
||||
@ -40,13 +40,23 @@ Squib::Deck.new(cards: 18) do
|
||||
|
||||
text layout: :title, str: data.name
|
||||
|
||||
svg layout: :art, data: Icons::MUSIC
|
||||
# svg layout: :art, data: Icons::MUSIC
|
||||
text layout: :art, align: :center, valign: :middle, str: data.traits do |embed|
|
||||
embed.svg key: 'l', width: 128, height: 128, data: Icons::LOVE
|
||||
embed.svg key: 'a', width: 128, height: 128, data: Icons::ANGER
|
||||
embed.svg key: 'j', width: 128, height: 128, data: Icons::JOY
|
||||
embed.svg key: 's', width: 128, height: 128, data: Icons::SAD
|
||||
end
|
||||
|
||||
rect layout: :description
|
||||
text layout: :description, str: data.effect.zip(data.blurb).map { |e, b|
|
||||
"#{e}#{b ? "\n<i>#{b}</i>" : nil}"
|
||||
} do |embed|
|
||||
embed.svg key: '{a}', width: 32, height: 32, data: Icons::AUDIENCE
|
||||
embed.svg key: '{l}', width: 32, height: 32, data: Icons::LOVE
|
||||
embed.svg key: '{a}', width: 32, height: 32, data: Icons::ANGER
|
||||
embed.svg key: '{j}', width: 32, height: 32, data: Icons::JOY
|
||||
embed.svg key: '{s}', width: 32, height: 32, data: Icons::SAD
|
||||
end
|
||||
text layout: :type, markup: true, str: data.volume.map { |v| "<b><i>#{v} (#{VOLUMES[v]})</i></b>" }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user