I wrote up the table loader for this to work. Unfortunately, I haven't filled in the script yet. to load the table, you just type !Loot-Table in chat. var chatName="LootTableAPI",
tableName,
tableFind,
error=0
;
var LootTableAPI = LootTableAPI || (function() {
createTable = function(newName){
tableFind=findObjs({type: "rollabletable", name: newName});
if(tableFind.length){
sendChat(chatName, "/w GM "+newName+" already exists as a rollable table.");
return "";
}
else
{
var newTable=createObj("rollabletable",{name: newName});
return newTable;
}
},
createItem = function(tableFind,itemName,itemWeight){
createObj("tableitem",{
_rollabletableid: tableFind.id,
name: itemName,
weight: itemWeight
});
},
doItAll = function(){
var CurrentTable = createTable("Gems10");
if(CurrentTable != ""){
createItem(CurrentTable,"Azurite (opaque mottled deep blue)",1);
/* This is where all the data entry happens, I don't want to get on Wizards' bad side, so I won't type all of this out and share it.
createItem(CurrentTable,"Turquoise (opaque light blue green)",1);
sendChat(chatName, "/w GM "+CurrentTable.get("name")+" was created.");
}
var CurrentTable = createTable("Gems50");
if(CurrentTable != ""){
createItem(CurrentTable,"Bloodstone (opaque dark gray with red flecks)",1);
/*
More data entry
*/
createItem(CurrentTable,"Zircon (transparent pale blue-green)",1);
sendChat(chatName, "/w GM "+CurrentTable.get("name")+" was created.");
}
}
registerEventHandlers = function(){
on("chat:message", function (msg) {
/* Exit if not an api command */
if (msg.type !== "api") {
return;
}
var tokenized = msg.content.split(" "),
command = tokenized[0];
switch(command) {
case "!Loot-Table":
if(playerIsGM(msg.playerid)) {
doItAll();
}
break;
}
});
};
}());
on("ready",function(){registerEventHandlers()});