You are viewing a potentially older version of this package. View all versions.
LIFELAN-RandomCrestMod-0.1.5 icon

RandomCrestMod

Adds the Chaos crest (纷乱): attacks, binds, tools and spells are all randomized while it is equipped. Unlocked from the start; swap it at any bench.

Date uploaded a week ago
Version 0.1.5
Download link LIFELAN-RandomCrestMod-0.1.5.zip
Downloads 26
Dependency string LIFELAN-RandomCrestMod-0.1.5

This mod requires the following mods to function

BepInEx-BepInExPack_Silksong-5.4.2304 icon
BepInEx-BepInExPack_Silksong

BepInEx modloader. Preconfigured and ready to use.

Preferred version: 5.4.2304

README

RandomCrestMod 使用说明(纷乱)

简体中文 | English

已发布到 Thunderstore(社区 Hollow Knight: Silksong),推荐用 mod 管理器(r2modman / Gale / Thunderstore Mod Manager)搜索 RandomCrestMod 安装,会自动处理好 BepInEx 依赖。

一个《空洞骑士:丝之歌》BepInEx 模组:新增一个纹章 「纷乱」(英文 Chaos)。 装备它之后,攻击、缚丝、工具、法术全部随机 —— 你永远不知道下一秒会发生什么。

纹章在每个存档开局即解锁,可在任意长椅切换,六个槽位默认全部解锁。 所有随机效果只在装备纷乱时生效,完全不影响其他纹章。


安装

  1. 先安装 BepInExPack Silksong(用 mod 管理器会自动装好)。

  2. 将 RandomCrestMod.dll 放入:

    <游戏目录>/BepInEx/plugins/lifelan-RandomCrestMod/RandomCrestMod.dll
    

    (用模组管理器安装,或自行 dotnet build -c Release 构建,构建脚本会自动复制。)

  3. 启动游戏,在任意长椅选择 纷乱 即可。


纹章

名称 中文 纷乱,英文 Chaos
说明 你永远不知道下一秒会发生什么。
解锁 每个存档开局即可解锁
切换 任意长椅,与普通纹章一样
槽位 六个全部解锁(1 红 / 1 技能 / 2 蓝 / 2 黄)

功能

以下全部只在装备纷乱时生效。卸下后,其他纹章的行为与游戏原版完全一致。

功能 说明
随机攻击 每次攻击随机使用某个纹章的攻击模组,你按下的方向(普通 / 上 / 下 / 蹬墙 / 冲刺 / 蓄力斩)保持不变。
随机缚丝 每次缚丝随机使用某个纹章的缚丝效果。
随机工具 每次投掷随机变成游戏内任意一个红色工具,无论是否已获得。
随机法术 每次释放灵丝技能随机变成 6 种法术之一。
随机嘲讽 按下嘲讽键(R3 / V)随机使用三种形态之一:普通、野兽纹章吼叫、投掷环特殊动作;野兽形态会连专属动作一起切换。
工具次数 每次坐椅子前所有工具共享 20 次使用次数(可配置),补充不消耗碎片。
自定义 HUD 自定义缚丝外框、固定的"随机"工具 / 法术 HUD 图标、存档选择界面的自定义纹章 spool。

特殊工具处理

  • Extractor(Needle Phial / 针剂)、Silk Snare(Snare Setter / 陷阱设置器)与 Rosary Cannon(念珠炮)被排除在随机工具池之外 —— 前两者随机投掷时无法正常工作,念珠炮使用方式特殊 且快速连投容易哑弹。
  • Lightning Rod(Voltvessels / 电枢球)每次抽取时在流星锤与标枪两种形态间随机,之后会还原玩家自己的形态设置。
  • Rosary Cannon(念珠炮)始终保持已充能形态。

配置项

配置文件:BepInEx/config/io.github.lifelan.randomcrestmod.cfg

配置项 默认值 说明
Tools/ToolUsesPerBench 20 坐椅子时所有工具补充到的使用次数。

其余数值均已写死(经调试确定),不提供配置:随机攻击 / 缚丝 / 工具 / 法术 / 嘲讽始终开启且 仅限纷乱生效;工具排除名单固定为 Needle Phial 与 Snare Setter;Voltvessels 两种形态随机; Rosary Cannon 固定已充能;自定义 HUD 外框 / 存档 spool / 随机图标固定开启,HUD 外框的偏移与 缩放也已固定。


注意事项

  • 只有装备纷乱时随机效果才会触发;其他纹章完全不受影响(工具次数、补充花费、工具形态等都不会被改动)。
  • 随机工具池包含你尚未获得的工具;随机法术为全部 6 种灵丝技能。
  • 随机缚丝需要**满丝(9 格)**才会触发;灵丝不足时表现为原版"丝不够"。
  • 纷乱不计入游戏完成度(其他纹章、工具、技能的完成度不受影响)。

构建

dotnet build -c Release

构建完成后会将 RandomCrestMod.dll 复制到 BepInEx/plugins/lifelan-RandomCrestMod/。 自定义美术资源位于 Assets/(纹章图标、HUD 外框、存档 spool、随机图标等),会嵌入 DLL。

游戏路径在 SilksongPath.props 中配置。

CHANGELOG

Changelog

0.2.6

  • Fixed the charge slash (蓄力斩) losing its charge when Hornet crossed a scene transition: the random crest being restored fires "HC CONFIG UPDATED", and the Sprint FSM's global handler for that event runs "Reset Nail Charge State". Every config swap is now silent while a nail art is charging or while the hero is transitioning, and the event is never fired on death / respawn / scene change.
  • Fixed a skid bind (滑步缚丝) followed by a sprint dash stab (冲刺斩) reusing the bind's crest. The bind keeps holding the moveset through the following sprint, so the dash stab skipped its re-roll and inherited the bind's crest. A real dash stab now takes the moveset over and re-rolls.
  • Hardening: a moveset is no longer installed through a scene transition at all (the sprint moveset and bind attempts both skip while transitioning), which also removes a per-frame restore/re-acquire churn during transitions.
  • The three config option descriptions are now bilingual (Chinese + English).
  • Fixed the tool randomiser hijacking the game's forced-tool segments (e.g. Loddy's dart game): the game forces a tool via a custom override, and the randomiser was replacing it and spending the shared tool budget. Any active override now keeps the game's tool and its own counter, so the segment plays out as vanilla (the HUD already hid the spend, so it looked free but was not).
  • Fixed the Extractor (储液针管) being billed by the shared tool budget. It is a vanilla-equip quest tool whose vanilla use does not spend AmountLeft; the budget no longer overwrites its count, drains the shared pool when it is used, or forces its bench refill. It keeps its vanilla state and refill.
  • The HUD tool icon now shows the real tool during a forced-tool segment (e.g. Loddy's dart game) instead of the Chaos random icon.

0.2.5

  • The three settings now live in a named [General] section instead of an unnamed one. r2modman's config editor drops any section whose name is empty, so the settings could not be managed from r2modman before; they can now. (Values set in the old unnamed [] section go back to their defaults.)

0.2.4

  • Fixed a long-standing stall: pressing the sprint (疾风步) right as Hornet stepped onto a wall corner could take control away and fling her along until she hit a wall. The random crest was being restored in the middle of the Sprint FSM's wall-run / mantle states, and the game's "HC CONFIG UPDATED" handler aborts that FSM. The restore now waits for the Sprint FSM to go idle and is done quietly, so the wall action plays out and control comes back.
  • Fixed the taunt voice / action mismatch that could happen right after a sprint or a high fall: taunting as you landed could play the Beast voice over a Standard slash. A lingering sprint could still hold the Beast (Warrior) crest that decides the taunt's own action, so a non-Beast roll now drops such a holder and voice + action agree again.
  • The Needle Phial's Hornet Statuette reward is now capped at the game's consumable cap (20) instead of stacking without limit.
  • Internal rewrite with no gameplay change: the code is split into Core (pure rules + unit tests), Runtime (a single ConfigLease owner for the crest config), Features and Presentation. The randomness, numbers, config options, HUD and all art are unchanged from 0.2.3.

0.2.3

  • Fixed the sprint dash stab (冲刺斩) always falling back to the Hunter moveset instead of the random roll. PlayMaker's CheckIfCrestEquipped reads ToolCrest.IsEquipped, which Mono is free to inline, so the crest spoof never reached the Sprint FSM's branch; that branch is now answered directly, and a dash whose attack starts on the same frame the sprint begins is covered too.
  • Fixed consecutive sprint / skid binds (滑步缚丝) all reusing the first rolled crest until the hero stopped, which looked like the same action repeating. The next bind now re-rolls every time. The TickDash guard that keeps the crest from being dropped mid-bind is kept, so the Shaman water / Rage-Reaper fixes stay intact.
  • New HUD frame appear / disappear animation. The Chaos frame now grows out of the spool and retracts back in step with the game's own frame transition (FrameAppear / FrameDisappear), instead of snapping in. Protrusions (top spike, bottom spike, needle) finish together rather than the needle lagging behind. On scene load / save load it shows instantly so it does not fight the game's own HUD intro.
  • Switching between Chaos and the base (un-upgraded) Hunter crest now plays the full transition (old frame out, new frame in, change sound). Both share the game's defaultFrameAnims, so the game used to treat it as "no change" and skip everything.
  • New config options, all three sharing the unnamed section of BepInEx/config/io.github.lifelan.randomcrestmod.cfg:
    • CursedBind (default true): turn the random cursed / refused bind (诅咒缚丝) on or off.
    • ParryAlwaysSucceed (default false): false keeps the Cross Stitch auto counter at its 50% success roll, true makes it always land. Real parries are unaffected.
    • ToolUsesPerBench (default 16): moved next to the two new options. It used to live under [Tools]; if you had customised it, set it again.
  • The red tool slot on the crest-selection screen moved up slightly (0.9 → 0.95).

0.2.2

  • The random bind can now resolve to the Cursed crest's refused bind (诅咒缚丝). It is a fixed 5% chance and runs through the Bind FSM's own cursed branch, so every normal gate (full silk, CanBind, ground / sprint / cutscene) still applies. The refused bind takes all of the hero's silk, and each silk chunk taken now pays back 10 rosaries.
  • Tool barrage is now gated on the Hornet Statuette (大黄蜂雕像): without the statuette a throw is exactly vanilla (single; Quick Sling keeps its vanilla double throw). While it is held the old rule applies — +1 throw per Tool Pouch upgrade and +1 more with Quick Sling.
  • Two new ways to obtain the Hornet Statuette besides the vanilla Fixer quest:
    • a one-time world pickup in Bellhart (钟心镇), in the map-seller area by the entrance. It is taken once and gone for good (persisted per save), and is not gated on the Chaos crest.
    • while Chaos is equipped, dealing real damage with the Needle Phial (储液针管) awards one statuette per use (several damage instances in a single use still count once; more uses stack, with no cap).
  • The Cross Stitch auto counter now only lands its follow-up damage 50% of the time. The retreat / highlight always plays; a miss just recovers afterwards. A real parry is unchanged and always counters.
  • Each Tool Pouch upgrade made while Chaos is equipped now immediately grants 800 shell shards (clamped by the game's shard cap). Upgrades made on other crests do not count.
  • Rune Rage (符文之怒 / Silk Bomb) now deals double damage while Chaos is equipped. The extra multiplier is re-applied after the blast's own HeroShamanRuneEffect refresh, so the vanilla Zap-rune bonus still stacks on top.

0.2.1

  • The Chaos crest's HUD frame now turns blue in the blue-health (lifeblood) state, matching every vanilla crest. It used to stay silver because the custom frame never mirrored the game's lifeblood tint.
  • Replaced the HUD frame art. The old gamma-brightened version (commit c20c9fd) read as a bright silver, which made the blue-health frame look like the Steel Soul HUD; the frame is now the new high-resolution art, aligned to the vanilla cloakless spool disk.
  • Every red tool is now always in the random tool pool, with no config toggle: the Delver's Drill, Snare Setter, Needle Phial and Rosary Cannon can all be thrown at random. The Needle Phial still works normally while equipped so its quest can be completed (and keeps its own HUD icon), while the Snare Setter now follows the random rule like every other tool.
  • The Rosary Cannon is kept charged and now counts as equipped while its custom-usage loop runs, so holding the button fires continuously just like the vanilla cannon.

0.2.0

  • Random silk skills except the Cross Stitch now have a 3% per collected silk skill chance to refund the silk their cast spent. Only the first silk spend of a cast rolls, the refund is paid immediately (same spool animation as the Cross Stitch refund), and the skill still has to be affordable, so silk is required up front. The Cross Stitch keeps its guaranteed real-parry refund.
  • The Tool Pouch no longer grants the free-throw chance. Instead every collected red tool adds 2% (the Curvesickle upgrade adds another 2%, capped at 40%) that a throw costs no use. The Snare Setter and the Extractor never count, as they are never thrown at random.
  • The Snare Setter and the Extractor now keep their vanilla behaviour when equipped on the Chaos crest instead of being swapped for a random tool, so their quests / special usage still work (and their own HUD icon is shown).
  • The random Plasmium Phial now grants 3 blue health instead of 1 once the Plasmium Gland has been obtained, so the lifeblood questline pays off on the Chaos crest.
  • The random tool HUD icon now turns purple while Poison Pouch poisons the equipped tool. It used to go grey because the mod forced the icon white on top of the vanilla poison recolour shader.

0.1.9

  • Cross Stitch: a real parry (the defensive stance is struck) now refunds the silk the cast spent, so a successful block costs nothing. The auto counter (the stance simply expires) still costs its silk. Only while the Chaos crest is equipped; every other crest keeps the vanilla parry.
  • Optimized the crest textures: a cleaner crest icon and silhouette, plus the Chaos crest's own equipment glow (crest_glow.png). Selecting / confirming the crest and the skill-get prompt now use the crest's own glow and silhouette instead of flashing a Hunter-shaped one.
  • The standard taunt flavour can now roll 0 rosaries (the range is 0-50 instead of 1-50) when offering shell shards. This means you can now spend shards and gain no rosaries at all.

0.1.7

  • Random tools can now throw a barrage: one press throws several times (one extra per Tool Pouch upgrade, plus one for Quick Sling) and every chained throw re-rolls a fresh random tool.
  • The Tool Pouch upgrade now matters on the Chaos crest: shared tool capacity grows by 25% per upgrade, and each upgrade adds an 8% chance (capped at 40%) that a throw costs no use.
  • Shared tool capacity now starts at 16 uses per bench (was 20) before the Tool Pouch bonus.
  • The random taunt is now weighted: standard 80%, Beast 14%, Shakra Ring 6%. The ring check is also hardened so a genuinely equipped ring can no longer hijack a standard / Beast roll.
  • Completing a taunt on the ground while the Chaos crest is equipped now spends 80 shell shards and grants rosaries based on the rolled flavour: standard 1-50, Beast 60, Shakra Ring 80. With fewer than 80 shards the taunt stays purely cosmetic.
  • Cross Stitch: a real parry keeps the vanilla hit spark again; only the automatic counter removes it and uses the pink-white highlight.
  • Fixed a Shaman air bind sometimes restoring the crest config while still airborne and stranding the hero.

0.1.6

  • The Cross Stitch (十字绣) now counters on its own: after the defensive stance the hero flows straight into the counter even when not struck. Only while the Chaos crest is equipped; every other crest keeps the vanilla parry.
  • The Cross Stitch hit spark (Parry Clash Effect) no longer appears while the Chaos crest is equipped; the clash animation, audio and camera shake are unchanged.
  • Added a pink-white highlight on Hornet for the Cross Stitch body-recoil step (Chaos crest only).
  • Removed the Delver's Drill (掘洞钻 / Screw Attack) from the random tool pool: its downward dive does not work when thrown at random.

0.1.5

  • Fixed a random Shaman bind getting stuck on the edge of a top/bottom scene gate when falling into it: TransitionPoint tests PlayerData.CurrentCrestID directly, so the Chaos crest's spoofed Shaman bind was rejected and repeatedly pushed out of the gate while the bind kept diving.

0.1.4

  • The Voltvessels (电枢球) now rolls randomly between its thrown bola and staked spear forms every time it is picked. The player's own form setting is restored afterwards, so the save is untouched.
  • Hornet's taunt (R3 / V) now randomly plays one of its three vanilla flavours: the standard flourish, the Beast crest battle-cry, or the Shakra Ring (投掷环) toss. The Beast flavour also enables the Beast crest's unique taunt visual, so the animation matches the voice.
  • Removed Rosary Cannon (念珠炮) from the random tool pool: its usage differs and it misfires under rapid tool use.

0.1.3

  • The crest upgrader (伊娃 / Eva) no longer counts the Chaos crest's slots, so her awakening / upgrade stages progress exactly like vanilla.

0.1.2

  • The Flea Charm now stacks with the Chaos silk discount (spells cost 2 silk at full health).
  • Random attacks now cover normal / up / down slashes during sprint, air-sprint and skid.
  • Fixed the HUD frame getting stuck hidden after switching crests.
  • Fixed a random Shaman bind falling through surface water and dropping out of the scene.
  • The Chaos crest no longer counts toward the game's completion percentage.
  • Removed the cursed-bind feature and all of its workarounds.

0.1.1

  • Custom HUD frame, random tool / spell icons and save-selection crest spool.
  • Renamed the crest to 纷乱 (Chaos) and added a bilingual README.

0.1.0

  • Initial release: the Chaos crest with random attacks, binds, tools and spells.