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

Tell us what’s happening:

The step description is very vague. I don’t think it’s really giving enough information on what is to done properly. Seems like its missing what the if statement is checking for. Any hints?

It is asking: In your attack function, below the health variable, create an if statement. Set the condition to call the isMonsterHit function.

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[currentWeapon].name + ".";
  health -= getMonsterAttackValue(monsters[fighting].level);
  if {
    isMonsterHit();
  }
  monsterHealth -= weapons[currentWeapon].power + Math.floor(Math.random() * xp) + 1;
  healthText.innerText = health;
  monsterHealthText.innerText = monsterHealth;
  if (health <= 0) {
    lose();
  } else if (monsterHealth <= 0) {
    if (fighting === 2) {
      winGame();
    } else {
      defeatMonster();
    }
  }
}

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

Challenge Information:

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

1 Like

In this challenge, it’s asking you to use the return value of isMonsterHit as a condition for your if statement.

1 Like

You need to call isMonsterHit() function within the if () condition, instead of calling it in the body {} of your if statement.
@LowVel0city

1 Like

Found the solution!

Thank you to everyone.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.