Skip to content

Commit 7597204

Browse files
authored
Merge pull request #134 from wthee/beta-compose
3.9.0 release
2 parents 91fcac7 + 32d76cb commit 7597204

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+389
-234
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
### 3.X.X
44

5+
#### 3.9.0 - 2025.07
6+
7+
- 优化:部分技能描述
8+
- 修复:已知 BUG
9+
510
#### 3.8.9 - 2025.03
611

712
- 新增:[角色职能] 功能模块

DATATABLE.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@
4141
| redeem_unit | 额外角色 | 花凛等 |
4242
| room_unit_comments | 小屋交流文本 | |
4343
| secret_dungeon_schedule | 特殊地下城日程 | |
44+
| seven_enemy_parameter | 剧情活动怪物信息 | 七周年后的活动 |
45+
| seven_event_setting | 剧情活动信息 | |
46+
| seven_schedule | 剧情活动日常信息 | |
47+
| seven_special_battle_detail | 剧情活动战斗信息 | |
48+
| seven_wave_group_data | 剧情活动副本信息 | |
4449
| shiori_event_list | 支线活动 | |
4550
| skill_action | 技能动作 | |
4651
| skill_data | 技能详情 | |
@@ -50,7 +55,7 @@
5055
| talent_quest_data | 深域关卡信息 | |
5156
| talent_quest_enemy_parameter | 深域关卡敌人数值 | |
5257
| talent_quest_wave_group_data | 深域关卡敌人信息 | |
53-
| talent_weakness | 天赋弱点信息 | |
58+
| talents_weakness | 天赋弱点信息 | |
5459
| tdf_schedule | 次元断层日程 | |
5560
| tower_schedule | 露娜塔日程 | |
5661
| travel_area_data | ex 冒险区域 | |

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ hilt {
1212
enableAggregatingTask = true
1313
}
1414

15-
val appVersionCode = 389
16-
val appVersionName = "3.8.9"
15+
val appVersionCode = 390
16+
val appVersionName = "3.9.0"
1717
val appId = "cn.wthee.pcrtool"
1818

1919
android {

app/src/main/java/cn/wthee/pcrtool/data/db/dao/EventDao.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,27 +74,26 @@ interface EventDao {
7474
"""
7575
SELECT
7676
s.event_id,
77-
s.title,
77+
setting.title,
7878
s.event_id AS original_event_id,
7979
( s.event_id % 10000 + 5000 ) AS story_id,
8080
ss.start_time,
8181
ss.end_time,
8282
enemy.enemy_id AS boss_enemy_id,
8383
enemy.unit_id AS boss_unit_id,
84-
"" AS unit_ids
84+
'' AS unit_ids
8585
FROM
86-
seven_story_data AS s
87-
LEFT JOIN seven_schedule AS ss ON s.event_id = ss.event_id -- LEFT JOIN ( SELECT d.story_group_id, GROUP_CONCAT( d.reward_id_2, '-' ) AS unit_ids FROM event_story_detail AS d GROUP BY d.story_group_id ) AS e ON c.story_group_id = e.story_group_id
86+
seven_schedule AS s
87+
LEFT JOIN seven_event_setting AS setting ON s.event_id = setting.event_id
88+
LEFT JOIN seven_schedule AS ss ON s.event_id = ss.event_id
8889
LEFT JOIN seven_special_battle_detail AS battle ON battle.quest_id / 1000 = s.event_id
8990
AND battle.mode = 1
9091
LEFT JOIN seven_wave_group_data AS wave ON wave.wave_group_id = battle.wave_group_id
9192
LEFT JOIN seven_enemy_parameter AS enemy ON wave.enemy_id_1 = enemy.enemy_id
92-
WHERE
93-
s.story_type = 2
9493
GROUP BY
9594
s.event_id
9695
ORDER BY
97-
start_time DESC
96+
s.start_time DESC
9897
LIMIT 0,:limit
9998
"""
10099
)

app/src/main/java/cn/wthee/pcrtool/data/db/repository/EnemyRepository.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,12 @@ class EnemyRepository @Inject constructor(private val enemyDao: EnemyDao) {
5050
suspend fun getEnemyAttr(enemyId: Int) = try {
5151
if (enemyId > minTalentEnemyId) {
5252
enemyDao.getTalentEnemyAttr(enemyId)
53-
} else if (enemyId > minEventEnemyId) {
54-
enemyDao.getNewEventEnemyAttr(enemyId)
5553
} else {
56-
enemyDao.getEnemyAttr(enemyId)
54+
try {
55+
enemyDao.getEnemyAttr(enemyId)
56+
} catch (_: Exception) {
57+
enemyDao.getNewEventEnemyAttr(enemyId)
58+
}
5759
}
5860
} catch (e: Exception) {
5961
LogReportUtil.upload(e, "getEnemyAttr#enemyId:$enemyId")

app/src/main/java/cn/wthee/pcrtool/data/db/view/AttackPattern.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,26 @@ data class AttackPattern(
3434
@ColumnInfo(name = "atk_pattern_20") val atkPattern20: Int
3535
) {
3636

37+
/**
38+
* 获取初始动作id
39+
*/
3740
fun getBefore(): MutableList<Int> {
3841
val list = getList()
3942
return list.subList(0, loopStart - 1)
4043
}
4144

45+
/**
46+
* 获取循环动作id
47+
*/
4248
fun getLoop(): MutableList<Int> {
4349
val list = getList()
4450
return list.subList(loopStart - 1, loopEnd)
4551
}
4652

47-
48-
private fun getList(): ArrayList<Int> {
53+
/**
54+
* 获取所有id
55+
*/
56+
fun getList(): ArrayList<Int> {
4957
val list = arrayListOf<Int>()
5058
list.add(atkPattern1)
5159
list.add(atkPattern2)

app/src/main/java/cn/wthee/pcrtool/data/db/view/SkillActionDetail.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ import cn.wthee.pcrtool.data.db.view.skilltype.aura
1212
import cn.wthee.pcrtool.data.db.view.skilltype.auraField
1313
import cn.wthee.pcrtool.data.db.view.skilltype.awe
1414
import cn.wthee.pcrtool.data.db.view.skilltype.barrier
15+
import cn.wthee.pcrtool.data.db.view.skilltype.buffDot
1516
import cn.wthee.pcrtool.data.db.view.skilltype.cannotSelected
17+
import cn.wthee.pcrtool.data.db.view.skilltype.changeDefMax
1618
import cn.wthee.pcrtool.data.db.view.skilltype.changeMode
1719
import cn.wthee.pcrtool.data.db.view.skilltype.changePattern
1820
import cn.wthee.pcrtool.data.db.view.skilltype.changePosition
@@ -29,6 +31,7 @@ import cn.wthee.pcrtool.data.db.view.skilltype.countDown
2931
import cn.wthee.pcrtool.data.db.view.skilltype.damage
3032
import cn.wthee.pcrtool.data.db.view.skilltype.damageReduce
3133
import cn.wthee.pcrtool.data.db.view.skilltype.damageTakenUp
34+
import cn.wthee.pcrtool.data.db.view.skilltype.damageToDot
3235
import cn.wthee.pcrtool.data.db.view.skilltype.dispel
3336
import cn.wthee.pcrtool.data.db.view.skilltype.dot
3437
import cn.wthee.pcrtool.data.db.view.skilltype.dotField
@@ -249,7 +252,7 @@ data class SkillActionDetail(
249252
SkillActionType.TAUNT -> taunt(ailmentName)
250253
// 21:回避
251254
SkillActionType.INVINCIBLE -> invincible()
252-
// 22:改变模式
255+
// 22:循环变更
253256
SkillActionType.CHANGE_PATTERN -> changePattern()
254257
// 23:判定对象状态
255258
SkillActionType.IF_STATUS -> ifStatus()
@@ -397,6 +400,12 @@ data class SkillActionDetail(
397400
SkillActionType.TRANSFER_DAMAGE -> transferDamage()
398401
// 125:无法选中
399402
SkillActionType.CANNOT_SELECTED -> cannotSelected()
403+
// 128:持续伤害增强
404+
SkillActionType.BUFF_DOT -> buffDot()
405+
// 129:伤害转化
406+
SkillActionType.DAMAGE_TO_DOT -> damageToDot()
407+
// 130:调和
408+
SkillActionType.CHANGE_DEF_MAX -> changeDefMax()
400409
else -> unknownType()
401410
}
402411
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package cn.wthee.pcrtool.data.db.view.skilltype
2+
3+
import cn.wthee.pcrtool.R
4+
import cn.wthee.pcrtool.data.db.view.SkillActionDetail
5+
import cn.wthee.pcrtool.utils.getString
6+
import cn.wthee.pcrtool.utils.getTarget
7+
import cn.wthee.pcrtool.utils.getTimeText
8+
9+
// 128:持续伤害增强
10+
fun SkillActionDetail.buffDot() = getString(
11+
R.string.skill_action_type_desc_128,
12+
getTarget(),
13+
(actionValue1 / 100).toInt(),
14+
getTimeText(2, actionValue2)
15+
)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package cn.wthee.pcrtool.data.db.view.skilltype
2+
3+
import cn.wthee.pcrtool.R
4+
import cn.wthee.pcrtool.data.db.view.SkillActionDetail
5+
import cn.wthee.pcrtool.utils.getString
6+
import cn.wthee.pcrtool.utils.getTarget
7+
8+
9+
// 130:调和
10+
fun SkillActionDetail.changeDefMax(): String {
11+
return getString(R.string.skill_action_type_desc_130, getTarget())
12+
}

app/src/main/java/cn/wthee/pcrtool/data/db/view/skilltype/ChangeMode.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,17 @@ import cn.wthee.pcrtool.utils.getTimeText
88

99
// 14:行动模式变更
1010
fun SkillActionDetail.changeMode() = when (actionDetail1) {
11-
1 -> getString(
12-
R.string.skill_action_loop_change,
13-
getTimeText(1, actionValue1)
14-
)
15-
11+
1 -> {
12+
val status = when (actionValue5.toInt()) {
13+
1 -> getString(R.string.skill_action_change_to_flight_status)
14+
else -> getString(R.string.none)
15+
}
16+
getString(
17+
R.string.skill_action_change_mode,
18+
status,
19+
getTimeText(1, actionValue1)
20+
)
21+
}
1622
2 -> getString(R.string.skill_action_type_desc_14_2, actionValue1.toInt())
1723
3 -> getString(R.string.skill_action_type_desc_14_3)
1824
else -> UNKNOWN

0 commit comments

Comments
 (0)