Sadly, I do not have a commit that only adds the Physical/Special split, because that was one of the first things I added and I wasn't using Github yet at the time. It's extremely simple though.
I have
this routine stored somewhere in the rom (it can be in any bank, so as not to waste room with engine/battle/core.asm where all the important stuff is).
Then inside engine/battle/core.asm, I have
this tiny routine that I can call from inside the bank that gets everything setup and then calls the main check. (Originally, I had the whole routine here, but that was taking up too much room and so I had to move it).
Then, you can search for PhysicalSpecialSplit inside engine/battle/core.asm to see the places to reference that. Basically, to do it like I did, you will need to:
- Find the routine that wrote the word "TYPE/" on the move select menu in battle, and change it the way I did. So now it will check the move ID, and print "PHYSICAL/", "SPECIAL/", or "STATUS/" instead, based on what the move is.
- You will need to find the routine that originally checked a move's type to see if it was Physical or Special, and modify it to now check a move's ID to see if it is physical or special. I think there were separate checks for the player and the opponent, but you'll find all of them if you search for the calls to that routine like I said.
- I also modified the effect for Counter, so that instead of checking to see if the opponent used a Normal or Fighting type attack, it instead checks to see if it was a Physical attack, regardless of the move's elemental type.
Hope this helps, and sorry I don't have an actual commit to link you to. Maybe one of these days I'll do what Danny-E33 has done and have a separate branch of vanilla Pokered that has commits for adding these features that I can use to show people, the way he has with things like adding new Pokémon. Anyways, hope this helps you at least know where to look.