建造系统: - 新增「经营」页签,农田/牧场归入经营分类 - 建筑默认左向(_l.png)与素材方向统一,图标/预览/落地三处一致 - 建筑底宽对齐占地格边缘 - 修复:中键平移、建造态右键取消选择、登录态2x2被后端覆盖为3x3 资源清理(均为未引用文件): - 删除 _ 临时脚本(_c/_check_inline/_chk/_del_assets/_mw_check/_proc_fence) - 删除原始生成稿(_raw/、backgrounds/samples/、preview_clean/、设计说明图) - 删除 default/ 下冗余待审稿(farmland_20260806/well_20260806/animals_3x3/style_reference) - 删除 spring/_preview 预览图、assets/1.png、Keep_the_vast 草图
164 lines
12 KiB
HTML
164 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
<title>规则 · 宇森 Yusen</title>
|
|
<link rel="stylesheet" href="assets/fonts/yusen-fonts.css" />
|
|
<link rel="icon" type="image/png" sizes="48x48" href="assets/ui/logo_planet_48.png?v=20260723">
|
|
<link rel="stylesheet" href="assets/common.css" />
|
|
<style>
|
|
.rules-scroll{max-width:1080px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:34px;padding:30px 48px;}
|
|
.rule-block{}
|
|
.rule-block h3{position:relative;display:inline-block;font-family:"ZCOOL QingKe HuangYou",sans-serif;font-size:28px;color:#fff;letter-spacing:3px;margin:0 0 16px;padding-bottom:11px;
|
|
text-shadow:0 2px 14px rgba(139,92,246,.35);}
|
|
.rule-block h3::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:3px;border-radius:3px;
|
|
background:linear-gradient(90deg,var(--gold),var(--violet));}
|
|
.rule-intro{font-size:17px;color:var(--text-dim);margin-bottom:18px;line-height:1.95;max-width:860px;}
|
|
.rule-intro b{color:#fff;}
|
|
.tier-list{display:flex;flex-direction:column;gap:10px;}
|
|
.tier-row{display:grid;grid-template-columns:104px 124px 1fr;gap:16px;align-items:center;background:var(--card);border:1px solid var(--card-bd);border-radius:12px;padding:14px 18px;transition:.2s;}
|
|
.tier-row:hover{border-color:var(--violet);background:rgba(139,92,246,.10);box-shadow:var(--glow);}
|
|
.tier-row .tn{font-family:"Press Start 2P",monospace;font-size:12px;color:var(--cyan);}
|
|
.tier-row .tname{font-size:18px;color:#fff;font-weight:600;}
|
|
.tier-row .tdesc{font-size:16.5px;color:var(--text-dim);line-height:1.7;}
|
|
|
|
@media (max-width:768px){
|
|
.rules-scroll{padding:20px 18px;}
|
|
.tier-row{grid-template-columns:72px 92px 1fr;gap:8px;}
|
|
}
|
|
@media (max-width:480px){
|
|
.tier-row{grid-template-columns:60px 76px 1fr;gap:6px;}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="app">
|
|
<header class="topbar">
|
|
<a href="index.html" class="logo"><span class="cn">宇森</span></a>
|
|
<nav class="nav">
|
|
<a href="announce.html">公告</a>
|
|
<a href="background.html">背景</a>
|
|
<a href="rules.html">规则</a>
|
|
<a href="codex.html">图鉴</a>
|
|
<a href="story.html">剧情</a>
|
|
<a href="forum.html" class="auth-only">论坛</a>
|
|
<a href="worlddata.html" class="auth-only">世界数据</a>
|
|
</nav>
|
|
<div class="spacer"></div>
|
|
<div class="user-box" id="userBox"></div>
|
|
</header>
|
|
|
|
<main class="page-content hide-scroll">
|
|
<div class="rules-scroll" id="rulesBody">
|
|
<!-- JS 渲染:优先后端 API.rules(),兜底硬编码 -->
|
|
</div>
|
|
</main>
|
|
</div>
|
|
|
|
<script src="assets/game-api.js"></script>
|
|
<script src="assets/common.js"></script>
|
|
<script>
|
|
// 规则数据:先尝试从后端拉取,失败则用本地硬编码
|
|
async function loadRules(){
|
|
const el = document.getElementById('rulesBody');
|
|
if (!el) return;
|
|
|
|
// 尝试后端
|
|
try {
|
|
const d = await API.rules();
|
|
const groups = (d && d.groups) || [];
|
|
const ruleGroups = groups.filter(g => (g.key||'').toLowerCase() !== 'faction');
|
|
if (ruleGroups.length && ruleGroups.some(g => (g.items||[]).length > 0)) {
|
|
let html = ruleGroups.map(g => {
|
|
const title = g.label || g.title || g.key;
|
|
const rows = (g.items || []).map(it => {
|
|
const lvl = (it.level != null) ? ('Lv.' + it.level) : (g.key === 'world' ? '阶段' : '');
|
|
// desc 可能含 <p> 标签,提取纯文本
|
|
const desc = (it.desc || '').replace(/<[^>]+>/g, '');
|
|
return `<div class="tier-row"><span class="tn">${lvl}</span><span class="tname">${it.name}</span><span class="tdesc">${desc}</span></div>`;
|
|
}).join('');
|
|
const intro = (g.intro || '').replace(/<[^>]+>/g, '');
|
|
return `<div class="rule-block"><h3>${title}</h3>` +
|
|
(intro ? `<p class="rule-intro">${intro}</p>` : '') +
|
|
`<div class="tier-list">${rows}</div></div>`;
|
|
}).join('');
|
|
// 补上后端没有的「制度说明」段
|
|
html += `
|
|
<div class="rule-block">
|
|
<h3>④ 制度说明</h3>
|
|
<p class="rule-intro">三者相互独立又彼此加成:<b style="color:#fff">世界等级</b>是舞台上限,决定能发生什么;<b style="color:#fff">势力等级</b>是群体进度,决定能调动什么;<b style="color:#fff">角色等级</b>是个体成长,决定能做成什么。园丁的核心策略,是在三者间分配有限的引导资源,让文明自洽地向上演化。<br><br>跃迁逻辑:角色历练与装备积累→提升势力实力→推动世界阶段跃迁→解锁更深内容(更深的地下层、更远的星空层、更强的神器)。每一级提升都会扩大可叙事的事件池,世界因此越活越厚。</p>
|
|
</div>`;
|
|
el.innerHTML = html;
|
|
return;
|
|
}
|
|
} catch(e){ /* 后端失败走兜底 */ }
|
|
|
|
// 本地硬编码兜底(完整中文内容)
|
|
el.innerHTML = `
|
|
<div class="rule-block">
|
|
<h3>① 世界等级 · 五阶段</h3>
|
|
<p class="rule-intro">世界从鸿荒到归元的整体进化阶段,决定可解锁的内容深度与事件池上限。园丁对世界施加的影响会推动阶段跃迁——这是文明能"发生什么"的舞台上限。</p>
|
|
<div class="tier-list">
|
|
<div class="tier-row"><span class="tn">阶段一</span><span class="tname">鸿荒</span><span class="tdesc">万物蒙昧,文明种子落地未醒;园丁穷神开局,仅有创世原一簇火的可能。</span></div>
|
|
<div class="tier-row"><span class="tn">阶段二</span><span class="tname">启明</span><span class="tdesc">聚落与火光初现,名与语、工与棚成形,第一代秩序萌芽。</span></div>
|
|
<div class="tier-row"><span class="tn">阶段三</span><span class="tname">鼎世</span><span class="tdesc">多族共治、疆域成形,十五大系统解锁,文明可自循环。</span></div>
|
|
<div class="tier-row"><span class="tn">阶段四</span><span class="tname">寰界</span><span class="tdesc">天地贯通,地下深渊与浩瀚星空尽纳管辖,跨界面作战。</span></div>
|
|
<div class="tier-row"><span class="tn">阶段五</span><span class="tname">归元</span><span class="tdesc">勘破本源、超脱规则束缚,可创世飞升,往更高维度演化。</span></div>
|
|
</div>
|
|
</div>
|
|
<!-- 势力等级(暂时隐藏:② 势力等级整段暂隐,待用户要求恢复时取消此注释即可;后端 game_base_data.xml 的 faction 数据未动)
|
|
<div class="rule-block">
|
|
<h3>② 势力等级</h3>
|
|
<p class="rule-intro">文明内部群体的聚合度,由人口、领土、影响力累计。势力等级越高,可调动的世界资源与外交权重越大——决定文明"能调动什么"。</p>
|
|
<div class="tier-list">
|
|
<div class="tier-row"><span class="tn">Lv.1</span><span class="tname">鸿荒·种族</span><span class="tdesc">血缘小群体,蛮荒无制度。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.2</span><span class="tname">启明·部盟</span><span class="tdesc">灵气聚落联盟,初步治理与贸易。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.3</span><span class="tname">鼎世·王国</span><span class="tdesc">疆域整合,军法、道规体系完善。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.4</span><span class="tname">大同·联邦</span><span class="tdesc">跨族群共治,制度与传奇并行。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.5</span><span class="tname">寰界·天盟</span><span class="tdesc">天地大陆霸主,穿梭星空深渊作战。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.6</span><span class="tname">归元·宇盟</span><span class="tdesc">多维文明联合体,触及世界本源博弈。</span></div>
|
|
</div>
|
|
</div>
|
|
-->
|
|
<div class="rule-block">
|
|
<h3>③ 人物角色等级 · 十二阶段</h3>
|
|
<p class="rule-intro">个体(英雄 / 领袖 / 特殊 NPC)的成长阶序,通过历练、天赋点亮与装备积累提升,影响可承担的职责与战力——决定个体"能做成什么"。</p>
|
|
<div class="tier-list">
|
|
<div class="tier-row"><span class="tn">Lv.1</span><span class="tname">赤子</span><span class="tdesc">初入世界的无名者。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.2</span><span class="tname">稚民</span><span class="tdesc">习得基础生存。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.3</span><span class="tname">劳者</span><span class="tdesc">能独立劳作。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.4</span><span class="tname">巧匠</span><span class="tdesc">某一技之长崭露。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.5</span><span class="tname">贤能</span><span class="tdesc">群体里的骨干。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.6</span><span class="tname">巨擘</span><span class="tdesc">一方领袖。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.7</span><span class="tname">宗师</span><span class="tdesc">开宗立派的人物。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.8</span><span class="tname">传奇</span><span class="tdesc">事迹载入编年史。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.9</span><span class="tname">神话</span><span class="tdesc">近乎传说的存在。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.10</span><span class="tname">半神</span><span class="tdesc">触及世界法则。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.11</span><span class="tname">圣灵</span><span class="tdesc">被信仰托举的意志。</span></div>
|
|
<div class="tier-row"><span class="tn">Lv.12</span><span class="tname">创世</span><span class="tdesc">超越生死的世界锚点。</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="rule-block">
|
|
<h3>④ 制度说明</h3>
|
|
<p class="rule-intro">三者相互独立又彼此加成:<b style="color:#fff">世界等级</b>是舞台上限,决定能发生什么;<b style="color:#fff">势力等级</b>是群体进度,决定能调动什么;<b style="color:#fff">角色等级</b>是个体成长,决定能做成什么。园丁的核心策略,是在三者间分配有限的引导资源,让文明自洽地向上演化。<br><br>跃迁逻辑:角色历练与装备积累→提升势力实力→推动世界阶段跃迁→解锁更深内容(更深的地下层、更远的星空层、更强的神器)。每一级提升都会扩大可叙事的事件池,世界因此越活越厚。</p>
|
|
</div>
|
|
<div class="rule-block">
|
|
<h3>⑤ 货币等级 · 六档</h3>
|
|
<p class="rule-intro">文明流通的价值尺度,从凡俗零钱到本源货币,越稀有的货币可交易的资源层级越高——决定文明"能交换什么"。<br><br><b style="color:#fff">兑换规则:</b>100 低等级货币 = 1 高等级货币。</p>
|
|
<div class="tier-list">
|
|
<div class="tier-row"><span class="tn">Lv.1</span><span class="tname">铜币</span><span class="tdesc">凡俗零钱,铜铸。<b>100 铜币 = 1 银币</b></span></div>
|
|
<div class="tier-row"><span class="tn">Lv.2</span><span class="tname">银币</span><span class="tdesc">聚落通用,银锭。<b>100 银币 = 1 金币</b></span></div>
|
|
<div class="tier-row"><span class="tn">Lv.3</span><span class="tname">金币</span><span class="tdesc">疆域通行,足金。<b>100 金币 = 1 紫金</b></span></div>
|
|
<div class="tier-row"><span class="tn">Lv.4</span><span class="tname">紫金</span><span class="tdesc">地下深层贵金,泛紫光。<b>100 紫金 = 1 星辉</b></span></div>
|
|
<div class="tier-row"><span class="tn">Lv.5</span><span class="tname">星辉</span><span class="tdesc">星空层交易,凝星辉之力。<b>100 星辉 = 1 宇玺</b></span></div>
|
|
<div class="tier-row"><span class="tn">Lv.6</span><span class="tname">宇玺</span><span class="tdesc">本源结晶铸的最高货币,仅用于传说级交易与飞升仪式。</span></div>
|
|
</div>
|
|
</div>
|
|
`;
|
|
}
|
|
loadRules();
|
|
</script>
|
|
</body>
|
|
</html>
|