Jump to content
This site uses cookies! Learn More

This site uses cookies!

By continuing to use this site, you agree to allow us to store cookies on your computer. :)

penumbra

Decursing/cleansing in C#

Recommended Posts

Hello all,

Has anyone built a C# script that automatically removes curses/poison or magic?

I have been unable to find any examples of this

Thanks!

Share this post


Link to post
Share on other sites
31 minutes ago, Zan said:

Did you try searching? Your answer is on the forums.

Yes, all I could find was some Lua code, but nothing in C# that I could use

Share this post


Link to post
Share on other sites
33 minutes ago, penumbra said:

Yes, all I could find was some Lua code, but nothing in C# that I could use

 

Share this post


Link to post
Share on other sites
28 minutes ago, The Smokie. said:

 

Hey, this is a bit different. This looks for a specific debuff

I am looking for function that can search through the debuffs for curse/magic etc. and then cast, I would not have the spell IDs of all the world afflictions

 

Share this post


Link to post
Share on other sites
4 minutes ago, penumbra said:

Hey, this is a bit different. This looks for a specific debuff

I am looking for function that can search through the debuffs for curse/magic etc. and then cast, I would not have the spell IDs of all the world afflictions

 

Best bet is to add each spell 

Share this post


Link to post
Share on other sites
5 minutes ago, penumbra said:

Hey, this is a bit different. This looks for a specific debuff

I am looking for function that can search through the debuffs for curse/magic etc. and then cast, I would not have the spell IDs of all the world afflictions

 

That's why you should run a little bit of LUA in your C#. There isn't an in built C# function for this. LUA is definitely the best way as it returns the specific debuff type.

Share this post


Link to post
Share on other sites
8 minutes ago, Marsbar said:

That's why you should run a little bit of LUA in your C#. There isn't an in built C# function for this. LUA is definitely the best way as it returns the specific debuff type.

Thanks,

 

Im trying the following
 

    public bool hasDisease = false;

    hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local texture, count, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true break; end end");

    if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease")) {
        Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
        AbolishDisease.Launch();
        Lua.LuaDoString("ClearTarget();");
        hasDisease = false;
    }

But that does not seem to work

 

Share this post


Link to post
Share on other sites
8 minutes ago, penumbra said:

Thanks,

 

Im trying the following
 

    public bool hasDisease = false;

    hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local texture, count, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true break; end end");

    if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease")) {
        Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
        AbolishDisease.Launch();
        Lua.LuaDoString("ClearTarget();");
        hasDisease = false;
    }

But that does not seem to work

 

Is this for a fightclass or a quester?

Share this post


Link to post
Share on other sites
9 minutes ago, penumbra said:

Thanks,

 

Im trying the following
 

    public bool hasDisease = false;

    hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local texture, count, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true break; end end");

    if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease")) {
        Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
        AbolishDisease.Launch();
        Lua.LuaDoString("ClearTarget();");
        hasDisease = false;
    }

But that does not seem to work

 

What expansion are you on? Your LUA looks incorrect.

Using https://vanilla-wow.fandom.com/wiki/API_UnitDebuff as an example, debufftype would be the 5th property, not the 3rd like in your example. In lua you need to declare all the other properties before the one you want so you could do
local _, _, _, _, debuffType = UnitDebuff('player', i)

Share this post


Link to post
Share on other sites
5 minutes ago, Marsbar said:

What expansion are you on? Your LUA looks incorrect.

Using https://vanilla-wow.fandom.com/wiki/API_UnitDebuff as an example, debufftype would be the 5th property, not the 3rd like in your example. In lua you need to declare all the other properties before the one you want so you could do
local _, _, _, _, debuffType = UnitDebuff('player', i)

Thanks,

I am on WOTLK

Share this post


Link to post
Share on other sites

For those that come later:

The following work for WOTLK

 

hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local _, _, _, _, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true; end end");

	
if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease") && !ObjectManager.Me.InCombatFlagOnly) {
        Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
        AbolishDisease.Launch();
        Lua.LuaDoString("ClearTarget();");
        hasDisease = false;
}

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...