| | |
| | | # 设置npc死亡及自身处理
|
| | | SetDeadEx(summonNPC)
|
| | |
|
| | | if curNPC.GetGameObjType() == IPY_GameWorld.gotNPC and \
|
| | | curNPC.GetGameNPCObjType() == IPY_GameWorld.gnotSummon:
|
| | | FBLogic.DoFB_SummonNPCDead(curNPC)
|
| | | if curNPC.GetGameObjType() == IPY_GameWorld.gotNPC:
|
| | | FBLogic.DoFB_NPCDead(curNPC)
|
| | |
|
| | | summonPlayerID = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_SummonMapNPCPlayerID)
|
| | | if summonPlayerID > 0:
|
| | |
| | | # @remarks 刷新NPC属性
|
| | | def RefreshNPCAttrState(self, canSyncClient=True, isReborn=False):
|
| | | curNPC = self.__Instance
|
| | | curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC)
|
| | | #curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC)
|
| | | #清空NPC战斗属性
|
| | | curNPC.ClearBattleEffect()
|
| | | #--------------------------------------------
|
| | |
| | |
|
| | | return
|
| | |
|
| | | def SetHelpBattleRobotRebornAttr(self, fightPower):
|
| | | '''助战机器人只设置血量属性
|
| | | 血量算法,(助战玩家=助战机器人):每个副本配置伤害*(助战玩家战力/副本规定战力)*系数值 系数值暂定为50
|
| | | '''
|
| | | curNPC = self.__Instance
|
| | | mapID = FBCommon.GetRecordMapID(GameWorld.GetMap().GetMapID())
|
| | | funcLineID = FBCommon.GetFBPropertyMark()
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("FBHelpBattle", mapID, funcLineID)
|
| | | if not ipyData:
|
| | | return
|
| | | |
| | | SetSuppressFightPower(curNPC, fightPower)
|
| | | fbFightPower = ipyData.GetFightPowerMin()
|
| | | baseHurt = ipyData.GetRobotBaseHurt()
|
| | | hpCoefficient = ipyData.GetRobotHPCoefficient()
|
| | | maxHP = int(eval(IpyGameDataPY.GetFuncCompileCfg("HelpBattleRobot", 2)))
|
| | | GameWorld.DebugLog("设置助战机器人属性: objID=%s,fightPower=%s,maxHP=%s" % (curNPC.GetID(), fightPower, maxHP))
|
| | | GameObj.SetMaxHP(curNPC, maxHP)
|
| | | GameObj.SetHP(curNPC, maxHP)
|
| | | curNPC.Notify_HPEx()
|
| | | curNPC.Notify_MaxHPEx()
|
| | | return
|
| | |
|
| | | # NPC移动速度特殊处理,只处理百分比不能处理固定值
|
| | | # 因为 ChConfig.TYPE_Calc_AttrSpeed 非服务端移动速度,偷懒处理法
|
| | |
| | | # @remarks 刷新NPC行为属性
|
| | | def RefreshNPCActionState(self):
|
| | | curNPC = self.__Instance
|
| | | |
| | | OperControlManager.ClearObjActionState(curNPC)
|
| | |
|
| | | #根据BUFF 加上状态
|