Commit d26b6cc922b7e3248818470febdd086c6a1353c2

Authored by 陆恒
1 parent 72603731
Exists in master

提交

src/HttpServer/logic/function.go
... ... @@ -615,15 +615,25 @@ func MergeRedBagCat(uinfo *UserData, pos int) int {
615 615  
616 616 //走随机合成逻辑
617 617 sumrate := float32(0)
  618 + var reallist []jsonconf.RedCatDesc
618 619 for _, v := range jsonconf.GetJsonConf().RedCatConfig {
619 620 sumrate += v.Rate
  621 + if v.Rate > 0 {
  622 + reallist = append(reallist, v)
  623 + }
  624 + }
  625 + if len(reallist) == 0 {
  626 + logger.Error("MergeRedBagCat nil")
  627 + return 0
620 628 }
621 629 rand.Seed(time.Now().UnixNano())
622 630 randnum := rand.Intn(100)
  631 + index := -1
623 632 tmprate := 0
624   - for _, v := range jsonconf.GetJsonConf().RedCatConfig {
  633 + for k, v := range reallist {
625 634 tmprate += int(v.Rate * 100 / sumrate)
626 635 if tmprate >= randnum {
  636 + index = k
627 637 uinfo.PosInfo[pos].Position = pos
628 638 uinfo.PosInfo[pos].Cat = REDCATIDEXTRA + v.Id
629 639 if v.Id == 13 {
... ... @@ -644,6 +654,14 @@ func MergeRedBagCat(uinfo *UserData, pos int) int {
644 654 }
645 655 }
646 656  
  657 + if index == -1 {
  658 + //没有找到 直接获得第一个
  659 + uinfo.PosInfo[pos].Cat = reallist[0].Id + REDCATIDEXTRA
  660 + uinfo.PosInfo[pos].RedPacket = reallist[0].Money
  661 + uinfo.PosInfo[pos].Position = pos
  662 + rtpos = pos
  663 + }
  664 +
647 665 //翻拍次数+
648 666 uinfo.FlopCardLefCnt++
649 667 return rtpos
... ... @@ -653,7 +671,27 @@ func (uinfo *UserData) CheckBuyCatSHop() {
653 671 //检查可购买的猫是否会增加
654 672 //需要扩充一下商店
655 673 curshoplv := len(uinfo.BuyCatInfo)
656   - if uinfo.Highestlv-5 > curshoplv {
  674 + //获取最高猫的配置
  675 + highcfg := jsonconf.GetCatConfig(uinfo.Highestlv)
  676 + if highcfg == nil {
  677 + logger.Error("CheckBuyCatSHop err nil")
  678 + return
  679 + }
  680 +
  681 + if highcfg.Level_buy > curshoplv {
  682 + offset := highcfg.Level_buy - curshoplv
  683 + for i := 0; i < offset; i++ {
  684 + var info BuyCatInfoData
  685 + info.Buytime = 0
  686 + cafcfg := jsonconf.GetCatConfig(curshoplv + i + 1)
  687 + if cafcfg != nil {
  688 + info.CurPrice, _ = strconv.ParseInt(cafcfg.Price, 10, 64)
  689 + }
  690 + info.IsMaxBuytime = 0
  691 + uinfo.BuyCatInfo = append(uinfo.BuyCatInfo, info)
  692 + }
  693 + }
  694 + /*if uinfo.Highestlv-5 > curshoplv {
657 695 var info BuyCatInfoData
658 696 info.Buytime = 0
659 697 cafcfg := jsonconf.GetCatConfig(uinfo.Highestlv - 5)
... ... @@ -662,7 +700,7 @@ func (uinfo *UserData) CheckBuyCatSHop() {
662 700 }
663 701 info.IsMaxBuytime = 0
664 702 uinfo.BuyCatInfo = append(uinfo.BuyCatInfo, info)
665   - }
  703 + }*/
666 704 }
667 705  
668 706 func (udata *UserData) CalcGoldRate() int64 {
... ...
src/HttpServer/logic/logic.go
... ... @@ -857,12 +857,15 @@ func HandlerLimitCatList(w http.ResponseWriter, data string, uuid int) {
857 857 if pos >= 0 && pos < len(uinfo.PosInfo) {
858 858 //如果可领取了再加入列表
859 859 if nowtime > uinfo.PosInfo[pos].StartTime+uinfo.PosInfo[pos].Time {
860   - var tmp LimitCatListData
861   - tmp.CatId = uinfo.PosInfo[pos].Cat
862   - tmp.Status = 0
863   - tmp.Cash = uinfo.PosInfo[pos].RedPacket
864   - tmp.Date = time.Now().Format("2006-01-02T 15:04:05")
865   - resp.Data = append(resp.Data, tmp)
  860 + if uinfo.PosInfo[pos].RedPacket > 0 {
  861 + var tmp LimitCatListData
  862 + tmp.CatId = uinfo.PosInfo[pos].Cat
  863 + tmp.Status = 0
  864 + tmp.Cash = uinfo.PosInfo[pos].RedPacket
  865 + tmp.Date = time.Now().Format("2006-01-02T 15:04:05")
  866 + resp.Data = append(resp.Data, tmp)
  867 + }
  868 +
866 869 } else {
867 870 logger.Info("HandlerLimitCatList nowtime=%v,endtime=%v", nowtime, uinfo.PosInfo[pos].StartTime+uinfo.PosInfo[pos].Time)
868 871 }
... ... @@ -1180,7 +1183,7 @@ func HandlerRecvTimingReward(w http.ResponseWriter, data string, uuid int) {
1180 1183 addgold := uinfo.Goldrate * ZHENGHOURMULT
1181 1184 uinfo.Gold += addgold
1182 1185 uinfo.LastTimingRewardHour = nowh
1183   - uinfo.GetWatchAdsGoldTime--
  1186 + //uinfo.GetWatchAdsGoldTime--
1184 1187  
1185 1188 SaveUserInfo(uinfo, strconv.Itoa(uuid))
1186 1189  
... ... @@ -1418,7 +1421,8 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) {
1418 1421 if uinfo.PosInfo[rdata.From].Cat == 36 {
1419 1422 //todo 走红包猫的逻辑
1420 1423 MergeRedBagCat(uinfo, rdata.From)
1421   - DoAutoMergeRedCat(uinfo, uuid)
  1424 + uinfo.CleadPos(rdata.To)
  1425 + //DoAutoMergeRedCat(uinfo, uuid)
1422 1426 //此处处理一下红包猫的自动合成逻辑
1423 1427 if uinfo.Highestlv < 37 {
1424 1428 //非红包猫
... ...