ame: D.TOP_PLANE.name, kind: 'top' };
if (pc.plane && pc.plane.indexOf('upper:') === 0) {
var u = D.upperRealmById(pc.plane.slice(6));
if (u) return { name: u.name, kind: 'upper', upper: u };
}
return { name: pc.world ? pc.world.name : '下界', kind: 'lower' };
};
/* ---------- 身份词条解释 ---------- */
D.IDENTITY_GLOSSARY = {
'游方僧': '没有固定寺院的僧人。靠化缘与替人做法事过活,走到哪算哪,不受宗门管,也没人护着。',
'散修': '没有宗门、没有传承、没有靠山的修士。自由,但也意味着受伤没人治、死了没人埋。',
'散修老怪': '在散修里熬了很多年的人。这个称呼说的是资历与手段,不是岁数。',
'器物': '不是血肉之躯,是被人做出来的一具身体。做过什么、被谁丢下,往往记不全。',
'妖族': '非人族血脉。在人族地界是二等生灵,出城要令牌,犯事罪加一等。',
'诡异': '不属于这一界的东西。你在的时候,周围的规则会轻微地不对。',
'人族': '血肉之躯,最常见,也最不受限——没有天赋,也没有诅咒。',
'宗门弃徒': '被逐出师门的人。旧同门见面不认,旧仇家见面会笑。',
'皇朝帝王': '一国之主。有兵、有税、有史官,也有无数人等着你死。',
'药王': '炼丹、识药到极处的人。修士求你,凡人也求你,求你的人未必盼你好。',
'掌门': '一宗之主。听着风光,其实是替全宗背因果的那个人。',
'气运之子': '天道偏爱的那一个。奇遇会自己找上门,代价是所有人都想分你的气运。',
'重生者': '死过一次,又从更早的某一天醒来。你知道一些还没发生的事。',
'穿越者': '从另一个世界来的。你知道一些这个世界不该有人知道的事。',
'系统绑定': '身上多了一个只有你能看见的东西,它给你任务,也给你代价。',
'路人甲': '没有来历、没有故事的人。这既是保护,也是限制。',
'背景板': '站在故事之外的人。你看见很多,参与很少。',
'被夺舍之人': '身体里还住着另一个人的残识。它安静,但没有走。',
'天道弃子': '天道不再看你。厄运不需要理由,好运也不需要。',
'被放逐之人': '被赶出某地、某宗、某国的人。回去就是死罪。',
'叛徒': '从原来那一方反出来的人。旧同伴见你会动手,新同伴也不会全信你。',
'经验包': '别人拿来垫脚的称呼。意思是:你的故事不会太长,但会成全别人的故事。',
'工具人': '别人需要你的时候你在,不需要的时候你不存在。',
'炮灰': '冲在最前面、死得最早的那一批人。',
'器灵转世': '你曾经是一件器物里的灵,如今有了人的身体。器物时代的记忆还在。',
'剑修': '以剑入道的人。剑在人在,剑断人未必断。',
'丹师': '以炼丹为业的人。修士求你,也防你。',
'邪修': '走偏门的修士。功法快,代价大,正道见你就杀。',
'魔修': '以魔气修行的人。不强求善恶,只强求活着。',
'旁白': '你不参与故事,你只是把故事讲出来的人。',
'商人': '做买卖的人。在修仙界,商人比修士更懂人心,也更懂什么时候该闭嘴。',
'外神眷属': '你身上有外神留下的东西。它不常说话,但它一直在看。',
'弑神者': '你杀过一个被称作神的东西。这件事没人敢提,但所有人都记得。',
'凡人': '没有修为的普通人。活得短,但看得多。',
'修士': '以修行求长生的人。走得远,但大多死在中途。'
};
D.explainIdentity = function (kind, term) {
var t = String(term || '');
if (D.IDENTITY_GLOSSARY[t]) return D.IDENTITY_GLOSSARY[t];
if (kind === 'birth') {
if (/人/.test(t)) return '血肉之躯,最常见,也最不受限。';
if (/身|躯|体/.test(t)) return '你这具身体不是父母生的,是被人做出来或改出来的。';
return '不是寻常出身。这件事在哪儿都瞒不住,也让你少了一些顾忌。';
}
if (kind === 'plight') {
if (t.charAt(0) === '被') return '有人(或某种力量)正在对你做「' + t.slice(1) + '」这件事,你暂时摆脱不了。';
if (t.indexOf('正在') === 0) return '你正处在「' + t.slice(2) + '」的过程里,还没走完。';
if (t.indexOf('刚刚') === 0) return '「' + t.slice(2) + '」刚刚发生,余波还在,别人已经知道了。';
if (t.indexOf('即将') === 0) return '「' + t.slice(2) + '」就快到了,你挡不住,只能准备。';
return '这是你现在站的位置:' + t + '。';
}
if (kind === 'status') {
if (/徒|子|孙|弟子/.test(t)) return '「' + t + '」是你在某个门派或势力里的位置。位置意味着靠山,也意味着管束。';
if (/王|帝|皇|主|尊|圣/.test(t)) return '「' + t + '」是别人对你的尊称,通常意味着你手里有别人想要的东西。';
if (/修|道|僧|尼|姑/.test(t)) return '「' + t + '」说的是你靠什么修行、靠什么吃饭。';
return '「' + t + '」是这一带对你的称呼。它不解释你的过去,只说明别人怎么看你。';
}
if (kind === 'tag') {
if (/经验|工具|炮灰|路人|背景|旁白|垫脚/.test(t)) return '这是个不太好听的称呼:在别人眼里,你是用来铺路的。';
if (/之子|之女|之人|之身|之体/.test(t)) return '这是别人给你的一个说法:' + t + '。它不一定准确,但足够让陌生人对你多看一眼。';
return '别人这样叫你,通常是因为你身上有一件藏不住的事。';
}
return '这是你的一个标签:' + t + '。';
};
/* ---------- 自创修炼体系 ---------- */
D.CUSTOM_KEY = 'ddwj_custom_sys_v1';
D.registerCustomSystem = function (sys) {
if (!sys || !sys.ladder || sys.ladder.length !== 11) return null;
D.SYSTEMS = D.SYSTEMS.filter(function (s) { return s.id !== 'custom'; });
var full = {
id: 'custom', name: sys.name || '自创体系', short: '创', upper: sys.upper || '自创上界',
color: '#c6a86a', desc: sys.desc || '你自己写下的一条路。名字是你定的,规矩也是你定的。',
custom: true, ladder: sys.ladder
};
D.SYSTEMS.push(full);
return full;
};
D.loadCustomSystem = function () {
try {
var s = JSON.parse(localStorage.getItem(D.CUSTOM_KEY) || 'null');
if (s && s.ladder && s.ladder.length === 11) D.registerCustomSystem(s);
} catch (e) {}
};
D.saveCustomSystem = function (sys) {
try { localStorage.setItem(D.CUSTOM_KEY, JSON.stringify(sys)); } catch (e) {}
return D.registerCustomSystem(sys);
};
D.loadCustomSystem();
})();