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

Tell us what’s happening:

Your code so far

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

Kinda stuck here. Thanks in advance!

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();
}
}
}

WARNING

The challenge seed code and/or your solution exceeded the maximum length we can port over from the challenge.

You will need to take an additional step here so the code you wrote presents in an easy to read format.

Please copy/paste all the editor code showing in the challenge from where you just linked.

Replace these two sentences with your copied code.
Please leave the ``` line above and the ``` line below,
because they allow your code to properly format in the post.

Your browser information:

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

Challenge Information:

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

if it has to be the condition, it has to go between the round parenthesis just after the if

Like this?:

if (isMonsterHit){

}
tried it, but it doesn’t work unfortunately.

The error I get:
You should add an if statement which calls isMonsterHit in the condition.

you need to call isMonsterHit in the condition, you are missing ()

Thanks Ilenia for your help! I got it.

1 Like