I've been hip deep in the mod sets lately and can say it's a love/hate relationship.
I really love the Edit Mods and ability to add new ones and found the toggleMod macro so I made some more buttons
I'm finding some mods work "ok", up to 2 second lag, but then I have some that is taking 30 seconds to turn on, 2 seconds to turn off. One is a "Surprise" mod, it really does nothing other than associate a state for a corner image. (Initiative now asks and can roll perception checks and mark tokens as "Surprised", also adds Flat-Footed for first round until they act)
(Interesting, I JUST ran the Surprise mod and got a Java out of Memory error, there must be some bad loops in there somewhere?) If I spot anything specific I'll let you know.
I did also notice a lot of hooks with Sight/Senses which, ug, NONE of my tokens had the new json properties set. Looked like they only get set with Character Sheet edit and not even the StatBlock parser does it properly. So here ya go, I coded one for mine, should work in the other one as well (maybe a little tweaking).
Code: Select all
<!-- Find Fixed Senses -->
[H: sensesFixed = table( "SysVars", json.get( table( "SysVars", 0 ), "sensesfixed" ) ) ]
[H: SensesFixedArray='[]']
[H: SensesRangedArray='[]']
[H: id = strfind(statblock, "(?i)(?<=; Senses ).*(?=; ?Perception)")]
[H, IF(0<getFindCount(id)), CODE: {
[sensesList=lower(getGroup(id, 1, 0))]
[sensesList = replace(sensesList, "dragon senses", "darkvision 120 ft., blindsense 60 ft.")]
[output=output+"Senses: "+sensesList+", "]
[setProperty("SensesDisplay", sensesList)]
[FOREACH(sense, sensesList), CODE: {
[if(json.contains(sensesFixed, sense)): SensesFixedArray = json.append(SensesFixedArray, sense); SensesRangedArray = json.append(SensesRangedArray, sense)]
}]
[setProperty("SensesFixedJ", SensesFixedArray)]
}]
<!-- Find Ranged Senses -->
[H: sensesRanged = table( "SysVars", json.get( table( "SysVars", 0 ), "sensesranged" ) ) ]
[H: SensesRangedObj='{}']
[FOREACH(sense, SensesRangedArray), CODE: {
[id = strfind(sense, "(?i)(.+)( [0-9]+)( ft)")]
[findCount=getFindCount(id)]
<!--
match 1, group 0 = whole match, eg "darkvision 120 ft."
match 1, group 1 = name, eg "darkvision"
match 1, group 2 = distance, eg "120"
match 1, group 3 = feet, eg "ft."
-->
[IF(0<findCount), CODE: {
[sense=lower(getGroup(id, 1, 1))]
[senseRange=trim(lower(getGroup(id, 1, 2)))]
[if(json.contains(sensesRanged, sense)): SensesRangedObj = json.set(SensesRangedObj, sense, senseRange))]
[setProperty("SensesRangedJ", SensesRangedObj)]
}]
}]
BTW, here's what I got so far. I wanted access to some mods faster and with icons they don't take as much space and quicker to find (IMO) and hopefully our other GM's in our group can use them now (they never poked around deep into the other macros).
I pulled the Elevations macro and made a non-dialog version. Clicking the climb/fly/swim/burrow sets those movement modes/states, and I used the up/down arrow to statically add/subtract 5ft. I noticed there was only room for -95 (and since I changed climb and fly to be +/-900 for those cave areas where you may be up or down relative to others) I photoshopped a set of green numbers, so green=positive and red=negative.
Lets see, oh, also added Delay/Ready macros. They simply put token on initHold, BUT when you click it again, it reassigns their initiative to just before/after the current initiative token and resorts the list!
- icon_set_1.png (174.57 KiB) Viewed 5541 times
- icon_set_2.png (118.56 KiB) Viewed 5541 times
I want to do a common spell icon set next but need to sort out the mod bugs first. Let me know if you want a copy of my campaign, be happy to share.