| | |
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import IpyGameDataPY
|
| | | import PlayerSuccess
|
| | | import PyGameData
|
| | | import NPCCommon
|
| | | import FBCommon
|
| | |
| | | # PickupItemSysNotify(curPlayer, isTeamNotify, itemMsgList, isEquip)
|
| | | #=======================================================================
|
| | |
|
| | | #成就
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PickUpItem, curItemCount, [curItemID])
|
| | | |
| | | #物品已经被捡起, 把物品指针置为空
|
| | | mapItem.SetDropItem(None)
|
| | | #通知客户端, 人物捡起该物品, 以及回收物品的逻辑
|
| | |
| | | if not isOK:
|
| | | return False
|
| | |
|
| | | #------------使用物品成功, 执行相关操作
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_UseItem, successCnt, [curItemTypeID])
|
| | | |
| | | curPlayer.Sync_UseItem(curItemTypeID, useItemIndex)
|
| | | curPlayer.SetItemCD(curItemCDType, tick)
|
| | |
|
| | |
| | | return -1
|
| | | curItemID = curItem.GetItemTypeID()
|
| | | useCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ItemUseCntToday % curItemID)
|
| | | for itemIDList in IpyGameDataPY.GetFuncEvalCfg('ShareUseCntItem'):
|
| | | if curItemID not in itemIDList:
|
| | | continue
|
| | | for itemID in itemIDList:
|
| | | if itemID == curItemID:
|
| | | continue
|
| | | useCnt += curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ItemUseCntToday % itemID)
|
| | | #for itemIDList in IpyGameDataPY.GetFuncEvalCfg('ShareUseCntItem'):
|
| | | # if curItemID not in itemIDList:
|
| | | # continue
|
| | | # for itemID in itemIDList:
|
| | | # if itemID == curItemID:
|
| | | # continue
|
| | | # useCnt += curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ItemUseCntToday % itemID)
|
| | |
|
| | | canUseCnt = max(0, maxCnt - useCnt)
|
| | |
|
| | |
| | |
|
| | | #根据物品类型使用{物品类型:call的py名}
|
| | | itemTypeCallFuncDic = {
|
| | | ChConfig.Def_ItemType_HPMP:"Item_Add_HPMP", # 补红补篮药剂
|
| | | ChConfig.Def_ItemType_AddExp:"Item_AddExp", # 给经验道具
|
| | | ChConfig.Def_ItemType_GiveMoney:"Item_GiveMoney", # 给人物金钱
|
| | | ChConfig.Def_ItemType_AutoUseMoney:"Item_GiveMoney", # 给人物金钱
|
| | | ChConfig.Def_ItemType_RuneExp:"Item_RuneExp", # 给人物符印精华
|
| | | ChConfig.Def_ItemType_AddLimitBuff:"Item_Add_LimitingBuff", # 给限时buff物品
|
| | | ChConfig.Def_ItemType_AddLimitBuff2:"Item_Add_LimitingBuff", # 给限时buff物品
|
| | | ChConfig.Def_ItemType_AddExpBuff:"Item_Add_LimitingBuff", # 给限时buff物品
|
| | | ChConfig.Def_ItemType_ResetAttrPoint:"Item_ResetAttrPoint", #单个属性点重置
|
| | | ChConfig.Def_ItemType_AddCrossRealmPKCnt:"Item_AddCrossRealmPKCnt" #增加跨服PK次数
|
| | | }
|
| | |
|
| | | #根据物品效果使用{物品效果ID:call的py名}
|
| | | itemEffIdCallFuncDic = {
|
| | | ChConfig.Def_Effect_UseItemGiveZhenQi:"Item_UseItemGiveZhenQi", # 使用道具给予真气
|
| | | ChConfig.Def_Effect_AddDienstgrad:"Item_AddDienstgrad", #道具获得称号
|
| | | ChConfig.Def_Effect_Face:"Item_Face",
|
| | | ChConfig.Def_Effect_FacePic:"Item_Face",
|
| | | ChConfig.Def_Effect_ItemAddLV:"Item_AddLV", #升级道具
|
| | | ChConfig.Def_Effect_GuajiAward:"Item_GuajiAward", #直接给挂机收益
|
| | | ChConfig.Def_Effect_CleanGuilt:"Item_CleanGuilt", # 洗红名
|
| | | ChConfig.Def_Effect_PrizeCoin:"Item_PrizeCoin", # 奖励充值点券
|
| | | ChConfig.Def_Effect_AddVIPExp:"Item_AddVIPExp", # 增加VIP经验
|
| | | ChConfig.Def_Effect_VIPLVCard:"Item_VIPLVCard", # VIP等级直升卡
|
| | | ChConfig.Def_Effect_TiandaoQiyun:"Item_TiandaoQiyun", # 天道树气运
|
| | | ChConfig.Def_Effect_GubaoPiece:"Item_GubaoPiece", # 古宝碎片效果ID
|
| | | ChConfig.Def_Effect_TrainRealmLV:"Item_TrainRealmLV", # 境界培养卡
|
| | | ChConfig.Def_Effect_ResetBossKillCnt:"Item_ResetBossKillCnt", # 重置boss击杀疲劳
|
| | | ChConfig.Def_Effect_AddFBCnt:"Item_AddFBCnt", # 增加副本可进入次数
|
| | | ChConfig.Def_Effect_AddKillBossCnt:"Item_AddKillBossCnt", # 增加BOSS可击杀次数
|
| | | ChConfig.Def_Effect_AddMagicWeaponUpExp:"Item_AddMagicWeaponUpExp", # 增加法宝升星经验
|
| | | ChConfig.Def_Effect_ChatBubbleBox:"Item_ChatBubbleBox", # 激活聊天气泡框
|
| | | ChConfig.Def_Effect_EmojiPack:"Item_EmojiPack",
|
| | | ChConfig.Def_Effect_FamilyEmblem:"Item_FamilyEmblem",
|
| | | ChConfig.Def_Effect_ItemGiveWeekPartyPoint:"Item_WeekPartyPoint", # 增加活动巡礼积分
|
| | | ChConfig.Def_Effect_ItemGiveWeekPartyPoint1:"Item_WeekPartyPoint", # 增加活动巡礼积分
|
| | | ChConfig.Def_Effect_AddRealmExpRate:"Item_AddRealmExpRate", # 增加聚灵效率
|
| | | ChConfig.Def_Effect_TouchMission:"Item_TouchMission", # 触发任务接口
|
| | | ChConfig.Def_Effect_HeroSkin:"Item_HeroSkin", # 武将皮肤
|
| | | #ChConfig.Def_Effect_AddArenaBattleCount:"Item_AddArenaBattleCount", # 增加竞技场挑战次数
|
| | | #ChConfig.Def_Effect_FamilyImpeach:"Item_FamilyImpeach", # 弹劾符
|
| | | #ChConfig.Def_Effect_ClothesCoatSkin:"Item_ClothesCoatSkin", #激活时装皮肤
|
| | | #ChConfig.Def_Effect_AddOfficialExp:"Item_AddOfficialExp", # 增加爵位经验
|
| | | ChConfig.Def_Effect_FamilyTaofaCnt:"Item_FamilyTaofaCnt", # 增加公会讨伐次数
|
| | | }
|
| | |
|
| | | callFuncName = itemTypeCallFuncDic.get(curItemType, "")
|
| | |
| | | else:
|
| | | curPlayer.Sync_MakeItemAnswer(ShareDefine.Def_mitUseFuDai, ChConfig.Def_UseFuDai_Fail)
|
| | |
|
| | | return
|
| | |
|
| | | def SendUseItemGetItemResult(curPlayer, useItemID, useCount, getItemInfo, moneyType=0, moneyCount=0):
|
| | | # 通知客户端使用物品结果包
|
| | | # @param getItemInfo: [{"ItemID":物品ID, "Count":个数, "IsBind":是否绑定, "IsSuite":是否套装化, "UserData":"自定义属性字符串"}, ...]
|
| | | |
| | | getItemInfo = json.dumps(getItemInfo, ensure_ascii=False)
|
| | | getItemInfo = getItemInfo.replace(" ", "")
|
| | | getItemPack = ChPyNetSendPack.tagMCNotifyUseItemGetItem()
|
| | | getItemPack.Clear()
|
| | | getItemPack.UseItemID = useItemID
|
| | | getItemPack.UseCount = useCount
|
| | | getItemPack.GetItemData = str(getItemInfo)
|
| | | getItemPack.GetItemLen = len(getItemPack.GetItemData)
|
| | | getItemPack.MoneyType = moneyType
|
| | | getItemPack.MoneyCount = moneyCount
|
| | | NetPackCommon.SendFakePack(curPlayer, getItemPack)
|
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|