package controller import ( "blazing/common/data/xmlres" "blazing/common/socket/errorcode" "blazing/common/utils" "blazing/logic/service/fight" "blazing/logic/service/pet" "blazing/logic/service/player" "blazing/modules/blazing/model" ) func (h Controller) SetPetSkill(data *pet.ChangeSkillInfo, c *player.Player) (result *pet.ChangeSkillOutInfo, err errorcode.ErrorCode) { if !c.UseCoins(100) { return result, errorcode.ErrorCodes.ErrSystemBusy } _, onpet, ok := c.FindPet(data.CatchTime) if ok { _, HasSkill, ok := utils.FindWithIndex(onpet.SkillList, func(item model.SkillInfo) bool { //已经存在技能 return item.ID == data.ReplaceSkill }) if !ok { HasSkill.ID = data.ReplaceSkill HasSkill.PP = uint32(xmlres.SkillMap[int(HasSkill.ID)].MaxPP) } } return &pet.ChangeSkillOutInfo{ CatchTime: data.CatchTime, }, 0 } func (h Controller) Skill_Sort(data *pet.C2S_Skill_Sort, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { if !c.UseCoins(100) { return result, errorcode.ErrorCodes.ErrSystemBusy } _, onpet, ok := c.FindPet(data.CapTm) if ok { var newskill []model.SkillInfo for _, v := range data.Skill { _, HasSkill, ok := utils.FindWithIndex(onpet.SkillList, func(item model.SkillInfo) bool { //已经存在技能 return item.ID == v }) if ok { newskill = append(newskill, *HasSkill) } } onpet.SkillList = newskill } return nil, 0 }