package controller import ( "blazing/common/data/xmlres" "blazing/common/socket/errorcode" "blazing/logic/service/pet" "blazing/logic/service/player" "blazing/modules/blazing/model" ) func (h Controller) PetFusion(data *pet.C2S_PetFusion, c *player.Player) (result *pet.PetFusionInfo, err errorcode.ErrorCode) { if !c.UseCoins(1000) { return result, errorcode.ErrorCodes.ErrSystemBusy } //防止同一只 if data.Mcatchtime == data.Auxcatchtime { return result, errorcode.ErrorCodes.ErrSystemBusy } _, Mcatchpetinfo, ok := c.FindPet(data.Mcatchtime) if !ok { return result, errorcode.ErrorCodes.ErrSystemBusy } if xmlres.PetMAP[int(Mcatchpetinfo.ID)].FuseMaster == 0 { return result, errorcode.ErrorCodes.ErrSystemBusy } _, Auxpetinfo, ok := c.FindPet(data.Auxcatchtime) if !ok { return result, errorcode.ErrorCodes.ErrSystemBusy } if xmlres.PetMAP[int(Auxpetinfo.ID)].FuseSub == 0 { return result, errorcode.ErrorCodes.ErrSystemBusy } r := model.GenPetInfo(1, -1, -1, -1, -1, 1) c.Service.Pet.PetAdd(*r) c.Pet_del(Auxpetinfo.CatchTime) c.Pet_del(Mcatchpetinfo.CatchTime) return &pet.PetFusionInfo{ ObtainTime: r.CatchTime, SoulID: 1000017, StarterCpTm: r.ID, CostItemFlag: 0, }, 0 }