10263 【越南】【英文】【BT】【砍树】后端支持NPC仿真实玩家战斗和快速战斗(快速战斗后退出副本优化buff通知)
| | |
| | | PlayerControl.SetPlayerSightLevel(curPlayer, self.battleID) # 视野层级默认为战场ID,每场战斗的玩家独立视野
|
| | | PlayerControl.SetSight(curPlayer, ChConfig.Def_PlayerSight_Default * 3)
|
| | | GameObj.SetHPFull(curPlayer) # 回满血
|
| | | PlayerControl.SetProDef(curPlayer, PlayerControl.GetMaxProDef(curPlayer))
|
| | | SkillCommon.ResetAllSkillCD(curPlayer) # 重置技能CD
|
| | | return
|
| | |
|
| | |
| | | return
|
| | | ownerPlayerID = battle.playerID
|
| | | isSysbg = battle.isSysbg
|
| | | GameWorld.DebugLog("清除镜像战斗: battleID=%s,ownerPlayerID=%s,isSysbg=%s" % (isSysbg, ownerPlayerID, isSysbg), battleID)
|
| | | isQuick = battle.isQuick
|
| | | GameWorld.DebugLog("清除镜像战斗: battleID=%s,ownerPlayerID=%s,isSysbg=%s,isQuick=%s" % (isSysbg, ownerPlayerID, isSysbg, isQuick), battleID)
|
| | | playerMgr = GameWorld.GetPlayerManager()
|
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | |
|
| | |
| | | curPlayer.SetFaction(info.get("Faction", 0))
|
| | | PlayerControl.SetPlayerSightLevel(curPlayer, info.get("SightLevel", 0))
|
| | | PlayerControl.SetSight(curPlayer, ChConfig.Def_PlayerSight_Default)
|
| | | |
| | | if not isQuick:
|
| | | continue
|
| | | |
| | | GameObj.SetHPFull(curPlayer) # 回满血
|
| | | PlayerControl.SetProDef(curPlayer, PlayerControl.GetMaxProDef(curPlayer))
|
| | | SkillCommon.ResetAllSkillCD(curPlayer) # 重置技能CD
|
| | | curPlayer.SetAttackTick(tick)
|
| | | ChPlayer.__Sync_ClientBuff(curPlayer)
|
| | |
| | | m_NAtagUseSkillPos=tagUseSkillPos()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagUseSkillPos.Head.Cmd,m_NAtagUseSkillPos.Head.SubCmd))] = m_NAtagUseSkillPos
|
| | |
|
| | | #06 12 根据类型清空对象的buff#tagClearObjBuff
|
| | |
|
| | | class tagClearObjBuff(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ObjType", c_ubyte), |
| | | ("ObjID", c_int), |
| | | ("BuffType", c_ubyte), #buff类型
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0x06
|
| | | self.SubCmd = 0x12
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0x06
|
| | | self.SubCmd = 0x12
|
| | | self.ObjType = 0
|
| | | self.ObjID = 0
|
| | | self.BuffType = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagClearObjBuff)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''//06 12 根据类型清空对象的buff//tagClearObjBuff:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | ObjType:%d,
|
| | | ObjID:%d,
|
| | | BuffType:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.ObjType,
|
| | | self.ObjID,
|
| | | self.BuffType
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagClearObjBuff=tagClearObjBuff()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagClearObjBuff.Cmd,m_NAtagClearObjBuff.SubCmd))] = m_NAtagClearObjBuff
|
| | |
|
| | | #06 05 对象增加Buf#tagObjAddBuff
|
| | |
|
| | | class tagObjAddBuff(Structure):
|
| | |
| | | #@return 返回值无意义
|
| | | #@remarks 通知玩家buff信息
|
| | | def __Sync_ClientBuff(curPlayer):
|
| | | __SyncClearBuff(curPlayer)
|
| | | curPlayer.GetBuffState().Sync_Buff()
|
| | | curPlayer.GetDeBuffState().Sync_Buff()
|
| | | curPlayer.GetAura().Sync_Buff()
|
| | | curPlayer.GetIncBuff().Sync_Buff()
|
| | | curPlayer.GetProcessBuffState().Sync_Buff()
|
| | | curPlayer.GetProcessDeBuffState().Sync_Buff()
|
| | | return
|
| | |
|
| | | def __SyncClearBuff(curPlayer):
|
| | | clientPack = ChNetSendPack.tagClearObjBuff()
|
| | | clientPack.Clear()
|
| | | clientPack.ObjType = curPlayer.GetGameObjType()
|
| | | clientPack.ObjID = curPlayer.GetID()
|
| | | clientPack.BuffType = 99 # 99代表清所有
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack) |
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ##上线时通知离线时间(离线挂机功能)
|