github issue #1201 - Forcefighting webs

Issue reported by Umbire:  suggestion to always destroy adjacent webs
via 'F'<dir> if wielding Sting or Fire Brand.

Sting already did that; this adds Fire Brand.

This also augments the #untrap command when wielding either of those,
or any other blade.  And rephrases successful untrap message
"You remove {the or your} {bear trap or webbing} from Fido." to
"You extract Fido from {the or your} {bear trap or web}." since the
trap remains intact.

Forcefight and #untrap against webs ought to be reconciled to remove
[some of] their differences and/or share code.  But not by me...

Closes #1201
This commit is contained in:
PatR
2024-01-21 11:58:44 -08:00
parent 81b45f92c8
commit 13ff565a67
4 changed files with 54 additions and 22 deletions

View File

@@ -1915,10 +1915,11 @@ domove_fight_web(coordxy x, coordxy y)
chance to succeed rather than maybe make two tries */
roll = rn2(uwep ? 20 : (45 - 5 * wskill_minus_2));
if (uwep && u_wield_art(ART_STING)) {
if (uwep && (u_wield_art(ART_STING)
|| (uwep->oartifact && attacks(AD_FIRE, uwep)))) {
/* guaranteed success */
pline("%s cuts through the web!",
bare_artifactname(uwep));
pline("%s %s through the web!", bare_artifactname(uwep),
u_wield_art(ART_STING) ? "cuts" : "burns");
/* is_blade() includes daggers (which are classified as PIERCE)
but doesn't include axes and slashing polearms */