Script Function: Q5SO
From Ultima Online: The Second Age
function int Q5SO(obj Q5AK, int Q4IE, int Q58B) { loc location; int Q5NC; location = getLocation(Q5AK); for(int Q5CS = Q58B; Q5CS > 0x00; Q5CS--) { moveDir(location, Q4IE); } Q5NC = moveMultiCheck(Q5AK, location, Q43W); if (Q5NC <= 0x00) { int Q5GH = (Q4IE + 0x04) % 0x08; while((Q5NC <= 0x00) && (Q58B > 0x01)) { Q58B--; moveDir(location, Q5GH); Q5NC = moveMultiCheck(Q5AK, location, Q43W); } } return (Q5NC); }