上传装备出售调整

This commit is contained in:
liwei1dao 2023-08-17 15:20:00 +08:00
parent c79125e4b9
commit fd4893d99c
28 changed files with 5460 additions and 804 deletions

View File

@ -525,9 +525,9 @@
"id": 118,
"PlayType": 0,
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_03",
"readyScene": "scenesfight_role_interface_06",
"battleScenes": [
"scenesfight_05_01"
"scenesfight_06"
],
"HideAlienSpace": 0,
"ShowBuff": 0,
@ -540,7 +540,7 @@
"disableAiCamera": 0,
"ChoseCamp": [],
"DisableCamp": [],
"DefaultHero": 720015,
"DefaultHero": 0,
"ChoseHero": [],
"DisableHero": [],
"LockSlots": [],
@ -1070,7 +1070,7 @@
"disableAiCamera": 0,
"ChoseCamp": [],
"DisableCamp": [],
"DefaultHero": 720015,
"DefaultHero": 0,
"ChoseHero": [],
"DisableHero": [],
"LockSlots": [],
@ -1207,9 +1207,9 @@
"id": 203,
"PlayType": 0,
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_04",
"readyScene": "scenesfight_role_interface_06",
"battleScenes": [
"scenesfight_08"
"scenesfight_06"
],
"HideAlienSpace": 0,
"ShowBuff": 0,
@ -1283,9 +1283,7 @@
"key": "",
"text": ""
},
"battleEvents": [
113
],
"battleEvents": [],
"ScoreGroupID": 0,
"disableAiCamera": 0,
"ChoseCamp": [],
@ -1314,7 +1312,9 @@
"key": "",
"text": ""
},
"battleEvents": [],
"battleEvents": [
113
],
"ScoreGroupID": 0,
"disableAiCamera": 0,
"ChoseCamp": [],

View File

@ -43,18 +43,6 @@
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
{
"a": "item",
"t": "10000001",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
},
{
@ -110,18 +98,6 @@
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
{
"a": "item",
"t": "10000001",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
},
{
@ -168,18 +144,6 @@
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
{
"a": "item",
"t": "10000021",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
},
{
@ -226,18 +190,6 @@
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
{
"a": "item",
"t": "10000022",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
},
{
@ -284,18 +236,6 @@
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
{
"a": "item",
"t": "10000023",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
},
{
@ -342,18 +282,6 @@
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
{
"a": "item",
"t": "10000024",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
},
{
@ -400,18 +328,6 @@
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
{
"a": "item",
"t": "10000024",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
},
{
@ -440,18 +356,6 @@
],
"consumeA10": [],
"consumeB": [],
"consumeB10": [],
"attgr_display": [
{
"a": "item",
"t": "10000101",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
]
"consumeB10": []
}
]

File diff suppressed because it is too large Load Diff

View File

@ -638,8 +638,8 @@
"key": "",
"text": ""
},
"When": 20,
"FromCheck": "Side=1,HeroID=24004",
"When": 21,
"FromCheck": "",
"TargetCheck": "",
"MainSkillCheck": "",
"AfterSkillCheck": "",
@ -680,9 +680,9 @@
"key": "",
"text": ""
},
"When": 25,
"When": 15,
"FromCheck": "",
"TargetCheck": "",
"TargetCheck": "Side=2,HeroID=13002",
"MainSkillCheck": "",
"AfterSkillCheck": "",
"BuffCheck": "",
@ -690,7 +690,7 @@
"AddCon": [],
"Execution": 2,
"Args": [
"6000050"
"6000060"
]
},
{
@ -701,8 +701,8 @@
"key": "",
"text": ""
},
"When": 20,
"FromCheck": "Side=1,HeroID=24004",
"When": 21,
"FromCheck": "",
"TargetCheck": "",
"MainSkillCheck": "",
"AfterSkillCheck": "",

File diff suppressed because it is too large Load Diff

View File

@ -241,7 +241,7 @@
"id": 167,
"title": {
"key": "itemlink_itemlink_title_15",
"text": "前往维京远征"
"text": "维京远征"
},
"desc": {
"key": "itemlink_itemlink_desc_15",
@ -258,7 +258,7 @@
"id": 10005,
"title": {
"key": "itemlink_itemlink_title_16",
"text": "前往梦境回廊"
"text": "梦境回廊"
},
"desc": {
"key": "itemlink_itemlink_desc_16",
@ -275,7 +275,7 @@
"id": 702,
"title": {
"key": "itemlink_itemlink_title_17",
"text": "前往烹饪"
"text": "烹饪"
},
"desc": {
"key": "itemlink_itemlink_desc_17",
@ -326,7 +326,7 @@
"id": 168,
"title": {
"key": "itemlink_itemlink_title_20",
"text": "前往猎魂副本"
"text": "猎魂副本"
},
"desc": {
"key": "itemlink_itemlink_desc_20",
@ -394,7 +394,7 @@
"id": 10017,
"title": {
"key": "itemlink_itemlink_title_24",
"text": " 前往主线关卡"
"text": " 主线关卡"
},
"desc": {
"key": "itemlink_itemlink_desc_24",
@ -411,7 +411,7 @@
"id": 10018,
"title": {
"key": "itemlink_itemlink_title_25",
"text": "前往维京远征"
"text": "维京远征"
},
"desc": {
"key": "itemlink_itemlink_desc_25",
@ -428,7 +428,7 @@
"id": 10019,
"title": {
"key": "itemlink_itemlink_title_26",
"text": "前往猎魂副本"
"text": "猎魂副本"
},
"desc": {
"key": "itemlink_itemlink_desc_26",
@ -445,7 +445,7 @@
"id": 10036,
"title": {
"key": "itemlink_itemlink_title_27",
"text": "前往圣桃招募"
"text": "圣桃招募"
},
"desc": {
"key": "itemlink_itemlink_desc_27",
@ -462,7 +462,7 @@
"id": 10037,
"title": {
"key": "itemlink_itemlink_title_28",
"text": "前往限定招募"
"text": "限定招募"
},
"desc": {
"key": "itemlink_itemlink_desc_28",
@ -479,7 +479,7 @@
"id": 10038,
"title": {
"key": "itemlink_itemlink_title_29",
"text": "前往阵营招募"
"text": "阵营招募"
},
"desc": {
"key": "itemlink_itemlink_desc_29",
@ -496,7 +496,7 @@
"id": 10039,
"title": {
"key": "itemlink_itemlink_title_30",
"text": "前往许愿招募"
"text": "许愿招募"
},
"desc": {
"key": "itemlink_itemlink_desc_30",

View File

@ -26,7 +26,7 @@
"destroy": 1,
"progress": 0,
"stroyshow": 0,
"frontstoryid": 0,
"frontstoryid": 10240,
"afterstoryid": 0,
"maingroupName": {
"key": "",
@ -7648,9 +7648,7 @@
"id": 1100200,
"chapterid": 11002,
"group_id": 100200,
"previous_group_id": [
100120
],
"previous_group_id": [],
"previoustage": 0,
"Episodetype": 0,
"openlevel": 1,

View File

@ -4446,15 +4446,15 @@
},
{
"id": "51021",
"preson": "51015",
"presonshow": "51015_exhibition",
"presonstory": "51015",
"preson": "51012",
"presonshow": "51012_exhibition",
"presonstory": "51012",
"presondraw": "",
"height": 1,
"weight": 1,
"ico": "tx_js_51011",
"fight": "tx_js_51011",
"img": "sbkp_js_51021",
"ico": "tx_js_51012",
"fight": "tx_js_51012",
"img": "sbkp_js_51012",
"heroimg": "hbkp_js_51021",
"portrait": "portrait_51021",
"bust": "bust_51021",
@ -4481,15 +4481,15 @@
},
{
"id": "51022",
"preson": "51015",
"presonshow": "51015_exhibition",
"presonstory": "51015",
"preson": "51012",
"presonshow": "51012_exhibition",
"presonstory": "51012",
"presondraw": "",
"height": 1,
"weight": 1,
"ico": "tx_js_51011",
"fight": "tx_js_51011",
"img": "sbkp_js_51022",
"ico": "tx_js_51012",
"fight": "tx_js_51012",
"img": "sbkp_js_51012",
"heroimg": "hbkp_js_51022",
"portrait": "portrait_51022",
"bust": "bust_51022",

View File

@ -232710,7 +232710,7 @@
"equip": [],
"newskill": [],
"lv": 4,
"hppro": 0.7,
"hppro": 0.65,
"atkpro": 0.5,
"defpro": 0.1,
"skill1": 1,
@ -232730,7 +232730,7 @@
"equip": [],
"newskill": [],
"lv": 4,
"hppro": 0.7,
"hppro": 0.65,
"atkpro": 0.5,
"defpro": 0.1,
"skill1": 1,
@ -232750,7 +232750,7 @@
"equip": [],
"newskill": [],
"lv": 4,
"hppro": 0.7,
"hppro": 0.65,
"atkpro": 0.5,
"defpro": 0.1,
"skill1": 1,

View File

@ -10,18 +10,6 @@
"key": "",
"text": ""
},
"needshow": [
{
"a": "attr",
"t": "gold",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
],
"rtype": 1,
"rtime": 8,
"rnum": 8,
@ -56,13 +44,6 @@
"key": "",
"text": ""
},
"needshow": [
{
"a": "attr",
"t": "diamond",
"n": 1
}
],
"rtype": 2,
"rtime": 1,
"rnum": -1,
@ -87,18 +68,6 @@
"key": "shop_shop_upper_shop_3",
"text": "玩法商店"
},
"needshow": [
{
"a": "attr",
"t": "friendPoint",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
],
"rtype": 2,
"rtime": 1,
"rnum": -1,
@ -123,18 +92,6 @@
"key": "shop_shop_upper_shop_4",
"text": "玩法商店"
},
"needshow": [
{
"a": "attr",
"t": "arenacoin",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
],
"rtype": 2,
"rtime": 7,
"rnum": -1,
@ -160,18 +117,6 @@
"key": "shop_shop_upper_shop_5",
"text": "玩法商店"
},
"needshow": [
{
"a": "attr",
"t": "guildcoin",
"n": 1
},
{
"a": "attr",
"t": "diamond",
"n": 1
}
],
"rtype": 2,
"rtime": 7,
"rnum": -1,
@ -196,13 +141,6 @@
"key": "shop_shop_upper_shop_6",
"text": "玩法商店"
},
"needshow": [
{
"a": "attr",
"t": "moongold",
"n": 1
}
],
"rtype": 2,
"rtime": 21,
"rnum": -1,

View File

@ -0,0 +1,362 @@
[
{
"id": 100,
"initLv": 1,
"upLv": 0,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 12000
}
]
},
{
"id": 200,
"initLv": 2,
"upLv": 0,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 30000
}
]
},
{
"id": 300,
"initLv": 3,
"upLv": 0,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 60000
}
]
},
{
"id": 400,
"initLv": 4,
"upLv": 0,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 120000
}
]
},
{
"id": 500,
"initLv": 5,
"upLv": 0,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 180000
}
]
},
{
"id": 600,
"initLv": 6,
"upLv": 0,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 300000
}
]
},
{
"id": 101,
"initLv": 1,
"upLv": 1,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 12000
}
]
},
{
"id": 201,
"initLv": 2,
"upLv": 1,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 30000
}
]
},
{
"id": 301,
"initLv": 3,
"upLv": 1,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 60000
}
]
},
{
"id": 401,
"initLv": 4,
"upLv": 1,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 120000
}
]
},
{
"id": 501,
"initLv": 5,
"upLv": 1,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 180000
}
]
},
{
"id": 601,
"initLv": 6,
"upLv": 1,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 300000
}
]
},
{
"id": 102,
"initLv": 1,
"upLv": 2,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 24000
}
]
},
{
"id": 202,
"initLv": 2,
"upLv": 2,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 60000
}
]
},
{
"id": 302,
"initLv": 3,
"upLv": 2,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 120000
}
]
},
{
"id": 402,
"initLv": 4,
"upLv": 2,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 240000
}
]
},
{
"id": 502,
"initLv": 5,
"upLv": 2,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 360000
}
]
},
{
"id": 602,
"initLv": 6,
"upLv": 2,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 600000
}
]
},
{
"id": 103,
"initLv": 1,
"upLv": 3,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 36000
}
]
},
{
"id": 203,
"initLv": 2,
"upLv": 3,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 90000
}
]
},
{
"id": 303,
"initLv": 3,
"upLv": 3,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 180000
}
]
},
{
"id": 403,
"initLv": 4,
"upLv": 3,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 360000
}
]
},
{
"id": 503,
"initLv": 5,
"upLv": 3,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 540000
}
]
},
{
"id": 603,
"initLv": 6,
"upLv": 3,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 900000
}
]
},
{
"id": 104,
"initLv": 1,
"upLv": 4,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 48000
}
]
},
{
"id": 204,
"initLv": 2,
"upLv": 4,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 120000
}
]
},
{
"id": 304,
"initLv": 3,
"upLv": 4,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 240000
}
]
},
{
"id": 404,
"initLv": 4,
"upLv": 4,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 480000
}
]
},
{
"id": 504,
"initLv": 5,
"upLv": 4,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 720000
}
]
},
{
"id": 604,
"initLv": 6,
"upLv": 4,
"suittype": [
{
"a": "attr",
"t": "gold",
"n": 1200000
}
]
}
]

View File

@ -65,7 +65,7 @@
"key": "stonehenge_privilege_Desc_7",
"text": "随机buff三选一事件新增重置功能"
},
"Value1": 0,
"Value1": 1,
"Value2": 0,
"Value3": 0
},

View File

@ -1641,10 +1641,8 @@
"key": "stonehenge_story_StoryDesc_53",
"text": ""
},
"OptionEventIdGroup1": [
"-1"
],
"EndEventId1": 0,
"OptionEventIdGroup1": [],
"EndEventId1": -1,
"OptionDesc1": {
"key": "stonehenge_story_OptionDesc1_53",
"text": ""
@ -1705,10 +1703,8 @@
"key": "stonehenge_story_StoryDesc_55",
"text": ""
},
"OptionEventIdGroup1": [
"-1"
],
"EndEventId1": 0,
"OptionEventIdGroup1": [],
"EndEventId1": -1,
"OptionDesc1": {
"key": "stonehenge_story_OptionDesc1_55",
"text": ""

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},
@ -23,7 +23,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},
@ -37,7 +37,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},
@ -51,7 +51,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},
@ -65,7 +65,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},
@ -79,7 +79,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},
@ -93,7 +93,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},
@ -107,7 +107,7 @@
"playexp": {
"a": "attr",
"t": "exp",
"n": 0
"n": 5
},
"carexe": 500
},

View File

@ -5,7 +5,6 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"math"
)
//参数校验
@ -22,10 +21,11 @@ func (this *apiComp) SellCheck(session comm.IUserSession, req *pb.EquipmentSellR
//出售
func (this *apiComp) Sell(session comm.IUserSession, req *pb.EquipmentSellReq) (errdata *pb.ErrorData) {
var (
err error
equipments []*pb.DB_Equipment
confs []*cfg.GameEquipData
sale [][]*cfg.Gameatn
err error
equipments []*pb.DB_Equipment
confs []*cfg.GameEquipData
confUpsells []*cfg.GameEquipUpsellData
sale [][]*cfg.Gameatn
)
if errdata = this.SellCheck(session, req); errdata != nil {
return
@ -39,6 +39,7 @@ func (this *apiComp) Sell(session comm.IUserSession, req *pb.EquipmentSellReq) (
return
}
confs = make([]*cfg.GameEquipData, len(equipments))
confUpsells = make([]*cfg.GameEquipUpsellData, len(equipments))
sale = make([][]*cfg.Gameatn, len(equipments))
for i, v := range equipments {
if v.HeroId != "" || v.Islock {
@ -67,14 +68,32 @@ func (this *apiComp) Sell(session comm.IUserSession, req *pb.EquipmentSellReq) (
}
return
}
sale[i] = make([]*cfg.Gameatn, len(confs[i].Sale))
for n, s := range confs[i].Sale {
if confUpsells[i], err = this.module.configure.getGameEquipUpsellData(confs[i].InitLv, v.Lv); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
sale[i] = make([]*cfg.Gameatn, 0)
for _, s := range confs[i].Sale {
_s := &cfg.Gameatn{
A: s.A,
T: s.T,
N: s.N + int32(math.Floor(float64(s.N*(v.Lv-1))*float64(confs[i].Salecoef))),
N: s.N,
}
sale[i][n] = _s
sale[i] = append(sale[i], _s)
}
for _, s := range confUpsells[i].Suittype {
_s := &cfg.Gameatn{
A: s.A,
T: s.T,
N: s.N,
}
sale[i] = append(sale[i], _s)
}
}

View File

@ -20,7 +20,7 @@ const (
game_equipattribute = "game_equipattribute.json" //装备技能列表
game_equipenchanting = "game_equipenchanting.json" //装备附魔
game_sellcoefficient = "game_sellcoefficient.json" //装备出售品质系数
game_equipupsell = "game_equipupsell.json" //装备出售强化附加
)
// /背包配置管理组件
@ -43,6 +43,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
this.LoadConfigure(game_equipattribute, cfg.NewGameEquipAttribute)
this.LoadConfigure(game_equipenchanting, cfg.NewGameEquipEnchanting)
this.LoadConfigure(game_sellcoefficient, cfg.NewGameSellCoefficient)
this.LoadConfigure(game_equipupsell, cfg.NewGameEquipUpsell)
configure.RegisterConfigure(game_equip, cfg.NewGameEquip, func() {
this.equiplock.Lock()
if v, err := this.GetConfigure(game_equip); err != nil {
@ -369,3 +370,24 @@ func (this *configureComp) getEquipSuit(sid int32) (result *cfg.GameEquipSuitDat
}
return
}
// 获取装备套装配置
func (this *configureComp) getGameEquipUpsellData(intlv, lv int32) (conf *cfg.GameEquipUpsellData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_equipupsell); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
for _, v := range v.(*cfg.GameEquipUpsell).GetDataList() {
if v.InitLv == intlv && v.UpLv == lv {
conf = v
return
}
}
}
err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_equipupsell, fmt.Sprintf("intlv:%d lv:%d", intlv, lv))
this.module.Errorln(err)
return
}

View File

@ -274,10 +274,11 @@ func (this *Equipment) AddEquipment(session comm.IUserSession, equip *pb.DB_Equi
// /出售装备
func (this *Equipment) SellEquipments(session comm.IUserSession, equs []string) (errdata *pb.ErrorData, atno []*pb.UserAtno) {
var (
err error
equipments []*pb.DB_Equipment
confs []*cfg.GameEquipData
sale [][]*cfg.Gameatn
err error
equipments []*pb.DB_Equipment
confs []*cfg.GameEquipData
confUpsells []*cfg.GameEquipUpsellData
sale [][]*cfg.Gameatn
)
if equipments, err = this.modelEquipment.QueryUserEquipmentsByIds(session.GetUserId(), equs); err != nil {
errdata = &pb.ErrorData{
@ -287,6 +288,7 @@ func (this *Equipment) SellEquipments(session comm.IUserSession, equs []string)
return
}
confs = make([]*cfg.GameEquipData, len(equipments))
confUpsells = make([]*cfg.GameEquipUpsellData, len(equipments))
sale = make([][]*cfg.Gameatn, len(equipments))
for i, v := range equipments {
if v.HeroId != "" || v.Islock {
@ -315,14 +317,30 @@ func (this *Equipment) SellEquipments(session comm.IUserSession, equs []string)
}
return
}
sale[i] = make([]*cfg.Gameatn, len(confs[i].Sale))
for n, s := range confs[i].Sale {
if confUpsells[i], err = this.configure.getGameEquipUpsellData(confs[i].InitLv, v.Lv); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
sale[i] = make([]*cfg.Gameatn, 0)
for _, s := range confs[i].Sale {
_s := &cfg.Gameatn{
A: s.A,
T: s.T,
N: s.N + int32(math.Floor(float64(s.N*(v.Lv-1))*float64(confs[i].Salecoef))),
N: s.N,
}
sale[i][n] = _s
sale[i] = append(sale[i], _s)
}
for _, s := range confUpsells[i].Suittype {
_s := &cfg.Gameatn{
A: s.A,
T: s.T,
N: s.N,
}
sale[i] = append(sale[i], _s)
}
}
@ -342,11 +360,12 @@ func (this *Equipment) SellEquipments(session comm.IUserSession, equs []string)
// 回收装备接口
func (this *Equipment) RecycleEquipments(session comm.IUserSession, equs []string, discount int32) (errdata *pb.ErrorData, atno []*pb.UserAtno) {
var (
err error
equipments []*pb.DB_Equipment
sellconf *cfg.GameSellCoefficientData
confs []*cfg.GameEquipData
sale [][]*cfg.Gameatn
err error
equipments []*pb.DB_Equipment
sellconf *cfg.GameSellCoefficientData
confs []*cfg.GameEquipData
confUpsells []*cfg.GameEquipUpsellData
sale [][]*cfg.Gameatn
)
if equipments, err = this.modelEquipment.QueryUserEquipmentsByIds(session.GetUserId(), equs); err != nil {
errdata = &pb.ErrorData{
@ -356,6 +375,7 @@ func (this *Equipment) RecycleEquipments(session comm.IUserSession, equs []strin
return
}
confs = make([]*cfg.GameEquipData, len(equipments))
confUpsells = make([]*cfg.GameEquipUpsellData, len(equipments))
sale = make([][]*cfg.Gameatn, len(equipments))
for i, v := range equipments {
if v.HeroId != "" || v.Islock {
@ -381,6 +401,14 @@ func (this *Equipment) RecycleEquipments(session comm.IUserSession, equs []strin
}
return
}
if confUpsells[i], err = this.configure.getGameEquipUpsellData(confs[i].InitLv, v.Lv); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if sellconf, err = this.configure.getSellcoefficient(int32(len(v.AdverbEntry) + 1)); err != nil {
this.Errorln(err)
errdata = &pb.ErrorData{
@ -390,14 +418,23 @@ func (this *Equipment) RecycleEquipments(session comm.IUserSession, equs []strin
}
return
}
sale[i] = make([]*cfg.Gameatn, len(confs[i].Sale))
for n, s := range confs[i].SmithySale {
sale[i] = make([]*cfg.Gameatn, 0)
for _, s := range confs[i].SmithySale {
_s := &cfg.Gameatn{
A: s.A,
T: s.T,
N: int32(math.Floor(float64(s.N) * (float64(discount+1000) / float64(1000)) * (float64(sellconf.Coefficient) / float64(1000)))),
}
sale[i][n] = _s
sale[i] = append(sale[i], _s)
}
for _, s := range confUpsells[i].Suittype {
_s := &cfg.Gameatn{
A: s.A,
T: s.T,
N: s.N,
}
sale[i] = append(sale[i], _s)
}
}

View File

@ -31,7 +31,6 @@ type GameDrawPoolData struct {
ConsumeA10 []*Gameatn
ConsumeB []*Gameatn
ConsumeB10 []*Gameatn
AttgrDisplay []*Gameatn
}
const TypeId_GameDrawPoolData = 271747014
@ -126,20 +125,6 @@ func (_v *GameDrawPoolData)Deserialize(_buf map[string]interface{}) (err error)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["attgr_display"].([]interface{}); !_ok_ { err = errors.New("attgr_display error"); return }
_v.AttgrDisplay = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.AttgrDisplay = append(_v.AttgrDisplay, _list_v_)
}
}
return
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameEquipUpsell struct {
_dataMap map[int32]*GameEquipUpsellData
_dataList []*GameEquipUpsellData
}
func NewGameEquipUpsell(_buf []map[string]interface{}) (*GameEquipUpsell, error) {
_dataList := make([]*GameEquipUpsellData, 0, len(_buf))
dataMap := make(map[int32]*GameEquipUpsellData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameEquipUpsellData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameEquipUpsell{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameEquipUpsell) GetDataMap() map[int32]*GameEquipUpsellData {
return table._dataMap
}
func (table *GameEquipUpsell) GetDataList() []*GameEquipUpsellData {
return table._dataList
}
func (table *GameEquipUpsell) Get(key int32) *GameEquipUpsellData {
return table._dataMap[key]
}

View File

@ -0,0 +1,54 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameEquipUpsellData struct {
Id int32
InitLv int32
UpLv int32
Suittype []*Gameatn
}
const TypeId_GameEquipUpsellData = -1286785013
func (*GameEquipUpsellData) GetTypeId() int32 {
return -1286785013
}
func (_v *GameEquipUpsellData)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["initLv"].(float64); !_ok_ { err = errors.New("initLv error"); return }; _v.InitLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["upLv"].(float64); !_ok_ { err = errors.New("upLv error"); return }; _v.UpLv = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["suittype"].([]interface{}); !_ok_ { err = errors.New("suittype error"); return }
_v.Suittype = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Suittype = append(_v.Suittype, _list_v_)
}
}
return
}
func DeserializeGameEquipUpsellData(_buf map[string]interface{}) (*GameEquipUpsellData, error) {
v := &GameEquipUpsellData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameShopBuyequiCos struct {
_dataMap map[int32]*GameShopBuyequiCosData
_dataList []*GameShopBuyequiCosData
}
func NewGameShopBuyequiCos(_buf []map[string]interface{}) (*GameShopBuyequiCos, error) {
_dataList := make([]*GameShopBuyequiCosData, 0, len(_buf))
dataMap := make(map[int32]*GameShopBuyequiCosData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameShopBuyequiCosData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameShopBuyequiCos{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameShopBuyequiCos) GetDataMap() map[int32]*GameShopBuyequiCosData {
return table._dataMap
}
func (table *GameShopBuyequiCos) GetDataList() []*GameShopBuyequiCosData {
return table._dataList
}
func (table *GameShopBuyequiCos) Get(key int32) *GameShopBuyequiCosData {
return table._dataMap[key]
}

View File

@ -0,0 +1,54 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameShopBuyequiCosData struct {
Id int32
InitLv int32
UpLv int32
Suittype []*Gameatn
}
const TypeId_GameShopBuyequiCosData = 1291856701
func (*GameShopBuyequiCosData) GetTypeId() int32 {
return 1291856701
}
func (_v *GameShopBuyequiCosData)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["initLv"].(float64); !_ok_ { err = errors.New("initLv error"); return }; _v.InitLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["upLv"].(float64); !_ok_ { err = errors.New("upLv error"); return }; _v.UpLv = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["suittype"].([]interface{}); !_ok_ { err = errors.New("suittype error"); return }
_v.Suittype = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Suittype = append(_v.Suittype, _list_v_)
}
}
return
}
func DeserializeGameShopBuyequiCosData(_buf map[string]interface{}) (*GameShopBuyequiCosData, error) {
v := &GameShopBuyequiCosData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -0,0 +1,34 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameTopUIConfig struct {
_dataList []*GameTopUIConfigData
}
func NewGameTopUIConfig(_buf []map[string]interface{}) (*GameTopUIConfig, error) {
_dataList := make([]*GameTopUIConfigData, 0, len(_buf))
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameTopUIConfigData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
}
}
return &GameTopUIConfig{_dataList:_dataList}, nil
}
func (table *GameTopUIConfig) GetDataList() []*GameTopUIConfigData {
return table._dataList
}
func (table *GameTopUIConfig) Get(index int) *GameTopUIConfigData {
return table._dataList[index]
}

View File

@ -0,0 +1,52 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameTopUIConfigData struct {
Id string
SubId string
CurrencyField []*Gameatn
}
const TypeId_GameTopUIConfigData = -1462595687
func (*GameTopUIConfigData) GetTypeId() int32 {
return -1462595687
}
func (_v *GameTopUIConfigData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
{ var _ok_ bool; if _v.SubId, _ok_ = _buf["subId"].(string); !_ok_ { err = errors.New("subId error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["currencyField"].([]interface{}); !_ok_ { err = errors.New("currencyField error"); return }
_v.CurrencyField = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.CurrencyField = append(_v.CurrencyField, _list_v_)
}
}
return
}
func DeserializeGameTopUIConfigData(_buf map[string]interface{}) (*GameTopUIConfigData, error) {
v := &GameTopUIConfigData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -32,6 +32,7 @@ type Tables struct {
EquipSCompose *GameEquipSCompose
EquipAttribute *GameEquipAttribute
EquipEnchanting *GameEquipEnchanting
EquipUpsell *GameEquipUpsell
Item *GameItem
ItemLink *GameItemLink
HeroSkillLevel *GameHeroSkillLevel
@ -40,6 +41,7 @@ type Tables struct {
HeroMethodComment *GameHeroMethodComment
Shop *GameShop
Shopitem *GameShopitem
ShopBuyequiCos *GameShopBuyequiCos
ActiveReward *GameActiveReward
Model *GameModel
ChatChannel *GameChatChannel
@ -248,7 +250,7 @@ type Tables struct {
UiGameMiner *GameUiGameMiner
PushGift *GamePushGift
UiGameConsum *GameUiGameConsum
Activityshow *GameActivityshow
TopUIConfig *GameTopUIConfig
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -382,6 +384,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.EquipEnchanting, err = NewGameEquipEnchanting(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_equipupsell") ; err != nil {
return nil, err
}
if tables.EquipUpsell, err = NewGameEquipUpsell(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_item") ; err != nil {
return nil, err
}
@ -430,6 +438,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.Shopitem, err = NewGameShopitem(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_shopbuyequicos") ; err != nil {
return nil, err
}
if tables.ShopBuyequiCos, err = NewGameShopBuyequiCos(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_activereward") ; err != nil {
return nil, err
}
@ -1678,10 +1692,10 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.UiGameConsum, err = NewGameUiGameConsum(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_activityshow") ; err != nil {
if buf, err = loader("game_topuiconfig") ; err != nil {
return nil, err
}
if tables.Activityshow, err = NewGameActivityshow(buf) ; err != nil {
if tables.TopUIConfig, err = NewGameTopUIConfig(buf) ; err != nil {
return nil, err
}
return tables, nil

View File

@ -15,7 +15,6 @@ type GameShopData struct {
Tab int32
Shopname string
UpperShop string
Needshow []*Gameatn
Rtype int32
Rtime int32
Rnum int32
@ -34,20 +33,6 @@ func (_v *GameShopData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tab"].(float64); !_ok_ { err = errors.New("tab error"); return }; _v.Tab = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["shopname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Shopname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Shopname, _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["upper_shop"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.UpperShop error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.UpperShop, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["needshow"].([]interface{}); !_ok_ { err = errors.New("needshow error"); return }
_v.Needshow = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Needshow = append(_v.Needshow, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rtype"].(float64); !_ok_ { err = errors.New("rtype error"); return }; _v.Rtype = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rtime"].(float64); !_ok_ { err = errors.New("rtime error"); return }; _v.Rtime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rnum"].(float64); !_ok_ { err = errors.New("rnum error"); return }; _v.Rnum = int32(_tempNum_) }

View File

@ -90,7 +90,7 @@ func TestDeletex(t *testing.T) {
}
func TestDiffDays(t *testing.T) {
// fmt.Println(utils.DiffDays(1614527999, 1614614400))
fmt.Println(utils.DiffDays(1614527999, 1614614400))
}
func BenchmarkRandNumbers(b *testing.B) {