function Module(rune) { this.rune = rune; this.element = null; this.parameters = []; this.variables = {}; this.docs = "Missing documentation."; this.active = function(cmd) { console.log("Nothing to do."); } this.passive = function(cmd) { console.log("Nothing to do."); } this.update_variables = function(cmd) { for (var key in this.variables){ if(!cmd.variable(key)){ continue; } this.variables[key] = cmd.variable(key).value; } } this.hint = function(cmd) { var s = this.pad(cmd.content.join(" ")); s += cmd.content.join(" ").length == 0 ? "<span class='module'>"+this.constructor.name+"</span>" : ""; // Params var e = 0; while(e < 10){ if(!this.parameters[e]){ break; } var param_name = this.parameters[e].name; s += cmd[param_name.toLowerCase()]() ? "" : "<span class='param'>"+param_name+"</span>"; e += 1; } // Variables if(this.variables){ for (var key in this.variables){ if(cmd.variable(key)){continue;} s += "<span class='variable_key'>"+key+"</span>=<span class='variable_value'>"+this.variables[key]+"</span> "; } } return s; } this.pad = function(input) { var s = ""; for (i = 0; i < input.length+2; i++){ s += "_"; } return "<span style='color:#000'>"+s+"</span>"; } this.widget = function() { return ""; } this.widget_cursor = function() { return "Missing"; } this.mouse_down = function(position) { } this.mouse_move = function(position) { } this.mouse_up = function(position) { } }