Made attacks less rigid, now using inline computations

This commit is contained in:
Stefan Zermatten
2015-05-18 13:16:33 +02:00
parent 83150bc527
commit ae416458b5
4 changed files with 23 additions and 34 deletions

View File

@@ -24,18 +24,12 @@ Schemas.Attack = new SimpleSchema({
optional: true,
trim: false,
},
damageBonus: {
damage: {
type: String,
defaultValue: "strengthMod",
defaultValue: "1d8 + {strengthMod}",
optional: true,
trim: false,
},
damageDice: {
type: String,
optional: true,
defaultValue: "1d8",
allowedValues: DAMAGE_DICE,
},
damageType: {
type: String,
allowedValues: [

View File

@@ -15,21 +15,11 @@
value={{details}}></paper-input>
</div>
<div layout horizontal>
<!--DamageType-->
<paper-dropdown-menu id="damageDiceDropdown" label="Damage Dice">
<paper-dropdown layered class="dropdown">
<core-menu class="menu" selected={{damageDice}}>
{{#each DAMAGE_DICE}}
<paper-item name={{this}} class="containerMenuItem">{{this}}</paper-item>
{{/each}}
</core-menu>
</paper-dropdown>
</paper-dropdown-menu>
<!--damageBonus-->
<paper-input id="damageInput"
label="Damage Bonus"
label="Damage"
floatinglabel
value={{damageBonus}}
value={{damage}}
flex></paper-input>
<!--DamageType-->
<paper-dropdown-menu id="damageTypeDropdown" label="Damage Type">

View File

@@ -1,6 +1,18 @@
var damageTypes = ["bludgeoning", "piercing", "slashing",
"acid", "cold", "fire", "force", "lightning", "necrotic",
"poison", "psychic", "radiant", "thunder"];
var damageTypes = [
"bludgeoning",
"piercing",
"slashing",
"acid",
"cold",
"fire",
"force",
"lightning",
"necrotic",
"poison",
"psychic",
"radiant",
"thunder",
];
Template.attackEdit.events({
"tap #deleteAttack": function(event, instance) {
@@ -13,7 +25,7 @@ Template.attackEdit.events({
},
"change #damageInput": function(event) {
var value = event.currentTarget.value;
Attacks.update(this._id, {$set: {damageBonus: value}});
Attacks.update(this._id, {$set: {damage: value}});
},
"change #detailInput": function(event) {
var value = event.currentTarget.value;
@@ -26,13 +38,6 @@ Template.attackEdit.events({
if (value == this.damageType) return;
Attacks.update(this._id, {$set: {damageType: value}});
},
"core-select #damageDiceDropdown": function(event) {
var detail = event.originalEvent.detail;
if (!detail.isSelected) return;
var value = detail.item.getAttribute("name");
if (value == this.damageDice) return;
Attacks.update(this._id, {$set: {damageDice: value}});
}
});
Template.attackEdit.helpers({
@@ -41,5 +46,5 @@ Template.attackEdit.helpers({
},
DAMAGE_DICE: function() {
return DAMAGE_DICE;
}
},
});

View File

@@ -1,11 +1,11 @@
<template name="attackView">
<div class="attackView" layout horizontal>
<div class="headline rightPadded" layout horizontal center>
<div class="headline" style="margin-right: 16px;" layout horizontal center>
{{evaluateSigned charId attackBonus}}
</div>
<div layout vertical>
<div>
{{damageDice}}&nbsp;{{{evaluateSignedSpaced charId damageBonus}}}&nbsp;{{damageType}}
{{evaluateString charId damage}}&nbsp;{{damageType}}
</div>
{{#if details}}
<div class="caption">