6459 【后端】【2.0】缥缈仙域开发单(采集物可配置攻击是否打断采集)
| | |
| | | dict CollectAppointAward; //采集次数定制产出 {次数:[物品ID,个数,是否拍品], ...}
|
| | | BYTE AlchemyDiffLV; //过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
|
| | | BYTE NotifyCollectResult; //是否通知采集结果
|
| | | BYTE CanBreakCollect; //被攻击是否打断采集
|
| | | };
|
| | |
|
| | | //宝箱怪表
|
| | |
| | | ("dict", "CollectAppointAward", 0),
|
| | | ("BYTE", "AlchemyDiffLV", 0),
|
| | | ("BYTE", "NotifyCollectResult", 0),
|
| | | ("BYTE", "CanBreakCollect", 0),
|
| | | ),
|
| | |
|
| | | "TreasureNPC":(
|
| | |
| | | self.CollectAward = []
|
| | | self.CollectAppointAward = {}
|
| | | self.AlchemyDiffLV = 0
|
| | | self.NotifyCollectResult = 0 |
| | | self.NotifyCollectResult = 0
|
| | | self.CanBreakCollect = 0 |
| | | return |
| | | |
| | | def GetNPCID(self): return self.NPCID # ID
|
| | |
| | | def GetCollectAward(self): return self.CollectAward # 采集奖励物品,权重列表 [[权重, [物品ID,个数,是否拍品]], ...]
|
| | | def GetCollectAppointAward(self): return self.CollectAppointAward # 采集次数定制产出 {次数:[物品ID,个数,是否拍品], ...}
|
| | | def GetAlchemyDiffLV(self): return self.AlchemyDiffLV # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
|
| | | def GetNotifyCollectResult(self): return self.NotifyCollectResult # 是否通知采集结果 |
| | | def GetNotifyCollectResult(self): return self.NotifyCollectResult # 是否通知采集结果
|
| | | def GetCanBreakCollect(self): return self.CanBreakCollect # 被攻击是否打断采集 |
| | | |
| | | # 宝箱怪表 |
| | | class IPY_TreasureNPC(): |
| | |
| | | return
|
| | |
|
| | | #副本中不打断
|
| | | if GameWorld.GetMap().GetMapFBType() != IPY_GameWorld.fbtNull:
|
| | | return
|
| | | #if GameWorld.GetMap().GetMapFBType() != IPY_GameWorld.fbtNull:
|
| | | # return
|
| | |
|
| | | tagObj = curPlayer.GetActionObj()
|
| | |
|
| | |
| | | #GameWorld.Log("BreakPlayerCollect ->没有这个NPC", curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | if curNPC.GetNPCID() not in ReadChConfig.GetEvalChConfig('BreakPlayerCollectNPCIDList'):
|
| | | npcID = curNPC.GetNPCID()
|
| | | collectNPCIpyData = IpyGameDataPY.GetIpyGameDataNotLog("CollectNPC", npcID)
|
| | | if not collectNPCIpyData:
|
| | | return
|
| | |
|
| | | GameWorld.DebugLog(' 采集被打断 采集物NPCID=%s' % curNPC.GetNPCID())
|
| | | if not collectNPCIpyData.GetCanBreakCollect():
|
| | | return
|
| | | |
| | | #取消采集状态
|
| | | ChangePlayerAction(curPlayer, IPY_GameWorld.paNull)
|
| | |
|