I could be wrong but I think you are going through a phase of development I call "functional procrastination", that is, when there is a higher priority task at hand but you subconsciously delay it because the work load is greater than some other task.
You know you should be doing the more important stuff like mobs, attacking etc. the core functionalities of the game essentially, but instead you delay it and work on something that is simpler in essence and should really only come later in development. The problem with this is that you will be left with all of the exhausting tasks later on and is highly discouraging.
You should focus on having highly maple-like movements, attacking and mobs before you start thinking about npcs and the different menus. You need the core gameplay, working in "chronological" order for lack of a better word.
It's possible that your right, but I didn't even think about this.
The thing is, I don't have a plan in mind what "should" come next after every step. So I actually considered mobs/attacking to be something done after portals worked, just because to get to a mob map I would have to use a portal. I think that that also comes down to preference.
And another thing I have to add is that I didn't really think yet about which features would be difficult to add and which not. This is the first project I have done in c++ (aside from homework) so I don't have a grasp on all the features of the language yet. So for the most part it's hard to tell what's going to be hard and what will be easy, it usually comes down to if I can code something in the same way that I have coded other stuff before or If I need more complicated code.