5216 【后端】【1.3】【1.3.100】开服全民冲榜赠送魂增加战力显示
| | |
| | | BYTE FuncID; //所属功能ID
|
| | | WORD MaxUseCnt; //最大可使用数量
|
| | | WORD RecycleMoney; //回收货币值
|
| | | DWORD FightPowerEx; //附加战斗力
|
| | | };
|
| | |
|
| | |
|
| | |
| | |
|
| | | #功能索引ShareDefine.Def_AttrFruitFuncList
|
| | | Def_PlayerKey_FruitAttr = "FruitAttr_%s_%s" # 属性果实增加的属性,参数为(功能索引, 物品效果id)
|
| | | Def_PlayerKey_FruitFightPowerEx = "FruitFightPowerEx_%s" # 属性果实增加的附加战力,参数为(功能索引)
|
| | | Def_PlayerKey_FamilyLVLeave = "FamilyLVLeave" # 离开的最后一个家族的等级
|
| | |
|
| | | Def_PlayerKey_CalcAddAttrType = "CalcAType_%s_%s_%s" # 刷属性类型, 参数[funcIndex, attrIndex, 缓存编号]
|
| | |
| | | elif limitType == PlayerAttrFruit.Def_LimitType_Attr:
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AttrFruitAddValue % itemID, 0)
|
| | |
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_FruitFightPowerEx % (funcIndex), 0)
|
| | | |
| | | itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
|
| | | # 重置该物品所加的属性值
|
| | | if itemData:
|
| | |
| | | ("BYTE", "FuncID", 0),
|
| | | ("WORD", "MaxUseCnt", 0),
|
| | | ("WORD", "RecycleMoney", 0),
|
| | | ("DWORD", "FightPowerEx", 0),
|
| | | ),
|
| | |
|
| | | "PetInfo":(
|
| | |
| | | self.FuncID = 0
|
| | | self.MaxUseCnt = 0
|
| | | self.RecycleMoney = 0 |
| | | self.FightPowerEx = 0 |
| | | return |
| | | |
| | | def GetID(self): return self.ID # 物品ID
|
| | | def GetFuncID(self): return self.FuncID # 所属功能ID
|
| | | def GetMaxUseCnt(self): return self.MaxUseCnt # 最大可使用数量
|
| | | def GetRecycleMoney(self): return self.RecycleMoney # 回收货币值 |
| | | def GetFightPowerEx(self): return self.FightPowerEx # 附加战斗力 |
| | | |
| | | # 灵兽表 |
| | | class IPY_PetInfo(): |
| | |
| | |
|
| | | limitType = Def_LimitType_Cnt #默认按个数
|
| | |
|
| | | # 增加附加战力,仅按个数时有效
|
| | | fightPowerExfigKey = ChConfig.Def_PlayerKey_FruitFightPowerEx % (funcIndex)
|
| | | fightPowerEx = curPlayer.GetDictByKey(fightPowerExfigKey)
|
| | | fruitIpyData = GetAttrFruitIpyData(fruitItemID)
|
| | | addFightPowerEx = 0 if not fruitIpyData else fruitIpyData.GetFightPowerEx()
|
| | | fightPowerEx = fightPowerEx + addFightPowerEx * addValue
|
| | | curPlayer.SetDict(fightPowerExfigKey, fightPowerEx)
|
| | | GameWorld.DebugLog(" Add funcIndex=%s,addFightPowerEx=%s,addValue=%s,fightPowerEx=%s" % (funcIndex, addFightPowerEx, addValue, fightPowerEx))
|
| | | |
| | | for i in range(itemData.GetEffectCount()):
|
| | | curEffect = itemData.GetEffectByIndex(i)
|
| | | effectID = curEffect.GetEffectID()
|
| | |
| | | #GameWorld.DebugLog(" effectID=%s,addValue=%s" % (effectID, addValue))
|
| | | PlayerControl.CalcAttrDict_Type(effectID, addValue, allAttrList)
|
| | |
|
| | | #GameWorld.DebugLog(" 有果实属性 allAttrList=%s" % str(allAttrList))
|
| | | return
|
| | | fightPowerEx = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FruitFightPowerEx % (funcIndex))
|
| | | #GameWorld.DebugLog(" 有果实属性funcIndex=%s,fightPowerEx=%s,allAttrList=%s" % (funcIndex, fightPowerEx, allAttrList))
|
| | | return fightPowerEx
|
| | |
|
| | |
|
| | | ## 统计百分比属性对功能内层的属性增加
|
| | |
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_SpeedHorse, maxSpeed)
|
| | |
|
| | | # 果实对坐骑的加成, 魂石果实算附加属性层,单独计算
|
| | | PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListHorseSoul, ShareDefine.Def_AttrFruitFunc_Horse)
|
| | | fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListHorseSoul, ShareDefine.Def_AttrFruitFunc_Horse)
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_HorseSoul, fightPowerEx)
|
| | |
|
| | | #PlayerControl.CalcFuncPackItem(curPlayer, ShareDefine.Def_Pack_Type_HorseSkill, allAttrList)
|
| | |
|
| | |
| | | PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMaxAtk, totalMaxAtk, allAttrListPet)
|
| | | totalSignNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalSignNum) # 总签到天数
|
| | | # 果实给人物加属性, 魂石果实算附加属性层,单独计算
|
| | | PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet)
|
| | | fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet)
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_PetSoul, fightPowerEx)
|
| | |
|
| | | #灵兽技能给人物加的属性
|
| | | learnSkillList, passiveSkillList = GetPetLearnSkill(curPlayer)
|
| | |
| | | def CalcStoveAttr(curPlayer):
|
| | | # 果实加成
|
| | | allAttrYaoList = [{} for _ in range(4)]
|
| | | PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrYaoList, ShareDefine.Def_AttrFruitFunc_Stove)
|
| | | fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrYaoList, ShareDefine.Def_AttrFruitFunc_Stove)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_StoveYao, allAttrYaoList)
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_StoveYao, fightPowerEx)
|
| | |
|
| | | allAttrList = [{} for _ in range(4)]
|
| | | alchemyLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyLV)
|