For anyone running Kobold Press's Midgard setting and needs a Ley Line generator (as per the rules here ),  David M. has worked with me to come up with one.  This macro requires Scriptcards. What it looks like:  Macro code:  !script {{ --#whisper|gm --#title|Ley Line Presence Roller --#noMinMaxHighlight|1 --:QUERIES| --&distanceStr|?{Base Modifier|Very Far (over 200mi)|Far (100-200mi),|Distant (50-100mi)|Close (25-50mi)|Very Close (under 25mi)|Immediate (visible)} --&geoStr|?{Geographical Features?|None|Geographic area known to be devoid of ley lines (e.g. Western Wastes)|Several miles deep underground|More than 100 ft. underground|Shallow underground (e.g. first few levels of a dungeon)|Hilltop|Small mountain|Deep canyon|Small river|Stream|Towering cliff|Large mountain|Forest heartlands|Large river|Coastline/beach|Lairs: Adult dragon/demons/other creatures of magical power|Glacier’s heart|Volcano (dormant or active)|Lairs: elder dragon/greater demon/other creatures of great magical power|Site of a Ramagi Monolith} --&featuresStr|?{Nearby Features|None|Negative: consecrated holy/unholy building|Negative: freshly plowed earth|Positive: standing stones|Positive: stone circles|Positive: ancient trees|Positive: crossroads|Positive: bridge (natural or constructed)|Positive: druid grove|Positive: great temple|Positive: elven ruins} --:LOOKUP MODIFIERS BASED ON QUERIES| -->LookupDistanceMod|[&distanceStr] -->LookupGeoMod|[&geoStr] -->LookupFeaturesMod|[&featuresStr] --:DISPLAY MODIFIERS| --+Distance:|[&distanceStr] ([$distMod.Raw]) --+Geography:|[&geoStr] ([$geoMod.Raw]) --+Features Mod:|[&featuresStr] ([$featuresMod.Raw]) --+[hr]| --:MAKE THE BASE ROLL AND DISPLAY| --=presenceRoll|1d100 + [$distMod][Distance] + [$geoMod][Geographic] + [$featuresMod][Features] --+|[c][b]Ley Line Presence Roll[/b] [$presenceRoll][/c] --:CHECK BASE ROLL AGAINST TABLE| --?[$presenceRoll] -ge 120|[ --=numTitanic|1 --=numStrong|2d8 --=numWeak|2d20 --&titanicStr|[$numTitanic] [b]Titanic[/b] ley line running through this location --&strongStr|[$numStrong] [b]Strong[/b] ley line(s) --&weakStr|[$numWeak] [b]Weak[/b] ley line(s) branching out --]| --?[$presenceRoll] -ge 115 -and [$presenceRoll] -lt 120|[ --=numTitanic|1 --=numStrong|1d8 --=numWeak|2d12 --&titanicStr|[$numTitanic] [b]Titanic[/b] nearby ley line --&strongStr|[$numStrong] [b]Strong[/b] ley line(s) --&weakStr|[$numWeak] [b]Weak[/b] ley line(s) branching out --]| --?[$presenceRoll.Raw] -ge 111 -and [$presenceRoll] -lt 115|[ --=numTitanic|1 --=numStrong|1d8 --=numWeak|2d12 --&titanicStr|[$numTitanic] single ley line --&strongStr|No [b]Strong[/b] ley line(s) --&weakStr|No [b]Weak[/b] ley line(s) --]| --?[$presenceRoll.Raw] -ge 100 -and [$presenceRoll] -lt 111|[ --=numStrong|1d4 --=numWeak|2d8 --&titanicStr|No [b]Titanic[/b] ley lines --&strongStr|[$numStrong] [b]Strong[/b] ley line(s) --&weakStr|[$numWeak] [b]Weak[/b] ley lines --]| --?[$presenceRoll.Raw] -ge 90 -and [$presenceRoll] -lt 100|[ --=numStrong|1 --=numWeak|1d10 --&titanicStr|No [b]Titanic[/b] ley lines --&strongStr|[$numStrong] [b]Strong[/b] ley line(s) --&weakStr|[$numWeak] [b]Weak[/b] ley line(s) --]| --?[$presenceRoll.Raw] -ge 80 -and [$presenceRoll] -lt 90|[ --=numStrong|1 --=numWeak|1d4 --&titanicStr|No [b]Titanic[/b] ley lines --&strongStr|[$numStrong] [b]Strong[/b] ley line(s) --&weakStr|[$numWeak] [b]Weak[/b] ley line(s) --]| --?[$presenceRoll.Raw] -ge 75 -and [$presenceRoll] -lt 80|[ --=numStrong|1 --&titanicStr|No [b]Titanic[/b] ley lines --&strongStr|[$numStrong] [b]Strong[/b] ley line(s) --&weakStr|No [b]Weak[/b] ley line(s) --]| --?[$presenceRoll.Raw] -ge 40 -and [$presenceRoll] -lt 74|[ --=numWeak|1d4 --&titanicStr|No [b]Titanic[/b] ley lines --&strongStr|No [b]Strong[/b] ley line(s) --&weakStr|[$numWeak] [b]Weak[/b] ley line(s) --]| --?[$presenceRoll.Raw] -ge 16 -and [$presenceRoll] -lt 40|[ --=numWeak|1 --&titanicStr|No [b]Titanic[/b] ley lines --&strongStr|No [b]Strong[/b] ley line(s) --&weakStr|[$numWeak] single [b]Weak[/b] ley line(s) --]| --?[$presenceRoll.Raw] -lt 15|[ --+|No nearby ley lines within a mile --&titanicStr|No [b]Titanic[/b] ley lines --&strongStr|No [b]Strong[/b] ley line(s) --&weakStr|No [b]Weak[/b] ley line(s) --]| --:DISPLAY LEY LINE DETAILS| --+[hr]| --+[#990000][c]Titanic[/c][/#]| --+|[&titanicStr] --?[$numTitanic] -gt 0|[ -->DistToNearest|1 --+— Distance to Nearest:|[&distStr] (roll:[$distRoll]) -->Direction| --+— Direction:|[&directionStr] (roll:[$directionRoll]) --]| --+[hr]| --+[#990000][c]Strong[/c][/#]| --+|[&strongStr] --?[$numStrong] -gt 0|[ -->DistToNearest|[$numStrong.Raw] --+— Distance to Nearest:|[&distStr] (roll:[$distRoll]) -->Direction| --+— Direction:|[&directionStr] (roll:[$directionRoll]) --]| --+[hr]| --+[#990000][c]Weak[/c][/#]| --+|[&weakStr] --?[$numWeak] -gt 0|[ -->DistToNearest|[$numWeak.Raw] --+— Distance to Nearest:|[&distStr] (roll:[$distRoll]) -->Direction| --+— Direction:|[&directionStr] (roll:[$directionRoll]) --]| --X| --:FUNCTIONS| --:LookupDistanceMod| distance query is param 1 --?"[%1%]" -eq "Very Far (over 200mi)"|=distMod;-40 --?"[%1%]" -eq "Far (100-200mi)"|=distMod;-20 --?"[%1%]" -eq "Distant (50-100mi)"|=distMod;0 --?"[%1%]" -eq "Close (25-50mi)"|=distMod;20 --?"[%1%]" -eq "Very Close (under 25mi)"|=distMod;40 --?"[%1%]" -eq "Immediate (visible)"|=distMod;60 --<| --:LookupGeoMod| geographical features query is param 1 --?"[%1%]" -eq "None"|=geoMod;0 --?"[%1%]" -eq "Geographic area known to be devoid of ley lines (e.g. Western Wastes)"|=geoMod;-80 --?"[%1%]" -eq "Several miles deep underground"|=geoMod;-60 --?"[%1%]" -eq "More than 100 ft. underground"|=geoMod;-40 --?"[%1%]" -eq "Shallow underground (e.g. first few levels of a dungeon)"|=geoMod;-10 --?"[%1%]" -eq "Hilltop"|=geoMod;5 --?"[%1%]" -eq "Small mountain"|=geoMod;5 --?"[%1%]" -eq "Deep canyon"|=geoMod;5 --?"[%1%]" -eq "Small river"|=geoMod;5 --?"[%1%]" -eq "Stream"|=geoMod;-80 --?"[%1%]" -eq "Towering cliff"|=geoMod;10 --?"[%1%]" -eq "Large mountain"|=geoMod;10 --?"[%1%]" -eq "Forest heartlands"|=geoMod;10 --?"[%1%]" -eq "Large river"|=geoMod;10 --?"[%1%]" -eq "Coastline/beach"|=geoMod;10 --?"[%1%]" -eq "Lairs: Adult dragon/demons/other creatures of magical power"|=geoMod;15 --?"[%1%]" -eq "Glacier’s heart"|=geoMod;15 --?"[%1%]" -eq "Volcano (dormant or active)"|=geoMod;20 --?"[%1%]" -eq "Lairs: elder dragon/greater demon/other creatures of great magical power"|=geoMod;25 --?"[%1%]" -eq "Site of a Ramagi Monolith"|=geoMod;30 --<| --:LookupFeaturesMod| geographical features query is param 1 --?"[%1%]" -eq "None"|=featuresMod;0 --?"[%1%]" -eq "Negative: consecrated holy/unholy building"|=featuresMod;-10 --?"[%1%]" -eq "Negative: freshly plowed earth"|=featuresMod;-10 --?"[%1%]" -eq "Positive: standing stones"|=featuresMod;5 --?"[%1%]" -eq "Positive: stone circles"|=featuresMod;5 --?"[%1%]" -eq "Positive: ancient trees"|=featuresMod;5 --?"[%1%]" -eq "Positive: crossroads"|=featuresMod;5 --?"[%1%]" -eq "Positive: bridge (natural or constructed)"|=featuresMod;5 --?"[%1%]" -eq "Positive: druid grove"|=featuresMod;5 --?"[%1%]" -eq "Positive: great temple"|=featuresMod;5 --?"[%1%]" -eq "Positive: elven ruins"|=featuresMod;5 --<| --:DistToNearest| modifier is param 1 --=mod|[%1%] -1 --=distRoll|1d20 + [$mod] --?[$distRoll] -ge 20|&distStr;Less than 5 ft./at the caster’s location --?[$distRoll] -ge 18 -and [$distRoll] -le 19|&distStr;[$dist.Raw] ft --?[$distRoll] -ge 16 -and [$distRoll] -le 17|&distStr;[$dist.Raw] ft --?[$distRoll] -ge 14 -and [$distRoll] -le 15|&distStr;50+ ft --?[$distRoll] -ge 12 -and [$distRoll] -le 13|&distStr;100+ ft --?[$distRoll] -ge 10 -and [$distRoll] -le 11|&distStr;200+ ft --?[$distRoll] -ge 6 -and [$distRoll] -le 9|&distStr;500+ ft --?[$distRoll] -ge 3 -and [$distRoll] -le 5|&distStr;800+ ft --?[$distRoll] -ge 1 -and [$distRoll] -le 2|&distStr;1 mile --<| --:Direction| --=directionRoll|1d8 --?[$directionRoll] -eq 1|&directionStr;North --?[$directionRoll] -eq 2|&directionStr;Northeast --?[$directionRoll] -eq 3|&directionStr;East --?[$directionRoll] -eq 4|&directionStr;Southeast --?[$directionRoll] -eq 5|&directionStr;South --?[$directionRoll] -eq 6|&directionStr;Southwest --?[$directionRoll] -eq 7|&directionStr;West --?[$directionRoll] -eq 8|&directionStr;Northwest --]| --<| }}