public boolean equip(Character character){

		try{
			character.getInventory().searchItem(this.getName());
		}catch (NullPointerException e) {
			System.out.println("Armor nao existe no inventario!");
			return false;
		}

		// -Caso o personagem tenha estourado sua capacidade maxima de carregar armor
		//  foi decidido que a armor equipada sera desequipada para dar lugar
		//  para a nova armor
		// -Caso nao seja uma armor, ele vai ver que nao mudou o numero de armor no
		//  inventario e vai continuar a busca pelo proximo item equipado

		int pos = -1;
		while (character.getInventory().getArmorCounter() >= 1){

			boolean found = false;
			for (int i = pos+1; found == false; i++) {
				if (character.getInventory().getPair(i).second()){
					pos = i;
					found = true;
				}
			}

			if (pos != -1){

				character.getInventory().searchItem(pos).unequip(character);

				if (character.getInventory().getArmorCounter() >= 1){
					character.getInventory().searchItem(pos).equip(character);

				}
			}
		}


		// Procurando pela posicao do item
		int position = 0;

		for (int i=0; character.getInventory().searchItem(i) != null; i++){
				if(character.getInventory().searchItem(i).getName().equals(this.getName()))
					position = i;
	    }

	    // Reduzindo velocidade pelo uso de 'armor'(s' = s*e^[-(w/20)^2])
	    character.setSpeedArmor((int)(character.getSpeed() - (character.getSpeed()*Math.exp((-1)*Math.pow(this.getWeight()/20, 2)))));

		if (!character.getInventory().getPair(position).second()){
			character.getInventory().getPair(position).setSecond(true);
			character.getInventory().setArmorCounter(1);
		}

		return true;
		
	}