Coder Social home page Coder Social logo

malitsplus / shizurunotes Goto Github PK

View Code? Open in Web Editor NEW
521.0 521.0 107.0 15.48 MB

An unofficial Android tool application for "Princess Connect Re:Dive"

License: Apache License 2.0

Java 77.01% C++ 0.72% Starlark 0.51% Kotlin 21.72% Python 0.04%
princess-connect-redive

shizurunotes's Introduction

shizurunotes's People

Contributors

dependabot[bot] avatar malitsplus avatar mightyzanark avatar southrop avatar sun45 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shizurunotes's Issues

六星吉他的技能

吉他的两个技能在六星之后会改变,但是并没有在笔记中看到

部分装备与掉落欠缺

数据库版本:10020800
app版本:1.0.3

1.找不到的聖円環ヘブンリーロータス的掉落信息。

望核实修复

关于6星妮侬UB充电量的疑惑

根据目前静流笔记中的描述,6星妮侬的UB充电量应为[100 + 100 * 击杀的敌方数量],计算妮侬50点的TP上升后,充电量应为无击杀150,单杀300,双杀450等。然而在实测中,通过画面上出现的蓝色数字可以看到实际的充电量为无击杀150,单杀450,双杀750(这些数据中均未包括击杀敌人本应获得的TP,实际上UB双杀可以直接把妮侬的TP充满)。鉴于充电是PCR中比较重要的机制,希望大佬能研究一下此处充电量不一致的原因。

关于更新数据库之后闪退

手机:一加7pro
android版本:android10
静流笔记版本:1.2.0
复现条件:清除储存和缓存后,进入设置里更新数据库

Missing stats from ranks for summons

On Ranpha's release, the showcase video on Twitter showed that her summon (id 418101) can deal a critical hit, but Shizuru Notes does not show this info. And after a quick dig at the database, I found that the summon gets some stats from ranks (HP, ATK, DEF, etc), which is also not reflected in the summon info page. This is also true for Neneka's clone.

So is it possible to make it so the rank stats from the unit_promotion_bonus table for summons gets added to the summons stat page? I'm not experienced enough to try and make a pull request for this type of thing so I can only submit this issue.

Update for calendar logic

The beginner bonus campaign has been implemented as a permanently ongoing drop campaign that appears in the app calendar until the year 2032.

Official details: https://priconne-redive.jp/news/update/20375/

Screenshot_20221215_084734_ShizuruNotes

It seems best to ignore these beginner-specific entries in the calendar because they won't apply to anyone over level 200 and result in misleading entries being shown.

圣诞由加莉1技能动作2的目标问题

静流笔记目前显示为“最近的敌方”,实际应为上一个动作的目标,即魔法攻击力最高的敌方。(尚未实测,不过推测Cy应该不会出这种低级错误,应该是这个动作组合导致静流笔记没有正确解析目标。)

Locale is not correctly updated after changing language

While implementing English translation in a fork, I found that changing the language in the app does not correctly update the locale of the app for all resources. It appears that strings that are used in program code correctly use the locale set in the settings, but the strings used in XML seem to use the device's default locale/language.

I had a look at the LocaleManager code and couldn't really find the issue myself, but from reading this article, I think it might be because XML and Kotlin are using different Resources internally.

Here are some screenshots demonstrating this issue. These screenshots are taken from an Android emulator running Android Q (API 29) in English but with app language set to Japanese. As you can see, some parts of the app are shown in English (parts that are set in XML), but others are in Japanese (parts set in Kotlin).


(click for full size image)

往期boss数据可能显示不准确

这应该不是一个bug

20年四阶段白羊unit_id 300302
UB技能skill_id 3003021
UB技能的第一个行动action_1 300302101

请展开skill_action.sql的diff
esterTion/redive_master_db_diff@556899e#diff-9ffa91ca07a436da46145ecf974f0d85f88006fbf683794bf47dccb2b4a5ebd6R2431
可以看到2431行 日服21年3月白羊座时 对20年甚至19年18年的白羊的UB行动也进行了修改
从type1的直接伤害改成了type46的最大HP百分比伤害

考古视频认为20年的白羊座确实是直接伤害
我不是很懂日服为什么把往期的boss也修改掉 但是这样就造成了现在看到的与以前看到的不一样

关于最新版本技能数值公式

在设定里,开启显示公式,原本技能数值就会消失,我不知道是不是bug。如果可以公式和技能最终计算数值一起显示的话,会很方便一些数据的比较,非常感谢。

专属装备计算最大属性值时,等级应当-1

如题,对比以下代码段:

// 如果是专属装备,需要减去初始等级1
val enhanceLevel = if (equipment.equipmentId in 130000..139999) {
level - 1
} else {
level
}
equipment.getEnhancedProperty(enhanceLevel).nonZeroPropertiesMap.forEach {
list.add(PropertyVT(it))
}

fun getCeiledProperty(): Property {
return equipmentProperty.plus(equipmentEnhanceRate.multiply(maxEnhanceLevel.toDouble())).ceiled
}

相比之下可以看到后者并没有对专属装备作判断处理,从而造成计算角色总属性值时结果偏高,例如目前版本算出满练度6星凯露的魔法攻击力为18718,实际结果应为18714(专属装备加成应为936而非940)。

国服地下城炸了(v1.12.0)

no such table: dungeon_area,stack trace指向:

return getBeanListByRaw(
"""
SELECT
a.dungeon_area_id 'dungeon_area_id',
a.dungeon_name 'dungeon_name',
a.description 'description',
sp.mode 'mode',
w.*
FROM
dungeon_area AS a
JOIN dungeon_quest_data AS b ON a.dungeon_area_id = b.dungeon_area_id
AND b.quest_type = 4
JOIN dungeon_special_battle AS sp ON b.quest_id = sp.quest_id
JOIN wave_group_data AS w ON sp.wave_group_id = w.wave_group_id
UNION ALL
SELECT
a.dungeon_area_id,
a.dungeon_name,
a.description,
0 AS 'mode',
w.*
FROM
dungeon_area AS a
JOIN dungeon_quest_data AS b ON a.dungeon_area_id = b.dungeon_area_id
AND b.quest_type = 3
JOIN wave_group_data AS w ON b.wave_group_id = w.wave_group_id
ORDER BY
a.dungeon_area_id DESC,
sp.mode DESC
""",

看上去是日服加了ex5之后新的数据库和国服不兼容了

Calendar Timezone

Can the calendar display be shown in the selected server's Timezone? The way it works currently is it shows the date of the phone not the server.

This leads to usually being a day behind when looking at the calendar for JP in the US.

Char details not displaying with latest download

Screenshot_20220708-112237_ShizuruNotes
Screenshot_20220708-112736_ShizuruNotes
Screenshot_20220708-112251_ShizuruNotes

Device: Samsung Galaxy M31
Android version: 12

Database version: 10039700
Application version: 1.15.2

Hitting some issues where character information is not displaying after the latest database download.

国服数据初始化失败

17:28:33.446 E/loadCharaData [Thread-7, com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelChara$loadData$1.invoke(SharedViewModelChara.kt:57)]: Text '2022/4/17 11:00' could not be parsed at index 5

我看了下数据库,其他的时间格式应该都是2022/04/25 11:00:00这样,但是春妈时间写成了2022/4/17 11:00

Bugged skill action for Halloween Nanaka

Halloween Nanaka's skill 2 simply applies an 80% debuff to HP recovery boost according to the in-game description as well as every other source I checked such as this. The app shows something completely different and much more powerful.
Screenshot_20221019-140638_ShizuruNotes
Screenshot_20221019-142507_PrincessConnectRedive

部分角色,技能公式选择“原始”时会闪退

查看水狗时,技能公式却换到原始会闪退。
新出的切噜也会
不是所有角色都会闪退。

日志如下
************* Log Head ****************
Date of Log : 2021_04_05
Device Manufacturer: LGE
Device Model : LM-V500N
Android Version : 10
Android SDK : 29
App VersionName : 1.4.3
App VersionCode : 38
************* Log Head ****************

17:47:18.679 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFile(FileUtils.java:102)]: FileNotExists: /data/user/0/com.github.malitsplus.shizurunotes/files/userData.json
17:47:18.718 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFileAndSize(FileUtils.java:122)]: /data/user/0/com.github.malitsplus.shizurunotes/databases/redive_jp.db. Size: 14052KB.

更新6.0版本后,无限提示数据库需更新

设定里面的数据库版本显示0
每次打开就提示更新数据库,更新完之后依旧是版本0
连续提示了好几次我才发现这个问题
然后跑去系统设置里面清空了应用数据,没用,依旧是版本0

Skill action的生效时间

最近发现一些要查action生效时间的需求(比如伊莉亚的无影爪),这部分数据应该是在prefabs里,请问有没有相关的计划?

另外我自己在找数据的时候没有找到普攻的生效时间(prefabs里ActionId为0的效果的时间和实测不符),也想请教一下有没有什么思路。

感谢!

在国服环境下一点工会战就闪退

版本1.5.0
数据库是5月5号最新版,一点公会战界面就会闪退,日志如下:
************* Log Head ****************
Date of Log : 2021_05_07
Device Manufacturer: meizu
Device Model : 16s
Android Version : 9
Android SDK : 28
App VersionName : 1.5.0
App VersionCode : 40
************* Log Head ****************

19:11:48.608 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFile(FileUtils.java:102)]: FileNotExists: /data/user/0/com.github.malitsplus.shizurunotes/files/userData.json
19:11:48.635 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFileAndSize(FileUtils.java:122)]: /data/user/0/com.github.malitsplus.shizurunotes/databases/redive_cn.db. Size: 6938KB.
19:12:01.840 I/UpdateManager [main, com.github.malitsplus.shizurunotes.common.UpdateManager$1.dbCheckUpdateCompleted(UpdateManager.kt:112)]: New db version202105050022 determined.
19:20:52.214 I/UpdateManager [main, com.github.malitsplus.shizurunotes.common.UpdateManager.downloadDB(UpdateManager.kt:308)]: Start download DB ver202105050022.
19:21:00.350 I/UpdateManager [main, com.github.malitsplus.shizurunotes.common.UpdateManager$1.dbDownloadCompleted(UpdateManager.kt:150)]: DB download finished.
19:21:00.371 D/FileDelete [Thread-7, com.github.malitsplus.shizurunotes.utils.FileUtils.deleteFile(FileUtils.java:92)]: Delete file /data/user/0/com.github.malitsplus.shizurunotes/databases/redive_cn.db
19:21:00.372 I/UpdateManager [Thread-7, com.github.malitsplus.shizurunotes.common.UpdateManager.doDecompress(UpdateManager.kt:357)]: Start decompress DB.
19:21:00.479 I/UpdateManager [main, com.github.malitsplus.shizurunotes.common.UpdateManager$1.dbUpdateCompleted(UpdateManager.kt:158)]: DB update finished.
19:21:04.074 E/getBeanListByRaw [Thread-11, com.github.malitsplus.shizurunotes.db.DBHelper.getBeanListByRaw(DBHelper.kt:277)]: no such table: clan_battle_map_data (code 1 SQLITE_ERROR): , while compiling: SELECT a.clan_battle_id,
CASE
WHEN a.lap_num_from = 1 THEN 1
WHEN a.lap_num_from = 2 AND a.clan_battle_id <= 1009 THEN 2
WHEN a.lap_num_from = 2 THEN 1
WHEN a.lap_num_from = 4 THEN 2
WHEN a.lap_num_from = 6 THEN 3
WHEN a.lap_num_from = 11 THEN 3
WHEN a.lap_num_from = 35 THEN 4
ELSE 1 END 'phase'
,b1.wave_group_id 'wave_group_id_1'
,b2.wave_group_id 'wave_group_id_2'
,b3.wave_group_id 'wave_group_id_3'
,b4.wave_group_id 'wave_group_id_4'
,b5.wave_group_id 'wave_group_id_5'
FROM clan_battle_map_data AS a
JOIN clan_battle_boss_group AS b1 ON a.clan_battle_boss_group_id = b1.clan_battle_boss_group_id AND b1.order_num = 1
JOIN clan_battle_boss_group AS b2 ON a.clan_battle_boss_group_id = b2.clan_battle_boss_group_id AND b2.order_num = 2
JOIN clan_battle_boss_group AS b3 ON a.clan_battle_boss_group_id = b3.clan_battle_boss_group_id AND b3.order_num = 3
JOIN clan_battle_boss_group AS b4 ON a.clan_battle_boss_group_id = b4.clan_battle_boss_group_id AND b4.order_num = 4
JOIN clan_battle_boss_group AS b5 ON a.clan_battle_boss_group_id = b5.clan_battle_boss_group_id AND b5.order_num = 5
WHERE 1=1
AND a.clan_battle_id = 1014
AND (a.lap_num_from <> a.lap_num_to OR a.rsl_unlock_lap = 1)
ORDER BY a.clan_battle_id,a.lap_num_from DESC
| Stack Trace: [android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method), android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:910), android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:521), android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588), android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58), android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:37), android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:46), android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1408), android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1347), com.github.malitsplus.shizurunotes.db.DBHelper.getBeanListByRaw(DBHelper.kt:274), com.github.malitsplus.shizurunotes.db.DBHelper.getClanBattlePhase(DBHelper.kt:769), com.github.malitsplus.shizurunotes.data.ClanBattlePeriod.(ClanBattlePeriod.kt:25), com.github.malitsplus.shizurunotes.db.RawClanBattlePeriod.transToClanBattlePeriod(RawClanBattlePeriod.java:19), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:31), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:11), kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)]
19:21:04.075 E/IndexOutOfBoundsException:Index: 0, Size: 0 [Thread-11, com.github.malitsplus.shizurunotes.common.CrashManager.uncaughtException(CrashManager.kt:12)]: [java.util.ArrayList.get(ArrayList.java:437), com.github.malitsplus.shizurunotes.data.ClanBattlePeriod.(ClanBattlePeriod.kt:30), com.github.malitsplus.shizurunotes.db.RawClanBattlePeriod.transToClanBattlePeriod(RawClanBattlePeriod.java:19), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:31), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:11), kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)]
19:21:05.292 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFile(FileUtils.java:102)]: FileNotExists: /data/user/0/com.github.malitsplus.shizurunotes/files/userData.json
19:21:05.313 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFileAndSize(FileUtils.java:122)]: /data/user/0/com.github.malitsplus.shizurunotes/databases/redive_cn.db. Size: 6948KB.
19:21:26.390 E/checkAppVersion [OkHttp https://raw.githubusercontent.com/..., com.github.malitsplus.shizurunotes.common.UpdateManager$checkAppVersion$1.onFailure(UpdateManager.kt:205)]: timeout
19:21:38.758 E/getBeanListByRaw [Thread-6, com.github.malitsplus.shizurunotes.db.DBHelper.getBeanListByRaw(DBHelper.kt:277)]: no such table: clan_battle_map_data (code 1 SQLITE_ERROR): , while compiling: SELECT a.clan_battle_id,
CASE
WHEN a.lap_num_from = 1 THEN 1
WHEN a.lap_num_from = 2 AND a.clan_battle_id <= 1009 THEN 2
WHEN a.lap_num_from = 2 THEN 1
WHEN a.lap_num_from = 4 THEN 2
WHEN a.lap_num_from = 6 THEN 3
WHEN a.lap_num_from = 11 THEN 3
WHEN a.lap_num_from = 35 THEN 4
ELSE 1 END 'phase'
,b1.wave_group_id 'wave_group_id_1'
,b2.wave_group_id 'wave_group_id_2'
,b3.wave_group_id 'wave_group_id_3'
,b4.wave_group_id 'wave_group_id_4'
,b5.wave_group_id 'wave_group_id_5'
FROM clan_battle_map_data AS a
JOIN clan_battle_boss_group AS b1 ON a.clan_battle_boss_group_id = b1.clan_battle_boss_group_id AND b1.order_num = 1
JOIN clan_battle_boss_group AS b2 ON a.clan_battle_boss_group_id = b2.clan_battle_boss_group_id AND b2.order_num = 2
JOIN clan_battle_boss_group AS b3 ON a.clan_battle_boss_group_id = b3.clan_battle_boss_group_id AND b3.order_num = 3
JOIN clan_battle_boss_group AS b4 ON a.clan_battle_boss_group_id = b4.clan_battle_boss_group_id AND b4.order_num = 4
JOIN clan_battle_boss_group AS b5 ON a.clan_battle_boss_group_id = b5.clan_battle_boss_group_id AND b5.order_num = 5
WHERE 1=1
AND a.clan_battle_id = 1014
AND (a.lap_num_from <> a.lap_num_to OR a.rsl_unlock_lap = 1)
ORDER BY a.clan_battle_id,a.lap_num_from DESC
| Stack Trace: [android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method), android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:910), android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:521), android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588), android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58), android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:37), android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:46), android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1408), android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1347), com.github.malitsplus.shizurunotes.db.DBHelper.getBeanListByRaw(DBHelper.kt:274), com.github.malitsplus.shizurunotes.db.DBHelper.getClanBattlePhase(DBHelper.kt:769), com.github.malitsplus.shizurunotes.data.ClanBattlePeriod.(ClanBattlePeriod.kt:25), com.github.malitsplus.shizurunotes.db.RawClanBattlePeriod.transToClanBattlePeriod(RawClanBattlePeriod.java:19), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:31), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:11), kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)]
19:21:38.760 E/IndexOutOfBoundsException:Index: 0, Size: 0 [Thread-6, com.github.malitsplus.shizurunotes.common.CrashManager.uncaughtException(CrashManager.kt:12)]: [java.util.ArrayList.get(ArrayList.java:437), com.github.malitsplus.shizurunotes.data.ClanBattlePeriod.(ClanBattlePeriod.kt:30), com.github.malitsplus.shizurunotes.db.RawClanBattlePeriod.transToClanBattlePeriod(RawClanBattlePeriod.java:19), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:31), com.github.malitsplus.shizurunotes.ui.shared.SharedViewModelClanBattle$loadData$1.invoke(SharedViewModelClanBattle.kt:11), kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)]
19:21:40.121 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFile(FileUtils.java:102)]: FileNotExists: /data/user/0/com.github.malitsplus.shizurunotes/files/userData.json
19:21:40.144 I/FileCheck [main, com.github.malitsplus.shizurunotes.utils.FileUtils.checkFileAndSize(FileUtils.java:122)]: /data/user/0/com.github.malitsplus.shizurunotes/databases/redive_cn.db. Size: 6948KB.

关于直接读取本机PCR数据库的一点想法

今天翻PCR数据的时候发现原来数据库文件本体就存在数据文件目录下
data\com.bilibili.priconne\files\manifest.mdb (国服)
两者不论大小和内容我连接了一下看都是一样的,应该就是文件本体。
是否可以考虑做一个连本机PCR的接口,这样游戏维护完更新了,自己就可以同步到静流笔记上,也(一定程度)可以减缓estertion大佬那边的流量压力和更新前后的短时服务器压力?

ホマレ's unknown skill target

I found that ホマレ's target of IfForChildAction (UB Action 1 and 3, Skill 1 Action 2, and Skill 2 Action 1) is Unknown.

This issue comes from the wrong exception handling of ifType where you have assigned as IfType.unknown in line 125 in the IfForChildAction.
Her skill's target is not affected by the action_detail_1 but target_type as you handled.

Please consider the change below on both line 18 and line 43.

-    if(ifType != null) {
+    if(ifType != IfType.unknown) {

I already changed this to my forked project and it works well.

HerDataSam@6930386#diff-1ac07a801dee23cade0865922d03c2d6889be3c9bac6c5e9b440ae19ba323f55

[Request/Question] Adding the rest of the events

Looks like when loading the Events tab in the app, it only has the events from the past year + the Re:Zero and Idolm@ster events. Is it possible to have all the events from the first one included (as well as the April 1st ones), or is it just not available wherever the app gets the database? Thanks!

Round up or down in stats

I realized that some of the stats have differences between calculated value and in-game value. It seemed that you have applied RoundingMode.DOWN in buildExpression function in the ActionParameter.java, but I think RoundingMode.HALF_UP is correct for Chara skill value. Is there any reason for RoundingMode.DOWN? Is it wrong for Boss skills? I want to know whether it has a side-effect.


Edit) One more thing. I think it is better to apply a ceiling function on UniqueEquipmentProperty after adding multiplied enhancement data. To be sure, in イオ's unique equipment, a base stat of energy recovery rate(TP) is 1 and its enhance rate is 0.05. Its in-game value in Lv.2 is ceil(1+0.05 * 1) = 2. So, the calculated data need to be ceil ed before adding to Chara stats. Sorry for Korean language, but I hope you could understand it with numbers :)

イオunique

国服环奈数据更新

在nga看到app有环奈数据 但个人app上升级了数次数据库均没有更新 想问一下如何获得数据

app版本 1.06
数据库版本 10022280
语言 简体中文

Screenshot_2020-10-19-15-30-03-580_com github malitsplus shizurunotes

没有break

switch ((Ailment.DotDetail)ailment.ailmentDetail.detail){
case poison:
r = I18N.getString(R.string.Poison_s1_and_deal_s2_damage_per_second_for_s3_sec,
targetParameter.buildTargetClause(), buildExpression(level, property), buildExpression(level, durationValues, RoundingMode.HALF_UP, property));
case violentPoison:
r = I18N.getString(R.string.Poison_s1_violently_and_deal_s2_damage_per_second_for_s3_sec,
targetParameter.buildTargetClause(), buildExpression(level, property), buildExpression(level, durationValues, RoundingMode.HALF_UP, property));
default:
r = I18N.getString(R.string.s1_s2_and_deal_s3_damage_per_second_for_s4_sec,
ailment.description(), targetParameter.buildTargetClause(), buildExpression(level, property), buildExpression(level, durationValues, RoundingMode.HALF_UP, property));
}

where english bruh

image
i was thinking that there no translation but it exist just doesnt work on russian system language

A rounding rule in AilmentAction

  1. A rounding rule of dot damages

SLIP_DAMAGE which comes from ailments should be rounded down. It is because the result value ends with the conversion (long), and this conversion drops the floating-point numbers in the CSharp. This issue is suggested by a Korean user who compared the values between in-game damage of Mitsuki's 'Curse Bloom+' and Aoi's 'Poison Arrow+', and Notes' calculated damage.

case dot:
switch ((Ailment.DotDetail)ailment.ailmentDetail.detail){
case poison:
return I18N.getString(R.string.Poison_s1_and_deal_s2_damage_per_second_for_s3_sec,
targetParameter.buildTargetClause(), buildExpression(level, RoundingMode.UP, property), buildExpression(level, durationValues, RoundingMode.HALF_UP, property));
case violentPoison:
return I18N.getString(R.string.Poison_s1_violently_and_deal_s2_damage_per_second_for_s3_sec,
targetParameter.buildTargetClause(), buildExpression(level, RoundingMode.UP, property), buildExpression(level, durationValues, RoundingMode.HALF_UP, property));
default:
return I18N.getString(R.string.s1_s2_and_deal_s3_damage_per_second_for_s4_sec,
ailment.description(), targetParameter.buildTargetClause(), buildExpression(level, RoundingMode.UP, property), buildExpression(level, durationValues, RoundingMode.HALF_UP, property));
}

If there are any client updates about this calculation, you can ignore it.

  1. A potential error

%s is missed at the second line of the code below, while zh version is fine.

<string name="s_highest_HP">HPが一番高い%s</string>
<string name="s_lowest_HP">HPが一番低い</string>

Thanks.

装备多选最多只能选5个,但我希望更多

在计划刷装备的时候,希望找出能最大覆盖所需装备的关卡,这样就算掉落歪了,也能有较大的概率歪到次要的所需装备上,减少刷图次数。

目前只能最多选5个装备。但是,我希望可以选中的装备个数没有上限。。。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.