245 lines
6.4 KiB
Plaintext
245 lines
6.4 KiB
Plaintext
:: Inventory
|
|
<br>
|
|
<strong>Inventory:</strong>
|
|
<<Inventory>>
|
|
|
|
:: ShowInventory [script]
|
|
try {
|
|
version.extensions['Inventory'] = {
|
|
major:0, minor:1, revision:0
|
|
};
|
|
macros['Inventory'] =
|
|
{
|
|
handler: function(place, macroName, params, parser)
|
|
{
|
|
var msg = "";
|
|
var items = state.history[0].variables.items;
|
|
if (items == undefined) {
|
|
new Wikifier(place, "nothing");
|
|
return;
|
|
}
|
|
for(var name in items) {
|
|
if(!isNaN(parseFloat(items[name])) && isFinite(items[name])) {
|
|
if(tale.passages[name+"-itemDescription"]) {
|
|
msg += "[["+name+"|"+name+"-itemDescription]](" + items[name] + "), ";
|
|
}
|
|
else {
|
|
msg += name + "(" + items[name] + "), ";
|
|
}
|
|
}
|
|
else if(items[name] != false) {
|
|
if(tale.passages[name+"-itemDescription"]) {
|
|
msg += "[["+name+"|"+name+"-itemDescription]], ";
|
|
}
|
|
else {
|
|
msg += name + ", ";
|
|
}
|
|
}
|
|
};
|
|
new Wikifier(place, msg.slice(0,-2));
|
|
},
|
|
init: function() { },
|
|
};
|
|
} catch(e) {
|
|
throwError(place,"Inventory Setup Error: " + e.message);
|
|
}
|
|
|
|
:: PlayerStats
|
|
<br>
|
|
<strong>Player Stats:</strong>
|
|
<<PlayerStats>>
|
|
|
|
:: ShowPlayerStats [script]
|
|
try {
|
|
version.extensions['PlayerStats'] = {
|
|
major:0, minor:1, revision:0
|
|
};
|
|
macros['PlayerStats'] =
|
|
{
|
|
handler: function(place, macroName, params, parser)
|
|
{
|
|
var msg = "";
|
|
var stats = state.history[0].variables.stats;
|
|
if (stats == undefined) {
|
|
new Wikifier(place, "no stats");
|
|
return;
|
|
}
|
|
for(var stat in stats) {
|
|
if(stat.slice(-4) == "_max") {
|
|
continue;
|
|
}
|
|
msg += stat + ": " + stats[stat];
|
|
if(stats[stat+"_max"] != undefined) {
|
|
msg += " / " + stats[stat+"_max"];
|
|
}
|
|
msg += "<br>";
|
|
}
|
|
new Wikifier(place, msg);
|
|
},
|
|
init: function() { },
|
|
};
|
|
} catch(e) {
|
|
throwError(place,"PlayerStats Setup Error: " + e.message);
|
|
}
|
|
|
|
:: PlayerSkills
|
|
<br>
|
|
<strong>Player Skills:</strong>
|
|
<<PlayerSkills>>
|
|
|
|
:: ShowPlayerSkills [script]
|
|
try {
|
|
version.extensions['PlayerSkills'] = {
|
|
major:0, minor:1, revision:0
|
|
};
|
|
macros['PlayerSkills'] =
|
|
{
|
|
handler: function(place, macroName, params, parser)
|
|
{
|
|
var msg = "";
|
|
var stats = state.history[0].variables.skills;
|
|
if (stats == undefined) {
|
|
new Wikifier(place, "no skills");
|
|
return;
|
|
}
|
|
for(var stat in stats) {
|
|
msg += stat + ": " + stats[stat]+"<br>";
|
|
}
|
|
new Wikifier(place, msg);
|
|
},
|
|
init: function() { },
|
|
};
|
|
} catch(e) {
|
|
throwError(place,"PlayerSkills Setup Error: " + e.message);
|
|
}
|
|
|
|
:: GetPreviousNonItem [script]
|
|
try {
|
|
version.extensions['PreviousNonItem'] = {
|
|
major:0, minor:1, revision:0
|
|
};
|
|
macros['PreviousNonItem'] =
|
|
{
|
|
handler: function(place, macroName, params, parser)
|
|
{
|
|
var msg = "";
|
|
for(var h in state.history) {
|
|
if(state.history[h].passage.title == "PlayerProfile" ||
|
|
state.history[h].passage.title.slice(-16) == "-itemDescription")
|
|
continue; //skip all the inventory items
|
|
|
|
msg += state.history[h].passage.title;
|
|
break; //we only want the first instance of a non-item passage
|
|
|
|
}
|
|
new Wikifier(place, "[[Return|" + msg + "]]");
|
|
},
|
|
init: function() { },
|
|
};
|
|
} catch(e) {
|
|
throwError(place,"PreviousNonItem Setup Error: " + e.message);
|
|
}
|
|
|
|
:: PlayerProfile
|
|
<<PreviousNonItem>>
|
|
-~-~-~-~-~-
|
|
<<display PlayerStats>>
|
|
<<display PlayerSkills>>
|
|
<<display Inventory>>
|
|
|
|
:: postrender [script]
|
|
postrender.tagInventory = function(place) {
|
|
var inv = tale.get("Inventory");
|
|
if (inv.id !== undefined && ~this.tags.indexOf("inv")) {
|
|
new Wikifier(place, inv.processText());
|
|
};
|
|
var stats = tale.get("PlayerStats");
|
|
if(stats.id !== undefined && ~this.tags.indexOf("stats")) {
|
|
new Wikifier(place, stats.processText());
|
|
};
|
|
var skills = tale.get("PlayerSkills");
|
|
if(skills.id !== undefined && ~this.tags.indexOf("skills")) {
|
|
new Wikifier(place, skills.processText());
|
|
};
|
|
if(~this.tags.indexOf("item")) {
|
|
new Wikifier(place, "\n[[Return|previous()]]");
|
|
};
|
|
}
|
|
|
|
:: core-init
|
|
<<nobr>>
|
|
<<set $items = {} >>
|
|
<<set $events = {} >>
|
|
<<set $stats = {} >>
|
|
<<set $stats['health'] to 10 >>
|
|
<<set $stats['health_max'] to 10 >>
|
|
<<set $stats['mana'] to 5 >>
|
|
<<set $stats['mana_max'] to 5 >>
|
|
<<set $skills = {} >>
|
|
<<set $items['gold'] to 0 >>
|
|
<<endnobr>>
|
|
|
|
:: GetInit [script]
|
|
try {
|
|
version.extensions['GetInit'] = {
|
|
major:0, minor:1, revision:0
|
|
};
|
|
macros['Init'] =
|
|
{
|
|
handler: function(place, macroName, params, parser)
|
|
{
|
|
var msg = "<<nobr>><<if visited(passage()) eq 1>>";
|
|
msg += "<<display \"core-init\">>"; //manually add core-init first
|
|
console.log("Initializing core-init");
|
|
for(var p in tale.passages) {
|
|
/%if(~tale.passages[p].tags.indexOf("init")) {%/
|
|
if(p.slice(-5) == "-init" && p != "core-init") {
|
|
msg += "<<display \"" + p + "\">>";
|
|
console.log("Initializing " + p);
|
|
}
|
|
}
|
|
msg += "<<endif>><<endnobr>>";
|
|
new Wikifier(place, msg);
|
|
console.log("$items contains " + Object.keys(state.history[0].variables.items).length + " object(s)");
|
|
console.log("$events contains " + Object.keys(state.history[0].variables.events).length + " object(s)");
|
|
console.log("$stats contains " + Object.keys(state.history[0].variables.stats).length + " object(s)");
|
|
console.log("$skills contains " + Object.keys(state.history[0].variables.skills).length + " object(s)");
|
|
},
|
|
init: function() { },
|
|
};
|
|
} catch(e) {
|
|
throwError(place,"GetInit Setup Error: " + e.message);
|
|
}
|
|
|
|
:: GetStarts [script]
|
|
try {
|
|
version.extensions['GetStarts'] = {
|
|
major:0, minor:1, revision:0
|
|
};
|
|
macros['Starts'] =
|
|
{
|
|
handler: function(place, macroName, params, parser)
|
|
{
|
|
var msg = "";
|
|
for(var p in tale.passages) {
|
|
/%if(~tale.passages[p].tags.indexOf("init")) {%/
|
|
if(p.slice(-6) == "-start") {
|
|
if(tale.passages[p+"Description"]) {
|
|
console.log("Found " + p + "Description");
|
|
msg += "<<display \"" + p + "Description\">>";
|
|
}
|
|
else {
|
|
console.log("Found " + p);
|
|
msg += "[[" + p + "]]"
|
|
}
|
|
msg += "\n\n";
|
|
}
|
|
}
|
|
new Wikifier(place, msg);
|
|
},
|
|
init: function() { },
|
|
};
|
|
} catch(e) {
|
|
throwError(place,"GetInit Setup Error: " + e.message);
|
|
}
|