sub EVENT_WAYPOINT is supposed to assign the number of a wandering mob's current waypoint to $wp, but this has been broken for some time.
Cripp posted a fix 
here, which fixed the $wp problem for me in 6.0 DR3, but caused a new problem: sub EVENT_WAYPOINT was triggered twice each time a waypoint was hit.  For instance, I wrote a quest that had the mob say "I'm at waypoint $wp", and each time he reached a waypoint he said that twice.
Well I don't know any C++, but I played with Cripp's fix and got it to work, at least as far as I can tell.  So here's what I came up with:
In 
embparser.cpp replace
	Code:
			case EVENT_WAYPOINT: {
			std::string temp = "wp";
				temp += itoa(npcid);
			ExportVar(packagename.c_str(), temp.c_str(), data);
			SendCommands(packagename.c_str(), "EVENT_WAYPOINT", npcid, npcmob, mob);
			break;
		}
 with
	Code:
			case EVENT_WAYPOINT: {
			//std::string temp = "wp";
			//	temp += itoa(npcid);
			//ExportVar(packagename.c_str(), temp.c_str(), data);
			ExportVar(packagename.c_str(), "wp", itoa( (int)npcmob->cur_wp ));
			// SendCommands(packagename.c_str(), "EVENT_WAYPOINT", npcid, npcmob, mob);
			break;
		}
 and in 
mob.h replace: 
	Code:
		int		max_wp;
	int		cur_wp;
// used by quest wandering commands
 with 
	Code:
		int		max_wp;
	public:
	int		cur_wp;
	protected:
// used by quest wandering commands
 Once again, I don't code C++, I only played with Cripp's fix.  It fixed $wp for me, and the mob only said his line once per waypoint.  Hope this helps.
				__________________
				The PEQ Database Editor is available!
Edit Loot, NPCs, Spawns, Merchants, Factions, NPC Spell Lists, and Tradeskills with ease!
Check it out!