4012 【后端】【1.0.18】【主干】神兽出战系统广播,神兽出战上限扩展系统广播
| | |
| | | list HelpBattleSkills; //助战技能ID列表
|
| | | DWORD FightPowerEx; //助战附加战力
|
| | | list EquipPlaceColorList; //穿戴装备颜色限制
|
| | | list HelpBattleNotify; //助战广播 ["广播key",[参数1,参数2,...],广播CD分钟]
|
| | | };
|
| | |
|
| | | //神兽强化表
|
| | |
| | | ("list", "HelpBattleSkills", 0),
|
| | | ("DWORD", "FightPowerEx", 0),
|
| | | ("list", "EquipPlaceColorList", 0),
|
| | | ("list", "HelpBattleNotify", 0),
|
| | | ),
|
| | |
|
| | | "DogzEquipPlus":(
|
| | |
| | | self.BaseAttrValues = []
|
| | | self.HelpBattleSkills = []
|
| | | self.FightPowerEx = 0
|
| | | self.EquipPlaceColorList = [] |
| | | self.EquipPlaceColorList = []
|
| | | self.HelpBattleNotify = [] |
| | | return |
| | | |
| | | def GetDogzID(self): return self.DogzID # 神兽ID
|
| | |
| | | def GetBaseAttrValues(self): return self.BaseAttrValues # 基础属性值列表
|
| | | def GetHelpBattleSkills(self): return self.HelpBattleSkills # 助战技能ID列表
|
| | | def GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力
|
| | | def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制 |
| | | def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
|
| | | def GetHelpBattleNotify(self): return self.HelpBattleNotify # 助战广播 ["广播key",[参数1,参数2,...],广播CD分钟] |
| | | |
| | | # 神兽强化表 |
| | | class IPY_DogzEquipPlus(): |
| | |
| | | import SkillCommon
|
| | | import SkillShell
|
| | |
|
| | | import time
|
| | |
|
| | | '''
|
| | | 神兽编号: 1~20,上线后不可修改
|
| | | 神兽装备位: 101~105 物品表中的装备位配置
|
| | |
| | | '''
|
| | |
|
| | | DogzEquipCount = 5 # 神兽装备位数量,固定5个,策划说打死也不改
|
| | |
|
| | | g_helpBattleNotifyTimeDict = {} # 助战广播时间记录 {神兽ID:广播time, ...}
|
| | |
|
| | | def GetDogzEquipPlaceIndex(equipPlace):
|
| | | ## 获取神兽装备位对应的索引
|
| | |
| | | # BYTE BatteState; //助战状态,0-召回,1-助战
|
| | | #};
|
| | | def OnDogzBattleStateChange(index, clientData, tick):
|
| | | global g_helpBattleNotifyTimeDict
|
| | | |
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | dogzID = clientData.DogzID
|
| | |
| | | SetDogzIsHelpFight(curPlayer, dogzID, isFight)
|
| | | RefreshDogzAttr(curPlayer)
|
| | | PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
|
| | | |
| | | if isFight and ipyData.GetHelpBattleNotify():
|
| | | curTime = int(time.time())
|
| | | notifyKey, notifyParamList, notifyCD = ipyData.GetHelpBattleNotify()
|
| | | lastNotifyTime = g_helpBattleNotifyTimeDict.get(dogzID, 0)
|
| | | if curTime - lastNotifyTime >= notifyCD * 60: |
| | | PlayerControl.WorldNotify(0, notifyKey, notifyParamList)
|
| | | g_helpBattleNotifyTimeDict[dogzID] = curTime
|
| | | return
|
| | |
|
| | |
|