```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(fight): 新增疲惫状态并优化睡眠状态机制

- 实现疲惫状态(StatusTired),仅限制攻击技能,允许属性技能正常使用
- 重构睡眠状态,改为在被攻击且未miss时立即解除,而非技能使用后
- 修复寄生种子效果触发时机,改为回合开始时触发
- 调整寄生效果的目标为技能施放者而非
This commit is contained in:
昔念
2026-04-13 21:06:45 +08:00
parent ce1a2a3588
commit f95fd49efd
12 changed files with 322 additions and 42 deletions

View File

@@ -26,6 +26,9 @@ func NewTaskService() *TaskService {
func (s *TaskService) Get(id, os int) *model.TaskConfig {
var res *model.TaskConfig
dbm_enable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&res)
if res == nil {
dbm_notenable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&res)
}
// var res *model.TaskConfig
// for _, v := range item {
// if v.OutState == os {
@@ -41,6 +44,9 @@ func (s *TaskService) Get(id, os int) *model.TaskConfig {
func (s *TaskService) GetDaily() []model.TaskConfig {
var item []model.TaskConfig
dbm_enable(s.Model).Where("task_type", 1).Scan(&item)
if len(item) == 0 {
dbm_notenable(s.Model).Where("task_type", 1).Scan(&item)
}
return item
@@ -48,13 +54,19 @@ func (s *TaskService) GetDaily() []model.TaskConfig {
func (s *TaskService) GetWeek() []model.TaskConfig {
var item []model.TaskConfig
dbm_enable(s.Model).Where("task_type", 2).Scan(&item)
if len(item) == 0 {
dbm_notenable(s.Model).Where("task_type", 2).Scan(&item)
}
return item
}
func (s *TaskService) IsDaily(id, os int) bool {
var item *model.TaskConfig
dbm_enable(s.Model).Where("task_id", id).Where("out_state", os).Scan(item)
dbm_enable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&item)
if item == nil {
dbm_notenable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&item)
}
if item == nil {
return false
}