cracklecradle吧 关注:6,654贴子:24,464

关于掉鞋的机制

只看楼主收藏回复

科研贴(确信)



IP属地:美国来自Android客户端1楼2023-11-21 14:09回复
    今天刚整到sod,感觉操作空间还挺大的(
    好几次看到有人问掉鞋是怎么回事怎么触发之类的


    IP属地:美国来自Android客户端2楼2023-11-21 14:11
    收起回复
      前面的删掉,我重新说。关于游戏的内容我是用Slack of Descend测试的,SoD是一个mod,可能特性和原版不同。
      trial 1开始:
      为了知道掉鞋是怎么回事,首先我们要...搜索这是怎么回事
      *线索
      -有人提到了变量shoeTightness(下称t)
      -t不是全部
      *线索
      -怪物step记事本(这是什么呢)



      IP属地:美国来自Android客户端6楼2023-11-21 15:24
      回复


        IP属地:广东来自Android客户端7楼2023-11-21 15:28
        回复
          *todo
          1. 找到"鞋子对应的txt文件"
          2. 找到"怪物的step记事本"
          进入sod根目录,我发现
          -!!!!!!READ ME FIRST.txt从文件名中就可以看出作者是多么急切地想让玩家看他写的readme,你看了吗
          反正我看了


          IP属地:美国来自Android客户端8楼2023-11-21 15:37
          收起回复
            进入/Chara
            -发现/Doll
            -注意到怪物名称的文件夹


            IP属地:美国来自Android客户端10楼2023-11-21 15:44
            收起回复
              进入/Doll
              发现另一个readme
              -readme有一句很重要的话。
              经过简单查找
              *todo完成
              -发现鞋子对应的文件,路径比如说/Chara/Doll/Foot_Above/Character-Nana_Shoes_above.txt改的时候要注意两脚都要改,除了例子中的above还有below
              -文件中直接写有tightness
              *todo完成
              -找到了怪物文件夹里的step,比如/Chara/MouthWorm/step.txt。


              IP属地:美国来自Android客户端11楼2023-11-21 15:56
              回复
                既然找到了t,那么就可以开始测试了
                已知条件:
                -t=100时"make it impossible to lose", t=50时"halves the chance"
                "chance"为c,掉鞋的概率是y%,已知y(t)过(100,0)和(50,0.5c),加上我猜测当y=c时t=0,可以猜测y(t)是一次函数
                (因为作者没说,所以我觉得y=c时也可能t=1,这样的话就不是一次函数了,估计作者不会写成二次,可能是基于反比例或者对数的某条线,不过可能性太小先不管了)
                (图上横坐标是t)


                IP属地:美国来自Android客户端12楼2023-11-21 16:13
                回复
                  经过测试
                  -在沼泽里挣扎的时候,t会明显影响掉鞋的概率,但 是 , 被攻击的时候似乎没什么影响。
                  -奈奈的鞋默认就是t=0 但仍然不会一碰就100%掉鞋(y≠100%),这说明c就不是100%
                  其实很多鞋都是t=0,也有t=50或100的,也有其他的值
                  trial 1 结束


                  IP属地:美国来自Android客户端13楼2023-11-21 16:21
                  回复
                    trial 2:
                    *todo
                    -找到c的影响因素!
                    不出意外就在step.txt里,我准备用mouthworm来测试。
                    看图,这个就是mouthworm


                    IP属地:美国来自Android客户端14楼2023-11-21 16:23
                    回复
                      厉害


                      IP属地:陕西来自iPhone客户端15楼2023-11-21 16:32
                      回复
                        ctrlf查找
                        -虽然不知道是什么语言(有{}和; 这是不是java啊),但可以轻易看出其中的逻辑: if(random(100)<2)就是取一个100以内随机数,如果小于2,那么CastOff。左右脚是分开判定的,总共6个,每侧3个可能导致CastOff的情况。
                        随机数一般是只有整数的,也就是说对于mouthworm,c只有1%!
                        图二就是被mouthworm抓住之后挣扎掉鞋的概率...
                        横坐标还是t...
                        概率真的很小!
                        *好像发现了重要的事
                        -我认为这个CastOff不只是掉鞋,这里你写什么她就掉什么,你们可以测试一下衣服裙子之类的



                        IP属地:美国来自Android客户端16楼2023-11-21 16:37
                        收起回复
                          经过测试
                          所有导致Macro_CastOff_Shoe的if都改成100%发生
                          此时
                          -t=0的鞋(主要是各种制服鞋) 挣扎一下就掉
                          -t在0和100之间(比如凉子的25,m200的75) 有概率掉,概率比之前那个1%明显大很多
                          -t=100(vesna) 即使如此也绝对不掉
                          trial 2结束
                          还是12楼的函数,但是c+1和step里那个if对应上了



                          IP属地:美国来自Android客户端17楼2023-11-21 16:52
                          回复
                            还没结束!
                            注意我们的函数,即使对于掉鞋率极低的事件(比如mouthworm默认的1%),在t是负很大的数的时候,也和100% 有 一 个 交 点 !
                            trial 3 开始!


                            IP属地:美国来自Android客户端18楼2023-11-21 16:55
                            回复
                              -9900,经过测试,效果和0差不多
                              t再小也和0一样,这能代表什么呢?
                              (测的时候记得保存修改后的txt,每次改完值之后重启游戏)
                              经过猜测,得到重 要 结 论: 结合所有测试,我认为角色掉鞋的过程:
                              首 先 , 进 行 导 致 cast off 的 事 件 的 判 定, 如 果 判 定 为 会 掉 ,那 么 就
                              再经过tightness一次判定,概率是(100-t)%
                              所以t无论多小也和0没有区别
                              t影响真的不是很大,掉鞋概率主要还是看事件本身
                              trial 3,结束!


                              IP属地:美国来自Android客户端20楼2023-11-21 17:06
                              回复