Get an Epic Experience with Premium

Resurrection Enhancement System (Res)

Chat & Communication Login to Add Favorites
  • 0 Likes
  • Warhammer Online
  • 59 Monthly Downloads
  • Supports: 1.3.6
  • 12,090 Total Downloads
  • Updated 08/17/2010
  • Created 01/07/2010
  • 32 Favorites
  • Project Site
  • Comments
  • Release Type: Inactive
  • License: MIT License
  • Newest File: v1.3
or

About Resurrection Enhancement System (Res)

The Resurrection Enhancement System (Res) automatically sends a notification, via the chat channel of your choice, that you are casting the resurrection spell and who it is that you are resurrecting. Res also includes an Options window for easy set up and a toggle button to quickly and easily disable the addon. Within this window, you can also type a custom message that will appear after the Resurrection message and even customize the icon to your liking.

As of Version 1.1 the Smart channel has now been made available. This means that before announcing the resurrection, Res will dynamically determine which channel is appropriate. The rules for this determination are as follows:

  1. If you are in a Scenario, then announce the resurrection in the /sc channel.
  2. If you are in a Warband, then announce the resurrection in the /wb channel.
  3. If you are in a Party, then announce the resurrection in the /p channel.
  4. If non of the above, then announce the resurrection in the /s channel.

Version 1.2 introduces the ability to check to see if the resurrection failed and if so then announces the failure. Fixed a bug where the addon only worked for the English version of the game. Taught Res to speak German. Lastly the Resurrection Enhancement System will no longer send any notifications to the Advice channel, instead the notification will be redirected to the Say channel.

In version 1.2.1 Res has learned to speak French. Also fixed a bug where the incorrect name was announced when the friendly target changed between the casting of the spell and the failure of the spell.

Version 1.3 are changes to the core code to cater for the 1.3.6 patch changes.

Acknowledgments:

  • Yak for the idea of the Smart channel and the majority of the German translations.
  • Beregard for being my international tester and the rest of the German translations.
  • nicoolaas for the French translations.

Note: This addon has a dependency on the Libslash addon in order to run.

Further Note: If you would like Res to speak in your native language please click here and add the appropriate translations.

Altered mod to work with the 1.3.6 patch changes

Comments

First Previous Page 2 of 2 Next Last
  • #7
    Now, I know why the addon does not work properly with me. This is, because I am playing the german version of the game. Could you make some changes, to make this addon work with other languages (especially german), too?

    Best regards
  • #8
    Hi Beregard,

    Your right, currently the addon looks at the english version of the ability names only. I'm in the middle of altering the addon now to cater for all languages the game comes in and will release a new version shortly.

    Thanks for letting me know.
  • #2
    tested and seems to work properly :)



    i would really appreciate an option for inteligent channel output.

    scenario:
    scenario chat

    orvr:
    group channel
    warband channel
    say

    to get the addon recognize if you are resurecting someone outside of your group/warband may be tricky though...

    and may i suggest some other tgas for the toggle? :P
    just spend 15min with photoshop to make these. preaty obvious, but that's what icons shall be, isn't it?
    http://www.mediafire.com/file/ztmjqzmzzdm/Res Icon.zip

    cheers
    yak

  • #3
    The only problem with your Intelligent Channel idea is that it wasn't mine :( It's coded, tested and works like a treat, nice one.

    Having said that I stayed away from target not in your group/warband condition. I wrote it up by comparing the targets name against every member name in your group/warband. It adds an overhead I'm not happy with so I have put a hold on this till I can figure out a better way to do it.

    The icon was a place holder so I could get the mod out there. I'm not a big fan of the warhammers default circle buttons at such low resolutions, it's hard enough to see them as is without cutting out the edges of the image. I do have some fun things planned for the icon instead and should have that completed later today...I hope.
  • #4
    great you liked that idea :)

    i've done some testings and changes with your code and have 2 more suggestions:

    -------------------------------------------------------------

    A) interrupt feedback:

    This will bring additional chat info if the res got interrupted.
    i added the following event right after the send chat text broadcast in the Res.Announce function:
    -----------------------------------------
    RegisterEventHandler (SystemData.Events.PLAYER_END_CAST, "Res.CheckCast")
    -----------------------------------------

    -----------------------------------------
    function Res.CheckCast(interrupt)
    UnregisterEventHandler (SystemData.Events.PLAYER_END_CAST, "Res.CheckCast")
    if interrupt == true then
    SystemData.UserInput.ChatText = L"Resurrection interrupted!"
    BroadcastEvent(SystemData.Events.SEND_CHAT_TEXT)
    end
    end
    -----------------------------------------
    i used the channel that is used in the Res.Announce so i moved the declaration of the variable "channel" from the Res.Announce function to the top of the code in order to have it in the other function available as well.

    -------------------------------------------------------------

    B) archtype colored names in the output:

    ok, this is more or less just to do it different than the other res addons, i confess :P
    i added this to the Res.Announce
    local career = TargetInfo:UnitCareer("selffriendlytarget")
    this will return a specific number for every career so we can determine what class is ressurected. personally i prefer the archetypes that are used in squared = tanks, rangedsupporters, meleesupporters, rangedphysicaldps, rangedmagicaldps & meleedps. so i assign the classes to the archetypes and set different colors for them.
    i think i don't have to post that part of the code, so let's get to the essential part:
    -----------------------------------------
    link = CreateHyperLink( L"ressurection", towstring(TargetInfo:UnitName("selffriendlytarget")), {colorr,colorg,colorb}, {} )
    SystemData.UserInput.ChatText = L"Resurrecting "..link..L" (Lvl"..towstring(level)..L")"
    -----------------------------------------
    i also added the level of the target to the display with TargetInfo:UnitLevel("selffriendlytarget")...
    colorr, colorg, colorb
    it would be nice to have the colors of the archetypes editable, i gave them the colors i use in squared but others may want to have their own coloring.

    -------------------------------------------------------------

    ;-)

    cheers
    yak
  • #9
    Hey Yak,

    Love the idea for the interrupt, I can see where that would be really usefull and I've added that code in and will release it along with the language independance fix.

    Not sure about the archtype colour though. I don't really see what benefit it would provide the user and as you've touched on, which archtype setup do you use and colour schemes, etc seems like a lot of overhead for little benefit.

    Having said that if enough ppl want it, I'm more than happy to add it.

    Medikage
  • #5
    hmpf, i tested a little more and it would be better to link the register/unregister of the event with a boolean to prevent errors...

    local eventhandler = false

    if eventhandler == false then
    RegisterEventHandler (SystemData.Events.PLAYER_END_CAST, "Res.CheckCast")
    eventhandler = true
    end

    if eventhandler == true then
    UnregisterEventHandler (SystemData.Events.PLAYER_END_CAST, "Res.CheckCast")
    eventhandler = false
    end

    cheers
    yak
  • #21
    I´m unsure if that´s the way to go, in my admittedly limited experience (un)registering eventhandlers in the middle of the fight would be something I´d try to avoid.
    However, I could be totally wrong. Anyways, I´d like to sketch an alternative:
    You just (un)register the usual way, just like the START_CAST.
    //somewhere on top
    local castStarted = false
    //in function Res.StartCast(abilityId, isChanneledSpell, desiredCastTime, averageLatency)
    //...
    then
    -- A valid ressurection is being cast...
    castStarted = true
    Res.Announce(CAST_BEGIN)

    //you start your function Res.CheckCast(interrupt) aka function Res.EndCast(CastFailed) with
    if caststarted = false then return else caststarted = false end
    //dostuff

    Granted, the function gets called more often, however those things are done in onupdate functions, so there shouldn´t be a problem. With registering event handlers I´m not so sure. However, if it works for everyone...just my 2 cents
  • #22
    Of course it´d be a good idea to spell castStarted the same everywhere ;)
  • #1
    Good job, works perfectly :)
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Infinite Crisis NA

Get Your Preferred Access Code!