Renamed views>character>stats

This commit is contained in:
Thaum
2015-02-24 13:48:06 +00:00
parent 83186ec38a
commit 52b8c8b8d6
10 changed files with 0 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -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>

View 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>

View 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});
}
}
});

View 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: "*";
}

View 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>

View 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();
}
});

View 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;
}

View 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>

View File

@@ -0,0 +1,7 @@
Template.stats.events({
});
Template.stats.helpers({
});