vip特权1数据结构调整

This commit is contained in:
sk 2024-08-08 18:25:18 +08:00
parent 1c61b86681
commit c8ba3b74ee
1 changed files with 43 additions and 17 deletions

View File

@ -3771,15 +3771,20 @@ func (this *Player) SCVIPInfo() {
ShopId7: cfg.ShopId7,
MatchFreeTimes: cfg.MatchFreeTimes + this.GetSkillAdd(common.SkillIdVipTimes),
}
money := cfg.Privilege1[0]
// 皮肤技能加成
add := this.GetSkillAdd(common.SkillIdVipGift)
if add > 0 {
money += int32((float64(money) * float64(add)) / 100.00)
}
data.Privilege1 = make([]int32, len(cfg.Privilege1))
copy(data.Privilege1, cfg.Privilege1)
data.Privilege1[0] = money
for i := 0; i < len(cfg.Privilege1); {
if cfg.Privilege1[i] == common.ItemIDCoin && i+1 < len(cfg.Privilege1) {
money := cfg.Privilege1[i+1]
// 皮肤技能加成
add := this.GetSkillAdd(common.SkillIdVipGift)
if add > 0 {
money += int32((float64(money) * float64(add)) / 100.00)
}
cfg.Privilege1[i+1] = money
}
i += 2
}
for itemId, itemNum := range cfg.Award {
data.Item = append(data.Item, &playerproto.ItemInfo{
ItemId: int32(itemId),
@ -3848,17 +3853,38 @@ func (this *Player) VIPDraw(id int32) {
if data.VipId == this.VIP {
pack.OpRetCode = playerproto.OpResultCode_OPRC_Sucess
this.WelfData.VIPBag[this.VIP][0] = 1
//金币数量
money := data.Privilege1[0]
// 皮肤技能加成
add := this.GetSkillAdd(common.SkillIdVipGift)
if add > 0 {
money += int32((float64(money) * float64(add)) / 100.00)
var money, addVipExp int64
for i := 0; i < len(data.Privilege1); {
if i+1 < len(data.Privilege1) {
switch data.Privilege1[i] {
case common.ItemIDCoin:
money = int64(data.Privilege1[i+1])
// 皮肤技能加成
add := this.GetSkillAdd(common.SkillIdVipGift)
if add > 0 {
money += int64((float64(money) * float64(add)) / 100.00)
}
this.AddCoin(money, 0, common.GainWay_VIPGift, "sys", "VIP每日礼包")
case common.ItemIDVipExp:
addVipExp = int64(float64(data.Privilege1[i+1]) / vips.MoneyRatio)
this.AddMoneyPayTotal(addVipExp)
default:
BagMgrSingleton.AddItemsV2(&ItemParam{
P: this,
Change: []*Item{
{
ItemId: data.Privilege1[i],
ItemNum: int64(data.Privilege1[i+1]),
},
},
GainWay: common.GainWay_VIPGift,
Operator: "system",
Remark: "VIP每日礼包",
})
}
}
i += 2
}
//vip经验
addVipExp := int64(float64(data.Privilege1[1]) / vips.MoneyRatio)
this.AddCoin(int64(money), 0, common.GainWay_VIPGift, "sys", "VIP每日礼包")
this.AddMoneyPayTotal(addVipExp)
pack.Vip = this.VIP
logger.Logger.Tracef("玩家领取VIP每日礼包成功snid = %v,Vip = %v,金币数量 = %vaddVipEx = %v", this.SnId, this.VIP, money, addVipExp)
//VIP礼包统计数据