Edge case strike order discussion.

All things Desktop Dungeons

Re: Edge case strike order discussion.

Postby srid on Tue Jul 24, 2018 10:38 pm

choongmyoung wrote:1. Deathgaze
2. Burn pop
3. Blink
4. Monster's Attack
5. Player's Attack
6. Burn pop
7. Knockback (Yes, it is knocked back even if it is far from the player character)
8. Blink


So...
Apparently, Deathgaze damage is directly applied to the enemy (no intermediate event passed around).
And Blink, Cowardly, add corresponding events to the end of the queue when an enemy takes damage.

Thus, we have:

1. AttackEvent
2. AttackEvent triggers Deathgaze damage (no interaction with other game effect appart from Lifesteal)
3. Damage adds a BlinkEvent at the end of the queue
4. Monster's Attack: at the end of the monster's attack a PlayerDealMeleeDamageEvent is added at the end of the queue (so after the first BlinkEvent)
5. BlinkEvent is handled: Monster teleports
6. PlayerDealMeleeDamageEvent is handled: player deals damage, this adds another BlinkEvent at the end of the queue
7. (If the monster was burning) Burn pop (Interestingly, Gorgon's Deathgaze does not pop burn stacks): deals damage, and adds another BlinkEvent at the end of the queue
8. Knockback (It's fun to notice that the knockback direction is computed from the current relative position of the player to the enemy, but since the enemy has already blinked, he can be pushed back in the opposite direction from the one he was supposed to go before the blink): if it deals damage, this adds another BlinkEvent at the end of the queue
9. Up to 3 more BlinkEvent are handled.

It took me a while to understand why we only see the monster blink once per attack in your video (and in the game in general). This is because, when the BlinkEvent is handled, the enemy only teleports if the player is right next to him.
Therefore, after the first teleportation, the enemy won't teleport again. This also explain why attacking a blinking enemy with knockback makes him teleport only if he is not moved by the knockback.
Technically, nothing prevent the monster to teleport right next to the player, so, with some luck it might be possible to sometime witness monster blinking twice during a single attack (even 4 times if you're extremely lucky).

And that's it.
Just please don't ask me to detail interaction between new EE traits like Unstable or Riposte, it's a nightmare ;-).

dislekcia wrote:Never make a roguelike, folks.


I'm starting to think you're right :-)
We made an expansion and it is awesome. Really, you should check it out, especially if you're looking for some extra challenge.

Download over at ddmod.weebly.com!
User avatar
srid
 
Posts: 136
Joined: Sun Jan 07, 2018 8:46 pm

Re: Edge case strike order discussion.

Postby choongmyoung on Wed Jul 25, 2018 6:45 am

srid wrote:This is because, when the BlinkEvent is handled, the enemy only teleports if the player is right next to him.
Therefore, after the first teleportation, the enemy won't teleport again.

Yeah, same for the cowardly trait, and you can easily witness it happening twice per attack with a Sorcerer. I think someone can do something with a small subdungeon with monster inside + IMAWAL. Not me.

dislekcia wrote:Never make a roguelike, folks.

choongmyoung
 
Posts: 215
Joined: Sun Aug 23, 2015 1:53 pm

Previous

Return to Desktop Dungeons

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 8 guests

cron