计分板、王条与变量
随机地牢的计分板、王条、音效、菜单都沿用一般副本的设置方式(见 计分板、王条与音效、菜单、PlaceholderAPI 变量),这一页列出随机地牢多出来的部分。
右侧计分板
范例「深渊回廊」的计分板(/cd admin create --roguelike 建立的范本也是这一份):
scoreboard:
enabled: true
title: "&5&l深渊回廊"
lines:
- "&8&m "
- "&7第 &e{floor_text} &7层 {floor_progress}"
- "&7目前 {room_icon} &f{room_name}"
- ""
- "&b▍ &f{objective}"
- "&b▍ &f生命 &c❤ {lives}"
- "&b▍ &f{currency} {coins_text}"
- "&b▍ &f祝福 &e{card_count} &7张"
- ""
- "{members}"
- ""
- "{leave}"
一般副本的变量({objective}、{lives}、{members}、{time_left}……)照常能用,另外多了:
| 变量 | 内容 |
|---|---|
{floor} / {floors} | 第几层 / 总层数(无限层 = ∞) |
{floor_text} | 有限层 2/3,无限层只有层数 12 |
{floor_name} | 这一层的名称 |
{floor_progress} | 这一层的进度:打完 ■、目前 ▣、还没 □、首领 ♛ |
{room_name} | 目前房间的名称 |
{room_type} / {room_icon} | 目前房间的种类名称 / 图示 |
{room_index} / {rooms} | 这一层的第几间 / 一共几间 |
{rooms_cleared} | 这一场清除了几间房 |
{coins} / {coins_text} | 自己的魂晶 / 符号 + 数量 |
{currency} | 魂晶的名称 |
{card_count} | 自己有几张祝福 |
{cards} | 自己的祝福清单(每张一行,和 {members} 一样会展开成好几行) |
{curses} | 自己诅咒的总层数(一张叠了 3 层的诅咒算 3) |
{rerolls} | 自己还剩几次免费重抽 |
{best_floor} | 自己在这个模式的最高层数 |
{seed} | 这一场的种子 |
{scale_pct} | 这一层怪物血量多了几 % |
{rogue_stage} | 阶段:prepare(开场前)、room(房间里)、cleared(清除后选门 / 选祝福)、transit(换房间中)、ended(结束) |
{draft_left} / {picked} / {pickers} | 选祝福时:剩几秒 / 几个人选好了 / 要选的人数(不在选祝福时是空的) |
{objective} 在随机地牢里:战斗房照怪物组的 objective;商店、休息处、宝藏、事件房会显示「逛逛商店,准备好就走进门」这类提示,门出现后也保留这个提示;起点房和战斗、精英、首领房清除、门出现时换成「选择下一个房间」;全队选祝福时是「选择祝福」。文字在 lang.yml 的 hud.rogue-objective-*。
{floor_progress} 的符号在 lang.yml 的 rogue.progress-done / progress-current / progress-todo / progress-boss;{cards} 每一行的格式是 hud.rogue-card-line,没有祝福时显示 hud.rogue-no-cards。
王条
| 阶段 | 王条显示 |
|---|---|
打首领、精英(标记 boss 的怪) | 和一般副本一样显示它的血量(血量超过服务器上限时照换算后的血量显示) |
| 房间里 | 第几层、房间种类、目前目标;进度 = 怪物组的击杀进度 |
| 门出现(有倒数) | 「选择下一个房间」+ 剩几秒,进度条跟着倒数 |
| 门出现(没有倒数) | 「选择下一个房间 │ 走进一扇门」 |
| 全队选祝福 | 几个人选好了、剩几秒 |
| 换房间 | 「传送门充能中…」 |
文字在 lang.yml 的 bossbar.rogue-stage、rogue-doors、rogue-doors-idle、rogue-draft、rogue-moving。
标题
| 什么时候 | lang.yml 的键 |
|---|---|
| 每层开始(「第 N 层」+ 楼层名称、怪物强化 +N%) | title.rogue-floor / rogue-floor-sub |
| 进房间(种类 + 房间名称、第几间) | title.rogue-room / rogue-room-sub;精英、首领房另外用 rogue-room-elite、rogue-room-boss |
| 一层打完 | title.rogue-floor-clear / rogue-floor-clear-sub |
| 选祝福 | title.rogue-draft / rogue-draft-sub |
| 撤退成功 | title.rogue-retreat / rogue-retreat-sub |
| 无限层结束 | title.rogue-end / rogue-end-sub |
| 无限层刷新个人最高层数 | title.rogue-new-best / rogue-new-best-sub |
通关与失败用一般副本的 title.clear、title.fail(通关标题默认不显示,notify.clear-title: true 才显示)。把某个标题设成空字符串就不显示。
音效
副本 config.yml 的 sounds: 只写想改的,格式 音效 [音量] [音调],none = 不播放:
| 键 | 什么时候 | 默认 |
|---|---|---|
floor-start | 每层开始 | BLOCK_END_PORTAL_SPAWN 0.5 1.4 |
floor-clear | 一层打完 | UI_TOAST_CHALLENGE_COMPLETE 1 1.2 |
room-enter | 进房间 | BLOCK_RESPAWN_ANCHOR_SET_SPAWN 0.6 1.2 |
room-enter-boss | 进首领房 | ENTITY_WITHER_SPAWN 0.4 1.4 |
room-clear | 房间清除 | BLOCK_NOTE_BLOCK_PLING 1 1.6 |
door-open | 走进门、传送到下一间 | ENTITY_ENDERMAN_TELEPORT 0.8 1.2 |
door-vote | 有人投票选门 | BLOCK_NOTE_BLOCK_HAT 1 1.4 |
draft-open | 开始选祝福 | BLOCK_ENCHANTMENT_TABLE_USE 1 1 |
card-common | 拿到普通祝福(其他稀有度没设置时也用这个) | ENTITY_EXPERIENCE_ORB_PICKUP 1 1 |
card-rare | 拿到稀有祝福 | ENTITY_PLAYER_LEVELUP 0.7 1.4 |
card-epic | 拿到史诗祝福 | UI_TOAST_CHALLENGE_COMPLETE 0.8 1.6 |
card-legendary | 拿到传说祝福 | ENTITY_ENDER_DRAGON_GROWL 0.4 1.8 |
card-curse | 拿到诅咒 | ENTITY_WITHER_AMBIENT 0.6 0.8 |
shop-buy | 买到东西 | ENTITY_VILLAGER_YES 1 1 |
shop-fail | 买不了(钱不够、卖完……) | ENTITY_VILLAGER_NO 1 1 |
rest | 在休息处选了一项 | BLOCK_CAMPFIRE_CRACKLE 1 1 |
new-record | 无限层刷新个人最高层数 | UI_TOAST_CHALLENGE_COMPLETE 1 0.8 |
自定义的稀有度用 card-<稀有度ID>(例如 card-mythic)。
内置提示开关
副本 config.yml 的 notify: 多了三个(默认都是 true):
| 键 | 内容 |
|---|---|
floor-title | 每层开始的大标题 |
room-title | 进房间的大标题 |
card-broadcast | 有人拿到祝福时,全队聊天栏显示「XXX 获得了【某某】×N」 |
result-menu(结算菜单)、clear-title、fail-title、clear-summary、fail-summary 也照常有效。
菜单与界面
随机地牢的箱子菜单在 plugins/CloudDungeon/gui/,旧服务器升级后缺少的文件会自动补上:
| 文件 | 菜单 |
|---|---|
draft.yml | 选择祝福:三张卡、重抽、信息(剩几秒、几个人选好)、略过 |
shop.yml | 商店:商品(点一下买一个,Shift 买到卖完)、信息、刷新、离开 |
choice.yml | 休息处与事件的选项 |
cards.yml | 我的祝福(/cd cards);淬炼 / 净化时也用它来选卡 |
rogue_result.yml | 结算:突破层数、时间与种子、你的奖励、你的祝福、每位队员、再挑战一次、立即返回 |
ingame.yml | 副本内菜单多了「我的祝福」(新安装的文件才有;旧文件照样能用 /cd cards) |
每个文件开头都有注释列出可以用的变量,布局写法和其他菜单一样,见 菜单。
装了 云界面 CloudUI 时,选择祝福和商店改用云界面画面(clouddungeon_draft、clouddungeon_shop,在 plugins/CloudUI/screens/clouddungeon/);休息处、事件、我的祝福、结算仍然用箱子菜单。关掉画面时聊天栏会出现「重新打开」的按钮(/cd card)。
PlaceholderAPI 变量
副本内
玩家在随机地牢里时有值,否则是空字符串:
| 变量 | 内容 |
|---|---|
%clouddungeon_floor% | 第几层 |
%clouddungeon_floors% | 总层数(无限层 = ∞) |
%clouddungeon_floor_name% | 这一层的名称 |
%clouddungeon_room% | 目前房间的名称 |
%clouddungeon_room_type% | 目前房间的种类名称 |
%clouddungeon_room_index% | 这一层的第几间 |
%clouddungeon_rooms% | 这一层一共几间 |
%clouddungeon_coins% | 自己的魂晶 |
%clouddungeon_cards_count% | 自己有几张祝福 |
%clouddungeon_best_floor% | 自己在这个模式的最高层数 |
记录与排行榜
<记录键> = 副本 ID(默认模式),或 副本#模式(其他模式),例如 abyss、abyss#endless。
| 变量 | 内容 |
|---|---|
%clouddungeon_best_floor_<记录键>% | 自己的最高层数(没有记录 = -) |
%clouddungeon_rogue_runs_<记录键>% | 自己打过几场 |
%clouddungeon_top_floor_<记录键>_<名次>% | 层数排行榜第 N 名打到第几层(1~10 名) |
%clouddungeon_top_floor_name_<记录键>_<名次>% | 层数排行榜第 N 名的队伍成员 |
排行榜每分钟更新一次;刚开服还没读到时是空的。
例:大厅全息图显示无限深渊的前三名:
&5无限深渊 排行榜
&e#1 &f%clouddungeon_top_floor_name_abyss#endless_1% &7第 %clouddungeon_top_floor_abyss#endless_1% 层
&e#2 &f%clouddungeon_top_floor_name_abyss#endless_2% &7第 %clouddungeon_top_floor_abyss#endless_2% 层
&e#3 &f%clouddungeon_top_floor_name_abyss#endless_3% &7第 %clouddungeon_top_floor_abyss#endless_3% 层
排行榜与个人最佳
- 个人最佳:打完的层数多的比较好;一样多看清除的房间数,再一样看时间短的。每场结束时更新(中途离开的人也会记下他离开前的进度)。
- 无限层的模式:
/cd top <副本>显示层数排行榜(第几层、时间、队伍成员),不是通关时间。 - 有限层的模式:
/cd top照旧是通关时间排行,只有「通关」才算;层数记录一样会累积。 - 清掉某个模式的层数排行与所有人的最高层数:
/cd admin rogue top-reset <副本> [模式] confirm。 /cd admin test的测试场不算记录。
文字
随机地牢的提示文字都在 lang.yml:
rogue::房间种类名称与说明(rogue.type.*、rogue.type-desc.*)、门、选祝福、商店、宝藏 / 休息处 / 事件、楼层进度符号、/cd run的内容(rogue.summary)。title.rogue-*、bossbar.rogue-*、hud.rogue-*:标题、王条、计分板。gui.rogue-result-*、gui.top-floor-line:结算菜单与层数排行榜。
种类的名称与说明也可以在每个副本的 config.yml 用 roguelike.types.<种类>.name / description 单独改,见 门的样子。