summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--cards/alchemical_recipes.rb21
-rw-r--r--cards/beginner_spells.html420
-rw-r--r--cards/card.html107
-rw-r--r--cards/card.rb45
-rw-r--r--cards/common_weapons.html861
-rw-r--r--cards/common_weapons.rb70
-rw-r--r--cards/spells.rb161
-rw-r--r--cards/weapon_example.svg864
-rw-r--r--src/.obsidian/app.json5
-rw-r--r--src/SUMMARY.md16
-rw-r--r--src/running-the-game/abilities.md32
-rw-r--r--src/running-the-game/checks.md (renamed from src/checks.md)0
-rw-r--r--src/running-the-game/club_symbol.pngbin0 -> 1523 bytes
-rw-r--r--src/running-the-game/combat.md (renamed from src/combat.md)0
-rw-r--r--src/running-the-game/diamond_symbol.pngbin0 -> 1303 bytes
-rw-r--r--src/running-the-game/fate-deck.md (renamed from src/fate-deck.md)0
-rw-r--r--src/running-the-game/heart_symbol.pngbin0 -> 1374 bytes
-rw-r--r--src/running-the-game/joker_symbol.pngbin0 -> 2102 bytes
-rw-r--r--src/running-the-game/social.md (renamed from src/social.md)2
-rw-r--r--src/running-the-game/spade_symbol.pngbin0 -> 1436 bytes
-rw-r--r--src/running-the-game/spellcasting.md19
-rw-r--r--src/running-the-game/tap_symbol.pngbin0 -> 1755 bytes
-rw-r--r--src/running-the-game/travel.md (renamed from src/travel.md)0
-rw-r--r--src/running-the-game/weapon_example.pngbin0 -> 287024 bytes
-rw-r--r--src/running-the-game/weapons.md20
-rw-r--r--tap_symbol.xcfbin0 -> 7642 bytes
27 files changed, 2528 insertions, 116 deletions
diff --git a/.gitignore b/.gitignore
index 1b590ce..b0da299 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ new-site
src/.obsidian/appearance.json
src/.obsidian/workspace.json
src/.obsidian/workspace
+.trash
diff --git a/cards/alchemical_recipes.rb b/cards/alchemical_recipes.rb
new file mode 100644
index 0000000..4e96dfb
--- /dev/null
+++ b/cards/alchemical_recipes.rb
@@ -0,0 +1,21 @@
+load 'card.rb'
+
+alchemical_recipes = {}
+
+beginner_spells[:crystal_encasement] = Card.new(
+ title: "Crystal Encasement Recipe",
+ #damage: 3,
+ #blood: 2,
+ #reposte: 'Prc',
+ actions: [
+ Card::Action.new(
+ content: 'A potion which when applied to a surface quickly grows strong blue crystals. Can also be thrown.',
+ symbol: [:diamonds, :blood]
+ ),
+ ],
+ color: 'firebrick',
+ flavour: '"You arent making a bomb, are you?"',
+ type: 'Blood Magic (Eldritch)'
+)
+
+File.write('beginner_spells.html', Card.build(beginner_spells.values))
diff --git a/cards/beginner_spells.html b/cards/beginner_spells.html
new file mode 100644
index 0000000..7de8bd0
--- /dev/null
+++ b/cards/beginner_spells.html
@@ -0,0 +1,420 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style>
+ .flavour {
+ color: rgba(0,0,0,0.5);
+ padding: 35px;
+ font-size: 35px;
+ }
+ .flavour_wrapper {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ text-align: center;
+ }
+ .action_detail {
+ padding-top: 0px;
+ text-align: left;
+ }
+ .symbol_wrapper_inner {
+ display: flex;
+ flex-direction: column;
+ gap: 5px;
+ }
+ .symbol_wrapper_outer {
+ display: flex;
+ gap: 20px;
+ }
+ .card_type {
+ background-color: antiquewhite;
+ text-align: center;
+ font-size: 40px;
+ padding: 10px;
+ -moz-border-radius: 15px 15px 0 0;
+ -webkit-border-radius: 15px 15px 0 0;
+ border-radius: 15px 15px 0 0;
+ font-weight: bold;
+ border-width: 2px 2px 0 2px;
+ border-color: black;
+ border-style: solid;
+ }
+ .face_icon {
+ color: white;
+ display: inline-block;
+ padding: 4px;
+ height: 62px;
+ min-width: 62px;
+ font-size: 55px;
+ -moz-border-radius: 15px;
+ -webkit-border-radius: 15px;
+ border-radius: 15px;
+ background-color: black;
+ }
+ .icon {
+ display: inline-block;
+ padding: 8px 4px 0px 4px;
+ -moz-border-radius: 15px;
+ -webkit-border-radius: 15px;
+ border-radius: 15px;
+ aspect-ratio: 1/1;
+ font-size: 40px;
+ height: 52px;
+ width: 52px;
+ }
+ .hearts_icon {
+ color: orangered;
+ }
+ .diamonds_icon {
+ color: orangered;
+ }
+ .clubs_icon {
+ color: antiquewhite;
+ }
+ .spades_icon {
+ color: antiquewhite;
+ }
+ .suit_icon {
+ background-color: black;
+ text-align: center;
+ font-size: 60px;
+ line-height: 40px;
+ }
+ .blood_icon {
+ background-color: black;
+ padding: 6px 3px 2px 5px;
+ }
+ .joker_icon {
+ background-color: black;
+ padding: 6px 3px 2px 5px;
+ }
+ .tap_icon {
+ background-color: black;
+ }
+ .content {
+ background-color: antiquewhite;
+ color: black;
+ flex: 5;
+ -moz-border-radius: 25px;
+ -webkit-border-radius: 25px;
+ border-radius: 25px;
+ overflow: hidden;
+ position: relative;
+ font-size: 50px;
+ display: flex;
+ justify-content: flex-start;
+ gap: 5px;
+ text-align: left;
+ padding: 35px 30px 30px 30px;
+ flex-direction: column;
+ border-width: 2px 2px 2px 2px;
+ border-color: black;
+ border-style: solid;
+ }
+ .attrib_bottom_icons {
+ bottom: 0;
+ }
+ .attrib_top_icons {
+ top: 0;
+ }
+ .attrib_bl {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ -moz-border-radius: 0 50px 0 0;
+ -webkit-border-radius: 0 50px 0 0;
+ border-radius: 0 50px 0 0;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 5px 5px 0 0;
+ padding: 15px 25px 15px 15px;
+ }
+ .attrib_br {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ -moz-border-radius: 50px 0 0 0;
+ -webkit-border-radius: 50px 0 0 0;
+ border-radius: 50px 0 0 0;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 5px 0 0 5px;
+ padding: 15px 15px 15px 25px;
+ }
+ .attrib_tr {
+ position: absolute;
+ top: 0;
+ right: 0;
+ -moz-border-radius: 0 0 0 50px;
+ -webkit-border-radius: 0 0 0 50px;
+ border-radius: 0 0 0 50px;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 0 0 5px 5px;
+ padding: 15px 15px 15px 25px;
+ }
+ .attrib_tl {
+ position: absolute;
+ top: 0;
+ left: 0;
+ -moz-border-radius: 0 0 50px 0;
+ -webkit-border-radius: 0 0 50px 0;
+ border-radius: 0 0 50px 0;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 0 5px 5px 0;
+ padding: 15px 25px 15px 15px;
+ }
+ .attrib_icon {
+ background-color: rgba(255,255,255,0.10);
+ }
+ .title {
+ background-color: black;
+ color: antiquewhite;
+ flex: 3;
+ -moz-border-radius: 25px;
+ -webkit-border-radius: 25px;
+ border-radius: 25px;
+ overflow: hidden;
+ position: relative;
+ font-size: 85px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ flex-direction: column;
+ padding: 25px;
+ border-width: 2px 2px 2px 2px;
+ border-color: black;
+ border-style: solid;
+ }
+ .group {
+ margin: 50px 50px 0px 50px;
+ -moz-border-radius: 25px;
+ -webkit-border-radius: 25px;
+ border-radius: 25px;
+ display: flex;
+ flex-direction: column;
+ align-content: space-between;
+ height: auto;
+ flex: 2;
+ gap: 35px;
+ }
+ .card {
+ height: 1425px;
+ width: 825px;
+ background-color: black;
+ display: flex;
+ }
+ .card_wrapper {
+ min-height: 2850px;
+ width: 5775px;
+ display: flex;
+ flex-wrap: wrap;
+ height: 100%;
+ }
+ button {
+ font-size: 50px;
+ padding: 30px;
+ margin: 30px;
+ }
+ p {
+ margin: 0;
+ }
+ body {
+ background-color: #1e1e1e;
+ }
+ </style>
+ </head>
+ <button onclick="downloadAsImage()">
+ Download
+ </button>
+ <div id="card_wrapper" class="card_wrapper">
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, firebrick 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <div class="attrib_icon attrib_tr">
+ 1 🩸
+ </div>
+ <p>
+ Wispy Flame
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ d4
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon clubs_icon">
+ ♣️
+ </span>
+ <span class="icon blood_icon">
+ 🩸
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(<strong>even</strong>) Engulf your hand in flames for short while. You need to maintain concentration.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(<strong>while concentrating</strong>) Deal melee damage. If it is a small object set it on fire.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Portable Candle”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Blood Magic (Igneous)
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, firebrick 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <div class="attrib_icon attrib_tr">
+ 1 🩸
+ </div>
+ <p>
+ Summon Flesh
+ </p>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon hearts_icon">
+ ♥️
+ </span>
+ <span class="icon blood_icon">
+ 🩸
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(<strong>5 or less</strong>) Heal a target within arms reach equal to the card played.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <p>If this spell heals for more then half of the target’s max health then they get flesh mass disease.</p>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Writhing flesh mass that assimilates”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Blood Magic (Eldritch)
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, firebrick 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <div class="attrib_icon attrib_tr">
+ 1 🩸
+ </div>
+ <p>
+ Lightning Fork
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 2d4
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon clubs_icon">
+ ♣️
+ </span>
+ <span class="icon blood_icon">
+ 🩸
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(<strong>even</strong>) Deal 1d4 damage to one target and 1d4 to another.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Double the static, double the fun!”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Blood Magic (Storm)
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, firebrick 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <div class="attrib_icon attrib_tr">
+ 2 🩸
+ </div>
+ <p>
+ Summon Alchemicals
+ </p>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon diamonds_icon">
+ ♦️
+ </span>
+ <span class="icon blood_icon">
+ 🩸
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(<strong>odd</strong>) Summon a random amount of a random alchemical depending on the card played and the number rolled for blood.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“You arent making a bomb, are you?”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Blood Magic (Eldritch)
+ </div>
+ </div>
+ </div>
+ </div>
+ <script src="./web/bundle.js">
+ </script>
+ <script>
+ function downloadAsImage() {
+ htmlToImage.toPng(document.getElementById('card_wrapper'))
+ .then(function (dataUrl) {
+ download(dataUrl, 'card_wrapper.png');
+ });
+ }
+ </script>
+</html>
diff --git a/cards/card.html b/cards/card.html
index 41b1267..764fe1d 100644
--- a/cards/card.html
+++ b/cards/card.html
@@ -20,6 +20,8 @@
}
.symbol_wrapper_inner {
display: flex;
+ flex-direction: column;
+ gap: 5px;
}
.symbol_wrapper_outer {
display: flex;
@@ -79,6 +81,10 @@
font-size: 60px;
line-height: 40px;
}
+ .joker_icon {
+ background-color: black;
+ padding: 6px 3px 2px 5px;
+ }
.tap_icon {
background-color: black;
}
@@ -267,10 +273,10 @@
<div class="group">
<div class="title">
<p>
- Spear
+ Polearm
</p>
<div class="attrib_icon attrib_bl">
- ⚔️ 2
+ ⚔️ 3
</div>
<div class="attrib_icon attrib_br">
Str 🎲
@@ -291,7 +297,7 @@
</div>
<div class="action">
<hr>
- <p><strong>Reach</strong>: When making an attack, you ignore repostes from your target.</p>
+ <p><strong>Reach</strong>: When making an attack, you ignore repostes from your target unless they also have Reach.</p>
</div>
<div class="flavour_wrapper">
<div class="flavour">
@@ -301,7 +307,7 @@
</div>
</div>
<div class="card_type">
- Spear Weapon
+ Polearm Weapon
</div>
</div>
</div>
@@ -744,6 +750,99 @@
</div>
</div>
</div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Test Weapon
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Prc 🎲
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon spades_icon">
+ ♠️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon clubs_icon">
+ ♣️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon diamonds_icon">
+ ♦️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon joker_icon">
+ 🃏
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ <span class="icon suit_icon hearts_icon">
+ ♥️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Arrrgh”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Curved Sword Weapon
+ </div>
+ </div>
+ </div>
</div>
<script src="./web/bundle.js">
</script>
diff --git a/cards/card.rb b/cards/card.rb
index f40cdf5..2a9af5b 100644
--- a/cards/card.rb
+++ b/cards/card.rb
@@ -25,7 +25,7 @@ class Card
attrib_top_left: nil,
attrib_top_left_icon: '🛡️',
attrib_bottom_right: nil,
- attrib_bottom_right_icon: '🎲',
+ attrib_bottom_right_icon: '🛡️',
reposte: nil,
attrib_bottom_left: nil,
attrib_bottom_left_icon: '⚔️',
@@ -57,9 +57,14 @@ class Card
def initialize(content:, symbol: nil, seperator: false)
self.content = content
- self.symbol = symbol
+ self.symbol = Array(symbol)
self.seperator = seperator
end
+
+ def symbol
+ @symbol ||= []
+ end
+
end
class << self
@@ -192,6 +197,14 @@ class Card
rule '.tap_icon' do
background color: :black
end
+ rule '.joker_icon' do
+ background color: :black
+ padding '6px 3px 2px 5px'
+ end
+ rule '.blood_icon' do
+ background color: :black
+ padding '6px 3px 2px 5px'
+ end
rule '.suit_icon' do
background color: :black
text align: :center
@@ -246,6 +259,8 @@ class Card
end
rule '.symbol_wrapper_inner' do
display 'flex'
+ flex direction: 'column'
+ gap 5.px
end
rule '.action_detail' do
padding top: 0.px
@@ -299,31 +314,45 @@ class Card
card.actions.each do |action|
_.div.action do
_.hr if action.seperator
- if action.symbol
+ if !action.symbol.empty?
_.div.symbol_wrapper_outer do
_.div.symbol_wrapper_inner do
#build_symbol
- if action.symbol == :tap
+ if action.symbol.include? :tap
_.span.icon.tap_icon do
"↪️"
end
- elsif action.symbol == :spades
+ end
+ if action.symbol.include? :spades
_.span.icon.suit_icon.spades_icon do
"♠️"
end
- elsif action.symbol == :clubs
+ end
+ if action.symbol.include? :clubs
_.span.icon.suit_icon.clubs_icon do
"♣️"
end
- elsif action.symbol == :diamonds
+ end
+ if action.symbol.include? :diamonds
_.span.icon.suit_icon.diamonds_icon do
"♦️"
end
- elsif action.symbol == :hearts
+ end
+ if action.symbol.include? :hearts
_.span.icon.suit_icon.hearts_icon do
"♥️"
end
end
+ if action.symbol.include? :joker
+ _.span.icon.joker_icon do
+ "🃏"
+ end
+ end
+ if action.symbol.include? :blood
+ _.span.icon.blood_icon do
+ "🩸"
+ end
+ end
end
_.div.action_detail do
_.markdown <<-MD
diff --git a/cards/common_weapons.html b/cards/common_weapons.html
new file mode 100644
index 0000000..5cc46d1
--- /dev/null
+++ b/cards/common_weapons.html
@@ -0,0 +1,861 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style>
+ .flavour {
+ color: rgba(0,0,0,0.5);
+ padding: 35px;
+ font-size: 35px;
+ }
+ .flavour_wrapper {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ text-align: center;
+ }
+ .action_detail {
+ padding-top: 0px;
+ text-align: left;
+ }
+ .symbol_wrapper_inner {
+ display: flex;
+ flex-direction: column;
+ gap: 5px;
+ }
+ .symbol_wrapper_outer {
+ display: flex;
+ gap: 20px;
+ }
+ .card_type {
+ background-color: antiquewhite;
+ text-align: center;
+ font-size: 40px;
+ padding: 10px;
+ -moz-border-radius: 15px 15px 0 0;
+ -webkit-border-radius: 15px 15px 0 0;
+ border-radius: 15px 15px 0 0;
+ font-weight: bold;
+ border-width: 2px 2px 0 2px;
+ border-color: black;
+ border-style: solid;
+ }
+ .face_icon {
+ color: white;
+ display: inline-block;
+ padding: 4px;
+ height: 62px;
+ min-width: 62px;
+ font-size: 55px;
+ -moz-border-radius: 15px;
+ -webkit-border-radius: 15px;
+ border-radius: 15px;
+ background-color: black;
+ }
+ .icon {
+ display: inline-block;
+ padding: 8px 4px 0px 4px;
+ -moz-border-radius: 15px;
+ -webkit-border-radius: 15px;
+ border-radius: 15px;
+ aspect-ratio: 1/1;
+ font-size: 40px;
+ height: 52px;
+ width: 52px;
+ }
+ .hearts_icon {
+ color: orangered;
+ }
+ .diamonds_icon {
+ color: orangered;
+ }
+ .clubs_icon {
+ color: antiquewhite;
+ }
+ .spades_icon {
+ color: antiquewhite;
+ }
+ .suit_icon {
+ background-color: black;
+ text-align: center;
+ font-size: 60px;
+ line-height: 40px;
+ }
+ .blood_icon {
+ background-color: black;
+ padding: 6px 3px 2px 5px;
+ }
+ .joker_icon {
+ background-color: black;
+ padding: 6px 3px 2px 5px;
+ }
+ .tap_icon {
+ background-color: black;
+ }
+ .content {
+ background-color: antiquewhite;
+ color: black;
+ flex: 5;
+ -moz-border-radius: 25px;
+ -webkit-border-radius: 25px;
+ border-radius: 25px;
+ overflow: hidden;
+ position: relative;
+ font-size: 50px;
+ display: flex;
+ justify-content: flex-start;
+ gap: 5px;
+ text-align: left;
+ padding: 35px 30px 30px 30px;
+ flex-direction: column;
+ border-width: 2px 2px 2px 2px;
+ border-color: black;
+ border-style: solid;
+ }
+ .attrib_bottom_icons {
+ bottom: 0;
+ }
+ .attrib_top_icons {
+ top: 0;
+ }
+ .attrib_bl {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ -moz-border-radius: 0 50px 0 0;
+ -webkit-border-radius: 0 50px 0 0;
+ border-radius: 0 50px 0 0;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 5px 5px 0 0;
+ padding: 15px 25px 15px 15px;
+ }
+ .attrib_br {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ -moz-border-radius: 50px 0 0 0;
+ -webkit-border-radius: 50px 0 0 0;
+ border-radius: 50px 0 0 0;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 5px 0 0 5px;
+ padding: 15px 15px 15px 25px;
+ }
+ .attrib_tr {
+ position: absolute;
+ top: 0;
+ right: 0;
+ -moz-border-radius: 0 0 0 50px;
+ -webkit-border-radius: 0 0 0 50px;
+ border-radius: 0 0 0 50px;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 0 0 5px 5px;
+ padding: 15px 15px 15px 25px;
+ }
+ .attrib_tl {
+ position: absolute;
+ top: 0;
+ left: 0;
+ -moz-border-radius: 0 0 50px 0;
+ -webkit-border-radius: 0 0 50px 0;
+ border-radius: 0 0 50px 0;
+ border-color: rgba(255,255,255,0.50);
+ border-style: solid;
+ border-width: 0 5px 5px 0;
+ padding: 15px 25px 15px 15px;
+ }
+ .attrib_icon {
+ background-color: rgba(255,255,255,0.10);
+ }
+ .title {
+ background-color: black;
+ color: antiquewhite;
+ flex: 3;
+ -moz-border-radius: 25px;
+ -webkit-border-radius: 25px;
+ border-radius: 25px;
+ overflow: hidden;
+ position: relative;
+ font-size: 85px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ flex-direction: column;
+ padding: 25px;
+ border-width: 2px 2px 2px 2px;
+ border-color: black;
+ border-style: solid;
+ }
+ .group {
+ margin: 50px 50px 0px 50px;
+ -moz-border-radius: 25px;
+ -webkit-border-radius: 25px;
+ border-radius: 25px;
+ display: flex;
+ flex-direction: column;
+ align-content: space-between;
+ height: auto;
+ flex: 2;
+ gap: 35px;
+ }
+ .card {
+ height: 1425px;
+ width: 825px;
+ background-color: black;
+ display: flex;
+ }
+ .card_wrapper {
+ min-height: 2850px;
+ width: 5775px;
+ display: flex;
+ flex-wrap: wrap;
+ height: 100%;
+ }
+ button {
+ font-size: 50px;
+ padding: 30px;
+ margin: 30px;
+ }
+ p {
+ margin: 0;
+ }
+ body {
+ background-color: #1e1e1e;
+ }
+ </style>
+ </head>
+ <button onclick="downloadAsImage()">
+ Download
+ </button>
+ <div id="card_wrapper" class="card_wrapper">
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Thrusting Sword
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Prc 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d8 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <p><strong>Opportune Strike</strong>: When targeting an enemy with this weapon, mark them until the end of their turn. While marked if they attack somone other then you then you can perform a reposte on them.</p>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“World Famous Iron Toothpick”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Thrusting Sword Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Polearm
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Str 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Str</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <p><strong>Reach</strong>: When making an attack, you ignore repostes from your target unless they also have Reach.</p>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Getting up close and personal while staying far away”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Polearm Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Dagger
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 2
+ </div>
+ <div class="attrib_icon attrib_br">
+ Prc 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon spades_icon">
+ ♠️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(even) <strong>Swift Attack</strong>: Refresh this card.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“A quick and convinient way to turn a spleen into a sheath”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Dagger Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Bow
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ 1 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d4 + (2·Prc)</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <p><strong>Ranged</strong>: When making an attack, you ignore repostes from your target. You can’t deal a reposte either.</p>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“One stringed instrument that got repurposed as a weapon.”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Bow Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Crossbow
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 4
+ </div>
+ <div class="attrib_icon attrib_br">
+ 1 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(must be loaded) 🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p><strong>Reload</strong>: Load this weapon.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <p><strong>Ranged</strong>: When making an attack, you ignore repostes from your target. You can’t deal a reposte either.</p>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“No one will cross you with this weapon”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Crossbow Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Hammer
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Str 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Str</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p><strong>Power Swing</strong>: 🎲 <strong>d4 + Str</strong> to hit. Deal <strong>Str + 2</strong> damage.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“If you can pick it up, then you are worthy enough to use it.”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Hammer Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Straight Sword
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Str 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Str</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(Two Handed) 🎲 <strong>d6 + Str</strong> to hit. Deal <strong>Str</strong> damage.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“El Classico”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Straight Sword Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Axe
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Str 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d8 + Str</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p><strong>Throw</strong>: 🎲 <strong>d6 + Str</strong> to hit. This attack is <strong>Ranged</strong> and thus you ignore repostes from your target. You lose this weapon by using this attack.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Looks great with a flannel shirt.”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Axe Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Staff
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 2
+ </div>
+ <div class="attrib_icon attrib_br">
+ Str 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Str</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(Two Handed) 🎲 <strong>d8 + Str</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon spades_icon">
+ ♠️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(odd) <strong>Swift Attack</strong>: Refresh this card.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Says ‘Made by the Ninja Custodial Group’ on the handle”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Staff Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Curved Sword
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Prc 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon spades_icon">
+ ♠️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>(odd, recieving a reposte) <strong>Close Quarters</strong>: Deal damage equal to your reposte.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Arrrgh”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Curved Sword Weapon
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, DarkBlue 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Caestus
+ </p>
+ </div>
+ <div class="content">
+ <div class="action">
+ <p>While equipped: Unarmed Strikes deal <strong>Str</strong> additional damage.</p>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Weapon of choice for a fit bronze statue”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Weapon Equipment
+ </div>
+ </div>
+ </div>
+ <div style="background:linear-gradient(225deg, rgba(0,0,0,1) -50%, rebeccapurple 100%)" class="card">
+ <div class="group">
+ <div class="title">
+ <p>
+ Test Weapon
+ </p>
+ <div class="attrib_icon attrib_bl">
+ ⚔️ 3
+ </div>
+ <div class="attrib_icon attrib_br">
+ Prc 🛡️
+ </div>
+ </div>
+ <div class="content">
+ <div class="action">
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon spades_icon">
+ ♠️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon clubs_icon">
+ ♣️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon suit_icon diamonds_icon">
+ ♦️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon joker_icon">
+ 🃏
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="action">
+ <hr>
+ <div class="symbol_wrapper_outer">
+ <div class="symbol_wrapper_inner">
+ <span class="icon tap_icon">
+ ↪️
+ </span>
+ <span class="icon suit_icon hearts_icon">
+ ♥️
+ </span>
+ </div>
+ <div class="action_detail">
+ <p>🎲 <strong>d6 + Prc</strong> to hit.</p>
+ </div>
+ </div>
+ </div>
+ <div class="flavour_wrapper">
+ <div class="flavour">
+ <hr>
+ <p>“Arrr”</p>
+ </div>
+ </div>
+ </div>
+ <div class="card_type">
+ Curved Sword Weapon
+ </div>
+ </div>
+ </div>
+ </div>
+ <script src="./web/bundle.js">
+ </script>
+ <script>
+ function downloadAsImage() {
+ htmlToImage.toPng(document.getElementById('card_wrapper'))
+ .then(function (dataUrl) {
+ download(dataUrl, 'card_wrapper.png');
+ });
+ }
+ </script>
+</html>
diff --git a/cards/common_weapons.rb b/cards/common_weapons.rb
index 6a7d40b..3526c05 100644
--- a/cards/common_weapons.rb
+++ b/cards/common_weapons.rb
@@ -1,8 +1,8 @@
load 'card.rb'
-cards = []
+common_weapons = {}
-cards.push Card.new(
+common_weapons[:thrusting_sword] = Card.new(
title: "Thrusting Sword",
color: 'rebeccapurple',
reposte: 'Prc',
@@ -22,11 +22,11 @@ cards.push Card.new(
)
-cards.push Card.new(
- title: "Spear",
+common_weapons[:polearm] = Card.new(
+ title: "Polearm",
color: 'rebeccapurple',
reposte: 'Str',
- damage: '2',
+ damage: '3',
actions: [
Card::Action.new(
content: '🎲 **d6 + Str** to hit.',
@@ -34,17 +34,16 @@ cards.push Card.new(
),
Card::Action.new(
seperator: true,
- content: '**Reach**: When making an attack, you ignore repostes from your target.',
+ content: '**Reach**: When making an attack, you ignore repostes from your target unless they also have Reach.',
# TODO: this is the same as the bow making it superiour
#symbol: :spades,
),
],
flavour: '"Getting up close and personal while staying far away"',
- type: 'Spear Weapon'
+ type: 'Polearm Weapon'
)
-
-cards.push Card.new(
+common_weapons[:dagger] = Card.new(
title: "Dagger",
color: 'rebeccapurple',
reposte: 'Prc',
@@ -64,7 +63,7 @@ cards.push Card.new(
type: 'Dagger Weapon'
)
-cards.push Card.new(
+common_weapons[:bow] = Card.new(
title: "Bow",
color: 'rebeccapurple',
damage: '3',
@@ -83,7 +82,7 @@ cards.push Card.new(
type: 'Bow Weapon'
)
-cards.push Card.new(
+common_weapons[:crossbow] = Card.new(
title: "Crossbow",
color: 'rebeccapurple',
damage: '4',
@@ -107,7 +106,7 @@ cards.push Card.new(
type: 'Crossbow Weapon'
)
-cards.push Card.new(
+common_weapons[:hammer] = Card.new(
title: "Hammer",
reposte: 'Str',
damage: 3,
@@ -127,7 +126,7 @@ cards.push Card.new(
type: 'Hammer Weapon'
)
-cards.push Card.new(
+common_weapons[:straight_sword] = Card.new(
title: "Straight Sword",
damage: 3,
reposte: 'Str',
@@ -147,7 +146,7 @@ cards.push Card.new(
type: 'Straight Sword Weapon'
)
-cards.push Card.new(
+common_weapons[:axe] = Card.new(
title: "Axe",
damage: 3,
reposte: 'Str',
@@ -167,7 +166,7 @@ cards.push Card.new(
type: 'Axe Weapon',
)
-cards.push Card.new(
+common_weapons[:staff] = Card.new(
title: "Staff",
damage: 2,
reposte: 'Str',
@@ -192,7 +191,7 @@ cards.push Card.new(
type: 'Staff Weapon',
)
-cards.push Card.new(
+common_weapons[:curved_sword] = Card.new(
title: "Curved Sword",
damage: 3,
reposte: 'Prc',
@@ -212,7 +211,7 @@ cards.push Card.new(
type: 'Curved Sword Weapon',
)
-cards.push Card.new(
+common_weapons[:caestus] = Card.new(
title: "Caestus",
color: 'DarkBlue',
actions: [
@@ -224,4 +223,39 @@ cards.push Card.new(
type: 'Weapon Equipment'
)
-File.write('card.html', Card.build(cards))
+common_weapons[:test_weapon] = Card.new(
+ title: "Test Weapon",
+ damage: 3,
+ reposte: 'Prc',
+ actions: [
+ Card::Action.new(
+ content: '🎲 **d6 + Prc** to hit.',
+ symbol: :spades,
+ ),
+ Card::Action.new(
+ seperator: true,
+ content: '🎲 **d6 + Prc** to hit.',
+ symbol: :clubs,
+ ),
+ Card::Action.new(
+ seperator: true,
+ content: '🎲 **d6 + Prc** to hit.',
+ symbol: :diamonds,
+ ),
+ Card::Action.new(
+ seperator: true,
+ content: '🎲 **d6 + Prc** to hit.',
+ symbol: :joker,
+ ),
+ Card::Action.new(
+ seperator: true,
+ content: '🎲 **d6 + Prc** to hit.',
+ symbol: [:tap, :hearts]
+ ),
+ ],
+ color: 'rebeccapurple',
+ flavour: '"Arrr"',
+ type: 'Curved Sword Weapon',
+)
+
+File.write('common_weapons.html', Card.build(common_weapons.values))
diff --git a/cards/spells.rb b/cards/spells.rb
index 2161458..64986b2 100644
--- a/cards/spells.rb
+++ b/cards/spells.rb
@@ -1,89 +1,96 @@
load 'card.rb'
-cards = []
-
-card = Card.new
-card.title = "Wispy Flame"
-card.color = 'firebrick'
-
-card.attrib_top_right = '1'
-card.attrib_top_right_icon = '🩸'
-
-#card.attrib_top_right = '2'
-#card.attrib_top_right_icon = '🛡️'
-
-#card.attrib_bottom_right = '1'
-#card.attrib_bottom_right_icon = '🎲'
-
-#card.attrib_bottom_left = '1'
-#card.attrib_bottom_left_icon = '⚔️'
-
-card.actions.push Card::Action.new(
- content: '(**even**) Deal melee 🎲 **d4 damage**. If it is a small object set it on fire.',
- symbol: :spades,
+beginner_spells = {}
+
+beginner_spells[:wispy_flame] = Card.new(
+ title: "Wispy Flame",
+ damage: 'd4',
+ blood: 1,
+ #reposte: 'Prc',
+ actions: [
+ Card::Action.new(
+ content: '(**even**) Engulf your hand in flames for short while. You need to maintain concentration.',
+ symbol: [:clubs, :blood]
+ ),
+ Card::Action.new(
+ seperator: true,
+ content: '(**while concentrating**) Deal melee damage to a target with your flame engulfed hand. If the target is a small object set it on fire.',
+ symbol: [:tap]
+ ),
+ ],
+ color: 'firebrick',
+ flavour: '"Portable Candle"',
+ type: 'Blood Magic (Igneous)'
)
-card.flavour = '"Portable Candle"'
-card.type = 'Blood Magic'
-
-cards.push card
-
-card = Card.new
-card.title = "Summon Flesh"
-card.color = 'firebrick'
-
-card.attrib_top_right = '1'
-card.attrib_top_right_icon = '🩸'
-
-#card.attrib_top_right = '2'
-#card.attrib_top_right_icon = '🛡️'
-#card.attrib_bottom_right = '2'
-#card.attrib_bottom_right_icon = '🎲'
-#card.attrib_bottom_left = '1'
-#card.attrib_bottom_left_icon = '⚔️'
-
-card.actions.push Card::Action.new(
- content: '(**5 or less**) Heal a target within arms reach equal to the card played.',
- symbol: :hearts,
-)
-card.actions.push Card::Action.new(
- content: 'If this spell heals for more then half of the target\'s max health then they get flesh mass disease.',
- seperator: true,
+beginner_spells[:summon_flesh] = Card.new(
+ title: "Summon Flesh",
+ #damage: 3,
+ blood: 1,
+ #reposte: 'Prc',
+ actions: [
+ Card::Action.new(
+ content: '(**5 or less**) Heal a target within arms reach equal to the card played.',
+ symbol: [:hearts, :blood]
+ ),
+ Card::Action.new(
+ content: 'If this spell heals for more then half of the target\'s max health then they get flesh mass disease.',
+ seperator: true,
+ ),
+ ],
+ color: 'firebrick',
+ flavour: '"Writhing flesh mass that assimilates"',
+ type: 'Blood Magic (Eldritch)'
)
-card.flavour = '"Writhing flesh mass that assimilates"'
-card.type = 'Blood Magic'
-
-cards.push card
-
-card = Card.new
-card.title = "Slingshot"
-card.color = 'rebeccapurple'
-
-#card.attrib_top_left = '14'
-#card.attrib_top_left_icon = '🩸'
-#card.attrib_top_right = '2'
-#card.attrib_top_right_icon = '🛡️'
-
-#card.attrib_bottom_right = '2'
-#card.attrib_bottom_right_icon = '🎲'
-
-#card.attrib_bottom_left = '1'
-#card.attrib_bottom_left_icon = '⚔️'
-
-card.actions.push Card::Action.new(
- content: 'Attack with a 🎲 **d6** roll. On success deal ⚔️ **Prescision damage**.',
- symbol: :tap,
+beginner_spells[:lighting_fork] = Card.new(
+ title: "Lightning Fork",
+ damage: '2d4',
+ blood: 1,
+ #reposte: 'Prc',
+ actions: [
+ Card::Action.new(
+ content: '(**even**) Deal 1d4 damage to one target and 1d4 to another. Both targets need to be within 10 meters if you',
+ symbol: [:clubs, :blood]
+ ),
+ ],
+ color: 'firebrick',
+ flavour: '"Double the static, double the fun!"',
+ type: 'Blood Magic (Storm)'
)
-card.actions.push Card::Action.new(
- content: 'Ranged: This weapon avoids melee reposte attacks.',
- seperator: true,
+
+beginner_spells[:summon_alchemicals] = Card.new(
+ title: "Summon Alchemicals",
+ #damage: 3,
+ blood: 2,
+ #reposte: 'Prc',
+ actions: [
+ Card::Action.new(
+ content: '(**odd**) Summon a random amount of a random alchemical depending on various hidden factors.',
+ symbol: [:diamonds, :blood]
+ ),
+ ],
+ color: 'firebrick',
+ flavour: '"You arent making a bomb, are you?"',
+ type: 'Blood Magic (Eldritch)'
)
-card.flavour = '"Only a troublemaker would use this."'
-card.type = 'Weapon'
-cards.push card
+beginner_spells[:summon_alchemicals] = Card.new(
+ title: "Summon Alchemicals",
+ #damage: 3,
+ blood: 2,
+ #reposte: 'Prc',
+ actions: [
+ Card::Action.new(
+ content: '(**odd**) Summon a random amount of a random alchemical depending on various hidden factors.',
+ symbol: [:diamonds, :blood]
+ ),
+ ],
+ color: 'firebrick',
+ flavour: '"You arent making a bomb, are you?"',
+ type: 'Blood Magic (Eldritch)'
+)
-File.write('card.html', Card.build(cards))
+File.write('beginner_spells.html', Card.build(beginner_spells.values))
diff --git a/cards/weapon_example.svg b/cards/weapon_example.svg
new file mode 100644
index 0000000..ef9e910
--- /dev/null
+++ b/cards/weapon_example.svg
@@ -0,0 +1,864 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 210 297"
+ version="1.1"
+ id="svg5"
+ xml:space="preserve"
+ inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
+ sodipodi:docname="weapon_example.svg"
+ inkscape:export-filename="../src/running-the-game/weapon_example.png"
+ inkscape:export-xdpi="300"
+ inkscape:export-ydpi="300"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
+ id="namedview7"
+ pagecolor="#505050"
+ bordercolor="#eeeeee"
+ borderopacity="1"
+ inkscape:showpageshadow="0"
+ inkscape:pageopacity="0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#505050"
+ inkscape:document-units="mm"
+ showgrid="false"
+ inkscape:zoom="1.1893044"
+ inkscape:cx="339.27395"
+ inkscape:cy="581.01189"
+ inkscape:window-width="1888"
+ inkscape:window-height="1023"
+ inkscape:window-x="1615"
+ inkscape:window-y="15"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer1" /><defs
+ id="defs2"><marker
+ style="overflow:visible"
+ id="EmptyTriangleIn"
+ refX="-1"
+ refY="0"
+ orient="auto-start-reverse"
+ inkscape:stockid="EmptyTriangleIn"
+ markerWidth="5.8241119"
+ markerHeight="6.7330775"
+ viewBox="0 0 5.8241121 6.7330776"
+ inkscape:isstock="true"
+ inkscape:collect="always"
+ preserveAspectRatio="xMidYMid"
+ markerUnits="userSpaceOnUse"><path
+ style="fill:context-fill;fill-rule:evenodd;stroke:context-stroke;stroke-width:1"
+ d="M 2.885,0 -1.44,2.5 v -5 z"
+ id="path153" /></marker><marker
+ style="overflow:visible"
+ id="EmptyTriangleIn-3"
+ refX="-1"
+ refY="0"
+ orient="auto-start-reverse"
+ inkscape:stockid="EmptyTriangleIn"
+ markerWidth="5.8241119"
+ markerHeight="6.7330775"
+ viewBox="0 0 5.8241121 6.7330776"
+ inkscape:isstock="true"
+ inkscape:collect="always"
+ preserveAspectRatio="xMidYMid"><path
+ style="fill:context-fill;fill-rule:evenodd;stroke:context-stroke;stroke-width:1"
+ d="M 2.885,0 -1.44,2.5 v -5 z"
+ id="path153-6" /></marker></defs><g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"><image
+ width="65.352081"
+ height="112.97708"
+ preserveAspectRatio="none"
+ xlink:href="data:image/png;base64,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
+AYeYGF3RUUDWAAAAAElFTkSuQmCC
+"
+ id="image140"
+ x="74.788033"
+ y="84.825981"
+ inkscape:export-filename="image140.png"
+ inkscape:export-xdpi="300"
+ inkscape:export-ydpi="300" /><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn)"
+ d="m 38.387,120.38214 35.450694,4.8e-4"
+ id="path356"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn-3)"
+ d="m 176.325,120.68035 -35.45051,4.8e-4"
+ id="path356-5"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn)"
+ d="m 40.304,140.219 35.450411,-6.15349"
+ id="path5003"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn)"
+ d="m 40.304,151.98699 35.450366,-7.45373"
+ id="path5011"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn)"
+ d="m 55.709,195.06141 35.450242,4.8e-4"
+ id="path5025"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn-3)"
+ d="m 173.917,183.38984 -35.45016,4.7e-4"
+ id="path5041"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn)"
+ d="M 51.991273,84.220038 87.986371,98.69366"
+ id="path5061"
+ sodipodi:nodetypes="cc" /><g
+ id="g5365"
+ transform="translate(10.358946,-22.975272)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle5063"
+ cx="41.63229"
+ cy="107.19531"
+ r="4.5" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="40.030277"
+ y="109.46227"
+ id="text5123"><tspan
+ sodipodi:role="line"
+ id="tspan5121"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="40.030277"
+ y="109.46227">1</tspan></text></g><g
+ id="g5370"
+ transform="translate(14.999673)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4555"
+ cx="23.387327"
+ cy="120.38214"
+ r="4.5" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="21.755613"
+ y="122.78234"
+ id="text5129"><tspan
+ sodipodi:role="line"
+ id="tspan5127"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="21.755613"
+ y="122.78234">2</tspan></text></g><g
+ id="g5399"
+ transform="translate(-15.000206)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4555-3"
+ cx="-191.32486"
+ cy="120.68035"
+ r="4.5"
+ transform="scale(-1,1)" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="189.53288"
+ y="122.97598"
+ id="text5133"><tspan
+ sodipodi:role="line"
+ id="tspan5131"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="189.53288"
+ y="122.97598">3</tspan></text></g><g
+ id="g5379"
+ transform="translate(14.999673,6.1537143)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle5005"
+ cx="25.304045"
+ cy="134.06503"
+ r="4.5" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="23.466364"
+ y="136.32394"
+ id="text5236"><tspan
+ sodipodi:role="line"
+ id="tspan5234"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="23.466364"
+ y="136.32394">5</tspan></text></g><g
+ id="g5384"
+ transform="translate(14.999673)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle5013"
+ cx="25.303999"
+ cy="151.987"
+ r="4.5" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="23.550726"
+ y="154.25346"
+ id="text5240"><tspan
+ sodipodi:role="line"
+ id="tspan5238"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="23.550726"
+ y="154.25346">6</tspan></text></g><g
+ id="g5394"
+ transform="translate(-15.000206)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle5043"
+ cx="-188.91721"
+ cy="183.38985"
+ r="4.5"
+ transform="scale(-1,1)" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="187.17123"
+ y="185.70262"
+ id="text5244"><tspan
+ sodipodi:role="line"
+ id="tspan5242"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="187.17123"
+ y="185.70262">8</tspan></text></g><g
+ id="g5389"
+ transform="translate(14.999673)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle5027"
+ cx="40.708878"
+ cy="195.06142"
+ r="4.5" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="38.964081"
+ y="197.43484"
+ id="text5248"><tspan
+ sodipodi:role="line"
+ id="tspan5246"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="38.964081"
+ y="197.43484">7</tspan></text></g><path
+ style="fill:#890000;fill-opacity:1;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#EmptyTriangleIn-3)"
+ d="m 175.893,134.322 -38.90227,18.84329"
+ id="path5537"
+ sodipodi:nodetypes="cc" /><g
+ id="g5545"
+ transform="translate(-15.431836,13.641817)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle5539"
+ cx="-191.32486"
+ cy="120.68035"
+ r="4.5"
+ transform="scale(-1,1)" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="189.53288"
+ y="122.97598"
+ id="text5543"><tspan
+ sodipodi:role="line"
+ id="tspan5541"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="189.53288"
+ y="122.97598">3</tspan></text></g><g
+ id="g5553"
+ transform="translate(-15.431836,13.641817)"><circle
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#bd0000;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle5547"
+ cx="-191.32486"
+ cy="120.68035"
+ r="4.5"
+ transform="scale(-1,1)" /><text
+ xml:space="preserve"
+ style="font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+ x="189.53288"
+ y="122.97598"
+ id="text5551"><tspan
+ sodipodi:role="line"
+ id="tspan5549"
+ style="font-size:6.35px;stroke-width:0.264583"
+ x="189.53288"
+ y="122.97598">4</tspan></text></g></g></svg>
diff --git a/src/.obsidian/app.json b/src/.obsidian/app.json
index 930ef51..df8ec96 100644
--- a/src/.obsidian/app.json
+++ b/src/.obsidian/app.json
@@ -1,3 +1,6 @@
{
- "fileSortOrder": "byModifiedTime"
+ "fileSortOrder": "byModifiedTime",
+ "alwaysUpdateLinks": false,
+ "trashOption": "local",
+ "useMarkdownLinks": true
} \ No newline at end of file
diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index 8be9d04..e2373a6 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -1,4 +1,5 @@
# Summary
+
[Intro](./intro.md)
- [Build Your Character](character-builder.md)
@@ -14,14 +15,15 @@
- [Armour](armour.md)
- [Weapons](weapons.md)
-- [Spellcasting](Spellcasting.md)
-
- [Running The Game]()
- - [Combat](./combat.md)
- - [Social](social.md)
- - [Checks](checks.md)
- - [Fate Deck](fate-deck.md)
- - [Travel](travel.md)
+ - [Checks](running-the-game/checks.md)
+ - [Abilities](running-the-game/abilities.md)
+ - [Attacking](running-the-game/weapons.md)
+ - [Spellcasting](running-the-game/spellcasting.md)
+ - [Combat](running-the-game/combat.md)
+ - [Social](running-the-game/social.md)
+ - [Fate Deck](running-the-game/fate-deck.md)
+ - [Travel](running-the-game/travel.md)
- [Indices]()
- [Weapons](./weapons.md)
diff --git a/src/running-the-game/abilities.md b/src/running-the-game/abilities.md
new file mode 100644
index 0000000..08e09ad
--- /dev/null
+++ b/src/running-the-game/abilities.md
@@ -0,0 +1,32 @@
+# Abilities
+
+Abilities are represented as cards which your character can learn, equip, and/or use. Spells, weapons, and racial feats are just some of the things which are represented as ability cards. Many of these cards follow shorthand for mechanics which are common throught the game. Here they are:
+
+## Symbols
+
+### Tap
+![tap_symbol](tap_symbol.png)
+This symbol represents an ability which can be used once before requiring to be recharged. When a card is "tapped" place it sideways to signify this state. Once the card becomes [refreshed](/running-the-game/abilities.md#refresh) place it regularly. Unless otherwise stated, these cards [refresh](/running-the-game/abilities.md#refresh) at the start of your turn, or within a couple of in game seconds. If there is a set of brackets immediatly after the symbol they denotes the restrictions that must be met to use the ability.
+
+These abilities can be used in reactions on other's turns.
+
+### Suit Card Cost
+![heart_symbol](heart_symbol.png) ![spade_symbol](spade_symbol.png) ![diamond_symbol](diamond_symbol.png) ![club_symbol](club_symbol.png)
+Each of these 4 symbols represent an ability where you must play a matching card to use it. If there is a set of brackets immediatly after the symbol it denotes an additional restrictions the card played must meet. for example if the symbol is a heart followed by the word "even" in brackets then to activate the ability you must play heart card that has an even number to activate the ability.
+
+These abilities **can not** be used in reactions on other's turns unless otherwise stated.
+
+### Any Card Cost
+![joker_symbol](joker_symbol.png)
+This symbol represents an ability where you can play a card of any suit. Like the previous explanation, a set of brackets afterwards will denote any additional restrictions.
+
+These abilities **can not** be used in reactions on other's turns unless otherwise stated.
+
+### Blood Cost
+
+This symbol represents an ability where you must use a blood spellcasting tool(unless otherwise specified) and pay for the cost to cast the spell.
+
+## Key Words
+
+### Refresh
+To refresh a card means to undo its [tapped state](/running-the-game/abilities.md#tap) state into untapped. This means the card can once again be tapped. \ No newline at end of file
diff --git a/src/checks.md b/src/running-the-game/checks.md
index f8c553a..f8c553a 100644
--- a/src/checks.md
+++ b/src/running-the-game/checks.md
diff --git a/src/running-the-game/club_symbol.png b/src/running-the-game/club_symbol.png
new file mode 100644
index 0000000..8198c2c
--- /dev/null
+++ b/src/running-the-game/club_symbol.png
Binary files differ
diff --git a/src/combat.md b/src/running-the-game/combat.md
index ca026b9..ca026b9 100644
--- a/src/combat.md
+++ b/src/running-the-game/combat.md
diff --git a/src/running-the-game/diamond_symbol.png b/src/running-the-game/diamond_symbol.png
new file mode 100644
index 0000000..c75e267
--- /dev/null
+++ b/src/running-the-game/diamond_symbol.png
Binary files differ
diff --git a/src/fate-deck.md b/src/running-the-game/fate-deck.md
index c285013..c285013 100644
--- a/src/fate-deck.md
+++ b/src/running-the-game/fate-deck.md
diff --git a/src/running-the-game/heart_symbol.png b/src/running-the-game/heart_symbol.png
new file mode 100644
index 0000000..5f79390
--- /dev/null
+++ b/src/running-the-game/heart_symbol.png
Binary files differ
diff --git a/src/running-the-game/joker_symbol.png b/src/running-the-game/joker_symbol.png
new file mode 100644
index 0000000..24ec635
--- /dev/null
+++ b/src/running-the-game/joker_symbol.png
Binary files differ
diff --git a/src/social.md b/src/running-the-game/social.md
index 825234a..cb7ae20 100644
--- a/src/social.md
+++ b/src/running-the-game/social.md
@@ -1,5 +1,5 @@
# Social
-
+
Social checks take into account 3 different factors in addition to the regular ones.
## Factors
diff --git a/src/running-the-game/spade_symbol.png b/src/running-the-game/spade_symbol.png
new file mode 100644
index 0000000..a23eb9b
--- /dev/null
+++ b/src/running-the-game/spade_symbol.png
Binary files differ
diff --git a/src/running-the-game/spellcasting.md b/src/running-the-game/spellcasting.md
new file mode 100644
index 0000000..19064e5
--- /dev/null
+++ b/src/running-the-game/spellcasting.md
@@ -0,0 +1,19 @@
+# Spellcasting
+
+## Types of Spells
+
+### Blood Spells
+Blood spells are the most common and accessable type of magic. These are spells that require blood to power them.
+
+To cast a blood spell a "spell casting" medium may be needed. A given spellcasting medium will have a dice associated with it. When casting a spell this dice is rolled. If the result is greater then the blood cost of a spell then you dont pay anything. However if the number rolled is equal to or less then the value then you pay 1 blood. If the spell cost is higher then the dice of your casting medium then the medium is too weak to cast the spell. Using no casting medium is possible, instead of rolling a dice the result is always 1 and you cannot cast spells higher then this cost.
+
+### Divine Spells
+Divine spells use magic that originates from a god. The rules of these spells vary wildly and can depend on various different factors. These are forbidden in most places so if you somehow get access to one, be careful with how you use it.
+
+### Alchemy
+Alchemy is a form of magic which involves the preparation of various ingredients which form compounds that perform spell effects.
+
+## Spell Keywords
+
+### Concentration
+When you get damaged while concentrating, you need to reroll the blood die. If you fail the roll you pay the cost and your concentration ends. \ No newline at end of file
diff --git a/src/running-the-game/tap_symbol.png b/src/running-the-game/tap_symbol.png
new file mode 100644
index 0000000..0a9fd87
--- /dev/null
+++ b/src/running-the-game/tap_symbol.png
Binary files differ
diff --git a/src/travel.md b/src/running-the-game/travel.md
index e4a3efb..e4a3efb 100644
--- a/src/travel.md
+++ b/src/running-the-game/travel.md
diff --git a/src/running-the-game/weapon_example.png b/src/running-the-game/weapon_example.png
new file mode 100644
index 0000000..061a621
--- /dev/null
+++ b/src/running-the-game/weapon_example.png
Binary files differ
diff --git a/src/running-the-game/weapons.md b/src/running-the-game/weapons.md
new file mode 100644
index 0000000..d008695
--- /dev/null
+++ b/src/running-the-game/weapons.md
@@ -0,0 +1,20 @@
+# Weapons
+
+## Example
+
+![weapon](weapon_example.png)
+
+
+1. The top box which contains the name of the weapon as well as possibly a few stats.
+2. This is the damage stat. The weapon will deal this much damage in an attack(unless otherwise stated) and will deal half of this(rounded down) in a reposte.
+3. This is how much this weapon raises your defensive roll target for repostes. If it is unlisted then the weapon does not have a reposte.
+4. This is the ability box, which lists out all the active and passive abilities this weapon has seperated by a bold line. This example weapon has 2 abilities.
+5. The [symbol means you need to tap](running-the-game/abilities.md#Tap) to use this ability. The ["to hit" wording signifies it is an attack](running-the-game/weapons.md#To%20Hit)
+7. The [symbol](running-the-game/abilities.md#Suit%20Card%20Cost) in front of this ability signifies that you must play a specific card to play it. [Refresh](running-the-game/abilities.md#Refresh) is a specific keyword.
+9. This text states what type of card this is. Note that the colour of the card corresponds with the type of card. In this example the card is a Weapon, or a Dagger Weapon to be specific and the card is a purple colour.
+10. This faded text is flavour.
+
+## Key Words
+
+### To Hit
+These words are used in conjunction with a dice roll. It signifies that this ability is an attack and that this is how the attack roll is determined for it. If damage is unlisted then it is equal to the damage stat listed in the top box of the card. \ No newline at end of file
diff --git a/tap_symbol.xcf b/tap_symbol.xcf
new file mode 100644
index 0000000..5232fb1
--- /dev/null
+++ b/tap_symbol.xcf
Binary files differ