Page 6 of 9 FirstFirst ...
4
5
6
7
8
... LastLast
  1. #101
    Brewmaster Thundertom's Avatar
    10+ Year Old Account
    Join Date
    Oct 2009
    Location
    The Netherlands
    Posts
    1,319
    Quote Originally Posted by shallo View Post
    A bot cannot spell reflect an instant cast spell. The way that the ability (spell reflect) is coded into the game makes it impossible. But a bot CAN cloak / ice block a spell.

    The reasoning for this is as follows:

    - Bots use the combat log to detect when a spell has been cast on them. They use the event SPELL_CAST_SUCCESS.
    - For spell reflect, for you to reflect something your SPELL_CAST_SUCCESS of spell reflect must come BEFORE the spell being reflected (again just how the game is coded)

    So lets say for HoJ it would go like this:

    - SPELL_CAST_SUCCESS HoJ
    - SPELL_CAST_SUCCESS Reflect
    --- HOJ would not get reflected. This is the only way a bot reacts.

    - SPELL_CAST_SUCCESS Reflect
    - SPELL_CAST_SUCCESS HoJ
    --- HOJ would get reflected. A bot wouldn't function this way because the HoJ hasn't been sent to the server yet so it doesn't know to react.

    The cloak example would be:
    - SPELL_CAST_SUCCESS HoJ
    - SPELL_CAST_SUCCESS Cloak of Shadows
    --- In this scenario, you could actually cloak of shadows the HoJ but only because the way cloak of shadows works. It doesn't function like reflect.

    So like I said, a bot cannot reflect HoJ's (on purpose anyways) but it can cloak one because of different spell functions.

    If you don't believe me feel free to go test it in game. Have a casted spell with travel time (like frostbolt) go on you and when the spell is mid-air hit reflect. You will have the reflect buff but still get hit by the spell 100% of the time. Now do that same thing with cloak and you will not get hit by the frostbolt.
    This makes sense. I guess I made a wrong call by reporting him.

    The point of this thread was a check to see if I had made a wrong call and if bots are able to reflect HoJs.
    Warlock (SL main)

  2. #102
    The Patient
    10+ Year Old Account
    Join Date
    Jan 2010
    Location
    London
    Posts
    305
    Quote Originally Posted by shallo View Post
    A bot cannot spell reflect an instant cast spell. The way that the ability (spell reflect) is coded into the game makes it impossible. But a bot CAN cloak / ice block a spell.

    The reasoning for this is as follows:

    - Bots use the combat log to detect when a spell has been cast on them. They use the event SPELL_CAST_SUCCESS.
    - For spell reflect, for you to reflect something your SPELL_CAST_SUCCESS of spell reflect must come BEFORE the spell being reflected (again just how the game is coded)

    So lets say for HoJ it would go like this:

    - SPELL_CAST_SUCCESS HoJ
    - SPELL_CAST_SUCCESS Reflect
    --- HOJ would not get reflected. This is the only way a bot reacts.

    - SPELL_CAST_SUCCESS Reflect
    - SPELL_CAST_SUCCESS HoJ
    --- HOJ would get reflected. A bot wouldn't function this way because the HoJ hasn't been sent to the server yet so it doesn't know to react.

    The cloak example would be:
    - SPELL_CAST_SUCCESS HoJ
    - SPELL_CAST_SUCCESS Cloak of Shadows
    --- In this scenario, you could actually cloak of shadows the HoJ but only because the way cloak of shadows works. It doesn't function like reflect.

    So like I said, a bot cannot reflect HoJ's (on purpose anyways) but it can cloak one because of different spell functions.

    If you don't believe me feel free to go test it in game. Have a casted spell with travel time (like frostbolt) go on you and when the spell is mid-air hit reflect. You will have the reflect buff but still get hit by the spell 100% of the time. Now do that same thing with cloak and you will not get hit by the frostbolt.
    You are partly right and your argument proves why you can reflect a HoJ, here's why.

    The Reflect mechanic is rolled on the same table as Cloak.

    They are both in the MISS category and therefore are rolled after you cast HoJ, the spell must be registered as a SUCCESS to trigger the roll for the MISS table so the timeline on the combat log looks like this.

    SPELL_CAST_SUCCESS HoJ - This denotes that you have pushed your bind for HoJ and the server has recognised it, the SUCCESS is not it landing, that is the server feedback to acknowledge that it has received the packet request to apply HoJ, the reason for this is even tho it is an instant cast it is still counted as a spell, the SUCCESS is the same for a cast time spell of 2s without the _CAST_START, SUCCESS is you COMPLETING the cast, the server then rolls from the MISS table to check the target for any MISS AURA (reflect/Cloak). Reflect is classed as Reflect, Cloak is classed as Immune, both are off the GCD so capable of bypassing that.

    This is a hidden roll, i.e not in the combat log, and why people think you can't reflect an instant cast.

    If the HoJ is successful the combat log reads back AURA_APPLIED HoJ, if one of the categories on the MISS table is up then you get HoJ_MISSED(ABSORB BLOCK DEFLECT DODGE EVADE IMMUNE MISS PARRY REFLECT RESIST)

    So basically the SPELL_SUCCESS is the trigger for the bot to cast reflect as the next thing the server is about to do is check for MISS AURA, just like you thought with cloak.

    Don't believe me?

    Here's the link for the MISS table, you'll find reflect on there 9th down.

    http://www.wowwiki.com/API_COMBAT_LOG_EVENT
    Last edited by villie; 2014-05-13 at 07:43 PM.

  3. #103
    I am Murloc! crakerjack's Avatar
    10+ Year Old Account
    Join Date
    Sep 2010
    Location
    Ptwn, Oregon
    Posts
    5,014
    Um... maybe you were just incredibly predictable? When you had no CD's and you're getting low... you have to peal off... Paladins peal by using HoJ. He could have just read you like a book. I've done this countless times to people... back in TBC I loved SS warriors who were trying to charge me. The warrior bursted you down, knowing you'd have to get him off w/ a HoJ. While you're at 30% and dropping, he pops SR expecting your HoJ. You HoJ and he uses the stun to finish you off. There's a chance he's using a bot, but then again it's just likely that you were being predictable. You even mention how you use it as a defensive when you get in trouble. Mastering PvP is knowing every class and how they play... when you know how certain classes play, you force them to use certain CD's until they have nothing left... at this point you kill them.
    Most likely the wisest Enhancement Shaman.

  4. #104
    Well this thread is going places.

    @OP:
    As others have mentioned, it is entirely possible to have a programme reflect (even instant) spells back at you, as it is with interrupts at specific points (i.e. 0.1sec in) as well. There was a recent ban wave of people using a similar (or the same) programme even.

    The player could also predict it. AddOns can accurately track enemy cooldowns, and players give off signs such as running in; it's very easy to look out for it when you fight the same person, even for just a few minutes. I've faked peoples Dragon Breaths, Frost Novas, Howl of Terrors etc. before quite often by running towards and moving away quickly just as I get in range of the ability whilst they are trying to kite me. It's also quite obvious with paladins, especially in BGs, as a lot of the time they target you right before HoJing.

    With all that said, if he was sitting on you constantly (at least in range) and you weren't just using it on cooldown so he could put it up exactly when it came up, he was likely using the bot.

    Report it and Blizz will [eventually] deal with it accordingly.
    Last edited by Soisoisoi; 2014-05-13 at 07:47 PM.

  5. #105
    Most Paladins I fight are pretty predictable when it comes to guessing when the stun is coming.

  6. #106
    Bloodsail Admiral zenga's Avatar
    10+ Year Old Account
    Join Date
    Jun 2010
    Location
    Belgium
    Posts
    1,208
    Quote Originally Posted by villie View Post
    You are partly right and your argument proves why you can reflect a HoJ, here's why.

    The Reflect mechanic is rolled on the same table as Cloak.

    They are both in the MISS category and therefore are rolled after you cast HoJ, the spell must be registered as a SUCCESS to trigger the roll for the MISS table so the timeline on the combat log looks like this.

    SPELL_CAST_SUCCESS HoJ - This denotes that you have pushed your bind for HoJ and the server has recognised it, the SUCCESS is not it landing, that is the server feedback to acknowledge that it has received the packet request to apply HoJ, the reason for this is even tho it is an instant cast it is still counted as a spell, the SUCCESS is the same for a cast time spell of 2s without the _CAST_START, SUCCESS is you COMPLETING the cast, the server then rolls from the MISS table to check the target for any MISS AURA (reflect/Cloak). Reflect is classed as Reflect, Cloak is classed as Immune, both are off the GCD so capable of bypassing that.

    This is a hidden roll, i.e not in the combat log, and why people think you can't reflect an instant cast.

    If the HoJ is successful the combat log reads back AURA_APPLIED HoJ, if one of the categories on the MISS table is up then you get HoJ_MISSED(ABSORB BLOCK DEFLECT DODGE EVADE IMMUNE MISS PARRY REFLECT RESIST)

    So basically the SPELL_SUCCESS is the trigger for the bot to cast reflect as the next thing the server is about to do is check for MISS AURA, just like you thought with cloak.

    Don't believe me?

    Here's the link for the MISS table, you'll find reflect on there 9th down.

    http://www.wowwiki.com/API_COMBAT_LOG_EVENT
    In this and a few posts someone will come in and say 'HoJ can't be reflected, l2p'. Ignoring this post, your previous one, and the fact that it takes 2 minutes to google to find out why, how and which bots have a reflect feature. Not to mention the 'authority' they seem to dismiss it with.

  7. #107
    So I had the right idea I just didn't know the specific packets that are communicated between server and client, thanks for that very nice post.

  8. #108
    Quote Originally Posted by Illana View Post
    how on earth would the server know what the conditions of the victim's client is without first sending a request?

    Please don't talk about what you clearly have no idea about.
    Might want to take your own advice. The server knows because that's the first rule of network programming for games: never trust the client. The server holds all of the game state and it tells the clients what to display. Otherwise players could hack the client to tell the server that they are permanently immune to silence/stuns/damage/whatever.


    It's technically impossible for a bot to reflect an instant spell (I'm not saying it's impossible to reflect HoJ though, explained later). Here's why:

    Player 1 casts Hammer of Justice
    Server does its checks (cooldown, range, immunities, etc), applies the effect if it can and reports the result to all interested clients
    Player 2 receives the message that Player 1 just cast Hammer of Justice
    Player 2's bot casts spell reflect
    Server: Tough shit, you're already stunned

    Player 2 can't possible know that Player 1 cast Hammer of Justice unless the server says so, by which time it's too late.


    If, however, HoJ has some travel time, then it should be theoretically possible to reflect it (since you could get your Spell Reflect request in before the server actually applies the stun) but you'd need damn-near perfect latency. If HoJ does have a delay, it's not a very noticeable one. I don't see why HoJ would have a travel time but Blizzard has done crazier things.

  9. #109
    Can see videos of such things on youtube, even from the PoV of someone using a the bot. There's no denying it is possible, somehow.

  10. #110
    HoJ has just always been really predictable.

  11. #111
    Deleted
    OP got owned in BGs and reported for cheating because he's butthurt.

    Jokes aside, what proof do you really have that he was cheating and not just outplaying you?

  12. #112
    Quote Originally Posted by villie View Post
    You are partly right and your argument proves why you can reflect a HoJ, here's why.

    The Reflect mechanic is rolled on the same table as Cloak.

    They are both in the MISS category and therefore are rolled after you cast HoJ, the spell must be registered as a SUCCESS to trigger the roll for the MISS table so the timeline on the combat log looks like this.

    SPELL_CAST_SUCCESS HoJ - This denotes that you have pushed your bind for HoJ and the server has recognised it, the SUCCESS is not it landing, that is the server feedback to acknowledge that it has received the packet request to apply HoJ, the reason for this is even tho it is an instant cast it is still counted as a spell, the SUCCESS is the same for a cast time spell of 2s without the _CAST_START, SUCCESS is you COMPLETING the cast, the server then rolls from the MISS table to check the target for any MISS AURA (reflect/Cloak). Reflect is classed as Reflect, Cloak is classed as Immune, both are off the GCD so capable of bypassing that.

    This is a hidden roll, i.e not in the combat log, and why people think you can't reflect an instant cast.

    If the HoJ is successful the combat log reads back AURA_APPLIED HoJ, if one of the categories on the MISS table is up then you get HoJ_MISSED(ABSORB BLOCK DEFLECT DODGE EVADE IMMUNE MISS PARRY REFLECT RESIST)

    So basically the SPELL_SUCCESS is the trigger for the bot to cast reflect as the next thing the server is about to do is check for MISS AURA, just like you thought with cloak.

    Don't believe me?

    Here's the link for the MISS table, you'll find reflect on there 9th down.

    LINK EDITED OUT DUE TO PERMISSION RESTRICTIONS
    Thankfully you know the API so I have no argument with you there. They do roll into the same MISS category and MISS does indeed come after SUCCESS. But you are still wrong. Ability vs Abilty they function differently which makes it impossible to be coded based on the combat log events. Do this:

    If you don't believe me feel free to go test it in game. Have a casted spell with travel time (like frostbolt) go on you and when the spell is mid-air hit reflect. You will have the reflect buff but still get hit by the spell 100% of the time. Now do that same thing with cloak and you will not get hit by the frostbolt.

    In that scenario there is a large gap between (lets just estimate up to .5 sec based on distance) SUCCESS and AURA_APPLIED but if you cast reflect in-between the SUCCESS and AURA_APPLIED you will NOT reflect the spell. If you cloak between those two, you will immune the spell. Please go test it, reflect has worked like this since it was implemented in the game back in BC.

    Your argument is logically sound just based on the API and truthfully I don't have an API based argument to show WHY reflect works like that and cloak doesn't. You can't even say its because reflect needs a AURA_APPLIED of its own because Cloak does as well. It is just the way the spell works and always has worked.

    tldr; Different spell functioning makes it impossible.

  13. #113
    Quote Originally Posted by Exit0sus View Post
    Might want to take your own advice. The server knows because that's the first rule of network programming for games: never trust the client. The server holds all of the game state and it tells the clients what to display. Otherwise players could hack the client to tell the server that they are permanently immune to silence/stuns/damage/whatever.


    It's technically impossible for a bot to reflect an instant spell (I'm not saying it's impossible to reflect HoJ though, explained later). Here's why:

    Player 1 casts Hammer of Justice
    Server does its checks (cooldown, range, immunities, etc), applies the effect if it can and reports the result to all interested clients
    Player 2 receives the message that Player 1 just cast Hammer of Justice
    Player 2's bot casts spell reflect
    Server: Tough shit, you're already stunned

    Player 2 can't possible know that Player 1 cast Hammer of Justice unless the server says so, by which time it's too late.


    If, however, HoJ has some travel time, then it should be theoretically possible to reflect it (since you could get your Spell Reflect request in before the server actually applies the stun) but you'd need damn-near perfect latency. If HoJ does have a delay, it's not a very noticeable one. I don't see why HoJ would have a travel time but Blizzard has done crazier things.
    Actually, from my limited knowledge of how it functions, it isn't impossible.

    Take a look at normal spells for an example.
    Lets use for example moonfire if you check the combat log, first you will see it cast then you will see it hit.

    One the first part is where you cast it, during this step the server is calculating how much your raw stats on the move are based on your stats and procs at the time, adjusting the moonfires raw damage output as well as crit chance, hit chance and all that based on what you have.

    Then comes the part where the other player is hit by it, during THIS step is when it takes that raw information and is applying to them and using their stats and all to modify it further as it applies it.

    So, to simplify it.

    Step 1: Druid casts moonfire and adjusts it based on the druid alone.

    Step 2: Warrior casts spell reflect. Spell reflect is received by the server during the 0.15 seconds it takes the server to apply the moonfire to them and since it is a self-buff it has no second part or major stats to greatly modify it making it faster for the server to resolve.

    Step 3: Moonfire is applied to the Warrior only to hit the Spell-Reflected state and is reflected.

    Same thing with the HoJ against it. This is how the bots would exploit it and the extremely small window is why it wouldn't be 100% either. At least given from how I believe the server to handle it, but like I said before, I haven't played in a while.

  14. #114
    Brewmaster Thundertom's Avatar
    10+ Year Old Account
    Join Date
    Oct 2009
    Location
    The Netherlands
    Posts
    1,319
    Quote Originally Posted by Mbison View Post
    OP got owned in BGs and reported for cheating because he's butthurt.

    Jokes aside, what proof do you really have that he was cheating and not just outplaying you?
    I don't have any proof. I may very well have made a wrong call. I'm trying to gather info about how this cheating works so I can make better judgement in the future. I am a Paladin after all (Judgment...Paladin...yes?.....no....I'll get me coat.)
    Warlock (SL main)

  15. #115
    The Patient
    10+ Year Old Account
    Join Date
    Jan 2010
    Location
    London
    Posts
    305
    Quote Originally Posted by shallo View Post
    Thankfully you know the API so I have no argument with you there. They do roll into the same MISS category and MISS does indeed come after SUCCESS. But you are still wrong. Ability vs Abilty they function differently which makes it impossible to be coded based on the combat log events. Do this:

    If you don't believe me feel free to go test it in game. Have a casted spell with travel time (like frostbolt) go on you and when the spell is mid-air hit reflect. You will have the reflect buff but still get hit by the spell 100% of the time. Now do that same thing with cloak and you will not get hit by the frostbolt.

    In that scenario there is a large gap between (lets just estimate up to .5 sec based on distance) SUCCESS and AURA_APPLIED but if you cast reflect in-between the SUCCESS and AURA_APPLIED you will NOT reflect the spell. If you cloak between those two, you will immune the spell. Please go test it, reflect has worked like this since it was implemented in the game back in BC.

    Your argument is logically sound just based on the API and truthfully I don't have an API based argument to show WHY reflect works like that and cloak doesn't. You can't even say its because reflect needs a AURA_APPLIED of its own because Cloak does as well. It is just the way the spell works and always has worked.

    tldr; Different spell functioning makes it impossible.
    If you are referring to the fact that you can cloak a spell after mid flight but not reflect i agree, i know that is possible, i have had my death coil neilyo'd many a time.

    However, it makes no difference, yes the mechanics are different so for a HUMAN your theory is correct since a human can react quick enough to put up cloak and it will work due to mechanics. However we are talking the very fraction of a second(lag dependant) which in these cases is 0.1s of the spell registering SPELL_SUCCESS that reflect behaves the same. And because this is consistent, so only possible by a bot.

    Say you have 500ms, thats 0.5secs before the animation goes off, however any addon user like quartz will know that you can cancel your cast within this lag and your spell will still go off, this is because the GCD is designed to create lag free game play, the exploit lies in the fact that the spell is registered to the server dependant on your lag, so this time 0.5s or when you hit the red portion of your cast bar on quartz for ease of understanding, however the animation does not start until that lagtime is over come. Thus leaving enough of a delay between the SUCCESS and roll for MISS.

    Instant spells are no differnt other than the fact they miss out the _CAST_START_ portion. They still have to obey the lag mechanic and the GCD, the fact that reflect and cloak are off the GCD gives them the ability to bypass queueing protocol and if your opponents latency is even a little lower than yours enough time to put up the reflect.

    The point is because of cloaks mechanics yes i agree that you can cloak after a spell has rolled the miss table, which some would argue is an exploit in itself, not me I hasten to add, when I see this happen I normally would appluade skillfull play however with reflect the spell is going up BEFORE the miss is rolled therefore why it works.

    The reason you can cloak an ability and not reflect after it has been cast as a SUCCESS if people are
    interested is a that reflect needs your spell to roll hit to calculate the reflect effect/value, cloak doesnt

    Make sense?
    Last edited by villie; 2014-05-14 at 09:26 AM.

  16. #116
    Quote Originally Posted by villie View Post
    SPELL_CAST_SUCCESS HoJ - This denotes that you have pushed your bind for HoJ and the server has recognised it, the SUCCESS is not it landing, that is the server feedback to acknowledge that it has received the packet request to apply HoJ, the reason for this is even tho it is an instant cast it is still counted as a spell, the SUCCESS is the same for a cast time spell of 2s without the _CAST_START, SUCCESS is you COMPLETING the cast, the server then rolls from the MISS table to check the target for any MISS AURA (reflect/Cloak). Reflect is classed as Reflect, Cloak is classed as Immune, both are off the GCD so capable of bypassing that.
    Are you sure it works like that - ie, the server first sends everyone SPELL_CAST_SUCCESS for HoJ (meaning the server sends a packet that makes clients trigger SPELL_CAST_SUCCESS events, I am just shortening this), and then, even though the server knows that HoJ has already been cast, it still continues to register packets from clients that might tell it "hey, I just used Reflect / Cloak", which alter the server state of the relevant players, and it is after that when the server finally goes to check whether HoJ has actually landed or has been reflected by whoever it was thrown on? It seems illogical to first send a confirmation "OK, you did your HoJ" and then to check whether that HoJ actually had an effect. My understanding was that the server first determines whether a HoJ lands and then sends relevant packets. My understanding of how the cloak works was that they tried to make it work via regular means for a long time (I remember seeing lots of complaints on cloak some years ago), couldn't get it to work reliably, and did more or less a hack to make cloak apply the instant the caster (rogue) used it, adding special logic which kinda breaks the rules. Maybe they extended the hack to cover HoJ, too, but that'd be the first time I hear about it.

  17. #117
    Quote Originally Posted by robbymottec View Post
    if it was bot/hack it should have reflect 100% of your hoj, OP is butthurt because he lost x1 as healer.
    If it's a bg and they are stacked up gy camping he could've been using it on cd to reflect various abilities. The fact that it isn't 100% means nothing as it could've been on cooldown. Try reading bud...

  18. #118
    The Patient
    10+ Year Old Account
    Join Date
    Jan 2010
    Location
    London
    Posts
    305
    Quote Originally Posted by rda View Post
    Are you sure it works like that - ie, the server first sends everyone SPELL_CAST_SUCCESS for HoJ (meaning the server sends a packet that makes clients trigger SPELL_CAST_SUCCESS events, I am just shortening this), and then, even though the server knows that HoJ has already been cast, it still continues to register packets from clients that might tell it "hey, I just used Reflect / Cloak", which alter the server state of the relevant players, and it is after that when the server finally goes to check whether HoJ has actually landed or has been reflected by whoever it was thrown on? It seems illogical to first send a confirmation "OK, you did your HoJ" and then to check whether that HoJ actually had an effect. My understanding was that the server first determines whether a HoJ lands and then sends relevant packets. My understanding of how the cloak works was that they tried to make it work via regular means for a long time (I remember seeing lots of complaints on cloak some years ago), couldn't get it to work reliably, and did more or less a hack to make cloak apply the instant the caster (rogue) used it, adding special logic which kinda breaks the rules. Maybe they extended the hack to cover HoJ, too, but that'd be the first time I hear about it.

    Not 100% sure about your theory on cloak.

    To answer your question in bold tho, your method would make sense if all spells were instant, it would be more efficient to check wether or not it landed before giving the success since they have no cast time than can be stopped. Unfortunatly it becomes very inefficiant when a spell has a cast time.

    Look at it like this, a cast time spell and an instant spell are the same in the fact that they both are spells regardless.

    However if your 2s cast is interrupted/cancelled manually or for whatever reason does not finish, then if the server checks to see whether it lands before the cast is complete then that is a whole packet of useless data and iterations it did not need to calculate.

    Add a 25 man raid, so multiple players chain casting spells that constantly never complete due to movement/fight mechanics, then you can see why its extremely inefficient for the server to behave as you suggest, there would literally be millions of wasted packets of data for spells that did not complete their cast, so its actually very logical to only roll AFTER a SPELL_SUCCESS

    Hope that clears it up?

  19. #119
    Quote Originally Posted by villie View Post
    Hope that clears it up?
    Yes, I understand what you are saying.

    It is possible that doing the checks after sending SPELL_CAST_SUCCESS for all spells, instant or not, is just simpler code-wise. It is also possible that doing the checks before sending anything for instant spells is not any more difficult. That depends on how the code is structured. I agree that it is possible that Blizzard do it the first way. The story of them not being able to make the cloak - and vanish - work reliably for a long time is real, after all.

  20. #120
    He just explained why doing checks before is more difficult, how dense do you intend to be?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •