Download
(1 Kb)
Download
Updated: 04/20/20 08:31 PM
Compatibility:
Harrowstorm (5.3.5)
Dragonhold (5.2.5)
Scalebreaker (5.1.5)
Elsweyr (5.0.5)
Updated:04/20/20 08:31 PM
Created:04/20/20 08:31 PM
Monthly downloads:19
Total downloads:3,131
Favorites:1
MD5:
RootBreak
Version: 1
by: Solaris Lorica [More]
Purpose:

To give players a clearer indication of their cc state, in particular root state.

Function:

When rooted, "ROOTED" shows up in the middle of screen.

Mechanics:

It uses event EVENT_DISPLAY_ACTIVE_COMBAT_TIP (eventCode, result) to register entering into root state.

where:
  • result = 19 indicates root
  • result = 18 indicates stun
  • result = 1 indicates heavy attack inc

It uses EVENT_REMOVE_ACTIVE_COMBAT_TIP, to indicate end of root state.

Background:

Another addOn named StunBreak was made alongside this addOn. The color green was chosen to differentiate the rooted status effect from the stunned status effect, when both addOns are used in conjunction.

Conclusion:

Only limited testing was performed, some abilities might not register. Possible problems when multiple crowd control effects occurring simultaneously.

Know issue includes the premature termination of the ROOTED graphical indicator when stun is applied. In which case, the STUNNED takes precedence and information regarding rooted effect is lost. Where the player can be in a situation where he is rooted but there is no indicator because the rooted indicator was over written by the stunned indicator, and the player just broke out of stun but have yet to break out of root.

This situation can be avoided by always breaking out of CC whenever indicated, how serious of a problem this is will become more clear with further testing. Should the problem manifest itself in a way that would seriously reduce the functionality of the addOn the code will be updated to address this issue.

Acknowledgment:

@Scootsworks for working with me helping me with writing addons and answering my questions.
@deadpool85 for testing the add on
and people in gitter.

Installation:

Drag and drop in Documents/Elder Scrolls Online/live/AddOns folder
Optional Files (0)


Post A Reply Comment Options
Unread 12/16/22, 03:41 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5990
Uploads: 78
To add a sound to the visual root notification:

Edit the file RootBreak.lua with a text editor
and go to line 22 and replace the total function here from
OLD:
Code:
function RootBreak.TipView(event, tipType)
	if tipType == RootBreak.rootTip then
		RootBreak.tipRoot = true
	else
		RootBreak.tipRoot = false
	end
	if RootBreak.tipRoot ~= RootBreak.inRoot then
		RootBreak.inRoot = RootBreak.tipRoot
		RootIndicator:SetHidden(not RootBreak.inRoot)
	end
end
To new:
Lua Code:
  1. function RootBreak.TipView(event, tipType)
  2.     if tipType == RootBreak.rootTip then
  3.         RootBreak.tipRoot = true
  4.     else
  5.         RootBreak.tipRoot = false
  6.     end
  7.     if RootBreak.tipRoot ~= RootBreak.inRoot then
  8.         RootBreak.inRoot = RootBreak.tipRoot
  9.         RootIndicator:SetHidden(not RootBreak.inRoot)
  10.                 --Added by Baertram to play a sound
  11.                 if RootBreak.inRoot then
  12.                    PlaySound(SOUNDS.MAP_WINDOW_OPEN)
  13.                    --if you want to hear the sound "louder" you can play the same sound multiple times (but max 2 times please!)
  14.                    --Just remove the leading --  comment indicator in front of the lines below, save and do a /reloadui in chat ingame to test it
  15.                    --PlaySound(SOUNDS.MAP_WINDOW_OPEN)
  16.                    --PlaySound(SOUNDS.MAP_WINDOW_OPEN)
  17.                 end
  18.     end
  19. end

You can choose the sound to play from this list:
https://github.com/esoui/esoui/blob/...oundids.lua#L1
-> You need to use the left part e.g. DEFAULT_CLICK and put SOUNDS. in front of it!
-> Just enter that sound key as the example shows above into the function PlaySound(SOUNDS.<sound name here>)
-> e.g. PlaySound(SOUNDS.DEFAULT_CLICK)

You can preview the sounds ingame by using this chat command and pressing the return key.
Or if you use the addon pChat you can find a sound slider, which shows you the sound names, at the menu
"Chat channel" -> "whisper" -> Sound slider
Also the addon FCOUltimateSound provides such a sound slider at the settings menu.

Code:
/script PlaySound(SOUNDS.DEFAULT_CLICK)
Attention: Some sounds are very quiet or even do not play any noise! So just try which work, like book page flip etc. should
Report comment to moderator  
Reply With Quote
Unread 04/22/20, 12:57 AM  
Solaris Lorica
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 5
Uploads: 4
oh cool I guess i can put that loop in the initialize function to generate a list, ill let you know before i release any updates on the combat tip revived addOn.

Originally Posted by Baertram
You can get alist of all the active combat tips like this:

Lua Code:
  1. for activeCombatTipId= 0, 100, 1 do
  2.  local name, tipText, iconPath = GetActiveCombatTipInfo(activeCombatTipId)
  3.  if name and name ~= "" then
  4.    d(">tipId: " ..tostring(activeCombatTipId) ..", name: ".. tostring(activeCombatTipId) ..", tipText: " ..tostring(tipText))
  5.  end
  6. end

Could be that dodge is also 19 but it workled with the current setup (at least I saw the dodge info pretty often if I stand in Shadowfen in front of a crocodile).

The code actually is pretty easy. Try to read it from the bottom to the top (initialization -> event trigger).
Everything esle is about login and auto changing the combat tips to enabled, respecting other addons which disbale this again by accident... and the settings menu (LibAddonMenu2).
You should have seen it before my update a few days ago

Please be sure to test your changes, also maybe with other client languages (/script SetCVar("language.2", "<2CharISOLang, e.g. de, fr, en>")) before releasing updates.
Thanks
Report comment to moderator  
Reply With Quote
Unread 04/21/20, 02:07 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5990
Uploads: 78
You can get alist of all the active combat tips like this:

Lua Code:
  1. for activeCombatTipId= 0, 100, 1 do
  2.  local name, tipText, iconPath = GetActiveCombatTipInfo(activeCombatTipId)
  3.  if name and name ~= "" then
  4.    d(">tipId: " ..tostring(activeCombatTipId) ..", name: ".. tostring(activeCombatTipId) ..", tipText: " ..tostring(tipText))
  5.  end
  6. end

Could be that dodge is also 19 but it workled with the current setup (at least I saw the dodge info pretty often if I stand in Shadowfen in front of a crocodile).

The code actually is pretty easy. Try to read it from the bottom to the top (initialization -> event trigger).
Everything esle is about login and auto changing the combat tips to enabled, respecting other addons which disbale this again by accident... and the settings menu (LibAddonMenu2).
You should have seen it before my update a few days ago

Please be sure to test your changes, also maybe with other client languages (/script SetCVar("language.2", "<2CharISOLang, e.g. de, fr, en>")) before releasing updates.
Thanks
Report comment to moderator  
Reply With Quote
Unread 04/21/20, 12:20 PM  
Solaris Lorica
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 5
Uploads: 4
Thanks for the pointers.

Yeah I guess I was lazy. In the beginning that was my goal, but I had so much trouble finding root state that I got derailed. As it currently is the API does not indicate Root State very clearly, the root state of some skills returns instead as snare, and some others returns as none or magic. Inferring the root state from Active Combat Tip ended up being the only clear cut way of obtaining root state.

So I already had a stunBreak AddOn finished and when I figured out rootBreak it became 2 separate AddOns, and I just left it the way it is, because I wanted to work on a fishing addOn next.

As for the other addOn Root State, it doesn't do much practically, It just demonstrates a way to clearly define root state because when I searched the AddOns for one that indicates Root State I didn't find anything. Maybe once I merged everything I'll remove it.

I'm reading the code for Simple Combat Alerts Revived looks complex I'll have to work through it, I think the purpose of Simple Combat Alerts is a little different from what I was trying to do. My goal was to indicate CC state, and Combat Alerts was just a way for me to get root state out of the game. But yeah add me to the team, I haven't tested it but it seems from the code that the tipId was out of date? I'm pretty sure dodge tipId is 19.

Originally Posted by Baertram
Don't get me wrong, and in the end it is your decision. You are learning by each addon as well.
But why do you create several addons, 1 for each CC state insead of 1 addon for all of them?
Makes it easier to handle and update for yourself, and less cluttered for the users.

Root break, root state, stun state, ...
Just create 1 addon and add a settings menu:
LibAddonMenu-2.0
HowTo -> settings menu

Multi language support info via your addon's txt file:
https://wiki.esoui.com/Addon_manifes...able_Expansion


In the end it would be something like this:
https://www.esoui.com/downloads/info...tsRevived.html

If you want to I can add you to the team and you can update this addon. I only revived it so the users are able to use it.
Last edited by Solaris Lorica : 04/21/20 at 12:23 PM.
Report comment to moderator  
Reply With Quote
Unread 04/21/20, 07:43 AM  
sonwon

Forum posts: 0
File comments: 274
Uploads: 0
Agree

Originally Posted by Baertram
Don't get me wrong, and in the end it is your decision. You are learning by each addon as well.
But why do you create several addons, 1 for each CC state insead of 1 addon for all of them?
Makes it easier to handle and update for yourself, and less cluttered for the users.

Root break, root state, stun state, ...
Just create 1 addon and add a settings menu:
LibAddonMenu-2.0
HowTo -> settings menu

Multi language support info via your addon's txt file:
https://wiki.esoui.com/Addon_manifes...able_Expansion


In the end it would be something like this:
https://www.esoui.com/downloads/info...tsRevived.html

If you want to I can add you to the team and you can update this addon. I only revived it so the users are able to use it.
Report comment to moderator  
Reply With Quote
Unread 04/21/20, 06:10 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5990
Uploads: 78
Don't get me wrong, and in the end it is your decision. You are learning by each addon as well.
But why do you create several addons, 1 for each CC state insead of 1 addon for all of them?
Makes it easier to handle and update for yourself, and less cluttered for the users.

Root break, root state, stun state, ...
Just create 1 addon and add a settings menu:
LibAddonMenu-2.0
HowTo -> settings menu

Multi language support info via your addon's txt file:
https://wiki.esoui.com/Addon_manifest_(.txt)_format#Variable_Expansion


In the end it would be something like this:
https://www.esoui.com/downloads/info...tsRevived.html

If you want to I can add you to the team and you can update this addon. I only revived it so the users are able to use it.
Last edited by Baertram : 04/21/20 at 06:18 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: