//Lemming.js //a sample MOB class to demonstrate Javascript class creation. //to load this class from the command line, enter: //LOAD MOB /resources/jscript/Lemming.js //then enter: //CREATE MOB Lemming // //extends com.planet_ink.coffee_mud.MOBS.StdMOB //do not change the above line -- it's actual code! // just like in all other cm classes, an ID method must be defined // and the value returned must be the class name. function ID(){return "Lemming";} // since we don't have constructor access to set our initial fields, // we must use the newInstance() method. function newInstance() { var lemm=this.super$newInstance(); lemm.setName("a lemming"); lemm.setDisplayText("a lemming is waiting to commit suicide"); return lemm; } // Define a shortcut to our libraries var lib=Packages.com.planet_ink.coffee_mud.core.CMLib; // and define a countdown variable to kill off our lemming. var countdown=10; // here is our tick method. Here we can wait for our countdown to // complete and then kill off our poor lemming by calling // the appropriate library method. function tick(host,tickID) { if(!this.amDead()) { countdown--; if(countdown<=0) { lib.combat().postDeath(null,this,null); countdown=10; } } return this.super$tick(host,tickID); } // now we get creative. Let's capture the death message posted in // the tick method, and change the text around a bit. function okMessage(host,msg) { if((msg.source()==this)&&(msg.othersMessage()!=null)) { var x=msg.othersMessage().indexOf('is DEAD!!!'); if(x>=0) { var newmsg=msg.othersMessage().substring(0,x); newmsg+="jumps off a cliff!!!"; newmsg+=msg.othersMessage().substring(x+10); msg.setOthersMessage(newmsg); } } return this.super$okMessage(host,msg); }