Add invocation effect to Fire and Frost Brand

Casts fireball or cone of cold at expert level
This commit is contained in:
Pasi Kallinen
2025-04-13 13:10:24 +03:00
parent 652f8576c0
commit 85de51a69a
4 changed files with 17 additions and 2 deletions

View File

@@ -1511,6 +1511,7 @@ if a tree and a boulder or statue were at the same location, applying an axe
avoid premapping outside Sokoban map to prevent showing stone glyphs
Grimtooth is permanently poisoned, protects from poison, and can fling poison
cursed magic whistle can teleport you to your pet
Fire and Frost Brand can be invoked for expert level fireball or cone of cold
Fixes to 3.7.0-x General Problems Exposed Via git Repository

View File

@@ -68,6 +68,8 @@ enum invoke_prop_types {
CREATE_AMMO,
BANISH,
FLING_POISON,
FIRESTORM,
SNOWSTORM,
BLINDING_RAY
};

View File

@@ -147,11 +147,11 @@ static NEARDATA struct artifact artilist[] = {
0, 7, 3500L, NO_COLOR, MAGICBANE),
A("Frost Brand", LONG_SWORD, (SPFX_RESTR | SPFX_ATTK | SPFX_DEFN), 0, 0,
COLD(5, 0), COLD(0, 0), NO_CARY, 0, A_NONE, NON_PM, NON_PM,
COLD(5, 0), COLD(0, 0), NO_CARY, SNOWSTORM, A_NONE, NON_PM, NON_PM,
0, 9, 3000L, NO_COLOR, FROST_BRAND),
A("Fire Brand", LONG_SWORD, (SPFX_RESTR | SPFX_ATTK | SPFX_DEFN), 0, 0,
FIRE(5, 0), FIRE(0, 0), NO_CARY, 0, A_NONE, NON_PM, NON_PM,
FIRE(5, 0), FIRE(0, 0), NO_CARY, FIRESTORM, A_NONE, NON_PM, NON_PM,
0, 5, 3000L, NO_COLOR, FIRE_BRAND),
A("Dragonbane", BROADSWORD,

View File

@@ -2024,6 +2024,18 @@ arti_invoke(struct obj *obj)
obj->age = svm.moves;
}
break;
case SNOWSTORM:
case FIRESTORM:
{
int storm = oart->inv_prop == SNOWSTORM ? SPE_CONE_OF_COLD : SPE_FIREBALL;
int skill = spell_skilltype(storm);
int expertise = P_SKILL(skill);
P_SKILL(skill) = P_EXPERT;
(void) spelleffects(storm, FALSE, TRUE);
P_SKILL(skill) = expertise;
}
break;
case BLINDING_RAY:
if (getdir((char *) 0)) {
if (u.dx || u.dy) {