function NameInfo(name, color) { this.name = name; this.color = color; } function Characters() { this.names = {}; } Characters.prototype.DEFAULT_COLOR = 0xFFC0C0C0; Characters.prototype.contains = function (shortName) { return shortName in this.names; }; Characters.prototype.get = function (shortName) { return this.names[shortName]; }; Characters.prototype.setName_2 = function (shortName, fullName) { if (shortName in this.names) { var info = this.names[shortName]; info.name = fullName; } else { this.names[shortName] = new NameInfo(fullName, this.DEFAULT_COLOR); } return shortName in this.names; }; Characters.prototype.setName_3 = function (shortName, fullName, color) { if (shortName in this.names) { var info = this.names[shortName]; info.name = fullName; info.color = color; } else { this.names[shortName] = new NameInfo(fullName, color); } return shortName in this.names; }; Characters.prototype.setName = function (arg1, arg2, arg3) { if (arguments.length === 2) return this.setName_2(arg1, arg2); else return this.setName_2(arg1, arg2, arg3); }; Characters.prototype.makeNamesUnknown = function () { // https://github.com/yakui-lover/eroge-dopil/blob/master/media.rpy#L365 this.names["me"] = new NameInfo("Семён", 0xFFE1DD7D); this.names["un"] = new NameInfo("Пионерка", 0xFFB956FF); this.names["dv"] = new NameInfo("Пионерка", 0xFFFFAA00); this.names["sl"] = new NameInfo("Пионерка", 0xFFFFD200); this.names["us"] = new NameInfo("Пионерка", 0xFFFF3200); this.names["mt"] = new NameInfo("Вожатая", 0xFF00EA32); this.names["cs"] = new NameInfo("Медсестра", 0xFFA5A5FF); this.names["mz"] = new NameInfo("Пионерка", 0xFF4A86FF); this.names["mi"] = new NameInfo("Пионерка", 0xFF00DEFF); this.names["uv"] = new NameInfo("Странная девочка", 0xFF4EFF00); this.names["lk"] = new NameInfo("Луркмор-кун", 0xFFFF8080); this.names["sh"] = new NameInfo("Пионер", 0xFFFFF226); this.names["el"] = new NameInfo("Пионер", 0xFFFFFF00); this.names["pi"] = new NameInfo("Пионер", 0xFFE60101); this.names["dy"] = new NameInfo("Голос из динамика", 0xFFC0C0C0); this.names["voice"] = new NameInfo("Голос", 0xFFE1DD7D); this.names["voices"] = new NameInfo("Голоса", 0xFFC0C0C0); this.names["message"] = new NameInfo("Сообщение", 0xFFC0C0C0); this.names["all"] = new NameInfo("Пионеры", 0xFFED4444); this.names["kids"] = new NameInfo("Малышня", 0xFFEB7883); this.names["dreamgirl"] = new NameInfo("...", 0xFFC0C0C0); this.names["bush"] = new NameInfo("Голос", 0xFFC0C0C0); this.names["FIXME_voice"] = new NameInfo("Голос", 0xFFC0C0C0); this.names["odn"] = new NameInfo("Одногруппник", 0xFFC0C0C0); this.names["mt_voice"] = new NameInfo("Голос", 0xFF00EA32); }; Characters.prototype.makeNamesKnown = function () { this.setName("me", "Семён"); this.setName("un", "Лена"); this.setName("dv", "Алиса"); this.setName("sl", "Славя"); this.setName("us", "Ульяна"); this.setName("mt", "Ольга Дмитриевна"); this.setName("cs", "Виола"); this.setName("mz", "Женя"); this.setName("mi", "Мику"); this.setName("uv", "Юля"); this.setName("lk", "Луркмор-кун"); this.setName("sh", "Шурик"); this.setName("el", "Электроник"); this.setName("pi", "Пионер"); this.setName("dy", "Голос из динамика"); this.setName("voice", "Голос"); this.setName("voices", "Голоса"); this.setName("message", "Сообщение"); this.setName("all", "Пионеры"); this.setName("kids", "Малышня"); this.setName("dreamgirl", "..."); this.setName("bush", "Голос"); this.setName("FIXME_voice", "Голос"); this.setName("odn", "Одногруппник"); this.setName("mt_voice", "Голос"); };