Basically, after a certain battle error occurs with a engage trainer, a player becomes "cursed" as we affectionately call it. The result is that no engage trainers will engage the player and throwing a pokemon at the trainer crashes the server.
What it looks like:
https://www.youtube.com/watch?v=XSbHv23eFK8Crash report indicates it as a entity tick error meaning that the curse was either the player or the mon. Since it didn't matter which mon you threw at the trainer it would crash the server, we figured it was a player curse. After some more digging and testing it appears that a single pokemon is cursed and as long as it is in your party, you are cursed as well. Once the cursed mon is found and removed from the party, the engage NPCs engage normally and you dont crash the server for throwing your mon.
Attempted fixes:
Deleting the pokemon and replacing it with a new one: the new mon takes on the curse of the old one making me believe the curse is a game file relating to the NAME of the pokemon
Nicknaming the pokemon - didnt work either so its probably with the base mon
Trading the mon to another player: Made sure the npc could engage the player beforehand, traded the cursed mon to the player and had them dump their entire party minus the cursed mon and the trainer did not engage anymore. This leads me to believe it is a server-wide cursed pokemon.
Mods used: