From bd2025c7d5fd69d91fc029b43ec6d690f0af64a7 Mon Sep 17 00:00:00 2001 From: Erik Lunna Date: Thu, 27 Jul 2023 17:08:41 +0200 Subject: [PATCH] Revert "Two alignment keys can be forged together to create The Key of Access." This reverts commit 539ca03b90151be7e27be4bf80009c2dff03b7d0. Turns out that indestructible items don't make for good forging ingredients. The keys are not really able to be deleted after forging, so we'll keep it simple for now and return the alignment keys to indestructible status. The Key of Access will have to find a different home. --- hackem_changelog.txt | 1 - include/artilist.h | 18 ++++++++++-------- src/do.c | 2 -- src/fountain.c | 3 --- src/zap.c | 4 +++- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/hackem_changelog.txt b/hackem_changelog.txt index baa3e67fd..ecc070fd7 100644 --- a/hackem_changelog.txt +++ b/hackem_changelog.txt @@ -19,7 +19,6 @@ Version 1.2.0 (unreleased) Fix: Vecna wasn't getting the Key of Chaos! Fix: Lookup for skeleton key matched skeleton monster. Message when cursed gain level is blocked at Vlad's Tower. -Two alignment keys can be forged together to create The Key of Access. Clarify message when Vlad's tower is unlocked. Switch Und-Vam blood potions for vampire blood potions. Acquiring two alignment keys is now mandatory to ascend Vlad's Tower. diff --git a/include/artilist.h b/include/artilist.h index f2d22186e..681427d02 100644 --- a/include/artilist.h +++ b/include/artilist.h @@ -488,6 +488,13 @@ STATIC_OVL NEARDATA struct artifact artilist[] = { NO_COLOR, SILVER), /*** Alignment quest artifacts ***/ +#if 0 + A("The Key Of Access", SKELETON_KEY, + (SPFX_RESTR | SPFX_NOWISH | SPFX_NOGEN), 0, 0, + NO_ATTK, NO_DFNS, NO_CARY, + CREATE_PORTAL, A_LAWFUL, NON_PM, NON_PM, 200L, NO_COLOR, GEMSTONE), +#endif + A("Nighthorn", UNICORN_HORN, (SPFX_NOGEN | SPFX_NOWISH | SPFX_RESTR | SPFX_REFLECT), 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_LAWFUL, NON_PM, NON_PM, @@ -508,17 +515,17 @@ STATIC_OVL NEARDATA struct artifact artilist[] = { A("The Key of Law", SKELETON_KEY, (SPFX_NOGEN | SPFX_NOWISH | SPFX_RESTR | SPFX_INTEL), 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_LAWFUL, NON_PM, NON_PM, - 1000L, NO_COLOR, GEMSTONE), + 1000L, NO_COLOR, DEFAULT_MAT), A("The Key of Neutrality", SKELETON_KEY, (SPFX_NOGEN | SPFX_NOWISH | SPFX_RESTR | SPFX_INTEL), 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_NEUTRAL, NON_PM, NON_PM, - 1000L, NO_COLOR, GEMSTONE), + 1000L, NO_COLOR, DEFAULT_MAT), A("The Key of Chaos", SKELETON_KEY, (SPFX_NOGEN | SPFX_NOWISH | SPFX_RESTR | SPFX_INTEL), 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_CHAOTIC, NON_PM, NON_PM, - 1000L, NO_COLOR, GEMSTONE), + 1000L, NO_COLOR, DEFAULT_MAT), @@ -543,11 +550,6 @@ STATIC_OVL NEARDATA struct artifact artilist[] = { 0, 0, DISN(5, 12), DFNS(AD_DISN), NO_CARY, 0, A_NONE, NON_PM, NON_PM, 25000L, NO_COLOR, METAL), #endif - A("The Key Of Access", SKELETON_KEY, - (SPFX_RESTR | SPFX_NOWISH | SPFX_NOGEN | SPFX_FORGED), 0, 0, - NO_ATTK, NO_DFNS, NO_CARY, - CREATE_PORTAL, A_NONE, NON_PM, NON_PM, 200L, NO_COLOR, GEMSTONE), - /* Created by fusing werebane and trollsbane. Original idea by Spicy. Prevents all monster regen. */ A("Mortality Dial", EXECUTIONER_S_MACE, diff --git a/src/do.c b/src/do.c index 3e8fbec52..a88ee2105 100644 --- a/src/do.c +++ b/src/do.c @@ -2746,8 +2746,6 @@ STATIC_OVL int countkeys() { int count = 0; - if (carrying_arti(ART_KEY_OF_ACCESS)) - count = 2; if (carrying_arti(ART_KEY_OF_NEUTRALITY)) count++; if (carrying_arti(ART_KEY_OF_CHAOS)) diff --git a/src/fountain.c b/src/fountain.c index 77e44995b..ddb5e967e 100644 --- a/src/fountain.c +++ b/src/fountain.c @@ -583,9 +583,6 @@ static const struct forge_arti { /* artifacts */ /* { ART_SWORD_OF_ANNIHILATION, ART_FIRE_BRAND, ART_FROST_BRAND }, */ { ART_MORTALITY_DIAL, ART_WEREBANE, ART_TROLLSBANE }, - { ART_KEY_OF_ACCESS, ART_KEY_OF_LAW, ART_KEY_OF_CHAOS }, - { ART_KEY_OF_ACCESS, ART_KEY_OF_LAW, ART_KEY_OF_NEUTRALITY }, - { ART_KEY_OF_ACCESS, ART_KEY_OF_CHAOS, ART_KEY_OF_NEUTRALITY }, { 0, 0, 0 } }; diff --git a/src/zap.c b/src/zap.c index 7c438865d..c487908a0 100644 --- a/src/zap.c +++ b/src/zap.c @@ -1567,7 +1567,9 @@ int ochance, achance; /* percent chance for ordinary objects, artifacts */ || (obj->otyp == CORPSE && is_rider(&mons[obj->corpsenm])) || (obj->oartifact & (obj->oartifact == ART_BALMUNG || obj->oartifact == ART_BRADAMANTE_S_FURY - || obj->oartifact == ART_KEY_OF_ACCESS))) { + || obj->oartifact == ART_KEY_OF_LAW + || obj->oartifact == ART_KEY_OF_NEUTRALITY + || obj->oartifact == ART_KEY_OF_CHAOS))) { return TRUE; } else { int chance = rn2(100);