rpherbig / dr-scripts

A series of Lich 5 (https://github.com/elanthia-online/lich-5) scripts for use with DragonRealms (http://www.play.net/dr/). Donations are welcome (http://www.paypal.me/rcuhljr)!
GNU General Public License v2.0
52 stars 177 forks source link

Hunting DP zealot/sentinel + Falling Asleep #4193

Closed Kaesken closed 2 years ago

Kaesken commented 4 years ago

In case someone would like it, the WAKE isn't in the script.

You feel very tired.
R> 
The Dragon Priest zealot closes to melee range on Zamn.
R> 
Driving in like a master combatant, a Dragon Priest sentinel fires a silver-tipped arrow at a Dragon Priest zealot.  A Dragon Priest zealot fails to dodge, mainly avoiding the blow.  The arrow lands a solid hit (4/23) to its right leg!  

The silver-tipped arrow lodges itself shallowly into the Dragon Priest zealot!

R> 
Your statuette steadily brightens, until it burns like a glowing green torch!
You direct the flow of power you've conjured up into your spell pattern, taking much of the strain of empowering it off you.
R> 
Awkwardly, a Dragon Priest zealot slices wide at Zamn.  Zamn dodges.  
R> 
You can no longer see openings in a Dragon Priest zealot's defenses.
R> 
| ***STATUS*** 4 minutes of hunting remaining

R> 
Your statuette fades over the course of a few seconds, returning to normal.
R> 
Apparently without direction or thought, a Dragon Priest zealot sweeps low at Zamn.  Zamn evades.  
R> 
Zamn exhales softly on his sanowret crystal, and scintillating sparks of light dance across its surface.
R> 
As if effort and skill were a bad thing, a Dragon Priest zealot feints low at Zamn.  Zamn evades.  
R> 
You abruptly stop in your tracks and fall over into a deep sleep.

PR> 
Zamn leaps out of hiding to strike at the Dragon Priest zealot's temple, who seems completely surprised!
The Dragon Priest zealot is clouted solidly across the temple in a single precise stroke!  The Dragon Priest zealot staggers before shaking its head wildly.  The Dragon Priest zealot's eyes drift unfocused as it tries to regain its bearings!

P> 
As if effort and skill were a bad thing, a Dragon Priest zealot slices a dark steel lata'oloh with a curved oak hilt at Zamn.  Zamn evades.  
P> 
[combat-trainer]>stow my tree statuette

You can't do that while you are asleep.
[Use WAKE to wake yourself up.]
P> 
Apparently without direction or thought, a Dragon Priest zealot chops wide at Zamn.  Zamn blocks solidly with a vardite sipar emblazoned with the Arkarm family crest.  
P> 
Your cambrinth tailband thrums softly as it discharges as much power as necessary, leaving a moderate amount left for future use.
P> 
Moving with amazing force and guile, a Dragon Priest sentinel fires a silver-tipped arrow at a Dragon Priest zealot.  A Dragon Priest zealot attempts to evade, moving almost completely out of harm's reach.  The arrow lands a strong hit (6/23) that cuts deeply into the left tricep, lightly stunning it!  

The silver-tipped arrow lodges itself firmly into the Dragon Priest zealot!

P> 
Driving in with an overwhelming assault, Zamn swings a flail at a Dragon Priest zealot.  A Dragon Priest zealot fails to parry with a dark steel lata'oloh with a curved oak hilt.  The flail lands a heavy strike (7/23) that breaks the right femur with a sickening crunch of splintered bone!  
A Dragon Priest zealot gasps to draw breath as it manages to mutter, "The infection... will... be.... purged!" before falling still with a soft hiss.

P> 
As if effort and skill were a bad thing, a Dragon Priest zealot chops a dark steel lata'oloh with a curved oak hilt at Zamn.  Zamn evades.  
P> 
In a weak and directionless display of aggression, a Dragon Priest zealot sweeps low at Zamn.  Zamn blocks solidly with a vardite sipar emblazoned with the Arkarm family crest.  
P> 
Driving in like an adept combatant, Zamn feints a flail at a Dragon Priest zealot.  A Dragon Priest zealot badly fails to block with a dark steel lata'oloh with a curved oak hilt.  The flail lands a good strike (3/23) to its neck!  
P> 
You have lost the spell you were preparing.
P> 
The Dragon Priest zealot moves into a position to parry.
P> 
Zamn bends over the zealot's corpse briefly.

P> 
Zamn picks up a medium piece of ivory.
Zamn opens his pouch and puts a medium piece of ivory inside before closing it again.

P> 
You feel your link with a Dragon Priest zealot suddenly break!
P> 
You sense a slight tremor from your flower charm, but nothing happens.
P> 
Zamn assesses his combat situation.
P> 
With pathetic timing, a Dragon Priest zealot feints to the side at Zamn.  Zamn blocks solidly with a vardite sipar emblazoned with the Arkarm family crest.  
P> 
[combat-trainer: *** No match was found after 15 seconds, dumping info]

[combat-trainer: messages seen length: 27]

[combat-trainer: message: With pathetic timing, a Dragon Priest zealot feints to the side at Zamn.  Zamn blocks solidly with a vardite sipar emblazoned with the Arkarm family crest.  ]

[combat-trainer: message: Zamn assesses his combat situation.]

[combat-trainer: message: You sense a slight tremor from your flower charm, but nothing happens.]

[combat-trainer: message: You feel your link with a Dragon Priest zealot suddenly break!]

[combat-trainer: message: Zamn opens his pouch and puts a medium piece of ivory inside before closing it again.]

[combat-trainer: message: Zamn picks up a medium piece of ivory.]

[combat-trainer: message: Zamn bends over the zealot's corpse briefly.]

[combat-trainer: message: The Dragon Priest zealot moves into a position to parry.]

[combat-trainer: message: Iron Constitution  (17 roisaen)]

[combat-trainer: message: Aggressive Stance  (14 roisaen)]

[combat-trainer: message: Manifest Force  (6 roisaen)]

[combat-trainer: message: Heal  (14 roisaen)]

[combat-trainer: message: Regenerate  (Indefinite)]

[combat-trainer: message: Refresh  (14 roisaen)]

[combat-trainer: message: Tranquility  (14 roisaen)]

[combat-trainer: message: You have lost the spell you were preparing.]

[combat-trainer: message: Driving in like an adept combatant, Zamn feints a flail at a Dragon Priest zealot.  A Dragon Priest zealot badly fails to block with a dark steel lata'oloh with a curved oak hilt.  The flail lands a good strike (3/23) to its neck!  ]

[combat-trainer: message: In a weak and directionless display of aggression, a Dragon Priest zealot sweeps low at Zamn.  Zamn blocks solidly with a vardite sipar emblazoned with the Arkarm family crest.  ]

[combat-trainer: message: As if effort and skill were a bad thing, a Dragon Priest zealot chops a dark steel lata'oloh with a curved oak hilt at Zamn.  Zamn evades.  ]

[combat-trainer: message: A Dragon Priest zealot gasps to draw breath as it manages to mutter, "The infection... will... be.... purged!" before falling still with a soft hiss.]

[combat-trainer: message: Driving in with an overwhelming assault, Zamn swings a flail at a Dragon Priest zealot.  A Dragon Priest zealot fails to parry with a dark steel lata'oloh with a curved oak hilt.  The flail lands a heavy strike (7/23) that breaks the right femur with a sickening crunch of splintered bone!  ]

[combat-trainer: message: The silver-tipped arrow lodges itself firmly into the Dragon Priest zealot!]

[combat-trainer: message: Moving with amazing force and guile, a Dragon Priest sentinel fires a silver-tipped arrow at a Dragon Priest zealot.  A Dragon Priest zealot attempts to evade, moving almost completely out of harm's reach.  The arrow lands a strong hit (6/23) that cuts deeply into the left tricep, lightly stunning it!  ]

[combat-trainer: message: Your cambrinth tailband thrums softly as it discharges as much power as necessary, leaving a moderate amount left for future use.]

[combat-trainer: message: Apparently without direction or thought, a Dragon Priest zealot chops wide at Zamn.  Zamn blocks solidly with a vardite sipar emblazoned with the Arkarm family crest.  ]

[combat-trainer: message: [Use WAKE to wake yourself up.]]

[combat-trainer: message: You can't do that while you are asleep.]

[combat-trainer: checked against [/You put/i, /You easily strap your/i]]

[combat-trainer: for command stow my tree statuette]

[combat-trainer]>retreat

You can't do that while you are asleep.
[Use WAKE to wake yourself up.]
MahtraDR commented 2 years ago

I can think of at least two ways we can fix this.

  1. Edit common.lic - The function fix_standing could be co-opted for this, since it gets called everywhere anyway.
  2. Edit base-hunting to note that these can make you sleep, and recommend adding "wake: 10" to buff_nonspells:

I prefer the latter, it's much simpler... @rpherbig opinions? If you're ok with 1, I can add that, but I think 2 would be simpler, and achieve the same thing for what appears to be a reasonably edge use case, since nobody has commented on this in a long time...

rpherbig commented 2 years ago

Two more ideas:

  1. lich itself has a predicate sleeping? that, to my knowledge, we've never used before. You might test that to make sure it behaves the way we expect, then we can check for it in maybe SafetyProcess (similar to this: https://github.com/rpherbig/dr-scripts/blob/master/combat-trainer.lic#L993)
  2. Another option would be to add a Flag to SafetyProcess to detect "You abruptly stop in your tracks and fall over into a deep sleep."

since nobody has commented on this in a long time...

Good point. Could you ask around in Lnet/slack/discord and see if anyone hunts in that zone? Maybe people that do have figured out a workaround we could learn from. And if no one is hunting there, the easy fix (your idea number 2) seems reasonable.

MahtraDR commented 2 years ago

Having a chat about this now, and it appears this isn't actually that simple. It's true the game messaging for attempting an action whilst asleep says

You can't do that while you are asleep.
[Use WAKE to wake yourself up.]

But it is currently being explained to me that you can't just wake up from this. It's a poison arrow effect, and you will only be able to use 'wake' after the poison wears off. I'm inclined to make a note in base-hunting that this can happen, to warn folks more than anything "Shoots sleep arrows, beware, and add wake:10 to your yaml, you might live through the posion duration asleep..." I could also add a match for the regex to prevent the 15 second hang , ... @rpherbig What do you think?

rpherbig commented 2 years ago

I'm inclined to make a note in base-hunting that this can happen, to warn folks more than anything "Shoots sleep arrows, beware, and add wake:10 to your yaml, you might live through the posion duration asleep..." I could also add a match for the regex to prevent the 15 second hang

Given that we don't have people clamoring for this, and the age of this Issue, I think your approach is best.