Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Quantities = Quantities || (function() {
- 'use strict';
- var version = "0.1a",
- updateHandout = function() {
- // Party owns ...
- var str = "The party has:\n";
- for (var key in state.quantities) {
- if (state.quantities.hasOwnProperty(key)) {
- str += state.quantities[key] + " " + key + "\n";
- }
- }
- //Does handout exist?
- var handout = findObjs({
- _type: 'handout',
- name: 'Quantities',
- })[0];
- if(!handout) {
- // create handout
- handout = createObj('handout', {
- name: 'Quantities',
- notes: str,
- inplayerjournals: 'all',
- });
- }
- handout.set("notes", str);
- },
- getQuantity = function(quantity) {
- // Does property exist?
- if (!(state.quantities.hasOwnProperty(quantity))) {
- sendChat("Quantities", "This quantity does not exist, did you mean to type !quantity " + quantity.toString() + " [num]");
- return null;
- } else {
- sendChat("Quantities", "The party has " + state.quantities[quantity] + " " + quantity);
- }
- },
- setQuantity = function(quantity, n, who) {
- if(isNaN(n)) {
- sendChat("Quantities", "Quantities must be set to a numerical value");
- return null;
- }
- if(n === "0") {
- delete(state.quantities[quantity]);
- } else if ((n.charAt(0) === '+') || (n.charAt(0) === '-')) {
- state.quantities[quantity] = (Number(state.quantities[quantity]) + Number(n)).toString();
- } else {
- state.quantities[quantity] = n.toString();
- }
- sendChat("Quantities", "/w " + who + quantity + " set to " + state.quantities[quantity]);
- updateHandout();
- },
- printQuantities = function() {
- var str = "&{template:default} {{name=Party Supplies}}";
- for (var key in state.quantities) {
- if (state.quantities.hasOwnProperty(key)) {
- str += " {{" + key + "=" + state.quantities[key] + "}}";
- }
- }
- sendChat("Quantities", str);
- },
- initialise = function() {
- log("Initialising Quantities v0.1a");
- on("chat:message", function(msg) {
- var args = msg.content.split(/\s+/);
- if(msg.type == "api" && ((args[0] == "!quantity") || (args[0] == "!q"))) {
- if (args.length == 3) {
- setQuantity(args[1], args[2], msg.who);
- } else if (args.length == 2) {
- getQuantity(args[1]);
- } else if (args.length == 1) {
- printQuantities();
- }else {
- sendChat("Quantities", "Incorrect number of arguments");
- return null;
- }
- }
- });
- };
- return {
- initialise: initialise
- };
- }());
- on("ready", function() {
- log("Ready for Quantities");
- if (!state.hasOwnProperty("quantities")) {
- state["quantities"] = {};
- }
- Quantities.initialise();
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement