- 重构了任务系统的数据结构和执行逻辑 - 优化了地图加载和怪物刷新机制 - 改进了宠物系统的基础架构 - 调整了玩家信息和背包的处理方式 - 统一了数据访问层的接口和实现
48 lines
1.3 KiB
Go
48 lines
1.3 KiB
Go
package model
|
||
|
||
import (
|
||
"blazing/cool"
|
||
)
|
||
|
||
const (
|
||
TableNameMonsterRefresh = "monster_refresh" // 怪物刷新规则表
|
||
|
||
)
|
||
|
||
// MonsterRefresh 怪物刷新规则模型(对应XML中的<monster>标签)
|
||
type MonsterRefresh struct {
|
||
*cool.Model
|
||
|
||
MonsterID int32 `gorm:"not null;comment:'对应原怪物唯一编号'" json:"monster_id"`
|
||
ShinyID int32 `gorm:"not null;uniqueIndex;comment:'异色唯一标识ID'" json:"shiny_id"`
|
||
RefreshScript string `gorm:"type:text;not null;comment:'刷新脚本(JS格式,可包含时间/天气/地形等条件)'" json:"refresh_script"`
|
||
|
||
ShinyFilter string `gorm:"type:text;not null;comment:'异色滤镜效果(文本描述或配置参数)'" json:"shiny_filter"`
|
||
ShinyEffect string `gorm:"type:text;not null;comment:'异色光效效果(文本描述或配置参数)'" json:"shiny_effect"`
|
||
// TODO: 增加ruffle的显示异色效果
|
||
}
|
||
|
||
// TableName MonsterRefresh's table name
|
||
func (*MonsterRefresh) TableName() string {
|
||
return TableNameMonsterRefresh
|
||
}
|
||
|
||
// GroupName MonsterRefresh's table group
|
||
func (*MonsterRefresh) GroupName() string {
|
||
return "default"
|
||
}
|
||
|
||
// NewMonsterRefresh create a new MonsterRefresh
|
||
func NewMonsterRefresh() *MonsterRefresh {
|
||
return &MonsterRefresh{
|
||
Model: cool.NewModel(),
|
||
}
|
||
}
|
||
|
||
// 初始化表结构
|
||
func init() {
|
||
|
||
cool.CreateTable(&MonsterRefresh{})
|
||
|
||
}
|