OneClick

README
-=-=-=-
oneClick currently only has the warlock spells include, but I hope to add
other spells as I learn about their (de)buffs. This mod is named OneClick
because the user needs to mash the one button as often as they wish to keep
casting the series of buffs/debuffs. Each time you push the button the
series of requested spells is consulted, and the one with the highest
priority that isnt currently applied, is called upon.

Currently only warlocks are implemented:
Heres a quick example:

/script doWarlockAtk ("c_a", "cor", "d_l");

would cast Curse of Agony until it sticks, then cast Corruption
and finally start Draining Life. Once, for example, Corruption wore
off and you pushed the macro again, it would cast Corruption. Then
go back to Drain Life.

WHY? WHY? Oh WHY?
-=-=-=-=-=-=-=-=-=-
I dont view this as the end-all for all your casting needs, but for
those encounters where you want to lay dots (and keep em on) on a lot
of mobs---this is a good tool to do it quickly. Those of us using
really big screens have trouble targeting then looking to see what
dots are on the mob in a split second.

Current Warlock Spells:
-=-=-=-=-=-=-=-=-=-=-=-=-
c_a = Curse of Agony
c_e = Curse of Elements
c_r = Curse of Recklessness
c_s = Curse of Shadow
C_t = Curse of Tongues
c_w = Curse of Weakness
cor = Corruption
d_l = Drain Life
d_s = Drain Soul
_ed = Enslave Demon
imm = Immolate
_sb = Shadow Bolt
_sl = Siphon Life
sda = Demon Armor
sdb = Unending Breath

Setup
-=-=-=-
1. Install the MOD into the AddOn directory, the files should live in
a folder like Interface\AddOn\OneClick

2. Load up the ui. If you are already playing just type "/console reloadui"
You should see a message that the OneClick AddOn has loaded.

3. Create a macro (use /macro) with the series you want to cast.
a. /script doWarlockAtk();
b. /script doWarlockBuf();
In each of the ()'s put the shortcuts (three letter acronyms)
in as a comma separated list. You can put a spell that doesnt
have a buff last...like Shadow Bolt---if thats wanted. Shadow
Bolt and a channeling spell like Drain Life wont work very
well together. Watchout while using channeling spells, they
should be listed at the end.

In the macro you can call your attacks first, then call
the buffs and finally the Heals, and they wont do anything
because a spell has already been cast before, I might be
able to check if a spell is already casting and just exit.

c. /script doWarlockHeal();
This needs some work, casts drain life if you are below 75%
and will then try to heal the pet if its under 50% life.

d. /script doWarlockTap (myPercentMana);
Based on what % you put in, the funtion tries to fill you up until you are at
that percentage of mana. The theory behind this that all bars (your pets too)
should be using regen to gain back mana. Sources of mana in order:
1. Your health when > 90%, do a "Life Tap"
2. Your pet's mana when > 50%, do a "Dark Pact"

e. /script toggleDuel()
Toggles if you are in duel mode for aquiring targets, I should latch the
flag in_duel when a duel event occurs...but I havent the time to figure it
out (yet!) Currently if you are dueling and you didnt type "/script toggleDuel()"
you will be unable to target your 'friend' who you are dueling, it will flip back
to you.


FAQ
-=-=-
Why did i make these silly (T)hree (L)etter (A)cronyms?
maco space, Macro space, MACRO SPACE. There are only 250ish characters per macro
and I did this to allow the functions to be extened with other functions in the
same macro definition.

Why am I having troubles in duels and keep targeting myself instead of my opponent?
See 3e & toggleDuel() above...Personally I think its a bug in the
UnitIsFriend("player", "target") function, your opponent is an unfriendly now! DUH!
Workarounds are ugly, but I hope to improve it some day.

!@#$%^& Shadow Bolt is still broken?
I gotta get 60 some day, and this is frankly slowing me down!

Thoughts on possiblity of using with different classes:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Druid: Dont know a lot about that class. Could use some
of the healing functions thought of in the Priest section.

Mage: DeBuffs that land, dont last for very long. Could be
useful for self Buffs...especially the short duration ones.

Priest: Has one good dot...useful for the heavy mana
using buffs. Probably would be good to have a function that
either attacks the current target, or heals what the current
target is attacking.

Paladin: Seals sounds good, but would also need to be able
to cycle throught the current party members.

Rogue: Might work for different series of 'combo's.

Shaman: Worth considering, but other mods have it covered.
(Totem Stomp) All healers could use the heal or dot target
casting function---see priest.

Warrior: Could have potential to keep the 2 shouts, rend and
hamstring. Other MODS may have it covered.

Future Plans:
-=-=-=-=-=-=-=-
* Implement Bandaging as 'Spell'

* Implement 'Shooting' & 'Attacking' as 'Spell'. They used to
work, but with the re-working of the code for expandablity
they were delayed.

* Want to add a templated pre-cast function so that each spell
can test to see if it wants to be applied. (eg. Implementing
recasting if the buff has < 10 seconds remaining.)

* Expand to a new class...possibly Priest or Paladin next.
Since there are quite a few 'Healbots' out there, I may
do Paladin first: OneClick-paladin.lua

* Write a function to cycle through party members for casting
a 'series' of buffs.

* Integrate post-combat buffs/eating. (post combat button
to mash, or put an 'in-combat' check in front of it.)

HELP NEEDED
-=-=-=-=-=-=-
This program relies on buff textures to check to see if a
spell has already been cast. I need help gathering these
to make this program work for higher level warlocks and to
adapt it to other classes.

If you want to help gather buff textures, heres what you can do:

To get BUFFS, target something & use:

/script e = "Buffs:"; for i=1,10 do d = UnitBuff("target",i); if (d ~= nil) then e = e..d.."\n"; end; end; message(e);


To get DEBUFFS target something & use:

/script e = "Debuffs:"; for i=1,10 do d = UnitDebuff("target",i); if (d ~= nil) then e = e..d.."\n"; end; end; message(e);


Both of those are macros and can be pasted directly into /macro. Clicking
on them will throw up a message box that you will need to SS or to copy down.
Its not too hard to throw them to the default chat frame, change:

message(e);

to

DEFAULT_CHAT_FRAME:AddMessage(e);

OneClick also has these functions that do that for you
(sending the info the the DEFAULT_CHAT_FRAME...)

/script messageBuffs();
/script messageDebuffs();


Kelvin of Icecrown

Most recent version can be found at:

http://www.geocities.com/kelvinthetailor

or (when i get the ability to update it)

http://www.curse-gaming.com/mod.php?addid=70

Download

File Name Status Version Downloads Date
oneclick-1-4-0-2.zip release 1.12.0 0 23/10/2006
OneClick 1.20.2 Updating 1.20.2 Updating Updating
OneClick 1.20.1 Updating 1.20.1 Updating Updating
OneClick 1.20 Updating 1.20 Updating Updating
OneClick 1.19.2 Updating 1.19.2 Updating Updating
OneClick 1.19.1 Updating 1.19.1 Updating Updating
OneClick 1.19 Updating 1.19 Updating Updating
OneClick 1.18 Updating 1.18 Updating Updating
OneClick 1.17.1 Updating 1.17.1 Updating Updating
OneClick Forge Updating Forge Updating Updating
OneClick Fabric Updating Fabric Updating Updating
OneClick
OneClick

Dear youtuber!
Have you a channel youtube and want to bring your Video to quality visitors?
Do you want your video to appear on our website?
Do you want to become partner with us?
Just 3 steps to become our partner:
Step 1: Make video review for mods, addons, plugins, ... which you like
Step 2: Upload this video to youtube and our link to your video description
Step 3: Send the youtube video link via message to http://fb.com/9lifehack or leave a comment in the post. We will add your video in the our post, it will help you have more view.
JOIN to get more youtube view with us!!!!

Related Posts

Smarty Productivity Happiness

9LifeHack.com - make things smart