100 - API文档汉化 - 首页
Updated 2 months ago《邪恶冥刻》模组开发维基
欢迎来到模组开发维基!本文档将帮助您了解如何使用Inscryption API为《邪恶冥刻》创建模组。
此处您将获得关于API多项功能的深度解析,包括其作用机制与使用方法。
如需查看完整的API类与成员列表,或获取更技术性的信息,请参阅文档章节。
游戏调整项
该API包含多项游戏改动,旨在支持多章节(Act)兼容及进一步的模组定制。
API套件还附带了第二个DLL文件,内含多个社区修复补丁,用于修复漏洞或提供游戏体验优化。
卡牌费用显示
现在第一、二章节的卡牌可同时显示多种费用类型,且第一章卡牌可显示能量与宝石费用。
第一章/凯茜模组中的能量无人机
安装API后,第三章的能量管理无人机可在第一章及凯茜模组中使用。当第一章卡池中存在任何需要能量或宝石费用的卡牌时,无人机会自动出现,也可通过修改API配置强制启用。
能量与宝石显示器默认会出现在天秤战场两侧,该设定可通过配置文件修改。
您还可通过覆写以下代码强制无人机在游戏不同区域出现:
using InscryptionCommunityPatch.ResourceManagers;
EnergyDrone.ZoneConfigs[CardTemple.Nature].ConfigEnergy = true; // 启用能量系统
EnergyDrone.ZoneConfigs[CardTemple.Nature].ConfigDrone = true; // 强制无人机显示
EnergyDrone.ZoneConfigs[CardTemple.Nature].ConfigMox = true; // 启用宝石管理
EnergyDrone.ZoneConfigs[CardTemple.Nature].ConfigDroneMox = true; // 强制宝石无人机显示
目前仅以下区域会受这些设置影响:CardTemple.Nature(“自然神殿”,即莱西的小屋)与CardTemple.Undead(“亡灵神殿”,即格里魔拉的地窖)。
第三章/凯茜模组中的骨头显示器
安装API后,第三章将新增独立的骨头显示器。当第三章卡池存在需要骨头费用的卡牌时会自动激活,也可通过API配置强制启用。该显示器表现为悬挂在资源无人机宝石模块下方的电视屏幕。
您也可通过代码强制激活:
using InscryptionCommunityPatch.ResourceManagers;
Act3BonesDisplayer.ForceBonesDisplayActive = true; // 强制在第三章显示骨头电视屏幕
当骨头电视屏幕激活时,每张死亡卡牌上方都会掉落螺栓(效果类似第一章莱西小屋中骨头代币的掉落方式)。
死亡护盾(DeathShield)特性行为
API修改了死亡护盾(又称纳米铠甲/身披坚甲)的运行机制,现在该能力通过继承自DamageShieldBehaviour的自定义能力行为'APIDeathShield'实现(更多信息见下文)。
额外替代立绘
《邪恶冥刻》中存在某些会改变卡牌立绘的情形。
例如铁兽夹(SteelTrap)会将基础卡牌立绘切换为“闭合陷阱”形态,而东方泥龟(Mud Turtle)在失去护盾时会切换立绘。
但这些案例非常有限:铁兽夹会将所有卡牌变为闭合陷阱立绘(即使非原版陷阱卡);且仅有东方泥龟能在护盾消失时更换立绘。
为此API做出改进。现在每张新增的CardInfo都可分别通过SetSteelTrapPortrait()和SetBrokenShieldPortrait()方法,为铁兽夹效果和护盾破碎效果指定专属立绘。
这些立绘与卡牌基础立绘、替代立绘分开存储,为您提供更大的卡牌设计自由度。
名称 | 说明 | 设置方法 |
---|---|---|
像素化替代立绘 | 在第二章调用SwitchToAlternatePortrait时使用的立绘 | SetPixelAlternatePortrait |
铁兽夹立绘 | 当铁兽夹印记激活时使用的立绘 | SetSteelTrapPortrait, SetEmissiveSteelTrapPortrait, SetPixelSteelTrapPortrait |
破碎护盾立绘 | 当卡牌失去所有护盾时使用的立绘 | SetBrokenShieldPortrait, SetEmissiveBrokenShieldPortrait, SetPixelBrokenShieldPortrait |
可献祭立绘 | 当卡牌位于战场且玩家正在选择献祭目标时使用的立绘 | SetSacrificablePortrait, SetEmissiveSacrificablePortrait, SetPixelSacrificablePortrait |
Part2Modular系统
API新增名为Part2Modular的自定义能力元分类(AbilityMetaCategory),可通过AbilityManager访问。
该元分类在社区补丁中用于确定第二章无形之物(Amorphous)印记可转换的印记类型,其余场景下可自由使用。
部分原版印记已默认标记此元分类。
核心功能
枚举扩展
基础游戏使用多个硬编码列表(称为“枚举/Enums”)管理行为。例如“脆骨(Brittle)”能力通过枚举值Ability.Brittle分配给卡牌。我们可以扩展这些列表,但需谨慎操作,这一部分由GuidManager类管理。该类负责创建新枚举并确保跨模组的一致性。
假设您要创建新的剧情事件(由StoryEvent枚举管理),应使用以下模式创建静态引用:
public static readonly StoryEvent MyEvent = GuidManager.GetEnumValue<StoryEvent>(MyPlugin.guid, "MyNewStoryEvent");
GuidManager要求提供插件GUID及自定义值的友好名称(插件GUID用于避免多模组同名枚举冲突)。
若需引用其他模组创建的枚举值(例如使用其他模组创建的能力),可采用相同模式,只需知道目标模组的插件GUID:
public static readonly Ability OtherAbility = GuidManager.GetEnumValue<Ability>("other.mod.plugin.guid", "Ability Name");
所有枚举值均存储在模组化存档中。
自定义游戏存档数据
若模组需要存储数据,可使用ModdedSaveManager类。您可访问两种额外存档数据:'SaveData'(跨回合持久化)与'RunState'(每回合重置)。使用时需传入模组GUID及自定义键名。
推荐通过静态属性封装存取逻辑:
public static int NumberOfItems
{
get { return ModdedSaveManager.SaveData.GetValueAsInt(Plugin.PluginGuid, "NumberOfItems"); }
set { ModdedSaveManager.SaveData.SetValue(Plugin.PluginGuid, "NumberOfItems", value); }
}
如此配置后,静态属性“NumberOfItems”将自动与存档文件同步。
Pages
- 0 - 邪恶冥刻模组简体中文语言包Wiki
- 100 - API文档汉化 - 首页
- 110 - API文档汉化 - 入门指南
- 120 - API文档汉化 - 卡牌
- 121 - API文档汉化 - 自定义卡牌费用系统
- 122 - API文档汉化 - 会说话的卡牌
- 123 - API文档汉化 - 自定义毛皮
- 130 - API文档汉化 - 能力
- 131 - API文档汉化 - 自定义触发器
- 132 - API文档汉化 - 自定义狙击逻辑
- 133 - API文档汉化 - 伤害护盾行为
- 134 - API文档汉化 - 卡槽修改功能
- 135 - API文档汉化 - 触发器与执行顺序
- 140 - API文档汉化 - 自定义/扩展属性
- 150 - API文档汉化 - 扬升(凯茜模组)
- 160 - API文档汉化 - 地图与遭遇战
- 170 - API文档汉化 - 对手
- 180 - API文档汉化 - 图腾
- 190 - API文档汉化 - 道具
- 1A0 - API文档汉化 - 规则书
- 1A1 - API文档汉化 - 添加自定义页面
- 1A2 - API文档汉化 - 添加文本重定向功能
- 1B0 - API文档汉化 - 本地化
- 1B0 - API文档汉化 - 声音
- 1B0 - API文档汉化 - 资产包
- 1C0 - API文档汉化 - 其他特性
- 200 - JSONLoader文档汉化 - Wiki
- 201 - JSONLoader文档汉化 - 枚举值
- A00-凯茜模组通用信息站汉化-首页
- A10-凯茜模组通用信息站汉化-安装
- A11-凯茜模组通用信息站汉化-技术支持常见问题
- A12-凯茜模组通用信息站汉化-补丁
- A20-凯茜模组通用信息站汉化-入门指南
- A30-凯茜模组通用信息站汉化-一般常见问题
- A40-凯茜模组通用信息站汉化-游戏机制
- A50-凯茜模组通用信息站汉化-装饰选项
- A60-凯茜模组通用信息站汉化-与原版游戏的差异
- A70-凯茜模组通用信息站汉化-解锁
- A71-凯茜模组通用信息站汉化-初始牌组
- A72-凯茜模组通用信息站汉化-道具
- A73-凯茜模组通用信息站汉化-卡牌
- A74-凯茜模组通用信息站汉化-伊耶拉克的细节
- A75-凯茜模组通用信息站汉化-挑战
- A76-凯茜模组通用信息站汉化-最终头目
- A77-凯茜模组通用信息站汉化-成就
- A80-凯茜模组通用信息站汉化-提示:挑战提示
- A81-凯茜模组通用信息站汉化-提示:地图节点
- A82-凯茜模组通用信息站汉化-提示:印记
- A90-凯茜模组通用信息站汉化-背景故事
- AA0-凯茜模组通用信息站汉化-ARG解谜
- AA1-凯茜模组通用信息站汉化-ARG事件概览
- AA2-凯茜模组通用信息站汉化-磐石卡牌
- AA3-凯茜模组通用信息站汉化-命令:DAMPNSOGGY
- AA4-凯茜模组通用信息站汉化-命令:RAZORSHARP
- AA5-凯茜模组通用信息站汉化-命令:PALESICKLY
- AA6-凯茜模组通用信息站汉化-命令:LEMONLIMES
- AA7-凯茜模组通用信息站汉化-命令:THESHIPWILLRISEAGAIN
- AA8-凯茜模组通用信息站汉化-频道:#prospector
- AA9-凯茜模组通用信息站汉化-频道:#angler
- AAA-凯茜模组通用信息站汉化-频道:#trader
- AAB-凯茜模组通用信息站汉化-频道:#_-_-_-_-_
- AAC-凯茜模组通用信息站汉化-管理员笔记
- AAD-凯茜模组通用信息站汉化-木雕师的消息
- AAE-凯茜模组通用信息站汉化-提示和工具
- AAF-凯茜模组通用信息站汉化-ARG文档
- AAG-凯茜模组通用信息站汉化-前传ARG
- AB0-凯茜模组通用信息站汉化-趣事:名人堂
- AB1-凯茜模组通用信息站汉化-趣事:耻辱柱
- AB2-凯茜模组通用信息站汉化-趣事:以及其他有趣内容……
- AB3-凯茜模组通用信息站汉化-趣事:全挑战模式胜利记录
- ABC-凯茜模组通用信息站汉化-趣事:解谜和游戏
- AC0-凯茜模组通用信息站汉化-“作弊”:存档修改
- AC1-凯茜模组通用信息站汉化-“作弊”:重复读档
- AD0-凯茜模组通用信息站汉化-漏洞和代码注释