| | |
| | | # @param bind 绑定
|
| | | # @param packList 背包索引
|
| | | # @return 背包索引,-1表示没有可放的背包
|
| | | def GetCanPutInPackIndex(curPlayer, itemID, itemCount, bind, packList):
|
| | | def GetCanPutInPackIndex(curPlayer, itemID, itemCount, bind, packList, isAuctionItem=False):
|
| | | itemControl = ItemControler.PlayerItemControler(curPlayer)
|
| | | for index in packList:
|
| | | if not itemControl.CanPutInItem(index, itemID, itemCount, bind):
|
| | | if not itemControl.CanPutInItem(index, itemID, itemCount, isAuctionItem):
|
| | | continue
|
| | |
|
| | | return index
|
| | |
| | | itemStarLV=0, bind=False, property=None,
|
| | | packList=[IPY_GameWorld.rptItem], isSuite=False,
|
| | | addAttrLV=0, isLucky=False, skillBoostEff=[], holeCount=0,
|
| | | equipIndex= -1, isGreat=0, baseAttrRate=ShareDefine.Def_MaxRateValue, greatAttrList=[]):
|
| | | equipIndex= -1, isGreat=0, baseAttrRate=ShareDefine.Def_MaxRateValue, greatAttrList=[], isAuctionItem=False):
|
| | | # if PlayerFamily.DoAddFamilyBossFoodEx(curPlayer, itemID, itemCount, ShareDefine.Def_AddFAVReason_DoFamilyMisson):
|
| | | # #仙盟兽粮自动使用
|
| | | # return
|
| | |
| | | itemControl = ItemControler.PlayerItemControler(curPlayer)
|
| | |
|
| | | #获得可放入的背包索引
|
| | | packIndex = GetCanPutInPackIndex(curPlayer, itemID, itemCount, bind, packList)
|
| | | packIndex = GetCanPutInPackIndex(curPlayer, itemID, itemCount, bind, packList, isAuctionItem)
|
| | | if packIndex == -1:
|
| | | return
|
| | |
|
| | | #设置物品属性
|
| | | curSingleItem = CreatMissionItem(itemID, itemStarLV, addAttrLV, isSuite, bind,
|
| | | isLucky, skillBoostEff, itemCount, holeCount, isGreat, baseAttrRate, greatAttrList)
|
| | | curSingleItem = CreatMissionItem(curPlayer, itemID, itemStarLV, addAttrLV, isSuite, bind,
|
| | | isLucky, skillBoostEff, itemCount, holeCount, isGreat, baseAttrRate, greatAttrList, isAuctionItem=isAuctionItem)
|
| | | if not curSingleItem:
|
| | | return
|
| | |
|
| | |
| | | # @param itemCount: 物品数量
|
| | | # @param baseAttrRate: 任务创建的物品默认的基础属性随机值为10000
|
| | | # @return None
|
| | | def CreatMissionItem(itemID, starLV=0, addAttrLV=0, isSuite=False, bind=False,
|
| | | def CreatMissionItem(curPlayer, itemID, starLV=0, addAttrLV=0, isSuite=False, bind=False,
|
| | | isLucky=0, skillBoostEff=[], itemCount=1, holeCount=0,
|
| | | isGreat=0, baseAttrRate=ShareDefine.Def_MaxRateValue, greatAttrList=[]):
|
| | | isGreat=0, baseAttrRate=ShareDefine.Def_MaxRateValue, greatAttrList=[], isAuctionItem=False):
|
| | |
|
| | | curSingleItem = ItemControler.GetOutPutItemObj(itemID)
|
| | | curSingleItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem, curPlayer=curPlayer)
|
| | |
|
| | | if not curSingleItem:
|
| | | GameWorld.Log('###创造任务物品失败, itemID = %s' % (itemID))
|
| | |
| | | #tmpEquipData.isBind = bind
|
| | |
|
| | | #ChItem.EquipAddAdditionEx(curSingleItem, tmpEquipData)
|
| | |
|
| | | #设置数量
|
| | | ItemControler.SetItemCount(curSingleItem, itemCount)
|
| | |
|
| | | return curSingleItem
|
| | |
|
| | |
| | | # @param curMission 任务实例
|
| | | # @param curActionNode节点信息
|
| | | # @return 返回值无意义
|
| | | # @remarks <Add_Item id="物品ID" count="物品数量" starLV="星级" bind="是否绑定" |
| | | # @remarks <Add_Item id="物品ID" count="物品数量" starLV="星级" bind="是否绑定" isAuctionItem="是否拍品"
|
| | | # packtype="1,2背包索引" equipIndex="装备位置" suite="是否套装化" addAttrLV="追加等级",isLucky="是否有幸运"
|
| | | # skillBoostEff="[技能效果增强索引, 值]", holeCount="孔数" isGreat="1" baseAttrRate="可强化的装备基础属性随机加强比例默认10000"
|
| | | # greatAttr="[卓越属性列表]" />
|
| | |
| | |
|
| | | #物品是否套装化
|
| | | isSuite = True if curActionNode.GetAttribute("suite") else False
|
| | | |
| | | #是否拍品
|
| | | isAuctionItem = GameWorld.ToIntDef(curActionNode.GetAttribute("isAuctionItem"), 0)
|
| | |
|
| | | #追加
|
| | | addAttrLV = GameWorld.ToIntDef(curActionNode.GetAttribute("addAttrLV"), 0)
|
| | |
| | | baseAttrRate = GameWorld.ToIntDef(curActionNode.GetAttribute("baseAttrRate"), ShareDefine.Def_MaxRateValue)
|
| | | AddEventItem(curPlayer, curMission, curItemID, curItemCount, None, itemStarLV,
|
| | | bind, False, packTypeList, isSuite, addAttrLV, isLucky,
|
| | | skillBoostEff, holeCount, equipIndex, isGreat, baseAttrRate, greatAttrList)
|
| | | skillBoostEff, holeCount, equipIndex, isGreat, baseAttrRate, greatAttrList, isAuctionItem=isAuctionItem)
|
| | |
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | # @param curMission 任务实例
|
| | | # @param curActionNode节点信息
|
| | | # @return 返回值无意义
|
| | | # @remarks <Drop_Item id="物品ID" count="物品数量" starLV="星级" bind="是否绑定" |
| | | # @remarks <Drop_Item id="物品ID" count="物品数量" starLV="星级" bind="是否绑定" isAuctionItem="是否拍品"
|
| | | # suite="是否套装化" addAttrLV="追加等级",isLucky="是否有幸运"
|
| | | # skillBoostEff="[技能效果增强索引, 值]", holeCount="孔数", isGreat="1", effIndex="1" , dropDist="掉落范围默认3"
|
| | | # aroundPlayer="1" baseAttrRate="可强化的装备基础属性随机加强比例默认10000" greatAttr="[卓越属性列表]" />
|
| | |
| | | isSuite = GameWorld.ToIntDef((curActionNode.GetAttribute("suite")), 0)
|
| | |
|
| | | bind = GameWorld.ToIntDef((curActionNode.GetAttribute("bind")), 1)
|
| | | |
| | | isAuctionItem = GameWorld.ToIntDef((curActionNode.GetAttribute("isAuctionItem")), 0)
|
| | |
|
| | | #追加
|
| | | addAttrLV = GameWorld.ToIntDef(curActionNode.GetAttribute("addAttrLV"), 0)
|
| | |
| | | baseAttrRate = GameWorld.ToIntDef(curActionNode.GetAttribute("baseAttrRate"), ShareDefine.Def_MaxRateValue)
|
| | |
|
| | | #设置物品属性
|
| | | curItem = CreatMissionItem(curItemID, starLV, addAttrLV, isSuite, bind,
|
| | | isLucky, skillBoostEff, count, holeCount, isGreat, baseAttrRate, greatAttrList)
|
| | | curItem = CreatMissionItem(curPlayer, curItemID, starLV, addAttrLV, isSuite, bind,
|
| | | isLucky, skillBoostEff, count, holeCount, isGreat, baseAttrRate, greatAttrList, isAuctionItem=isAuctionItem)
|
| | |
|
| | | if not curItem:
|
| | | GameWorld.Log('###创建地上物品异常,无此ID物品 = %s' % (curItemID))
|
| | | return
|
| | |
|
| | | if curActionNode.GetAttribute("aroundPlayer") == "1":
|
| | | if curActionNode.GetAttribute("aroundPlayer") == "1" or not curNPC:
|
| | | posX, posY = curPlayer.GetPosX(), curPlayer.GetPosY()
|
| | | else:
|
| | | posX, posY = curNPC.GetPosX(), curNPC.GetPosY()
|