notes on v1.10 (beta) Assassin Blade skills
#14
Quote:Well, as I theorized, this still begs the question of just how it is implemented that it remembers who/when it hit. If the missile itself remembers, and uses one bucket instead of a linked list, then it will match my theory and my (admittedly error prone) observations.
I have done enough testing now to be reasonably sure of how the implementation actually works, and folks, it's buried here in this post because the results aren't pretty. Reporting it as a bug is tempting, but it is the implementation that is non-optimal, and what are the chances in the current v1.10 feature-freeze chaos that a implementation method choice will be completely redone?

I have not code read so what I'm about to tell you could actually be more general or more particular than I will casually describe, however my testing shows I'm pretty close to the mark...

Missiles.txt has a NextHit and NextDelay column that guides an implementation for recurrent missile hitting that bears striking resemblance to the simplistic skill recast delay mechanism we all know and hate. A NextDelay missile apparently puts its NextDelay framecountdown time into a (single) bucket on a target it hits (which is then counted down for the target as frames occur). The key is that this stored generically with the *target*, not as a memory of hitting with the *missile effect*. So the problem is that *any* NextDelay missile effect first checks a target's bucket, and if it is non-zero, doesn't hit (probably doesn't even try to hit, but I don't know the internals, only the evidence externally from testing).

Most "missiles" don't have NextDelay, but quite a few do. (For simplicity, if you just assume that any effect that isn't a melee strike is a "missile" you won't be too far off).

A couple have really long NextDelay, such as Blade Creeper (Blade Sentinel) and Shockweb (25 frames, or one second).

Some, apparently (for example) certain infamous Diablo attacks, have a short NextDelay.

Testing with Shockweb and Twisters seems to validate my theory. The theory indicates that a player helpfully being PvP towards you and casting shockwebs under your feet (not very hurtful) could grant you effective immunity to other NextDelay missiles (verified with Twisters, but also indicated strongly with Blade Sentinel) such as special Diablo attacks (perhaps DiabloClone also?--don't ask me, I'm new to missiles.txt: perhaps someone else will properly annotate them for us).

Naturally I'm fairly unhappy with this state of affairs, as this means that pumping the duration on Blade Sentinels in order to spam them is not really effective.

Of course this effect can also be the basis of a potentially a nasty exploit, reminiscent of D1 (still to this day) having missile collision failure for a player traveling due east or due west (the amazing firewall walking swami trick etc.).

Here's a (non-annotated, partial) list of NextDelay "missiles" from missiles.txt (i.e. things you can test to see if shockweb effectively grants you "immunity" from)...

nova
chainlightning
teeth
poisonnova
frostnova
diablight (not sure, as NextHit is blank, which may invalidate NextDelay being 3)
diabfire
coldunique
nova1
nova2
multipleshotarrow
multipleshotbolt
battlecry
lightningstrike
fistoftheheavensbolt (ditto NextHit comment above)
warcry
battlecommand
battleorders
grimwardscare
chainlightning2
shock field
blade creeper
erruption crack 1
erruption crack 2
twister
tornado
volcano
volcano small fire
dragonbreath missile
death mauler (hmm, I hate these guy's attack, so I'm half tempted by "immunity")
shockwave
wake of destruction (and "maker")
lightning charge up nova
chainlightningcharge up
baal taunt lighting (and trail)
baal inferno
baal nova
clawsofthunderbolt
clawsofthundernova
royalstrikechainlightning
royalstrikechaosice
baal cold maker (and trail)
lightningtowernova
viper firecloud
trapnova
mephfrostnova

As I say, I don't know the code or the missiles.txt, so some of these may not be relevant (and other effects might also use NextDelay on a target perhaps). I'm not expert enough to translate all those funny names for you either, though some of them seem pretty obvious to me (e.g. I suspect royalstrike = Assassin charge-up release of Phoenix strike).
"He's got demons? Cool!" -- Gonzo, Muppet Treasure Island

"Proto-matter... an unstable substance which every ethical scientist in the galaxy has denounced as dangerously unpredictable." -- Saavik, Star Trek III

"Mom! Dad! It's evil! Don't touch it!" -- Kevin, Time Bandits
Reply


Messages In This Thread
notes on v1.10 (beta) Assassin Blade skills - by Crystalion - 10-06-2003, 08:21 AM
notes on v1.10 (beta) Assassin Blade skills - by relight - 10-07-2003, 04:44 AM
notes on v1.10 (beta) Assassin Blade skills - by Guest - 10-07-2003, 05:04 PM
notes on v1.10 (beta) Assassin Blade skills - by Guest - 10-07-2003, 09:35 PM
notes on v1.10 (beta) Assassin Blade skills - by Guest - 11-02-2003, 04:05 AM

Forum Jump:


Users browsing this thread: 3 Guest(s)