Hello! I'm working on a text adventure and planned to have a narrator sprite to occasionally change depending on which command you enter. Here's the current scene layout:

That concept seemed pretty simple, I'd just change the sprite's texture via code and I'd be done. I wrote the following function in the Sprite object's Script:
extends Sprite
var normal = load("res://Characters/TheNarrator/narrator.png");
var confused = load("res://Characters/TheNarrator/narratorcnfused.png")
func change_sprite(sprite_name: String):
match(sprite_name):
"normal":
if texture != normal:
texture = confused;
"confused":
if texture != confused:
texture = confused;
_:
pass;
I have another node, a child of the "game" scene. use the function (Narrator is a singleton so everything can reference it) after the player types "jump" into the console.
func jump() -> String:
Narrator.change_sprite("confused")
return "Are you proud of yourself?"
But, when I run the game, this happens:

Nothing seems to change, the only difference there appears to be is a barely visible sprite in the top left corner:

Now, I've changed the position of the sprite to NOT be the corner of the screen and the original sprite's scale is increase by 3 when I import it. I've combed the Godot documentation and can't seem to find anything that explains the issue I'm having. Any advice would be appreciated. Thanks.