
1 Gwent 正在恢复... 重写中
重制版模组,旨在恢复“开发过程中遗失”的昆特牌。通过控制台为已有存档提供升级途径。完全向后兼容,仅包含CDPR原始作品。
查看大图昆特牌修复...重写版 (GRR)
概述
"昆特牌修复...重写版"(GRR)灵感来源于adamaskoff最近对旧模组的更新,而该旧模组本身是对更早模组的更新。
但这次有一个控制台命令可以升级已有的游戏。
并且在控制台明确请求之前,不会给玩家任何恢复的卡牌,因此可以保持完全的原始兼容性。
代码基于新文件重写,所以差异很干净。
可选下载 - 包含所有非英雄卡牌改为中立卡牌的版本(应Reoneress要求)。
这个模组是关于什么的?(简短技术讨论)
在内部,玩家可以拾取或赢得的"卡片物品"与在昆特牌(GwintManager类)中使用的"昆特牌卡片"是完全不同的实体。当玩家找到一张卡片物品时,该卡片会作为不可见物品添加到物品栏中,然后一张新的昆特牌卡片会被添加到GwintManager中。理论上,这应该是一对一的映射关系。但看起来负责处理北方领域和尼弗迦德牌组的人员搞混了,导致一些卡片物品被映射到同一张昆特牌卡片上(形成堆叠卡片),而其他昆特牌卡片则未被使用。
此外,卡牌物品的命名规则为"xxx; xxx2; xxx3",而图片命名规则为"xxx; xxx_1; xxx_2"。这导致了一些图片分配错误的情况。
GRR 试图解决这一问题,同时避免添加任何非 CDPR 的内容。
原版模式(100%向后兼容)
- 安装模组后,AI对手将开始使用恢复的卡牌。
- 游戏平衡性不受影响,因为这些只是旧卡牌的替代版本,仅更换了新图片。
- AI卡组不会被保存,而是每次随机生成。
- 因此如果卸载模组,恢复的卡牌会安全消失,不会留下任何痕迹。
- 玩家不会获得任何恢复的卡牌,因为这样的存档游戏将无法与原始版本保持100%一致。玩家可以通过下文描述的控制台命令,用恢复的卡牌替换自己堆叠的卡牌。这是与旧模组的主要区别——在旧模组中,开始新游戏会让玩家获得恢复的卡牌,因此无法确保100%回归原始版本。
- 玩家可能会在某些卡牌上看到新的固定图片(例如劣质步兵)——如果卸载模组,这些图片会消失。
命令 "grrUpgradeSafe"(仍保持向后兼容)
GRR允许玩家通过控制台命令 grrUpgradeSafe 自动将卡牌替换为带有附加功能的替代版本
这将替换《巫师3》中一直存在的部分卡牌为替代版本。存档仍然向后兼容,但并非完全相同。如果卸载该模组,被替换的卡牌将保持为独立卡牌(不会堆叠),且大多数会恢复为普通基础图片。
此功能可以安全地多次调用。 并且应该如此,以替换下一批被掠夺的卡牌。
建议调用此函数来使用此模组。
命令 "grrUpgradeRisky"(非向后兼容)
替代蓝衣铁卫卡牌和第二座攻城塔的卡牌原本仅以图片形式存在,因此在本模组中被创建出来——这意味着它们不具备向后兼容性。
玩家可以通过控制台命令:grrUpgradeRisky 替换其基础的蓝条纹卡牌,并免费获得一个新的攻城塔
如果保存此类游戏,将不兼容原版游戏。 没有GRR的情况下,昆特牌会损坏,因为其代码无法处理不存在的卡牌。
由于GwintManager类的原生代码实现不佳,恢复给玩家的卡牌无法撤销(据我所知)。
一些更技术性的讨论
我不确定100% - 但看起来对于任何收到的卡牌,GwintManager都会在其内部数组中生成一个条目,存储卡牌ID和卡牌数量。移除卡牌会减少该数量,但条目本身永远不会被删除。因此,虽然这听起来可能很奇怪,被移除的卡牌"仍然存在于数据库中,数量为0"。这仍然算作"存在"并破坏了Gwent。所以一旦卡牌被添加并保存,就永远不会被移除。对于"安全"卡牌没有问题,这些卡牌在原版中也存在。但对于"风险"卡牌则没有兼容性。
Mod添加了更多命令,玩家可以(自行承担风险)使用GRR来管理卡牌:grrAdd(Id)、grrRemove(Id)、grrVanilla。最后一个命令尝试恢复原始状态——但请注意上述保留事项。此外,我认为保存一张"存在但数量为0"的卡牌可能会给游戏带来不稳定性。
GRR的所有操作都在GwintManager内部进行,即仅适用于"cards-gwint"。
GRR完全不影响游戏世界("cards-items"),也不会以任何方式影响"昆特牌收藏家"成就。
遇到该成就问题的玩家,应使用标准功能 addCardByName(name) 或 additem(name)。
卡牌名称可在文件 content0\scripts\game\gui\menus\gwintManager.ws 末尾找到,位于将"card-item"名称转换为"card-gwent"ID的函数中。
参考表 - GRR 进行的升级
| 堆叠卡牌 | 升级后 |
|---|---|
| 3x gwint_card_poor_infantry | gwint_card_poor_infantry[125]; gwint_card_poor_infantry2[126]; gwint_card_poor_infantry3[127] |
| 3x gwint_card_crinfrid | gwint_card_crinfrid[130]; gwint_card_crinfrid2[131]; gwint_card_crinfrid3[132] |
| 3x gwint_card_kaedwen | gwint_card_kaedwen[150]; gwint_card_kaedwen2[151]; gwint_card_kaedwen3[152] |
| 2x gwint_card_catapult | gwint_card_catapult[140]; gwint_card_catapult2[141] |
| 4x gwint_card_impera_brigade | gwint_card_impera_brigade[245] [...246...247...] gwint_card_impera_brigade4[248] |
| 3x gwint_card_nausicaa | gwint_card_nausicaa[250]; gwint_card_nausicaa2[251]; gwint_card_nausicaa3[252] |
| 3x gwint_card_blue_stripes | gwint_card_blue_stripes[160]; gwint_card_blue_stripes2[161]; gwint_card_blue_stripes3[162] |
| 0x (无对应卡牌) | gwint_card_siege_tower2[171] |
正在加载版本记录…




正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。