The advanced character, after reviewing the code is really not advanced and just a simple conditional statement with 5 states. The logic and user interactions is is basic at best. If you want an advanced character you should be looking into behavior trees. I understand the idea of leveraging what the web3 has to offer, but to make this example relevant I think it needs to target real solutions. Also what is the performance on obtaining the NFT sword? Taking those points into the tutorial it would make it useful and applicable to actual work.