Content Links Wiki Users Contact |
Macros / Registering
Sprite Registration MacrosHello, Spook here! I made some macros to assist with the Registering process which can be a bit annoying. They exploit the fact that Roll20's initiative system can act as a sort of variable space. Directions:
If you're compiling a new sprite, you want to start with COMPILE.INI to set your Initiative score to something meaningful. Then, use COMPILE.BAT to get your sprite compiled and set up for registering. If it fails, go back to COMPILE.INI first, then COMPILE.BAT again. Once you have a sprite compiled with a decent number of tasks, use REGISTER.BAT to register it; you can use the macro repeatedly if you want to try re-registering the same sprite. If you've already got a sprite registered or compiled and you want to re-register it, use REGISTER.INI to set up your initiative score with the correct number of prior tasks etc. Then just use REGISTER.BAT until you're satisfied or you run out of tasks. COMPILE.INIThis will roll your Compiling dice pool and the sprite's Level, and sets the init tracker accordingly, setting up for the Compiling breakdown. &{template:default} {{name=COMPILE.INI STARTUP SEQUENCE ACTIVATE}} {{Compiling Init Code=[[?{Compiling Dice Pool|14}d6>5k?{Level|6} + 100*?{Level|6}d6>5 &{tracker}]] COMPILE.BATThis will use the values from COMPILE.INI to calculate all the details of the compiling task, and set the initiative tracker accordingly for your Registering rolls. It also rolls your fading pool against the proper fading value. If this fails (i.e. you end up with 0 tasks), use COMPILE.INI to reset before using it again. &{template:default} {{name=COMPILE.BAT EXECUTING...}} {{ Compiling Hits=[[@{tracker|Sprite} - floor(@{tracker|Sprite}/100)*100)]] }} {{ Sprite Hits=[[floor(@{tracker|Sprite}/100)]] }} {{ Tasks=[[{@{tracker|Sprite} - floor(@{tracker|Sprite}/100)*101,0}kh1]] }} {{ Fading=[[{floor(@{tracker|Sprite}/100)*2 - ?{Fading Resistance|15}d6>5,0d6>5}kh1]] }} {{ Registering Init Code=[[?{Registering Dice Pool|14}d6>5k?{Level|6} + 100*((?{Level|6}*2)d6>5) + 10000*[[{@{tracker|Sprite} - floor(@{tracker|Sprite}/100)*101,0}kh1]] &{tracker}]] REGISTER.BATThis will use the values from the Compiling breakdown, the previous Registering step, or the Registering Init macro to put out all the values you need for your Registering roll. It will also initialize the values for the next Registering roll, so you can just keep pressing it over and over again... &{template:default} {{name=REGISTER.BAT EXECUTING...}} {{ Prior Tasks=[[floor(@{tracker|Sprite}/10000)]]}} {{ Registering Hits=[[@{tracker|Sprite} - floor(@{tracker|Sprite}/100)*100)]]}} {{ Sprite Hits=[[floor(@{tracker|Sprite}/100) - floor(@{tracker|Sprite}/10000)*100)]]}} {{ Tasks Gained=[[{[[@{tracker|Sprite} - floor(@{tracker|Sprite}/100)*100)]]-[[floor(@{tracker|Sprite}/100) - floor(@{tracker|Sprite}/10000)*100)]]-1,-1}kh1]] (including -1 cost of registering)}} {{ Total Tasks=[[ [[floor(@{tracker|Sprite}/10000)]] +[[{[[@{tracker|Sprite} - floor(@{tracker|Sprite}/100)*100)]]-[[floor(@{tracker|Sprite}/100) - floor(@{tracker|Sprite}/10000)*100)]]-1,-1}kh1]] ]]}} {{ Fading=[[{[[floor(@{tracker|Sprite}/100) - floor(@{tracker|Sprite}/10000)*100)]]*2 - ?{Fading Resistance|15}d6>5,0d6>5}kh1]]}} {{ Registering Init Code=[[?{Registering Dice Pool|14}d6>5k?{Level|6} + 100*((?{Level|6}*2)d6>5) + 10000*[[ [[floor(@{tracker|Sprite}/10000)]] +[[{[[@{tracker|Sprite} - floor(@{tracker|Sprite}/100)*100)]]-[[floor(@{tracker|Sprite}/100) - floor(@{tracker|Sprite}/10000)*100)]]-1,-1}kh1]] ]] &{tracker}]] REGISTER.INIONLY use this to initialize if you are re-registering a sprite with prior tasks remaining. &{template:default} {{name=REGISTER.INI STARTUP SEQUENCE ACTIVATE}} {{Registration Init Code=[[?{Registering Dice Pool|14}d6>5k?{Level|6} + 100*((?{Level|6}*2)d6>5) + 10000*?{Prior Tasks|0} &{tracker}]] OptimizationTo preset your values so you don't need to be prompted, find and replace:
|