太吾绘卷吧 关注:257,022贴子:4,723,718
  • 2回复贴,共1

聊见闻改变npc立场?

取消只看楼主收藏回复

我仁善太吾和五仙教一个叛逆npc 聊见闻,一回合内聊了几次从冷淡变成融洽,结果突然发现他立场变成了唯我
接连换了几个人都是如此。
是我遇见bug了么?还是设定就是如此?


IP属地:英国来自Android客户端1楼2022-10-19 04:12回复
    刚才有空看了一下代码,果然没有令我失望,是bug
    代码在 ApplyNormalInformationSideEffect
    游戏本身的设定是,聊门派见闻有概率使人的立场向见闻提及门派的基本立场迁移。
    比如叛逆的人立场是-250, 和他聊百花谷 (250),每次判定成功立场会变成 -250 + (250 - (-250)) / 10 = -200
    但是代码写错了
    short a = targetChar.GetBaseMorality();short b = Config.Organization.Instance[sectTemplateId].MainMorality;int lerp = a + (b - a) / 10;targetChar.ChangeBaseMorality(Domain.MainThreadDataContext, (short)lerp);
    ChangeBaseMorality 的输入应该是改变的值,而不是改变之后的值。所以这段代码结果导致对象的立场变成了 -250 - 200 = -450 结果就成了唯我。
    正确的写法应该使用函数 SetBaseMorality, 或者一开始根本不用 +a
    bug 的结果就是无论聊什么门派,都会导致对方向两侧极端偏移。比如仁善聊久了会变刚正,叛逆聊久了会变唯我


    IP属地:英国11楼2022-10-20 06:32
    回复
      2025-07-29 10:49:52
      广告
      不感兴趣
      开通SVIP免广告


      IP属地:英国来自Android客户端12楼2022-10-20 06:59
      收起回复