Skip to content
bdot89Public

About

Standalone click casting for WoW 1.12 clients (OctoWoW / Turtle / vanilla) - pfUI's click casting, lifted out to work with any unit frames

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Clickcast

Standalone click casting for WoW 1.12 clients (OctoWoW / Turtle / vanilla).

The behaviour is a port of pfUI's click casting (pfUI/api/unitframes.lua → EnableClickCast / ClickAction), lifted out of pfUI so it works with any unit frames instead of only pfUI's own.

Installation

Drop the Clickcast folder into Interface\AddOns\, so that Interface\AddOns\Clickcast\Clickcast.toc exists. No dependencies — pfUI is not required.

If you downloaded the ZIP from GitHub, rename the folder. GitHub unpacks it as Clickcast-main, and WoW requires the folder name to match the .toc name. Left as Clickcast-main the addon never appears in the AddOns list at all. Rename it to exactly Clickcast.

Troubleshooting

Type /cc status first. It prints everything needed to tell these apart:

symptom in /cc status cause fix
command does nothing / unknown addon never loaded folder must be named Clickcast; also tick Load out of date AddOns on the character select AddOns screen
bound actions: NONE nothing configured settings are per character and every slot starts empty — open /cc and enter a spell name
hooked unit frames: none your unit frames weren't detected run /cc scan; if still none, open an issue naming your unit frame addon
click casting: OFF disabled /cc on
SuperWoW: not detected no SuperWoW works anyway, but each cast briefly switches your target and switches back

Settings do not travel with the addon files. Copying the folder to another person or another character gives them an empty config, not yours.

Usage

/cc opens the settings window. Also /clickcast and /ccast.

command effect
/cc open the settings window
/cc status why isn't it casting? start here
/cc on / /cc off toggle click casting
/cc scan re-scan the UI for unit frames
/cc list list every hooked frame and the unit it resolved to
/cc debug print each frame as it gets hooked

Action values

Each of the five mouse buttons has four slots: plain, Shift, Alt and Ctrl — exactly the set pfUI exposes under Unit Frames → Click Casting.

value effect
(empty) leave the click alone — the frame keeps its normal behaviour
Flash of Light cast that spell on the clicked unit
Flash of Light(Rank 4) cast a specific rank
/script UseAction(1) anything starting with / is run as macro text
target target the clicked unit
menu open the unit's dropdown menu

Only one modifier at a time is recognised, matching pfUI. Holding two at once resolves to nothing and the click falls through to normal behaviour.

Which frames it hooks

  • the default Blizzard frames (player, pet, target, target-of-target, party 1-4 and their pets)
  • the Blizzard raid window and raid pullouts — those buttons carry no usable unit id, so the unit is resolved from the name shown on the button
  • any other frame in the UI that resolves to a valid unit, if Auto-detect unit frames from other addons is on. This covers pfUI, HoryUI, and most other unit frame addons, which expose the unit as frame.unit or, in pfUI's case, frame.label + frame.id.
  • anything registered the Clique way: ClickCastFrames[myFrame] = true

Other addons can also register explicitly:

Clickcast:Register(myFrame)             -- unit resolved automatically
Clickcast:Register(myFrame, "party2")   -- or pinned to a fixed unit

Behaviour differences from pfUI

pfUI owns its unit frames outright, so its click handler replaces everything. Clickcast layers on top of frames it does not own, so:

  • A click is only intercepted when something is bound to that exact button and modifier. Unbound clicks are handed to the frame's original OnClick, so targeting, right-click menus, spell-cursor targeting and dropping items on party members all keep working untouched.
  • Hooked frames are widened to accept all five mouse buttons. Middle-click and buttons 4/5 do nothing unless you bind them.
  • With pfUI installed, Disable pfUI's built-in click casting (on by default) neutralises pfUI's own handler so the two can't both fire on one click.

SuperWoW

When SuperWoW is loaded, casts go through CastSpellByName(spell, unit) and your target is never touched. Without it, Clickcast falls back to pfUI's approach: target the unit, cast, then restore the previous target. The Use SuperWoW direct casting option in the Frames tab controls this.

Files

file contents
core.lua namespace, saved variables, helpers, slash commands
engine.lua unit resolution, frame hooking, the click handler
frames.lua frame discovery and event handling
gui.lua settings window

Settings are stored per character in ClickcastDB.

Credits and license

The click-casting logic is derived from pfUI by Eric Mauser (Shagu) — pfUI/api/unitframes.lua (EnableClickCast / ClickAction) and the RunMacroText shim from pfUI/compat/vanilla.lua.

MIT licensed, retaining pfUI's copyright notice. See LICENSE.

About

Standalone click casting for WoW 1.12 clients (OctoWoW / Turtle / vanilla) - pfUI's click casting, lifted out to work with any unit frames

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages