diff --git a/bin/json/game_combatbox.json b/bin/json/game_combatbox.json
new file mode 100644
index 000000000..271370c95
--- /dev/null
+++ b/bin/json/game_combatbox.json
@@ -0,0 +1,62 @@
+[
+ {
+ "id": 10001,
+ "drop": 1001
+ },
+ {
+ "id": 10002,
+ "drop": 1001
+ },
+ {
+ "id": 10003,
+ "drop": 1001
+ },
+ {
+ "id": 10004,
+ "drop": 1001
+ },
+ {
+ "id": 10005,
+ "drop": 1001
+ },
+ {
+ "id": 10006,
+ "drop": 1001
+ },
+ {
+ "id": 10007,
+ "drop": 1001
+ },
+ {
+ "id": 10008,
+ "drop": 1001
+ },
+ {
+ "id": 10009,
+ "drop": 1001
+ },
+ {
+ "id": 10010,
+ "drop": 1001
+ },
+ {
+ "id": 10011,
+ "drop": 1001
+ },
+ {
+ "id": 10012,
+ "drop": 1001
+ },
+ {
+ "id": 10013,
+ "drop": 1001
+ },
+ {
+ "id": 10014,
+ "drop": 1001
+ },
+ {
+ "id": 10015,
+ "drop": 1001
+ }
+]
\ No newline at end of file
diff --git a/modules/combat/api_drop.go b/modules/combat/api_drop.go
index 9ed0a05b6..1602419ad 100644
--- a/modules/combat/api_drop.go
+++ b/modules/combat/api_drop.go
@@ -19,6 +19,7 @@ func (this *apiComp) Drop(session comm.IUserSession, req *pb.CombatDropReq) (cod
var (
info *pb.DBCombatUser
level *cfg.GameCombatLevelData
+ box *cfg.GameCombatBoxData
atns []*pb.UserAssets
err error
)
@@ -34,6 +35,10 @@ func (this *apiComp) Drop(session comm.IUserSession, req *pb.CombatDropReq) (cod
code = pb.ErrorCode_DBError
return
}
+ if box, err = this.module.configure.getGameCombatbox(req.Drop); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
for _, v := range info.Passdrop {
if v == req.Drop {
code = pb.ErrorCode_ReqParameterError
@@ -46,7 +51,8 @@ func (this *apiComp) Drop(session comm.IUserSession, req *pb.CombatDropReq) (cod
code = pb.ErrorCode_DBError
return
}
- reward := this.module.configure.GetDropReward(req.Drop)
+
+ reward := this.module.configure.GetDropReward(box.Drop)
this.module.DispenseRes(session, reward, true)
atns = make([]*pb.UserAssets, len(reward))
for i, v := range reward {
diff --git a/modules/combat/configure.go b/modules/combat/configure.go
index e33bf4870..8dea5224a 100644
--- a/modules/combat/configure.go
+++ b/modules/combat/configure.go
@@ -10,6 +10,7 @@ import (
const (
game_combatlevel = "game_combatlevel.json"
game_combatmanster = "game_combatmanster.json"
+ game_combatbox = "game_combatbox.json"
)
///背包配置管理组件
@@ -24,6 +25,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
this.module = module.(*Combat)
this.LoadConfigure(game_combatlevel, cfg.NewGameCombatLevel)
this.LoadConfigure(game_combatmanster, cfg.NewGameCombatManster)
+ this.LoadConfigure(game_combatbox, cfg.NewGameCombatBox)
return
}
@@ -60,3 +62,20 @@ func (this *configureComp) getGameCombatManster(mid int32) (result *cfg.GameComb
}
return
}
+
+//查询管卡表
+func (this *configureComp) getGameCombatbox(id int32) (result *cfg.GameCombatBoxData, err error) {
+ var (
+ v interface{}
+ ok bool
+ )
+ if v, err = this.GetConfigure(game_combatbox); err != nil {
+ this.module.Errorln(err)
+ } else {
+ if result, ok = v.(*cfg.GameCombatBox).GetDataMap()[id]; !ok {
+ err = fmt.Errorf("on found getGameCombatbox:%d", id)
+ this.module.Errorln(err)
+ }
+ }
+ return
+}
diff --git a/sys/configure/structs/Game.CombatBox.go b/sys/configure/structs/Game.CombatBox.go
new file mode 100644
index 000000000..97251bef5
--- /dev/null
+++ b/sys/configure/structs/Game.CombatBox.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameCombatBox struct {
+ _dataMap map[int32]*GameCombatBoxData
+ _dataList []*GameCombatBoxData
+}
+
+func NewGameCombatBox(_buf []map[string]interface{}) (*GameCombatBox, error) {
+ _dataList := make([]*GameCombatBoxData, 0, len(_buf))
+ dataMap := make(map[int32]*GameCombatBoxData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameCombatBoxData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameCombatBox{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameCombatBox) GetDataMap() map[int32]*GameCombatBoxData {
+ return table._dataMap
+}
+
+func (table *GameCombatBox) GetDataList() []*GameCombatBoxData {
+ return table._dataList
+}
+
+func (table *GameCombatBox) Get(key int32) *GameCombatBoxData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.CombatBoxData.go b/sys/configure/structs/Game.CombatBoxData.go
new file mode 100644
index 000000000..fb04d8c9e
--- /dev/null
+++ b/sys/configure/structs/Game.CombatBoxData.go
@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameCombatBoxData struct {
+ Id int32
+ Drop int32
+}
+
+const TypeId_GameCombatBoxData = 2090812805
+
+func (*GameCombatBoxData) GetTypeId() int32 {
+ return 2090812805
+}
+
+func (_v *GameCombatBoxData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["drop"].(float64); !_ok_ { err = errors.New("drop error"); return }; _v.Drop = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameCombatBoxData(_buf map[string]interface{}) (*GameCombatBoxData, error) {
+ v := &GameCombatBoxData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}