Migrate accessories to user data
- Add user_accessory as the per-user accessory inventory table. - Migrate old accessory wear records to user-owned accessory ids, including legacy common_accessory_m lookups for old installs. - Allocate default accessories for newly created users and update accessory reads to use user_accessory at runtime. - Validate accessory ownership when wearing accessories and keep existing accessory-based responses working. Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
@@ -178,23 +178,18 @@ func buildCenterUnitInfo(ss *session.Session, userID, unitOwningUserID, awardID
|
||||
return info, err
|
||||
}
|
||||
if has && accessoryWear.AccessoryOwningUserID > 0 {
|
||||
var accessoryID, exp int
|
||||
_, err = ss.MainEng.Table("common_accessory_m").
|
||||
Where("accessory_owning_user_id = ?", accessoryWear.AccessoryOwningUserID).
|
||||
Cols("accessory_id,exp").
|
||||
Get(&accessoryID, &exp)
|
||||
if err != nil {
|
||||
return info, err
|
||||
}
|
||||
accessoryInfo = friendschema.AccessoryInfo{
|
||||
AccessoryOwningUserID: accessoryWear.AccessoryOwningUserID,
|
||||
AccessoryID: accessoryID,
|
||||
Exp: exp,
|
||||
NextExp: 0,
|
||||
Level: 8,
|
||||
MaxLevel: 8,
|
||||
RankUpCount: 4,
|
||||
FavoriteFlag: true,
|
||||
hasAccessory, accessoryData := ss.GetAccessoryByAccessoryOwningUserID(accessoryWear.AccessoryOwningUserID)
|
||||
if hasAccessory {
|
||||
accessoryInfo = friendschema.AccessoryInfo{
|
||||
AccessoryOwningUserID: accessoryWear.AccessoryOwningUserID,
|
||||
AccessoryID: accessoryData.AccessoryID,
|
||||
Exp: accessoryData.Exp,
|
||||
NextExp: 0,
|
||||
Level: accessoryData.MaxLevel,
|
||||
MaxLevel: accessoryData.MaxLevel,
|
||||
RankUpCount: accessoryData.MaxLevel - accessoryData.DefaultMaxLevel,
|
||||
FavoriteFlag: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user