How do I even complete Northwest?


#1

Even though there are no errors in the code, my baby griffin will just float away mindlessly and forget to tell the peasants, leaving me to die.

# Your pet should find and then bring the potion to the hero.

# This function checks if the word is in the text.
def wordInText(text, word):
    # Iterate through each character in the text.
    for i in range(len(text) - len(word) + 1):
        # For each of them loop through each character in word.
        for j in range(len(word)):
            # Store the shifted index i + j.
            shiftedIndex = i + j
            # If a character within the shifted index.
            # isn't equal to the character in word at the index "j"
            if text[shiftedIndex] != word[j]:
                # Break the loop.
                break
            # If j is equal to the index of the last letter in word
            if shiftedIndex == len(text) - len(word) - 1:
                # Then the entire word is in the text.
                # Return True.
                return True
    # The word was not found in text. Return False.
    return False

# Follow the guides directions where to run.
def onHear(event):
    # If "west" is in the phrase, the pet should run left.
    if wordInText(event.message, "west"):
        pet.moveXY(pet.pos.x - 28, pet.pos.y)
    # If "north" is in the phrase, the pet should run up.
    elif wordInText(event.message, "north"):
        pet.moveXY(pet.pos.x, pet.pos.y + 24)
    # Else the pet should try to fetch the potion.
    else:
        life = pet.findByType("potion")
        potion = pet.findNearest(life)
        if potion and pet.distanceTo(poiton) < 5:
            pet.fetch(potion)

pet.on("hear", onHear)

#2

Pets don’t have this method. Not sure why you changed the default code. It was:

potion = pet.findNearestByType("potion")