In response to this:&nbsp; <a href="https://app.roll20.net/forum/post/6292452/simplified-greyhawk-initiative-macro" rel="nofollow">https://app.roll20.net/forum/post/6292452/simplified-greyhawk-initiative-macro</a> I've created an api script to setup GH reversed using Jedd's rules and The Aaron's standard GH script. This can be achieved without API by creating a character called InitSys2, creating each ability in the list for this char, then creating a macro called "GH-Init-Rev" with the command towards the end of the script, and giving your players access to the macro. on('ready',function(){ "use strict"; const abilities= { reset: '@{selected|token_name} clears to [[0-@{selected|init_bonus} &amp;{tracker} ]]', move: '@{selected|token_name} will move: +[[1d6 &amp;{tracker:+}]]', moveD: '@{selected|token_name} will move (disadvantage): +[[2d6kh1 &amp;{tracker:+}]]', moveA: '@{selected|token_name} will move (advantage): +[[2d6kl1 &amp;{tracker:+}]]', bonus: '@{selected|token_name} will bonus action: +[[1d4 &amp;{tracker:+}]]', bonusD: '@{selected|token_name} will bonus action (disadvantage): +[[2d4kh1 &amp;{tracker:+}]]', bonusA: '@{selected|token_name} will bonus action (advantage): +[[2d4kl1 &amp;{tracker:+}]]', attack4: '@{selected|token_name} will attack 1d4 +[[1d4 &amp;{tracker:+}]]', attack4D: '@{selected|token_name} will attack 1d4 (disadvantage) +[[2d4kh1 &amp;{tracker:+}]]', attack4A: '@{selected|token_name} will attack 1d4 (advantage) +[[2d4kl1 &amp;{tracker:+}]]', attack6: '@{selected|token_name} will attack 1d6 +[[1d6 &amp;{tracker:+}]]', attack6D: '@{selected|token_name} will attack 1d6 (disadvantage) +[[2d6kh1 &amp;{tracker:+}]]', attack6A: '@{selected|token_name} will attack 1d6 (advantage) +[[2d6kl1 &amp;{tracker:+}]]', attack8: '@{selected|token_name} will attack 1d8 +[[1d8 &amp;{tracker:+}]]', attack8D: '@{selected|token_name} will attack 1d8 (disadvantage) +[[2d8kh1 &amp;{tracker:+}]]', attack8A: '@{selected|token_name} will attack 1d8 (advantage) +[[2d8kl1 &amp;{tracker:+}]]', attack10: '@{selected|token_name} will attack 1d10 +[[1d10 &amp;{tracker:+}]]', attack10D: '@{selected|token_name} will attack 1d10 (disadvantage) +[[2d10kh1 &amp;{tracker:+}]]', attack10A: '@{selected|token_name} will attack 1d10 (advantage) +[[2d10kl1 &amp;{tracker:+}]]', attack12: '@{selected|token_name} will attack 1d12 +[[1d12 &amp;{tracker:+}]]', attack12D: '@{selected|token_name} will attack 1d12 (disadvantage) +[[2d12kh1 &amp;{tracker:+}]]', attack12A: '@{selected|token_name} will attack 1d12 (advantage) +[[2d12kl1 &amp;{tracker:+}]]', spell: '@{selected|token_name} will cast a spell +[[1d12 &amp;{tracker:+}]]', spellD: '@{selected|token_name} will cast a spell (disadvantage) +[[2d12kh1 &amp;{tracker:+}]]', spellA: '@{selected|token_name} will cast a spell (advantage) +[[2d12kl1 &amp;{tracker:+}]]', swap: '@{selected|token_name} will swap gear: +[[1d4 &amp;{tracker:+}]]', swapD: '@{selected|token_name} will swap gear (disadvantage): +[[2d4kh1 &amp;{tracker:+}]]', swapA: '@{selected|token_name} will swap gear (advantage): +[[2d4kl1 &amp;{tracker:+}]]', other: '@{selected|token_name} will ?{something else}: +[[1d6 &amp;{tracker:+}]]', otherD: '@{selected|token_name} will ?{something else} (disadvantage): +[[2d6kh1 &amp;{tracker:+}]]', otherA: '@{selected|token_name} will ?{something else} (advantage): +[[2d6kl1 &amp;{tracker:+}]]', surprised: '@{selected|token_name} is surprised: +[[10 &amp;{tracker:+}]]' }; if(!findObjs({type:'character',name:'InitSys2'}).length){ let character = createObj('character',{name:'InitSys2'}); _.each(abilities,(v,k)=&gt;createObj('ability',{ characterid: character.id, name: k, action: v })); let gm=_.chain(findObjs({type:'player'})) .filter((p)=&gt;playerIsGM(p.id)) .first() .value(); createObj('macro',{ name: 'GH-Init-Rev', playerid: gm.id, action: `&amp;{template:default} {{name=Initiative: @{selected|token_name} }} {{Reset=[Init Bonus](~InitSys2|reset) }} {{Move=[1d6](~InitSys2|move)[D](~InitSys2|moveD)[A](~InitSys2|moveA) }} {{Swap=[1d4](~InitSys2|swap)[D](~InitSys2|swapD)[A](~InitSys2|swapA) }} {{Other=[1d6](~InitSys2|other)[D](~InitSys2|otherD)[A](~InitSys2|otherA) }} {{Melee 1d4=[1d4](~InitSys2|attack4)[D](~InitSys2|attack4D)[A](~InitSys2|attack4A) }} {{Melee 1d6=[1d6](~InitSys2|attack6)[D](~InitSys2|attack6D)[A](~InitSys2|attack6A) }} {{Melee 1d8=[1d8](~InitSys2|attack8)[D](~InitSys2|attack8D)[A](~InitSys2|attack8A) }} {{Melee 1d10=[1d10](~InitSys2|attack10)[D](~InitSys2|attack10D)[A](~InitSys2|attack10A) }} {{Melee 1d12=[1d12](~InitSys2|attack12)[D](~InitSys2|attack12D)[A](~InitSys2|attack12A) }} {{Spell=[1d12](~InitSys2|spell)[D](~InitSys2|spellD)[A](~InitSys2|spellA) }} {{Bonus Action=[1d4](~InitSys2|bonus)[D](~InitSys2|bonusD)[A](~InitSys2|bonusA) }} {{Surprised=[+10](~InitSys2|surprised) }}`, visibleto: 'all' }); } });