merge javelin and spear skills (trunk only)
Part of "multi-shot throwing proposal" last January. Unfortunately some of the bits that I had implemented back then have vanished, so I'm doing it over from scratch. There were three main parts: 1) allow multi-shot volley throwing for all stackable weapons (affects knives, javelins, spears, and boomerangs; other weapons either don't stack or are already multi-shot); 2) make worm teeth and crysknives be stackable like ordinary knives; 3) merge spear and javelin skills, so that allocating skill points to their use becomes more attractive and they might get used more. This patch only does #3. Since the monk skill set shrinks by more than any of the other roles, I bumped max skill for escape spells (haste self, invisibility, jumping, levitation, and teleport away) from basic to skilled; that's the only skill adjustment included here. For the couple of roles had different max values for spear and javelin skill; this keeps the higher of the two.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)obj.h 3.5 2006/04/15 */
|
||||
/* SCCS Id: @(#)obj.h 3.5 2006/12/14 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -164,8 +164,7 @@ struct obj {
|
||||
(objects[otmp->otyp].oc_skill == P_POLEARMS || \
|
||||
objects[otmp->otyp].oc_skill == P_LANCE))
|
||||
#define is_spear(otmp) (otmp->oclass == WEAPON_CLASS && \
|
||||
objects[otmp->otyp].oc_skill >= P_SPEAR && \
|
||||
objects[otmp->otyp].oc_skill <= P_JAVELIN)
|
||||
objects[otmp->otyp].oc_skill == P_SPEAR)
|
||||
#define is_launcher(otmp) (otmp->oclass == WEAPON_CLASS && \
|
||||
objects[otmp->otyp].oc_skill >= P_BOW && \
|
||||
objects[otmp->otyp].oc_skill <= P_CROSSBOW)
|
||||
@@ -173,9 +172,9 @@ struct obj {
|
||||
otmp->oclass == GEM_CLASS) && \
|
||||
objects[otmp->otyp].oc_skill >= -P_CROSSBOW && \
|
||||
objects[otmp->otyp].oc_skill <= -P_BOW)
|
||||
#define ammo_and_launcher(otmp,ltmp) \
|
||||
(is_ammo(otmp) && (ltmp) && \
|
||||
objects[(otmp)->otyp].oc_skill == -objects[(ltmp)->otyp].oc_skill)
|
||||
#define matching_launcher(a,l) ((l) && objects[(a)->otyp].oc_skill == \
|
||||
-objects[(l)->otyp].oc_skill)
|
||||
#define ammo_and_launcher(a,l) (is_ammo(a) && matching_launcher(a,l))
|
||||
#define is_missile(otmp) ((otmp->oclass == WEAPON_CLASS || \
|
||||
otmp->oclass == TOOL_CLASS) && \
|
||||
objects[otmp->otyp].oc_skill >= -P_BOOMERANG && \
|
||||
|
||||
Reference in New Issue
Block a user