diff --git a/logic/controller/item_buy.go b/logic/controller/item_buy.go index ffb62c1f..578e6a3e 100644 --- a/logic/controller/item_buy.go +++ b/logic/controller/item_buy.go @@ -57,14 +57,14 @@ func (h Controller) BuyMItem(data *item.BuyMultiInboundInfo, c *player.Player) ( } func (h Controller) BuyGoldItem(data *item.C2S_GOLD_BUY_PRODUCT, c *player.Player) (result *item.S2C_GoldBuyProductInfo, err errorcode.ErrorCode) { r := xmlres.GoldProductMap[int(data.ProductID)] - usegold := uint32(data.Count) * uint32(gconv.Uint32(r.Price)*100) + usegold := uint32(data.Count) * uint32(gconv.Float64(r.Price)*100) if !c.UseGold(usegold) { return nil, errorcode.ErrorCodes.ErrSystemError } isbuycot := c.ItemAdd(uint32(gconv.Uint32(r.ItemID)), uint32(data.Count)) if isbuycot { - c.User.UpdateGold(c.Info.UserID, -gconv.Float64(usegold)) + c.User.UpdateGold(c.Info.UserID, -int64(usegold)) result = &item.S2C_GoldBuyProductInfo{ Gold: c.User.GetGold(uint(c.Info.UserID)), PayGold: usegold, diff --git a/logic/service/fight/boss/NewSeIdx_23.go b/logic/service/fight/boss/NewSeIdx_23.go index 57d2a9c8..c8ade281 100644 --- a/logic/service/fight/boss/NewSeIdx_23.go +++ b/logic/service/fight/boss/NewSeIdx_23.go @@ -42,14 +42,21 @@ func (e *NewSel23) Compare_Pre(fattack *action.SelectSkillAction, sattack *actio return true } -func (e *NewSel23) OnSkill() bool { +func (e *NewSel23) DamageFloor(t *info.DamageZone) bool { + if t.Type != info.DamageType.Red { + return true + + } if int(e.Ctx().Our.CurrentPet.GetHP().Cmp(e.Args()[0])) == -1 { - e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ - Type: info.DamageType.Red, - Damage: alpacadecimal.NewFromInt(int64(e.Ctx().Opp.GetPetInfo().Info.MaxHp)), - }) + // e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ + + // Type: info.DamageType.Red, + // Damage: alpacadecimal.NewFromInt(int64(e.Ctx().Opp.GetPetInfo().Info.MaxHp)), + // }) + + t.Damage = alpacadecimal.NewFromInt(int64(e.Ctx().Opp.GetPetInfo().Info.MaxHp)) } return true diff --git a/logic/service/player/player.go b/logic/service/player/player.go index ad55f671..40c1ac25 100644 --- a/logic/service/player/player.go +++ b/logic/service/player/player.go @@ -213,7 +213,7 @@ func (p *Player) ItemAdd(ItemId, ItemCnt uint32) (result bool) { return true case 5: //金豆ItemAdd - p.User.UpdateGold(p.Info.UserID, gconv.Float64(ItemCnt)) + p.User.UpdateGold(p.Info.UserID, int64(ItemCnt*100)) return true default: diff --git a/modules/base/model/base_sys_user.go b/modules/base/model/base_sys_user.go index 875654b4..cb583168 100644 --- a/modules/base/model/base_sys_user.go +++ b/modules/base/model/base_sys_user.go @@ -1,6 +1,8 @@ package model -import "blazing/cool" +import ( + "blazing/cool" +) const TableNameBaseSysUser = "base_sys_user" @@ -17,7 +19,7 @@ type BaseSysUser struct { Email *string `gorm:"column:email;type:varchar(255)" json:"email"` // 邮箱 Status *int32 `gorm:"column:status;not null;default:1" json:"status"` // 状态 0:禁用 1:启用 - GoldBean float64 `gorm:"column:goldbean;type:money;not null;default:0" json:"goldbean"` + GoldBean int64 `gorm:"column:goldbean;type:bigint;default:0" json:"goldbean"` Remark *string `gorm:"column:remark;type:varchar(255)" json:"remark"` // 备注 Debug int32 `gorm:"column:debug;type:int;not null;default:0" json:"debug"` // 是否可以进入2服 测试服 Maxts uint32 `gorm:"column:max_ts;type:int;not null;default:0" json:"max_ts"` //最后生成的时间记录表 diff --git a/modules/base/service/base_sys_user.go b/modules/base/service/base_sys_user.go index 75b6bf18..ed1be986 100644 --- a/modules/base/service/base_sys_user.go +++ b/modules/base/service/base_sys_user.go @@ -45,7 +45,9 @@ func (s *BaseSysUserService) GetPerson(userId uint32) (res *model.BaseSysUser) { return } -func (s *BaseSysUserService) UpdateGold(userId uint32, gold float64) { + +// 单位是分 +func (s *BaseSysUserService) UpdateGold(userId uint32, gold int64) { // updateData := g.Map{ // "views": &gdb.Counter{ // Field: "goldbean", @@ -66,7 +68,8 @@ func (s *BaseSysUserService) GetGold(userId uint) (res uint32) { m := cool.DBM(s.Model) m.Where("id", userId).FieldsEx("password").Scan(&res1) - return uint32(alpacadecimal.NewFromFloat(res1.GoldBean).Mul(alpacadecimal.NewFromFloat(100)).IntPart()) + r1 := alpacadecimal.NewFromInt(res1.GoldBean) + return uint32(r1.IntPart()) } func (s *BaseSysUserService) GetEamil(userId string) (res *model.BaseSysUser) { m := cool.DBM(s.Model)