dr-scripts
dr-scripts copied to clipboard
[script][common] Add handling for IP from frostcrones
So frostcrones cast IP, a dastardly spell that wreaks havoc with combat-trainer, hucking you onto your back, immobilizing you temporarily, then quickly sliding you out of the room. Great fun for them, not so much for you. I hesitate to work in a return to current room for one critter, but the hang-ups are solved by adding this handy little message in bput's case statement. The message added is what you invariably get once the immobilization effect wears off, allowing us to quickly stand up and re-send the last command.
BEFORE:
[combat-trainer]>get my throwing hammer
A shambling frostcrone gestures at you as her steely, sightless eyes fixate on you.
A sheet of slippery ice forms beneath you!
You slip and fall forward, slamming your face down on the ice.
The jolt to your spine knocks your breath right out of your lungs, leaving you gasping like a fish out of water!
You don't seem to be able to move to do that.
The churning rage inside of you continues unabated.
A shambling frostcrone gestures with stiffened limbs.
Ice crystals begin to form in the air.
Though chilling, you are able to withstand the frigid blast.
A shambling frostcrone chants a word of power.
* Moving in gracefully, a shambling frostcrone jabs a shimmering rime ice blade at you. You fail to block with a round gladiator's shield with a razaksel boss. The blade lands a light hit (1/23) to your right arm.
[Abandoned Farmhouse, Living Room]
Centered in the west wall, a wide fireplace displays a number of cracked hearthstones. Several broken windows lined with glass fragments or boards limit the view outside. The wreckage of furniture is scattered around the room, scraps of cloth and stuffing, splintered wood and iron nails littering the ground. A single wooden chair sits facing the fireplace, entirely clean of dust and debris. A narrow stairwell leads upstairs. You also see a snowbeast and a snowbeast.
Obvious exits: south, west, up.
With a gleeful kick, the shambling frostcrone sends you skidding east on a sheet of ice!
[You're bruised, very badly balanced with opponent overwhelming you.]
Room Number: 16844
After failing to draw a breath for what feels like forever, you finally get air back into your lungs.
The snowbeast begins to advance on you!
The snowbeast advances from nearby and is closing steadily.
The snowbeast begins to advance on you!
The snowbeast advances from nearby and is closing steadily.
You notice the shambling frostcrone attempting to stealthily advance upon you!
The shambling frostcrone advances from nearby and is closing steadily.
Gained: Perception(+1)
You think you have your best shot possible now.
The snowbeast closes to melee range on you!
The snowbeast closes to melee range on you!
You notice a shambling frostcrone as it stealthily closes to melee range on you.
You point at a shambling frostcrone, ruining its attempt to advance unnoticed.
[combat-trainer: *** No match was found after 15 seconds, dumping info]
As you can see, the message comes pretty quickly, always within the 15 seconds, if only just on occasion. Any reports of STILL failing to find a match would indicate we need both messages, but as is:
[combat-trainer]>aim
You don't seem to be able to move to do that.
>
After failing to draw a breath for what feels like forever, you finally get air back into your lungs.
>
You notice a shambling frostcrone as it stealthily closes to melee range on you.
You point at a shambling frostcrone, ruining its attempt to advance unnoticed.
>
[combat-trainer]>stand
You stand back up.
>
[combat-trainer]>aim
You turn to face a shambling frostcrone.
You begin to target a shambling frostcrone.
OK, so I did a modified version with a quick stow feet and return to original room, and found something neat:
[combat-trainer]>jab left
You don't seem to be able to move to do that.
>
* A shambling frostcrone feints to the side at you. You dodge, just managing to get out of a tight spot.
[Abandoned Farmhouse, Collapsed Porch]
Several support posts have splintered or been cut, resulting in a barrier of debris choked through with vines. A rafter has gouged a wide hole through the farmhouse wall, creating a small entry into the structure. Flickers of movement can be seen inside, and loud whispering echoes from within the home.
Obvious paths: north, west.
With a gleeful kick, the shambling frostcrone sends you skidding east on a sheet of ice!
[You're bruised, very badly balanced with opponent overwhelming you.]
Room Number: 16843
>
Gained: Shield Usage(+1)
>
After failing to draw a breath for what feels like forever, you finally get air back into your lungs.
>
[combat-trainer]>stand
You stand back up.
>
[combat-trainer]>stow feet
Stow what? Type 'STOW HELP' for details.
>
--- Lich: go2 active.
[go2: ETA: 0:00:00 (1 rooms to move through)]
[go2]>west
You go west.
[Abandoned Farmhouse, Entry]
Warped stairs ascend to a wide porch which spans the exterior of the home. Broken windows peer into musty darkness, echoing with feminine whispers. A half collapsed dormer exposes the second floor to the elements, and the ground is littered with broken slate tiles fallen from the roof. White paint peels from the siding, and clinging vines cover the walls. The front door has been boarded shut, crisscrossed with thick planks. You also see a shambling frostcrone that is surrounded by a shimmering shield, a shambling frostcrone that is surrounded by a shimmering shield, a shambling frostcrone that is surrounded by a shimmering shield, a stick of fragrant incense, a disarrayed cobblestone path and some junk.
Obvious paths: east.
Room Number: 16842
Room Exits: go cobblestone path
>
[go2: travel time: 0:00:00]
--- Lich: go2 has exited.
[combat-trainer]>jab left
A shift in the breeze accompanies the arrival of an agitated shambling frostcrone.
>
You notice the shambling frostcrone attempting to stealthily advance upon you!
The shambling frostcrone is still a distance away from you and is closing steadily.
>
< Moving strongly, you jab a darkspine nightstick at a shambling frostcrone. A shambling frostcrone attempts to dodge. The nightstick lands a glancing (0/23) blow to the frostcrone's head.
[You're bruised, badly balanced with opponent in strong position.]
[Roundtime 2 sec.]
Looks like you don't lose engagement if you're flung out of the room, so quickly going back puts you right back into melee. I think this is worth having.
Example of instance where you come out of the immobility before sliding out of the room:
[combat-trainer]>stand
You don't seem to be able to move to do that.
>
A shambling frostcrone continues to move with a curious lethargy, as if there was some invisible weight on it.
>
You've gained a new rank in your knowledge of arcana.
>
After failing to draw a breath for what feels like forever, you finally get air back into your lungs.
>
[combat-trainer]>stand
You stand back up.
>
You notice movement out of the corner of your eye.
>
* Moving poorly, a shambling frostcrone thrusts wide at you. You dodge, leaning to one side with no room to spare.
[You're bruised, badly balanced with opponent overwhelming you.]
>
[combat-trainer]>stow feet
--- Lich: go2 active.
[go2: you're already here...]
--- Lich: go2 has exited.
Stow what? Type 'STOW HELP' for details.
>
[combat-trainer]>stand
You are already standing.
Thanks for the PR. In my opinion this is out of scope for bput
. We've got some handling for common retries but none that are multi-step, save room numbers, call other scripts, move rooms, etc.
This might be better suited for handling in combat-trainer
or, perhaps, with the soon to be merged trigger-watcher
script.
Thanks for the PR. In my opinion this is out of scope for
bput
. We've got some handling for common retries but none that are multi-step, save room numbers, call other scripts, move rooms, etc.This might be better suited for handling in
combat-trainer
or, perhaps, with the soon to be mergedtrigger-watcher
script.
I disagree about handling it in combat-trainer, but I've removed the movement. This now catches the immobilization, and retries if release messages crop up. Added a couple other immobile release messages, so at least in those cases, it won't just hang.
edit: I should qualify my disagreement. The issue with working this into combat-trainer would be that this can occur at any time, during any action, and thus fixing it would require adding this match phrase not only to every bput in combat-trainer, but every bput in every module combat-trainer uses, and every script we might be using passively, and all the modules THOSE scripts use.
As far as using trigger, for sure it COULD work, but that would mean requiring the use of that script. I think adding this to common's bput method is in line with how webs/stuns/etc are handled by that method, rather than bolting something else on to do that work.
The concern i have currently is how this will interact with bputs that already have this phrasing. However, out of the ones I've seen, catching the immobile, waiting for it to expire, then resending the command (where we have the expire message) SHOULD accomplish the same task BETTER in those cases, and the same in the rest (eg bput hang).
Open to thoughts on that, though.
Since active spells can sometimes show the presence of an immobility spell, latest edit collects those I'm aware of and waits until they fall, before sending the message.