Thread Tools Display Modes
06/17/20, 05:29 AM   #1
remosito
AddOn Author - Click to view addons
Join Date: Dec 2019
Posts: 30
Harrowstorm zone Announcer

I wish I had the time myself:

Addon that posts into zone chat where a harrowstorm is happening.

- Precollect coordinates for different harrowstorm locations
- register for combat events,
- register for chat channel
- listen for addon zone hs announcments
- keep last received datetime for each location
- when combat starts do basic checks:
- within range of center?
- not pvp (so ppl can't trigger it with duels while waiting)
- oponent is one of harrowstorm ennemies (ppl tend to bring aggroed mobs with them)
- when determined is harrowstorm combat
- check timestamp of last heard announcment for this harrowstorm
- if timestamp is old enough
- wait random(0..x) seconds then broadcast Announcment to zone if none have been received in the meantime

(random( 0..x) seconds to avoid 50 parallel zone chat announcments by different players with addon)
(x might have to be sufficiently high, zone chat lags sometimes)

Optionally notification/popup/whatever if hs announcement has been detected in zonechat
(or little window with location of last hs announcment and time since reception)

I'd love if this existed :-)
  Reply With Quote
06/17/20, 06:33 AM   #2
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
Code:
oponent is one of harrowstorm ennemies (ppl tend to bring aggroed mobs with them)
I guess you won't be able to track this properly as there is nothing except MAYBE the name of the enemy unit.
Maybe the "sourceType" states that it was a kind of NPC and you can use this to track it was not done by other players.
But afaik ZOs changed the combat event results (at least for other "players") to retrur nothing anymore.

Found this in the Wiki:
Note: In most cases combat events will only return relevant values if the player character is either the source or the target of the event! In most other cases they only return the abilityId and the target's unitId!

So you'd ned to use the unitId and GetUnitName(unitId), multi language, as I thought :-(
And for those you get hit it would be sourceType = COMBAT_UNIT_TYPE_NONE I guess, as (COMBAT_UNIT_TYPE_OTHER would be another player, says the Wiki)

Code:
(random( 0..x) seconds to avoid 50 parallel zone chat announcments by different players with addon)
(x might have to be sufficiently high, zone chat lags sometimes)
I'd rather listen to chat message event and if any message about the same HS was broadcasted in the same zone chat in the last x seconds forget your broadcast at all -> supress it.
Else you still get the chat spam by 20+ addon users within a few secons which will be makign A LOT of the players mad that woudl like to use teh chat for other searches (mobs, bosses, qeusts) as well


Maybe also/instead of using the harrowstorm coordinates on the map, simply add a context menu to the harrowstorms map pin. Users can start the broadcast via the context menu more reliably as the name of the map pin should be unique and reusable for the chat broadcast.
You'd only need to pre-collect the multiple languages of the Harrowstorm names... But easier than collecting the "positions" imo

Maybe there also is some kind of function in the LibGPS and/or other libraries to track if you are near such a map pin, already

Last edited by Baertram : 06/17/20 at 06:46 AM.
  Reply With Quote
06/17/20, 08:00 AM   #3
remosito
AddOn Author - Click to view addons
Join Date: Dec 2019
Posts: 30
Originally Posted by Baertram View Post

Code:
(random( 0..x) seconds to avoid 50 parallel zone chat announcments by different players with addon)
(x might have to be sufficiently high, zone chat lags sometimes)
I'd rather listen to chat message event and if any message about the same HS was broadcasted in the same zone chat in the last x seconds forget your broadcast at all -> supress it.
Else you still get the chat spam by 20+ addon users within a few secons which will be makign A LOT of the players mad that woudl like to use teh chat for other searches (mobs, bosses, qeusts) as well
What you are describing is what I meant with: "if none have been detected in the meantime"

the 0..x random delay is to prevent message spam from 3 players with addon that have just been waiting there. Harrowstorm goes up. They are all very fast at reacting and attacking. All three detect its happening and broadcast because it all happened before any broadcast by one player to zone chat would have even been received by other players with addon due to chat lag.

The random wait makes it so ideally player 1 gets short wait say 0.5 seconds...player 2 gets medium wait say 3 seconds and player 3 gets long wait of 9.7 seconds.

If chat lag is 2 seconds, then player 2 and 3 receive player 1's announcement in time and dont broadcast.

Without random delay all three would have broadcast....

Obviously rng is a harsh mistress and chances are that at least two players would have gotten delays within "chat lag" seconds of each other and will all broadcast anyway.

But in general would cut down on multiple broadcasts quite a bit....

a kindom for a hidden addon channel for addons to communicate with each other....

Last edited by remosito : 06/17/20 at 08:03 AM.
  Reply With Quote
06/17/20, 08:10 AM   #4
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
a kindom for a hidden addon channel for addons to communicate with each other....
Yes please!
https://www.esoui.com/forums/showthread.php?t=6911
  Reply With Quote
06/17/20, 08:24 AM   #5
remosito
AddOn Author - Click to view addons
Join Date: Dec 2019
Posts: 30
Originally Posted by Baertram View Post
Maybe scale the request down from "user created channels" to "1 global addon communication channel" might increase it's chances of becoming a thing?

Addon communication Channel:

- not user visible
- not user postable
- only read/postable by Addons through special functions

Edit: Nothing against user created channels... just way bigger scope...less likely to get picked up as a feature ;-)

Last edited by remosito : 06/17/20 at 08:30 AM.
  Reply With Quote
06/17/20, 09:25 AM   #6
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
This was requested as well (via other channels I could not find again) and most likely it won't ever happen
Not sure if it's a political decision or it's thought of affecting the server performance (which already IS an actual issue).
  Reply With Quote

ESOUI » AddOns » AddOn Search/Requests » Harrowstorm zone Announcer

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off