Hrekto said: Just want to say thanks for all the feedback you've given on the forum - I've figured out the shortcomings of my previous posts, however I have another question. Is there a way to increment replacement key values, esp those in inline replacements? For instance: Using PCMH, for the purposes of passing the ~SSL$ replacement key in the Cast-Lx macros to a generic API call, is there a way to increment that value by one to use chatsetattr to increment/reduce a character's current spell slots? Currently I think I have the generic api call down, but ofc the value passed is one less (although I understand why - it's using the value for Higher Level Casting). I have a workaround or two, but they involve more drop down boxes and I'm trying to limit clicks or using too many conditionals (per my older posts - yikes) Thanks! --['~SSL$' -eq '0']Level 1 Slots|[[~le1$-1]] of [[~lt1$]] remaining --['~SSL$' -eq '1']Level 2 Slots|[[~le2$-1]] of [[~lt2$]] remaining --['~SSL$' -eq '2']Level 3 Slots|[[~le3$-1]] of [[~lt3$]] remaining --['~SSL$' -eq '3']LLevel 4 Slots|[[~le4$-1]] of [[~lt4$]] remaining --['~SSL$' -eq '4']LLevel 5 Slots|[[~le5$-1]] of [[~lt5$]] remaining --['~SSL$' -eq '5']LLevel 6 Slots|[[~le6$-1]] of [[~lt6$]] remaining --['~SSL$' -eq '6']LLevel 7 Slots|[[~le7$-1]] of [[~lt7$]] remaining --['~SSL$' -eq '7']LLevel 8 Slots|[[~le8$-1]] of [[~lt8$]] remaining --['~SSL$' -eq '8']LLevel 9 Slots|[[~le9$-1]] of [[~lt9$]] remaining --api_modbattr|_name ~S-CN$ _zzzjunk|[[ [$a] 0d0+~SSL$+1]] _lvl[^a]_slots_expended|-1 _mute I added these to the SpellCast Template from pcmhelper and changed the Spellcasting Macros from PCMHelper to !power {{ --titlefontshadow|none --replacespell|@{selected|character_id}|?{Spell to Cast|@{selected|l1_spell_list}} --inlinereplace|SSL|?{Spell Slot Level?|1,0|2,1|3,2|4,3|5,4|6,5|7,6|8,7|9,8};le1|@{selected|lvl1_slots_expended};le2|@{selected|lvl2_slots_expended};le3|@{selected|lvl3_slots_expended};le4|@{selected|lvl4_slots_expended};le5|@{selected|lvl5_slots_expended};le6|@{selected|lvl6_slots_expended};le7|@{selected|lvl7_slots_expended};le8|@{selected|lvl8_slots_expended};le9|@{selected|lvl9_slots_expended};lt1|@{selected|lvl1_slots_total};lt2|@{selected|lvl2_slots_total};lt3|@{selected|lvl3_slots_total};lt4|@{selected|lvl4_slots_total};lt5|@{selected|lvl5_slots_total};lt6|@{selected|lvl6_slots_total};lt7|@{selected|lvl7_slots_total};lt8|@{selected|lvl8_slots_total};lt9|@{selected|lvl9_slots_total} --replaceattrs|S-|@{selected|character_id} --replaceattrs|T-|@{target|character_id} --replacement|Advantage --template|Basics|@{selected|token_id};@{target|token_id};casts ~SP-NAME$;~SP-NAME$;Save DC ~S-SSDC$;~SP-RANGE$;@{selected|whispertoggle} --template|SpellCast|~@{selected|rtype}$;@{selected|whispertoggle};@{selected|global_attack_mod} }} There might be other changes from my personal edits in there, but this should get you a long way there. edit: I couldn't get chatsetattr to work without the zzzjunk attribute for the roll...it doesn't do anything else, and it worked this way, so I was to lazy to look further ;P edit2: you don't need all the conditional lines and the le and lt replacements, if you don't want to display the Spell levels, and you don't need the changes to the macro. If you only want the Spell levels decreased, the api call alone should be the only change you need.