diff --git a/src/u_init.c b/src/u_init.c index f0c1e3756..50e90d9d7 100644 --- a/src/u_init.c +++ b/src/u_init.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 u_init.c $NHDT-Date: 1446861772 2015/11/07 02:02:52 $ $NHDT-Branch: master $:$NHDT-Revision: 1.35 $ */ +/* NetHack 3.6 u_init.c $NHDT-Date: 1454660565 2016/02/05 08:22:45 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.37 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -270,7 +270,8 @@ static const struct def_skill Skill_B[] = { { P_SPEAR, P_SKILLED }, { P_TRIDENT, P_SKILLED }, { P_BOW, P_BASIC }, - { P_ATTACK_SPELL, P_SKILLED }, + { P_ATTACK_SPELL, P_BASIC }, + { P_ESCAPE_SPELL, P_BASIC }, /* special spell is haste self */ { P_RIDING, P_BASIC }, { P_TWO_WEAPON_COMBAT, P_BASIC }, { P_BARE_HANDED_COMBAT, P_MASTER }, @@ -458,7 +459,8 @@ static const struct def_skill Skill_S[] = { { P_LANCE, P_SKILLED }, { P_BOW, P_EXPERT }, { P_SHURIKEN, P_EXPERT }, - { P_ATTACK_SPELL, P_SKILLED }, + { P_ATTACK_SPELL, P_BASIC }, + { P_DIVINATION_SPELL, P_BASIC }, /* special spell is clairvoyance */ { P_CLERIC_SPELL, P_SKILLED }, { P_RIDING, P_SKILLED }, { P_TWO_WEAPON_COMBAT, P_EXPERT }, diff --git a/src/weapon.c b/src/weapon.c index cdbd440db..4a6ebbea3 100644 --- a/src/weapon.c +++ b/src/weapon.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 weapon.c $NHDT-Date: 1446078767 2015/10/29 00:32:47 $ $NHDT-Branch: master $:$NHDT-Revision: 1.55 $ */ +/* NetHack 3.6 weapon.c $NHDT-Date: 1454660575 2016/02/05 08:22:55 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.57 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1147,7 +1147,7 @@ enhance_weapon_skill() /* * Change from restricted to unrestricted, allowing P_BASIC as max. This - * function may be called with with P_NONE. Used in pray.c. + * function may be called with with P_NONE. Used in pray.c as well as below. */ void unrestrict_weapon_skill(skill) @@ -1501,6 +1501,10 @@ const struct def_skill *class_skill; P_ADVANCE(skill) = practice_needed_to_advance(P_SKILL(skill) - 1); } } + + /* each role has a special spell; allow at least basic for its type + (despite the function name, this works for spell skills too) */ + unrestrict_weapon_skill(spell_skilltype(urole.spelspec)); } void