The random number generator is generating a number, and the dragon moves to that number vector location, but the number never changes
I will probably come across as a massive dick, but... You do realize that that's due to you never changing the variable ever?
Where you assign the `dragonRetreatFromPlayer` state, you can simply generate a new random number.