Suggestion: Moving Artifact data from source code to json files

Currently, the effects of the artifacts are hard coded in the enums.h and artifact.h. I thought, to separate logic from data, maybe we should create an artifact.json which contains all the data of the artifacts?

That idea came to me when I was trying to add an item “Powered Exoskeleton” in my mod. The Exoskeleton is designed to have “Strength +1” effect when worn and turned on. I thought some artifacts have the effects to modify player’s stats and the Powered Exoskeleton could be implemented as an artifact. However, I couldn’t find related json files, and I wander whether it is okay to create one? Creating artifact.json also allows customizing messages when the effects are trigged.

BTW, I find the “effect” class very powerful. Great extensibility as well as wonderful functionality. So maybe add an effect field to the item class? (I only read a few codes of the project, so I wander whether this is a proper suggestion to make… :slight_smile:
Thanks!