5240 【后端】【1.3】【1.3.100】仙族法宝激活增加战力
| | |
| | | DWORD ActiveMWID; //激活法宝ID
|
| | | list ItemAward; //物品奖励[itemID,cnt,isbind]
|
| | | DWORD ActiveSoulID; //激活魂ID
|
| | | DWORD PowerEx; //额外固定战力
|
| | | };
|
| | |
|
| | | //法宝特权表
|
| | |
| | | ("DWORD", "ActiveMWID", 0),
|
| | | ("list", "ItemAward", 0),
|
| | | ("DWORD", "ActiveSoulID", 0),
|
| | | ("DWORD", "PowerEx", 0),
|
| | | ),
|
| | |
|
| | | "TreasurePrivilege":(
|
| | |
| | | self.ActiveMWID = 0
|
| | | self.ItemAward = []
|
| | | self.ActiveSoulID = 0 |
| | | self.PowerEx = 0 |
| | | return |
| | | |
| | | def GetMWID(self): return self.MWID # 法宝ID
|
| | |
| | | def GetActiveMWID(self): return self.ActiveMWID # 激活法宝ID
|
| | | def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind]
|
| | | def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID |
| | | def GetPowerEx(self): return self.PowerEx # 额外固定战力 |
| | | |
| | | # 法宝特权表 |
| | | class IPY_TreasurePrivilege(): |
| | |
| | | allAttrList1 = [{} for _ in range(4)] #人族法宝
|
| | | allAttrList2 = [{} for _ in range(4)] #魔族法宝
|
| | | allAttrList3 = [{} for _ in range(4)] #仙族法宝
|
| | |
|
| | | mwTypeMfpTypeDict = {1:ShareDefine.Def_MFPType_MagicWeapon1,2:ShareDefine.Def_MFPType_MagicWeapon2,3:ShareDefine.Def_MFPType_MagicWeapon3}
|
| | | addPowerDict = {} #额外战力
|
| | | signDayMWID = IpyGameDataPY.GetFuncCfg('MWSignDayAttr', 2)
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for i in xrange(ipyDataMgr.GetTreasureCount()):
|
| | |
| | | #=======================================================================
|
| | | treasureType = treasureIpyData.GetTreasureType()
|
| | | if isActive:
|
| | | mfpType = mwTypeMfpTypeDict.get(treasureType, ShareDefine.Def_MFPType_Role)
|
| | | #等级属性
|
| | | curMWLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MagicWeaponLV % magicWeaponID)
|
| | | for lv in xrange(curMWLV+1):
|
| | |
| | | if upIpyData:
|
| | | attrDict = upIpyData.GetAddAttr()
|
| | | GameWorld.AddDictValue(allAttrDict, attrDict)
|
| | | addPowerDict[mfpType] = addPowerDict.get(mfpType, 0) + upIpyData.GetPowerEx()
|
| | |
|
| | | if magicWeaponID == signDayMWID:
|
| | | #签到属性
|
| | |
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_MagicWeapon3, allAttrList3)
|
| | | #技能解锁战力
|
| | | nextSkillDict = GetPotentialsSkillInfo(curPlayer)
|
| | | addPowerDict = {}
|
| | | for skillID, info in nextSkillDict.items():
|
| | | needSkilllv, nextSkillID, addPower = info
|
| | | skillManager = curPlayer.GetSkillManager()
|