Fixed issue with health bars clamping to 100
This commit is contained in:
@@ -13,8 +13,6 @@
|
||||
<div class="right flex layout vertical center-justified" style="min-width: 180px;">
|
||||
<div class="layout horizontal">
|
||||
<paper-diff-slider id="hitPointSlider"
|
||||
value={{characterCalculate "attributeValue" _id "hitPoints"}}
|
||||
max={{characterCalculate "attributeBase" _id "hitPoints"}}
|
||||
editable pin
|
||||
disabled={{#unless canEditCharacter _id}}true{{/unless}}>
|
||||
</paper-diff-slider>
|
||||
|
||||
@@ -1,3 +1,26 @@
|
||||
const currentId = () => Template.currentData()._id;
|
||||
|
||||
// Use binding to ensure max is always set before value to prevent value clamping poorly
|
||||
Template.healthCard.binding({
|
||||
"#hitPointSlider": {
|
||||
max: () => Characters.calculate.attributeBase(currentId() , "hitPoints"),
|
||||
value: () => Characters.calculate.attributeValue(currentId() , "hitPoints"),
|
||||
}
|
||||
});
|
||||
|
||||
// Reset the old value between characters so that we don't get red health lost
|
||||
// bar when changing character
|
||||
Template.healthCard.onRendered(function(){
|
||||
let oldId = Template.currentData()._id;
|
||||
this.autorun(() => {
|
||||
const id = Template.currentData()._id;
|
||||
if (oldId !== id){
|
||||
this.find("#hitPointSlider").resetOldValue();
|
||||
oldId = id;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Template.healthCard.helpers({
|
||||
tempHitPoints: function(){
|
||||
return TemporaryHitPoints.find({charId: this._id});
|
||||
|
||||
Reference in New Issue
Block a user