Mudlet Mapper Dashing

Recently, I've been getting a little annoyed with how the mapper handles dashing. Dash moves through 11 rooms. If There are 11 north exits in a row, and you only want to go 10, the mapper will make you walk every damn one of those rooms.

For a while now, you've been able to DASH <direction> [distance] in Achaea, allowing you to only dash part of the 11 room limit. I didn't know if the mapper was smart enough to know how many rooms it would need to dash, but I figured I'd poke around and take a look. Turns out, it was incredibly easy to get it working.

I tested it, works like a charm. It'll dash or sprint any time you need to repeat a direction, and go exactly the distance you need to go. If this means 11 rooms (I have no idea where that would be, to be honest), it'll go 11 rooms. If it needs just 3 rooms, it'll go 3 rooms. Can't guarantee it didn't introduce a bug, or would work with other IRE games (like I said, I've never taken a good look at it before now), but it should make my fellow dashers/sprints/gallopers/run-awayers happier. Also, if you update the script, until the changes get committed by a less lazy developer, you'll have to make the change every time.

Under scripts, in the "mudlet-mapper\Mudlet Mapper\speedwalking" script, near the bottom, in the function "mmp.fixPath(rFrom,rTo,dashtype)"

Remove lines 716 through 719:
for i = 1,repCount do
    currentIds[#currentIds+1] = mmp.speedWalkPath[index+i-1]

And replace with:
table.insert(currentPath,string.format("%s %s %s",dashtype,mmp.speedWalkDir[index],repCount))
currentIds[#currentIds+1] = mmp.speedWalkPath[index+repCount-1]
Make sure you keep the indentation the same as the for loop you removed.

I'd do the whole branching thing on the development page, but I'm too lazy to analyze the script deep enough to be sure that it won't mess up other IRE games and keep everything kosher. This was just a quick convenience change for me.

@Vadimuses Want to take a look?


Sign In or Register to comment.