Files
DiceCloud/rpg-docs/Model/Inventory/Items.js
2014-11-12 11:11:45 +00:00

55 lines
1.2 KiB
JavaScript

Items = new Meteor.Collection('items');
Item = function(name, container){
this.name = name;
this.container = container;
this.quantity = 1;
this.weight = 0.0;
//value in gold pieces
this.value = 0;
this.description = "";
//is this item a coin, letter of credit, ect.
this.tradeGood = false;
this.stakcable = false;
this.effects = [];
}
Items.helpers({
totalValue: function(){
return this.value * this.quantity;
},
pluralName: function(){
if(this.stackable && this.plural && this.quantity > 1){
return this.plural;
} else{
return this.name;
}
}
});
if(Meteor.isClient){
Template.registerHelper("valueString", function(value){
var resultArray = [];
//sp
var gp = Math.floor(value);
if(gp > 0) resultArray.push(gp + "gp");
//sp
var sp = Math.floor(10 * (value % 1));
if(sp > 0) resultArray.push(sp + "sp");
//cp
var cp = 10 * ((value * 10) % 1);
cp = Math.round(cp * 1000) / 1000;
if(cp > 0) resultArray.push(cp + "cp");
//build string with correct spacing
var result = "";
for(var i = 0; i < resultArray.length; i++){
//add a space between values
if(i !== 0){
result += " ";
}
result += resultArray[i];
}
return result;
});
}