int maxHealth; // THe maximum health the entity has

        #endregion Fields

        #region Constructors

        // Constructor; Derived classes create an entity object
        public Hostile(int ID, GameObject gameObject)
            : base(ID, gameObject)
        {
            // Get the GameObject's ally script
            allyScript = GameObj.GetComponent<AllyList>();

            #region IEquipment Variable Initialisation

            // The entity isn't wearing any armour, wielding any weapon, or has any bonuses
            equippedArmor = null;
            equippedWeapon = null;
            bonuses = new List<Bonus>();
            attackPower = 0;
            defencePower = 0;

            #endregion

            #region IDamageable Variable Initialisation

            // The default hard coded values for now.
            health = 50;
            maxHealth = 50;
            isDead = false;

            #endregion
        }
        MercenaryMB script; // THe script reference for the Mimic enemy.

        #endregion Fields

        #region Constructors

        // Constructor used to create a Mercenary entity
        public Mercenary(int ID, GameObject gameObject)
            : base(ID, gameObject)
        {
            // Set the entity's type to Mercenary
            Type = EntityType.Mercenary;

            // Also set the entity's friendly type
            FriendlyType = Entities.FriendlyType.Mercenary;

            // Set the entity's script reference
            script = GameObj.GetComponent<MercenaryMB>();

            #region IEquipment Variable Initialisation

            // The entity isn't wearing any armour, wielding any weapon, or has any bonuses
            equippedArmor = null;
            equippedWeapon = null;
            bonuses = new List<Bonus>();
            attackPower = 0;
            defencePower = 0;

            #endregion
        }
 // Unequips a weapon for the entity
 public void UnequipWeapon(Weapon weapon)
 {
     // Only unequip the weapon if the merchant is wielding any
     if (equippedWeapon != null)
     {
         // Unequip the given weapon
         attackPower -= weapon.AttackValue;
         equippedWeapon = null;
     } // end if
 }
        // Equips a weapon for an entity
        public void EquipWeapon(Weapon weapon)
        {
            // Check if the merchant is wielding a weapon
            if (equippedArmor == null)
            {
                // The merchant isn't wielding a weapon so just equip the given weapon
                attackPower += weapon.AttackValue;
                equippedWeapon = weapon;
            } // end if
            else
            {
                // The merchant is already wielding a weapon so unequip it first
                UnequipWeapon(equippedWeapon);

                // Now wield the given weapon
                attackPower += weapon.AttackValue;
                equippedWeapon = weapon;
            } // end else
        }