public void RemovePartyEnemy(CreatureObject PartyEnemy) { if (Enemies.Contains(PartyEnemy)) { Enemies.Remove(PartyEnemy); } if (EnemyHardTargets.Contains(PartyEnemy)) { EnemyHardTargets.Remove(PartyEnemy); } if (EnemySoftTargets.Contains(PartyEnemy)) { EnemySoftTargets.Remove(PartyEnemy); } if (EnemySpellcasters.Contains(PartyEnemy)) { EnemySpellcasters.Remove(PartyEnemy); } if (EnemyHealers.Contains(PartyEnemy)) { EnemyHealers.Remove(PartyEnemy); } }
public void AddPartyEnemy(CreatureObject PartyEnemy) { if (PartyEnemy == null) { throw new ApplicationException("Trying to add party enemy, but that creature does not exist."); } if (!Enemies.Contains(PartyEnemy)) { Enemies.Add(PartyEnemy); } if (CanPartySee(PartyEnemy)) { int EnemyArmorRank = PartyEnemy.Script.GetArmorRank(PartyEnemy.Script.GetItemInSlot(CLRScriptBase.INVENTORY_SLOT_CARMOUR, PartyEnemy.ObjectId)); if ((EnemyArmorRank == CLRScriptBase.ARMOR_RANK_HEAVY || EnemyArmorRank == CLRScriptBase.ARMOR_RANK_MEDIUM) && !EnemyHardTargets.Contains(PartyEnemy)) { EnemyHardTargets.Add(PartyEnemy); } if (EnemyArmorRank == CLRScriptBase.ARMOR_RANK_LIGHT || EnemyArmorRank == CLRScriptBase.ARMOR_RANK_NONE) { EnemySoftTargets.Add(PartyEnemy); } if (_LooksLikeSpellcaster(PartyEnemy)) { EnemySpellcasters.Add(PartyEnemy); } } else { EnemiesLost.Add(PartyEnemy); } }