Major props to Teeklin for doing the trial and error work that made this possible, then posting his code.
#CLASS {DR MUD Prompt} {enable}
#VAR GSLStatus {H} {""}
#TRIGGER "Assemble_Prompt" {P} {#VAR GSLStatus %eval( %if( %pos( "B", %gsl( P)), "DEAD", %eval( %if( %pos( "GH", %gsl( P)), "K", %if( %pos( "H", %gsl( P)), "S", %if( %pos( "G", %gsl( P)), "P"))))%if( %pos( "N", %gsl( P)), "H")%if( %pos( "M", %gsl( P)), "U")%if( %pos( "C", %gsl( P)), "W")%if( %pos( "I", %gsl( P)), "s")%if( %pos( "P", %gsl( P)), "J")%if( %pos( "O", %gsl( P)), "!")))} "" {gsl|nocr}
#CLASS 0
Under GSL Emulation, set prompt to to: @GSLstatus>
M.