A merchant's asking price and a merchant's offer are computed by two different functions that share almost no inputs. This page covers the money outside a sect's own books. sect_building.md covers 资金, 药粮 and 矿石.
The character sheet calls the currency 铜钱; the shop panel calls the same number 金币. They are one attribute.
What a merchant charges you for something on its shelf is a number typed into the shop table. Nothing about the item's rolled quality or tier enters it:
ask = shop row's own price
− 口才/1000 × 0.2 of the line total (applied to the whole basket, not per item)
− any percentage money-discount effect you are carrying
What a merchant pays you for something in your bag is computed from the item's base cost and its rolls:
bid = floor( base cost × (1 + 0.15 × Δquality) × (1 + 0.4 × Δtier) )
+ whatever a quest script has set for that item at that character
then, on the basket total:
+ the 捕快 stunt bonus (up to +100%)
+ 商道/1000 × 0.2 (up to +10%)
Δquality and Δtier are measured from the lowest roll that item can produce, not from zero.
An item whose quality and tier are fixed (6,580 of the 7,394 items in the table have a single
possible quality, and 6,311 a single possible tier) sells for exactly its base cost, forever.
The spread is about half. Across the shop table the typed asking price is a median of exactly 2.0× the item's base cost, with 1×, 2.4×, 2.5×, 2.8×, 3× and 4× as the other common authored values. So the default round trip loses you half of what you paid, and the two trading skills at their caps (−10% buying, +10% selling) narrow that to about 1.64×, not to profit.
The ask ignores the roll and the bid does not. When a shelf item's quality or tier can roll high, you are buying at a flat price and selling at a scaled one. That is the only structural arbitrage in the game, and it is small.
| Input | Direction | Size | Where it applies |
|---|---|---|---|
| shop table's own price column | sets the ask | authored per row, median 2× base cost | shelf items only |
| item base cost | sets the bid | the whole of it | everything you sell |
| rolled quality above the item's floor | raises the bid | +15% a step | everything you sell |
| rolled tier above the item's floor | raises the bid | +40% a step | everything you sell |
| 口才 | lowers the ask | 0.02% a point, capped at 500 → −10% | basket total |
| 商道 | raises the bid | 0.02% a point, capped at 500 → +10% | basket total |
| 擒纵自如 (捕快 stunt, equipped) | raises the bid | 不夜京贡献值 ÷ 1000, up to +100% | basket total |
| difficulty | both | see below | every money gain or spend |
| 生财有道 / 高门大族 / 天罚 and similar traits | both | ±20% to ±50% | every money gain |
| a quest script's per-item, per-character override | either | arbitrary | one item at one character |
| game mode (侠恶江湖 / 真实江湖 / 荡魔江湖) | both | swaps the whole price table | everything |
And what does not touch a price, checked the same way the dead attributes were checked in character_build.md, checking every read of the name in the assembly and not just the declaration:
威望 is read in three places and none of them is a price. Two are display, one is a leaderboard sort. 道德 likewise. Sect rank, sect affinity and 正邪 appear nowhere in the shop code. There is no reputation discount in this game.
Both are read. 商道 is read by the sell panel, 口才 by the buy panel, in both shop UIs the game ships. Neither is one of the ten attributes that nothing consults.
商道 bonus = round( basket total × 商道 / 1000 × 0.2 ) added to what you are paid
口才 discount = round( basket total × 口才 / 1000 × 0.2 ) subtracted from what you pay
That is 0.02% per point each way. The character sheet draws both bars against 400, which is not their limit either.
Both are hard-capped at 500, and the cap is in the code that grants them. Every grant runs through one function that refuses to add anything once the attribute is at 500, and clamps back to 500 if a grant overshoots. So the whole of what the two trading skills are worth is −10% on purchases and +10% on sales, and no further.
Nothing else raises them. No equipment affix grants either. The affix table's effect rows were swept for both attribute ids and returned nothing. No item's base attribute group rolls them. The 品性 tab's numbers are transaction-driven and nothing else.
Confirmed in play: the live character reads 商道 500, sitting exactly on the cap the code enforces, and 口才 196, read out of the running game rather than off a table.
Selling adds 商道 by a logarithm of the sale, not by the sale:
gain = max( 1, round( 4.6667 × log10(sale total) − 8.3333 ) )
| Sale total | 商道 gained |
|---|---|
| 100 | 1 |
| 1,000 | 6 |
| 10,000 | 10 |
| 100,000 | 15 |
| 500,000 | 18 |
Which means roughly fifty ordinary sales take you from zero to the cap, and one enormous sale is worth barely twice a small one. There is no reason to hoard for a single big transaction.
Buying adds exactly 1 口才 per purchase, whatever you spent. The purchase handler passes the sell total into the growth curve instead of the buy total; during a purchase that number is zero, and the curve returns its floor of 1 for a zero input. So the discount side of the pair climbs at one point per trip to the shop, so reaching the cap takes 500 separate purchases against fifty sales for 商道. (The one way to hit it harder is to tick items on the sell tab, switch back to buy without selling, and then buy: the stale sell total is what gets converted.)
The 捕快 (constable) identity line has five ranks. Its second, 擒纵自如, does exactly what its tooltip says, raising what shops pay you, and the size of it is:
bonus = min( 100%, 不夜京贡献值 / 1000 )
At 1,000 不夜京贡献值 that is +100% on every sale, ten times what 商道 caps at, and it stacks on top of 商道. It has to be equipped to apply.
不夜京贡献值 is granted by exactly one line in the assembly (+1 for winning the 不夜京 arena) and by the bounty board: 127 bounty events grant +20 不夜京贡献值 and +20 捕快 on completion, and six grant +40 of each. So the arithmetic is:
| Bounties completed | 不夜京贡献值 | Sell bonus | Also unlocks |
|---|---|---|---|
| 13 | 260 | +26% | 捕快 250 → 擒纵自如 available |
| 25 | 500 | +50% | |
| 35 | 700 | +70% | 捕快 700 → 铁口直断 |
| 50 | 1,000 | +100% (the cap) |
Fifty bounties doubles your income from every merchant in the game for the rest of the save. Nothing else in the economy is close.
Two notes on the rest of that stunt line. 抽丝剥茧 raises the chance a commission pays out one reward tier higher, on the same 不夜京贡献值 ÷ 1000 curve added to a 20% base, so at 1,000 contribution every commission upgrades. And 铁口直断, which the tooltip and every community source describe as lowering the auction house's commission, does nothing: the listing code sets the fee to zero before applying the discount, so the discount is applied to zero and the fee was never charged in the first place.
The shop and auction code calls nine named stunt effects. Only four have a row in the stunt table: the three 捕快 ones above and the 打听 discount. The other five (an extra sell-price bonus, a 口才-scaled sell bonus, a Buddhist-study purchase discount, a food-and-drink purchase discount, and the auction success-rate bonus) resolve to zero every time because nothing in the data defines them. A shipped ±5% "merchant price variation" function exists but is never called, and there is no random price jitter between merchants in this build.
A merchant is a row group in the shop table, hung on a character by an id. 336 of the table's 420 groups are carried by somebody; the other 84 are unreachable, which is why some entries that look like free money on paper are not (below).
Stock. On a refresh the game takes every row in the group whose condition passes, and if there are 30 or more it picks 30 at random; otherwise it takes all of them. Each line is then capped at 45 units no matter what the table says, and 124 rows that ask for more are clipped to 45. The community's "限购 45" is this cap, and it is a stock limit rather than a purchase limit.
The random pick is worth knowing about: the code constructs a new random generator inside the selection loop, once per pick. On this runtime that generator is seeded from the millisecond clock, so all thirty picks in one refresh share a seed and the selection is far less varied than it looks, one random draw fanned out into thirty deterministic choices. Code reading, not measured; the way to check it is to force two refreshes back to back and compare the shelves.
The wallet. Every merchant starts each refresh with a fixed purse, and a sale is refused outright, not partially filled, if your basket total exceeds what is left of it.
| Merchants | Purse | Where |
|---|---|---|
| 466 of them | 500,000 | everywhere |
| 老铁匠 | 50,000,000 | (922, 1445) |
| 老药师 | 50,000,000 | (923, 1444) |
| 百晓生 | 0 — he cannot buy anything from you | (1033, 1428) |
Those two 50-million purses are the single most useful economic fact on this page. They are the only merchants in the game who will not run out of money, they stand a couple of steps apart, and they are in the starting village. Every other merchant caps your income at 500,000 per restock.
百晓生's purse is blank in the data and parses as zero, so his thirty-line shop is buy-only.
The clock. The refresh interval is a column on the shop row, in units of one 3,600th of an in-game day:
| Value | Rows | Real meaning |
|---|---|---|
| 3,600 | 8,390 | one in-game day |
| 5,400 | 7,256 | one and a half in-game days |
| 1,200 | 135 | eight in-game hours |
| 1,000 | 52 | six hours forty |
Refresh is lazy: the timer is only consulted when you open the shop or the game looks the shop up. Nothing restocks while you are elsewhere; it restocks the moment you walk in with the timer expired.
The paid refresh button costs 300 铜钱, and the price climbs. Each forced refresh raises the next one by 300 (300, 600, 900, 1,200) and a natural refresh resets it back to 300. So the cheap way to spam a merchant is to force a few, leave for a day, and come back. The community describes this button as free and infinitely spammable; it is neither, though at 300 铜钱 it is close enough that the distinction rarely bites. Four forced refreshes cost 3,000 铜钱 in total.
267 rows never restock. A row flagged as a quota carries its remaining count across the refresh: when new stock is built, a quota line copies whatever is left of the old one rather than resetting. Buy those out and they are gone for that character. Opening a shop for the first time deliberately clears the reference that makes this happen; the other path that can create a shop record does not, so a quota line can also inherit a count from whichever shop you last had open.
The buy-back shelf is not saved. Anything you sell goes onto the merchant's buy-back list at twice what he paid you, and that list is written to neither the save file nor the refresh. It survives shop refreshes within a session and vanishes on reload. Neither is the token wallet of a barter merchant saved (only the silver one), so a contribution-hall shop reloads with zero tokens until its own timer expires.
A shop is a barter shop if its first row says so. The currency for the entire shop is read off the first row of the group, so a shop whose opening row names a cost item trades in that item throughout, whatever the rest of the rows say.
1,172 shop rows carry a condition, and every one of them is written in the same shape: a marker, a dialogue id, and a flag. That string is read by two different parsers on two different paths, and they disagree about what the marker means.
24
becomes "number of NPCs killed", and the dialogue id becomes the required kill count.24 means "has this conversation happened". That is plainly the intended reading: all 22 of
the ids above 899,000 are real rows in the dialogue table.1,005 of the conditioned rows name dialogue id 1, so the restock parser asks for one kill and the
question is academic. The other 167 name ids between 899,369 and 982,332, read as kill counts,
are unreachable. Those 167 lines are therefore never stocked by a refresh, and appear only
through the shop-open pass, which adds them to the shelf when the conversation has happened.
The visible symptom: a merchant's rarest goods do not appear when you walk in on a fresh shelf, but do appear on a second look, and they disappear again the next time the shop restocks.
Fifteen of 百晓生's thirty lines are gated this way, including all three of his 10,000-铜钱 books.
Of the 5,947 shop lines that are reachable, carried by a real character and priced in silver, sixteen sell back for more than they cost on a guaranteed roll, and only a handful matter:
| Item | Ask | Sells back for | × | Stock | Sold by |
|---|---|---|---|---|---|
| 特殊玄脉丹 / 特级神照经残卷 / 经脉详解·卷七 | 10,000 | 27,418 | 2.74 | 45 each | 百晓生 (1033, 1428) — gated, see above |
| 极品玄脉丹 / 极品神照经残卷 / 经脉详解·卷六 | 7,000 | 10,546 | 1.51 | 45 each | 百晓生 — gated |
| 桃花叶配方 | 2,160 | 5,135 | 2.38 | 1 | 天机阁 |
| 经悟丹 | 585 | 1,313 | 2.24 | 1 | 丹师 (723, 767) |
| 花灯配方 | 150 | 383 | 2.55 | 5 | 工匠 (185, 658) |
| 远牵衣配方 | 1,800 | 2,935 | 1.63 | 1 | 天机阁 |
| 逍遥丸配方 / 混元塑骨丹配方 | 1,800 | 2,568 | 1.43 | 1 each | 天机阁 |
| 青灵丹 | 1,170 | 1,510 | 1.29 | 5 | three 游方郎中 / 医馆大夫 |
| 周天吐纳功 | 5,000 | 6,240 | 1.25 | 1 | 杂货商 (1082, 1499) |
The 百晓生 rows are the whole story and the rest is loose change. His three tier-seven books at 45 each are 1,350,000 铜钱 in and 3,700,620 out on a one-day restock, if the conversation that unlocks them has happened, and because his own purse is zero the sale has to be made somewhere else. 老铁匠 and 老药师 are 110 units away with 50,000,000 each. That is a code-and-data reading; the gate has not been confirmed in play and it is the one thing that decides whether the route exists at all.
Two smaller cases exist where a lucky roll beats the ask rather than the base roll. 春盟 at 100 铜钱 from the 杂货商 at (214, 652), which sells back for up to 1,440 on a 0.6% roll, and two rows at the 513 group. Not worth chasing.
304 items are carried by more than one merchant at different silver prices, because the ask is a number typed per row rather than derived from anything. The extremes:
| Item | Cheapest | Dearest | Ratio |
|---|---|---|---|
| 万兽秘技-仙鹿 | 10,502 (万兽山庄商人) | 500,000 (新手村万兽山庄) | 47.6× |
| 山膏配方 | 1,564 (铁匠) | 20,000 (钱富贵) | 12.8× |
| 罹患配方 | 1,564 (首饰商人) | 15,000 (钱富贵) | 9.6× |
| 虾 | 45 (楚盈袖·淮陵) | 400 (郑守业·枰栌) | 8.9× |
| 猪 / 鸭 | 30 (洛锦风·云鹤村) | 240 (楚盈袖·淮陵) | 8× |
| 茶叶 | 80 (秦重山·云潇山庄) | 600 (楚盈袖·淮陵) | 7.5× |
| 丝绸 | 200 (晏璇玑·不夜京) | 1,200 (楚盈袖·淮陵) | 6× |
The community's advice to leave the starting village before buying skill books is right, and this is why. Note that groceries run the opposite way: 楚盈袖 in 淮陵 is the dearest seller of six different raw foods and the cheapest of one.
The five game modes each carry a permanent effect on the money attribute, and the descriptions in the game's own difficulty screen match what the effect rows do:
| Mode | Effect on money |
|---|---|
| 简单 | money spent −25% |
| 标准 | none |
| 困难 | money gained −20% |
| 极难 | money gained −30% |
| 地狱 | money gained −40% |
These are percentage modifiers on the money attribute, and they apply wherever the code asks for the gain/spend pass, which includes a shelf item's asking price and a bag item's per-unit sale value, but not the final basket transfer, which is deliberately marked to skip it. The practical effect is that the numbers you see in the shop already have the difficulty tax in them.
Three of the four penalty rows are labelled in the data as 感悟 penalties and are wired to money; there are separate, correct rows for 感悟 and 修为 as well, so this is a naming slip rather than a missing mechanic.
Two of the five modes also swap the price tables wholesale. 侠恶江湖 and 真实江湖 each load their own copy of the item table and the shop table, carrying 7,386 and 7,569 items against the standard 7,394 and 15,734 and 15,793 shop rows against 15,833. So base costs and asking prices are genuinely different numbers in those modes, and any figure on this page is a 标准/荡魔 figure. 荡魔江湖 swaps the item table but has no shop table of its own and falls back to the standard one.
Fourteen effects in the spell table modify money by a percentage; four of them are the difficulty rows above. The named ones among the rest: 生财有道 (+20% money gained, granted by three separate talent rows), 高门大族 (+20% money, 修为 and 感悟), 天罚 (−50% money gained), 自力更生 (+30% money spent). These sit on the same mechanism as the difficulty rows and stack with them.
Ranked by what the code and tables can support, with the numbers they use.
1. Selling loot to a merchant. Everything else routes through here, and it is the binding constraint: 500,000 per merchant per in-game day, or 50,000,000 at the two old men in the starting village. With 擒纵自如 at full contribution and 商道 at its cap, a bag of loot is worth 2.2× what it would be bare, because the stunt doubles the total and 商道 takes ten percent of the doubled figure.
2. Killing people. 3,960 of the 18,150 characters in the table have a silver row in their loot group, 1,716 such rows in all. Expectation summed across a group's money rows has a median of about 1,100 铜钱 a kill, an upper bound since a group that picks only a few of its rows will not fire all of them. The guaranteed top of the range is 5,000–7,000 for named bosses: 游逸, 镜无双, 明空大师, 公输弘, 澄道 and 阎法禅师 at a certain 7,000; 重刃, 守魁长老 and 宗和 at 6,000. Money from loot does get the percentage gain modifiers, unlike money from a sale.
3. Killing someone for their inventory. Where the game offers the option, it hands you every item they are carrying, equipment included, plus whatever their own money attribute holds. That last part is normally nothing because a merchant's till is a separate pool attached to the shop record, not to the character, and nothing in the attribute tables gives an NPC money of their own. The inventory is the prize; the 500,000 in the till does not come with it.
4. Quest steps. The largest single silver payouts in the loot table (15,000, 11,250, 10,000, 9,750, and a block of nine at 9,000) sit in groups that only the quest table references.
5. Crafting to sell. The commission fee is a flat number per recipe, median 932, and the item it produces has a base cost a median of 5.75× that fee. 3,375 of 3,395 resolvable recipes produce something worth more than the fee. Making it yourself costs 精力 instead of money and no fee at all.
6. The auction house. It charges nothing, does not touch a merchant's till, and the best listing is worth about 2.75× an item's reference price in expectation.
7. Commissions. 委托 and 悬赏 pay almost entirely in items, not silver, and the main reward groups contain no money rows at all. Their real economic value is the +20 不夜京贡献值 each bounty grants, which is the sell-price multiplier.
8. Gambling. The 不夜京 card game multiplies your stake by the sum of the winning cards' ratios and takes it entirely on a loss. The arena beside it pays 200 铜钱 a win for the first ten wins and 2,000 after that, plus tokens and one point of contribution.
Fishing, the community's headline method, is a loot-group and cooking loop and its ceiling is the merchant wallet like everything else. A claim of a million 铜钱 an hour requires either more than one merchant per hour or the community build's unlimited purses.
| Sink | Cost | Note |
|---|---|---|
| 打听 — asking the broker where something is | (2 + a class factor) × base cost, then × a second class factor — 3.5× base cost for equipment, 2× for materials, 6× for quest items, treasures and manual upgrades | by far the steepest per-use charge in the game |
| Buying anything on a shelf | median 2× its base cost | |
| Repairing equipment | 30% of base cost, +5% per enhancement level | |
| Commissioning a craft | flat per recipe, median 932 | free if you make it yourself, at the cost of 精力 |
| Forcing a shop to restock | 300, then 600, 900, 1,200 | resets to 300 after a natural refresh |
| One-off story and service charges | 1,000 and 20,000 appear as hardcoded amounts |
The 打听 charge is reduced by the fifth 捕快 stunt, 断案如神, on a 不夜京贡献值 ÷ 10,000 curve, so at 1,000 contribution it is a 10% discount, not the 100% the equivalent sell bonus reaches at the same number. That difference is a single digit in the data.
There is no field repair. Item.Repair() is the only thing that restores durability, and the only
path that reaches it is OnRepairBtnClick in the shop view. No consumable repairs a piece, no craft
skill does, and no camp or rest step does. The only other writers of m_Durability are item
creation and the wear counter.
The button repairs everything you are wearing, not one piece. RepairEquip walks your twelve worn
slots, sorts them by how much durability each is missing, and repairs from the most damaged down
until a Repair() returns false because you cannot afford the next one. So a short purse buys you
the pieces that needed it most.
Durability is a cliff, not a slope. Nothing scales with it. A piece at 1 performs exactly as it
does at full, and the only test anywhere is m_Durability > 0. At zero the game takes it off you
(装备{0}无耐久,已卸下) and refuses to put it back on (装备无耐久,无法穿戴). It is not destroyed, and
its 词条, 强化 and 锋锐 all survive.
Wear is counted in uses, not time, and the counter is per slot:
| Slot | uses per point of durability |
|---|---|
| Weapon | 250 |
| Body armour | 200 |
| Belt, shoes | 600 |
| Jewellery | 2,000 |
The two hooks that would have let you reduce wear are dead. ConsumeDurability subtracts the
效果 of custom types 2 (NaijiuXiaohao) and 315 (WuQiNaijiuXiaohao) from that threshold, and
stunt_proto carries no row with either subType. The code is there and nothing in the game feeds
it, so no 特技 you can learn changes any number in the table above.
What you can change is the durability a piece starts with. Two crafting effects raise it — one lifting 外攻, 耐久, 锋锐 and 坚韧 by 50% on anything you forge, sew or make by hand, and one adding a flat 耐久 bonus to a finished piece. Gear you make yourself goes longer between visits than the same gear bought off a shelf.
Listing at 不夜京 costs nothing. The fee code computes zero and then subtracts a discount from it.
reference price = base cost × a class factor
1.0 plain · 1.1–1.3 equipment by slot · 1.2 materials
1.2 / 1.3 / 1.5 consumables by sub-class · 1.5 quest items
you may list at anything from 1× to 10× that
success chance = lerp(99%, floor, (your price − reference) / (reference × 9))
floor = 20% for a 六阶 item, 10% for a 七阶 item, and 0% for everything else
On success you are paid the full listed price. On failure the item comes back. There is no listing fee and no penalty, so listing is never worse than not listing, and the only cost is the wait.
Do not list at the reference price. The chance falls linearly while the price rises linearly, so the product peaks in the middle rather than at either end:
| Item | Best asking price | Chance there | Expected return per listing |
|---|---|---|---|
| anything below 六阶 | 5.0× reference | 55% | 2.75× reference |
| 七阶 | 5.5× reference | 54% | 3.0× reference |
| 六阶 | 6.1× reference | 54% | 3.3× reference |
Against 0.99× reference for a safe listing at the reference price. Listing at five times the suggested price is worth nearly three times as much per cycle as listing at the suggested one, and the only thing you spend on a failure is the wait for the next auction.
The class factor only exists here. That 1.0–1.5 multiplier by item class is computed by a function the shop path never calls, since the shop's bid reads base cost directly. So the auction's reference price for a quest item is 1.5× what a merchant would pay for it, for a treasure or a manual upgrade 1.5×, for materials 1.2×, and for equipment 1.1–1.3×. Even a cautious listing beats a merchant on every class except plain items, and it does not touch the merchant's purse.
Bidding charges you immediately and refunds you by letter. The money leaves when you place a bid; if you are outbid or the lot fails, the full amount comes back in the mail. The community claim that you are charged whether or not you win is half right: you are charged on the bid, and refunded by letter if you lose.
The shop that runs filters your bag on "has a non-zero cost" and never looks at the table's own sell-permitted flag. 414 items carry that flag and a cost, so the shop lists them anyway. Among them are skill manuals worth 6,240 to 39,425, including 燎原百击, 万剑归宗, 天剑 and 剑道归一. There is one misclick between reading a manual and selling it, and the flag that was meant to stop that is not consulted.
The old shop panel does check it, but that panel is never opened because nothing in the assembly sets the flag that would bring it up. The same is true of a whole parallel shop implementation with its own price rules, including the class-factor multiplier described under the auction and a 20% discount keyed on a condition string. None of it runs. Anyone re-deriving these numbers should check which of the shop classes has a caller before trusting it.
The installed assembly is currently the vanilla one. The workshop build (item 3490012374, version 163) is downloaded and the apply script is in the project folder, but the file in the game directory is byte-for-byte the vanilla backup. Everything above describes what is running now. What follows is what changes when the patch is applied.
| Change | What the code does |
|---|---|
| Merchant purses | any merchant whose purse is 500,000 or more is rewritten to 99,999,999 at refresh. 466 of the 469 merchants sit at exactly 500,000 and two more sit above it, so 468 clear the bar and the wallet ceiling is gone for the entire game. It rewrites the prototype, so it persists for the session. |
| 9,999 stacks | only items whose stack cap is exactly 99 are raised to 9,999. Everything else keeps its cap. |
| Shift-select | shift-clicking a line in batch mode selects a range. Ticking one line still writes the merchant's whole stock into it, as shops_and_trading.md describes. |
| 自动分解 on sale | a checkbox on the sell panel. With it on, any item in your basket that is a craftable recipe output is not sold — it is destroyed and you get back a random 1 to (recipe amount × quantity) of each of its main and fixed materials, and it contributes zero to the sale total. |
| 神兵 protection | with the checkbox off, a player-forged 神兵 in a batch selection is silently skipped rather than sold. |
| 最大掉落 | when a lucky-drop kill triggers, the mod loots every row in the group instead of rolling each one, three per frame. It only fires inside the lucky-drop branch. |
| 欧皇随机 | maxes equipment attribute rolls, weapon power, and affix count and value. It does not touch item quality or tier, so it does not change what a merchant pays for anything. |
| Right-click teleport | costs money; a mobility sink the vanilla game does not have. |
The economically decisive one is the first. Without the patch, every income calculation on this page is bounded by 500,000 per merchant per in-game day and the two old men in 云鹤村 are the only way around it. With it, the bound is gone.
Checked against the fishing-loop guides on 红手指 and 多多云, the attribute rundowns on TapTap and 星界云, the money guides on GamerSky, 3DM and 游侠, the BWIKI 捕快 page, and the workshop page for the mod.
| Claim | Verdict |
|---|---|
| 商道 "increases the price you sell things at"; 口才 "lowers the price you buy at" | Right, and never quantified anywhere. Both are 0.02% a point and both stop at 500 — ±10%, and that is the whole of it |
| 商道 and 口才 are 聊胜于无, worth less than 福气 and 悟性 | Right, and for a stronger reason than anyone gives: they are capped, and the stunt that does the same job is worth ten times as much |
| 商道 rises by transacting volume | Right in direction, wrong in shape. It rises by the logarithm of the sale, so fifty ordinary sales reach the cap and one huge sale is worth about eighteen points |
| The 裁缝 stunt 吴锦软云 "raises 商道" (BWIKI) | Neither name exists in this build. Neither 吴锦软云 nor 蛮育 is a string in the localisation table, and no stunt in the stunt table grants 商道. And it would be beside the point either way: anything that raises 商道 is bounded by the same 500 |
| Shop refresh is a button you click and can spam | It is a button and it costs money — 300, then 600, 900, 1,200, resetting to 300 after a natural refresh. Nobody mentions the cost |
| Shops auto-refresh once per in-game hour | Wrong. One in-game day for 8,390 of the 15,833 rows and a day and a half for 7,256. Eight hours is the third-commonest value and covers 135 rows |
| 限购 45 per merchant | Right number, wrong mechanic. 45 is a cap on how many units a line can hold, not on how many you may buy |
| 连锁 / 不连锁 — some merchants share stock | A real mechanic under a different name. 267 rows are flagged as quota: their remaining count survives the refresh, so once bought out they stay out |
| 枰栌's Confucian scrolls "refresh infinitely; four refreshes takes 儒学 to 1000" | Consistent with the code, and the four refreshes cost 3,000 铜钱 in total |
| 天机老人 charges several times what other merchants do for the same books | Right, and it is general. 304 items are sold at different prices by different merchants, the worst by a factor of 47 |
| 擒纵自如 "raises the price you sell items to shops for" | Right, and it is the single biggest lever in the economy — up to +100%, reachable in fifty bounties. No source gives a number |
| 铁口直断 "lowers the 不夜京 auction commission" | It does nothing. The commission is computed as zero before the discount is applied. There is no listing fee to reduce |
| "You are charged whenever you bid, whether or not you win" | Half right. You are charged on the bid and refunded by letter if you do not win |
| 断案如神 "raises forging success rate" (BWIKI) | Wrong for this build. It reduces the 打听 charge, on a curve ten times shallower than the sell bonus |
| Bounties give 贡献点 and 龙角令 | Right about the contribution, and the amount is +20 不夜京贡献值 and +20 捕快 per bounty, six of them +40. The 龙角令 half was not checked |
| 天榜 salary can be refreshed by meditating | Not in the code. The 侠云录 stipend is a letter every 720 seconds of played time, keyed to your place on the full sixty-name list; nothing else touches the clock. The ladder, the two gatekeepers and the whole payout table are in xiayun_rankings.md |
| Fishing is the fastest money at ~1,000,000 铜钱 an hour | Not contradicted, but bounded: no merchant except the two in 云鹤村 will pay out more than 500,000 per in-game day, so the claim needs several merchants an hour or the community build |
| Sell everything except high-tier gold items | Sound, with a caveat nobody mentions: the shop lists 414 items the data marks unsellable, including manuals worth up to 39,425, and shows no warning |
| The mod "raises the merchant money cap" | Right, and complete: 99,999,999 for every merchant in the game, because all of them sit exactly on the threshold it tests |
| No published table of price by quality or tier | There is one now: +15% a quality step and +40% a tier step above the item's own floor, on the sell side only |
| No published buy-low-sell-high route | Because there is almost nothing to publish. Sixteen reachable shop lines out of 5,947 sell back for more than they cost, and the six that are worth the walk are behind a conversation gate at a merchant with no money |
The three things nobody has written down: that the two trading skills are capped at 500 and therefore worth ten percent; that the 捕快 identity is the real price multiplier and bounties are how you buy it; and that 老铁匠 and 老药师 in the starting village are the only two merchants who will not run out of money.
ShopStoreSystem (NormalShopItemPrice, EquipShopItemPrice, GetEquipQuaLvlPriceWithBase,
GetWordsPriceByQua, ModPlayerMoney, CreateItemByShopPrototype, Save/Load), ShopStoreData
(Refresh, TimeOutToRefresh, CheckConditionItemAndRefresh, OnPlayerSellToShop, AddToStorage,
Save/Load), ShopStoreItemData (GetPrice, CalStuntEffectedPrice, OnBuyToDelete,
SetDoublePrice), ShopBuyBackData.SetPrice, ShopViewNew (CalBuyPrice, CalSellPrice, Buy,
Sell, OnClickRefresh, the bag filter), ShopStoreViewNew (CalSellPrice, ChuShou), ShopHolder,
SweetPotato.Item (GetPrice, GetSellPrice, RepairPrice), ItemPrototype (GetCostFactor,
GetGouMaiFactor, GetDaTingFactor, GetCost, GetRecyclePrice), SweetPotato.ShopProto
(GetRandomShopDatas, GetTableName, ParseCondition), BaseProbability,
SweetPotato.AttriManager (AddAttriField, CalculateGrowthValue, ModAttriField,
GetAttriGainAdditionRand, GetAttriConsumeReduceRand), StuntManager.GetStuntEffectValue,
LootMgr (LootItemsByGroupId, LootOneItem), EntrustManager (GenerateRewardItems,
GenerateRewardItems2), BuYeJingManager (PaiMaiHangFinish, OnClickRightGuaPai,
OnClickRightJingPai), DaTingItems.GetCostMoney, SweetPotato.Tools (RandomOne, the time
constants), ConditionPrototype.CheckOneNewCondDef, AnswerManager.ParseAnswers, and the tables
shop, item_base, base_probability, npc_prototype, loot_items, stunt_proto, spelleffect,
talent_proto, entrust_event_prototype, living_assemblyskill, wordentry, wordentrytype,
dialoguelist, nandu.
What was checked live, and what was not. Three numbers were read out of the running game rather than the code: the character's 商道 500, sitting exactly on the cap the code enforces; 口才 196; and 不夜京贡献值 0, which is where the sell multiplier starts. The currency's name on the character sheet, 铜钱, came from the same read; the shop panel's 金币 is a string-table reading and was not seen on screen. Everything else on this page is a code reading against the shipped data tables, and no price formula here has been measured the way the attribute conversions in character_build.md were. Given that the one measurement in that guide overturned the table it came from, treat the arithmetic here as what the code says rather than as what the game does until each number has been watched happening.
The two specific gaps worth closing first, both cheap to check in play:
The community build was decompiled and diffed against the vanilla assembly for this page, but it is not the assembly that is installed, so nothing in the mod section was observed either.