已有buff 过滤
This commit is contained in:
parent
301f4c6af1
commit
91f0881103
@ -81,9 +81,18 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
|||||||
err = this.LoadConfigure(game_eventconf, cfg.NewGameStoneEvent)
|
err = this.LoadConfigure(game_eventconf, cfg.NewGameStoneEvent)
|
||||||
err = this.LoadConfigure(game_roomconf, cfg.NewGameStoneRoom)
|
err = this.LoadConfigure(game_roomconf, cfg.NewGameStoneRoom)
|
||||||
|
|
||||||
configure.RegisterConfigure(game_stageconf, cfg.NewGameStoneStage, this.LoadGameStroneStage)
|
configure.RegisterConfigure(game_stageconf, cfg.NewGameStoneStage, this.LoadGameStoneStage)
|
||||||
configure.RegisterConfigure(game_buffconf, cfg.NewGameStoneBuff, this.LoadGameStroneBuff)
|
configure.RegisterConfigure(game_buffconf, cfg.NewGameStoneBuff, this.LoadGameStoneBuff)
|
||||||
|
|
||||||
|
// sz := make(map[int32]struct{})
|
||||||
|
// sz[125004312] = struct{}{}
|
||||||
|
// sz[135006211] = struct{}{}
|
||||||
|
// sz[135006212] = struct{}{}
|
||||||
|
// sz[135006312] = struct{}{}
|
||||||
|
// sz[144004311] = struct{}{}
|
||||||
|
// sz[144004312] = struct{}{}
|
||||||
|
// sz[124006311] = struct{}{}
|
||||||
|
// this.GetBuffGroupDataByLottery(100001, 1, sz)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,7 +483,42 @@ func (this *configureComp) GetLotterConfById(id int32) (data *cfg.GameBufflotter
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具)
|
// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具)
|
||||||
func (this *configureComp) GetBuffGroupDataByLottery(lotteryId int32, addType int32) (buff []int32) {
|
func (this *configureComp) GetBuffGroupDataByLottery(lotteryId int32, addType int32, ownerbuff map[int32]struct{}) (buff []int32) {
|
||||||
|
var (
|
||||||
|
num int32
|
||||||
|
szW []int32
|
||||||
|
curWt int32 // 是否增加权重
|
||||||
|
sz []*cfg.GameBufflotteryData
|
||||||
|
)
|
||||||
|
|
||||||
|
if v, ok := this.buffLottery[lotteryId]; ok {
|
||||||
|
for i := 1; ; i++ {
|
||||||
|
for k, v1 := range v { // k buffID v1 cfg.GameBufflotteryData
|
||||||
|
curWt = 0
|
||||||
|
if _, ok := ownerbuff[k]; !ok {
|
||||||
|
sz = append(sz, v1)
|
||||||
|
if v2, ok := this.buff[addType]; ok {
|
||||||
|
if _, ok := v2[k]; ok {
|
||||||
|
curWt += v1.TypeWt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
curWt += v1.BuffWt
|
||||||
|
szW = append(szW, curWt)
|
||||||
|
}
|
||||||
|
if num == 0 {
|
||||||
|
num = v1.GroupNum
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getbuffid := sz[comm.GetRandW(szW)].BuffID
|
||||||
|
ownerbuff[getbuffid] = struct{}{}
|
||||||
|
buff = append(buff, getbuffid)
|
||||||
|
if i >= int(num) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -524,7 +568,7 @@ func (this *configureComp) GetStoneEventDataById(eventid int32) (conf *cfg.GameS
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
func (this *configureComp) LoadGameStroneStage() {
|
func (this *configureComp) LoadGameStoneStage() {
|
||||||
|
|
||||||
if v, err := this.GetConfigure(game_stageconf); err == nil {
|
if v, err := this.GetConfigure(game_stageconf); err == nil {
|
||||||
if configure, ok := v.(*cfg.GameStoneStage); ok {
|
if configure, ok := v.(*cfg.GameStoneStage); ok {
|
||||||
@ -547,7 +591,7 @@ func (this *configureComp) GetStageConfByStageid(stgeid int32, roomid int32) (co
|
|||||||
return this.stage[key]
|
return this.stage[key]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *configureComp) LoadGameStroneBuff() {
|
func (this *configureComp) LoadGameStoneBuff() {
|
||||||
|
|
||||||
if v, err := this.GetConfigure(game_buffconf); err == nil {
|
if v, err := this.GetConfigure(game_buffconf); err == nil {
|
||||||
if configure, ok := v.(*cfg.GameStoneBuff); ok {
|
if configure, ok := v.(*cfg.GameStoneBuff); ok {
|
||||||
@ -566,6 +610,6 @@ func (this *configureComp) LoadGameStroneBuff() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *configureComp) GetGameStroneBuff(addType int32) (m map[int32]struct{}) {
|
func (this *configureComp) GetGameStoneBuff(addType int32) (m map[int32]struct{}) {
|
||||||
return this.buff[addType]
|
return this.buff[addType]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user