This commit is contained in:
liwei1dao 2022-11-30 16:32:00 +08:00
commit e0240c9864
9 changed files with 867 additions and 287 deletions

File diff suppressed because it is too large Load Diff

View File

@ -107,7 +107,7 @@
"hid": [
"25001",
"35001",
"11009"
"15004"
],
"favorlv": 1,
"prize": [
@ -140,7 +140,7 @@
"hid": [
"25001",
"35001",
"11009"
"15004"
],
"favorlv": 2,
"prize": [
@ -173,7 +173,7 @@
"hid": [
"25001",
"35001",
"11009"
"15004"
],
"favorlv": 3,
"prize": [

View File

@ -16,8 +16,8 @@
2,
3
],
"startid": 10001,
"rightend": 10001008,
"startid": 300001,
"rightend": 3000014,
"special_stroyprize": [
{
"a": "attr",
@ -26,9 +26,9 @@
}
],
"endid": [
10001009,
10001013,
10001014
3000015,
3000017,
3000018
],
"stroyprize": [
{
@ -64,8 +64,8 @@
2,
3
],
"startid": 10001,
"rightend": 10001008,
"startid": 300001,
"rightend": 3000014,
"special_stroyprize": [
{
"a": "attr",
@ -74,9 +74,9 @@
}
],
"endid": [
10001009,
10001013,
10001014
3000015,
3000017,
3000018
],
"stroyprize": [
{
@ -92,7 +92,8 @@
4
],
"fid": [
101
101,
102
]
},
{
@ -112,8 +113,8 @@
2,
3
],
"startid": 10001,
"rightend": 10001008,
"startid": 300001,
"rightend": 3000014,
"special_stroyprize": [
{
"a": "attr",
@ -122,9 +123,9 @@
}
],
"endid": [
10001009,
10001013,
10001014
3000015,
3000017,
3000018
],
"stroyprize": [
{
@ -140,7 +141,8 @@
4
],
"fid": [
101
101,
102
]
},
{
@ -160,8 +162,8 @@
2,
3
],
"startid": 10001,
"rightend": 10001008,
"startid": 300001,
"rightend": 3000014,
"special_stroyprize": [
{
"a": "attr",
@ -170,9 +172,9 @@
}
],
"endid": [
10001009,
10001013,
10001014
3000015,
3000017,
3000018
],
"stroyprize": [
{

View File

@ -30,13 +30,18 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HeroBuyReq) (code pb
update map[string]interface{}
price []int32 // 购买所需的价钱
totalCost float32 // 购买打折系数
udata *pb.DBUser
)
update = make(map[string]interface{})
if code = this.BuyCheck(session, req); code != pb.ErrorCode_Success {
return
}
if udata = this.module.ModuleUser.GetUser(session.GetUserId()); udata == nil {
code = pb.ErrorCode_SystemError
return
}
if conf, err = this.module.configure.GetShopItemsConfigure(req.BuyType); err != nil { // 找配置
if conf, err = this.module.configure.GetShopItemsConfigureByGroups(req.BuyType, udata); err != nil { // 找配置
code = pb.ErrorCode_ConfigNoFound
return
}
@ -113,6 +118,10 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HeroBuyReq) (code pb
this.module.ModuleRtask.SendToRtask(session, comm.Rtype67, v.N, utils.ToInt32(v.T))
}
}
session.SendMsg(string(this.module.GetType()), "buy", &pb.HeroBuyResp{IsSucc: true})
session.SendMsg(string(this.module.GetType()), "buy", &pb.HeroBuyResp{
IsSucc: true,
Onebuy: record.Onebuy + req.BuyCount,
Tenbuy: record.Tenbuy + req.BuyCount,
})
return
}

View File

@ -18,6 +18,8 @@ func (this *apiComp) DrawCardFloor(session comm.IUserSession, req *pb.HeroDrawCa
heroRecord, _ := this.module.modelRecord.GetHeroRecord(session.GetUserId())
rsp.Star4 = heroRecord.Star4
rsp.Star5 = heroRecord.Star5
rsp.Onebuy = heroRecord.Onebuy
rsp.Tenbuy = heroRecord.Tenbuy
session.SendMsg(string(this.module.GetType()), DrawCardFloor, rsp)
return
}

View File

@ -3,6 +3,7 @@ package hero
import (
"fmt"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
@ -463,3 +464,25 @@ func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.GameSho
}
return
}
func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb.DBUser) (result *cfg.GameShopitemData, err error) {
var (
v interface{}
table *cfg.GameShopitem
)
if v, err = this.GetConfigure(game_shopitem); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
table = v.(*cfg.GameShopitem)
for _, v := range table.GetDataMap() {
if v.Id == groupid &&
user.Lv >= v.Lvmin &&
user.Lv <= v.Lvmax &&
user.Vip >= v.Vip {
result = v
return
}
}
}
return
}

View File

@ -35,6 +35,25 @@ func (this *apiComp) ActivationFetter(session comm.IUserSession, req *pb.Library
fetter.Activation = true
mapData := make(map[string]interface{}, 0)
mapData["activation"] = fetter.Activation
// 激活的时候算一下 当前羁绊等级
list := this.module.modelFetter.getHeroFetterList(session.GetUserId())
conf := this.module.configure.GetLibraryFetter(fetter.Fid, 1)
var minLv int32
for _, v1 := range conf.Hid {
for _, v := range list {
if v.Heroid == v1 {
if minLv == 0 {
minLv = v.Favorlv
}
if minLv > v.Favorlv {
minLv = v.Favorlv
}
break
}
}
}
fetter.Fetterlv = minLv
mapData["fetterlv"] = fetter.Fetterlv
this.module.modelLibrary.modifyLibraryDataByObjId(session.GetUserId(), fetter.Id, mapData)
rsp.Data = fetter
return

View File

@ -192,33 +192,37 @@ func (this *Library) AddHeroFetterData(uid, heroConfId string) (code pb.ErrorCod
if code != pb.ErrorCode_Success {
this.Errorf("CreateLibrary failed: %v,uid:%s,fid:%d", code, uid, fid)
}
rsp.Data = append(rsp.Data, obj)
} else { // 羁绊信息中没有这个heroid 也需要加进来
for k, v := range obj.Hero {
if v == 0 && k == heroConfId {
obj.Hero[k] = 1
// 重新计算最低等级
var minLv int32
conf := this.configure.GetLibraryFetter(obj.Fid, 1)
list := this.GetHeroFetterList(uid)
for _, v1 := range conf.Hid {
for _, v := range list {
if v.Heroid == v1 {
if minLv < v.Favorlv {
minLv = v.Favorlv
}
break
// 同步数据
mapData := make(map[string]interface{}, 0)
if obj.Activation {
// 重新计算最低等级
var minLv int32
conf := this.configure.GetLibraryFetter(obj.Fid, 1)
list := this.GetHeroFetterList(uid)
for _, v1 := range conf.Hid {
for _, v := range list {
if v.Heroid == v1 {
if minLv == 0 {
minLv = v.Favorlv
}
if minLv > v.Favorlv {
minLv = v.Favorlv
}
break
}
}
obj.Fetterlv = minLv
// 同步数据
mapData := make(map[string]interface{}, 0)
mapData["hero"] = obj.Hero
mapData["fetterlv"] = obj.Fetterlv
this.modelLibrary.modifyLibraryDataByObjId(uid, obj.Id, mapData)
rsp.Data = append(rsp.Data, obj)
}
obj.Fetterlv = minLv
mapData["fetterlv"] = obj.Fetterlv
}
mapData["hero"] = obj.Hero
this.modelLibrary.modifyLibraryDataByObjId(uid, obj.Id, mapData)
rsp.Data = append(rsp.Data, obj)
}
}
if len(rsp.Data) != 0 || len(rsp.Fetter) != 0 {

View File

@ -16,7 +16,7 @@ type GameGourmetData struct {
SkillType int32
Initial int32
Level int32
ColourLevelAffix int32
ColourLevelAffix string
Name string
Needtime int32
Display int32
@ -24,7 +24,9 @@ type GameGourmetData struct {
DeliciousIcon string
SkillIcon string
Item []*Gameatn
ItemColourAffix []int32
ItemColourAffix1 string
ItemColourAffix2 string
ItemColourAffix3 string
DeliciousConsume []*Gameatn
SkillConsume []*Gameatn
Using int32
@ -44,7 +46,7 @@ func (_v *GameGourmetData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill_type"].(float64); !_ok_ { err = errors.New("skill_type error"); return }; _v.SkillType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["initial"].(float64); !_ok_ { err = errors.New("initial error"); return }; _v.Initial = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["level"].(float64); !_ok_ { err = errors.New("level error"); return }; _v.Level = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["colour_level_affix"].(float64); !_ok_ { err = errors.New("colour_level_affix error"); return }; _v.ColourLevelAffix = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["colour_level_affix"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.ColourLevelAffix error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.ColourLevelAffix, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needtime"].(float64); !_ok_ { err = errors.New("needtime error"); return }; _v.Needtime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["display"].(float64); !_ok_ { err = errors.New("display error"); return }; _v.Display = int32(_tempNum_) }
@ -65,20 +67,9 @@ func (_v *GameGourmetData)Deserialize(_buf map[string]interface{}) (err error) {
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["item_colour_affix"].([]interface{}); !_ok_ { err = errors.New("item_colour_affix error"); return }
_v.ItemColourAffix = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.ItemColourAffix = append(_v.ItemColourAffix, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["item_colour_affix1"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.ItemColourAffix1 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.ItemColourAffix1, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["item_colour_affix2"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.ItemColourAffix2 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.ItemColourAffix2, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["item_colour_affix3"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.ItemColourAffix3 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.ItemColourAffix3, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool