Oceanblus 发表于 2026-3-11 21:49:28

关于技能屏蔽

大家好,我在给 Starsector 做一个偏 Roguelike / 爬塔玩法的 mod,目前在实现一个机制时遇到一点技术问题,想向有经验的 modder 请教一下。我有一个设计想法:
在某些事件或关卡中 暂时屏蔽玩家的技能效果(例如类似“失去指挥能力”或“电子干扰”的状态),持续一段时间或若干场战斗;等条件结束后,再 把玩家原本的技能完整恢复。具体来说我想实现的效果大概是:
[*]触发某个事件 / debuff
[*]在持续期间 玩家技能不生效(或被移除 / 禁用)
[*]持续一段时间 / 若干层 / 若干战斗
[*]之后 恢复玩家原本的技能配置
我目前不确定的点是:
[*]是否有办法 临时禁用技能效果而不真正删除技能?
[*]如果必须移除技能,是否有可靠方式 记录并在之后安全地恢复?
[*]有没有现成的 API、listener 或 mod 示例做过类似的事情?
如果有人做过类似机制(比如 temporary debuff、story event skill disable、或者类似玩法),非常希望能听听你们的实现思路或推荐的做法。感谢任何建议或指路!

下北泽远野 发表于 2026-3-11 22:24:05

emmmm
检测玩家的buff加成并给予相反的buff?
玩这么多的mod就没看到过禁用技能的

Oceanblus 发表于 2026-3-11 23:19:52

下北泽远野 发表于 2026-3-11 22:24
emmmm
检测玩家的buff加成并给予相反的buff?
玩这么多的mod就没看到过禁用技能的 ...

我的考虑是,玩家的技能本身让这个爬塔玩法的起点产生太多差异了,所以想要直接屏蔽掉

冷鸢 发表于 2026-3-12 01:30:31

魔女城塞似乎有禁用本mod的自定义技能的效果,但是对原版技能应该没用。试试用memoryapi保存和恢复技能配置?总之理论上api是支持你的想法的。

冷鸢 发表于 2026-3-12 01:34:23

获取角色属性:MutableCharacterStatsAPI stats = person.getStats();
获取所有技能的副本:List<MutableCharacterStatsAPI.SkillLevelAPI> skills = stats.getSkillsCopy();
设置技能等级:stats.setSkillLevel(skillId, level);
获取单个技能信息:
SkillLevelAPI skill = stats.getSkillLevel(skillId);
String skillId = skill.getSkill().getId();
float level = skill.getLevel();
不知道有没有用的api

冷鸢 发表于 2026-3-12 01:35:35

冷鸢 发表于 2026-3-12 01:30
魔女城塞似乎有禁用本mod的自定义技能的效果,但是对原版技能应该没用。试试用memoryapi保存和恢复技能配置 ...

魔女城塞到底有没有我确实不太记得了,你可以翻翻。但是我记得应该是有个mod有存储技能数据,然后将所有技能等级设为0,再恢复的操作的。

MAJOR_Kai 发表于 2026-3-12 02:40:42

本帖最后由 MAJOR_Kai 于 2026-3-11 21:41 编辑

    我能想到的是自己建一个class用于储存 角色ID之类的信息和角色的技能,在触发移除前先存进去,然后触发了恢复事件后从这里读取再添加到对应角色上,有关的接口查询在这里。
PersonAPI (Starfarer API) 角色
MutableCharacterStatsAPI (Starfarer API) 角色stats

Oceanblus 发表于 2026-3-12 18:24:48

冷鸢 发表于 2026-3-12 01:30
魔女城塞似乎有禁用本mod的自定义技能的效果,但是对原版技能应该没用。试试用memoryapi保存和恢复技能配置 ...

谢谢,那说明ai在撒谎,我考完试试试

Oceanblus 发表于 2026-3-12 18:25:27

冷鸢 发表于 2026-3-12 01:35
魔女城塞到底有没有我确实不太记得了,你可以翻翻。但是我记得应该是有个mod有存储技能数据,然后将所有 ...

是的,这正是我打算做的

相位船爱好者 发表于 2026-3-12 20:13:04

不懂,帮顶,快做{:tieba_12:}

冷鸢 发表于 2026-3-12 21:36:06

Oceanblus 发表于 2026-3-12 18:25
是的,这正是我打算做的

那么就去看看魔女城塞吧,我记得是有的

Seraph615 发表于 2026-3-12 22:41:02

这种设计会和很多无脑叠叠乐玩家mod池冲突的脑补报错不会少{:5_119:}

Oceanblus 发表于 2026-3-13 10:22:40

相位船爱好者 发表于 2026-3-12 20:13
不懂,帮顶,快做

基本上已经做完了,在调整数值和敌人强度,ai太伟大了
页: [1]
查看完整版本: 关于技能屏蔽