After seeing this, I thought that if there's a command to forfeit then there must be a command for skipping your turn too. I digged the API a bit and well well, here is a macro which can be binded for skipping a turn in battle:/run C_PetBattles.SkipTurn()
And to kick this up a notch, there is also a API command to directly swap certain pet to the battle (currently behind key 4 but then you need to select the pet manually with mouse). So if you create proper macros for these and bind them, you don't ever need to use mouse while battling. /run C_PetBattles.ChangePet(i)
is 1, 2 or 3 meaning the respective pet slot in your pet journal.
Ok, sorry, but I'm not done yet. So with all the three macros above you would need to make several new macros (total of 5) and if you are like me, you are getting low on free macro slots. Thus I'll give you two macros which combine the functionality from all the macros above. So the first one:/run if ( IsShiftKeyDown() ) then C_PetBattles.ForfeitGame() else C_PetBattles.SkipTurn() end
And what does that macro do? Well, if you press the key binded for it, it will pass your turn but if you press it while shift pressed down, it will forfeit the whole game. Onto the second:/run if ( IsShiftKeyDown() ) then C_PetBattles.ChangePet(2) elseif ( IsAltKeyDown() ) then C_PetBattles.ChangePet(3) else C_PetBattles.ChangePet(1) end
This is pretty straight-forward too: if you press your macro, it will swap in pet 1 but if you press shift while at it, it will swap pet 2 aaaaaand finally if pressed with alt down it will swap in pet 3.
If you want to use control instead, you can use IsControlKeyDown() in the macros above instead.
Enjoy these, I'm off to play around a bit with them