public override bool IsEnemy(Mobile m) { // Basically, this makes them FightMode.Agressor. More can can be added in to make htem attack others, such as other tribes, etc. bool valid = Aggressors.FirstOrDefault(a => a.Attacker == m) != null; if (!valid && MyrmidexInvasionSystem.Active) { valid = MyrmidexInvasionSystem.AreEnemies(this, m); } return(valid); }
public virtual void TurnCorrupted(Mobile from) { if (!UOACZSystem.IsUOACZValidMobile(from)) { return; } if (Corrupted) { return; } if (from is PlayerMobile) { PlayerMobile player = from as PlayerMobile; UOACZPersistance.CheckAndCreateUOACZAccountEntry(player); player.m_UOACZAccountEntry.WildlifeCorrupted++; } UOACZEvents.SpreadCorruption(); Combatant = null; Aggressed.Clear(); Aggressors.Clear(); Warmode = false; m_Corrupted = true; Hue = CorruptHue; Name = CorruptedName; CorpseNameOverride = CorruptedCorpseName; PublicOverheadMessage(MessageType.Regular, 2210, false, "*becomes corrupted*"); Effects.SendLocationParticles(EffectItem.Create(Location, Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2530, 0, 2023, 0); TimedStatic greenGoo = new TimedStatic(0x122D, 5); greenGoo.Name = "corruption"; greenGoo.Hue = 2530; greenGoo.MoveToWorld(Location, Map); PlaySound(GetAngerSound()); PlaySound(0x62B); for (int a = 0; a < 4; a++) { greenGoo = new TimedStatic(Utility.RandomList(4651, 4652, 4653, 4654), 5); greenGoo.Name = "corruption"; greenGoo.Hue = 2530; Point3D targetLocation = new Point3D(Location.X + Utility.RandomList(-1, 1), Location.Y + Utility.RandomList(-1, 1), Location.Y); SpellHelper.AdjustField(ref targetLocation, Map, 12, false); greenGoo.MoveToWorld(targetLocation, Map); } SetCorruptAI(); DamageMin = (int)(Math.Round((double)DamageMin * CorruptedDamageScalar)); DamageMax = (int)(Math.Round((double)DamageMax * CorruptedDamageScalar)); AttackSpeed = (int)(Math.Round((double)AttackSpeed * CorruptedAttackSpeedScalar)); Skills.Wrestling.Base *= CorruptedWrestlingScalar; }