That's easy to program in, but then it wouldn't be a glitch now would it?

All you need to do is a Jython equivalent to this 68k syntax:
Q_Glitch:
tst.b (Is_Q/CharizardM_In_The_Box_flag).w ; is Q/Charizard M in the box?
beq.s Q_Glitch_Return ; If not, recheck
tst.b (Withdraw_Flag).w ; has a pokemon been withdrawn?
beq.s Q_Glitch_Return ; if not, recheck
tst.b (Withdrawn_Pokemon_Above_CharizardM/Q_Flag).w ; was the withdrawn pokemon above CharizardM/Q
beq.s Q_Glitch_Return ; if not, recheck
tst.b (Pokemon_Below_CharizardM/Q) ; are there pokemon below CharizardM/Q?
beq.s Q_Glitch_Return ; If not, recheck
move.l (Pokemon_1_below_CharizardM/Q's_Stats_Name_and_moves).w,d0 ; move stats and name and moves to d0
move.l (Pokemon_2_below_CharizardM/Q's_Stats_Name_and_moves).w,d1 ; move stats and name and moves to d0
move.l d0,d2 ; move d0 to d2
move.l d1,d3 ; move d1 to d3
move.l d3,d0 ; move d3 to d0
move.l d2,d1 ; move d2 to d1
clr.l d3 ; clear d3's value
clr.l d2 ; clear d2's value
Q_Glitch_Return:
rts ; return to Q_Glitch