234 lines
7.5 KiB
Go
234 lines
7.5 KiB
Go
package handler
|
|
|
|
//func (this *PlayerHandler) RoleChangeLanguage(player *logic.Player, msg *net.Message) {
|
|
// var req = new(proto.MsgRoleChangeLanguageReq)
|
|
// var err = msg.Read(req)
|
|
// if err != nil {
|
|
// this.logger.Error("Read message failed, ", err)
|
|
// _ = player.TipNotice(proto.ErrMessageError)
|
|
// return
|
|
// }
|
|
//
|
|
// if player.Role.Language != req.Language {
|
|
// player.Role.Language = req.Language
|
|
// player.SaveField("role.language", player.Role.Language)
|
|
// }
|
|
//
|
|
// _ = player.Send(proto.ModIdRole, proto.MsgIdRoleChangeLanguage, &proto.MsgRoleChangeLanguageAck{Language: player.Role.Language})
|
|
// return
|
|
//}
|
|
//
|
|
//func (this *PlayerHandler) RoleChangeName(player *logic.Player, msg *net.Message) {
|
|
// var req = new(proto.MsgRoleChangeNameReq)
|
|
// var err = msg.Read(req)
|
|
// if err != nil {
|
|
// this.logger.Error("Read message failed, ", err)
|
|
// _ = player.TipNotice(proto.ErrMessageError)
|
|
// return
|
|
// }
|
|
//
|
|
// var roleName = strings.TrimSpace(req.Name)
|
|
//
|
|
// if roleName == "" {
|
|
// this.logger.Error("Parameter error, req.Name == \"\"")
|
|
// _ = player.TipNotice(proto.ErrParameterError)
|
|
// return
|
|
// }
|
|
//
|
|
// if roleName != player.Role.Name {
|
|
// if !this.tables.WordBanExtend.Check(roleName) {
|
|
// this.logger.Error("Illegal role name, roleName: ", roleName)
|
|
// _ = player.TipNotice(proto.ErrIllegalRoleName)
|
|
// return
|
|
// }
|
|
//
|
|
// existing, err := this.playerManager.ExistsRoleName(roleName)
|
|
// if err != nil {
|
|
// this.logger.Error("Check role name exist failed, ", err)
|
|
// _ = player.TipNotice(proto.ErrServerError)
|
|
// return
|
|
// }
|
|
//
|
|
// if existing {
|
|
// this.logger.Error("Role name already exists, roleName: ", roleName)
|
|
// _ = player.TipNotice(proto.ErrExistedRoleName)
|
|
// return
|
|
// }
|
|
//
|
|
// player.Role.Name = roleName
|
|
// player.SaveField("role.name", player.Role.Name)
|
|
// }
|
|
//
|
|
// _ = player.Send(proto.ModIdRole, proto.MsgIdRoleChangeName, &proto.MsgRoleChangeNameAck{Name: player.Role.Name})
|
|
// return
|
|
//}
|
|
//
|
|
//func (this *PlayerHandler) RoleChangeAvatar(player *logic.Player, msg *net.Message) {
|
|
// var req = new(proto.MsgRoleChangeAvatarReq)
|
|
// var err = msg.Read(req)
|
|
// if err != nil {
|
|
// this.logger.Error("Read message failed, ", err)
|
|
// _ = player.TipNotice(proto.ErrMessageError)
|
|
// return
|
|
// }
|
|
//
|
|
// if req.Avatar != player.Role.Avatar {
|
|
// player.Role.Avatar = req.Avatar
|
|
// player.SaveField("role.avatar", player.Role.Avatar)
|
|
// }
|
|
//
|
|
// _ = player.Send(proto.ModIdRole, proto.MsgIdRoleChangeAvatar, &proto.MsgRoleChangeAvatarAck{Avatar: player.Role.Avatar})
|
|
// return
|
|
//}
|
|
//
|
|
//func (this *PlayerHandler) RoleTalentUpgrade(player *logic.Player, msg *net.Message) {
|
|
// var req = new(proto.MsgRoleTalentUpgradeReq)
|
|
// var err = msg.Read(req)
|
|
// if err != nil {
|
|
// this.logger.Error("Read message failed, ", err)
|
|
// _ = player.TipNotice(proto.ErrMessageError)
|
|
// return
|
|
// }
|
|
//
|
|
// if req.Id == 0 {
|
|
// this.logger.Error("Parameter error, req.Id == 0")
|
|
// _ = player.TipNotice(proto.ErrParameterError)
|
|
// return
|
|
// }
|
|
//
|
|
// var talent = player.RoleTalent[req.Id]
|
|
//
|
|
// var nextLevelTable *data.TalentLevel
|
|
// if talent != nil {
|
|
// var talentTreeTable = this.tables.TalentTree.Get(int(talent.Id))
|
|
// if talentTreeTable == nil {
|
|
// this.logger.Error("Data error, TalentTree not found, id: ", talent.Id)
|
|
// _ = player.TipNotice(proto.ErrDataTablesError)
|
|
// return
|
|
// }
|
|
//
|
|
// var talentLevelTable = this.tables.TalentLevel.Get(int(talent.LevelId))
|
|
// if talentLevelTable == nil {
|
|
// this.logger.Error("Data error, TalentLevel not found, levelId: ", talent.LevelId)
|
|
// _ = player.TipNotice(proto.ErrDataTablesError)
|
|
// return
|
|
// }
|
|
//
|
|
// if talentLevelTable.Level >= talentTreeTable.MaxLevel {
|
|
// this.logger.Errorf("Talent level alreay max, level: %d, maxLevel: %d", talentLevelTable.Level, talentTreeTable.MaxLevel)
|
|
// _ = player.TipNotice(proto.ErrLevelAlreadyMax)
|
|
// return
|
|
// }
|
|
//
|
|
// nextLevelTable = this.tables.TalentLevelExtend.Get(talentTreeTable.Id, talentLevelTable.Level+1)
|
|
// if talentLevelTable == nil {
|
|
// this.logger.Errorf("Data error, TalentLevel not found, treeId: %d, nextLevel: %d", talentTreeTable.Id, talentLevelTable.Level+1)
|
|
// _ = player.TipNotice(proto.ErrDataTablesError)
|
|
// return
|
|
// }
|
|
//
|
|
// } else {
|
|
// var talentTreeTable = this.tables.TalentTree.Get(int(req.Id))
|
|
// if talentTreeTable == nil {
|
|
// this.logger.Error("Data error, TalentTree not found, id: ", req.Id)
|
|
// _ = player.TipNotice(proto.ErrDataTablesError)
|
|
// return
|
|
// }
|
|
//
|
|
// if len(talentTreeTable.Parents) > 0 {
|
|
// for _, parentId := range talentTreeTable.Parents {
|
|
// if parentId == 0 {
|
|
// continue
|
|
// }
|
|
//
|
|
// var parent = player.RoleTalent[uint32(parentId)]
|
|
// if parent == nil {
|
|
// this.logger.Error("Parent not found, parentId: ", parentId)
|
|
// _ = player.TipNotice(proto.ErrTalentNeedParentMax)
|
|
// return
|
|
// }
|
|
//
|
|
// var parentTreeTable = this.tables.TalentTree.Get(int(parent.Id))
|
|
// if parentTreeTable == nil {
|
|
// this.logger.Error("Data error, TalentTree not found, parentId: ", parent.Id)
|
|
// _ = player.TipNotice(proto.ErrDataTablesError)
|
|
// return
|
|
// }
|
|
//
|
|
// var parentLevelTable = this.tables.TalentLevel.Get(int(parent.LevelId))
|
|
// if parentLevelTable == nil {
|
|
// this.logger.Error("Data error, TalentLevel not found, parentLevelId: ", parent.LevelId)
|
|
// _ = player.TipNotice(proto.ErrDataTablesError)
|
|
// return
|
|
// }
|
|
//
|
|
// if parentLevelTable.Level < parentTreeTable.MaxLevel {
|
|
// this.logger.Errorf("Parent not level max, parentLevel: %d, maxLevel: %d", parentLevelTable.Level, parentTreeTable.MaxLevel)
|
|
// _ = player.TipNotice(proto.ErrTalentNeedParentMax)
|
|
// return
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// nextLevelTable = this.tables.TalentLevelExtend.Get(talentTreeTable.Id, 1)
|
|
// if nextLevelTable == nil {
|
|
// this.logger.Errorf("Data error, TalentLevel not found, treeId: %d, nextLevel: %d", talentTreeTable.Id, 1)
|
|
// _ = player.TipNotice(proto.ErrDataTablesError)
|
|
// return
|
|
// }
|
|
//
|
|
// talent = &logic.PlayerRoleTalent{Id: uint32(talentTreeTable.Id)}
|
|
// }
|
|
//
|
|
// err = player.CheckMoney(proto.MoneyType(nextLevelTable.MoneyType), uint32(nextLevelTable.MoneyNum))
|
|
// if err != nil {
|
|
// this.logger.Errorf("%s, moneyType: %d, moneyNum: %d", err.Error(), nextLevelTable.MoneyType, nextLevelTable.MoneyNum)
|
|
// _ = player.TipNotice(err)
|
|
// return
|
|
// }
|
|
//
|
|
// player.ReduceMoney(proto.MoneyType(nextLevelTable.MoneyType), uint32(nextLevelTable.MoneyNum), logic.LogTypeItemConsumeByTalentUpgrade)
|
|
//
|
|
// talent.LevelId = uint32(nextLevelTable.Id)
|
|
//
|
|
// player.RoleTalent[talent.Id] = talent
|
|
// player.SaveModel(talent)
|
|
//
|
|
// _ = player.Send(proto.ModIdRole, proto.MsgIdRoleTalentUpgrade, &proto.MsgRoleTalentUpgradeAck{RoleTalent: talent.BuildMsgRoleTalent()})
|
|
//
|
|
// player.UpdateRigAttrs()
|
|
// return
|
|
//}
|
|
//
|
|
//func (this *PlayerHandler) RoleTalentReset(player *logic.Player, _ *net.Message) {
|
|
// var monies = map[uint32]uint32{}
|
|
// for _, talent := range player.RoleTalent {
|
|
// var level = 0
|
|
// for {
|
|
// level++
|
|
// var talentLevelTable = this.tables.TalentLevelExtend.Get(int(talent.Id), level)
|
|
// if talentLevelTable == nil {
|
|
// continue
|
|
// }
|
|
//
|
|
// monies[uint32(talentLevelTable.MoneyType)] += uint32(talentLevelTable.MoneyNum)
|
|
//
|
|
// if uint32(talentLevelTable.Id) == talent.LevelId {
|
|
// break
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// player.RoleTalent = map[uint32]*logic.PlayerRoleTalent{}
|
|
// player.SaveField("role_talent", player.RoleTalent)
|
|
//
|
|
// for moneyType, moneyNum := range monies {
|
|
// player.AddMoney(proto.MoneyType(moneyType), moneyNum, logic.LogTypeItemObtainByTalentReturn)
|
|
// }
|
|
//
|
|
// _ = player.Send(proto.ModIdRole, proto.MsgIdRoleTalentReset, nil)
|
|
//
|
|
// player.UpdateRigAttrs()
|
|
// return
|
|
//}
|