Hi, I 'm not very good at source but you could try this if you like
in map/battle.c find
if( wd->flag & BF_SHORT ) { if( !is_boss(src) ) { if( sc->data[SC_DEATHBOUND] && skill_id != WS_CARTTERMINATION ) {
notice the bold part if( sc->data[sC_DEATHBOUND] && skill_id != WS_CARTTERMINATION ) {
try adding the skill id of the skill you want to bypass reflect like this
if( sc->data[SC_DEATHBOUND] && skill_id != WS_CARTTERMINATION && skill_id != GS_DESPERADO ) {
I believe that part i asked you to find is the part that tells that CT should by-pass reflect(according to irowiki, that's official).
Let me know if it works, if it does maybe i'll try helping you with safetywall too, unlike desperado you can probably not do the same thing on safety wall probably something like what's done on deathbound is needed for that or much complex.
So yeah, just test it on a test server first. Implement at your own risk okay xD