Merge remote-tracking branch 'origin/NetHack-3.6.0'
This commit is contained in:
@@ -208,6 +208,9 @@ A("The Palantir of Westernesse", CRYSTAL_BALL,
|
||||
PHYS(5, 0), NO_DFNS, NO_CARY, CREATE_AMMO, A_CHAOTIC, PM_RANGER, NON_PM,
|
||||
4000L, NO_COLOR),
|
||||
|
||||
/* MKoT has an additional carry property if the Key is not cursed (for
|
||||
rogues) or blessed (for non-rogues): #untrap of doors and chests
|
||||
will always find any traps and disarming those will always succeed */
|
||||
A("The Master Key of Thievery", SKELETON_KEY,
|
||||
(SPFX_NOGEN | SPFX_RESTR | SPFX_INTEL | SPFX_SPEAK),
|
||||
(SPFX_WARN | SPFX_TCTRL | SPFX_HPHDAM), 0, NO_ATTK, NO_DFNS, NO_CARY,
|
||||
|
||||
@@ -78,8 +78,8 @@ E int FDECL(spec_dbon, (struct obj *, struct monst *, int));
|
||||
E void FDECL(discover_artifact, (XCHAR_P));
|
||||
E boolean FDECL(undiscovered_artifact, (XCHAR_P));
|
||||
E int FDECL(disp_artifact_discoveries, (winid));
|
||||
E boolean FDECL(artifact_hit,
|
||||
(struct monst *, struct monst *, struct obj *, int *, int));
|
||||
E boolean FDECL(artifact_hit, (struct monst *, struct monst *, struct obj *,
|
||||
int *, int));
|
||||
E int NDECL(doinvoke);
|
||||
E boolean FDECL(finesse_ahriman, (struct obj *));
|
||||
E void FDECL(arti_speak, (struct obj *));
|
||||
@@ -92,6 +92,9 @@ E const char *FDECL(glow_color, (int));
|
||||
E void FDECL(Sting_effects, (int));
|
||||
E int FDECL(retouch_object, (struct obj **, BOOLEAN_P));
|
||||
E void FDECL(retouch_equipment, (int));
|
||||
E void NDECL(mkot_trap_warn);
|
||||
E boolean FDECL(is_magic_key, (struct monst *, struct obj *));
|
||||
E struct obj *FDECL(has_magic_key, (struct monst *));
|
||||
|
||||
/* ### attrib.c ### */
|
||||
|
||||
@@ -167,6 +170,9 @@ E boolean NDECL(status_hilite_menu);
|
||||
|
||||
/* ### cmd.c ### */
|
||||
|
||||
E int NDECL(doconduct);
|
||||
E int NDECL(domonability);
|
||||
E char FDECL(cmd_from_func, (int NDECL((*))));
|
||||
E boolean FDECL(redraw_cmd, (CHAR_P));
|
||||
#ifdef USE_TRAMPOLI
|
||||
E int NDECL(doextcmd);
|
||||
@@ -320,6 +326,7 @@ E void FDECL(map_background, (XCHAR_P, XCHAR_P, int));
|
||||
E void FDECL(map_trap, (struct trap *, int));
|
||||
E void FDECL(map_object, (struct obj *, int));
|
||||
E void FDECL(map_invisible, (XCHAR_P, XCHAR_P));
|
||||
E boolean FDECL(unmap_invisible, (int, int));
|
||||
E void FDECL(unmap_object, (int, int));
|
||||
E void FDECL(map_location, (int, int, int));
|
||||
E void FDECL(feel_newsym, (XCHAR_P, XCHAR_P));
|
||||
@@ -1721,7 +1728,7 @@ E const char *FDECL(clr2colorname, (int));
|
||||
E int FDECL(match_str2clr, (char *));
|
||||
E int FDECL(match_str2attr, (const char *, BOOLEAN_P));
|
||||
E boolean FDECL(add_menu_coloring, (char *));
|
||||
E boolean FDECL(get_menu_coloring, (char *, int *, int *));
|
||||
E boolean FDECL(get_menu_coloring, (const char *, int *, int *));
|
||||
E void NDECL(free_menu_coloring);
|
||||
E boolean FDECL(msgtype_parse_add, (char *));
|
||||
E int FDECL(msgtype_type, (const char *, BOOLEAN_P));
|
||||
|
||||
112
include/skills.h
112
include/skills.h
@@ -9,8 +9,9 @@
|
||||
* in a separate file so it can be included in objects.c.
|
||||
*/
|
||||
|
||||
/* Code to denote that no skill is applicable */
|
||||
#define P_NONE 0
|
||||
enum p_skills {
|
||||
/* Code to denote that no skill is applicable */
|
||||
P_NONE = 0,
|
||||
|
||||
/* Weapon Skills -- Stephen White
|
||||
* Order matters and are used in macros.
|
||||
@@ -19,58 +20,63 @@
|
||||
* Update weapon.c if you amend any skills.
|
||||
* Also used for oc_subtyp.
|
||||
*/
|
||||
#define P_DAGGER 1
|
||||
#define P_KNIFE 2
|
||||
#define P_AXE 3
|
||||
#define P_PICK_AXE 4
|
||||
#define P_SHORT_SWORD 5
|
||||
#define P_BROAD_SWORD 6
|
||||
#define P_LONG_SWORD 7
|
||||
#define P_TWO_HANDED_SWORD 8
|
||||
#define P_SCIMITAR 9
|
||||
#define P_SABER 10
|
||||
#define P_CLUB 11 /* Heavy-shafted bludgeon */
|
||||
#define P_MACE 12
|
||||
#define P_MORNING_STAR 13 /* Spiked bludgeon */
|
||||
#define P_FLAIL 14 /* Two pieces hinged or chained together */
|
||||
#define P_HAMMER 15 /* Heavy head on the end */
|
||||
#define P_QUARTERSTAFF 16 /* Long-shafted bludgeon */
|
||||
#define P_POLEARMS 17
|
||||
#define P_SPEAR 18 /* includes javelin */
|
||||
#define P_TRIDENT 19
|
||||
#define P_LANCE 20
|
||||
#define P_BOW 21
|
||||
#define P_SLING 22
|
||||
#define P_CROSSBOW 23
|
||||
#define P_DART 24
|
||||
#define P_SHURIKEN 25
|
||||
#define P_BOOMERANG 26
|
||||
#define P_WHIP 27
|
||||
#define P_UNICORN_HORN 28 /* last weapon */
|
||||
P_DAGGER,
|
||||
P_KNIFE,
|
||||
P_AXE,
|
||||
P_PICK_AXE,
|
||||
P_SHORT_SWORD,
|
||||
P_BROAD_SWORD,
|
||||
P_LONG_SWORD,
|
||||
P_TWO_HANDED_SWORD,
|
||||
P_SCIMITAR,
|
||||
P_SABER,
|
||||
P_CLUB, /* Heavy-shafted bludgeon */
|
||||
P_MACE,
|
||||
P_MORNING_STAR, /* Spiked bludgeon */
|
||||
P_FLAIL, /* Two pieces hinged or chained together */
|
||||
P_HAMMER, /* Heavy head on the end */
|
||||
P_QUARTERSTAFF, /* Long-shafted bludgeon */
|
||||
P_POLEARMS,
|
||||
P_SPEAR, /* includes javelin */
|
||||
P_TRIDENT,
|
||||
P_LANCE,
|
||||
P_BOW,
|
||||
P_SLING,
|
||||
P_CROSSBOW,
|
||||
P_DART,
|
||||
P_SHURIKEN,
|
||||
P_BOOMERANG,
|
||||
P_WHIP,
|
||||
P_UNICORN_HORN, /* last weapon */
|
||||
|
||||
/* Spell Skills added by Larry Stewart-Zerba */
|
||||
P_ATTACK_SPELL,
|
||||
P_HEALING_SPELL,
|
||||
P_DIVINATION_SPELL,
|
||||
P_ENCHANTMENT_SPELL,
|
||||
P_CLERIC_SPELL,
|
||||
P_ESCAPE_SPELL,
|
||||
P_MATTER_SPELL,
|
||||
|
||||
/* Other types of combat */
|
||||
P_BARE_HANDED_COMBAT, /* actually weaponless; gloves are ok */
|
||||
P_TWO_WEAPON_COMBAT,
|
||||
P_RIDING, /* How well you control your steed */
|
||||
|
||||
P_NUM_SKILLS
|
||||
};
|
||||
|
||||
#define P_MARTIAL_ARTS P_BARE_HANDED_COMBAT /* Role distinguishes */
|
||||
|
||||
#define P_FIRST_WEAPON P_DAGGER
|
||||
#define P_LAST_WEAPON P_UNICORN_HORN
|
||||
|
||||
/* Spell Skills added by Larry Stewart-Zerba */
|
||||
#define P_ATTACK_SPELL 29
|
||||
#define P_HEALING_SPELL 30
|
||||
#define P_DIVINATION_SPELL 31
|
||||
#define P_ENCHANTMENT_SPELL 32
|
||||
#define P_CLERIC_SPELL 33
|
||||
#define P_ESCAPE_SPELL 34
|
||||
#define P_MATTER_SPELL 35
|
||||
#define P_FIRST_SPELL P_ATTACK_SPELL
|
||||
#define P_LAST_SPELL P_MATTER_SPELL
|
||||
|
||||
/* Other types of combat */
|
||||
#define P_BARE_HANDED_COMBAT 36 /* actually weaponless; gloves are ok */
|
||||
#define P_MARTIAL_ARTS P_BARE_HANDED_COMBAT /* Role distinguishes */
|
||||
#define P_TWO_WEAPON_COMBAT 37 /* Finally implemented */
|
||||
#define P_RIDING 38 /* How well you control your steed */
|
||||
#define P_LAST_H_TO_H P_RIDING
|
||||
#define P_FIRST_H_TO_H P_BARE_HANDED_COMBAT
|
||||
|
||||
#define P_NUM_SKILLS (P_LAST_H_TO_H + 1)
|
||||
|
||||
/* These roles qualify for a martial arts bonus */
|
||||
#define martial_bonus() (Role_if(PM_SAMURAI) || Role_if(PM_MONK))
|
||||
|
||||
@@ -81,13 +87,15 @@
|
||||
* with the current skill-1. To work out for the UNSKILLED case,
|
||||
* a value of 0 needed.
|
||||
*/
|
||||
#define P_ISRESTRICTED 0
|
||||
#define P_UNSKILLED 1
|
||||
#define P_BASIC 2
|
||||
#define P_SKILLED 3
|
||||
#define P_EXPERT 4
|
||||
#define P_MASTER 5 /* Unarmed combat/martial arts only */
|
||||
#define P_GRAND_MASTER 6 /* Unarmed combat/martial arts only */
|
||||
enum skill_levels {
|
||||
P_ISRESTRICTED = 0,
|
||||
P_UNSKILLED,
|
||||
P_BASIC,
|
||||
P_SKILLED,
|
||||
P_EXPERT,
|
||||
P_MASTER, /* Unarmed combat/martial arts only */
|
||||
P_GRAND_MASTER /* Unarmed combat/martial arts only */
|
||||
};
|
||||
|
||||
#define practice_needed_to_advance(level) ((level) * (level) *20)
|
||||
|
||||
|
||||
@@ -36,7 +36,9 @@
|
||||
#define NETWORK /* if running on a networked system */
|
||||
/* e.g. Suns sharing a playground through NFS */
|
||||
/* #define SUNOS4 */ /* SunOS 4.x */
|
||||
/* #define LINUX */ /* Another Unix clone */
|
||||
#ifdef __linux__
|
||||
#define LINUX /* Another Unix clone */
|
||||
#endif
|
||||
/* #define CYGWIN32 */ /* Unix on Win32 -- use with case sensitive defines */
|
||||
/* #define GENIX */ /* Yet Another Unix Clone */
|
||||
/* #define HISX */ /* Bull Unix for XPS Machines */
|
||||
|
||||
Reference in New Issue
Block a user