//extends com.planet_ink.coffee_mud.Items.Software.GenSoftware
//implements com.planet_ink.coffee_mud.Items.interfaces.ArchonOnly
function ID(){ return "ShipDiagProgram";}
var lib=Packages.com.planet_ink.coffee_mud.core.CMLib;
function newInstance()
{
var newOne=this.super$newInstance();
newOne.setName("a diag program disk");
newOne.setDisplayText("a small disk sits here.");
newOne.setDescription("It appears to be a diagnostics terminal program.");
return newOne;
}
function getParentMenu() { return ""; }
function getInternalName() { return "SCRIPTDIAG";}
function isActivationString(word)
{
return this.isCommandString(word, false);
}
function isDeActivationString(word)
{
return this.isCommandString(word, false);
}
function isCommandString(word, isActive)
{
if(!isActive)
{
return word.toUpperCase() == "DIAGTERM";
}
else
{
return true;
}
}
function getActivationMenu()
{
return "DIAGTERM: Internal computer systems diagnostics termanal";
}
function onActivate(mob, message)
{
this.addScreenMessage("Diagnostics Computer Terminal Activated");
this.setCurrentScreenDisplay("Diagnostics Computer Terminal Activated\n\rEnter a JavaScript command to use.");
}
function onTyping(mob, message)
{
var cmd=''+message;
var x=cmd.indexOf('`');
while(x>=0) {
cmd = cmd.substr(0,x)+'\''+cmd.substr(x+1);
x=cmd.indexOf('`')
}
this.addScreenMessage("Input : "+cmd);
try
{
this.addScreenMessage("Output: "+eval(cmd));
}
catch(err)
{
this.addScreenMessage("Error : "+(err ? err.message : '?'));
}
}