95 lines
2.7 KiB
JavaScript
95 lines
2.7 KiB
JavaScript
FAMILY = function () {
|
|
this.titles = [];
|
|
this.npcs = [];
|
|
this.battle_family = null;
|
|
//this.scores = new Map();
|
|
this.battle_score = 0;
|
|
this.battle_gift = 0;
|
|
this.can_battle = false;
|
|
}
|
|
|
|
FAMILY.inherits(BASE);
|
|
FAMILIES = {};
|
|
FAMILY.prototype.set_titles = function () {
|
|
for (var i = 0; i < arguments.length; i++) {
|
|
this.titles.push(arguments[i]);
|
|
}
|
|
}
|
|
FAMILY.prototype.create = function (path) {
|
|
FAMILIES[this.id] = this;
|
|
|
|
}
|
|
FAMILY.prototype.update = function (path) {
|
|
FAMILIES[this.id] = this;
|
|
}
|
|
FAMILY.prototype.query_title = function (level) {
|
|
return this.titles[level];
|
|
}
|
|
|
|
|
|
FAMILY.prototype.query_temp = CHARACTER.prototype.query_temp;
|
|
FAMILY.prototype.set_temp = CHARACTER.prototype.set_temp;
|
|
FAMILY.prototype.remove_temp = CHARACTER.prototype.remove_temp;
|
|
FAMILY.prototype.add_temp = CHARACTER.prototype.add_temp;
|
|
|
|
FAMILY.prototype.send = function (str) {
|
|
for (var i = 0; i < WORLD.USERS.length; i++) {
|
|
if (WORLD.USERS[i].family == this) {
|
|
WORLD.USERS[i].send(str);
|
|
}
|
|
}
|
|
}
|
|
FAMILY.prototype.is_battle = function (fam) {
|
|
return this.battle_family == fam.id;
|
|
}
|
|
FAMILY.prototype.add_score = function (me, sc) {
|
|
this.battle_score += sc;
|
|
}
|
|
|
|
|
|
|
|
CHARACTER.prototype.send_fam = function (str) {
|
|
this.family.send(str);
|
|
}
|
|
FAMILY.prototype.create_name = function () {
|
|
return UTIL.random_name(this.gender);
|
|
}
|
|
FAMILY.prototype.query_skill = function (grade) {
|
|
if (!this.skill_levels) {
|
|
this.skill_levels = [];
|
|
for (var i = 0; i < this.skills.length; i++) {
|
|
if (!this.skill_levels[this.skills[i].grade]) {
|
|
this.skill_levels[this.skills[i].grade] = [];
|
|
}
|
|
this.skill_levels[this.skills[i].grade].push(this.skills[i]);
|
|
}
|
|
}
|
|
if (grade >= this.skill_levels.length) grade = this.skill_levels.length - 1;
|
|
return this.skill_levels[grade].random();
|
|
}
|
|
FAMILY.prototype.query_skills = function (grade) {
|
|
if (!this.skill_levels) {
|
|
this.skill_levels = [];
|
|
for (var i = 0; i < this.skills.length; i++) {
|
|
if (!this.skill_levels[this.skills[i].grade]) {
|
|
this.skill_levels[this.skills[i].grade] = [];
|
|
}
|
|
this.skill_levels[this.skills[i].grade].push(this.skills[i]);
|
|
}
|
|
}
|
|
if (grade >= this.skill_levels.length) grade = this.skill_levels.length - 1;
|
|
return this.skill_levels[grade];
|
|
}
|
|
FAMILY.prototype.add_gongji = function (me, count) {
|
|
if (!count) return;
|
|
me.add_temp("gongji", count);
|
|
if (count < 0) return;
|
|
if (!this.tops) this.tops = {};
|
|
var old = this.tops[me.id];
|
|
if (!old) this.tops[me.id] = { name: me.name, score: count };
|
|
else {
|
|
old.score += count;
|
|
}
|
|
}
|
|
|