LibResInfo - resurrection info without comms
LibResInfo-1.0 detects resurrection spells being cast by group members and identifies who they are being cast on, and provides that information to addons through callbacks and API functions.
LibResInfo-1.0 was written to replace LibResComm-1.0, and works locally without the need for addon communication, so it is not necessary for anyone else in your group to have it installed. It is completely locale-independent. Download: SVN URL is usable for direct checkouts, in svn:externals properties, and in CurseForge .pkgmeta files. Please direct all bug reports, suggestions, questions, and comments to the forum thread: http://www.wowinterface.com/forums/s...ad.php?t=43933 Please do not use the comments section on the download page! File comments aren't searchable, can't be linked individually, and don't support threading. Curent Status This library should be considered an early beta release. It should be safe to start converting addons, but you should probably not publish "stable release" versions of addons using this library yet. WoW 5.x only. No backwards compatibility with WoW 4.x is planned, as 5.x is going live in less than a week, and nobody will be developing addons for 4.x anyway. No Mass Resurrection support yet. I'll be working on that this week. No self-resurrect support yet. Support for pre-cast Soulstone is planned. Support for Reincarnation is under consideration, but requires some guesswork, since until you actually see a shaman resurrect themselves, there's no way to tell if the ability is on cooldown or not. Callback API documentation: http://wow.curseforge.com/addons/lib...api/callbacks/ Function API documentation: http://wow.curseforge.com/addons/lib...api/functions/ Other notes It is not possible to definitively detect when someone who joins the group is already casting a resurrection spell on someone who is already in the group, or someone who joins the group already has a resurrection spell being cast on them by someone who is already in the group. I think this is a pretty uncommon edge case, so for now it's not supported. It is not possible to detect when someone who joins the group while dead already has a resurrection available to them. It is not possible to detect when someone declines a resurrection manually. |
Quote:
|
Quote:
I'm keeping an eye on this, because if it proves a better solution, I can switch. The only suggestion I would make is to have some form of IsUnitBeingRessed(unit) returning Boolean and caster. UnitHasIncomingResurrection() only has the Boolean. LibResComm has this API, and while I do not make use of it, I could see the value. |
Quote:
Also, the current idea is that all callbacks and API functions will pass/return GUIDs only, not unit IDs or names, but I'm very open to comments on what you'd like to see. I don't want to get too far into RosterLib territory, though I'm already keeping a map of GUID => unit ID, so I could pass that info. |
Changed my mind. Everything will return both the unitID and the GUID. Yes, it's trivially easy for addons to get the GUID from the unitID if they want it, but since the lib already has the GUID (everything is tracked by GUID internally) why not save a function call?
API functions will accept either a unitID or a GUID. Working on LibStub-ifying it at the moment. Will fix the bugs with people leaving the group after that, and then work on refactoring the messy/redundant parts, and then add the callbacks and API. |
It is early days yet for the code, but I'm wondering about spells. You have Raise Ally and Soulstone; what about Revive? In LibResComm I didn't put in Soulstone, Reincarnation, and the related cooldown spells because they have no cast times and share cooldowns. Or at least they did. Revive, on the other hand, does have a cast time.
Anyway, your thoughts, Phanx? |
Quote:
Code:
local resSpells = { I do plan to add support for Soulstone (the traditional kind that's cast on you before you die) and Reincarnation, similar to LibResComm_CanRes, but I want to get the basic stuff ironed out first. |
Both kinds of jumper cables and mass rez?
|
Are jumper cables still a thing?
I added both of them just now, but I haven't actually seen a jumper cable since the Level 60 days, so it's definitely untested. If you happen to have a jumper cable or know someone who does, testing and reporting back with the results would be great. :) |
I've seen them used in LFD on lower dungeons.
|
I've seen the Gnomish Army Knife and Jumper Cables (both kinds) in both random dungeons and guild runs, as far as level 80+ in patch 4.1, where I quit at the time. I think they are novelty items, but people still use them, especially players whose class is not a healer. Many Rogues and Hunters were firing those off whenever they could.
For LibResComm, because it uses a comm system, and the Engineering devices have a fail chance, I never added them, even when asked. I support them manually in SmartRes2 under "non CTRA casts." For your lib, however, I would put them in, but that's me. |
Well, failures are easy enough to detect, though I'll have to find someone to test so I can get the exact sequence of events and combat log data to handle them properly. Added the Gnomish Army Knife spell also.
|
No midgets (and/or pandas) have been harmed in the making of this library? :(
|
Sorry, I forgot about the obligatory midget slaying. I'll get right on that. :p
|
The first word on the page http://wow.curseforge.com/addons/lib...api/callbacks/ just might confuse people.
Looking very good thus far. |
Oh, I forgot. Due to testing, Defibrillate has multiple translations, each different depending on game locale. I found this out the hard way that you need the spell ID for all three versions.
Lua Code:
|
All of those are already included. See the first post for a link to the SVN browser where you can get the current version.
|
I checked out the repo, since the code paste is gone. I haven't tried forking SmartRes2 to use LibResInfo yet, but I might, time permitting. I am sure you know about this, but just in case. Line 400 reads
Lua Code:
Lua Code:
|
Parenthesis, you are drunk. :(
|
I have never used WowI's repo system; therefore I don't know if this is by design, so I thought to point this out. When checking out the repo, it wanted to default the name of the folder to LibResInfo-976, which means nobody can pull the lib from, say, the pkgmeta on Curseforge or WowAce. We'd have to check out LRI, rename the folder, and hard embed.
In other words, because the folder is named something other than the toc file, it won't load as is. Can this be changed, or do we have to wait for you to commit to http://wow.curseforge.com/addons/libresinfo/ ? EDIT: will checking out svn://svn.wowinterface.com/LibResInfo-976/trunk/ work? |
All times are GMT -6. The time now is 09:12 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI