Learn Basic JavaScript by Building a Role Playing Game - Step 157

Tell us what’s happening:

Hi so I am on step 157 and I am trying to modify my existing if statement. I can’t see my error.

I’ve added the logical AND && and to me it looks complete, but what am I missing?

Your code so far

<!-- file: index.html -->

/* file: styles.css */

/* file: script.js */
// User Editable Region

function attack() {
  text.innerText = "The " + monsters[fighting].name + " attacks.";
  text.innerText += " You attack it with your " + weapons[currentWeaponIndex].name + ".";
  health -= getMonsterAttackValue(monsters[fighting].level);
  if (isMonsterHit()) {
    monsterHealth -= weapons[currentWeaponIndex].power + Math.floor(Math.random() * xp) + 1;    
  } else {
    text.innerText += " You miss.";
  }
  healthText.innerText = health;
  monsterHealthText.innerText = monsterHealth;
  if (health <= 0) {
    lose();
  } else if (monsterHealth <= 0) {
    if (fighting === 2) {
      winGame();
    } else {
      defeatMonster();
    }
  }
   if (Math.random() <= 1 && inventory.length !== 1) {
    text.innerText += " Your " + inventory.pop() + " breaks.";
    currentWeaponIndex--;
  }
}

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

Challenge Information:

Learn Basic JavaScript by Building a Role Playing Game - Step 157

you changed this, you need to restore it to what it was

1 Like

if (Math.random() <= .1) && inventory.length !== 1 {
text.innerText += " Your " + inventory.pop() + " breaks.";
currentWeaponIndex–;
}

I have reset and now there’s still an error

check the parentheses of the if, remember that the whole condition goes inside the parentheses

1 Like

Thank you! I got it =)