Open cfcfcfcfcfcfcfcfcfcf opened 3 months ago
I would also think "You are cast into the Abyss" should happen before, and interrupt, the equipping of your new weapon.
Upon further investigation, the issue is that check_old_item_warning
always returns true immediately for coglins, with a nearby comment saying that this is because the check for distortion (and inscriptions/artefact props) is supposed to be deferred until unwielding happens. unwield_weapon
does this check properly, so when you try to unwield a distortion weapon as a coglin with w-
it does prompt, but do_wield_weapon
does not do this check, because that function assumes check_old_item_warning
does it, and thus switching away from a distortion weapon to a different weapon as a coglin does not prompt (regardless of hand).
I looked into fixing this, and at some point I might have another go, but the code in invent.cc
is awfully messy and outdated in a way that makes the fix more challenging than perhaps it should be.
The issue I noted above with the timing of "You are cast into the Abyss" is a separate bug for coglins. It appears that after unwielding a distortion weapon as a coglin, the unwield effect only occurs on the next turn (5 auts after the unwield delay ends, to be precise) - this is extremely jarring when you unwield a distortion weapon with w-
.
A third issue I discovered, and I don't know if it's related, is that the interrupt prompt from being banished by distortion (and this possibly applies to other things too, I haven't tested) occurs before the terrain in the Abyss actually generates on screen, meaning it's hard for the player to judge whether they should continue equipping their new weapon or not.
PLATFORM and OS or BROWSER: webtiles
DCSS VERSION AND GAME INFORMATION: 0.32-a0-1316-gbd61dd866b
DESCRIPTION: a warning was not given when unwielding a distortion weapon
EXTRA FILES: Things that are here: a +5 demon whip of flaming; a +0 plate armour You're wielding all the weapons you can. Replace which one? (? for menu, Esc to cancel) < or a - the +0 hand axe "Imegezob" {distort, rC+ Int+3 SInv}; > or b - a +4 demon trident {Shedsu-nefertum} You start parting from your weapon. You continue parting from the +0 hand axe "Imegezob" {distort, rC+ Int+3 SInv}. x4 You whisper farewell to the +0 hand axe "Imegezob". You finish parting from the +0 hand axe "Imegezob" {distort, rC+ Int+3 SInv}. You start attuning to your weapon. You continue attuning to your +5 demon whip of flaming. You are cast into the Abyss! This branch contains the abyssal rune of Zot. You continue attuning to your +5 demon whip of flaming. x4 You finish attuning to your +5 demon whip of flaming. Your +5 demon whip of flaming bursts into flame! You welcome your +5 demon whip of flaming "Conrad" into your grasp. You regained 3 hp, and now have 20/102 hp.