Renamed views>character>stats
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
.card.double {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.card.double > div{
|
||||
vertical-align: top;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.abilityScore {
|
||||
width: 70px;
|
||||
text-align: center;
|
||||
background-color: #D50000;
|
||||
padding: 16px;
|
||||
position: relative;
|
||||
border-radius: 2px 0 0 2px;
|
||||
}
|
||||
|
||||
#stats .card {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.abilityCardRight {
|
||||
flex-grow: 1;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.abilityCardRight hr{
|
||||
margin: 8px 0 8px -16px;
|
||||
}
|
||||
|
||||
.abilityCardRight h1{
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
<template name="abilityMiniCard">
|
||||
<paper-shadow class="card double">
|
||||
<div class="abilityScore white-text {{color}}">
|
||||
{{> ripple color="#eee"}}
|
||||
<h1 class="display1">{{../attributeValue ability}}</h1>
|
||||
<h2>{{../abilityMod ability}}</h2>
|
||||
</div>
|
||||
<div class="abilityCardRight subhead" layout horizontal center>
|
||||
{{title}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</template>
|
||||
|
||||
<template name="strengthCard">
|
||||
<paper-shadow class="card double">
|
||||
<div class="abilityScore red white-text">
|
||||
{{> ripple color="#eee"}}
|
||||
<h1 class="display1">{{attributeValue "strength"}}</h1>
|
||||
<h2>{{abilityMod "strength"}}</h2>
|
||||
</div>
|
||||
<div class="abilityCardRight">
|
||||
<h1>Strength</h1>
|
||||
{{> skillRow name="Save" skill="strengthSave"}}
|
||||
<hr>
|
||||
{{> skillRow name="Athletics" skill="athletics"}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</template>
|
||||
|
||||
<template name="dexterityCard">
|
||||
<paper-shadow class="card double">
|
||||
<div class="abilityScore green white-text">
|
||||
{{> ripple color="#eee"}}
|
||||
<h1 class="display1">{{attributeValue "dexterity"}}</h1>
|
||||
<h2>{{abilityMod "dexterity"}}</h2>
|
||||
</div>
|
||||
<div class="abilityCardRight">
|
||||
<h1>Dexterity</h1>
|
||||
{{> skillRow name="Save" skill="dexteritySave"}}
|
||||
<hr>
|
||||
{{> skillRow name="Acrobatics" skill="acrobatics"}}
|
||||
{{> skillRow name="Sleight of Hand" skill="sleightOfHand"}}
|
||||
{{> skillRow name="Stealth" skill="stealth"}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</template>
|
||||
|
||||
<template name="constitutionCard">
|
||||
<paper-shadow class="card double">
|
||||
<div class="abilityScore deep-orange white-text">
|
||||
{{> ripple color="#eee"}}
|
||||
<h1 class="display1">{{attributeValue "constitution"}}</h1>
|
||||
<h2>{{abilityMod "constitution"}}</h2>
|
||||
</div>
|
||||
<div class="abilityCardRight">
|
||||
<h1>Constitution</h1>
|
||||
{{> skillRow name="Save" skill="constitutionSave"}}
|
||||
<hr>
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</template>
|
||||
|
||||
<template name="intelligenceCard">
|
||||
<paper-shadow class="card double">
|
||||
<div class="abilityScore indigo white-text">
|
||||
{{> ripple color="#eee"}}
|
||||
<h1 class="display1">{{attributeValue "intelligence"}}</h1>
|
||||
<h2>{{abilityMod "intelligence"}}</h2>
|
||||
</div>
|
||||
<div class="abilityCardRight">
|
||||
<h1>Intelligence</h1>
|
||||
{{> skillRow name="Save" skill="intelligenceSave"}}
|
||||
<hr>
|
||||
{{> skillRow name="Arcana" skill="arcana"}}
|
||||
{{> skillRow name="History" skill="history"}}
|
||||
{{> skillRow name="Investigation" skill="investigation"}}
|
||||
{{> skillRow name="Nature" skill="nature"}}
|
||||
{{> skillRow name="Religion" skill="religion"}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</template>
|
||||
|
||||
<template name="wisdomCard">
|
||||
<paper-shadow class="card double">
|
||||
<div class="abilityScore purple white-text">
|
||||
{{> ripple color="#eee"}}
|
||||
<h1 class="display1">{{attributeValue "wisdom"}}</h1>
|
||||
<h2>{{abilityMod "wisdom"}}</h2>
|
||||
</div>
|
||||
<div class="abilityCardRight">
|
||||
<h1>Wisdom</h1>
|
||||
{{> skillRow name="Save" skill="wisdomSave"}}
|
||||
<hr>
|
||||
{{> skillRow name="Animal Handling" skill="animalHandling"}}
|
||||
{{> skillRow name="Insight" skill="insight"}}
|
||||
{{> skillRow name="Medicine" skill="medicine"}}
|
||||
{{> skillRow name="Perception" skill="perception" showPassive="true"}}
|
||||
{{> skillRow name="Survival" skill="survival"}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</template>
|
||||
|
||||
<template name="charismaCard">
|
||||
<paper-shadow class="card double">
|
||||
<div class="abilityScore pink white-text">
|
||||
{{> ripple color="#eee"}}
|
||||
<h1 class="display1">{{attributeValue "charisma"}}</h1>
|
||||
<h2>{{abilityMod "charisma"}}</h2>
|
||||
</div>
|
||||
<div class="abilityCardRight">
|
||||
<h1>Charisma</h1>
|
||||
{{> skillRow name="Save" skill="charismaSave"}}
|
||||
<hr>
|
||||
{{> skillRow name="Deception" skill="deception"}}
|
||||
{{> skillRow name="Intimidation" skill="intimidation"}}
|
||||
{{> skillRow name="Performance" skill="performance"}}
|
||||
{{> skillRow name="Persuasion" skill="persuasion"}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</template>
|
||||
24
rpg-docs/client/views/character/stats/hitDice/hitDice.html
Normal file
24
rpg-docs/client/views/character/stats/hitDice/hitDice.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<template name="hitDice">
|
||||
{{#if char.attributeBase name}}
|
||||
<paper-shadow class="card container" hero-id="main" {{detailHero}} layout horizontal>
|
||||
<div class="containerLeft green">
|
||||
<div class="resourceValue" layout vertical center>
|
||||
<div>
|
||||
{{../attributeValue name}}
|
||||
</div>
|
||||
<div class="title white-text">
|
||||
d{{diceNum}} {{../abilityMod "constitution"}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="resourceButtons">
|
||||
<paper-icon-button class="resourceUp" icon="arrow-drop-up" disabled={{cantIncrement}}></paper-icon-button>
|
||||
<paper-icon-button class="resourceDown" icon="arrow-drop-down" disabled={{cantDecrement}}></paper-icon-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="containerRight" flex relative horizontal layout center>
|
||||
Hit Dice
|
||||
<paper-ripple fit></paper-ripple>
|
||||
</div>
|
||||
</paper-shadow>
|
||||
{{/if}}
|
||||
</template>
|
||||
25
rpg-docs/client/views/character/stats/hitDice/hitDice.js
Normal file
25
rpg-docs/client/views/character/stats/hitDice/hitDice.js
Normal file
@@ -0,0 +1,25 @@
|
||||
Template.hitDice.helpers({
|
||||
cantIncrement: function(){
|
||||
return !(this.char.attributeValue(this.name) < this.char.attributeBase(this.name));
|
||||
},
|
||||
cantDecrement: function(){
|
||||
return !(this.char.attributeValue(this.name) > 0);
|
||||
}
|
||||
});
|
||||
|
||||
Template.hitDice.events({
|
||||
"tap .resourceUp": function(event){
|
||||
if(this.char.attributeValue(this.name) < this.char.attributeBase(this.name)){
|
||||
var modifier = {$inc: {}};
|
||||
modifier.$inc[this.name + ".adjustment"] = 1;
|
||||
Characters.update(this.char._id, modifier, {validate: false});
|
||||
}
|
||||
},
|
||||
"tap .resourceDown": function(event){
|
||||
if(this.char.attributeValue(this.name) > 0){
|
||||
var modifier = {$inc: {}};
|
||||
modifier.$inc[this.name + ".adjustment"] = -1;
|
||||
Characters.update(this.char._id, modifier, {validate: false});
|
||||
}
|
||||
}
|
||||
});
|
||||
39
rpg-docs/client/views/character/stats/skillRow/skillRow.css
Normal file
39
rpg-docs/client/views/character/stats/skillRow/skillRow.css
Normal file
@@ -0,0 +1,39 @@
|
||||
.skillRow {
|
||||
height: 32px;
|
||||
margin: 0 -16px 0 -16px;
|
||||
}
|
||||
|
||||
.skillRow core-icon {
|
||||
color: rgba(0,0,0,0.54);
|
||||
}
|
||||
|
||||
.skillMod {
|
||||
width: 42px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.skillName, .skillMod{
|
||||
|
||||
}
|
||||
|
||||
.fail.skillMod {
|
||||
color: #D50000;
|
||||
}
|
||||
|
||||
.advantage{
|
||||
background-image: url(/png/advantage/greenUp.png);
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.disadvantage{
|
||||
background-image: url(/png/advantage/redDown.png);
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.hasConditionals::after{
|
||||
content: "*";
|
||||
}
|
||||
16
rpg-docs/client/views/character/stats/skillRow/skillRow.html
Normal file
16
rpg-docs/client/views/character/stats/skillRow/skillRow.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<template name="skillRow">
|
||||
<paper-item class="skillRow" layout horizontal>
|
||||
<core-icon icon="{{profIcon}}"></core-icon>
|
||||
{{#if failSkill}}
|
||||
<div class="fail skillMod">fail</div>
|
||||
{{else}}
|
||||
<div class="{{advantage}} skillMod">{{../skillMod skill}}</div>
|
||||
{{/if}}
|
||||
<div class="{{#if conditionalCount}}hasConditionals{{/if}} skillName">
|
||||
{{name}}
|
||||
{{#if showPassive}}
|
||||
({{../passiveSkill skill}})
|
||||
{{/if}}
|
||||
</div>
|
||||
</paper-item>
|
||||
</template>
|
||||
22
rpg-docs/client/views/character/stats/skillRow/skillRow.js
Normal file
22
rpg-docs/client/views/character/stats/skillRow/skillRow.js
Normal file
@@ -0,0 +1,22 @@
|
||||
Template.skillRow.helpers({
|
||||
profIcon: function(){
|
||||
var prof = Template.parentData(1).proficiency(this.skill);
|
||||
if(prof > 0 && prof < 1) return "image:brightness-2";
|
||||
if(prof === 1) return "image:brightness-1";
|
||||
if(prof > 1) return "av:album";
|
||||
return "radio-button-off";
|
||||
},
|
||||
failSkill: function(){
|
||||
var charId = Template.parentData(1)._id;
|
||||
return Effects.find({charId: charId, stat: this.skill, enabled: true, operation: "fail"}).count();
|
||||
},
|
||||
advantage: function(){
|
||||
var advantage = Template.parentData(1).advantage(this.skill);
|
||||
if(advantage > 0) return "advantage";
|
||||
if(advantage < 0) return "disadvantage";
|
||||
},
|
||||
conditionalCount: function(){
|
||||
var charId = Template.parentData(1)._id;
|
||||
return Effects.find({charId: charId, stat: this.skill, enabled: true, operation: "conditional"}).count();
|
||||
}
|
||||
});
|
||||
51
rpg-docs/client/views/character/stats/stats.css
Normal file
51
rpg-docs/client/views/character/stats/stats.css
Normal file
@@ -0,0 +1,51 @@
|
||||
.card-top {
|
||||
flex-grow: 1;
|
||||
padding: 16px;
|
||||
border-radius: 2px 2px 0 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.editEffect > * {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.detailCard {
|
||||
background: white;
|
||||
border-radius: 2px;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
#armorHeading {
|
||||
background: url(/jpg/rusted-metal-armor.jpg) no-repeat;
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
#detailContainer {
|
||||
position: fixed;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#detailContainer > *{
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
#darkOverlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-color: rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
section:not(.core-selected):not([animate]) paper-shadow[hero] {
|
||||
visibility: hidden;
|
||||
}
|
||||
100
rpg-docs/client/views/character/stats/stats.html
Normal file
100
rpg-docs/client/views/character/stats/stats.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<template name="stats">
|
||||
<div class="scroll-y" fit>
|
||||
<div class="resourceCards" layout horizontal wrap>
|
||||
{{> healthCard}}
|
||||
</div>
|
||||
<div id="stats" class="containers" >
|
||||
<!--Ability Scores-->
|
||||
{{> abilityMiniCard ability="strength" title="Strength" color="red"}}
|
||||
{{> abilityMiniCard ability="dexterity" title="Dexterity" color="indigo"}}
|
||||
{{> abilityMiniCard ability="constitution" title="Constitution" color="green"}}
|
||||
{{> abilityMiniCard ability="intelligence" title="Intelligence" color="deep-orange"}}
|
||||
{{> abilityMiniCard ability="wisdom" title="Wisdom" color="purple"}}
|
||||
{{> abilityMiniCard ability="charisma" title="Charisma" color="pink"}}
|
||||
<!--Armor-->
|
||||
<paper-shadow class="card container statCard" hero-id="main" {{detailHero}} layout horizontal>
|
||||
<div class="containerLeft teal">
|
||||
{{attributeValue "armor"}}
|
||||
</div>
|
||||
<div class="containerRight" flex horizontal layout center>
|
||||
Armor Class
|
||||
</div>
|
||||
<paper-ripple fit></paper-ripple>
|
||||
</paper-shadow>
|
||||
<!--Speed-->
|
||||
<paper-shadow class="card container statCard" hero-id="main" {{detailHero}} layout horizontal>
|
||||
<div class="containerLeft teal">
|
||||
{{attributeValue "speed"}}
|
||||
</div>
|
||||
<div class="containerRight" flex horizontal layout center>
|
||||
Speed
|
||||
</div>
|
||||
<paper-ripple fit></paper-ripple>
|
||||
</paper-shadow>
|
||||
<!--Initiative-->
|
||||
<paper-shadow class="card container statCard" hero-id="main" {{detailHero}} layout horizontal>
|
||||
<div class="containerLeft indigo">
|
||||
{{skillMod "initiative"}}
|
||||
</div>
|
||||
<div class="containerRight" flex horizontal layout center>
|
||||
Initiative
|
||||
</div>
|
||||
<paper-ripple fit></paper-ripple>
|
||||
</paper-shadow>
|
||||
<!--Proficiency Bonus-->
|
||||
<paper-shadow class="card container statCard" hero-id="main" {{detailHero}} layout horizontal>
|
||||
<div class="containerLeft blue">
|
||||
+{{attributeValue "proficiencyBonus"}}
|
||||
</div>
|
||||
<div class="containerRight" flex horizontal layout center>
|
||||
Proficiency Bonus
|
||||
</div>
|
||||
<paper-ripple fit></paper-ripple>
|
||||
</paper-shadow>
|
||||
{{>hitDice name="d6HitDice" diceNum="6" char=this}}
|
||||
{{>hitDice name="d8HitDice" diceNum="8" char=this}}
|
||||
{{>hitDice name="d10HitDice" diceNum="10" char=this}}
|
||||
{{>hitDice name="d12HitDice" diceNum="12" char=this}}
|
||||
<!--Saving Throws-->
|
||||
<paper-shadow class="card container" hero-id="main" {{detailHero}}>
|
||||
<div class="containerTop teal white-text" layout horizontal center>
|
||||
<div class="containerName subhead" hero-id="title" flex>Saving Throws</div>
|
||||
</div>
|
||||
<div flex class="containerMain">
|
||||
{{> skillRow name="Strength" skill="strengthSave"}}
|
||||
{{> skillRow name="Dexterity" skill="dexteritySave"}}
|
||||
{{> skillRow name="Constitution" skill="constitutionSave"}}
|
||||
{{> skillRow name="Intelligence" skill="intelligenceSave"}}
|
||||
{{> skillRow name="Wisdom" skill="wisdomSave"}}
|
||||
{{> skillRow name="Charisma" skill="charismaSave"}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
<!--Skills-->
|
||||
<paper-shadow class="card container" hero-id="main" {{detailHero}}>
|
||||
<div class="containerTop blue white-text" layout horizontal center>
|
||||
<div class="containerName subhead" hero-id="title" flex>Skills</div>
|
||||
</div>
|
||||
<div flex class="containerMain">
|
||||
{{> skillRow name="Acrobatics" skill="acrobatics"}}
|
||||
{{> skillRow name="Animal Handling" skill="animalHandling"}}
|
||||
{{> skillRow name="Arcana" skill="arcana"}}
|
||||
{{> skillRow name="Athletics" skill="athletics"}}
|
||||
{{> skillRow name="Deception" skill="deception"}}
|
||||
{{> skillRow name="History" skill="history"}}
|
||||
{{> skillRow name="Insight" skill="insight"}}
|
||||
{{> skillRow name="Intimidation" skill="intimidation"}}
|
||||
{{> skillRow name="Investigation" skill="investigation"}}
|
||||
{{> skillRow name="Medicine" skill="medicine"}}
|
||||
{{> skillRow name="Nature" skill="nature"}}
|
||||
{{> skillRow name="Perception" skill="perception" showPassive="true"}}
|
||||
{{> skillRow name="Performance" skill="performance"}}
|
||||
{{> skillRow name="Persuasion" skill="persuasion"}}
|
||||
{{> skillRow name="Religion" skill="religion"}}
|
||||
{{> skillRow name="Sleight of Hand" skill="sleightOfHand"}}
|
||||
{{> skillRow name="Stealth" skill="stealth"}}
|
||||
{{> skillRow name="Survival" skill="survival"}}
|
||||
</div>
|
||||
</paper-shadow>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
7
rpg-docs/client/views/character/stats/stats.js
Normal file
7
rpg-docs/client/views/character/stats/stats.js
Normal file
@@ -0,0 +1,7 @@
|
||||
Template.stats.events({
|
||||
|
||||
});
|
||||
|
||||
Template.stats.helpers({
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user