当上掌门之后,门派就变成一处可以摆建筑的据点。它有两层,游戏两层都没解释:一层是摆下去的建筑,花 材料,按十天一轮产出;另一层是升级线,花资金,抬高其他一切都会撞上的那些上限。
那些能摆六座的生产建筑看着像是经济的主体。它们不是。
| 建筑 | 材料 | 费用 | 每十天产出 | 上限 |
|---|---|---|---|---|
| 富贾阁 | 铜矿 ×30 | 无 | 资金 +2400 | 1 |
| 丰稔堂 | 铁矿 ×30 | 无 | 药粮 +1800 | 1 |
| 金石馆 | 锡矿 ×30 | 无 | 矿石 +600 | 1 |
对比之下,能摆六座的那批生产建筑,最好的一档也只有105:
| 产资金 | 产药粮 | 产矿石 | 每十天 |
|---|---|---|---|
| 香料场 / 农田 | 人参园 / 瓷器窑 | 麻田 / 棉花田 | 60 / 45 / 45 |
| 胭脂坊 / 鱼塘 | 草药园 / 丝坊 | 桑田 / 铁矿场 | 75 / 60 / 60 |
| 珠宝坊 / 牧场 | 炼丹坊 / 茶叶园 | 铜矿场 | 105 / 75 / 75 |
| 煤场 | 90 |
六座珠宝坊摆满是每十天630资金,代价是384宗门木材和28,800资金的费 用。富贾阁的产出接近它的四倍,代价是三十块铜矿,一分费用也不收。 丰稔堂对药粮那条线、金石馆对 矿石那条线,情况完全一样。
先把这三座建起来,排在任何标着资金价格的东西前面。
两座采集厂同样是白赚的:锯木厂(铜矿 ×10)每十天产宗门木材 ×8,石料厂(铁矿 ×10)每十天产 宗门石料 ×10,各自最多九座;而这两种材料是其他所有建筑的付账货币,所以这九加九要排在消耗它们的东西前 面建。
发放产出的是BuildEntity.ModMenPaiAttri:ouputtype为2时加一项门派属性,为1时加一件物品,数量
取misvalue2——就是面板上写在「/十天」旁边的那个数。
每一项门派资源都被夹在一个最大值内,MenPaiAttriManager.GetMaxAttri说明每个最大值从哪来。建筑表八列
里有四列,读取时用的列名和它们所限制的东西毫无关系:
| 资源 | 上限由谁决定 | 实际读的列 |
|---|---|---|
| 资金 | 云霄殿等级 | anding |
| 矿石 | 云霄殿等级 | fanrong |
| 药粮 | 云霄殿等级 | mingsheng |
| 门人(成员数) | 云霄殿等级 | fabricationLevel |
| 名声 | 云霄殿等级 | mingsheng |
| 繁荣 | 杏林堂(礼堂)等级 | fanrong |
| 人数 | 聚贤房(贤堂)等级 | people |
| 安定 | 无——写死的 | 100 |
所以门派能存多少资金、矿石、药粮、名声,能容纳多少弟子,全由云霄殿一座说了算。1级时是48,000资金 / 12,000矿石 / 36,000药粮 / 25门人;10级时是716,650 / 180,000 / 540,000 / 160。
超过上限的收入会被悄悄丢掉。让富贾阁往一座1级云霄殿里灌,大部分都浪费了。云霄殿是唯一一条任何时候都 值得排在下一位的升级线。
安定的上限是100,没有任何建筑能改。 镇安殿是存在的,而安定一次给4–12点,所以它几乎立刻就顶满,然 后一直待在那里。
枚举里的名字和数据里的名字对不上,而且有一个名字被用了两次:
升级线(MenPaiBuildType) |
你实际摆下去的建筑 |
|---|---|
| 云霄殿 | 云宵殿(写的是宵) |
| 杏林堂 | 礼堂 |
| 演武室 | 卫堂 |
| 金玉楼 | 财楼 |
| 聚贤房 | 贤堂 |
| 藏宝阁 | 藏宝阁 |
| 天工坊 | 坊堂 |
| 城池 | —(没有对应的可摆建筑) |
另外还有一座真的就叫聚贤房的可摆建筑,它招募弟子,并不是那个限制人数的聚贤房。限制人数的那个是 贤堂。攻略里说「建聚贤房提高人数上限」,指的是贤堂。
前五条线的升级都走同一条资金曲线:
1,174 → 1,760 → 4,694 → 9,976 → 17,604 → 27,580 → 39,902 → 54,572 → 71,590 → 90,954
藏宝阁和天工坊便宜一些,但要第二种货币(1级时分别是998资金 + 565矿石,和998资金 + 565药粮)。
除云霄殿和城池以外,每一条线开工前都要求云霄殿到2级。而且每条线在相同等级上要的人手完全一样:
| 等级 | 占用弟子 |
|---|---|
| 2 | 内门 ×1 |
| 3 | 内门 ×2 |
| 4 | 内门 ×4 |
| 5 | 内门 ×6 |
| 6–8 | 内门 ×6, 关门 ×1 → ×3 |
| 9 | 内门 ×6, 关门 ×3, 亲传 ×1 |
| 10 | 内门 ×6, 关门 ×3, 亲传 ×2 |
过了5级,瓶颈就是弟子:你需要有身份的弟子,也就是要招人再把他们升上去,不只是掏钱。
MenPaiEntity.CheckChengChiLevelUp检查完要求之后,只做一件事:
if (flag) { menpaiBuildDir[7]++; }
它从不扣费。城池那几行是带价格的(1级15,360资金 + 9,520药粮 + 3,340矿石,一路涨到100,800 + 75,600 + 25,200),而一分都不会被扣走。也没有升级按钮;这个检查在每一次宗门考核结算之后跑一遍。
它盯着的阈值,三条必须同时满足:
| 城池 | 矿业 | 农业 | 商业 |
|---|---|---|---|
| 1 | 3,768 | 3,768 | 7,836 |
| 2 | 12,328 | 12,328 | 25,420 |
| 3 | 26,960 | 26,960 | 68,263 |
| 4 | 42,176 | 42,176 | 126,210 |
城池等级是门派经济里最大的乘数,因为它放大每一份宗门考核委托发放的资源:
资金 += Random(400·L + 300, 1200·L + 900)
药粮 += Random(300·L + 150, 900·L + 300)
矿石 += Random(180·L + 75, 400·L + 150)
城池0时一份委托给300–900资金。城池4时给1,900–5,700。
现实时间每过一分钟,MenPaiAttriManager.Update就为流逝的每一分钟各跑一次,做转换:商业 → 资金,
矿业→ 矿石,农业 → 药粮。转换率不是正比的,它在阈值处跳档:
| 发展属性 | 阈值 | 各档每分钟收入 |
|---|---|---|
| 商业 | 7,836 / 25,420 / 69,380 / 126,904 | 160 → 280 → 432 → 600 → 800 |
| 矿业 | 3,768 / 12,560 / 27,632 / 45,216 | 40 → 70 → 108 → 150 → 200 |
| 农业 | 3,768 / 12,560 / 27,632 / 45,216 | 120 → 210 → 324 → 450 → 600 |
开局商业是4,800(在第一个阈值以下),所以你赚到的头3,036点商业能让收入涨75%,接下来的17,584点让收入 涨54%。落在同一档内部的点数完全不起作用。
城池盯的正是这三项,而两套梯子只有第一级对得上。城池的门槛在menpaibuild里(商业7,836 /
25,420 / 68,263 / 126,210,矿业和农业3,768 / 12,328 / 26,960 / 42,176);上面那张收入档位表是写死
在程序集里的,最高两级是69,380和126,904,另两项是12,560 / 27,632 / 45,216。所以把商业推过7,836,
同一刻既买到收入档位也买到城池1;再往上两者就分开了——城池3在68,263到手,收入档位要等到69,380。
一份宗门考核委托给商业 +900–2,800、矿业 +360–1,000、农业 +360–1,100、繁荣 +8–25、名声 +639–2,000、 人数 +3–9、安定 +4–12。大约两份委托就能过掉第一个商业档。
六格生产建筑只有在上面这些都做完之后才值得建,而且只建你负担得起的那一档:4,800费用那一档 产105,480费用那一档产60,十倍的费用换75%的产出。
对照TapTap上村头二狗的门派经营攻略,以及 在3DM和游侠流 传的几份总结逐条核对。
这一篇是准确的,而且准确得少见。 它列出的每一座建筑产量都和表完全对得上(香料场60资金、
胭脂坊75、珠宝坊105、农田60、鱼塘75、牧场105、人参园45、草药园60、炼丹坊75、瓷器窑45、丝坊60、
茶叶园75、麻田45、棉花田45、桑田60、铁矿场60、铜矿场75、煤场90)。上限也对:生产建筑各六座,采集厂各
九座,其余各一座。它对云霄殿的概括——「提高声望上限,矿石,资金存储上限,门人上限」——正
是GetMaxAttri所做的事,也是唯一一处有人把这件事写对了的地方。
偏掉的地方:
任何地方都没有提到安定100这个硬上限,也没有提到建筑表里那四列是按错误的列名读取的。
升级要求存在attri列里,由两个函数读取,两者的解析方式相同:array[0]当作属性类型,array[1]当作
最小值(MenPaiEntity.CheckAttri、MenPaiBuildInfoPanel.ShowAttriCondition)。
82行里有50行写成了这两个解析器读不懂的三段格式。 它们的内容
是kind|attribute|value(和use、build用的是同一个形状),却按attribute|value来解析,于是第三
个数被丢掉,第二个数被当成阈值:
| 升级线 | 存的是 | 被解析成 | 几乎可以肯定应该是 |
|---|---|---|---|
| 演武室(卫堂) | 0\|5\|618 … 54688 |
商业 ≥ 5 | 农业 ≥ 618 … 54,688 |
| 金玉楼(财楼) | 0\|0\|1174 … 90954 |
商业 ≥ 0 | 商业 ≥ 1,174 … 90,954 |
| 聚贤房(贤堂) | 0\|4\|576 … 54688 |
商业 ≥ 4 | 矿业 ≥ 576 … 54,688 |
| 藏宝阁 | 0\|0\|1174 … |
商业 ≥ 0 | 商业 ≥ 1,174 … |
| 天工坊(坊堂) | 0\|0\|1174 … |
商业 ≥ 0 | 商业 ≥ 1,174 … |
既然开局商业就是4,800,这五条从游戏的第一分钟起就满足条件,一直满足 到10级。它们真正的门槛只有资金、云霄殿这个前置,以及那张用人账单。
用两段格式的那两条按设计工作:云霄殿要名声 ≥ 800,杏林堂要繁荣 ≥ 90。城池的4|3768;5|3768;0|7836是
三条独立的两段子句,也能正常工作。
MenPaiAttriManager(GetMaxAttri、GetCurIncome、AddShouRu、OnAttriGrowUp、InitBaseAttri、
m_AttriUpperLimitDict、m_AttriIncomeDict)、MenPaiEntity(CheckChengChiLevelUp、
CheckAttri、GetCurBuildInfo、UpBuildLevel)、MenPaiBuildInfoPanel(ShowAttriCondition、
ShowCostCondition、OnBuildUpgrade)、BuildEntity.ModMenPaiAttri,以
及menpaibuild、buildprototype、item_base这几张表。
十天这个周期是游戏自己的说法。LocalString.tendays是"{0}{1}/十天",建筑面板在每个产出数字旁写的
就是这个字符串。