+111
@@ -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()
|
||||
}
|
||||
Reference in New Issue
Block a user