GitHub上的源代码 此MOD现已开源!在可预见的未来,我将不再对其进行更新——我完全授权你们进行改进、重新发布,并以任何方式使用这些代码。感谢每一位测试该MOD并提供反馈和bug报告的朋友。 如果6个月内没人搞出什么酷炫的东西,我可能会做个更新什么的。更新:已去除Python依赖 🐍🐍🐍🐍🐍🐍🐍🐍 - 感谢Likster https://www.nexusmods.com/profile/likster 不再需要Python了,这对Linux用户来说是个重大胜利,因为我这个蠢货搞不定怎么让它在Linux上运行。同时包含一些bug修复。
魔法之心 - 法术学习与成长 魔法之心将法术学习转变为一段主动练习与成长的旅程。该模组会扫描你加载顺序中的每一个法术,生成一棵带有智能前置条件的个性化技能树,并追踪你施法与练习魔法的进度。无需手动配置。兼容所有法术模组。
核心特性 智能法术树生成 系统会分析法术名称、效果、关键词和描述,构建合理的先决条件树。火焰系法术从火焰分支延伸,治疗链则通向更高级的恢复法术。无需硬编码法术列表——它会学习你的加载顺序中存在哪些元素,并围绕它们构建体系。
树木生成机制解析 Python 建造者 (安装必要的Python组件)
生成高质量主题树木的多阶段管线:
主题发现 - 使用TF-IDF(词频-逆文档频率)分析每个法术的名称、效果和描述。自动发现各学派有意义的关键词——如“火焰”、“冰霜”、“连环闪电”、“护盾”——无需任何硬编码列表。过滤掉“伤害”或“目标”等通用词汇,从而找出真正让每个法术与众不同的特质。模糊法术分组 - 使用模糊字符串匹配(部分比率、令牌集匹配、子串检测)将法术按主题家族分组。每个法术根据最佳匹配分数被分配到恰好一个主题。大组按等级拆分;小组则合并。结果:毁灭系可能会有火焰组、冰霜组、闪电组和符文组——这些全部自动从你的模组列表中发掘出来。树木建造 构建遵循等级进阶(新手→学徒→熟练→专家→大师)的前置技能链。分支能量系统控制技能树的扩散方式——追踪直线连接并随机引入分叉。高阶法术获得聚合锁定:专家级法术需要2个以上前置技能,大师级法术需要3个以上,并优先采用跨主题连接以创造有趣的解锁节点。多因素边缘评分 每个潜在的前置连接都会从多个维度进行评分:元素隔离(火焰不应要求冰霜)、等级排序、主题一致性、效果匹配以及法术类型兼容性。不良连接会被直接拒绝。验证与自动修复 - 模拟从根节点到完整解锁路径,以验证100%的法术是否可达。检测循环依赖。自动将阻塞的前置条件替换为可达的替代项。最多运行20次修复循环,直到每个法术都有有效的学习路径。四种布局模式 分析完你的法术之后,选择你的技能树形态:
经典 以同心环或网格行生成候选位置,随后各根节点认领距离最近的未占用节点。可生成自然对称的扇形布局。支持可配置的咒语匹配方式(简单、分层或智能)。树 从根部向外定义主干通道,然后在三个区段(分支/主干/根部)之间分配法术,并配有可调节滑块。先填充主干,随后分支向两侧延伸。视觉设计更结构化、更具规划性。太阳 - 径向网格布局,支持多种算法:线性环、等面积分布、斐波那契螺旋和方格网格。每种算法都能从中心向外辐射出独特的视觉图案。平坦 用于紧凑可视化的平面网格预览布局。所有模式下,当系统生成树形结构时,都会实时显示幽灵节点预览,让你在确认前就能看到布局如何成形。
法术是挣来的,不是赐予的。 经验值来源于实际施放前置法术。命中目标?额外经验。魔法成为一项通过使用来提升的技能。高度可配置的难度设定,内置预设(简单、默认、困难),或自行创建。
包含预设配置文件的广泛进度设置。 抢先体验,逐步解锁更强力量 在可配置的阈值下,你可以提前解锁一个法术——但它一开始是弱化的。你的火球术最初可能只能造成20%的伤害。随着你不断练习,其威力会分阶段提升,直到你达到完全精通:
25% 经验值 -> 20% 法术强度(萌发) 40%经验值 -> 35%法术强度(开发中) 55% 经验值 -> 50% 法术强度(练习中) 70%经验值 -> 65%法术强度(进阶) 85%经验值 -> 80%法术强度(精炼) 100%经验值 -> 全力(已精通) 80%效果以下时,麻痹和隐身等二元效果将被禁用——杜绝取巧。威力缩放通过ActiveEffect子类上的41个vtable钩子实现,覆盖游戏中所有法术效果类型。
削弱了法术以供练习和精通。 渐进式发现 在发现模式中,你面前的技能将保持隐藏状态。名称会被遮蔽,效果未知。随着你的进展,技能树会逐渐揭开,就像学生慢慢领会所学内容的范围一样。
扫描仪界面 - 简单与复杂模式 法术扫描界面有两种模式:
简单模式 (默认)
选择一个预设,点击生成,搞定。大尺寸预设按钮、简洁的操作键,外加实时预览树状图——全部集中在一个界面上。专为想要直接出结果、无需繁琐配置的玩家设计。
复杂模式 完全掌控所有参数:生长模式选择、模糊匹配阈值、生成种子、插件过滤、生长模式设置等。扫描后出现三个额外设置选项卡:
前置任务大师 基于NLP的锁定前置条件系统(每层级锁定百分比、学派分布、池来源)核心 中央树形球体的位置与半径控制替代路径 - 双向软性前置条件镜像(实验性)将您的配置保存为树生成预设,以便日后重复使用。
预设 设置预设 控制法术进展的体验感。内置三种配置方案(默认、简单、困难),外加无限自定义预设。每项预设均存储经验值倍率、等级需求、早期学习阈值、典籍设置及发现模式偏好。您的当前预设会在各游戏会话间保留。
树木生成预设 保存并加载你的完整建树配置——包括成长模式设置、匹配算法、前置主锁设置等。可在配置间即时切换。上次使用的预设会在启动时自动应用,因此重新打开模组时,可直接从上次停下的地方继续。
插件白名单与黑名单 精确控制哪些模组为你的技能树提供法术。可将整个插件加入白名单,或将单个法术加入黑名单。采用稳定的插件:表单ID键,在加载顺序变化后依然有效。
前置需求大师(锁定前置条件) 一个高级可选系统,在天赋树基础上增加了隐藏的“锁定”前置条件。这些链式连接仅在选定节点时显示,为成长路线增添了深度与探索性。
锁定候选通过法术名称与效果之间的词元重叠和模糊相似度进行评分,并对空间上邻近的节点给予偏向。更高阶的法术获得更多锁定(宗师级法术最高50%,新手级为0%)。BFS循环检测可防止死锁——系统在添加锁定之前会追踪每一条后代路径,以确保不会出现循环依赖。
每级可配置锁定百分比 同校、邻近或跨校候选池 空间邻近偏差(更近的法术更受锁定偏好) 具有全周期预防功能的死锁安全机制 带缩放/平移的实时预览画布
法术书整合 基于DEST(Don't Eat Spell Tomes)的内置法术书钩子,大幅提升了跨版本兼容性。我们的实现采用运行时模式扫描而非硬编码偏移量,因此单个DLL即可在SE 1.5.97及所有AE版本上运行。若钩子无法找到预期的指令模式,将优雅地回退至原版行为,而不会导致崩溃。
当你阅读职业学习树中某个法术的法术书时:
为该法术提供经验值(可配置数量) 将其设为当前学习目标 保留这本书(不会消耗它) 持有此书时获得额外经验值 前提检查 - 若未满足技能树前置条件,则阻止学习 技能等级检定——可选最低魔法学派技能要求 反作弊 - 从魔法书中获得的每种法术仅授予一次经验值 对于不在技能树中的法术,保留原版行为。
设置与自定义 进度 学习模式:每所学校一个目标或单一全局目标 经验值倍率及各类来源上限(直接前置、同系法术、任意法术、法术书、自身施放) 等级经验需求(新手至大师) 早期学习阈值与有效性范围 更高经验等级下的自施法要求 法术书学习 进度模式切换(经验值系统 vs 原版即时学习) 阅读典籍时获得的经验值百分比 携带魔典时背包容量提升 学习前需要满足树状前置条件 视觉 主题选择(默认深色+天际风格主题) 按学校自定义配色,支持颜色选择器 按等级缩放节点大小 星空背景与3D地球切换 开发者 开发者模式,完整显示技能树 秘籍模式:即时解锁所有法术 树木生成调整 LLM API设置(OpenRouter集成,用于替代树生成)
技术详情 纯DLL加UI模组,无需ESP。添加和移除都完全不影响存档安全。 支持地址库的SKSE插件(SE 1.5.97与AE 1.6.x) 单个DLL同时支持SE和AE - 通过模式扫描进行运行时版本检测 基于PrismaUI的网页界面(CEF/Ultralight) 41个虚表钩子,用于所有效果类型的法术效力缩放 Co-save序列化 - 进度会随存档文件保存 表单ID持久性在加载顺序变化后依然保留(插件:本地表单ID格式) 为大型加载顺序进行了性能优化(已在1500+法术下测试) 内置Python安装程序(无需手动配置Python环境) 优雅的EditorID回退方案 - 适用于任何环境,无论是否启用NativeEditorIDFix/po3_Tweaks EditorID缓存
需求 必填: 天际特别版 1.5.97 或周年纪念版 1.6.x SKSE64 SKSE 插件地址库 PrismaUI - UI框架(必须在魔法之心之前加载)强烈推荐: 原生编辑器ID修复 大幅提升法术扫描精度。未启用时,扫描器将退回至基于名称的启发式匹配,可能会在技能树中混入部分仅限NPC使用或无用的法术。启用后,扫描器可通过内部编辑器ID精确过滤掉非玩家法术。(天际默认不在运行时内存中保留编辑器ID——本模组修复了这一问题。)powerofthree的调整 - 被广泛使用的引擎修复与游戏体验改进。大多数模组配置已包含此内容。内置: 模组UI中已包含树构建器所需的Python 3.9+自动安装程序——无需手动设置
快速开始 安装魔法之心、PrismaUI,以及 原生编辑器ID修复 通过你的模组管理器。 启动游戏。按 F8 (默认热键)打开界面。 你会降落在 法术树 页面(空白,直到你建造一个)。 导航至 法术扫描 标签页。 点击 扫描 检测你加载顺序中的所有法术。 选择一个预设(或使用默认设置),然后点击 建造树 . 给进阶玩家:如有提示,点击Python设置按钮——它会自动安装。 点击 应用树木 以激活前提条件。 切换到 法术树 点击查看你生成的树。 游戏中:施放前置法术以获得经验值。阅读法术书可获得额外经验值。随着进度推进解锁新法术。 取决于你的法术模组规模,Python构建器最多可能需要2分钟。游戏会暂停直至构建完成。对于1500个法术,这通常需要约2分钟。而JavaScript构建器则几乎即时完成。 设置(开发者模式)中有作弊模式,可查看完整技能树并解锁任意法术以供测试。
VIDEO
已知问题 树形前置逻辑偶尔会为冷门法术模组产生奇怪的连接。 在某些系统配置下,打开UI可能需要先按Escape键以释放鼠标锁定。 未装备 原生编辑器ID修复 ,法术扫描器会使用基于名称的启发式算法来过滤掉NPC/陷阱法术。这种方法虽然可行,但精度较低——你可能偶尔会看到一些非玩家法术混入你的技能树中。安装NativeEditorIDFix后,扫描器便能够访问内部的EditorID,从而获得更干净的结果。 请在评论中或Discord上报告漏洞。非常感谢您的反馈。
兼容性 心灵魔法的FOMOD包含一个
合并ISL兼容性补丁 该脚本可自动检测ISL/DEST,并在单个脚本中保留多个模组的特性。所有特性均能优雅降级——若某个模组未安装,其特性将自动停用。
沉浸式法术学习 - 命运化 (ISL) 完全兼容。ISL的沉浸式学习体验(学习菜单、阅读动画、时间流逝、地点加成)均得以保留。法术书通过“魔法之心”的进度系统在首次阅读时给予经验值,而ISL的学习过程则会以相应比例的效果教授该法术。此补丁还修复了原版ISL脚本中的一个漏洞,即加载存档后法术书事件可能静默失效的问题。
不要吃掉法术书(DEST) (独立)如果你使用的是DEST独立版(不带ISL),FOMOD也会自动检测并为其打补丁。Heart of Magic包含其自带的改进版法术书钩子,采用跨版本模式扫描,因此原版DEST DLL会被替换为惰性垫片,以防止钩子冲突。
坐下阅读 完全兼容。合并补丁保留了Sit Down and Read的GPMA/OAR动画系统用于学习环节、ImprovedCameraSE第一人称支持,以及学习期间禁用TrueDirectionalMovement头部追踪。如果安装了Sit Down and Read,你将获得其改进的阅读动画。若未安装,则使用原版标准待机动作。
GTS特性重平衡 (GTS CE) 完全兼容。合并补丁保留了GTS CE中书虫特质的学习速度加成。若已安装GTS CE且角色拥有书虫特质,学习时间将相应缩短。若未安装GTS CE,此功能将静默停用。
加载顺序: 魔法之心应加载
之后 ISL、DEST、坐下阅读,以及GTS特性重平衡,使合并后的脚本优先生效。
重要: 若您通过手动方式(不使用FOMOD)安装了“魔法之心”,请确保
DontEatSpellTomes.dll 来自DEST/ISL的内容被移除或覆盖。同时运行两个DLL会在读取法术书时导致崩溃。
制作人员名单:目的地 - 原始法术书挂接技术(我们的实现通过运行时模式扫描对其进行了改进,以支持跨版本兼容)。坐下阅读 - GPMA/OAR动画系统与ImprovedCameraSE/TDM兼容性(已合并到我们的ISL补丁中)。GTS特性重平衡 - 书虫特质研究加成(已并入我们的ISL补丁)。源代码 可在GitHub上获取。