]> granicus.if.org Git - nethack/commitdiff
Knights start with a lance
authorkmhugo <kmhugo>
Sat, 2 Feb 2002 05:38:51 +0000 (05:38 +0000)
committerkmhugo <kmhugo>
Sat, 2 Feb 2002 05:38:51 +0000 (05:38 +0000)
Make Knights start with a lance.
Eliminate "bashing" message if jousting.
Remove obsolete code from u_init.c.

src/u_init.c
src/wield.c

index 6d2a93314bab35f68cc99eb670af1872d847f5f3..0585a2f88521ece996144f1bb27829ccc2059a9e 100644 (file)
@@ -70,8 +70,8 @@ static struct trobj Healer[] = {
        { 0, 0, 0, 0, 0 }
 };
 static struct trobj Knight[] = {
-       { LONG_SWORD, 0, WEAPON_CLASS, 1, UNDEF_BLESS },
-       { SPEAR, 2, WEAPON_CLASS, 1, UNDEF_BLESS },
+       { LONG_SWORD, 1, WEAPON_CLASS, 1, UNDEF_BLESS },
+       { LANCE, 1, WEAPON_CLASS, 1, UNDEF_BLESS },
        { RING_MAIL, 1, ARMOR_CLASS, 1, UNDEF_BLESS },
        { HELMET, 0, ARMOR_CLASS, 1, UNDEF_BLESS },
        { SMALL_SHIELD, 0, ARMOR_CLASS, 1, UNDEF_BLESS },
@@ -674,38 +674,6 @@ u_init()
                 */
                break;
        case PM_RANGER:
-#if 0          /* superseded by inv_subs[] */
-               switch (rn2(100) / 20) {
-               case 0: /* Special racial bow */
-               case 1:
-               case 2:
-                   switch (Race_switch) {
-                   case PM_ELF:
-                       Ranger[RAN_BOW].trotyp = ELVEN_BOW;
-                       Ranger[RAN_TWO_ARROWS].trotyp =
-                       Ranger[RAN_ZERO_ARROWS].trotyp = ELVEN_ARROW;
-                       break;
-                   case PM_GNOME:
-                       Ranger[RAN_BOW].trotyp = CROSSBOW;
-                       Ranger[RAN_TWO_ARROWS].trotyp =
-                       Ranger[RAN_ZERO_ARROWS].trotyp = CROSSBOW_BOLT;
-                       break;
-                   case PM_ORC:
-                       Ranger[RAN_BOW].trotyp = ORCISH_BOW;
-                       Ranger[RAN_TWO_ARROWS].trotyp =
-                       Ranger[RAN_ZERO_ARROWS].trotyp = ORCISH_ARROW;
-                       break;
-                   default: break;     /* Use default bow + arrow */
-                   }
-                   break;
-               case 3: /* Missiles */
-                   Ranger[RAN_BOW].trotyp = BOOMERANG;
-                   Ranger[RAN_TWO_ARROWS].trotyp =
-                   Ranger[RAN_ZERO_ARROWS].trotyp = DART;
-                   break;
-               default: break; /* Use default bow + arrow */
-               }
-#endif /*0*/
                Ranger[RAN_TWO_ARROWS].trquan = rn1(10, 50);
                Ranger[RAN_ZERO_ARROWS].trquan = rn1(10, 30);
                ini_inv(Ranger);
@@ -748,7 +716,6 @@ u_init()
                break;
 #endif
        case PM_VALKYRIE:
-               flags.female = TRUE;
                ini_inv(Valkyrie);
                if(!rn2(6)) ini_inv(Lamp);
                knows_class(WEAPON_CLASS);
@@ -1044,9 +1011,10 @@ register struct trobj *trop;
                        discover_object(POT_OIL, TRUE, FALSE);
 
                if(obj->oclass == ARMOR_CLASS){
-                       if (is_shield(obj) && !uarms)
+                       if (is_shield(obj) && !uarms) {
                                setworn(obj, W_ARMS);
-                       else if (is_helmet(obj) && !uarmh)
+                               if (uswapwep) setuswapwep((struct obj *) 0);
+                       } else if (is_helmet(obj) && !uarmh)
                                setworn(obj, W_ARMH);
                        else if (is_gloves(obj) && !uarmg)
                                setworn(obj, W_ARMG);
index 3b0293553c9fdfae5c30ce0de1c92228b508d034..419933d4920830fc16f96d89825156e1452c7d28 100644 (file)
@@ -110,8 +110,11 @@ register struct obj *obj;
        if (obj) {
                unweapon = (obj->oclass == WEAPON_CLASS) ?
                                is_launcher(obj) || is_ammo(obj) ||
-                               is_missile(obj) || is_pole(obj) :
-                          !is_weptool(obj);
+                               is_missile(obj) || (is_pole(obj)
+#ifdef STEED
+                               && !u.usteed
+#endif
+                               ) : !is_weptool(obj);
        } else
                unweapon = TRUE;        /* for "bare hands" message */
        update_inventory();