Browse Source

无尽模式bug修复

lt 10 months ago
parent
commit
e6f9cee912

+ 2 - 2
RO_Server_Trunk-branch_0.1.39/roserver/game/model/game_model.go

@@ -39,7 +39,7 @@ func (this *GameUpdate) Init() {
 	ActivitiesMag = newActivitiesMag()
 	RuneShopMag = NewRuneShopExploreManager()
 	CrossMag = newCrossMag()
-	//TowerMag = newTowerMag()
+	TowerMag = newTowerMag()
 
 	updateList = append(updateList,
 		RoleMag,
@@ -48,7 +48,7 @@ func (this *GameUpdate) Init() {
 		ActivitiesMag,
 		RuneShopMag,
 		CrossMag,
-		//		TowerMag,
+		TowerMag,
 	)
 }
 

+ 1 - 1
RO_Server_Trunk-branch_0.1.39/roserver/game/model/role.go

@@ -192,7 +192,7 @@ type RoleLogicOuter interface {
 	ClimbingTowerEnd(towerLevel, loadingTime int32, recordTimeStamp uint64)
 	GetFriendBriefFromDB(final bool, begin int32, end int32, briefs []*serverproto.CommonPlayerBriefInfo)
 	ClimbingTowerWjBegin(towerLevel int32)
-	ClimbingTowerWjBuff(buff1, buff2, bufff3 int32)
+	ClimbingTowerWjBuff(buff1, buff2, buff3 int32)
 	ClimbingTowerWjEnd(towerLevel, loadingTime int32, recordTimeStamp uint64)
 
 	//冲榜相关

+ 31 - 20
RO_Server_Trunk-branch_0.1.39/roserver/game/model/role_tower.go

@@ -72,8 +72,16 @@ func (this *RoleTower) Load(msg interface{}) bool {
 		if proRole.RoleTower.NowTowerLevel >= 1 {
 			this.nowTowerLevel = proRole.RoleTower.NowTowerLevel
 			this.nowTowerPassTime = proRole.RoleTower.NowTowerTime
+			//无尽模式数据
 			this.nowTowerWjLevel = proRole.RoleTower.NowTowerWjLevel
 			this.nowTowerWjPassTime = proRole.RoleTower.NowTowerWjTime
+			this.boss = proRole.RoleTower.Boss
+			this.rewardLevel = proRole.RoleTower.RewardLevel
+			this.buff1 = proRole.RoleTower.Buff1
+			this.buff2 = proRole.RoleTower.Buff2
+			this.buff3 = proRole.RoleTower.Buff3
+			this.duration = proRole.RoleTower.Duration
+			this.refreshTowerWj = proRole.RoleTower.RefreshTowerWj
 
 			if proRole.RoleTower.RushTower == nil {
 				proRole.RoleTower.RushTower = &serverproto.RushTower{}
@@ -117,7 +125,7 @@ func (this *RoleTower) TowerBossRandom() {
 		this.boss = append(this.boss, k)
 		count++
 	}
-	util.InfoF("tower random tower boss: %v", this.boss)
+	util.InfoF("uuid:%v tower random tower boss: %v", this.role.GetUUid(), this.boss)
 }
 
 func (this *RoleTower) OnlineProcess() {
@@ -184,6 +192,7 @@ func (this *RoleTower) CopyData(data *serverproto.RoleTower) {
 	data.Buff2 = this.buff2
 	data.Buff3 = this.buff3
 	data.Buff1 = this.buff1
+	data.Duration = this.duration
 	data.RewardLevel = this.rewardLevel
 	data.TowerLevelDayRewardTime = this.towerLevelDayRewardTime
 }
@@ -267,7 +276,7 @@ func (this *RoleTower) OnTowerWjFightBegin(towerLevel int32) serverproto.ErrorCo
 	if this.IsTowerUnlock() == false {
 		return serverproto.ErrorCode_ERROR_CLIMBING_TOWER_IS_LOCKED
 	}
-	if towerLevel != this.nowTowerWjLevel+1 {
+	if towerLevel != this.nowTowerWjLevel {
 		util.DebugF("[RoleTower] OnTowerFightBegin....tower level error [%v]: %v - %v", this.role.GetUUid(), towerLevel, this.nowTowerLevel)
 		return serverproto.ErrorCode_ERROR_CLIMBING_TOWER_NOT_CUR_TOWER
 	}
@@ -295,6 +304,7 @@ func (this *RoleTower) OnTowerWjFightBuff(buff1, buff2, buff3 int32) (b1, b2, b3
 	if buff1 > 0 {
 		globalData = serverproto.GlobalCfgLoader[int32(serverproto.GlobalType_Global_TowerBuff1Cost)]
 		if this.buff1 < globalData.IVal {
+			util.InfoF("1111111:%v", model.TowerBuff1Cost)
 			for i, v := range model.TowerBuff1Cost {
 				if int32(i) == this.buff1 {
 					costItemList[v.Key] = v.Value
@@ -304,6 +314,7 @@ func (this *RoleTower) OnTowerWjFightBuff(buff1, buff2, buff3 int32) (b1, b2, b3
 	} else if buff2 > 0 {
 		globalData = serverproto.GlobalCfgLoader[int32(serverproto.GlobalType_Global_TowerBuff2Cost)]
 		if this.buff2 < globalData.IVal {
+			util.InfoF("1111111:%v", model.TowerBuff2Cost)
 			for i, v := range model.TowerBuff2Cost {
 				if int32(i) == this.buff2 {
 					costItemList[v.Key] = v.Value
@@ -313,6 +324,7 @@ func (this *RoleTower) OnTowerWjFightBuff(buff1, buff2, buff3 int32) (b1, b2, b3
 	} else if buff3 > 0 {
 		globalData = serverproto.GlobalCfgLoader[int32(serverproto.GlobalType_Global_TowerBuff3Cost)]
 		if this.buff3 < globalData.IVal {
+			util.InfoF("1111111:%v", model.TowerBuff3Cost)
 			for i, v := range model.TowerBuff3Cost {
 				if int32(i) == this.buff3 {
 					costItemList[v.Key] = v.Value
@@ -340,12 +352,13 @@ func (this *RoleTower) OnTowerWjFightBuff(buff1, buff2, buff3 int32) (b1, b2, b3
 	}
 	this.SetDirty(true)
 	ntf := &serverproto.SCClimbingTowerWjBossNtf{
-		Boos:     this.boss,
-		WjLevel:  this.nowTowerWjLevel,
-		Buff1:    this.buff1,
-		Buff2:    this.buff2,
-		Buff3:    this.buff3,
-		Duration: this.duration,
+		Boos:        this.boss,
+		WjLevel:     this.nowTowerWjLevel,
+		Buff1:       this.buff1,
+		Buff2:       this.buff2,
+		Buff3:       this.buff3,
+		Duration:    this.duration,
+		RewardLevel: this.rewardLevel,
 	}
 	this.role.ReplayGate(ntf, true)
 	util.InfoF("uuid:%v tower buff buy buff1:%v,buff2:%v,buff3:%v", this.role.GetUUid(), this.buff1, this.buff2, this.buff3)
@@ -380,7 +393,7 @@ func (this *RoleTower) OnTowerWjFightEnd(towerLevel, fightTime int32, recordTime
 	if this.IsTowerUnlock() == false {
 		return serverproto.ErrorCode_ERROR_CLIMBING_TOWER_IS_LOCKED
 	}
-	if towerLevel != this.nowTowerLevel+1 {
+	if towerLevel != this.nowTowerWjLevel {
 		return serverproto.ErrorCode_ERROR_CLIMBING_TOWER_NOT_CUR_TOWER
 	}
 	//towerCfg, ok := serverproto.ClimbingTowerCfgLoader[towerLevel]
@@ -419,17 +432,16 @@ func (this *RoleTower) OnTowerWjFightEnd(towerLevel, fightTime int32, recordTime
 	//}
 
 	//给奖励
-	var v *model.TowerWjReward
-	if this.rewardLevel < towerLevel {
-		for _, v = range model.ConvertTowerWjData[TowerMag.day] {
-			if this.nowTowerWjLevel >= v.Min && this.nowTowerWjLevel <= v.Max {
-				var addItemList = map[int32]int32{}
-				for _, exItems := range v.ExItemList {
-					addItemList[exItems.Key] += exItems.Value
-				}
-				this.role.AddItemList(addItemList, AddFrom_Tower, true)
-				this.rewardLevel = this.nowTowerWjLevel
+	//var rewardList *model.TowerWjReward
+	for _, v := range model.ConvertTowerWjData[TowerMag.day] {
+		if this.nowTowerWjLevel >= v.Max && this.rewardLevel < v.Max {
+			var addItemList = map[int32]int32{}
+			for _, exItems := range v.ExItemList {
+				addItemList[exItems.Key] += exItems.Value
 			}
+			this.role.AddItemList(addItemList, AddFrom_Tower, true)
+			this.rewardLevel = this.nowTowerWjLevel
+			ackMsg.ExRewardList = v.ExItemList
 		}
 	}
 
@@ -445,7 +457,6 @@ func (this *RoleTower) OnTowerWjFightEnd(towerLevel, fightTime int32, recordTime
 
 	ackMsg.TowerLevel = this.nowTowerWjLevel
 	ackMsg.PassTime = this.nowTowerWjPassTime
-	ackMsg.ExRewardList = v.ExItemList
 	ntf := &serverproto.SCClimbingTowerWjBossNtf{
 		Boos:           this.boss,
 		Buff1:          this.buff1,

+ 1 - 1
RO_Server_Trunk-branch_0.1.39/roserver/game/msg/role_msg.go

@@ -2223,7 +2223,7 @@ func init() {
 	//无尽爬塔buff
 	serverproto.Handle_GAME_CSClimbingTowerWjBuffReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
 		msg := ev.Msg().(*serverproto.CSClimbingTowerWjBuffReq)
-		//util.DebugF("receive CSClimbingTowerBeginReq msg:%v", msg)
+		util.InfoF("receive CSClimbingTowerWjBuffReq msg:%v,1:%v,2:%v,3:%v", msg)
 		role := model2.RoleMag.GetRoleOrKick(cliId, ev)
 		if role == nil {
 			return

+ 10 - 3
RO_Server_Trunk-branch_0.1.39/roserver/serverproto/config_csv.go

@@ -1751,6 +1751,9 @@ func GlobalCfgLoad(path string) {
 	GlobalCfgLoader = map[int32]*GlobalCfg{}
 	loadCsvCfg(path+"GlobalCfg.csv", &cfg)
 	for _, row := range cfg {
+		//if row.Id == 364 || row.Id == 365 || row.Id == 363 {
+		//	util.InfoF("ccc:%v", row)
+		//}
 		GlobalCfgLoader[row.Id] = row
 	}
 }
@@ -3962,10 +3965,12 @@ var TowerWjRewardCfgLoader map[int32]*TowerWjRewardCfg
 type TowerWjRewardCfg struct {
 	ID            int32    `csv:"id"`            //奖励ID
 	Levels        []string `csv:"levels"`        //层数
-	Reward        []string `csv:"Reward"`        //普通奖励
+	Reward        []string `csv:"reward"`        //普通奖励
 	LevelReward   []string `csv:"levelReward"`   //层数奖励
 	SpecialReward []string `csv:"specialReward"` //高級奖励
-	Day           int32    `csv:"Day"`           //赛季周期
+	BasicDF       float32  `csv:"basicDF"`
+	IncrementalDf float32  `csv:"incrementalDF"`
+	Day           int32    `csv:"day"` //赛季周期
 }
 
 func TowerWjRewardCfgLoad(path string) {
@@ -3974,13 +3979,14 @@ func TowerWjRewardCfgLoad(path string) {
 	loadCsvCfg(path+"WJRewordCfg.csv", &cfg)
 	for _, row := range cfg {
 		TowerWjRewardCfgLoader[row.ID] = row
+		util.InfoF("bbbbbb:%v", row)
 	}
 }
 
 var TowerWjBossCfgLoader map[int32]*TowerWjBossCfg
 
 type TowerWjBossCfg struct {
-	ID int32 `csv:"id"` //id
+	ID int32 `csv:"Id"` //id
 }
 
 func TowerWjBossCfgLoad(path string) {
@@ -3989,6 +3995,7 @@ func TowerWjBossCfgLoad(path string) {
 	loadCsvCfg(path+"TowerWjBossCfg.csv", &cfg)
 	for _, row := range cfg {
 		TowerWjBossCfgLoader[row.ID] = row
+		//util.InfoF("aaa:%v", row)
 	}
 }