Example #1
0
            public void Visit(AreaBomb bomb)
            {
                if (!_npc.IsInAggroRange(bomb))
                {
                    return;
                }

                // csak akkor ha van is mivel tamadni
                if (!_npc.ActiveModules.Any(m => m is WeaponModule))
                {
                    return;
                }

                // ha valaki mar foglalkozik a bombaval akkor ne csinaljon semmit

                var g = _npc._group;

                if (g != null && g.Members.Any(m => m.ThreatManager.Contains(bomb)))
                {
                    return;
                }

                var threat = Threat.BODY_PULL;

                if (!_npc.ThreatManager.Hostiles.IsEmpty)
                {
                    var h = _npc.ThreatManager.GetMostHatedHostile();
                    if (h != null)
                    {
                        threat = h.Threat * 100;
                    }
                }

                _npc.AddThreat(bomb, new Threat(ThreatType.Bodypull, threat + FastRandom.NextDouble(0, 5)));
            }
Example #2
0
 internal override bool IsHostile(AreaBomb bomb)
 {
     return(true);
 }