public override void OnTickIdle(ObjNPC npc, float delta) { if (npc.Scene == null) { return; } if (npc.IsDead()) { return; } if (npc.IsAggressive()) { if (npc.TableNpc.ViewDistance > 0) { var target = npc.ScanEnemy((float)npc.TableNpc.ViewDistance); if (target != null) { npc.EnterState(BehaviorState.Combat); npc.PushHatre(target, 1); npc.AddEnemy(target.ObjId); target.AddEnemy(npc.ObjId); // 搜索仇恨组 if (npc.tbSceneNpc != null && npc.tbSceneNpc.ChouHenGroupId != -1) { TryToCallPartner(npc, target, 2000); } } } } }
public override void OnTickIdle(ObjNPC npc, float delta) { if (npc.Scene == null) { return; } if (npc.IsDead()) { return; } if (npc.IsAggressive()) { if (npc.TableNpc.ViewDistance > 0) { var target = npc.ScanEnemy((float)npc.TableNpc.ViewDistance); if (target != null) { npc.EnterState(BehaviorState.Combat); npc.PushHatre(target, 1); npc.AddEnemy(target.ObjId); target.AddEnemy(npc.ObjId); } } } }
public override void OnTickIdle(ObjNPC npc, float delta) { var target = npc.ScanEnemy(50); if (target != null) { npc.EnterState(BehaviorState.Combat); npc.PushHatre(target, 1); npc.AddEnemy(target.ObjId); target.AddEnemy(npc.ObjId); } }