宗门大阵
v0.11.1当别的宗门向你宗发起围攻,宗主或一位长老便可升起本宗的宗门大阵(Array Domain;游戏里把这项功能叫作「宗门阵域」)。它是一重覆盖本宗所占每一个区块的护佑,大殿与周遭诸般建筑尽在其中。它不在世上放置任何东西,也不改动任何方块:大阵只是落在阵内众人身上的状态效果、沿边界亮起的一圈光环,以及几声响动。你宗成员与盟友在阵中所受伤害减少;围攻一方的成员则被减速,出手也变轻。它还会削弱攻方的占据时钟,并在有人于阵内展开道域时与之交锋。
它只存在于战时,花的是升起者自己的贡献点,围攻一了结,它便崩落。
宗门大阵不是护山大阵(Mountain-Guarding Array),也就是宗门用阵旗布下的那种阵法。护山大阵布在一个区块上,不撤便一直立着,扼制外人打坐,也无需有战事才存在。宗门大阵则要等围攻宣告之后用指令升起,覆盖整片地界,不放置任何东西,并随围攻一同结束。两者会在围攻时钟上叠加。游戏文字把两者都叫作「阵」,所以本页用「宗门大阵」称这重战时护佑,用「护山大阵」称那座布下的阵法。
升起大阵
/sect array raise 升起大阵。以下条件须全部成立:
- 宗门阵域已开启(
Sect-Array-Enabled),宗门与攻伐系统也都开着(Sects-Enabled、Wars-Enabled)。 - 有一场围攻正针对你宗,且你宗是守方:这场围攻处于宣告、集结或争夺阶段。宣战文书送达的那一刻起,也就是在预警期里,你就能升起大阵,但不能更早。只是在攻伐他人的宗门,无法为自己升起。
- 你宗持有大殿,且大殿之上尚无大阵。
- 你是宗主或长老。外门弟子与内门弟子既不能升起,也不能撤下。
- 你自己的贡献点够付代价。
升起成功时,本宗每一位在线的成员都会看到一行:「你宗的宗门大阵在地界上空升起,与金之道相合。阵中的守方与盟友所受伤害减少;入侵者则被减速并受到削弱。」并听到一声响动,其中点明大阵所合的元素(宗门不修任何元素,或所修的元素没有对应的风味、例如某扩展所占的灵根时,为天地灵气)。围攻一方在线的成员则会得知另一半:「某宗已升起其宗门大阵……在其地界之内,你会被减速,造成的伤害也会降低。」升起者本人另得一条私下的回执:「大阵已升起,花费贡献 100 点。」
何时回绝
检查按下面的次序进行,第一道没过的关,便是你收到的回话:
| 回话 | 缘由 |
|---|---|
| 此服务器未启用宗门阵域。 | 该功能或宗门系统被关闭。 |
| 宗门大阵要在战时升起,而此服务器已关闭战争。 | v0.11.1 大阵开关开着,但 Wars-Enabled 关闭,因此不可能有围攻。 |
| 你不在任何宗门中。 | |
| 你在宗门中的身份不足以进行该操作。 | 你不是宗主,也不是长老。 |
| 你的宗门尚无大殿。 | 没有可供覆盖的地界。 |
| 你宗的大阵已经矗立。 | |
| 尚无宗门对你宗宣布围攻,大阵无从守御。 | 没有以你宗为守方的围攻,或那场围攻正处于转瞬即逝的收尾阶段。 |
| 升起大阵需消耗你自己的 100 点贡献,而你的贡献不足。 | 数字取自 Sect-Array-Cost-Contribution。 |
| 此刻有某种力量阻止了这一操作。 | 有扩展模组否决了这次升起(见给扩展开发者)。未扣任何东西。 |
代价与退还
升起要耗去升起者自己贡献点余额中的 Sect-Array-Cost-Contribution(默认 100)点,与宣战或派驻护山傀儡是同一种货币,而不是从宗门账上出。把它设为 0,大阵便不要钱,但仍只能在战时升起。扩展模组可以为某一次升起改价;实际扣了多少,退还时便是多少。
- 撤下大阵,概不退还。
- 围攻了结,概不退还,无论怎么了结:攻方得胜、战期耗尽,或守方守住。
- 围攻被取消则退还。若围攻进行中
Wars-Enabled被关闭,这个总开关会取消所有未了的围攻,升起者只要仍在宗门里,便原数取回所付的贡献点,在线的话会看到「围攻已被取消,你为大阵花费的 100 点贡献已退还给你。」所付数额随大阵一同存档,所以重启不会让退还落空。游戏的典籍文字另说「管理员取消」,但此版本没有任何一条指令能单独取消一场围攻;眼下只有Wars-Enabled这一个开关做得到。 - 失去大殿、功能被关闭,或管理员撤下大阵,都不退还。
地界
大阵覆盖宗门所占的每一个区块:大殿所在的区块,以及每一处产业所在的区块,分处哪个世界便在哪个世界。一个区块是 32×32 格,大阵触及其中每一个高度。谁算「在阵内」,按此刻宗门真实的占地来定,每秒核对一次,所以宗门放弃的地不再受护,新纳入的地则开始受护。占地如何取得,见宗门。
谁站哪一边
| 立场 | 谁 |
|---|---|
| 守方 | 本宗的成员;与本宗缔有完整同盟的宗门的成员(宗门邦交;互不侵犯与贸易之约不算);围攻已记录在案为增援的宗门的成员。 |
| 攻方 | 围攻一方宗门的成员,仅此而已。攻伐只把增援记在守方一侧,所以攻方的盟友不受影响。 |
| 两不相涉 | 其余所有人:别的宗门、没有宗门的玩家、灵兽、怪物与一切其他 NPC。已死之人,以及在元婴遁走中化魂逃亡的元婴修士,同样在内。 |
大阵只作用于玩家,且不理会世界的 PvP 设置。围攻本身就是双方的同意。
阵内会发生什么
在地界之内,大阵会给立场分明的每名玩家施加一项效果。它每秒刷新一次,持续一秒半,所以你踏出阵外或大阵崩落后,约一秒便消退。大阵头一回罩住你时,你会得到一行话(守方是「某宗的大阵合拢于你周身,化去每一击的一部分力道。」,攻方是「某宗的大阵向你压来:你被减速,出手也被削弱。」)和一声响动;同一座大阵只提示一次,往后即便你离开再回来也不会再响。
| 守方 | 攻方 | |
|---|---|---|
| 状态效果 | 宗门阵法:受护佑 | 金之阵法:受压制,其余依宗门元素类推 |
| 资源编号 | Cultivation_SectArray_Defender | Cultivation_SectArray_Attacker_<Element> |
| 所受伤害 | 减少 15%,适用于物理(劈砍、钝击、碾压)、投射物与元素伤害(火、冰、水、土、风、雷、毒),以及本模组另设的元素之道伤害、道印反应与道印伤害。环境伤害不在其内。 | 不变,元素专属的额外效果除外(见下)。 |
| 所造伤害 | 不变。 | 减少 10%,不论打在谁身上(物理、元素与投射物)。 |
| 移动 | 不变。 | 慢 15%(水平速度 0.85)。身上染上该元素的颜色。 |
若目标带有 Immunity_Slow,攻方效果对其整个跳过:这样的玩家什么都不吃,减速、减伤、提示行统统没有。
这些数字存于实体效果资源之中,而不在配置里。Sect-Array-Defender-Damage-Reduction-Percent 改的只是典籍与 /sect array 引述的那个数字,并不改变大阵实际所为。
各元素的额外效果
大阵的一切作为都带着宗门的元素:边界光环、攻方效果,以及它响动的音高。其中四种元素给攻方效果多添一项:
| 大阵 | 攻方的额外效果 |
|---|---|
| 金 | 多受 12% 物理伤害(劈砍、钝击、碾压亦然)。 |
| 水 | 减速更重:速度 0.75(慢 25%),而非 0.85。 |
| 火 | 多受 12% 元素伤害,元素之道伤害、道印反应与道印伤害也在其内。 |
| 冰 | 无法疾跑。 |
| 木、土、风、毒、雷、虚 | 无;只有基础效果。 |
| 天地灵气(宗门不修任何元素) | 无;只有基础效果。 |
宗门只能择木、土、水、火、金为自己的灵根类型,所以冰、风、毒、雷、虚的大阵,只会出现在 0.11.0 之前就已持有异种灵根的宗门身上。
围攻时钟
大阵矗立、是真正升起的那种、且大殿处没有攻城旗压制时,它会在争夺阶段给攻方的占据时钟再添上 Sect-Array-Siege-Slow-Percent(默认 15)的减缓。它与护山大阵、护山傀儡取用同一份额度:三者相加,总和以 War-Total-Slow-Max-Percent(默认 50)封顶。大阵自己没有单独的上限。
| 来源 | 默认值下 |
|---|---|
| 护山大阵 | 阵旗布下的为 10%,阵坛每高一阶再加 10%,至多 50%(War-Warding-Slow-Base-Percent、War-Warding-Slow-Per-Tier-Percent、War-Warding-Slow-Max-Percent)。 |
| 护山傀儡 | 每尊在世的傀儡 12%,至多三尊(Guardian-Slow-Per-Living-Percent)。 |
| 宗门大阵 | 15%(Sect-Array-Siege-Slow-Percent)。 |
| 合计 | 封顶 50%(War-Total-Slow-Max-Percent)。 |
单靠大阵时,攻方每在大殿上站 100 秒,只攒得 85 秒的占据。一座三阶护山大阵阵坛(40%)加三尊傀儡(36%),不要大阵就已顶到上限,此时大阵什么也添不上;它对防备寥寥的宗门最有用。管理员测试大阵不给任何围攻添加减缓。
- 争夺阶段里,
/sect war status会在合计那一行之前,把大阵的份额单列一行:「你宗大阵将攻方的占据速度减缓 15%。」;若攻城旗压制了大殿处的大阵,则是「攻城旗压制了你宗山门处的大阵,眼下它不减缓任何进度。」这一行是按询问者所在一方措辞的:攻方读到的是「守方的宗门大阵将你方的占据速度减缓 15%。」见宗门攻伐。 - 宗门页的护山傀儡卡片,会给守方宗门显示合计的减缓;大阵正在减缓时,还会点出它的份额:「占据速度总减缓:40%(护山大阵、护山傀儡与宗门大阵合计,设有上限;宗门大阵贡献 15%)。」
/sect array同样会显示,见状态报告。
攻城旗
攻方的攻城旗能压制大阵。在旗子 War-Siege-Banner-Suppression-Radius-Chunks(默认 2)个区块之内,向四面八方皆是方形的范围,大阵什么都不做:没有守方的增益,没有攻方的减速,没有提示行,在那里展开的道域也不会与它交锋。若旗子的范围盖住了大殿所在的区块,大阵在围攻时钟上的份额同样归零,与旗子取消护山大阵减缓是一回事。
压制只在争夺阶段生效,那也是旗子唯一能立着的时候;并且要求 War-Siege-Banner-Trap-Suppression-Steps(默认 2)大于 0。任何守方成员都能徒手拔掉攻城旗,旗一倒,大阵当即恢复。
对阵道域
攻方在地界之内展开的道域会撞上大阵,双方比拼威势。这要求 Domain-Clash-Enabled 与 Domain-Clash-Arrays-Enabled 同时开着(默认都开,位于 Arts/DaoDomainConfig.json)。只有攻方的道域才会交锋(围攻一方宗门的成员,或布设测试大阵的那一位管理员),锚在攻城旗已压制大阵之处的也不会。完整规则见道域交锋,施放者一侧所见的同一场交锋见与宗门大阵交锋。
- 道域的威势是施放者的境界序号(炼体 0 至炼虚 6),若施放者的元素在五行相克中克制宗门的元素,再加
Domain-Clash-Counter-Bonus(默认 1)。 - 大阵的威势取
Sect-Array-Base-Realm(默认元婴,即 4)与阵中最强守方的境界两者之高者,后者以最近一次每秒一次的清点为准;若宗门的元素克制该道域的元素,同样再加克制加成。天地灵气之阵与天地灵气之道域,既不克制别人,也不被别人克制。
| 结果 | 会发生什么 |
|---|---|
| 道域更强 | 道域屹立,大阵在该道域的圆柱之内归于沉寂,直到道域结束。其中的守方失去增益,攻方不再被减速。施放者会看到「阵法在你的道域之内归于沉寂。」 |
| 大阵更强 | 道域碎裂,其施放者承受通常的交锋反噬:被减速 Domain-Clash-Backlash-Seconds 秒,并损失该道域所耗灵气的一部分(Domain-Clash-Backlash-Qi-Percent)。 |
| 平局 | 道域碎裂,无反噬。大阵屹立不倒。 |
每座道域与每座大阵只交锋一次,即展开之时,所以宗门在围攻途中改名,也不会让交锋重来。在默认值下,元婴境的攻方与光秃秃的大阵打成平手(4 对 4)。若他的道域元素克制宗门的元素,道域获胜(5 对 4);若宗门的元素克制道域的元素,则大阵获胜(4 对 5)。化神境的攻方能压过光秃秃的大阵(5 对 4),除非宗门的元素克制道域的元素,那样便打成平手(5 对 5),或者阵中站着化神或更高境界的守方。
能撑多久
大阵一直立到有什么东西把它撤下为止。守阵的机制约每秒查看一次,本宗每位在线的成员都会听到那行话与一声响动。
| 它何时结束 | 成员读到的话 | 退还 |
|---|---|---|
| 围攻了结,无论怎样:攻方成败、战期耗尽,或攻伐被关闭 | 围攻已经结束,某宗的大阵归于沉寂。 | 仅在攻伐被关闭而取消围攻时退还 |
| 宗门失去大殿,无论被征服夺走还是解散 | 某宗已失去大殿,大阵随之崩塌。 | 否 |
宗主或长老执行 /sect array lower | 某宗的大阵已被撤下。 | 否 |
管理员执行 /cultivation admin array lower,或管理员测试大阵时限届满 | 某宗的大阵被管理员撤除了。 | 否 |
| 宗门大阵(或宗门系统)在配置中被关闭 | 宗门大阵已被关闭,某宗的大阵随之崩塌。 | 否 |
围攻刚刚了结的大阵,会再留约三秒才撤下,这样改名这种让战事簿暂时仍挂在旧名之下的事,就不会拆掉一座花了钱的大阵;因关闭攻伐而被取消的围攻,则当即让大阵结束。在这几秒里,/sect array 仍会报告它矗立着。
大阵存于宗门数据之中,即 SectsData.json。围攻中途重启服务器不会让它消失,围攻若还在,大阵便接着立。若这期间 Sect-Array-Enabled 被关闭,服务器起来后它立刻结束。管理员测试大阵是例外:服务器启动时就会把它撤掉。
边界
地界的边缘以宗门元素的颜色勾出:所占之地的每个外露转角上有一枚小光环(所占与未占的区块在此相接的角,所以一条长直边每 32 格就有一枚),大殿区块的正中则有一枚更大的光环。附近的人都看得见,不分立场,有无立场皆然。
- 每位观者会看到身周 64 格内的光环(大殿光环为 96 格),至多
Sect-Array-Border-Max-Posts(默认 16)枚,最近的优先。设为 0,则整个边界不再绘出,大殿光环也不例外。 - 光环每
Sect-Array-Border-Seconds(默认 1,范围 1 至 10)秒重绘一次。一枚光环约存在一秒半,所以大于 1 的值会让边界闪烁。 - 世上不会生成任何东西:粒子只发往观者自己的连接。光环落在地表上;地面读不到,或远高于观者(比如在洞穴里)时,则落在观者脚下的高度。
指令
| 指令 | 说明 | 权限 |
|---|---|---|
/sect array | 下文的状态报告。与 status 相同。 | cultivation.sect |
/sect array status | 报告大阵是否矗立;若没有,说明你为何能或不能升起它。任何成员都可查询。 | cultivation.sect |
/sect array raise | 升起大阵(宗主或长老)。 | cultivation.sect |
/sect array lower | 将其撤下,不退还(宗主或长老)。回绝的话有:此服务器未启用宗门阵域。/你不在任何宗门中。/你在宗门中的身份不足以进行该操作。/你宗并无矗立的大阵。 | cultivation.sect |
/cultivation admin array raise <宗门> | 一座管理员测试大阵。 | cultivation.admin |
/cultivation admin array lower <宗门> | 撤下任意宗门的大阵,无论是谁升起的。 | cultivation.admin |
除管理员那一对之外,它们都不带参数,也没有别名或旗标。cultivation.sect 默认对所有人开放;职位的核查发生在宗门内部。
状态报告。没有大阵时,它先打出标题,接着是「你宗地界之上没有大阵矗立。升起一座需消耗你自己的 100 点贡献,并且须有宗门对你宗宣布围攻。」,然后要么是「你现在可以用 /sect array raise 升起它。」,要么是「你此刻无法升起它:」,后面跟着第一条适用于你的回绝。大阵矗立时,它依次打出:
- 谁在多少分钟前升起了它,以及它的元素(若是管理员测试大阵,则说明是管理员为测试而升起);
- 守方的数字:「阵内的守方与盟友所受伤害减少 15%;入侵者被减速,造成的伤害也会降低。」这个数字是配置里的显示值;
- 「阵内现有:守方 2 人,入侵者 0 人。」,来自最近一次清点;
- 「对敌方道域的交锋威势:相当于元婴。」,即此刻大阵会以哪个境界去交锋;
- 围攻减缓:「围攻减缓:15%(与守方的护山大阵、护山傀儡共用,受全战事上限约束)。」,或是攻城旗压制了它,或是大阵眼下不额外减缓。
管理员测试大阵
真正的大阵要有围攻,围攻要有两个都有成员的宗门。/cultivation admin array raise <宗门> 让管理员能在安静的测试服上试一试大阵的效果、边界与交锋。宗门名是这一行余下的部分,所以可以含空格。
- 必须在游戏里输入;控制台会被回绝,因为测试大阵需要知道把谁当作入侵者。
- 免费,无需围攻,也不要求
Wars-Enabled。宗门必须持有大殿,功能必须开着。 - 当没有围攻针对该宗时,只有升起它的那位管理员算作入侵者(攻方);其他人既无效果,也无提示行,更不会交锋,所以一次测试不会碰到别的玩家。管理员两套效果都能看到:是该宗成员时为守方,否则为攻方。若确有一场真围攻正针对该宗,则按通常的立场来算。
- 它不给任何围攻的减缓额度添分,也从不退还。
- 它至多立
Sect-Array-Admin-Test-Minutes(默认 30)分钟,或立到被撤下为止。服务器启动时会将其撤掉。因计时到期而结束,算作管理员所致的结束。 - 它会触发
SectArrayRaisedEvent(adminRaised为 true),但从不触发可取消的前置事件。
回绝的话有:不存在名为「某名」的宗门。/某宗没有大殿,因此没有可供大阵覆盖的地界。/某宗的大阵已经矗立。/某宗的大阵并未矗立。
配置
mods/Siren_Cultivation/Society/SectArrayConfig.json。也可在游戏内管理菜单(/cultivation admin)的宗门阵域一栏里编辑,在那里输入越界的值会立刻弹回。旧文件里缺的键,读作默认值。模组每次加载都会重置 ConfigName 与 Description-Sect-Array,请勿手改。
| 键 | 默认值 | 范围 | 作用 |
|---|---|---|---|
Sect-Array-Enabled | true | 总开关。关闭后,所有矗立的大阵一秒内结束,不退还。 | |
Sect-Array-Cost-Contribution | 100 | 0 至 1,000,000 | 每次升起所耗的、升起者自己的贡献点。0 即免费。 |
Sect-Array-Defender-Damage-Reduction-Percent | 15 | 0 至 90 | 仅作显示。典籍与 /sect array 引述的数字。真正的 15% 在效果资源里,所以两者要靠手动保持一致。 |
Sect-Array-Siege-Slow-Percent | 15 | 0 至 90 | 大阵给围攻减缓额度添上的百分比,先于 War-Total-Slow-Max-Percent 封顶。 |
Sect-Array-Base-Realm | NASCENT_SOUL | 任一境界 | 大阵交锋威势的下限。填境界名,或其序号 1 至 7;其他值一律重置为元婴。 |
Sect-Array-Border-Seconds | 1 | 1 至 10 | 边界两次重绘之间的秒数。 |
Sect-Array-Border-Max-Posts | 16 | 0 至 64 | 每位观者能看到的边界光环数;0 即隐去边界。 |
Sect-Array-Admin-Test-Minutes | 30 | 1 至 240 | 管理员测试大阵能立多久。 |
文件中另有 ConfigName、ConfigVersion(2)与 Description-Sect-Array 文本。玩家真正感受到的其余数字 —— 15% 与 10% 的伤害、0.85 与 0.75 的速度、12% 的额外效果 —— 在 Cultivation_SectArray_* 实体效果资源里,并非配置键。Sect-Array-Siege-Slow-Percent 与宗门攻伐里的键共用同一个上限;交锋所读的键则位于 DaoDomainConfig.json。
游戏内典籍里的《宗门阵域》一篇(编号 cultivation:sectArray,归于「世界」一类)向玩家讲解以上一切,引述当前的代价、减缓与上限,并告诉你本宗的大阵是否正立着。
给扩展开发者
三个事件位于 plugin.siren.API.SectArrayEvents,用 onPreSectArrayRaise、onSectArrayRaised 与 onSectArrayEnded 注册。通用约定见API 事件。
| 事件 | 可取消 | 触发时机 | 携带 |
|---|---|---|---|
PreSectArrayRaiseEvent | 是 | 所有关口都已通过、尚未扣任何东西之时。管理员升起时从不触发。 | sect()、raiser()、cost() / setCost(int)。取消会使这次升起失败,提示「此刻有某种力量阻止了这一操作。」事件里留下的代价会被限制在 0 至 1,000,000,升起者仍须付得起。 |
SectArrayRaisedEvent | 否 | 大阵已矗立。 | sect、raiser(管理员升起时为 null)、实际扣下的 cost、adminRaised。 |
SectArrayEndedEvent | 否 | 大阵撤下之时。 | sect、reason、secondsActive。 |
结束原因有 SIEGE_ENDED(含因关闭攻伐而取消的围攻,那种会退还)、HALL_LOST(大殿被征服夺走,或宗门已解散)、LOWERED、ADMIN(含管理员测试大阵计时到期)与 DISABLED。结束事件由最先察觉的那个世界的守阵机制触发,所以不要阻塞,也不要在监听器里回头去调用升起或撤下。与道域的交锋由 DaoDomainEvents.DomainClashEvent 上报,其 second() 为 null,arraySect() 点出宗门名。