Page 1 of 2

Fast Casting Explosion

Posted: Thu Jan 27, 2011 7:40 pm
by Roser
Ok, so many of us are familiar with the fast cast aspect of spell casting. If you hold a spell for approximately 3 seconds, you will have a smaller delay before you can cast again.

This works with combination's of most spells, for example Explosion + Ebolt, Harm + lightning, Ebolt + Ebolt etc...

It however does not work with Explosion + Explosion, despite the fact that the second explosion consumes mana.

So in a nutshell, I'm doing this:

Precast explosion, pause 3 second's, drop on target.
Fast cast another explosion and drop on target BEFORE the first explosion does damage.
System message shows "You must wait for that spell to have an effect".
Second explosion does not do any damage, or show an animation.
Mana for both explosions cast is consumed.

Buggy :/

Re: Fast Casting Explosion

Posted: Thu Jan 27, 2011 7:52 pm
by Sandro
You have to wait for the first explosion to do damage before you can cast the second. If you don't you're simply "over-casting" on top of the first explosion.

Re: Fast Casting Explosion

Posted: Thu Jan 27, 2011 8:15 pm
by Roser
Yea... but I can do it with every other spell, why not explosion? And if this is intended, then should it not consume mana?

There are 2 separate spells being cast here. Explosion, then another one right after.

Re: Fast Casting Explosion

Posted: Thu Jan 27, 2011 8:18 pm
by Sandro
The explosion spell will reset the delay for damage if you target one before the first spell takes affect.

I brought this up a while back as I thought it should be the other way around, pretty sure I got proved wrong on that.

Cant find the thread..

Re: Fast Casting Explosion

Posted: Thu Jan 27, 2011 8:41 pm
by Roser
Your right, it does seem to prolong or reset the timer.

I cant seem to find any logical reasoning why this mechanic would be functioning this way, other then it being an era accurate annoyance bug like the LL room upper platform. If it is and EA bug, someone please link a patch note.

I did some further testing, this time I split up the target into 2 targets.

Cast explosion on Target A, then fast cast explosion on Target B. Target A receives no damage at all, it is like the initial spell is erased, Target B is then hit with the second spell.

If this isn't utterly wrong, then I dunno what is lol.

Re: Fast Casting Explosion

Posted: Thu Jan 27, 2011 8:49 pm
by Roser
Here is a Video of my field test.

Re: Fast Casting Explosion

Posted: Thu Jan 27, 2011 10:39 pm
by nightshark
Completely era accurate to OSI. One of my first ever posts on UOSA forums was asking if this was in effect, and I was surprised to find the answer was yes! I used this quite often on OSI during T2A and UO:R as a way of removing reflect. It consumed mana but it also gave you a chance of "getting the jump" on someone, without risking taking explosion damage from reflect. It was also the smart thing to do during UO:R since it took less mana than casting 3-4 fireballs, and you wouldn't take damage from it.

Re: Fast Casting Explosion

Posted: Fri Jan 28, 2011 1:15 am
by Mikel123
Rose wrote:Cast explosion on Target A, then fast cast explosion on Target B. Target A receives no damage at all, it is like the initial spell is erased, Target B is then hit with the second spell.
When target A and B are the same, that is era accurate. However, this aspect of it sounds like a bug.

Re: Fast Casting Explosion

Posted: Fri Jan 28, 2011 1:45 am
by Faust
The explosion spell casted by someone on the same person could never be stacked in Ultima Online.

Re: Fast Casting Explosion

Posted: Fri Jan 28, 2011 3:22 am
by nightshark
Mikel123 wrote:
Rose wrote:Cast explosion on Target A, then fast cast explosion on Target B. Target A receives no damage at all, it is like the initial spell is erased, Target B is then hit with the second spell.
When target A and B are the same, that is era accurate. However, this aspect of it sounds like a bug.
Agree. Easily checkable on demo (for anyone who is hax).

Re: Fast Casting Explosion

Posted: Fri Jan 28, 2011 10:41 am
by morganm
Faust wrote:The explosion spell casted by someone on the same person could never be stacked in Ultima Online.
What's interesting here though is that a few posts later Rose explains how Player X casts Exp. on Player A then on Player B (two different targets; not stacked on the same target) and it has the same effect.

Is this accurate?

Re: Fast Casting Explosion

Posted: Sat Jan 29, 2011 1:38 am
by Faust
No, believe there were different instances per player that it's casted on but it would have to be verified in the demo to be certain on that specific situation.

Re: Fast Casting Explosion

Posted: Sat Jan 29, 2011 12:25 pm
by Derrick
I can verify that it does seem to be the case that the "stacking" of the delayed damage is not on a per target basis, but that the caster may only have one "pending" explosion spell at a time, with the most recently cast spell overwriting the first. It would be great if someone so motivated could verify the accuracy of this directly.

Thanks!

Re: Fast Casting Explosion

Posted: Sat Jan 29, 2011 4:02 pm
by Kaivan
There's a pretty logical reason for why explosion can't be stacked, and the reason why should apply to all spells, but it has a nearly imperceptible effect on other spells.

As you may or may not be aware, the demo handles wait times for spells based on using something called callbacks. These callbacks are the way that OSI servers used to assign a wait time before a piece of code that was supposed to execute after a previous piece of code. For example, when using a skill that brings up a target cursor (or a skill of any kind really), the demo would mark you as having recently used a skill, and would set a callback delay of 10 seconds. 10 seconds later, the delayed piece of code would be executed, which was designed to remove the marker that you had recently used a skill. This is effectively how they set up the 10 second time delays for skill use.

These callbacks applied to other things as well, as it was OSI's main tool for delaying all code execution, including spells. When a spell was targeted, a piece of code is executed, which is the spell animation. That piece of code then sets up the appropriate callback delay for the spell, which was usually 1 second. This is significant information because of one question: How did the demo and OSI servers handle stacking the same callback. Well, to answer this question, I'll quote a response from Batlin on the question of whether you can be working of multiple murder counts at the same time (which uses callbacks to remove the murder count):
Batlin wrote:When the callbacks functions are called to start a callback, the code will first check for an existing callback (with that ID) and remove it if found.
This means that any two identical timers can't be running at the same time, and when a new timer is applied, the old timer is removed. Applying this to spells, we can answer the main question quite easily. It should not be possible to fast cast the same spell twice because you would have 2 callbacks running at the same time from the same script. So, certain spell combinations actually become impossible under this scenario, using just the relevant spell times and excluding lag. This includes stacking explosions (confirmed on the demo), fast casting magic arrow, and ideally fireball as well.

Re: Fast Casting Explosion

Posted: Sat Jan 29, 2011 6:27 pm
by Sandro
You can also test this by fast casting a magic arrow immediately after targeting a first magic arrow. If done properly you can cast the second magic arrow before the first one does damage which nullifies the first arrow spell of any damage just like you are seeing with explosion.

The reason this is only noticeable on explosion is that every other spell (excluding magic arrow) takes too long to cast & target (add in 1 sec delay for dmg) to stack the spell.