2023-03-26

Signed-off-by: Yuan Si <do4suki@gmail.com>
This commit is contained in:
2023-03-26 05:08:20 +08:00
parent 50fe4b1b7c
commit 208acfbf51
7 changed files with 101320 additions and 90 deletions
+111
View File
@@ -0,0 +1,111 @@
package tools
import (
"database/sql"
"fmt"
"honoka-chan/model"
"github.com/goccy/go-json"
_ "github.com/mattn/go-sqlite3"
)
func ListUnitData() {
db, err := sql.Open("sqlite3", "assets/unit.db")
if err != nil {
panic(err)
}
sql := `SELECT unit_id,rarity,rank_min,rank_max,hp_max,default_removable_skill_capacity FROM unit_m WHERE unit_id NOT IN (SELECT unit_id FROM unit_m WHERE unit_type_id IN (SELECT unit_type_id FROM unit_type_m WHERE image_button_asset IS NULL AND (background_color = 'dcdbe3' AND original_attribute_id IS NULL) OR (unit_type_id IN (10,110,127,128,129) OR unit_type_id BETWEEN 131 AND 140)));`
rows, err := db.Query(sql)
if err != nil {
panic(err)
}
unitsData := []model.Active{}
oId := 3071290948
for rows.Next() {
unitData := model.Active{}
var uid, rit, rank, max_rank, hp_max, skill_capacity int
err = rows.Scan(&uid, &rit, &rank, &max_rank, &hp_max, &skill_capacity)
if err != nil {
fmt.Println(err)
continue
}
oId++
unitData.UnitOwningUserID = oId
unitData.UnitID = uid
unitData.LevelLimitID = 1
unitData.Rank = rank
unitData.MaxRank = max_rank
unitData.MaxHp = hp_max
unitData.DisplayRank = 2
unitData.InsertDate = "2023-03-17 21:35:20"
if rit != 4 {
unitData.Exp = 0
unitData.Level = 1
unitData.Love = 0
unitData.UnitSkillExp = 0
unitData.UnitSkillLevel = 1
unitData.UnitRemovableSkillCapacity = skill_capacity
unitData.FavoriteFlag = false
unitData.IsRankMax = false
unitData.IsLevelMax = false
unitData.IsLoveMax = false
unitData.IsSigned = false
unitData.IsSkillLevelMax = false
unitData.IsRemovableSkillCapacityMax = false
switch rit {
case 1:
// N
unitData.NextExp = 6
unitData.MaxLevel = 40
unitData.MaxLove = 50
case 2:
// R
unitData.NextExp = 14
unitData.MaxLevel = 60
unitData.MaxLove = 200
case 3:
// SR
unitData.NextExp = 54
unitData.MaxLevel = 80
unitData.MaxLove = 500
case 5:
// SSR
unitData.NextExp = 128
unitData.MaxLevel = 90
unitData.MaxLove = 750
}
} else {
// UR
unitData.Exp = 117111 // Lv.120
unitData.NextExp = 0
unitData.Level = 120
unitData.MaxLevel = 120
unitData.Love = 1000
unitData.MaxLove = 1000
unitData.UnitSkillExp = 29900
unitData.UnitSkillLevel = 8
unitData.UnitRemovableSkillCapacity = 8
unitData.FavoriteFlag = true
unitData.IsRankMax = false
unitData.IsLevelMax = false
unitData.IsLoveMax = false
unitData.IsSigned = true
unitData.IsSkillLevelMax = true
unitData.IsRemovableSkillCapacityMax = true
}
unitsData = append(unitsData, unitData)
}
data, err := json.Marshal(unitsData)
if err != nil {
panic(err)
}
fmt.Println(string(data))
db.Close()
}