-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Magicylsm] Audit Magiclysm Organization #78931
Conversation
Normally the answer is don’t organize. But magiclysm may be a special case as there are quite a few files I recall that have the same types of things stuffed in them to the point new contributors ask which file to use. I’ll review this |
I can totally see why it would be undesirable for people to be trying to organize things all the time. And I can rein back my ambitions and stop at this PR. I think I got all the big things and glaring offenders. I did mildly want to touchup how the mapgen folder is structured but it's not a big deal. More nitpicking since I am probably going to be living in that folder for awhile while I work on maps for Magicylsm. Next up is more variants of the magic cabin we all know and love. 😀 Oh and before I forget: Thank you for agreeing to review the PR. |
Summary
Mods "Audit Magiclysm Organization Part 1"
Purpose of change
Okay hear me out:
From a organizational stand point Magiclysm is kind of mess right now. I get that's probably just the nature of open source projects. But I felt it would be prudent to take a moment to refresh and re-organize things a bit and take out some of the worst offenders. Like the traits folder that has no clear defined delineation between mutations. Or EOCs being stored in the effects folder. Or the multiple instances of just blatantly redundant files like "Qualities" and "Tool_Qualities".
Describe the solution
Hope this isn't too much for one PR but here we go! (Sorry Maleclypse!)
Remove Redundant Files:
Re-organize Terrain and Furniture
Sort out Effects and Effects on Conditions
Re-organize Migration and Obsoletion
Re-organize the Mutations folder and nuke the traits folder
Describe alternatives you've considered
I considering sorting out more of the folders but for now this feels like already too much. I got a little carried away. Again so sorry.
I considered splitting up mutations.json into a sort of magic_mutations.json that just contained mana related mutations and merging the school_deficiencies mutations into that. but opted against it. Primarily because it would orphan some mutations like Iron_allergy. I also just generally feel the school deficiencies are sufficiently different to stand in their own file.
Magic classes and Mutation paths don't strictly need their own subfolders but the mutation folder is pretty crowded. While I don't think we will get any more files related to classes, it could be possible we get more mutation paths in the future.
Fantasy Species aren't exactly mutation paths in the traditional sense but they are close enough in nature I felt it was appropriate to move them into the mutation paths folder. But I could have left them in the larger mutations folder.
I could have left the demo traits in their own file but I felt there was enough cross-over with the shapeshifting mutations to put it in there. Though it could also fit into the spell invoked mutations since it's not a full animal shapeshift like the others in that file.
I could have left the traits folder in. But the core game doesn't really draw a line between traits and mutations (to my knowledge). And the line was already getting blurred with things that were quite obivously mutations living in the traits folder. Collapsing everything into mutations removes the need to maintain this weird blurry line and just call all mutations as they are.
I strongly considered merging techniques.json and fantasy_species_techniques.json but felt each had their own differences sufficient to maintain the separation. Primarily for ease of adding future fantasy species.
The shapeshifting could technically fall under the umbrella of spell invoked mutations but I kept them separate. The shapeshifting mutations have a decent amount of heft to them and there's enough for me to want to keep them separate. But we could defiantly merge those files if we wanted.
I could always sort things further with greater levels of folders but I was trying not to go folder crazy creating way more organization than is currently needed.
Testing
All I did was move stuff around and rename stuff. So my testing primarily consisted of launching a world with Magicylsm to check for syntax errors like any orphaned commas or brackets. (It was fine)
Additional context