Select Language

World of Warcraft UI Mod - Mount Fiend - MFiend
Rollie of Bloodscalp

VERSION 1800 - 10/20/2005

This mod is obsolete! Is now easy to create a simple macro to do what this mod was intended for. See below!

Create the following macro:

        /cancelaura [mounted] black war raptor
        /cast stealth
        
Replace 'black war raptor' with the name of your mount.

When you trigger this macro if you are mounted, it will unmount you. If you trigger this macro when you are unstealthed and unmounted, it will stealth you. If you are stealhed, then it will unstealth you.

DOWNLOAD

http://www.warcraftrealms.com/mods/Mfiend-1800.zip

INTRODUCTION

This is a simple little mod made primarily for rogues that will make dismounting and stealthing as easy as clicking a button.

If you are mounted and you trigger the mod, you will dismount, upon a second trigger, you will stealth. If you are not mounted, you will simply stealth. If you are already stealthed, you will unstealth.

That's about it! It's very simple and you are welcome to modify the mod to suit your needs as necessary. I imagine there are changes that other classes would find useful for this sort of thing.

I have included the pertinent code below in case you don't wish to get the entire mod. You could perhaps just drop these code snippets into your own mod or files if you like.

I took some of these functions from various places but had no way of knowing who the authors are. I'm sorry if you created some of these basic methods and I haven't given proper credit. Unfortunately where I saw the code snippets had no author with them.

The only code needed in the XML file is as follows and is only used to locate the id of the Stealth ability instead of requiring the user to set this themselves (from file MFiend.XML):

Some of the code below is outdated. View the code in MFiend.lua for the most up to date version.

<Script file="MFiend.lua"/> <Frame name="MFiend_Frame"> <Scripts> <OnLoad> MFiend_OnLoad(); </OnLoad> </Scripts> </Frame>

Code for the key binding (from file Bindings.XML):

<Bindings> <Binding name="MFiend Trigger" header="MFiend"> MF_DismountAndStealth(); </Binding> </Bindings>

The LUA code (from file MFiend.LUA):

local g_stealthID = -1; function MFiend_Msg(msg) if( DEFAULT_CHAT_FRAME ) then DEFAULT_CHAT_FRAME:AddMessage(msg); end end function MFiend_OnLoad() local i = 1 while true do local spellName, spellRank = GetSpellName(i, BOOKTYPE_SPELL) if not spellName then do break end end if (string.find(spellName, "Stealth")) then g_stealthID = i; do break end; end i = i + 1 end end --Loops through active buffs looking for a string match --Origin Zorlen's hunter functions function MF_isUnitBuffUp(sUnitname, sBuffname) local iIterator = 1 while (UnitBuff(sUnitname, iIterator)) do if(string.find( UnitBuff(sUnitname, iIterator), sBuffname)) then return iIterator end iIterator = iIterator + 1 end return -1 end function MF_isPlayerBuffUp(sBuffname) return MF_isUnitBuffUp("player", sBuffname ) end function MF_isMounted() return MF_isPlayerBuffUp("Ability_Mount") end; function MF_DismountAndStealth() local iMountIndex = MF_isMounted(); if( iMountIndex ~= -1 ) then CancelPlayerBuff(iMountIndex-1); else CastSpell( g_stealthID, 1 ); end end

The only file missing is the TOC file and it wouldn't matter for that part!

Be sure to post suggestions/comments to the forums!


 
Advertise Here!