Things you weren't aware of #1: Explosion Pots and the Fast Cast

Discussion in 'Guides' started by snap dragon, Apr 16, 2017.

  1. snap dragon

    snap dragon Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,944
    Likes Received:
    3,218
    I just writing this off the top of my head, so stick with me here. Recently I have heard a lot of people talk about "vets" cheating with exploits like pvp explosion potions macros and things like that. While I am entirely sure that at lease someone out there is cheating in order to do this, I am also sure that it is something you can simply do with razor anyway.


    So here's the first thing you weren't aware of:

    Explosion potions can be tossed back at the thrower.

    Now this is an interesting fact. If I toss an explosion potion at you, and there is still time on the timer, you can simply double click it and toss it someplace else. That's interesting enough on itself, but it also implies that at any time during the countdown, an explosion potion can be re-used without re-starting the countdown. This means you can simply use an explosion potion to activate it, and then press "esc" or macro (Razor: Hotkeys : Targets : Cancel Current Target), and when you're ready to toss it again, simply use the same potion again.

    So what good is this? Well, UO "pvp" is all about doing damage in a short period of time, or at the same time if you can, and then preventing the other person from healing in the periods of time you can't do damage. Suppose I want to cast energy bolt on a player, and then throw an explosion potion at them. I could:

    1. Cast the spell, target the player, use an explosion potion, target the player. But the damage from energy bolt comes 1 second after I target it, and the explosion potion is going to take 3 seconds to explode. This leaves 2 seconds that the player can heal, or simply "move out of the way. No good.
    2. Cast the spell, target the player, use an explosion potion, wait until it's about to explode, target the player. This is better as it eliminates the possibility of them moving out of the way. But there will still be that 2 second window for them to heal, or even break line of sight with me causing the explosion potion to hit me or miss.
    3. Figure out how to get the energy bolt and explosion potion to hit at nearly the same time.
    Needless to say, for the first part of this "guide" we're going to do #3.

    Energy bolt takes about 2 seconds from time you cast it to when you can target it. If the actual "damage" does not take place until 1 second after targeting, then to time this correctly I should use the potion at the same time I start casting the spell. Then I need to cancel the cursor from the potion, wait for the spell to cast and target it, and then wait a second before using the potion again.

    [​IMG]

    I set the "timeout" of the wait for targets to "1" when using a potion, and "2" when casting energy bolt. Here is above macro for you to try out:

    (In order to use this, you need to r-click both of the "Double Click" lines and select "re-target", then target the same purple potion for both. You cannot use "use purple potion" macro here because if you have 2 potions, razor won't know that you meant to use the same one twice in a row)

    Assistant.Macros.HotKeyAction|3002052|
    // Potion A
    Assistant.Macros.DoubleClickAction|1076786326|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    Assistant.Macros.WaitForTargetAction|2
    Assistant.Macros.AbsoluteTargetAction|0|1|161500|1779|617|12|401
    // Potion A
    Assistant.Macros.PauseAction|00:00:01
    Assistant.Macros.DoubleClickAction|1076786326|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1058|


    So that works pretty okay-ish. Why did I do it this way? If I used the potion, waited 1 second, then started casting energy bolt, then targeted the potion, and immediately after targeted the energy bolt, then there will be a big gap in the damage. The damage doesn't take place until 1 second AFTER you target energy bolt. This means there will be a 1 second space that they can heal between the potion damage and the ebolt damage. It also adds time to the "front" that I can't be doing other things while I wait for the pause. Only because you can cancel the potion cursor, get the ebolt cursor, and then re-open the potion cursor, is this possible to do. (You cant have 2 cursors open at once)

    Here is a timeline of the events:

    [​IMG]


    You can "Machine Gun" Explosion Potions.

    You can throw as many explotions potions as you want as fast as the "item use" delay will let you. Certainly you can throw more than 2 potions in 3 seconds. The problem is, they will simply fall to the ground and are unlikely to hit a moving target. But what if we stagger potion use. That is: Use potion A, cancel it starting the timer, use potion B, cancel it, starting it's timer as well, and then wait until potion A's timer is almost up before throwing it, and throwing potion B afterwards. We should end up with 2 potions that do damage at a delay equal to about the UOR item usage delay.

    First I need the item use delay, and I will be sure to test it with purple potions:

    [​IMG]

    I made this little macro and tested it to make sure it threw 2 potions. Then I set that 1000ms delay down to 900ms and tried again. Still worked. When I set it to 800ms, it did not work. My lag is quite high, and is a factor here. I increased the number a little until it was tossing 2 potions 100% of the time. 850ms is what worked for me, your number may be different.

    With my lag, causing items to only be used every 850ms, this is the timeline of events that is possible:

    [​IMG]

    You can see that when I first use the fourth potion (D), throwing the first potion (A) becomes impossible as when you go to click it again, the item delay for using pot D has not elapsed and you will get the "You must wait before using.." error message.

    What this does mean is that you can get 3 potions to hit a moving target in the time it takes 1 potion to do it. It's still slower than just throwing them instantly which (for me) would do damage every 850ms after the initial 3 second delay, but considering you can do 3 potions in 1 "cycle" of 3 seconds, that's still damage once per second that can potentially hit moving targets.

    To put that into perspective, let's say a Greater Explosion potion does about 15 damage on average. That's 15 damage every second, or about a regular katana hit or so from a 80-ish dexer. So that's not very good right? Well, if you can cast spells on top of this, or (if you're a dexer yourself) hit your opponent with melee or archery, it's a pretty significant bonus to damage. This would put a dexer with a GM kryss above the DPS of a dexer with a Valorite kryss, and a dexer with a valorite kryss into a new tier of damage per second altogether. (At least for these short 3 seconds).

    It's possible to "stagger" potions indefinitely, and toss as many as you can carry, with slightly less DPS potential. In this case, we want damage every 850 ms which will very likely prevent any greater healing that may be going on, and if it manages to interrupt a mini-heal, the re-cast delay will ensure they can no longer heal without potions/bandage.

    Now let's figure out the cast time of a popular spell so we can put this to good use on the timeline:

    [​IMG]
    This VERY simple macro simple casts EB, pauses 2 seconds, and then targets the last target. I play it. it works. Now I set the pause to less time and try again. I want to get the cast-time required to cast/target the Energy Bolt Spell. When I play it and it does not cast, I know I set the pause too low.

    1850ms turned out to be the magic number for me as seen below:

    [​IMG]

    (1800 ms actually worked about 80% of the time, so lag has a lot to do with it. But really 50ms isn't worth caring about much, and I am sure you're lag is less than mine)


    [​IMG]

    Above:
    I positioned the EB on the time graph so that it starts the cast, and has used and canceled 3 potions before it's time to target the spell. This should cause an EB to hit, followed immediately by a potion, and then 2 more potions at 850ms intervals. ~25 + 15 + 15 + 15 = 70 damage in about 1.8 seconds using only 20 mana, and it can only be healed through with wand/pot/friend unless they had a heal precast. That's pretty significant. This macro is definitely possible, let's get it made (provided my ping allows me):

    There's 2 parts to this macro. In part 1, I simply cast EB use 3 pots and cancel them, then an adjustable pause followed by targeting the EB. Part 2 will simply another adjustable pause for timing/lag reasons, and then re-using the 3 pots. I want to do the first part first. So we will just cast an eb, use/cancel 3 pots, and target the eb.... letting the pots blow up in our face for now. Since we are using more than 1 pot here, and have more than 1 pot in our bag, we need to use absolute "item" targets and not "by type". I will put a comment to remember which potion is which:

    Assistant.Macros.HotKeyAction|3002052|
    // Pot A
    Assistant.Macros.DoubleClickAction|1076976626|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.PauseAction|00:00:00.8500000
    // Pot B
    Assistant.Macros.DoubleClickAction|1076976625|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.PauseAction|00:00:00.8500000
    // Pot C
    Assistant.Macros.DoubleClickAction|1076976637|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    // Wait for EB Target
    Assistant.Macros.WaitForTargetAction|2
    Assistant.Macros.HotKeyAction|1058|



    Here is where I personally run into problems. This should entirely be possible, but either lag on my part, or the speed of razor is preventing it. The item use delay is probably greater than 850ms, and the extra time is made up by the "wait for target" and "cancel current target". It's probably 1 second in actuality, but I have no means to test it. To try this for yourself, simply r-click and "re-target" to set the 3 pots on the 3 "double click..." lines. Set a last target, then play it.



    I'm going to compensate for this by "front loading" some of the time as so:

    [​IMG]


    By waiting to start casting the EB a bit more than 500ms, I am hoping to use and cancel one pot, THEN cast the EB, who's cast time will allow me to use/cancel 2 pots easily enough. I chose to wait a full 850ms and then start casting EB at the same time I use/cancel Pot B.

    // Pot A
    Assistant.Macros.DoubleClickAction|1076976406|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    Assistant.Macros.PauseAction|00:00:00.8500000
    Assistant.Macros.HotKeyAction|3002052|
    // Pot B
    Assistant.Macros.DoubleClickAction|1076976402|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    Assistant.Macros.PauseAction|00:00:00.8500000
    // Pot C
    Assistant.Macros.DoubleClickAction|1076976398|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    // Wait for EB
    Assistant.Macros.WaitForTargetAction|2
    Assistant.Macros.HotKeyAction|1058|



    This one works fine. I cast an EB on the target, and all 3 pots blow up in my face telling me that the use/cancel worked for all three. Let's add part 2 now.

    I need to use/toss the same three pots as in the diagram. I know that I can use/toss the pots at 850ms intervals, so if I can just toss the first pot correctly by adjusting the delay, the other's should work perfected. The following is the macro to just toss that first pot, and let the other two blow up in your face:

    // Pot A
    Assistant.Macros.DoubleClickAction|1077106346|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    Assistant.Macros.PauseAction|00:00:00.8500000
    Assistant.Macros.HotKeyAction|3002052|
    // Pot B
    Assistant.Macros.DoubleClickAction|1077106353|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    Assistant.Macros.PauseAction|00:00:00.8500000
    // Pot C
    Assistant.Macros.DoubleClickAction|1077106569|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    // Wait for EB
    Assistant.Macros.WaitForTargetAction|2
    Assistant.Macros.HotKeyAction|1058|
    // Adjustment Delay
    Assistant.Macros.PauseAction|00:00:00.7000000
    // Pot A 2
    Assistant.Macros.DoubleClickAction|1077106346|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1058|


    And this works as intended for my latency. It uses a pot, pauses less than a second, then casts EB followed by tossing the first pot and letting the other 2 blow up in my face. Adjusting the 700ms delay there might be requires for your lag. Unfortunately for me, this one works about 50% of the time. For me to consistently use this macro, I simply need faster internet which is not possible. I would use this sort of macro with only 2 pots, which I believe EVERYONE here should be able to do.

    Here is the completed 3 pot EB macro:

    // Pot A
    Assistant.Macros.DoubleClickAction|1077106346|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    Assistant.Macros.PauseAction|00:00:00.8500000
    Assistant.Macros.HotKeyAction|3002052|
    // Pot B
    Assistant.Macros.DoubleClickAction|1077106353|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    Assistant.Macros.PauseAction|00:00:00.8500000
    // Pot C
    Assistant.Macros.DoubleClickAction|1077106569|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1332|
    // Wait for EB
    Assistant.Macros.WaitForTargetAction|2
    Assistant.Macros.HotKeyAction|1058|
    // Adjustment Delay
    Assistant.Macros.PauseAction|00:00:00.7000000
    // Pot A 2
    Assistant.Macros.DoubleClickAction|1077106346|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1058|
    Assistant.Macros.PauseAction|00:00:00.8500000
    // Pot B 2
    Assistant.Macros.DoubleClickAction|1077106356|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1058|
    Assistant.Macros.PauseAction|00:00:00.8500000
    // Pot C 2
    Assistant.Macros.DoubleClickAction|1077106581|3853
    Assistant.Macros.WaitForTargetAction|1
    Assistant.Macros.HotKeyAction|1058|


    This is a pretty great macro for more reasons than it's an EB + pot + pot + pot combo in a shorter period of time than was probably intended by UO developers. It uses 20 mana, and additionally, the 2 850ms delays to use potions after the EB strikes means that by the time the last damage is done, you have waited out the re-cast timer and can cast again immediately, even poison :eek:

    Although I am not able to do this consistently due to lag, and it works about 50% of the time for me, many of you will have no trouble. Additionally, I can definitely do this with longer casting spells like flamestrike + pot + pot + pot at 850ms intervals (with poison followup :rolleyes:)


    But what about the classic "Explode EB" combo? When I cast explode and EB, they hit about the same time. How can I do that when getting 3 pots in there requires an 850ms delay before casting energy bolt? This brings us to part 2 of this guide:


    You can "Fast Cast" nearly all targetable things in the game:

    I was chatting with Loro @Balian the other day and I was shocked to hear that he hadn't heard of this. I figure there must be many of you out there that also have not. Suppose I want to cast 2 energy bolts in a row. I cast one, target it, wait for a moment for the "recast delay" to end, then I can cast again, and target it. I already know (from above) that it takes (me) 1850ms to cast an ebolt, so let's figure out how long that re-cast delay is.

    To test this, I created a very simple macro:

    [​IMG]

    This will cast ebolt and target the last target, pause a second, then cast ebolt again. Since the re-cast delay is under 1 second, at the end of this macro I should be casting ebolt again and get the second targeting cursor. I will lower the Pause until I find the minimum time in which I still cast the second ebolt and do not get the "You have not yet recovered from casting..." error message.

    The number I came up with was 630ms. I'm going to take a (pretty good) guess and say that it's a 500ms re-cast delay, and the additional 130ms was my ping at the time of casting. Lag aside, let's call it a 500ms casting delay from now on.

    This might be pretty obvious to anyone who has ever casted a spell, but what you may not realize is that the 500ms "recast delay" starts timing from the moment you get the target cursor up. Need some proof? Verify it with this macro and you will see that it instantly casts again without a delay between targeteting the first energy bolt and casting the second:

    [​IMG]

    The beauty thing about this one is that instead of casting a 1850ms ebolt, pausing 500ms, and then casting an 1850ms ebolt, resulting in 2.350ms delay between both damages, you can cast one spell, then just wait that 500 ms before targeting, and instantly cast the next spell. This will reduce the time between damage by the recast delay. Effectively trimming 1/2 a second between damage. This is pretty nifty by itself, and ebolt-ebolt fast casts are quite popular.

    So you are kind of adding a 500ms wait to targeting the first spell, in order to reduce the second spell's damage by 500ms. I already mentioned about how UO pvp comes down to creating spike damage, or constant strings of damage preventing a heal, etc.. I think it's obvious how this can come in handy.

    You can actually "fast cast" a lot of things. Want to use peacemake twice in a row? Use it once but don't target it. Wait out the skill-use delay that starts ticking the moment you get the targeting cursor (it's 10 seconds), and then target and immediately re-peacemake. This essentially doubles your chances of peacemaking in situations when you want to say; run into a room and peace a monster before it kills you.

    Now what these two things have in common:


    Explosion Pots and the Fast Cast


    If you run some macro with the minimum re-cast delay for the classic Explosion + Ebolt combo... example:

    [​IMG]

    In this macro, the Ebolt damage (for me) hits about 150ms after the explosion. This is likely due to my lag, and I imagine you might be able to do this with the minimum 500ms Pause resulting in explode and EB hitting at nearly the same time. If you were to use the above EB + 3x pot macro combo this would mean you have to cast explode, target it, start the macro which has a 800ms ish delay to arm the first pot before starting to cast ebolt. You would get this damage sequence:

    Explode + 850ms pause + ebolt + 100ms pause + pot + 850ms pause + pot + 850ms pause + pot


    If you simply cast explode, "hold" the cursor for at least 500 - 700ms depending on your lag, then run the combo you get:
    Explode + 300ms pause + ebolt + 100ms pause + pot + 850ms pause + pot + 850ms pause + pot, and then you're left open to do anything with no recast delay (poison/lightning/harm/etc)

    Just taking a low guess at average spell damage here, that's a potential of:
    25 + 25 + 15 + 15 + 15 damage in an annoying pattern that is very difficult to heal through. 95 total damage. In fact, it might very well insta kill someone at full HP.

    The 850ms pause after the explode damage is where the problem lies. That's their chance to get a heal through it if they didn't have it precasted. You can solve BOTH of these problems by simply doing:

    Explode fast casted to poison + ebolt + pot + pot + pot

    Hope you learn something.
  2. El Horno

    El Horno Well-Known Member
    UO:R Subscriber

    Joined:
    Aug 4, 2014
    Messages:
    3,612
    Likes Received:
    4,899
    So your saying I may be able to pvp now?

    Really good guide.
    Hadrian likes this.
  3. blasfede

    blasfede Active Member

    Joined:
    Mar 25, 2016
    Messages:
    225
    Likes Received:
    159
    Thanks, i used to do all this stuff but now i got the theory
    One likes this.
  4. Mandevu

    Mandevu Well-Known Member

    Joined:
    Jun 27, 2012
    Messages:
    1,595
    Likes Received:
    1,182
    A good way to pull off an explosion pot bolt combo is to use poison to eliminate the worry of someone holding a heal. Basically, cast explosion, wait for fast cast, target explosion, fast cast poison, start pot, hold poison until 2 seconds on the pot, target poison, cast ebolt, throw pot, target ebolt, stun target.

    You can also cast explosion, start pot, magic arrow, cast ebolt, throw pot, target ebolt. As long as you targeted the magic arrow before they started casting a gheal, they won't be able to get one off until you finish the combo.

    Another trick is to first get your opponent to think you are leading off with explo/nox combos by first using them a couple times. Then you trick them and can pull off a straight explo, pot, ebolt combo. Cast explosion, start pot, hold explo cursor until it hits 2, target explo, cast ebolt, throw pot at last split second, target ebolt. What ends up happening is, by the time your opponent sees you drop your explo and cast ebolt, they try to throw a gheal up, but since you held your explosion and let the pot timer cook for a second, your pot will disrupt their heal and the explo/ebolt follows right behind it.
    Last edited: Apr 17, 2017
    Hadrian, Random and snap dragon like this.
  5. Mandevu

    Mandevu Well-Known Member

    Joined:
    Jun 27, 2012
    Messages:
    1,595
    Likes Received:
    1,182
    Also, snap, the reason you may be having trouble narrowing down the pot timers precisely is because it was designed that way by Telamon for a reason. It isn't necessarily your lag. He built in a small random window that varies slightly enough so that you can't run a macro or time a pot over and over and gun someone down on the run hitting them perfectly every single time.
    One likes this.
  6. Mandevu

    Mandevu Well-Known Member

    Joined:
    Jun 27, 2012
    Messages:
    1,595
    Likes Received:
    1,182
    Not sure if you have or not, but make sure in razor you have your object delay set to zero, or just uncheck the box. It will allow you to use items as fast as they possibly can be used according to whatever the coded delay is. I believe the default razor delay is 600ms, so I just uncheck it which essentially sets it to zero and allows me to use items as fast as they can be used.
    Last edited: Apr 17, 2017
    Hadrian likes this.
  7. snap dragon

    snap dragon Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,944
    Likes Received:
    3,218
    Yeah I know that, safe route is to have the delay between use/toss a bit long to it is grounded instead of hitting on the run. It's definitely my lag. I've experimented with it a good deal, I just posted this because some other people recently haven't been able to understand how it's working etc and I thought going through the process of how to time out a combo like this would be helpful.

    Also @Mandevu just to make sure you are notified.
    Mandevu likes this.
  8. Mandevu

    Mandevu Well-Known Member

    Joined:
    Jun 27, 2012
    Messages:
    1,595
    Likes Received:
    1,182
    Yeah I tested it a little bit. There was an old trick I found using the use once agent that allowed you to bypass the object delay, but it doesn't appear to work here, unfortunately.
  9. snap dragon

    snap dragon Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,944
    Likes Received:
    3,218
    Thankfully!
  10. Invoker

    Invoker Active Member

    Joined:
    Mar 30, 2015
    Messages:
    60
    Likes Received:
    111
    .
    Last edited: Apr 29, 2017
  11. snap dragon

    snap dragon Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,944
    Likes Received:
    3,218
    .
    Hadrian likes this.
  12. Judas Priest

    Judas Priest Active Member

    Joined:
    May 24, 2017
    Messages:
    124
    Likes Received:
    41
    Awesome guide Snap!
  13. snap dragon

    snap dragon Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,944
    Likes Received:
    3,218
    bump for someone to find
    Hadrian likes this.
  14. Mexplosivo

    Mexplosivo Active Member

    Joined:
    Jun 12, 2017
    Messages:
    180
    Likes Received:
    117
    Found. Thanks for this snap dragon. Going to be doing some experimenting tonight
    PaddyOBrien likes this.
  15. Cheapsuit

    Cheapsuit Well-Known Member
    UO:R Donor

    Joined:
    Jun 12, 2013
    Messages:
    787
    Likes Received:
    264
    So if the above guide is a fact, then tell me again how dexxers have a fair chance.
    Black Tortoise likes this.
  16. wylwrk

    wylwrk Well-Known Member

    Joined:
    Jun 18, 2015
    Messages:
    5,473
    Likes Received:
    8,963
    This pushes all my research-y / data collecting-y / test-y buttons... and I like it, I like it, yes I do.

Share This Page