I have made up a couple of macros for concentration checks that I wanted to share. One for any spell caster and another with an added query for a Bladesinger
Standard Concentration check
Bladsinger Concentration check
Standard Concentration check
@{Selected|wtype}&{template:atkdmg} {{rname=CONCENTRATION CHECK}} {{mod=[[ [[@{Selected|constitution_save_bonus} ]][CON+PROF]@{Selected|globalsavingthrowbonus} ]] }} {{r1=[[1d20@{Selected|halflingluck}+[[@{Selected|constitution_save_bonus}]][CON+PROF]@{Selected|globalsavingthrowbonus} ]]}} @{Selected|rtype}@{Selected|halflingluck}+[[ @{Selected|constitution_save_bonus} ]][CON+PROF]@{Selected|globalsavingthrowbonus} ]]}} {{attack=1}} {{range=}} 0 {{dmg1=[[0]]}} {{dmg1type=}} 0 {{dmg2=[[0]]}} {{dmg2type=}} {{crit1=[[0[CRIT]]]}} {{crit2=[[0[CRIT]]]}} {{save=1}} {{saveattr=Constitution}} {{savedesc=or lose concentration}} {{savedc=[[[[([[ { floor(?{Damage Taken|10}/2), 10}kh1]])]][SAVE]]]}} {{desc=}} ammo= @{Selected|charname_output}
Bladsinger Concentration check
@{Selected|wtype}&{template:atkdmg} {{rname=CONCENTRATION CHECK}} {{mod=[[ [[ @{Selected|constitution_save_bonus} ]][CON+PROF]@{Selected|globalsavingthrowbonus} + [[ ?{Bladesong?|Y,1|N,0}*{@{selected|intelligence_mod},1}kh1 ]][Bladesong] ]] }} {{r1=[[1d20@{Selected|halflingluck}+[[@{Selected|constitution_save_bonus}]][CON+PROF]@{Selected|globalsavingthrowbonus} + [[ ?{Bladesong?|Y,1|N,0}*{@{selected|intelligence_mod},1}kh1 ]][Bladesong] ]] }} @{Selected|rtype}@{Selected|halflingluck}+[[ @{Selected|constitution_save_bonus} ]][CON+PROF]@{Selected|globalsavingthrowbonus} + [[ ?{Bladesong?|Y,1|N,0}*{@{selected|intelligence_mod},1}kh1 ]][Bladesong] ]]}} {{attack=1}} {{range=}} 0 {{dmg1=[[0]]}} {{dmg1type=}} 0 {{dmg2=[[0]]}} {{dmg2type=}} {{crit1=[[0[CRIT]]]}} {{crit2=[[0[CRIT]]]}} {{save=1}} {{saveattr=Constitution}} {{savedesc=or lose concentration}} {{savedc=[[[[([[ { floor(?{Damage Taken|10}/2), 10}kh1]])]][SAVE]]]}} {{desc=}} ammo= @{Selected|charname_output}Enjoy