Added the shield abstract class and modified the weapon abstract class.