Over Arms character sheet, initial commit (#7576)

* torchbearer 2e bugfixes

* updates and bugfixes to Torchbearer 2e sheet

* adding in Over Arms character sheet, initial commit

Co-authored-by: SteveKoontz <steve@roll20.net>
This commit is contained in:
SteveKoontz
2020-10-26 14:10:34 -05:00
committed by GitHub
co-authored by SteveKoontz
parent 3465302f7f
commit 2df7aae184
4 changed files with 847 additions and 0 deletions
+429
View File
@@ -0,0 +1,429 @@
.sheet-container {
width: 832px;
position: relative;
}
.sheet-sepia {
height: 1050px;
width: 100%;
position: absolute;
z-index: -1;
background: url("https://i.imgur.com/7FGLBZw.jpg");
background-size: 100% 100%;
filter: sepia(100%) brightness(120%);
opacity: 0.8;
}
.sheet-logo {
background: url("https://i.imgur.com/ZmcT0OY.png");
background-size: 100% 100%;
height: 155px;
width: 400px;
margin-left: 15px;
}
@import url("https://fonts.googleapis.com/css?family=Architects+Daughter|Dosis|Roboto|Work+Sans:900&display=swap");
/* General Styling */
.sheet-hidden {
display: none;
}
.sheet-column {
padding-top: 25px;
display: inline-block;
vertical-align: top;
}
.sheet-left-column {
width: 450px;
}
.sheet-right-column {
width: 378px;
}
/* Tab Styling */
input[type="radio"].sheet-tab {
opacity: 0;
position: absolute;
z-index: 2;
height: 20px;
}
input[type="radio"].sheet-tab + span {
position: absolute;
border: 1px solid black;
border-radius: 5px;
background-color: #e8e8e8;
color: black;
text-align: center;
font-weight: bold;
}
input[type="radio"].sheet-tab:checked + span {
color: #ffffff;
background-color: #2a2d80;
}
input[type="radio"].sheet-tab.sheet-editing,
input[type="radio"].sheet-tab.sheet-editing + span {
top: 0px;
left: 81px;
width: 75px;
}
input[type="radio"].sheet-tab.sheet-playing,
input[type="radio"].sheet-tab.sheet-playing + span {
top: 0px;
left: 0px;
width: 75px;
}
/* Edit Mode Styling */
input[type="radio"].sheet-editing:checked ~ .sheet-column input,
input[type="radio"].sheet-editing:checked ~ .sheet-column select,
input[type="radio"].sheet-editing:checked ~ .sheet-column textarea {
background-color: rgb(255, 255, 0, 0.2);
}
input[type="radio"].sheet-playing:checked ~ .sheet-column input:not(.sheet-toggle):not(.sheet-always-active),
input[type="radio"].sheet-playing:checked ~ .sheet-column select:not(.sheet-always-active),
input[type="radio"].sheet-playing:checked ~ .sheet-column textarea:not(.sheet-always-active) {
pointer-events: none;
}
input[type="radio"].sheet-playing:checked ~ .sheet-column .repcontrol,
input[type="radio"].sheet-editing:checked ~ .sheet-column input[type="radio"]:not(.sheet-balance),
input[type="radio"].sheet-playing:checked ~ .sheet-edit,
input[type="radio"].sheet-editing:checked ~ .sheet-play,
input[type="radio"].sheet-playing:checked ~ .sheet-column .sheet-edit,
input[type="radio"].sheet-editing:checked ~ .sheet-column .sheet-play {
display: none;
}
/* RIGHT COLUMN STYLING */
.sheet-info-container {
display: block;
box-sizing: border-box;
width: calc(100% + 3px);
background: white;
background-clip: padding-box !important;
border-radius: 25px 0px 0px 25px;
border: solid 3px transparent !important;
position: relative;
margin-bottom: 10px;
padding-top: 5px;
padding-bottom: 5px;
}
.sheet-info-container:before {
content: '';
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
z-index: -1;
margin: -3px !important;
border-radius: inherit;
background: linear-gradient(to right, gold, transparent);
}
.sheet-info-container .sheet-edit,
.sheet-info-container .sheet-play {
display: inline-block;
}
.sheet-info-container.sheet-large_spacing {
margin-bottom: 20px;
}
.sheet-blue-label {
color: darkblue;
vertical-align: middle;
font-size: 20px;
margin-left: 15px;
font-family: "Dosis";
}
.sheet-handwritten {
font-family: "Architects Daughter";
vertical-align: middle;
font-size: 20px;
margin-left: 15px;
}
.sheet-gold {
display: block;
border-bottom: 2px solid gold;
width: calc(100% - 15px);
margin-left: 15px;
margin-bottom: 15px;
}
.sheet-gold .sheet-blue-label {
margin-left: 0px;
}
.sheet-gold:first-of-type {
margin-top: 10px;
}
.sheet-super-bold {
font-weight: 900;
font-size: 20px;
font-family: "Work Sans";
color: gold;
vertical-align: bottom;
margin-right: 10px;
}
.sheet-info .sheet-edit,
.sheet-info .sheet-play {
display: block;
}
.sheet-info .sheet-play,
.sheet-info input
{
margin-left: 15px;
}
textarea {
width: calc(100% - 30px);
resize: vertical;
height: 250px;
margin-left: 15px;
}
.sheet-character-name input {
width: 200px;
}
.sheet-anima-type select {
margin: 0px;
}
/* LEFT COLUMN STYLING */
.sheet-star-five {
margin: 50px 0;
position: relative;
display: block;
color: gold;
width: 0px;
height: 0px;
border-right: 100px solid transparent;
border-bottom: 70px solid gold;
border-left: 100px solid transparent;
transform: rotate(35deg);
opacity: 0.9;
}
.sheet-star-five:before {
border-bottom: 80px solid gold;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
position: absolute;
height: 0;
width: 0;
top: -45px;
left: -65px;
display: block;
content: '';
transform: rotate(-35deg);
}
.sheet-star-five:after {
position: absolute;
display: block;
color: gold;
top: 3px;
left: -105px;
width: 0px;
height: 0px;
border-right: 100px solid transparent;
border-bottom: 70px solid gold;
border-left: 100px solid transparent;
transform: rotate(-70deg);
content: '';
}
/* .sheet-star-outline > .sheet-star-five,
.sheet-star-outline > .sheet-star-five:before,
.sheet-star-outline > .sheet-star-five:after {
border-bottom-color: black;
} */
.sheet-star-outline {
position: absolute;
transform: scale(1.3) rotate(3deg);
top: 70px;
left: 120px;
}
.sheet-attribute-text {
font-size: 18px;
font-family: "Work Sans";
font-weight: 900;
color: white;
text-shadow: 2px 0 0 #000, 0 -2px 0 #000, 0 2px 0 #000, -2px 0 0 #000;
-webkit-font-smoothing: antialiased;
}
.sheet-attribute-container {
width: 70px;
position: absolute;
}
.sheet-attribute-container .sheet-edit select {
width: 52px;
}
input[type="radio"].sheet-editing:checked ~ .sheet-column .sheet-attribute-container select {
background-color: rgb(255, 255, 0, 0.8);
}
.sheet-star {
position: relative;
height: 300px;
}
.sheet-hp,
.sheet-ap
{
top: 10px;
left: 205px;
}
.sheet-int,
.sheet-rng
{
top: 107px;
left: 355px;
}
.sheet-str,
.sheet-pwr
{
top: 273px;
left: 288px;
}
.sheet-cha,
.sheet-def
{
top: 264px;
left: 95px;
}
.sheet-spd,
.sheet-dex
{
top: 93px;
left: 46px;
}
.sheet-top-star {
z-index: 2;
}
button[type="roll"] {
background: none;
border: none;
padding: 0px;
font-size: inherit;
margin: 0px;
-webkit-box-shadow: none;
box-shadow: none;
}
button[type="roll"]::before {
content: "" !important;
}
.sheet-junction-container {
border-radius: 0px 25px 25px 0px;
margin-top: 25px;
margin-left: -5px;
width: 400px;
text-align: right;
}
.sheet-junction-container:before {
background: linear-gradient(to right, transparent, gold);
}
.sheet-junction-container .sheet-blue-label {
margin-right: 15px;
}
.sheet-junction-container select {
width: 60px;
}
.sheet-junction-container button[type="roll"]::before {
content: "t" !important;
font-size: 30px;
color: darkblue;
}
/* ROLL TEMPLATE STYLING */
.sheet-rolltemplate-container {
display: block;
box-sizing: border-box;
width: calc(100% + 8px);
background: white;
background-clip: padding-box !important;
border-radius: 25px 0px 0px 25px;
border: solid 3px transparent !important;
position: relative;
margin-bottom: 10px;
padding-top: 5px;
padding-bottom: 5px;
/* z-index: 1; */
transform-style: preserve-3d;
}
.sheet-rolltemplate-container:before {
content: '';
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
/* z-index: 0; */
margin: -3px !important;
border-radius: inherit;
background: linear-gradient(to right, gold, transparent);
transform: translateZ(-1px);
}
.sheet-rolltemplate-container .sheet-attribute-text {
font-size: 18px;
font-family: "Work Sans";
font-weight: 900;
color: white;
text-shadow: 2px 0 0 #000, 0 -2px 0 #000, 0 2px 0 #000, -2px 0 0 #000;
-webkit-font-smoothing: antialiased;
margin-left: 15px;
}
.sheet-rolltemplate-container .sheet-handwritten {
font-family: "Architects Daughter";
font-size: 17px;
display: block;
margin-left: 15px;
}
.sheet-rolltemplate-container .sheet-result {
font-family: "Architects Daughter";
display: inline-block;
font-size: 25px;
}
.sheet-rolltemplate-container .sheet-result .inlinerollresult {
border: none;
background-color: transparent;
}
.sheet-rolltemplate-container .sheet-small-star {
color: gold;
margin-left: 5px;
}
+410
View File
@@ -0,0 +1,410 @@
<div class="sheet-container">
<!-- BACKGROUND PICTURE -->
<div class="sepia"></div>
<!-- NAVIGATION CONTROLS -->
<input type="radio" name="attr_edit" value="0" class="sheet-absolute sheet-tab sheet-editing" checked="checked"/>
<span>Edit Mode</span>
<input type="radio" name="attr_edit" value="1" class="sheet-absolute sheet-tab sheet-playing" />
<span>Play Mode</span>
<!-- LEFT COLUMN -->
<div class="sheet-left-column sheet-column">
<div class="sheet-top-star sheet-star">
<div class="sheet-star-outline">
<span class="sheet-star-five"></span>
</div>
<div class="sheet-attribute-container sheet-hp">
<div class="sheet-edit">
<span class="sheet-attribute-text">HP</span>
<select name="attr_hp">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<span class="sheet-attribute-text">HP</span>
<span class="sheet-attribute-text"><span name="attr_max_hp"></span></span>
<br>
<input type="number" name="attr_current_hp" min="0" />
</div>
</div>
<div class="sheet-attribute-container sheet-int">
<div class="sheet-edit">
<span class="sheet-attribute-text">INT</span>
<select name="attr_int">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="roll_int"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=INT}} {{die=D@{int}}} {{result=[[1D@{int}]]}}"
>
<span class="sheet-attribute-text">INT</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_int"></span></span>
</button>
</div>
</div>
<div class="sheet-attribute-container sheet-str">
<div class="sheet-edit">
<span class="sheet-attribute-text">STR</span>
<select name="attr_str">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="roll_str"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=STR}} {{die=D@{str}}} {{result=[[1D@{str}]]}}"
>
<span class="sheet-attribute-text">STR</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_str"></span></span>
</button>
</div>
</div>
<div class="sheet-attribute-container sheet-cha">
<div class="sheet-edit">
<span class="sheet-attribute-text">CHA</span>
<select name="attr_cha">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="roll_cha"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=CHA}} {{die=D@{cha}}} {{result=[[1D@{cha}]]}}"
>
<span class="sheet-attribute-text">CHA</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_cha"></span></span>
</button>
</div>
</div>
<div class="sheet-attribute-container sheet-dex">
<div class="sheet-edit">
<span class="sheet-attribute-text">DEX</span>
<select name="attr_dex">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="roll_dex"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=DEX}} {{die=D@{dex}}} {{result=[[1D@{dex}]]}}"
>
<span class="sheet-attribute-text">DEX</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_dex"></span></span>
</button>
</div>
</div>
</div>
<div class="sheet-bottom-star sheet-star">
<div class="sheet-star-outline">
<span class="sheet-star-five"></span>
</div>
<div class="sheet-attribute-container sheet-ap">
<div class="sheet-edit">
<span class="sheet-attribute-text">AP</span>
<select name="attr_ap">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<span class="sheet-attribute-text">AP</span>
<span class="sheet-attribute-text"><span name="attr_max_ap"></span></span>
<br>
<input type="number" name="attr_current_ap" min="0" />
</div>
</div>
<div class="sheet-attribute-container sheet-rng">
<div class="sheet-edit">
<span class="sheet-attribute-text">RNG</span>
<select name="attr_rng">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="roll_rng"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=RNG}} {{die=D@{rng}}} {{result=[[1D@{rng}]]}}"
>
<span class="sheet-attribute-text">RNG</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_rng"></span></span>
</button>
</div>
</div>
<div class="sheet-attribute-container sheet-pwr">
<div class="sheet-edit">
<span class="sheet-attribute-text">PWR</span>
<select name="attr_pwr">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="pwr"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=PWR}} {{die=D@{pwr}}} {{result=[[1D@{pwr}]]}}"
>
<span class="sheet-attribute-text">PWR</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_pwr"></span></span>
</button>
</div>
</div>
<div class="sheet-attribute-container sheet-def">
<div class="sheet-edit">
<span class="sheet-attribute-text">DEF</span>
<select name="attr_def">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="def"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=DEF}} {{die=D@{def}}} {{result=[[1D@{def}]]}}"
>
<span class="sheet-attribute-text">DEF</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_def"></span></span>
</button>
</div>
</div>
<div class="sheet-attribute-container sheet-spd">
<div class="sheet-edit">
<span class="sheet-attribute-text">SPD</span>
<select name="attr_spd">
<option value="4">D4</option><option value="6">D6</option><option value="8">D8</option><option value="10">D10</option><option value="12">D12</option>
</select>
</div>
<div class="sheet-play">
<button
type="roll"
class="sheet-attribute-button"
name="spd"
value="&{template:standard} {{charname=@{character_name}}} {{attribute=SPD}} {{die=D@{spd}}} {{result=[[1D@{spd}]]}}"
>
<span class="sheet-attribute-text">SPD</span>
<br>
<span class="sheet-attribute-text">D<span name="attr_spd"></span></span>
</button>
</div>
</div>
</div>
<div class="sheet-info-container sheet-junction-container">
<span class="sheet-blue-label">JUNCTION</span>
<div class="sheet-junction">
<select name="attr_junction_part_1" class="sheet-always-active">
<option value="int">INT</option>
<option value="str">STR</option>
<option value="cha">CHA</option>
<option value="dex">DEX</option>
</select>
<span class="sheet-blue-label">+</span>
<select name="attr_junction_part_2" class="sheet-always-active">
<option value="rng">RNG</option>
<option value="pwr">PWR</option>
<option value="def">DEF</option>
<option value="spd">SPD</option>
</select>
<button
type="roll"
class="sheet-junction-roll"
value="@{junction}"
>
</button>
</div>
</div>
<div class="sheet-logo"></div>
</div>
<!-- RIGHT COLUMN -->
<div class="sheet-right-column sheet-column">
<div class="sheet-character-info">
<div class="sheet-info-container sheet-level">
<span class="sheet-blue-label">LEVEL</span>
<div class="sheet-edit">
<input type="number" name="attr_level" min="0" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_level"></span>
</div>
</div>
<div class="sheet-info-container sheet-character-name">
<span class="sheet-blue-label">CHARACTER NAME</span>
<div class="sheet-edit">
<input type="text" name="attr_character_name" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_character_name"></span>
</div>
</div>
<div class="sheet-info-container sheet-anima-name">
<span class="sheet-blue-label">ANIMA NAME</span>
<div class="sheet-edit">
<input type="text" name="attr_anima_name" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_anima_name"></span>
</div>
</div>
<div class="sheet-info-container sheet-anima-type sheet-large_spacing">
<span class="sheet-blue-label">ANIMA TYPE</span>
<div class="sheet-edit">
<select name="attr_anima_type">
<option value="Fighter">Fighter</option>
<option value="Magician">Magician</option>
<option value="Guardian">Guardian</option>
<option value="Assassin">Assassin</option>
</select>
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_anima_type"></span>
</div>
</div>
</div>
<div class="sheet-abilities sheet-info-container sheet-large_spacing">
<span class="sheet-blue-label">ABILITIES</span>
<div class="sheet-gold">
<span class="sheet-super-bold">1</span>
<div class="sheet-edit">
<input type="text" name="attr_ability_1" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_ability_1"></span>
</div>
</div>
<div class="sheet-gold">
<span class="sheet-super-bold">2</span>
<div class="sheet-edit">
<input type="text" name="attr_ability_2" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_ability_2"></span>
</div>
</div>
<div class="sheet-gold">
<span class="sheet-super-bold">3</span>
<div class="sheet-edit">
<input type="text" name="attr_ability_3" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_ability_3"></span>
</div>
</div>
</div>
<div class="sheet-moral sheet-info-container sheet-large_spacing">
<div class="sheet-row sheet-gold">
<span class="sheet-blue-label">VIRTUE</span>
<div class="sheet-edit">
<input type="text" name="attr_virtue" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_virtue"></span>
</div>
</div>
<div class="sheet-row sheet-gold">
<span class="sheet-blue-label">VICE</span>
<div class="sheet-edit">
<input type="text" name="attr_vice" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_vice"></span>
</div>
</div>
<div class="sheet-row sheet-gold">
<span class="sheet-blue-label">DRIVE</span>
<div class="sheet-edit">
<input type="text" name="attr_drive" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_drive"></span>
</div>
</div>
</div>
<div class="sheet-info sheet-info-container">
<span class="sheet-blue-label">BIO + APPEARANCE + INVENTORY</span>
<div class="sheet-edit">
<textarea class="sheet-bio-text" name="attr_bio"></textarea>
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_bio"></span>
</div>
<span class="sheet-blue-label">STATUS + MONEY</span>
<div class="sheet-edit">
<input type="text" name="attr_status" />
</div>
<div class="sheet-play">
<span class="sheet-handwritten" name="attr_status"></span>
</div>
</div>
</div>
</div>
<input type="hidden" name="attr_junction" value="&{template:junction} {{charname=@{character_name}}} {{attribute1=INT}} {{attribute2=RNG}} {{die1=D@{int}}} {{die2=D@{rng}}} {{result=[[1D@{int}+1D@{rng}]]}}">
<!-- ROLL TEMPLATE -->
<rolltemplate class="sheet-rolltemplate-standard">
<div class="sheet-rolltemplate-container">
<span class="sheet-attribute-text">{{attribute}} {{die}}</span>
<span class="sheet-small-star">★</span>
<div class="sheet-result">{{result}}</div>
<span class="sheet-handwritten">{{charname}}</span>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-junction">
<div class="sheet-rolltemplate-container">
<span class="sheet-attribute-text">{{attribute1}} {{die1}} + {{attribute2}} {{die2}}</span>
<span class="sheet-small-star">★</span>
<div class="sheet-result">{{result}}</div>
<span class="sheet-handwritten">{{charname}}</span>
</div>
</rolltemplate>
<!-- SHEET WORKER SCRIPTS -->
<script type="text/worker">
on("change:hp change:ap", eventinfo => {
getAttrs(["hp", "ap"], v => {
const update = {};
const value = eventinfo.newValue * 2;
if(eventinfo.triggerName === "hp") {
update.max_hp = value;
update.current_hp = value;
}
if(eventinfo.triggerName === "ap") {
update.max_ap = value;
update.current_ap = value;
}
setAttrs(update, {silent: true});
})
});
on("change:junction_part_1 change:junction_part_2", eventinfo => {
getAttrs(["junction_part_1", "junction_part_2", "int", "str", "cha", "dex", "rng", "pwr", "def", "spd"], v => {
const update = {};
const attr1 = v.junction_part_1.toUpperCase();
const attr2 = v.junction_part_2.toUpperCase();
const die1 = v[v.junction_part_1];
const die2 = v[v.junction_part_2];
update.junction = "&{template:junction} {{charname=@{character_name}}} {{attribute1=" + attr1 + "}} {{attribute2=" + attr2 + "}} {{die1=D" + die1 + "}} {{die2=D" + die2 + "}} {{result=[[1D" + die1 + "+1D" + die2 + "]]}}";
setAttrs(update, {silent: true});
});
});
</script>
Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

+8
View File
@@ -0,0 +1,8 @@
{
"html": "overarms.html",
"css": "overarms.css",
"authors": "Steve K.",
"roll20userid": "5047",
"preview": "overarms.jpg",
"instructions": "Over Arms by Rookie Jet Studios. Over Arms is a rules-light Tabletop Role Playing Game designed for people familiar with series like JoJo’s Bizarre Adventure, Persona, Fate, Shaman King, etc. This game aims to recreate the themes, mechanics, and powers as seen in these kind of media."
}