年兽排行榜奖励走后台+帐变记录

This commit is contained in:
by 2025-01-06 11:59:12 +08:00
parent e582568f6b
commit de391699b8
10 changed files with 952 additions and 1989 deletions

View File

@ -331,8 +331,15 @@ const (
GainWayItem_PigBankTakeCoin = 120 // 购买金币存钱罐奖励道具
GainWayItem_PigBankTakeDiamond = 121 // 购买钻石存钱罐奖励道具
GainWayNianCost = 122 //年兽活动消耗
GainWayNianGain = 123 //年兽活动获得
GainWayNianGain_Attack_LittleGuarantee = 123 //年兽活动小爆竹攻击年兽获得保底奖励
GainWayRedPacket = 124 // 红包奖励
GainWayNianGain_Sign = 125 //年兽活动签到获得
GainWayNianGain_Change = 126 //年兽活动兑换获得
GainWayNianGain_BossDie = 127 //年兽活动Boss死亡获得
GainWayNianGain_BossDieOther = 128 //年兽活动Boss死亡额外获得
GainWayNianGain_Attack_BigOther = 129 //年兽活动大爆竹攻击年兽获得额外奖励
GainWayNianGain_Attack_BigGuarantee = 130 //年兽活动大爆竹攻击年兽获得保底奖励
GainWayNianGain_Attack_Coin = 131 //攻击年兽获得金币奖励
)
// 后台选择 金币变化类型 的充值 类型id号起始

View File

@ -1,84 +0,0 @@
"¡<>"¢<>d"¹ê
"¡<>"¢<>d"¸ê
"¡<>"¢<>d"¸ê
"¡<>"¢<>d
"¡<>"¢<>c
"¢<>b"¡<>
"¡<>"¢<>a
"¡<>"¢<>`
  "¡<>"¢<>_


"¡<>"¢<>^
  "¡<>"¢<>]
  "¡<>"¢<>\
  "¡<>"¢<>[
"¡<>"¢<>Z
"¢<>Y"¡<>
"¡<>"¢<>X
"¡<>"¢<>W
"¡<>"¢<>V
"¢<>U"¡<>
"¡<>"¢<>T
"¡<>"¢<>S
"¢<>R"¡<>
"¡<>"¢<>Q
"¡<>"¢<>P
"¡<>"¢<>O
"¡<>"¢<>N
"¡<>"¢<>M
"¡<>"¢<>L
"¡<>"¢<>K
"¡<>"¢<>J
"¡<>"¢<>I
  "¡<>"¢<>H
!!"¡<>"¢<>G
"""¢<>F"¡<>
##"¡<>"¢<>E
$$"¡<>"¢<>D
%%"¢<>C"¡<>
&&"¡<>"¢<>B
''"¡<>"¢<>A
(("¡<>"¢<>@
)"¢<>d"¹ê"¡<>
*"¡<>"¢<>d"¸ê
+"¢<>d"¸ê"¡<>
,"¡<>"¢<>d
-"¡<>"¢<>c
."¡<>"¢<>b
/"¡<>"¢<>a
0"¢<>`"¡<>
1 "¡<>"¢<>_
2
"¡<>"¢<>^
3 "¡<>"¢<>]
4 "¡<>"¢<>\
5 "¡<>"¢<>[
6"¡<>"¢<>Z
7"¡<>"¢<>Y
8"¡<>"¢<>X
9"¡<>"¢<>W
:"¡<>"¢<>V
;"¡<>"¢<>U
<"¡<>"¢<>T
="¢<>S"¡<>
>"¡<>"¢<>R
?"¡<>"¢<>Q
@"¡<>"¢<>P
A"¡<>"¢<>O
B"¡<>"¢<>N
C"¢<>M"¡<>
D"¡<>"¢<>L
E"¡<>"¢<>K
F"¡<>"¢<>J
G"¡<>"¢<>I
H "¡<>"¢<>H
I!"¡<>"¢<>G
J""¡<>"¢<>F
K#"¡<>"¢<>E
L$"¡<>"¢<>D
M%"¡<>"¢<>C
N&"¡<>"¢<>B
O'"¢<>A"¡<>
P("¡<>"¢<>@

View File

@ -1,730 +0,0 @@
{
"Arr": [
{
"Id": 1,
"RankType": 1,
"RankLevelId": 1,
"AwardMap": {
"100001": 30,
"100002": 100,
"30009": 2
}
},
{
"Id": 2,
"RankType": 1,
"RankLevelId": 2,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 2
}
},
{
"Id": 3,
"RankType": 1,
"RankLevelId": 3,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 1
}
},
{
"Id": 4,
"RankType": 1,
"RankLevelId": 4,
"AwardMap": {
"100001": 30,
"100002": 100
}
},
{
"Id": 5,
"RankType": 1,
"RankLevelId": 5,
"AwardMap": {
"100001": 30,
"100002": 99
}
},
{
"Id": 6,
"RankType": 1,
"RankLevelId": 6,
"AwardMap": {
"100001": 30,
"100002": 98
}
},
{
"Id": 7,
"RankType": 1,
"RankLevelId": 7,
"AwardMap": {
"100001": 30,
"100002": 97
}
},
{
"Id": 8,
"RankType": 1,
"RankLevelId": 8,
"AwardMap": {
"100001": 30,
"100002": 96
}
},
{
"Id": 9,
"RankType": 1,
"RankLevelId": 9,
"AwardMap": {
"100001": 30,
"100002": 95
}
},
{
"Id": 10,
"RankType": 1,
"RankLevelId": 10,
"AwardMap": {
"100001": 30,
"100002": 94
}
},
{
"Id": 11,
"RankType": 1,
"RankLevelId": 11,
"AwardMap": {
"100001": 30,
"100002": 93
}
},
{
"Id": 12,
"RankType": 1,
"RankLevelId": 12,
"AwardMap": {
"100001": 30,
"100002": 92
}
},
{
"Id": 13,
"RankType": 1,
"RankLevelId": 13,
"AwardMap": {
"100001": 30,
"100002": 91
}
},
{
"Id": 14,
"RankType": 1,
"RankLevelId": 14,
"AwardMap": {
"100001": 30,
"100002": 90
}
},
{
"Id": 15,
"RankType": 1,
"RankLevelId": 15,
"AwardMap": {
"100001": 30,
"100002": 89
}
},
{
"Id": 16,
"RankType": 1,
"RankLevelId": 16,
"AwardMap": {
"100001": 30,
"100002": 88
}
},
{
"Id": 17,
"RankType": 1,
"RankLevelId": 17,
"AwardMap": {
"100001": 30,
"100002": 87
}
},
{
"Id": 18,
"RankType": 1,
"RankLevelId": 18,
"AwardMap": {
"100001": 30,
"100002": 86
}
},
{
"Id": 19,
"RankType": 1,
"RankLevelId": 19,
"AwardMap": {
"100001": 30,
"100002": 85
}
},
{
"Id": 20,
"RankType": 1,
"RankLevelId": 20,
"AwardMap": {
"100001": 30,
"100002": 84
}
},
{
"Id": 21,
"RankType": 1,
"RankLevelId": 21,
"AwardMap": {
"100001": 30,
"100002": 83
}
},
{
"Id": 22,
"RankType": 1,
"RankLevelId": 22,
"AwardMap": {
"100001": 30,
"100002": 82
}
},
{
"Id": 23,
"RankType": 1,
"RankLevelId": 23,
"AwardMap": {
"100001": 30,
"100002": 81
}
},
{
"Id": 24,
"RankType": 1,
"RankLevelId": 24,
"AwardMap": {
"100001": 30,
"100002": 80
}
},
{
"Id": 25,
"RankType": 1,
"RankLevelId": 25,
"AwardMap": {
"100001": 30,
"100002": 79
}
},
{
"Id": 26,
"RankType": 1,
"RankLevelId": 26,
"AwardMap": {
"100001": 30,
"100002": 78
}
},
{
"Id": 27,
"RankType": 1,
"RankLevelId": 27,
"AwardMap": {
"100001": 30,
"100002": 77
}
},
{
"Id": 28,
"RankType": 1,
"RankLevelId": 28,
"AwardMap": {
"100001": 30,
"100002": 76
}
},
{
"Id": 29,
"RankType": 1,
"RankLevelId": 29,
"AwardMap": {
"100001": 30,
"100002": 75
}
},
{
"Id": 30,
"RankType": 1,
"RankLevelId": 30,
"AwardMap": {
"100001": 30,
"100002": 74
}
},
{
"Id": 31,
"RankType": 1,
"RankLevelId": 31,
"AwardMap": {
"100001": 30,
"100002": 73
}
},
{
"Id": 32,
"RankType": 1,
"RankLevelId": 32,
"AwardMap": {
"100001": 30,
"100002": 72
}
},
{
"Id": 33,
"RankType": 1,
"RankLevelId": 33,
"AwardMap": {
"100001": 30,
"100002": 71
}
},
{
"Id": 34,
"RankType": 1,
"RankLevelId": 34,
"AwardMap": {
"100001": 30,
"100002": 70
}
},
{
"Id": 35,
"RankType": 1,
"RankLevelId": 35,
"AwardMap": {
"100001": 30,
"100002": 69
}
},
{
"Id": 36,
"RankType": 1,
"RankLevelId": 36,
"AwardMap": {
"100001": 30,
"100002": 68
}
},
{
"Id": 37,
"RankType": 1,
"RankLevelId": 37,
"AwardMap": {
"100001": 30,
"100002": 67
}
},
{
"Id": 38,
"RankType": 1,
"RankLevelId": 38,
"AwardMap": {
"100001": 30,
"100002": 66
}
},
{
"Id": 39,
"RankType": 1,
"RankLevelId": 39,
"AwardMap": {
"100001": 30,
"100002": 65
}
},
{
"Id": 40,
"RankType": 1,
"RankLevelId": 40,
"AwardMap": {
"100001": 30,
"100002": 64
}
},
{
"Id": 41,
"RankType": 2,
"RankLevelId": 1,
"AwardMap": {
"100001": 30,
"100002": 100,
"30009": 2
}
},
{
"Id": 42,
"RankType": 2,
"RankLevelId": 2,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 2
}
},
{
"Id": 43,
"RankType": 2,
"RankLevelId": 3,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 1
}
},
{
"Id": 44,
"RankType": 2,
"RankLevelId": 4,
"AwardMap": {
"100001": 30,
"100002": 100
}
},
{
"Id": 45,
"RankType": 2,
"RankLevelId": 5,
"AwardMap": {
"100001": 30,
"100002": 99
}
},
{
"Id": 46,
"RankType": 2,
"RankLevelId": 6,
"AwardMap": {
"100001": 30,
"100002": 98
}
},
{
"Id": 47,
"RankType": 2,
"RankLevelId": 7,
"AwardMap": {
"100001": 30,
"100002": 97
}
},
{
"Id": 48,
"RankType": 2,
"RankLevelId": 8,
"AwardMap": {
"100001": 30,
"100002": 96
}
},
{
"Id": 49,
"RankType": 2,
"RankLevelId": 9,
"AwardMap": {
"100001": 30,
"100002": 95
}
},
{
"Id": 50,
"RankType": 2,
"RankLevelId": 10,
"AwardMap": {
"100001": 30,
"100002": 94
}
},
{
"Id": 51,
"RankType": 2,
"RankLevelId": 11,
"AwardMap": {
"100001": 30,
"100002": 93
}
},
{
"Id": 52,
"RankType": 2,
"RankLevelId": 12,
"AwardMap": {
"100001": 30,
"100002": 92
}
},
{
"Id": 53,
"RankType": 2,
"RankLevelId": 13,
"AwardMap": {
"100001": 30,
"100002": 91
}
},
{
"Id": 54,
"RankType": 2,
"RankLevelId": 14,
"AwardMap": {
"100001": 30,
"100002": 90
}
},
{
"Id": 55,
"RankType": 2,
"RankLevelId": 15,
"AwardMap": {
"100001": 30,
"100002": 89
}
},
{
"Id": 56,
"RankType": 2,
"RankLevelId": 16,
"AwardMap": {
"100001": 30,
"100002": 88
}
},
{
"Id": 57,
"RankType": 2,
"RankLevelId": 17,
"AwardMap": {
"100001": 30,
"100002": 87
}
},
{
"Id": 58,
"RankType": 2,
"RankLevelId": 18,
"AwardMap": {
"100001": 30,
"100002": 86
}
},
{
"Id": 59,
"RankType": 2,
"RankLevelId": 19,
"AwardMap": {
"100001": 30,
"100002": 85
}
},
{
"Id": 60,
"RankType": 2,
"RankLevelId": 20,
"AwardMap": {
"100001": 30,
"100002": 84
}
},
{
"Id": 61,
"RankType": 2,
"RankLevelId": 21,
"AwardMap": {
"100001": 30,
"100002": 83
}
},
{
"Id": 62,
"RankType": 2,
"RankLevelId": 22,
"AwardMap": {
"100001": 30,
"100002": 82
}
},
{
"Id": 63,
"RankType": 2,
"RankLevelId": 23,
"AwardMap": {
"100001": 30,
"100002": 81
}
},
{
"Id": 64,
"RankType": 2,
"RankLevelId": 24,
"AwardMap": {
"100001": 30,
"100002": 80
}
},
{
"Id": 65,
"RankType": 2,
"RankLevelId": 25,
"AwardMap": {
"100001": 30,
"100002": 79
}
},
{
"Id": 66,
"RankType": 2,
"RankLevelId": 26,
"AwardMap": {
"100001": 30,
"100002": 78
}
},
{
"Id": 67,
"RankType": 2,
"RankLevelId": 27,
"AwardMap": {
"100001": 30,
"100002": 77
}
},
{
"Id": 68,
"RankType": 2,
"RankLevelId": 28,
"AwardMap": {
"100001": 30,
"100002": 76
}
},
{
"Id": 69,
"RankType": 2,
"RankLevelId": 29,
"AwardMap": {
"100001": 30,
"100002": 75
}
},
{
"Id": 70,
"RankType": 2,
"RankLevelId": 30,
"AwardMap": {
"100001": 30,
"100002": 74
}
},
{
"Id": 71,
"RankType": 2,
"RankLevelId": 31,
"AwardMap": {
"100001": 30,
"100002": 73
}
},
{
"Id": 72,
"RankType": 2,
"RankLevelId": 32,
"AwardMap": {
"100001": 30,
"100002": 72
}
},
{
"Id": 73,
"RankType": 2,
"RankLevelId": 33,
"AwardMap": {
"100001": 30,
"100002": 71
}
},
{
"Id": 74,
"RankType": 2,
"RankLevelId": 34,
"AwardMap": {
"100001": 30,
"100002": 70
}
},
{
"Id": 75,
"RankType": 2,
"RankLevelId": 35,
"AwardMap": {
"100001": 30,
"100002": 69
}
},
{
"Id": 76,
"RankType": 2,
"RankLevelId": 36,
"AwardMap": {
"100001": 30,
"100002": 68
}
},
{
"Id": 77,
"RankType": 2,
"RankLevelId": 37,
"AwardMap": {
"100001": 30,
"100002": 67
}
},
{
"Id": 78,
"RankType": 2,
"RankLevelId": 38,
"AwardMap": {
"100001": 30,
"100002": 66
}
},
{
"Id": 79,
"RankType": 2,
"RankLevelId": 39,
"AwardMap": {
"100001": 30,
"100002": 65
}
},
{
"Id": 80,
"RankType": 2,
"RankLevelId": 40,
"AwardMap": {
"100001": 30,
"100002": 64
}
}
]
}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1279,22 +1279,6 @@ message DB_NewYearActivityArray {
repeated DB_NewYearActivity Arr = 1;
}
message DB_NewYearRankReward {
int32 Id = 1;
int32 RankType = 2;
int32 RankLevelId = 3;
map<int64, int64> AwardMap = 4;
}
message DB_NewYearRankRewardArray {
repeated DB_NewYearRankReward Arr = 1;
}
message DB_PassShow {
int32 Id = 1;

View File

@ -1,77 +0,0 @@
// Code generated by xlsx2proto.
// DO NOT EDIT!
package srvdata
import (
"google.golang.org/protobuf/proto"
"mongo.games.com/game/protocol/server"
)
var PBDB_NewYearRankRewardMgr = &DB_NewYearRankRewardMgr{
Datas: &server.DB_NewYearRankRewardArray{},
pool: make(map[int32]*server.DB_NewYearRankReward),
}
type DB_NewYearRankRewardMgr struct {
Datas *server.DB_NewYearRankRewardArray
pool map[int32]*server.DB_NewYearRankReward
}
func (this *DB_NewYearRankRewardMgr) unmarshal(data []byte) error {
err := proto.Unmarshal(data, this.Datas)
if err == nil {
this.arrangeData()
}
return err
}
func (this *DB_NewYearRankRewardMgr) reunmarshal(data []byte) error {
newDatas := &server.DB_NewYearRankRewardArray{}
err := proto.Unmarshal(data, newDatas)
if err == nil {
for _, item := range newDatas.Arr {
existItem := this.GetData(item.GetId())
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
}
}
return err
}
func (this *DB_NewYearRankRewardMgr) arrangeData() {
if this.Datas == nil {
return
}
dataArr := this.Datas.GetArr()
if dataArr == nil {
return
}
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
func (this *DB_NewYearRankRewardMgr) GetData(id int32) *server.DB_NewYearRankReward {
if data, ok := this.pool[id]; ok {
return data
}
return nil
}
func init() {
DataMgr.register("DB_NewYearRankReward.dat", &ProtobufDataLoader{dh: PBDB_NewYearRankRewardMgr})
}

View File

@ -207,15 +207,15 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
} else {
return nil
}
var items []*model.Item
items = append(items, &model.Item{
var costItems []*model.Item
costItems = append(costItems, &model.Item{
ItemId: int32(itemId),
ItemNum: int64(-itemNum),
})
_, _, result := BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: items,
Change: costItems,
GainWay: common.GainWayNianCost,
Operator: "system",
Remark: "年兽活动消耗",
@ -223,7 +223,6 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
if !result {
return nil
}
items = []*model.Item{}
//本次攻击总血量
AttackHp := int64(0)
LuckyRankNeed := int64(0)
@ -309,6 +308,7 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
if typeId == 3 {
p.WelfData.NianData.BigHurt += 1
//判断是否掉落保底奖励
var guaranteeItems []*model.Item
if p.WelfData.NianData.BigHurt%int32(floorCount) == 0 {
floorReward := &activity.RankAwardData{}
for _, value := range sData {
@ -316,7 +316,7 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
strSlice := strings.Split(value.PropValue, ",")
FloorItemId, _ := strconv.Atoi(strSlice[0])
FloorItemNum, _ := strconv.Atoi(strSlice[1])
items = append(items, &model.Item{
guaranteeItems = append(guaranteeItems, &model.Item{
ItemId: int32(FloorItemId),
ItemNum: int64(FloorItemNum),
})
@ -327,6 +327,14 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
}
}
}
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: guaranteeItems,
GainWay: common.GainWayNianGain_Attack_BigGuarantee,
Operator: "system",
Remark: "年兽活动-大爆竹保底奖励",
})
//额外掉落
extraItemId := 0
extraItemNum := 0
@ -354,10 +362,19 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
}
//随机个数
extraItemNum = rand.Intn(intSlice1[1]-intSlice1[0]+1) + intSlice1[0]
items = append(items, &model.Item{
var extraItems []*model.Item
extraItems = append(extraItems, &model.Item{
ItemId: int32(extraItemId),
ItemNum: int64(extraItemNum),
})
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: extraItems,
GainWay: common.GainWayNianGain_Attack_BigOther,
Operator: "system",
Remark: "年兽活动-打爆竹额外活动奖励",
})
extraDrop := &activity.RankAwardData{}
extraDrop.ItemId = int32(extraItemId)
extraDrop.ItemNum = int64(extraItemNum)
@ -365,6 +382,7 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
} else {
p.WelfData.NianData.LittleHurt += 1
//判断是否掉落保底奖励
var guaranteeItems []*model.Item
if p.WelfData.NianData.LittleHurt%int32(floorCount) == 0 {
floorReward := &activity.RankAwardData{}
for _, value := range sData {
@ -372,7 +390,7 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
strSlice := strings.Split(value.PropValue, ",")
FloorItemId, _ := strconv.Atoi(strSlice[0])
FloorItemNum, _ := strconv.Atoi(strSlice[1])
items = append(items, &model.Item{
guaranteeItems = append(guaranteeItems, &model.Item{
ItemId: int32(FloorItemId),
ItemNum: int64(FloorItemNum),
})
@ -383,6 +401,14 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
}
}
}
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: guaranteeItems,
GainWay: common.GainWayNianGain_Attack_LittleGuarantee,
Operator: "system",
Remark: "年兽活动-打爆竹额外活动奖励",
})
}
}
p.WelfData.NianData.BossHp -= AttackHp
@ -395,32 +421,27 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
p.WelfData.NianData.BossHp = BossMaxHp
p.WelfData.NianData.BossDieCount += 1
//获取死亡奖励
for _, value := range sData {
if value.Id == 6 {
str := value.PropValue
strSlice := strings.Split(str, ";")
for _, s := range strSlice {
strSlice1 := strings.Split(s, ",")
bossDieItemId, err := strconv.Atoi(strSlice1[0])
if err != nil {
return nil
}
bossDieItemNum, err := strconv.ParseInt(strSlice1[1], 10, 64)
if err != nil {
return nil
}
var bossDieItems []*model.Item
for _, value := range pool.List[0].BossDieReward {
bossDieItemId := value.ItemId
bossDieItemNum := value.ItemNum
bossDieAward = append(bossDieAward, &model.Item{
ItemId: int32(bossDieItemId),
ItemId: bossDieItemId,
ItemNum: bossDieItemNum,
})
items = append(items, &model.Item{
ItemId: int32(bossDieItemId),
bossDieItems = append(bossDieItems, &model.Item{
ItemId: bossDieItemId,
ItemNum: bossDieItemNum,
})
}
break
}
}
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: bossDieItems,
GainWay: common.GainWayNianGain_BossDie,
Operator: "system",
Remark: "年兽活动-Boss死亡获得",
})
//年兽死亡额外掉落
BigHurtCount := 0
for _, value := range sData {
@ -432,21 +453,21 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
logger.Logger.Trace("年兽死亡额外掉落 当前已使用BigHurt ", p.WelfData.NianData.BigHurt, "BigHurtCount = ", BigHurtCount)
if p.WelfData.NianData.BigHurt >= int32(BigHurtCount) {
//后台配置额外掉落
var bossDieOther []*model.Item
for _, info := range pool.List[0].BossDieOtherReward {
//value.BossDieOtherReward
if p.WelfData.NianData.OtherAwardNum[info.Id] >= info.DropUp {
logger.Logger.Trace("BOSS死亡 额外掉落达到上限 id = ", info.Id, "数量:", p.WelfData.NianData.OtherAwardNum[info.Id])
continue
}
//随机
if rand.Intn(100) < int(info.DropRate) {
if rand.Intn(100)+1 <= int(info.DropRate) {
otherItemId := info.ItemId
otherItemNum := info.ItemNum
if int32(otherItemNum)+p.WelfData.NianData.OtherAwardNum[info.Id] > info.DropUp {
otherItemNum = int64(info.DropUp - p.WelfData.NianData.OtherAwardNum[info.Id])
}
p.WelfData.NianData.OtherAwardNum[info.Id] += int32(otherItemNum)
items = append(items, &model.Item{
bossDieOther = append(bossDieOther, &model.Item{
ItemId: otherItemId,
ItemNum: otherItemNum,
})
@ -454,21 +475,30 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
ItemId: otherItemId,
ItemNum: otherItemNum,
})
}
}
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: bossDieOther,
GainWay: common.GainWayNianGain_BossDieOther,
Operator: "system",
Remark: "年兽活动-攻击年兽额外获得",
})
}
TaskSubjectSingleton.Touch(common.TaskTypeNianBossKill, &TaskData{SnId: p.SnId, Num: 1}) // BOSS死亡
}
items = append(items, &model.Item{
coinItems := []*model.Item{}
coinItems = append(coinItems, &model.Item{
ItemId: common.ItemIDCoin,
ItemNum: AttackHp,
})
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: items,
GainWay: common.GainWayNianGain,
Change: coinItems,
GainWay: common.GainWayNianGain_Attack_Coin,
Operator: "system",
Remark: "年兽活动-攻击年兽获得",
})
@ -522,7 +552,6 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if _, ok := data.(*activity.CSNianBuff); ok {
p := PlayerMgrSington.GetOnlinePlayer(sid)
//yearActivity := &server.DB_NewYearActivity{}
logger.Logger.Trace("客户端请求请求领取BUFF snid = ", p.SnId)
if p == nil {
return nil
@ -563,6 +592,8 @@ func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) er
BuffCount: p.WelfData.NianData.BuffCount,
}
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianBuff), pack)
//统计领取BUff
//mq.Write()
} else {
logger.Logger.Trace("CSNianSignAward 活动时间未到!")
pack := &activity.SCNianBuff{
@ -614,7 +645,6 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6
}
p.WelfData.NianData.SignAwardTime = time.Now().Unix()
//奖励
pack.SignAwardTime = p.WelfData.NianData.SignAwardTime
var items []*model.Item
for _, info := range pool.List[0].SignReward {
@ -632,7 +662,7 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6
Platform: p.Platform,
SnId: p.SnId,
Change: items,
GainWay: common.GainWayNianGain,
GainWay: common.GainWayNianGain_Sign,
Operator: "system",
Remark: "年兽活动-领取签到奖励获得",
})
@ -707,7 +737,7 @@ func CSNianChange(s *netlib.Session, packetid int, data interface{}, sid int64)
Platform: p.Platform,
SnId: p.SnId,
Change: items,
GainWay: common.GainWayNianGain,
GainWay: common.GainWayNianGain_Change,
Operator: "system",
Remark: "年兽活动-兑换",
})

Binary file not shown.