[Ambition & Avarice 1E] New sheet (#5616)

* Ambitions & Avarice: img + sheet.json upload

* Ambitions & Avarice: v.0.5 html + css

* Ambitions & Avarice: v.0.6 main buttons added, preview img

* Ambitions & Avarice: v.0.8 more buttons, NPC started, minor visula fixes

* Ambitions & Avarice: v.0.9 button adjustments, minor fixes

* Ambitions & Avarice: v.1.0; button styling, last fixes for publishing

* Ambition & Avarice: v1.00 fix minor layout bug for chrome
This commit is contained in:
Andreas J
2019-10-28 14:04:03 -05:00
committed by Cassie Levett
parent fa919ad106
commit 8adfa0220c
10 changed files with 1218 additions and 0 deletions
+566
View File
@@ -0,0 +1,566 @@
/*------------------------------------------------*\
#GENERAL
\*------------------------------------------------*/
/* --------- Text ------------- */
span{
/*overflow: hidden;*/
}
span.sheet-bold{
font-weight: 800;
font-size: medium;
}
label {
margin: 5px 0px 5px 0px;
width: 70px;
text-transform: capitalize;
font-size: 1.1em;
/*overflow: hidden;*/
}
label.sheet-title{
width: 130px;
font-size: 1.3em;
text-align: center;
}
.sheet-short{
width: 50px;
}
/* --------- Inputs ------------- */
input[type="text"] {
background-color: transparent;
border-style: none none solid none;
border-width: 2px;
border-radius: 0px;
border-color: black;
padding: 0px 4px;
margin: 0px 4px;
width: auto;
}
input[type="number"]{
background-color: transparent;
border-style: none none solid none;
border-width: 2px;
border-radius: 0px;
border-color: black;
text-align: center;
width: 40px;
}
textarea {
background-color: transparent;
background-image:
linear-gradient(to right, transparent 5px, transparent 5px),
linear-gradient(to left, transparent 5px, transparent 5px),
repeating-linear-gradient(transparent, transparent 20px, #030303 20px, #000 22px, transparent 21px);
line-height: 21px;
padding: 3px 10px;
border-style: none;
width: 80%;
height: 90%;
margin-bottom: 0px;
}
input[type="checkbox"].sheet-checkbox {
border-style: solid black;
border-radius: 0px;
}
/* highlights empty fields with light gray */
textarea:placeholder-shown,
input[type="text"]:placeholder-shown,
input[type="number"]:placeholder-shown{
background-color: #EAC9D1;
}
/* higlight selected input */
textarea:focus,
input[type="text"]:focus,
input[type="number"]:focus{
background-color: #9E9698;
}
/* -----Hides up/down buttons on numberfields that don't need them ---*/
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button,
input[type=number].sheet-txtfield::-webkit-inner-spin-button,
input[type=number].sheet-txtfield::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
input[type=number],
input[type=number].sheet-txtfield {
-moz-appearance: textfield;
}
/* dice images */
div.sheet-d20{
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/d20.png);
background-size: 30px 30px;
background-repeat: no-repeat;
width: 30px;
height: 30px;
}
div.sheet-d6{
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/d6.png);
background-size: 30px 30px;
background-repeat: no-repeat;
width: 30px;
height: 30px;
}
/* ------- Buttons ---------- */
button[type="roll"].sheet-d20:before,
button[type="roll"].sheet-d6:before{
content: ' ';
}
button[type="roll"].sheet-d20:hover,
button[type="roll"].sheet-d6:hover{
background-position: 0;
}
button[type="roll"].sheet-d20{
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/d20.png);
background-size: 26px 26px;
background-repeat: no-repeat;
width: 26px;
height: 26px;
border-style: none;
background-color: transparent;
margin-left: 5px;
}
button[type="roll"].sheet-d6{
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/d6.png);
background-size: 26px 26px;
background-repeat: no-repeat;
width: 26px;
height: 26px;
border-style: none;
background-color: transparent;
margin-left: 5px;
}
/*
button[type="roll"].sheet-d6:before{
font-family: 'dicefontd6';
content: 'f';
}*/
button[type="roll"].sheet-d10:before{
font-family: 'dicefontd10';
content: 'j ';
}
button[type="roll"].sheet-empty:before{
content: ' ';
}
/*-----------------------------------------------------------------*\
#SECTIONS
\*-----------------------------------------------------------------*/
/* --------- General Section Styling ------------- */
.sheet-section {
display: flex;
padding: 5px;
min-height: 90%;
}
.sheet-columnflex {
display: flex;
flex-direction: column;
}
.sheet-rowflex {
display: flex;
flex-direction: row;
}
.sheet-wrap {
flex-wrap: wrap;
}
.sheet-nowrap {
flex-wrap: nowrap;
}
.sheet-center {
align-items: center;
}
.sheet-middle {
justify-content: center;
}
.sheet-spaced {
justify-content: space-evenly;
}
.sheet-note{
margin-top: 5px;
}
/* ------------ Tabs ---------- */
input.sheet-tab1:checked ~ div.sheet-tab1,
input.sheet-tab2:checked ~ div.sheet-tab2,
input.sheet-tab3:checked ~ div.sheet-tab3
{
display: grid;
}
/* styles tab button */
input.sheet-tab
{
width: 150px;
height: 22px;
position: relative;
top: -26px;
left: 80px;
margin: 5px 0px 5px 0px;
padding: 0px;
cursor: pointer;
z-index: 1;
opacity: 0;
}
input.sheet-tab + span::before
{
content: attr(title);
width: 150px;
height: 22px;
position: absolute;
top: 50px;
left: 110px;
border: solid 2px grey;
border-radius: 13px;
padding-bottom: 2px;
text-align: center;
font-size: 18px;
display: inline-block;
background: white;
}
input.sheet-tab:checked + span::before
{
background: #e5e5e5;
}
input.sheet-tab2 + span::before
{
left: 263px;
}
input.sheet-tab3 + span::before
{
left: 415px;
}
/* ------------ PAGES ---------- */
div.sheet-pg1 {
display: grid;
grid-gap: 1px;
grid-template-columns: 7fr 2fr 8fr 12fr 4fr 12fr;
grid-template-rows: 4fr 8fr 8fr 5fr 3fr 5fr;
grid-template-areas:"name name name name logo logo "
"attrs attrs hp-ac hp-ac hp-ac hp-ac"
"saving dungeon dungeon sixes sixes profs"
"k-spells k-spells k-spells class class lang " /* k-spells = known spells */
"spells-d spells-d spells-d speed speed speed" /* spells-d = spells per day */
"spells-m spells-m spells-m misc exp exp "; /* spells-m = spells memorized */
width: 750px;
height: 1000px;
position: relative;
top:-20px;
}
div.sheet-pg2 {
display: grid;
grid-gap: 1px;
grid-template-columns: 1fr 1fr;
grid-template-rows: 80px auto;
grid-template-areas:"coin companions"
"equip companions";
width: 750px;
height: 1000px;
position: relative;
top:-20px;
}
div.sheet-pg3 {
display: grid;
grid-gap: 1px;
grid-template-columns: 2fr 1fr 2fr;
grid-template-rows: 45px auto;
grid-template-areas:"npc-main npc-main npc-main"
"npc-attrs npc-buttons notes ";
width: 600px;
height: 700px;
position: relative;
top:-20px;
}
div.sheet-tab-content { display: none; }
/* ------------ Section Specific ---------- */
/* ------- page 1 ------------ */
/* NAME SECTION */
div.sheet-name{
grid-area: name;
}
div.sheet-name div{
margin: 3px 5px;
}
div.sheet-name input{
width: 150px;
}
div.sheet-name .sheet-short{
width: 60px;
padding-right: 0px;
}
/* LOGO SECTION */
div.sheet-logo{
grid-area: logo;
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/logo.png);
background-size: 230px 123px;
background-repeat: no-repeat;
}
/* ATTRS SECTION */
div.sheet-attrs{
grid-area: attrs;
}
div.sheet-attrs span:not(.sheet-info),
div.sheet-npc-attrs span:not(.sheet-info){
width: 25px;
margin-top: 4px;
border-style: none none solid none;
margin-bottom: 4px;
border-width: 2px;
text-align: center;
}
div.sheet-attrs input[type="number"],
div.sheet-npc-attrs input[type="number"],
div.sheet-saving input[type="number"],
div.sheet-dungeon input[type="number"]{
width:30px;
padding: 0px 0px;
margin: 4px 4px;
}
div.sheet-attrs span.sheet-note{
width: 100px;
}
/* HP AC SECTION */
div.sheet-hp-ac{
grid-area: hp-ac;
}
div.sheet-hp-ac div.sheet-hp{
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/hp.png);
background-size: 220px 110px;
background-repeat: no-repeat;
width: 220px;
height: 110px;
}
div.sheet-hp-ac div.sheet-to-hit{
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/to-hit.png);
background-size: 100px 110px;
background-repeat: no-repeat;
width: 100px;
height:110px;
}
div.sheet-hp-ac div.sheet-ac{
background-image: url(https://raw.githubusercontent.com/Anduh/roll20-character-sheets/ambition_avarice/Ambition_Avarice/images/ac.png);
background-size: 100px 110px;
background-repeat: no-repeat;
width: 100px;
height: 110px;
}
div.sheet-hp-ac div.sheet-infra{
margin-top: 15px;
}
div.sheet-hp-ac div.sheet-spaced label{
width: 65px;
text-align: end;
}
div.sheet-hp-ac div.sheet-die input[type="text"]{
width: 40px;
}
div.sheet-hp-ac div.sheet-to-hit label.sheet-title{
width: 110px;
padding-right: 0px;
}
div.sheet-hp-ac div.sheet-ac label.sheet-title{
width: 100px;
padding-right: 0px;
}
/* hp-ac buttons */
div.sheet-hp-ac .sheet-buttons label{
text-align: center;
}
div.sheet-hp-ac .sheet-buttons input[type="number"]{
width: 30px;
}
div.sheet-hp-ac .sheet-npc-buttons button[type="roll"]{
margin-top: 4px;
}
/* saving throws */
div.sheet-saving{
grid-area: saving;
}
div.sheet-dungeon{
grid-area: dungeon;
}
div.sheet-dungeon label.sheet-title{
text-align: start;
}
div.sheet-dungeon label.sheet-title,
div.sheet-sixes label.sheet-title{
width: 150px;
}
div.sheet-sixes{
grid-area: sixes;
}
div.sheet-sixes textarea{
width: 220px;
}
/* proficiencies */
div.sheet-profs{
grid-area: profs;
}
/* known spells */
div.sheet-k-spells{
grid-area: k-spells;
}
div.sheet-class{
grid-area: class;
}
div.sheet-class input{
width: 150px;
}
div.sheet-lang{
grid-area: lang;
}
div.sheet-lang textarea{
width: 160px;
}
/* spells per day*/
div.sheet-spells-d{
grid-area: spells-d;
}
div.sheet-spells-d label:not(.sheet-title){
width: 40px;
text-align: center;
}
div.sheet-speed{
grid-area: speed;
align-items: flex-end;
}
div.sheet-speed label{
margin: 5px 2px;
}
div.sheet-speed .sheet-title,
div.sheet-spells-d .sheet-title{
width: 200px;
}
div.sheet-speed .sheet-title{
margin-right: 55px;
}
/* spells memorized */
div.sheet-spells-m{
grid-area: spells-m;
}
div.sheet-misc{
grid-area: misc;
}
div.sheet-exp{
grid-area: exp;
}
div.sheet-spells-m .sheet-title,
div.sheet-exp .sheet-title{
width: 160px;
}
div.sheet-exp label:not(.sheet-title){
width: 110px;
}
/* ------- page 2 equipment ------------ */
div.sheet-coin{
grid-area: coin;
}
div.sheet-coin label{
text-align: center;
margin: 1px;
}
div.sheet-equip{
grid-area: equip;
}
div.sheet-companions{
grid-area: companions;
}
div.sheet-companions input{
margin-bottom: 4px;
}
/* ------- page 3 NPC ------------ */
div.sheet-npc-main{
grid-area: npc-main;
}
div.sheet-npc-main label{
text-align: center;
}
div.sheet-npc-buttons{
grid-area: npc-buttons;
margin-top: 10px;
}
div.sheet-npc-buttons button[type="roll"]{
margin-top: 5px;
}
div.sheet-notes{
grid-area: notes;
}
+644
View File
@@ -0,0 +1,644 @@
<input type="radio" name="attr_tab" class="tab tab1" value="1" checked="checked"><span title="Main"></span>
<input type="radio" name="attr_tab" class="tab tab2" value="2" ><span title="Equipment"></span>
<input type="radio" name="attr_tab" class="tab tab3" value="3" ><span title="NPC"></span>
<!-- --------------------------------------------------------------------------------- -->
<!-- --------------------------- PAGE 1 ---------------------------------------------- -->
<!-- --------------------------------------------------------------------------------- -->
<div class="tab-content tab1 pg1">
<!-- NAME SECTION -->
<div class="name section columnflex wrap">
<div class="rowflex nowrap">
<label>Player: </label>
<input name="attr_player" type="text" placeholder="Player name">
</div>
<div class="rowflex nowrap">
<label>Character: </label>
<input name="attr_character_name" type="text" placeholder="character name">
</div>
<div class="rowflex nowrap">
<label>Campaign: </label>
<input name="attr_campaign" type="text" placeholder="campaign name">
</div>
<div class="rowflex nowrap">
<label class="short">Race: </label>
<input name="attr_race" type="text" placeholder="human">
</div>
<div class="rowflex nowrap">
<label class="short">Class: </label>
<input name="attr_class" type="text" placeholder="class">
</div>
<div class="rowflex nowrap">
<label class="short">Gender: </label>
<input name="attr_gender" type="text" placeholder="gender">
</div>
</div>
<!-- LOGO SECTION -->
<div class="logo section"></div>
<!-- ATTRIBUTES SECTION -->
<div class="attrs section columnflex nowrap center">
<label class="title">attributes</label>
<div class="rowflex nowrap">
<label>Strength</label>
<input name="attr_str" type="number" value="" placeholder="10">
<span name="attr_str_mod"></span>
<button name="roll_str" type="roll" value="&{template:default} {{name= **Strength** (Test)}} {{Roll= [[1d20+(@{str_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Dexterity</label>
<input name="attr_dex" type="number" value="" placeholder="10">
<span name="attr_dex_mod"></span>
<button name="roll_dex" type="roll" value="&{template:default} {{name= **Dexterity** (Test)}} {{Roll= [[1d20+(@{dex_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Constitution</label>
<input name="attr_con" type="number" value="" placeholder="10">
<span name="attr_con_mod"></span>
<button name="roll_con" type="roll" value="&{template:default} {{name= **Constitution** (Test)}} {{Roll= [[1d20+(@{con_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Intelligence</label>
<input name="attr_int" type="number" value="" placeholder="10">
<span name="attr_int_mod"></span>
<button name="roll_int" type="roll" value="&{template:default} {{name= **Intelligence** (Test)}} {{Roll= [[1d20+(@{int_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Wisdom</label>
<input name="attr_wis" type="number" value="" placeholder="10">
<span name="attr_wis_mod"></span>
<button name="roll_wis" type="roll" value="&{template:default} {{name= **Wisdom** (Test)}} {{Roll= [[1d20+(@{wis_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Charisma</label>
<input name="attr_cha" type="number" value="" placeholder="10">
<span name="attr_cha_mod"></span>
<button name="roll_cha" type="roll" value="&{template:default} {{name= **Charisma** (Test)}} {{Roll= [[1d20+(@{cha_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
</div>
<!-- HP-AC SECTION -->
<div class="hp-ac section rowflex nowrap">
<div class="columnflex nowrap center">
<label class="title">Hit Points</label>
<div class="hp rowflex nowrap center middle">
<div>
<input name="attr_hp" type="number" value="" placeholder="10" style="margin-right: 30px;">
</div>
<div>
<input name="attr_hp_max" type="number" value="" placeholder="10">
</div>
</div>
<div class="columnflex nowrap spaced die">
<div class="rowflex nowrap">
<label style="width:55px;">Hit Die:</label>
<div>
<input name="attr_hit_die" type="text" placeholder="d10">
</div>
</div>
<div class="rowflex nowrap">
<button name="roll_rest" type="roll" value=" &{template:default} {{name=**Rest**}} {{You recover [[1d@{rest}]] hp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}" class="empty">Rest Roll</button>
<input name="attr_rest" type="number" style="width:30px;" value="" placeholder="6">
</div>
</div>
</div>
<div class="columnflex nowrap center">
<label class="title" style="width:110px;padding-right: 0px;">To Hit Bonus</label>
<div class="to-hit columnflex center middle">
<div>
<input name="attr_to_hit" type="number" value="" placeholder="1" style="width:35px;">
</div>
</div>
<button name="roll_melee" type="roll" value=" &{template:default} {{name=**Attack(Melee/Thrown)**}} {{Attack=[[d20+(@{str_mod}[STR MOD]+@{to_hit}[TO HIT BONUS])]]}}" style="margin-bottom:5px;">Melee</button>
<button name="roll_ranged" type="roll" value=" &{template:default} {{name=**Attack(Ranged)**}} {{Attack=[[d20+(@{dex_mod}[DEX MOD]+@{to_hit}[TO HIT BONUS])]]}}">Ranged</button>
</div>
<div class="columnflex nowrap center">
<label class="title" style="width: 100px;">Armor Class</label>
<div class="ac columnflex center middle">
<div>
<input name="attr_ac" type="number" value="" placeholder="10">
</div>
</div>
<div class="infra rowflex nowrap center">
<label>infravision</label>
<input name="attr_infravision" type="checkbox" value="">
</div>
</div>
<div class="columnflex nowrap center buttons">
<label class="title" style="width: 50px;">Init</label>
<input name="attr_init_race" type="number" value="0" class="short">
<button name="roll_init" type="roll" value=" &{template:default} {{name=**Initiative**}} {{Roll=[[d10+(@{wis_mod}[WIS MOD])+(@{init_race}[INIT BONUS])]]}} &{tracker}" class="d10">Init</button>
<button name="roll_suprise" type="roll" value=" &{template:default} {{name=**Suprise**}} {{Roll=[[d10+(@{wis_mod}[WIS MOD])]]}}" class="d10">Suprise</button>
</div>
</div>
<!-- SAVING THROWS -->
<div class="saving section columnflex nowrap center">
<label class="title">Saving Throws</label>
<div class="rowflex nowrap">
<label>blast</label>
<input name="attr_blast" type="number" value="" placeholder="0">
<button name="roll_blast" type="roll" value="&{template:default} {{name=**Blast** (Saving Throw)}} {{You attempt: [[1d20>@{blast}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>death</label>
<input name="attr_death" type="number" value="" placeholder="0">
<button name="roll_death" type="roll" value="&{template:default} {{name=**Death** (Saving Throw)}} {{You attempt: [[1d20>@{death}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>paralysis</label>
<input name="attr_paralysis" type="number" value="" placeholder="0">
<button name="roll_paralysis" type="roll" value="&{template:default} {{name=**Paralysis** (Saving Throw)}} {{You attempt: [[1d20>@{paralysis}]]}} " class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>poison</label>
<input name="attr_poison" type="number" value="" placeholder="0">
<button name="roll_poison" type="roll" value="&{template:default} {{name=**Poison** (Saving Throw)}} {{You attempt: [[1d20>@{poison}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>reflex</label>
<input name="attr_reflex" type="number" value="" placeholder="0">
<button name="roll_reflex" type="roll" value="&{template:default} {{name=**Reflex** (Saving Throw)}} {{You attempt: [[1d20>@{reflex}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>spells</label>
<input name="attr_spells" type="number" value="" placeholder="0">
<button name="roll_spells" type="roll" value="&{template:default} {{name=**Spells** (Saving Throw)}} {{You attempt: [[1d20>@{spells}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="note rowflex nowrap">
<div class="d20"></div>
<span>equal or greater</span>
</div>
</div>
<!-- DUNGEON THROWS -->
<div class="dungeon section columnflex nowrap">
<label class="title">Dungeon Throws</label>
<div class="rowflex nowrap">
<label class="short">climb</label>
<input name="attr_climb" type="number" value="" placeholder="0">
<button name="roll_climb" type="roll" value=" &{template:default} {{name=**Climb** (Dungeon Throw)}} {{You attempt: [[1d20>@{climb}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label class="short">force</label>
<input name="attr_force" type="number" value="" placeholder="0">
<button name="roll_force" type="roll" value=" &{template:default} {{name=**Force** (Dungeon Throw)}} {{You attempt: [[1d20>@{force}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label class="short">locks</label>
<input name="attr_locks" type="number" value="" placeholder="0">
<button name="roll_locks" type="roll" value=" &{template:default} {{name=**Locks** (Dungeon Throw)}} {{You attempt: [[1d20>@{locks}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label class="short">notice</label>
<input name="attr_notice" type="number" value="" placeholder="0">
<button name="roll_notice" type="roll" value=" &{template:default} {{name=**Notice** (Dungeon Throw)}} {{You attempt: [[1d20>(@{notice})]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label class="short">sneak</label>
<input name="attr_sneak" type="number" value="" placeholder="0">
<button name="roll_sneak" type="roll" value=" &{template:default} {{name=**Sneak** (Dungeon Throw)}} {{You attempt: [[1d20>@{sneak}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label class="short">traps</label>
<input name="attr_traps" type="number" value="" placeholder="0">
<button name="roll_traps" type="roll" value=" &{template:default} {{name=**Traps** (Dungeon Throw)}} {{You attempt: [[1d20>@{traps}]]}} {{( 1 is success, 0 is failure) }}" class="d20"></button>
</div>
</div>
<!-- IN SIX -->
<div class="sixes section columnflex nowrap center">
<label class="title">In Sixes Chances</label>
<div class="rowflex nowrap spaced">
<input name="attr_sixes1_name" type="text" style="width:60px;" placeholder="Name">
<input name="attr_sixes1_info" type="text" style="width:120px;" placeholder="info">
<input name="attr_sixes1" type="number" value="2" style="width: 25px;">
<button name="roll_sixes1" type="roll" value="&{template:default} {{name=**@{sixes1_name}** (In Sixes)}} {{You attempt: [[1d6cs0cf0>@{sixes1}]] }} {{( 1 is success, 0 is failure) }}" class="d6"></button>
</div>
<div class="rowflex nowrap spaced">
<input name="attr_sixes2_name" type="text" style="width:60px;" placeholder="Name">
<input name="attr_sixes2_info" type="text" style="width:120px;" placeholder="info">
<input name="attr_sixes2" type="number" value="2" style="width: 25px;">
<button name="roll_sixes2" type="roll" value="&{template:default} {{name=**@{sixes2_name}** (In Sixes)}} {{You attempt: [[1d6cs0cf0>@{sixes2}]] }} {{( 1 is success, 0 is failure) }}" class="d6"></button>
</div>
<div class="rowflex nowrap spaced">
<input name="attr_sixes3_name" type="text" style="width:60px;" placeholder="Name">
<input name="attr_sixes3_info" type="text" style="width:120px;" placeholder="info">
<input name="attr_sixes3" type="number" value="2" style="width: 25px;">
<button name="roll_sixes3" type="roll" value="&{template:default} {{name=**@{sixes3_name}** (In Sixes)}} {{You attempt: [[1d6cs0cf0>@{sixes3}]] }} {{( 1 is success, 0 is failure) }}" class="d6"></button>
</div>
<div class="rowflex nowrap spaced">
<input name="attr_sixes4_name" type="text" style="width:60px;" placeholder="Name">
<input name="attr_sixes4_info" type="text" style="width:120px;" placeholder="info">
<input name="attr_sixes4" type="number" value="2" style="width: 25px;">
<button name="roll_sixes4" type="roll" value="&{template:default} {{name=**@{sixes4_name}** (In Sixes)}} {{You attempt: [[1d6cs0cf0>@{sixes4}]] }} {{( 1 is success, 0 is failure) }}" class="d6"></button>
</div>
<div class="note rowflex nowrap">
<div class="d6"></div>
<span>equal or lower</span>
</div>
</div>
<!-- PROFICIENCIES -->
<div class="profs section columnflex nowrap center">
<label class="title">proficiencies</label>
<textarea name="attr_proficiencies" placeholder="proficiencies"></textarea>
</div>
<!-- KNOWN SPELLS -->
<div class="k-spells section columnflex nowrap center">
<label class="title">Spells Known</label>
<textarea name="attr_known_spells" placeholder="Magic Missile"></textarea>
</div>
<!-- CLASS FEATURES -->
<div class="class section columnflex nowrap center">
<label class="title">Class Features</label>
<div class="rowflex nowrap">
<label>Expertise:</label>
<input name="attr_expertise" type="text" placeholder="expertise">
</div>
<div class="rowflex nowrap">
<label>Identify:</label>
<input name="attr_identify" type="text" placeholder="identify">
</div>
<div class="rowflex nowrap">
<label>Other:</label>
<input name="attr_other" type="text" placeholder="other">
</div>
</div>
<!-- languages -->
<div class="lang section columnflex nowrap center">
<label class="title">Languages</label>
<textarea name="attr_languages" placeholder="Common"></textarea>
</div>
<!-- spells per day -->
<div class="spells-d section columnflex nowrap center">
<label class="title">Spells per Day</label>
<div class="rowflex nowrap">
<div class="columnflex nowrap">
<label>1st</label>
<input name="attr_lvl1_spells" type="number" value="" class="ref" placeholder="0">
</div>
<div class="columnflex nowrap">
<label>2nd</label>
<input name="attr_lvl2_spells" type="number" value="" class="ref" placeholder="0">
</div>
<div class="columnflex nowrap">
<label>3rd</label>
<input name="attr_lvl3_spells" type="number" value="" class="ref" placeholder="0">
</div>
<div class="columnflex nowrap">
<label>4th</label>
<input name="attr_lvl4_spells" type="number" value="" class="ref" placeholder="0">
</div>
<div class="columnflex nowrap">
<label>5th</label>
<input name="attr_lvl5_spells" type="number" value="" class="ref" placeholder="0">
</div>
<div class="columnflex nowrap">
<label>6th</label>
<input name="attr_lvl6_spells" type="number" value="" class="ref" placeholder="0">
</div>
<div class="columnflex nowrap">
<label>7th</label>
<input name="attr_lvl7_spells" type="number" value="" class="ref" placeholder="0">
</div>
</div>
</div>
<!-- encumberance -->
<div class="speed section columnflex nowrap center">
<label class="title">Encumberance & Speed</label>
<div class="rowflex nowrap center">
<div class="columnflex nowrap">
<label class="short">status</label>
<input name="attr_status" type="number" value="" class="ref" placeholder="status">
</div>
<div class="columnflex nowrap">
<label class="short">weight</label>
<input name="attr_weight" type="number" value="" class="ref" placeholder="weight">
</div>
<div class="columnflex nowrap">
<label style="margin-right:10px;">exploration</label>
<input name="attr_exploration" type="number" value="" class="ref" placeholder="30" style="margin-left: 15px;">
</div>
<div class="columnflex nowrap">
<label class="short">combat</label>
<input name="attr_combat" type="number" value="" class="ref" placeholder="30">
</div>
<div class="columnflex nowrap">
<label class="short">sprint</label>
<input name="attr_sprint" type="number" value="" class="ref" placeholder="30">
</div>
</div>
</div>
<!-- memorized spells -->
<div class="spells-m section columnflex nowrap center">
<label class="title">Memorized Spells</label>
<textarea name="attr_spells_memo" placeholder="Magic Missile, Mage Armor etc."></textarea>
</div>
<!-- misc -->
<div class="misc section columnflex nowrap center">
<label class="title">Miscellany</label>
<textarea name="attr_misc" placeholder="Misc. notes"></textarea>
</div>
<!-- EXP -->
<div class="exp section columnflex nowrap center">
<label class="title">Experience Points</label>
<div class="rowflex nowrap">
<label>current</label>
<input name="attr_xp" type="number" value="" placeholder="0">
</div>
<div class="rowflex nowrap">
<label>next level</label>
<input name="attr_xp_next" type="number" value="" placeholder="100">
</div>
<div class="rowflex nowrap">
<label>character level</label>
<input name="attr_level" type="number" value="1">
</div>
</div>
</div>
<!-- --------------------------------------------------------------------------------- -->
<!-- --------------------------- PAGE 2 ---------------------------------------------- -->
<!-- --------------------------------------------------------------------------------- -->
<div class="tab-content tab2 pg2">
<!-- coin -->
<div class="coin section columnflex nowrap center">
<label class="title">Coin</label>
<div class="rowflex nowrap">
<div class="columnflex nowrap">
<label class="short">CP</label>
<input name="attr_cp" type="number" value="" placeholder="0">
</div>
<div class="columnflex nowrap">
<label class="short">SP</label>
<input name="attr_sp" type="number" value="" placeholder="0">
</div>
<div class="columnflex nowrap">
<label class="short">EP</label>
<input name="attr_ep" type="number" value="" placeholder="0">
</div>
<div class="columnflex nowrap">
<label class="short">GP</label>
<input name="attr_gp" type="number" value="" placeholder="0">
</div>
<div class="columnflex nowrap">
<label class="short">PP</label>
<input name="attr_pp" type="number" value="" placeholder="0">
</div>
</div>
</div>
<!-- equipment -->
<div class="equip section columnflex nowrap center">
<label class="title">Equipment</label>
<fieldset class="repeating_eq">
<div class="rowflex nowrap">
<input name="attr_name" type="text" placeholder="name" style="width:30%;margin-right: 5px;">
<input name="attr_info" type="text" placeholder="info" style="width: 67%;">
</div>
</fieldset>
</div>
<!-- companions -->
<div class="companions section columnflex nowrap center">
<label class="title">Companions</label>
<fieldset class="repeating_companions">
<div class="rowflex wrap">
<input name="attr_name" type="text" placeholder="name" style="width: 55%;">
<input name="attr_type" type="text" placeholder="type" style="width: 36%;margin-left: 10px;">
<input name="attr_abilities" type="text" placeholder="abilities" style="width:100%;">
</div>
</fieldset>
</div>
</div>
<!-- --------------------------------------------------------------------------------- -->
<!-- --------------------------- PAGE 3 ---------------------------------------------- -->
<!-- --------------------------------------------------------------------------------- -->
<div class="tab-content tab3 pg3">
<!-- NPC main block -->
<div class="npc-main section rowflex nowrap center">
<div class="npc-main section columnflex nowrap center">
<label>Name:</label>
<input name="attr_character_name" type="text">
</div>
<div class="npc-main section columnflex nowrap center">
<label>HP</label>
<div class="hp rowflex nowrap center middle">
<div>
<input name="attr_hp" type="number" value="" placeholder="10" style="margin-right: 15px;">
</div>
<div>
<input name="attr_hp_max" type="number" value="" placeholder="10">
</div>
</div>
</div>
<div class="npc-main section columnflex nowrap center">
<label>AC:</label>
<input name="attr_ac" type="number" placeholder="10">
</div>
<div class="npc-main section columnflex nowrap center">
<label>To Hit:</label>
<input name="attr_to_hit" type="number" placeholder="10">
</div>
</div>
<!-- NOTES -->
<div class="notes section columnflex nowrap center">
<label class="title">Notes</label>
<textarea name="attr_notes"></textarea>
</div>
<!-- duplicate of buttons -->
<div class="columnflex nowrap center npc-buttons">
<label class="title" style="width: 50px;">Init</label>
<input name="attr_init_race" type="number" value="0" class="short">
<button name="roll_init" type="roll" value=" &{template:default} {{name=**Initiative**}} {{Roll=[[d10+(@{wis_mod}[WIS MOD])+(@{init_race}[INIT BONUS])]]}} &{tracker}" class="d10">Init</button>
<button name="roll_suprise" type="roll" value=" &{template:default} {{name=**Suprise**}} {{Roll=[[d10+(@{wis_mod}[WIS MOD])]]}}" class="d10">Suprise</button>
<button name="roll_melee" type="roll" value=" &{template:default} {{name=**Attack(Melee/Thrown)**}} {{Attack=[[d20+(@{str_mod}[STR MOD]+@{to_hit}[TO HIT BONUS])]]}}">Melee</button>
<button name="roll_ranged" type="roll" value=" &{template:default} {{name=**Attack(Ranged)**}} {{Attack=[[d20+(@{dex_mod}[DEX MOD]+@{to_hit}[TO HIT BONUS])]]}}">Ranged</button>
</div>
<!-- dulicate of Attrs -->
<div class="npc-attrs section columnflex nowrap" style="padding-top: 15px;">
<label class="title">attributes</label>
<div class="rowflex nowrap">
<label>Str</label>
<input name="attr_str" type="number" value="" placeholder="10">
<span name="attr_str_mod"></span>
<button name="roll_str" type="roll" value="&{template:default} {{name= **Strength** (Test)}} {{Roll= [[1d20+(@{str_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Dex</label>
<input name="attr_dex" type="number" value="" placeholder="10">
<span name="attr_dex_mod"></span>
<button name="roll_dex" type="roll" value="&{template:default} {{name= **Dexterity** (Test)}} {{Roll= [[1d20+(@{dex_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Con</label>
<input name="attr_con" type="number" value="" placeholder="10">
<span name="attr_con_mod"></span>
<button name="roll_con" type="roll" value="&{template:default} {{name= **Constitution** (Test)}} {{Roll= [[1d20+(@{con_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Int</label>
<input name="attr_int" type="number" value="" placeholder="10">
<span name="attr_int_mod"></span>
<button name="roll_int" type="roll" value="&{template:default} {{name= **Intelligence** (Test)}} {{Roll= [[1d20+(@{int_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Wis</label>
<input name="attr_wis" type="number" value="" placeholder="10">
<span name="attr_wis_mod"></span>
<button name="roll_wis" type="roll" value="&{template:default} {{name= **Wisdom** (Test)}} {{Roll= [[1d20+(@{wis_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
<div class="rowflex nowrap">
<label>Cha</label>
<input name="attr_cha" type="number" value="" placeholder="10">
<span name="attr_cha_mod"></span>
<button name="roll_cha" type="roll" value="&{template:default} {{name= **Charisma** (Test)}} {{Roll= [[1d20+(@{cha_mod})]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} {{ d20 + mod vs DC&nbsp;&nbsp;&nbsp;}}" class="d20"></button>
</div>
</div>
</div>
<!-- --------------------------------------------------------------------------------- -->
<!-- --------------------------- Sheet workers --------------------------------------- -->
<!-- --------------------------------------------------------------------------------- -->
<input name="attr_str_mod" type="hidden" value="0">
<input name="attr_dex_mod" type="hidden" value="0">
<input name="attr_con_mod" type="hidden" value="0">
<input name="attr_wis_mod" type="hidden" value="0">
<input name="attr_int_mod" type="hidden" value="0">
<input name="attr_cha_mod" type="hidden" value="0">
<input name="attr_rest" type="hidden" value="0">
<script type="text/worker">
const int = score => parseInt(score, 10) || 0;
const stats = ["str", "dex", "con", "wis", "int", "cha"];
stats.forEach(stat => {
on(`change:${stat}`, () => {
getAttrs([stat], values => {
const stat_base = int(values[stat]);
//console.log(stat_base);
let stat_mod = 0;
if (stat_base >= 19) stat_mod = "+4";
else if (stat_base >= 18) stat_mod = "+3";
else if (stat_base >= 16) stat_mod = "+2";
else if (stat_base >= 14) stat_mod = "+1";
else if (stat_base >= 12) stat_mod = "+0";
else if (stat_base >= 8) stat_mod = "-1";
else if (stat_base >= 6) stat_mod = "-2";
else stat_mod = "-3";
setAttrs({
[`${stat}_mod`]: stat_mod
});
});
});
});
/*
on(`change:con`, () => {
getAttrs("con_mod", value => {
const con = int(value["con_mod"]);
console.log(con);
let rest = 0;
if (con >= 17) rest = "1d12";
else if (con >= 15) rest = "1d10";
else if (con >= 13) rest = "1d8";
else if (con >= 9) rest = "1d6";
else if (con >= 7) rest = "1d4";
else if (con >= 5) rest = "1d2";
else if (con >= 3) rest = "1";
else rest = "1";
setAttrs({
rest : rest
});
});
});
*/
</script>
Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

+8
View File
@@ -0,0 +1,8 @@
{
"html": "ambition_avarice.html",
"css": "ambition_avarice.css",
"authors": "Andreas J.",
"roll20userid": "1223200",
"preview": "ambition_avarice_preview.png",
"instructions": "Character Sheet for 'Ambition & Avarice 1st Edition' ttrpg by Chubby Funster."
}