良月十二 发表于 2026-4-18 09:42

dnSpy修改sts2.dll文件问题

通过dnSpy修改sts2.dll文件还有三个问题没研究出来,有大佬知道这三处怎么改嘛1.商店卡片全部是升级后的卡片

2.过完怪物房的奖励卡片也是升级后的卡片
3.商店买完卡片之后会补一张新卡片

新年礼物 发表于 2026-4-18 19:16

问豆包看看

hyshen5540 发表于 2026-4-25 11:01

有个思路,建议你下个修改过后的dll然后用dnspy来对比两个有啥区别。然后在照葫芦画瓢搞到想改的那个上面。补货这个应该可以参考下那个遗物的效果代码。我之前去问过那些大佬补货和升级过后的卡牌涉及哪些方法/代码 他们都没有回复。希望LZ搞定了分享一下吧

只是小小白a 发表于 2026-5-5 13:58

本帖最后由 只是小小白a 于 2026-5-5 14:00 编辑

搜索Populate这个函数,找到CardReward这个类,然后继续在Populate这个方法上修改      this._cards.AddRange(collection);
      if (System.Random.Shared.NextDouble() < 0.16)
      {
                foreach (CardCreationResult cardCreationResult in this._cards)
                {
                        CardModel card = cardCreationResult.Card;
                        if (card.IsUpgradable)
                        {
                              CardCmd.Upgrade(card, CardPreviewStyle.HorizontalLayout);
                        }
                }
      }
      foreach (CardCreationResult cardCreationResult2 in this._cards)
      {
                if (System.Random.Shared.NextDouble() < 0.22)
                {
                        CardModel card2 = cardCreationResult2.Card;
                        if (card2.IsUpgradable)
                        {
                              CardCmd.Upgrade(card2, CardPreviewStyle.HorizontalLayout);
                        }
                }
      }
在this._cards.AddRange(collection);后面增加,概率你自己调整
加上
using MegaCrit.Sts2.Core.Nodes.CommonUi;
using MegaCrit.Sts2.Core.Commands;
补货我没研究过,但是商店升级卡可能也是类似的方法吧,找到商店补货的函数就行了如果编译不通过,就把出错行删了


页: [1]
查看完整版本: dnSpy修改sts2.dll文件问题