Download
(6 Kb)
Download
Updated: 02/09/21 05:35 PM
Pictures
File Info
Compatibility:
Markarth (6.2.5)
Updated:02/09/21 05:35 PM
Created:02/04/21 10:37 AM
Monthly downloads:1,540
Total downloads:90,165
Favorites:81
MD5:
Categories:Combat Mods, Casting Bars, Cooldowns
Perfect Weave  Popular! (More than 5000 hits)
Version: 0.8
by: andy.s [More]
TL;DR: install the addon, quickly press light attacks and skills multiple times (aka spam), enjoy perfect weaving.

Want to weave light attacks as fast as Liko, but always missing a few of them? Tired of double casting your scalding rune or boneyard? Worry no more! This addon won't let you use a next skill in your rotation until you've done a light attack. Without going into technical details, which you can find below, just try spamming light attack button and a skill simultaneously on a dummy and see how it works.

What you should know about weaving in ESO:

Global cooldown (GCD) for skills is 1000ms. By default, after using a skill you can queue another one in 400ms, and it will fire automatically when GCD is over. If you try to queue two skills, then only the last one will be fired. This is the reason of missing light attacks (LA), because LA is also a skill. The addon can prevent you from queueing a skill while there is a queued LA. That skill won't fire off automatically, so you need to press its button multiple times until GCD allows it. There is also a ping-dependant part of GCD, and the addon tries to adjust to your game latency, but if you have really unstable ping, then you can try setting the length of this part manually, though it's hardly possible to weave perfectly with bad ping anyway.

If you want to queue skills without light attacks sometimes, then set addon mode to "Soft" in the settings, but it will increase the chance of missing a light attack.

To get the most of the addon you need to change your rotation to something like this: LA -> press Skill 2-3 times -> press LA 2-3 times -> press skill 2-3 times -> ... It is to ensure that skills go off right after GCD is over.

Known issues:

Weaving some channeled skills might not be perfect, because all of them are different and I'll need more time to test. When you block, dodge and interrupt your rotation in other ways, then don't expect this addon to keep up with you. If you have vampire toggle in your first skill slot, then don't.

If you've suddenly become much better at weaving, then consider supporting my work by clicking the Donate button above, since I'm pretty much inactive in ESO and rarely spend my free time doing fun stuff like this.
0.8
- Added an option to block Nightblade's Grim Focus when trying to use it too soon after a light attack at 4 stacks (enabled by default, but has no effect when the mode is None).
- Channeled abilities are also affected by ping/"input lag" now. It allows to recast them a bit sooner, but increases the chance of a missed LA a bit.
- Reworked context menu and fixed a small UI error.

0.7
- The addon now doesn't block your skills if you are not targeting an enemy, so you can turn away from a boss and queue skills as usual even when the mode is set to Hard.

0.6
- The addon now adjusts automatically to your ping, which brings weaving closer to the perfect one, but only if the ping is somewhat stable (although it's impossible to weave perfectly with unstable ping anyway due to GCD mechanic). You can still set the delay manually by disabling "Automatic lag".
- Adjusted channeled abilities timings a bit, but Radiant Destruction is still wonky (as always).

0.5
- Improved ground target abilities blocking. No way you can double cast them now, but still can queue properly with the addon "disabled".

0.4
- It's now possible to whitelist or blacklist abilities you don't want the addon to handle. By default, the addon blocks all abilities from casting, but if you blacklist some of them, then those abilities can be queued, which means you'll be able to miss light attacks before them. When you are using whitelist, then the addon doesn't block any abilities and you can only make it block some of them, e.g. spammables like Elemental Weapon. To add an ability to black/white list, right click on it on your action bar.

0.3
- Added an option to always prevent ground target abilities from accidental double casting in any addon mode (enabled by default).
Optional Files (0)


Archived Files (5)
File Name
Version
Size
Uploader
Date
0.7
6kB
andy.s
02/07/21 07:34 AM
0.5
5kB
andy.s
02/05/21 06:16 PM
0.4
5kB
andy.s
02/05/21 12:05 PM
0.3
4kB
andy.s
02/05/21 04:29 AM
0.2
5kB
andy.s
02/04/21 10:37 AM


Post A Reply Comment Options
Unread 06/04/24, 03:21 AM  
Saenic
 
Saenic's Avatar
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 130
Uploads: 2
Re: Re: U42 broke this addon

Originally Posted by Daxomault
Gold Coast changed what the getAbilityCastInfo function returns. I replaced lines 156-167 to modify how the castTime abilities are handled and should work correctly now if you replace those lines of the main.lua file in the addon folder:

Code:
			-- Check if it's a channeled ability.
			local id = GetSlotBoundId(n)
			local isChanneled, castTime = GetAbilityCastInfo(id)
			if isChanneled or castTime > 0 then
				-- Some ugly random magic here I don't even fully comprehend.
				CHANNEL = GetGameTimeMilliseconds() + zo_max(1050, castTime + 150)
			else
				CHANNEL = 0
			end
			LAST_ABILITY = id
		end
	end
Thanks, great help
Report comment to moderator  
Reply With Quote
Unread 06/15/24, 04:47 PM  
Macready71

Forum posts: 2
File comments: 4
Uploads: 0
bug

bad argument #2 to 'math.max' (number expected, got nil)
stack traceback:
[C]: in function 'math.max'
user:/AddOns/PerfectWeave/main.lua:161: in function 'AbilityUsed'
<Locals> _ = 131193, n = 7, cd = 0, id = 23316, isChanneled = F, castTime = 1500 </Locals>
Report comment to moderator  
Reply With Quote
Unread 06/18/24, 03:43 PM  
s_mctoren

Forum posts: 0
File comments: 3
Uploads: 0
Re: Re: U42 broke this addon

Originally Posted by Daxomault

Gold Coast changed what the getAbilityCastInfo function returns. I replaced lines 156-167 to modify how the castTime abilities are handled and should work correctly now if you replace those lines of the main.lua file in the addon folder:

Code:
			-- Check if it's a channeled ability.
			local id = GetSlotBoundId(n)
			local isChanneled, castTime = GetAbilityCastInfo(id)
			if isChanneled or castTime > 0 then
				-- Some ugly random magic here I don't even fully comprehend.
				CHANNEL = GetGameTimeMilliseconds() + zo_max(1050, castTime + 150)
			else
				CHANNEL = 0
			end
			LAST_ABILITY = id
		end
	end

THANKS — A TON
Report comment to moderator  
Reply With Quote
Unread 07/09/24, 12:03 PM  
grayfenix

Forum posts: 0
File comments: 1
Uploads: 0
channeled abilities.

I love this mod, but the main issue i have is cancelling channeled abilities.

Any time i cancel a channeled ability before it ends by blocking, rolling, or getting stunned etc, i cannot cast another ability until the channel time would have ended.

Is this a limitation of the addon? or was it caused by the fix below?

I would love to get this figured out.
Last edited by grayfenix : 07/09/24 at 12:04 PM.
Report comment to moderator  
Reply With Quote
Unread 07/09/24, 07:05 PM  
PhnxZ
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 188
Uploads: 1
Re: channeled abilities.

Originally Posted by grayfenix
I love this mod, but the main issue i have is cancelling channeled abilities.

Any time i cancel a channeled ability before it ends by blocking, rolling, or getting stunned etc, i cannot cast another ability until the channel time would have ended.

Is this a limitation of the addon? or was it caused by the fix below?

I would love to get this figured out.
This has been a limitation for a while I believe.

I work around it by excluding chanelled abilties from PW (right click on skill on bar and exclude).
Report comment to moderator  
Reply With Quote
Unread 07/31/24, 03:12 PM  
Krystian

Forum posts: 0
File comments: 1
Uploads: 0
Perfect weave

Hey guys i wanted to ask if you guys plan to update that mod because it really helped me a lot in the game. And i really do miss it working.
Report comment to moderator  
Reply With Quote
Unread 08/27/24, 05:28 AM  
kalitva

Forum posts: 0
File comments: 17
Uploads: 0
amazing addon

amazing addon
Report comment to moderator  
Reply With Quote
Unread 09/07/24, 04:58 AM  
Uik

Forum posts: 0
File comments: 2
Uploads: 0
Re: Perfect weave

Originally Posted by Krystian
Hey guys i wanted to ask if you guys plan to update that mod because it really helped me a lot in the game. And i really do miss it working.
its working, if u fiix it by yourself

1) go to C:\Users\[USER]\Documents\Elder Scrolls Online\live\AddOns\PerfectWeave
2) open the main.lua
3) patch the listed Lines
-- Line 158: local isChanneled, castTime = GetAbilityCastInfo(id)
-- Line 161: CHANNEL = GetGameTimeMilliseconds() + zo_max(1050, castTime + 150)

the local Function AbilityUsed (Line 139 to 167) should look like this:

Code:
	local function AbilityUsed(_, n)
		-- Light attack.
		if n == 1 then
			-- Queue LA.
			if SW.mode ~= 3 then
				GCD_STAGE = 3
			end
		-- Ability.
		elseif n >= 3 and n <= 8 then
			local cd = GetSlotCooldownInfo(CD_SLOT)
			-- Trying to queue an ability during GCD or channel.
			if cd < 600 then
				GCD_STAGE = 2
			-- Casting an ability outside of GCD (normally cd is between 900 and 1000 here).
			else
				GCD_STAGE = 1
			end
			-- Check if it's a channeled ability.
			local id = GetSlotBoundId(n)
			local isChanneled, castTime = GetAbilityCastInfo(id)
			if isChanneled or castTime > 0 then
				-- Some ugly random magic here I don't even fully comprehend.
				CHANNEL = GetGameTimeMilliseconds() + zo_max(1050, castTime + 150)
			else
				CHANNEL = 0
			end
			LAST_ABILITY = id
		end
	end
Last edited by Uik : 09/07/24 at 04:58 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: