First time contributing on GitHub, seeking guidance

Hey, as the title says this is my first time actually contributing and I’m not feeling 100% on what I’m doing. Basically just started using GitHub today and I need to know if I’m doing everything right, if I have a good grasp on how contributing works, as well as get some advice for my changes.

So I have my personal forked version of Cata, I have a separate branch from the master for the patch I’m going to put a PR in for, and I’ve made 5 commits to the separate branch. At this point, if I’m happy with the changes I’ve made and ensured that the game compiles and runs without crashing due to any of my changes, do I just click the ‘Compare & pull request’ button, give the pull request a title, hit ‘Create pull request’, and then it’ll show up alongside the 68 other open pull requests right now? And after that, it gets discussed, changes are made if necessary, and it’s either rejected and closed or accepted and then mainlined? Is that all correct?

And as for the change itself, I wanted to change the Omnicellular trait to spawn custom NPCs similar to Apis instead of slimespring monsters. The NPCs are named Slimespring, Slime mutated, and automatically friendly to the player. I had to make a new summon_npc function in game.cpp/game.h, and use it in place of summon_mon in mutation.cpp. Problems I’ve come across and don’t know how to fix are that many of the base stat changing mutations don’t seem to work on NPCs, and the Slimespring NPCs still receive endings after the player dies. I am unsure whether or not the slimespring’s receiving epilogues is appropriate, as I don’t know what they’re actually supposed to be. It was my original assumption that they are essentially smaller versions of the post-threshold player, and possibly part of a basic hivemind. My biggest concern is that my image of what slimespring’s are supposed to be might not match the devs’ image.

Your understanding of the contribution process is correct, nothing to add there. I’ll reply to your other thread with content feedback (nothing really bad, seems like a good idea in general).