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);
}
}