作者LiNcUtT (典)
看板IdolMaster
标题[CGSS] 技能效果公式
时间Wed Jan 4 12:17:00 2017
以下公式由反编拆包Apk得来
发动确率 =
Lv1发动确率*[1+0.0555*(技能Lv-1)]*(1+同色曲加成+队长技加成+来宾技加成)
确率(%) Lv1 Lv2 Lv3 Lv4 Lv5 Lv6 Lv7 Lv8 Lv9 Lv10
高确率 40 42.22 44.44 46.66 48.88 51.1 53.32 55.54 57.76 59.98
中确率 35 36.9425 38.885 40.8275 42.77 44.7125 46.655 48.5975 50.54 52.4825
低确率 30 31.665 33.33 34.995 36.66 38.325 39.99 41.655 43.32 44.985
持续时间 =
Lv1持续时间+INT(Lv1持续时间*5.55)/100*(技能Lv-1)
持续时间(秒) Lv1 Lv2 Lv3 Lv4 Lv5 Lv6 Lv7 Lv8 Lv9 Lv10
かなりの间 6 6.33 6.66 6.99 7.32 7.65 7.98 8.31 8.64 8.97
しばらくの间 5 5.27 5.54 5.81 6.08 6.35 6.62 6.89 7.16 7.43
少しの间 4 4.22 4.44 4.66 4.88 5.10 5.32 5.54 5.76 5.98
わずかな间 3 3.16 3.32 3.48 3.64 3.80 3.96 4.12 4.28 4.44
一瞬の间 2 2.11 2.22 2.33 2.44 2.55 2.66 2.77 2.88 2.99
技能强制不发动条件:
1.歌曲开始时(0秒),第一次技发强制不发动
2.歌曲结尾时,倒数3秒内(不含3秒整)强制不发动,但正在发动中的技能不会被取消
(歌曲结尾 = 最後一颗note通过note线的时间)
==============================================================================
以下是"デレステ计算机"使用的公式
发动确率 =
Lv1发动确率*[(1+同色曲加成+队长技加成+来宾技加成)+0.054*(技能Lv-1)]
持续时间 =
Lv1持续时间*[1+0.054*(技能Lv-1)]
技能强制不发动条件:
1.歌曲开始时(0秒),第一次技发强制不发动
==============================================================================
希望有日文比较好的板友能帮忙回报给作者
毕竟还是デレステ计算机用的比较习惯XD
PS:此发现已回报给CGSSguide作者,并已更新成拆包资料
所以目前用CGSSguide算分是比较准确的
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.97.213
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/IdolMaster/M.1483503423.A.D68.html
1F:推 songsongboy: 你都会拆包了,逆工程一下デレステ计算机不就好了(误 01/04 12:19
你以为デレステ计算机的使用公式是哪来的(误
2F:→ Xavy: ㄟ 是强制不发动喔? 01/04 12:19
3F:→ songsongboy: 强制不发动阿,你没看过你一进场就有人发技过吧? 01/04 12:20
4F:→ rufjvm12345: 原来有强制不发动 是指0秒吗 01/04 12:21
0秒
5F:→ Xavy: 我知道四秒的有在note还没掉下前就发动的 01/04 12:21
6F:推 Mormory: 是指0秒还是4秒啊? 01/04 12:22
0秒
所以长时间的技能比较吃亏
13秒技能头13秒一定打酱油
7F:→ Mormory: soga那能理解,最後三秒内不发技对某些长秒数比较QQ 01/04 12:24
其实不会
单纯算歌曲长度跟技能间隔的余数而已
余数小於3就不发
每个技能都会受影响
8F:推 asteea: 计算机作者是参照日WIKI吧 你不考虑直接更新WIKI XD? 01/04 12:35
有留言在特技页底下了
日文不好不敢动wiki
XD
9F:推 songsongboy: 日文wiki要申请才能更新,十几天前有人留言了,但没人 01/04 12:37
10F:→ songsongboy: 理 XD, 原本想试试看写twitter给作者,写到一半放弃 01/04 12:37
11F:→ Xavy: 最後三秒不发,只有4秒系列会遭殃吧? 01/04 12:37
不
依歌曲长度而定
不同歌曲受影响的技能不同
举例好了
114秒曲受影响的是4.7秒
124秒曲没人受影响
134秒曲受影响的是4.6.7.11秒
12F:→ songsongboy: 日文不够好想措词太麻烦了 01/04 12:38
13F:→ songsongboy: 先帮你按一下赞看看会不会有人发现吧 QQ 01/04 12:39
14F:推 asteea: 最後3秒不发要看歌曲长度/技能发动间隔的余数 <=3都有影响 01/04 12:41
15F:→ Xavy: <=3 就四秒族啊 01/04 12:41
是 < 3
所以是余数1跟2会受影响
16F:→ Xavy: 技能是写每N秒发动,所以0秒不算也是很合理的! 01/04 12:42
17F:推 asteea: 四秒族 余数刚好0好像也没问题啦 就最後4秒技发 -3- 01/04 12:44
余数0没问题
因为最短的技能间隔是4秒
在最後3秒判断前已判断是否技发了
18F:→ Xavy: 嗯..也对,反正最後那一秒本来就不是他的 01/04 12:47
19F:→ asteea: 恩刚重看一次, 不含3秒整, 所以应该是<3 01/04 12:51
20F:推 stps424: <3 01/04 12:59
21F:推 Velvet346: <3 01/04 13:00
22F:推 ne570479: 不发动 就暴动 01/04 13:18
不过秒数越短的技能
越容易受影响
(因为轮回短,像4秒有1/2机率受影响,13秒只有2/13)
所以应该算是平衡第1点所加的判断吧
以下列出各秒数受影响的曲长
(无)为目前无此曲长歌曲
4秒:114,117,118(无),121(无),122,125,126,129,130,133(无),134
6秒:115(无),116,121(无),122,127,128,133(无),134
7秒:114,120,121(无),127,128,134
9秒:118(无),119,127,128
11秒:122,123,133(无),134
13秒:118(无),119,131,132
23F:推 SWQclan: 第2点的"歌曲结尾"是怎麽认定的? 01/04 14:12
24F:→ SWQclan: 是音乐结束还是最後一颗note落下 01/04 14:13
最後一颗note通过note线的时间
25F:→ data99553: 应该说,最後三秒还有note的歌有哪些? 01/04 15:57
歌曲结尾 = 最後一颗note通过note线的时间
所以是全部
标在上面好了
26F:推 qwe19272375: 推专业 m(_ _)m 01/04 23:10
27F:推 songsongboy: 我更新在wiki了,帮我看看有没有问题 XD 01/05 00:18
28F:→ songsongboy: 尤其有些数字我跟你算的不太一样,你check一下 01/05 00:19
大感谢!
不过持续时间的部分有些错误
大概解释一下
INT(Lv1持续时间*5.55) <= 这个代表强转型INT,也就是只取整数,小数位无条件舍去
如果用C#语法来写是:(int)(Lv1持续时间*5.55)
後面的/100会把它再变成带小数2位的浮点数
所以公式部分也是跟发动确率不同的(因为多了个强转型去小数步骤)
不排除官方误植的可能性,但目前Server端回传的技能时间确实是有强转过的
准确的数值就是我最上面key的那些
那不是我自己为了方便四舍五入到小数2位的XD
应该主要就是这点了
29F:推 songsongboy: ok,改好了 01/05 01:16
呃
应该不能用round()
round是四舍五入
上面的情形是无条件舍去
不好意思一直麻烦你
30F:推 songsongboy: google翻译骗我 QQ 01/05 01:21
QQ
还有かなりの间 Lv10多了个9,正确值是8.97
31F:推 songsongboy: ラウンドダウン应该不会误解了 01/05 01:24
32F:推 songsongboy: ok,改成切り舍て,8.97也改了 01/05 01:27
感谢!
请收下我的膝盖(跪
500P币奉上聊表心意
33F:推 songsongboy: 刚刚看デレステ计算机的twitter有说会改特技发动计算 01/05 01:32
34F:→ songsongboy: 期待1.71版 01/05 01:32
35F:→ songsongboy: 呃只是对这有兴趣想把正确的情报传递出去而已阿 XD 01/05 01:32
我也是!
(其实是想继续用デレステ计算机w)
36F:推 songsongboy: 不过我很好奇对到属性的发动机率有这麽细吗? 01/05 01:35
不太明白你的意思@@
细是指哪个部分?
37F:→ songsongboy: 小数第五位耶...虽然说以发动机率而言这不难处理 01/05 01:35
38F:→ songsongboy: 反而是发动时间的确要有些许简化实做上才不会麻烦 01/05 01:36
喔喔
发动确率这部分没有做整形
是直接用float去装
即使是单精度single也可以装到小数後7位
所以没问题的
这些值我都dump出来过
其实个人觉得时间部分那个转型才比较奇怪
其实没必要转的,後面他马上又转回float
所以我才猜测说有可能是官方误植XD
39F:→ songsongboy: 像中确率L10对到属性是68.22725%,这有做什麽处理吗? 01/05 01:38
完全没有
SkillData里面直接就存68.22725
XD
40F:推 songsongboy: 我觉得时间的简化我可以理解,小数位数太多在判定使用 01/05 01:47
41F:→ songsongboy: 者按到按键时有没有在技能区间是种自找麻烦的事 XD 01/05 01:47
奇怪的地方就在这
如果整形是为了方便比对
那应该所有取时间的地方都会做整形才对
不过在check技能时
会取目前技能时间来跟技能持续时间做比对
但这个目前技能时间是float
也就是说会变成下面这样
5.878457 > 8.97 ?
6.1 > 8.97 ?
7.543 > 8.97 ?
整形的意义去哪了?
cy我真的搞不懂你啊w
42F:→ songsongboy: 当然app我是没写过不晓得实际情况跟我猜测的一不一样 01/05 01:48
43F:→ songsongboy: 只是开发嵌入式系统的经验让我这样觉得而已 01/05 01:49
而且它整形的时机点也满怪
如果是为了资料库里的data整齐方便查看修改
那也应该是在公式最外侧做整形
以避免误差过大
但目前是在内侧整形後再做运算
这样会导致精度误差
(这误差还让整个公式都变形了...)
这就是你一开始算出来的时间跟表里有不小差异的原因
8.997跟8.97其实差满多的
如果是在公式外侧整形
8.997跟8.99误差就小多了
实在是满神奇的XD
※ 编辑: LiNcUtT (114.42.97.213), 01/05/2017 02:21:25
44F:推 jeff131: 专业… 03/21 16:04