{ function Creature(info,attributes,properties,drawinfo,battle){ /* info: pname, cname,class, level, experience, race, size * attributes: body, agility, spirit * properties: strength, hardness, movement, skill, mind, aura * drawinfo: x,y,w,h,col */ this.info = {"pname": info["pname"]+"", "experience": info["experience"]*1, "race":info["race"]+"", "size":info["size"]*1}; this.attributes = {"body": attributes["body"]*1, "agility": attributes["agility"]*1, "spirit": attributes["spirit"]*1}; this.properties = {"strength": properties["strength"]*1 , "hardness": info["hardness"]*1, "movement": info["movement"]*1, "skill": properties["skill"]*1, "mind": properties["mind"]*1, "aura": properties["aura"]*1}; this.graphelement = Crafty.e("Creature").creature(this.info["pname"],drawinfo["x"],drawinfo["y"], drawinfo["w"],drawinfo["h"],drawinfo["col"]); this.battle = {}; if(battle) { this.battle={"life": battle["life"], "defense": battle["defense"],"ini":battle["ini"], "walk": battle["walk"], "melee": battle["melee"], "shoot": battle["shoot"], "chant": battle["chant"], "shoot_chant": battle["shoot_chant"]}; } else { this.battle["life"] = this.attributes.body + this.properties.strength + 10; this.battle["defense"] = this.attributes.body + this.properties.hardness; this.battle["ini"] = this.attributes.agility + this.properties.movement; this.battle["walk"] = (this.attributes.agility / 2) +1; this.battle["melee"] = this.attributes.body + this.properties.strength; this.battle["shoot"] = this.attributes.agility + this.properties.mind; this.battle["chant"] = this.attributes.spirit + this.properties.aura; this.battle["shoot_chant"] = this.attributes.spirit + this.properties.skill; }; this.life = this.battle["life"]*1; }; Creature.prototype.attack = function(enem) { console.log("attack"); //console.log(this.cname+" greift "+enem.cname+" an!"); //console.log("Ergebnis: " + this.melee + ( this.melee > enem.defense? " > " : " < ") + enem.defense); }; function Player(info,attributes,properties,drawinfo,battle){ // x,y,w,h,col) { /* info: pname, cname,class, level, experience, race, size * attributes: body, agility, spirit * properties: strength, hardness, movement, skill, mind, aura * drawinfo: x,y,w,h,col */ Creature.apply(this, arguments); this.info["cname"]= info["cname"]+""; this.info["class"]= info["class"]+""; this.info["level"]= info["level"]*1; // Set default battle-propoerties. this.extern = {"armor":0,"chant":0,"weapon":0}; this.battle["defense"] += this.extern.armor; this.battle.melee += this.extern.weapon; this.battle.shoot += this.extern.weapon; this.battle.chant = this.battle.chant + this.extern.chant - this.extern.armor; this.battle.shoot_chant = this.battle.chant + this.extern.chant - this.extern.armor; }; Player.prototype = new Creature(); Player.prototype.printoutput = function() { $('#output').empty(); $('#output').html(this.info.cname+"
"+this.info.pname); }; function Beast(info,attributes,properties,drawinfo,battle){ // x,y,w,h,col) { /* info: pname, experience, race, size * attributes: body, agility, spirit * properties: strength, hardness, movement, skill, mind, aura * drawinfo: x,y,w,h,col * battle: life, defense,ini,walk,melee,shoot,chant,shoot_chant */ Creature.apply(this,arguments); this.info.cname=this.info.pname; }; Beast.prototype.printoutput = function() { $('#output').empty(); $('#output').html(this.info.race+"
"+this.info.pname); }; }