Merge branch 'NetHack-3.6.2'
This commit is contained in:
28
dat/knox.des
28
dat/knox.des
@@ -1,4 +1,4 @@
|
|||||||
# NetHack 3.6 knox.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
# NetHack 3.6 knox.des $NHDT-Date: 1547262478 2019/01/12 03:07:58 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.12 $
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
# Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
# Copyright (c) 1992 by Izchak Miller
|
# Copyright (c) 1992 by Izchak Miller
|
||||||
# NetHack may be freely redistributed. See license for details.
|
# NetHack may be freely redistributed. See license for details.
|
||||||
@@ -70,6 +70,32 @@ REGION:(03,10,07,13),lit,"zoo",filled,irregular
|
|||||||
# arrival chamber; needs to be a real room to control migrating monsters,
|
# arrival chamber; needs to be a real room to control migrating monsters,
|
||||||
# and `unfilled' is a kludge to force an ordinary room to remain a room
|
# and `unfilled' is a kludge to force an ordinary room to remain a room
|
||||||
REGION:(06,15,09,16),unlit,"ordinary",unfilled
|
REGION:(06,15,09,16),unlit,"ordinary",unfilled
|
||||||
|
|
||||||
|
# Run away! Or at least look away!
|
||||||
|
#
|
||||||
|
# Due to a quirk in how lit regions work, entering the arrival chamber
|
||||||
|
# with a lit candle reveals the left and left-top walls even though
|
||||||
|
# they're beyond the range of a candle's light, but the closer upper-right
|
||||||
|
# corner shows as blank (legitmately since that spot two steps away
|
||||||
|
# diagonally is beyond candle radius). Explicity lighting the problematic
|
||||||
|
# spot hides that quirk. Without a light source, it doesn't become mapped
|
||||||
|
# until you move next to it; with one, it becomes mapped when the spot
|
||||||
|
# adjacent to it becomes lit, matching the observable behavior of the rest
|
||||||
|
# of the entry chamber.
|
||||||
|
REGION:(10,14,10,14),lit,"ordinary"
|
||||||
|
# Unfortunately, a single lit spot actually lights a 3x3 area around that
|
||||||
|
# spot, resulting in the wall corner showing even without a candle and
|
||||||
|
# making some unexpected lit spots on that other side of the wall.
|
||||||
|
# Making an explicitly unlit box around the lit spot hides _that_ quirk.
|
||||||
|
REGION:(09,13,09,15),unlit,"ordinary"
|
||||||
|
REGION:(09,13,11,13),unlit,"ordinary"
|
||||||
|
REGION:(11,13,11,15),unlit,"ordinary"
|
||||||
|
# (We don't need to close the box across the bottom.)
|
||||||
|
#REGION:(09,15,11,15),unlit,"ordinary"
|
||||||
|
# [Note: expanding unlit arrival region to (05,14,09,16) did not solve this
|
||||||
|
# issue in other direction, to make the walls unlit and obey candle radius.]
|
||||||
|
# We now take you back to your regularly scheduled level description....
|
||||||
|
|
||||||
# Barracks
|
# Barracks
|
||||||
REGION:(62,03,71,04),lit,"barracks",filled,irregular
|
REGION:(62,03,71,04),lit,"barracks",filled,irregular
|
||||||
# Doors
|
# Doors
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.226 $ $NHDT-Date: 1547118629 2019/01/10 11:10:29 $
|
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.227 $ $NHDT-Date: 1547262477 2019/01/12 03:07:57 $
|
||||||
|
|
||||||
This fixes36.2 file is here to capture information about updates in the 3.6.x
|
This fixes36.2 file is here to capture information about updates in the 3.6.x
|
||||||
lineage following the release of 3.6.1 in April 2018. Please note, however,
|
lineage following the release of 3.6.1 in April 2018. Please note, however,
|
||||||
@@ -329,6 +329,11 @@ when ^T resorted to the teleport-away spell if hero didn't have intrinsic
|
|||||||
with 'Z') possible after forgetting the spellbook due to amnesia
|
with 'Z') possible after forgetting the spellbook due to amnesia
|
||||||
setting SEDUCE=0 made all succubus and incubus attacks be described as
|
setting SEDUCE=0 made all succubus and incubus attacks be described as
|
||||||
smiling engagingly or seductively rather than hitting or missing
|
smiling engagingly or seductively rather than hitting or missing
|
||||||
|
entering Ft.Ludios with a lit candle lit up the entire entry room except for
|
||||||
|
one corner spot; that corner is beyond candle radius but other spots
|
||||||
|
even further away were being shown; add a hack to knox.des to make
|
||||||
|
that corner show up too, although a proper fix should make the other
|
||||||
|
walls not be seen until approached
|
||||||
|
|
||||||
|
|
||||||
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 objclass.h $NHDT-Date: 1462067744 2016/05/01 01:55:44 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.16 $ */
|
/* NetHack 3.6 objclass.h $NHDT-Date: 1547255901 2019/01/12 01:18:21 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.20 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Pasi Kallinen, 2018. */
|
/*-Copyright (c) Pasi Kallinen, 2018. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -6,46 +6,48 @@
|
|||||||
#ifndef OBJCLASS_H
|
#ifndef OBJCLASS_H
|
||||||
#define OBJCLASS_H
|
#define OBJCLASS_H
|
||||||
|
|
||||||
/* [misnamed] definition of a type of object */
|
/* [misnamed] definition of a type of object; many objects are composites
|
||||||
|
(liquid potion inside glass bottle, metal arrowhead on wooden shaft)
|
||||||
|
and object definitions only specify one type on a best-fit basis */
|
||||||
enum obj_material_types {
|
enum obj_material_types {
|
||||||
LIQUID = 1, /* currently only for venom */
|
LIQUID = 1, /* currently only for venom */
|
||||||
WAX,
|
WAX = 2,
|
||||||
VEGGY, /* foodstuffs */
|
VEGGY = 3, /* foodstuffs */
|
||||||
FLESH, /* ditto */
|
FLESH = 4, /* ditto */
|
||||||
PAPER,
|
PAPER = 5,
|
||||||
CLOTH,
|
CLOTH = 6,
|
||||||
LEATHER,
|
LEATHER = 7,
|
||||||
WOOD,
|
WOOD = 8,
|
||||||
BONE,
|
BONE = 9,
|
||||||
DRAGON_HIDE, /* not leather! */
|
DRAGON_HIDE = 10, /* not leather! */
|
||||||
IRON, /* Fe - includes steel */
|
IRON = 11, /* Fe - includes steel */
|
||||||
METAL, /* Sn, &c. */
|
METAL = 12, /* Sn, &c. */
|
||||||
COPPER, /* Cu - includes brass */
|
COPPER = 13, /* Cu - includes brass */
|
||||||
SILVER, /* Ag */
|
SILVER = 14, /* Ag */
|
||||||
GOLD, /* Au */
|
GOLD = 15, /* Au */
|
||||||
PLATINUM, /* Pt */
|
PLATINUM = 16, /* Pt */
|
||||||
MITHRIL,
|
MITHRIL = 17,
|
||||||
PLASTIC,
|
PLASTIC = 18,
|
||||||
GLASS,
|
GLASS = 19,
|
||||||
GEMSTONE,
|
GEMSTONE = 20,
|
||||||
MINERAL
|
MINERAL = 21
|
||||||
};
|
};
|
||||||
|
|
||||||
enum obj_armor_types {
|
enum obj_armor_types {
|
||||||
ARM_SUIT = 0,
|
ARM_SUIT = 0,
|
||||||
ARM_SHIELD, /* needed for special wear function */
|
ARM_SHIELD = 1, /* needed for special wear function */
|
||||||
ARM_HELM,
|
ARM_HELM = 2,
|
||||||
ARM_GLOVES,
|
ARM_GLOVES = 3,
|
||||||
ARM_BOOTS,
|
ARM_BOOTS = 4,
|
||||||
ARM_CLOAK,
|
ARM_CLOAK = 5,
|
||||||
ARM_SHIRT
|
ARM_SHIRT = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
struct objclass {
|
struct objclass {
|
||||||
short oc_name_idx; /* index of actual name */
|
short oc_name_idx; /* index of actual name */
|
||||||
short oc_descr_idx; /* description when name unknown */
|
short oc_descr_idx; /* description when name unknown */
|
||||||
char *oc_uname; /* called by user */
|
char *oc_uname; /* called by user */
|
||||||
Bitfield(oc_name_known, 1);
|
Bitfield(oc_name_known, 1); /* discovered */
|
||||||
Bitfield(oc_merge, 1); /* merge otherwise equal objects */
|
Bitfield(oc_merge, 1); /* merge otherwise equal objects */
|
||||||
Bitfield(oc_uses_known, 1); /* obj->known affects full description;
|
Bitfield(oc_uses_known, 1); /* obj->known affects full description;
|
||||||
otherwise, obj->dknown and obj->bknown
|
otherwise, obj->dknown and obj->bknown
|
||||||
@@ -72,7 +74,7 @@ struct objclass {
|
|||||||
#define SLASH 2 /* (latter includes iron ball & chain) */
|
#define SLASH 2 /* (latter includes iron ball & chain) */
|
||||||
#define WHACK 0
|
#define WHACK 0
|
||||||
|
|
||||||
/*Bitfield(oc_subtyp,3);*/ /* Now too big for a bitfield... see below */
|
/* 4 free bits */
|
||||||
|
|
||||||
Bitfield(oc_material, 5); /* one of obj_material_types */
|
Bitfield(oc_material, 5); /* one of obj_material_types */
|
||||||
|
|
||||||
@@ -94,12 +96,14 @@ struct objclass {
|
|||||||
(is_rustprone(otmp) || is_flammable(otmp) || is_rottable(otmp) \
|
(is_rustprone(otmp) || is_flammable(otmp) || is_rottable(otmp) \
|
||||||
|| is_corrodeable(otmp))
|
|| is_corrodeable(otmp))
|
||||||
|
|
||||||
|
/* 3 free bits */
|
||||||
|
|
||||||
schar oc_subtyp;
|
schar oc_subtyp;
|
||||||
#define oc_skill oc_subtyp /* Skills of weapons, spellbooks, tools, gems */
|
#define oc_skill oc_subtyp /* Skills of weapons, spellbooks, tools, gems */
|
||||||
#define oc_armcat oc_subtyp /* for armor */
|
#define oc_armcat oc_subtyp /* for armor (enum obj_armor_types) */
|
||||||
|
|
||||||
uchar oc_oprop; /* property (invis, &c.) conveyed */
|
uchar oc_oprop; /* property (invis, &c.) conveyed */
|
||||||
char oc_class; /* object class */
|
char oc_class; /* object class (enum obj_class_types) */
|
||||||
schar oc_delay; /* delay when using such an object */
|
schar oc_delay; /* delay when using such an object */
|
||||||
uchar oc_color; /* color of the object */
|
uchar oc_color; /* color of the object */
|
||||||
|
|
||||||
@@ -138,26 +142,26 @@ extern NEARDATA struct objdescr obj_descr[];
|
|||||||
* symbol below.
|
* symbol below.
|
||||||
*/
|
*/
|
||||||
enum obj_class_types {
|
enum obj_class_types {
|
||||||
RANDOM_CLASS = 0, /* used for generating random objects */
|
RANDOM_CLASS = 0, /* used for generating random objects */
|
||||||
ILLOBJ_CLASS,
|
ILLOBJ_CLASS = 1,
|
||||||
WEAPON_CLASS,
|
WEAPON_CLASS = 2,
|
||||||
ARMOR_CLASS,
|
ARMOR_CLASS = 3,
|
||||||
RING_CLASS,
|
RING_CLASS = 4,
|
||||||
AMULET_CLASS,
|
AMULET_CLASS = 5,
|
||||||
TOOL_CLASS,
|
TOOL_CLASS = 6,
|
||||||
FOOD_CLASS,
|
FOOD_CLASS = 7,
|
||||||
POTION_CLASS,
|
POTION_CLASS = 8,
|
||||||
SCROLL_CLASS,
|
SCROLL_CLASS = 9,
|
||||||
SPBOOK_CLASS, /* actually SPELL-book */
|
SPBOOK_CLASS = 10, /* actually SPELL-book */
|
||||||
WAND_CLASS,
|
WAND_CLASS = 11,
|
||||||
COIN_CLASS,
|
COIN_CLASS = 12,
|
||||||
GEM_CLASS,
|
GEM_CLASS = 13,
|
||||||
ROCK_CLASS,
|
ROCK_CLASS = 14,
|
||||||
BALL_CLASS,
|
BALL_CLASS = 15,
|
||||||
CHAIN_CLASS,
|
CHAIN_CLASS = 16,
|
||||||
VENOM_CLASS,
|
VENOM_CLASS = 17,
|
||||||
|
|
||||||
MAXOCLASSES
|
MAXOCLASSES = 18
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ALLOW_COUNT (MAXOCLASSES + 1) /* Can be used in the object class */
|
#define ALLOW_COUNT (MAXOCLASSES + 1) /* Can be used in the object class */
|
||||||
|
|||||||
368
include/rm.h
368
include/rm.h
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 rm.h $NHDT-Date: 1543052680 2018/11/24 09:44:40 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.59 $ */
|
/* NetHack 3.6 rm.h $NHDT-Date: 1547255911 2019/01/12 01:18:31 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.60 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Pasi Kallinen, 2017. */
|
/*-Copyright (c) Pasi Kallinen, 2017. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -17,18 +17,18 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TLCORNER TDWALL TRCORNER
|
* TLCORNER TDWALL TRCORNER
|
||||||
* +- -+- -+
|
* +- -+- -+
|
||||||
* | | |
|
* | | |
|
||||||
*
|
*
|
||||||
* TRWALL CROSSWALL TLWALL HWALL
|
* TRWALL CROSSWALL TLWALL HWALL
|
||||||
* | | |
|
* | | |
|
||||||
* +- -+- -+ ---
|
* +- -+- -+ ---
|
||||||
* | | |
|
* | | |
|
||||||
*
|
*
|
||||||
* BLCORNER TUWALL BRCORNER VWALL
|
* BLCORNER TUWALL BRCORNER VWALL
|
||||||
* | | | |
|
* | | | |
|
||||||
* +- -+- -+ |
|
* +- -+- -+ |
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Level location types. [Some debugging code in src/display.c
|
/* Level location types. [Some debugging code in src/display.c
|
||||||
@@ -36,44 +36,44 @@
|
|||||||
these, so needs to be kept in sync if any new types are added
|
these, so needs to be kept in sync if any new types are added
|
||||||
or existing ones renumbered.] */
|
or existing ones renumbered.] */
|
||||||
enum levl_typ_types {
|
enum levl_typ_types {
|
||||||
STONE = 0,
|
STONE = 0,
|
||||||
VWALL,
|
VWALL = 1,
|
||||||
HWALL,
|
HWALL = 2,
|
||||||
TLCORNER,
|
TLCORNER = 3,
|
||||||
TRCORNER,
|
TRCORNER = 4,
|
||||||
BLCORNER,
|
BLCORNER = 5,
|
||||||
BRCORNER,
|
BRCORNER = 6,
|
||||||
CROSSWALL, /* For pretty mazes and special levels */
|
CROSSWALL = 7, /* For pretty mazes and special levels */
|
||||||
TUWALL,
|
TUWALL = 8,
|
||||||
TDWALL,
|
TDWALL = 9,
|
||||||
TLWALL,
|
TLWALL = 10,
|
||||||
TRWALL,
|
TRWALL = 11,
|
||||||
DBWALL,
|
DBWALL = 12,
|
||||||
TREE, /* KMH */
|
TREE = 13, /* KMH */
|
||||||
SDOOR,
|
SDOOR = 14,
|
||||||
SCORR,
|
SCORR = 15,
|
||||||
POOL,
|
POOL = 16,
|
||||||
MOAT, /* pool that doesn't boil, adjust messages */
|
MOAT = 17, /* pool that doesn't boil, adjust messages */
|
||||||
WATER,
|
WATER = 18,
|
||||||
DRAWBRIDGE_UP,
|
DRAWBRIDGE_UP = 19,
|
||||||
LAVAPOOL,
|
LAVAPOOL = 20,
|
||||||
IRONBARS, /* KMH */
|
IRONBARS = 21, /* KMH */
|
||||||
DOOR,
|
DOOR = 22,
|
||||||
CORR,
|
CORR = 23,
|
||||||
ROOM,
|
ROOM = 24,
|
||||||
STAIRS,
|
STAIRS = 25,
|
||||||
LADDER,
|
LADDER = 26,
|
||||||
FOUNTAIN,
|
FOUNTAIN = 27,
|
||||||
THRONE,
|
THRONE = 28,
|
||||||
SINK,
|
SINK = 29,
|
||||||
GRAVE,
|
GRAVE = 30,
|
||||||
ALTAR,
|
ALTAR = 31,
|
||||||
ICE,
|
ICE = 32,
|
||||||
DRAWBRIDGE_DOWN,
|
DRAWBRIDGE_DOWN = 33,
|
||||||
AIR,
|
AIR = 34,
|
||||||
CLOUD,
|
CLOUD = 35,
|
||||||
|
|
||||||
MAX_TYPE,
|
MAX_TYPE = 36,
|
||||||
INVALID_TYPE = 127
|
INVALID_TYPE = 127
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -114,121 +114,121 @@ enum levl_typ_types {
|
|||||||
|
|
||||||
/* begin dungeon characters */
|
/* begin dungeon characters */
|
||||||
enum screen_symbols {
|
enum screen_symbols {
|
||||||
S_stone = 0,
|
S_stone = 0,
|
||||||
S_vwall,
|
S_vwall = 1,
|
||||||
S_hwall,
|
S_hwall = 2,
|
||||||
S_tlcorn,
|
S_tlcorn = 3,
|
||||||
S_trcorn,
|
S_trcorn = 4,
|
||||||
S_blcorn,
|
S_blcorn = 5,
|
||||||
S_brcorn,
|
S_brcorn = 6,
|
||||||
S_crwall,
|
S_crwall = 7,
|
||||||
S_tuwall,
|
S_tuwall = 8,
|
||||||
S_tdwall,
|
S_tdwall = 9,
|
||||||
S_tlwall,
|
S_tlwall = 10,
|
||||||
S_trwall,
|
S_trwall = 11,
|
||||||
S_ndoor,
|
S_ndoor = 12,
|
||||||
S_vodoor,
|
S_vodoor = 13,
|
||||||
S_hodoor,
|
S_hodoor = 14,
|
||||||
S_vcdoor, /* closed door, vertical wall */
|
S_vcdoor = 15, /* closed door, vertical wall */
|
||||||
S_hcdoor, /* closed door, horizontal wall */
|
S_hcdoor = 16, /* closed door, horizontal wall */
|
||||||
S_bars, /* KMH -- iron bars */
|
S_bars = 17, /* KMH -- iron bars */
|
||||||
S_tree, /* KMH */
|
S_tree = 18, /* KMH */
|
||||||
S_room,
|
S_room = 19,
|
||||||
S_darkroom,
|
S_darkroom = 20,
|
||||||
S_corr,
|
S_corr = 21,
|
||||||
S_litcorr,
|
S_litcorr = 22,
|
||||||
S_upstair,
|
S_upstair = 23,
|
||||||
S_dnstair,
|
S_dnstair = 24,
|
||||||
S_upladder,
|
S_upladder = 25,
|
||||||
S_dnladder,
|
S_dnladder = 26,
|
||||||
S_altar,
|
S_altar = 27,
|
||||||
S_grave,
|
S_grave = 28,
|
||||||
S_throne,
|
S_throne = 29,
|
||||||
S_sink,
|
S_sink = 30,
|
||||||
S_fountain,
|
S_fountain = 31,
|
||||||
S_pool,
|
S_pool = 32,
|
||||||
S_ice,
|
S_ice = 33,
|
||||||
S_lava,
|
S_lava = 34,
|
||||||
S_vodbridge,
|
S_vodbridge = 35,
|
||||||
S_hodbridge,
|
S_hodbridge = 36,
|
||||||
S_vcdbridge, /* closed drawbridge, vertical wall */
|
S_vcdbridge = 37, /* closed drawbridge, vertical wall */
|
||||||
S_hcdbridge, /* closed drawbridge, horizontal wall */
|
S_hcdbridge = 38, /* closed drawbridge, horizontal wall */
|
||||||
S_air,
|
S_air = 39,
|
||||||
S_cloud,
|
S_cloud = 40,
|
||||||
S_water,
|
S_water = 41,
|
||||||
|
|
||||||
/* end dungeon characters, begin traps */
|
/* end dungeon characters, begin traps */
|
||||||
|
|
||||||
S_arrow_trap,
|
S_arrow_trap = 42,
|
||||||
S_dart_trap,
|
S_dart_trap = 43,
|
||||||
S_falling_rock_trap,
|
S_falling_rock_trap = 44,
|
||||||
S_squeaky_board,
|
S_squeaky_board = 45,
|
||||||
S_bear_trap,
|
S_bear_trap = 46,
|
||||||
S_land_mine,
|
S_land_mine = 47,
|
||||||
S_rolling_boulder_trap,
|
S_rolling_boulder_trap = 48,
|
||||||
S_sleeping_gas_trap,
|
S_sleeping_gas_trap = 49,
|
||||||
S_rust_trap,
|
S_rust_trap = 50,
|
||||||
S_fire_trap,
|
S_fire_trap = 51,
|
||||||
S_pit,
|
S_pit = 52,
|
||||||
S_spiked_pit,
|
S_spiked_pit = 53,
|
||||||
S_hole,
|
S_hole = 54,
|
||||||
S_trap_door,
|
S_trap_door = 55,
|
||||||
S_teleportation_trap,
|
S_teleportation_trap = 56,
|
||||||
S_level_teleporter,
|
S_level_teleporter = 57,
|
||||||
S_magic_portal,
|
S_magic_portal = 58,
|
||||||
S_web,
|
S_web = 59,
|
||||||
S_statue_trap,
|
S_statue_trap = 60,
|
||||||
S_magic_trap,
|
S_magic_trap = 61,
|
||||||
S_anti_magic_trap,
|
S_anti_magic_trap = 62,
|
||||||
S_polymorph_trap,
|
S_polymorph_trap = 63,
|
||||||
S_vibrating_square,
|
S_vibrating_square = 64, /* for display rather than any trap effect */
|
||||||
|
|
||||||
/* end traps, begin special effects */
|
/* end traps, begin special effects */
|
||||||
|
|
||||||
S_vbeam, /* The 4 zap beam symbols. Do NOT separate. */
|
S_vbeam = 65, /* The 4 zap beam symbols. Do NOT separate. */
|
||||||
S_hbeam, /* To change order or add, see function */
|
S_hbeam = 66, /* To change order or add, see function */
|
||||||
S_lslant, /* zapdir_to_glyph() in display.c. */
|
S_lslant = 67, /* zapdir_to_glyph() in display.c. */
|
||||||
S_rslant,
|
S_rslant = 68,
|
||||||
S_digbeam, /* dig beam symbol */
|
S_digbeam = 69, /* dig beam symbol */
|
||||||
S_flashbeam, /* camera flash symbol */
|
S_flashbeam = 70, /* camera flash symbol */
|
||||||
S_boomleft, /* thrown boomerang, open left, e.g ')' */
|
S_boomleft = 71, /* thrown boomerang, open left, e.g ')' */
|
||||||
S_boomright, /* thrown boomerang, open right, e.g. '(' */
|
S_boomright = 72, /* thrown boomerang, open right, e.g. '(' */
|
||||||
S_ss1, /* 4 magic shield glyphs */
|
S_ss1 = 73, /* 4 magic shield ("resistance sparkle") glyphs */
|
||||||
S_ss2,
|
S_ss2 = 74,
|
||||||
S_ss3,
|
S_ss3 = 75,
|
||||||
S_ss4,
|
S_ss4 = 76,
|
||||||
S_poisoncloud,
|
S_poisoncloud = 77,
|
||||||
S_goodpos, /* valid position for targeting */
|
S_goodpos = 78, /* valid position for targeting via getpos() */
|
||||||
|
|
||||||
/* The 8 swallow symbols. Do NOT separate. To change order or add, see */
|
/* The 8 swallow symbols. Do NOT separate. To change order or add, */
|
||||||
/* the function swallow_to_glyph() in display.c. */
|
/* see the function swallow_to_glyph() in display.c. */
|
||||||
S_sw_tl, /* swallow top left [1] */
|
S_sw_tl = 79, /* swallow top left [1] */
|
||||||
S_sw_tc, /* swallow top center [2] Order: */
|
S_sw_tc = 80, /* swallow top center [2] Order: */
|
||||||
S_sw_tr, /* swallow top right [3] */
|
S_sw_tr = 81, /* swallow top right [3] */
|
||||||
S_sw_ml, /* swallow middle left [4] 1 2 3 */
|
S_sw_ml = 82, /* swallow middle left [4] 1 2 3 */
|
||||||
S_sw_mr, /* swallow middle right [6] 4 5 6 */
|
S_sw_mr = 83, /* swallow middle right [6] 4 5 6 */
|
||||||
S_sw_bl, /* swallow bottom left [7] 7 8 9 */
|
S_sw_bl = 84, /* swallow bottom left [7] 7 8 9 */
|
||||||
S_sw_bc, /* swallow bottom center [8] */
|
S_sw_bc = 85, /* swallow bottom center [8] */
|
||||||
S_sw_br, /* swallow bottom right [9] */
|
S_sw_br = 86, /* swallow bottom right [9] */
|
||||||
|
|
||||||
S_explode1, /* explosion top left */
|
S_explode1 = 87, /* explosion top left */
|
||||||
S_explode2, /* explosion top center */
|
S_explode2 = 88, /* explosion top center */
|
||||||
S_explode3, /* explosion top right Ex. */
|
S_explode3 = 89, /* explosion top right Ex. */
|
||||||
S_explode4, /* explosion middle left */
|
S_explode4 = 90, /* explosion middle left */
|
||||||
S_explode5, /* explosion middle center /-\ */
|
S_explode5 = 91, /* explosion middle center /-\ */
|
||||||
S_explode6, /* explosion middle right |@| */
|
S_explode6 = 92, /* explosion middle right |@| */
|
||||||
S_explode7, /* explosion bottom left \-/ */
|
S_explode7 = 93, /* explosion bottom left \-/ */
|
||||||
S_explode8, /* explosion bottom center */
|
S_explode8 = 94, /* explosion bottom center */
|
||||||
S_explode9, /* explosion bottom right */
|
S_explode9 = 95, /* explosion bottom right */
|
||||||
|
|
||||||
/* end effects */
|
/* end effects */
|
||||||
|
|
||||||
MAXPCHARS /* maximum number of mapped characters */
|
MAXPCHARS = 96 /* maximum number of mapped characters */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAXDCHARS (S_water - S_stone + 1) /* maximum of mapped dungeon characters */
|
#define MAXDCHARS (S_water - S_stone + 1) /* mapped dungeon characters */
|
||||||
#define MAXTCHARS (S_vibrating_square - S_arrow_trap + 1) /* maximum of mapped trap characters */
|
#define MAXTCHARS (S_vibrating_square - S_arrow_trap + 1) /* trap chars */
|
||||||
#define MAXECHARS (S_explode9 - S_vbeam + 1) /* maximum of mapped effects characters */
|
#define MAXECHARS (S_explode9 - S_vbeam + 1) /* mapped effects characters */
|
||||||
#define MAXEXPCHARS 9 /* number of explosion characters */
|
#define MAXEXPCHARS 9 /* number of explosion characters */
|
||||||
|
|
||||||
#define DARKROOMSYM (Is_rogue_level(&u.uz) ? S_stone : S_darkroom)
|
#define DARKROOMSYM (Is_rogue_level(&u.uz) ? S_stone : S_darkroom)
|
||||||
@@ -445,30 +445,30 @@ struct rm {
|
|||||||
*
|
*
|
||||||
* The following should cover all of the cases.
|
* The following should cover all of the cases.
|
||||||
*
|
*
|
||||||
* type mode Examples: R=rock, F=finished
|
* type mode Examples: R=rock, F=finished
|
||||||
* ----- ---- ----------------------------
|
* ----- ---- ----------------------------
|
||||||
* WALL: 0 none hwall, mode 1
|
* WALL: 0 none hwall, mode 1
|
||||||
* 1 left/top (1/2 rock) RRR
|
* 1 left/top (1/2 rock) RRR
|
||||||
* 2 right/bottom (1/2 rock) ---
|
* 2 right/bottom (1/2 rock) ---
|
||||||
* FFF
|
* FFF
|
||||||
*
|
*
|
||||||
* CORNER: 0 none trcorn, mode 2
|
* CORNER: 0 none trcorn, mode 2
|
||||||
* 1 outer (3/4 rock) FFF
|
* 1 outer (3/4 rock) FFF
|
||||||
* 2 inner (1/4 rock) F+-
|
* 2 inner (1/4 rock) F+-
|
||||||
* F|R
|
* F|R
|
||||||
*
|
*
|
||||||
* TWALL: 0 none tlwall, mode 3
|
* TWALL: 0 none tlwall, mode 3
|
||||||
* 1 long edge (1/2 rock) F|F
|
* 1 long edge (1/2 rock) F|F
|
||||||
* 2 bottom left (on a tdwall) -+F
|
* 2 bottom left (on a tdwall) -+F
|
||||||
* 3 bottom right (on a tdwall) R|F
|
* 3 bottom right (on a tdwall) R|F
|
||||||
*
|
*
|
||||||
* CRWALL: 0 none crwall, mode 5
|
* CRWALL: 0 none crwall, mode 5
|
||||||
* 1 top left (1/4 rock) R|F
|
* 1 top left (1/4 rock) R|F
|
||||||
* 2 top right (1/4 rock) -+-
|
* 2 top right (1/4 rock) -+-
|
||||||
* 3 bottom left (1/4 rock) F|R
|
* 3 bottom left (1/4 rock) F|R
|
||||||
* 4 bottom right (1/4 rock)
|
* 4 bottom right (1/4 rock)
|
||||||
* 5 top left & bottom right (1/2 rock)
|
* 5 top left & bottom right (1/2 rock)
|
||||||
* 6 bottom left & top right (1/2 rock)
|
* 6 bottom left & top right (1/2 rock)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define WM_W_LEFT 1 /* vertical or horizontal wall */
|
#define WM_W_LEFT 1 /* vertical or horizontal wall */
|
||||||
@@ -491,25 +491,25 @@ struct rm {
|
|||||||
#define WM_X_BLTR 6
|
#define WM_X_BLTR 6
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Seen vector values. The seen vector is an array of 8 bits, one for each
|
* Seen vector values. The seen vector is an array of 8 bits, one for each
|
||||||
* octant around a given center x:
|
* octant around a given center x:
|
||||||
*
|
*
|
||||||
* 0 1 2
|
* 0 1 2
|
||||||
* 7 x 3
|
* 7 x 3
|
||||||
* 6 5 4
|
* 6 5 4
|
||||||
*
|
*
|
||||||
* In the case of walls, a single wall square can be viewed from 8 possible
|
* In the case of walls, a single wall square can be viewed from 8 possible
|
||||||
* directions. If we know the type of wall and the directions from which
|
* directions. If we know the type of wall and the directions from which
|
||||||
* it has been seen, then we can determine what it looks like to the hero.
|
* it has been seen, then we can determine what it looks like to the hero.
|
||||||
*/
|
*/
|
||||||
#define SV0 0x1
|
#define SV0 0x01
|
||||||
#define SV1 0x2
|
#define SV1 0x02
|
||||||
#define SV2 0x4
|
#define SV2 0x04
|
||||||
#define SV3 0x8
|
#define SV3 0x08
|
||||||
#define SV4 0x10
|
#define SV4 0x10
|
||||||
#define SV5 0x20
|
#define SV5 0x20
|
||||||
#define SV6 0x40
|
#define SV6 0x40
|
||||||
#define SV7 0x80
|
#define SV7 0x80
|
||||||
#define SVALL 0xFF
|
#define SVALL 0xFF
|
||||||
|
|
||||||
#define doormask flags
|
#define doormask flags
|
||||||
|
|||||||
100
include/skills.h
100
include/skills.h
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 skills.h $NHDT-Date: 1432512778 2015/05/25 00:12:58 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $ */
|
/* NetHack 3.6 skills.h $NHDT-Date: 1547255911 2019/01/12 01:18:31 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.15 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985-1999. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985-1999. */
|
||||||
/*-Copyright (c) Pasi Kallinen, 2017. */
|
/*-Copyright (c) Pasi Kallinen, 2017. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -21,50 +21,50 @@ enum p_skills {
|
|||||||
* Update weapon.c if you amend any skills.
|
* Update weapon.c if you amend any skills.
|
||||||
* Also used for oc_subtyp.
|
* Also used for oc_subtyp.
|
||||||
*/
|
*/
|
||||||
P_DAGGER,
|
P_DAGGER = 1,
|
||||||
P_KNIFE,
|
P_KNIFE = 2,
|
||||||
P_AXE,
|
P_AXE = 3,
|
||||||
P_PICK_AXE,
|
P_PICK_AXE = 4,
|
||||||
P_SHORT_SWORD,
|
P_SHORT_SWORD = 5,
|
||||||
P_BROAD_SWORD,
|
P_BROAD_SWORD = 6,
|
||||||
P_LONG_SWORD,
|
P_LONG_SWORD = 7,
|
||||||
P_TWO_HANDED_SWORD,
|
P_TWO_HANDED_SWORD = 8,
|
||||||
P_SCIMITAR,
|
P_SCIMITAR = 9,
|
||||||
P_SABER,
|
P_SABER = 10,
|
||||||
P_CLUB, /* Heavy-shafted bludgeon */
|
P_CLUB = 11, /* Heavy-shafted bludgeon */
|
||||||
P_MACE,
|
P_MACE = 12,
|
||||||
P_MORNING_STAR, /* Spiked bludgeon */
|
P_MORNING_STAR = 13, /* Spiked bludgeon */
|
||||||
P_FLAIL, /* Two pieces hinged or chained together */
|
P_FLAIL = 14, /* Two pieces hinged or chained together */
|
||||||
P_HAMMER, /* Heavy head on the end */
|
P_HAMMER = 15, /* Heavy head on the end */
|
||||||
P_QUARTERSTAFF, /* Long-shafted bludgeon */
|
P_QUARTERSTAFF = 16, /* Long-shafted bludgeon */
|
||||||
P_POLEARMS,
|
P_POLEARMS = 17, /* attack two or three steps away */
|
||||||
P_SPEAR, /* includes javelin */
|
P_SPEAR = 18, /* includes javelin */
|
||||||
P_TRIDENT,
|
P_TRIDENT = 19,
|
||||||
P_LANCE,
|
P_LANCE = 20,
|
||||||
P_BOW,
|
P_BOW = 21, /* launchers */
|
||||||
P_SLING,
|
P_SLING = 22,
|
||||||
P_CROSSBOW,
|
P_CROSSBOW = 23,
|
||||||
P_DART,
|
P_DART = 24, /* hand-thrown missiles */
|
||||||
P_SHURIKEN,
|
P_SHURIKEN = 25,
|
||||||
P_BOOMERANG,
|
P_BOOMERANG = 26,
|
||||||
P_WHIP,
|
P_WHIP = 27, /* flexible, one-handed */
|
||||||
P_UNICORN_HORN, /* last weapon */
|
P_UNICORN_HORN = 28, /* last weapon, two-handed */
|
||||||
|
|
||||||
/* Spell Skills added by Larry Stewart-Zerba */
|
/* Spell Skills added by Larry Stewart-Zerba */
|
||||||
P_ATTACK_SPELL,
|
P_ATTACK_SPELL = 29,
|
||||||
P_HEALING_SPELL,
|
P_HEALING_SPELL = 30,
|
||||||
P_DIVINATION_SPELL,
|
P_DIVINATION_SPELL = 31,
|
||||||
P_ENCHANTMENT_SPELL,
|
P_ENCHANTMENT_SPELL = 32,
|
||||||
P_CLERIC_SPELL,
|
P_CLERIC_SPELL = 33,
|
||||||
P_ESCAPE_SPELL,
|
P_ESCAPE_SPELL = 34,
|
||||||
P_MATTER_SPELL,
|
P_MATTER_SPELL = 35,
|
||||||
|
|
||||||
/* Other types of combat */
|
/* Other types of combat */
|
||||||
P_BARE_HANDED_COMBAT, /* actually weaponless; gloves are ok */
|
P_BARE_HANDED_COMBAT = 36, /* actually weaponless; gloves are ok */
|
||||||
P_TWO_WEAPON_COMBAT,
|
P_TWO_WEAPON_COMBAT = 37, /* pair of weapons, one in each hand */
|
||||||
P_RIDING, /* How well you control your steed */
|
P_RIDING = 38, /* How well you control your steed */
|
||||||
|
|
||||||
P_NUM_SKILLS
|
P_NUM_SKILLS = 39
|
||||||
};
|
};
|
||||||
|
|
||||||
#define P_MARTIAL_ARTS P_BARE_HANDED_COMBAT /* Role distinguishes */
|
#define P_MARTIAL_ARTS P_BARE_HANDED_COMBAT /* Role distinguishes */
|
||||||
@@ -89,13 +89,19 @@ enum p_skills {
|
|||||||
* a value of 0 needed.
|
* a value of 0 needed.
|
||||||
*/
|
*/
|
||||||
enum skill_levels {
|
enum skill_levels {
|
||||||
P_ISRESTRICTED = 0,
|
P_ISRESTRICTED = 0, /* unskilled and can't be advanced */
|
||||||
P_UNSKILLED,
|
P_UNSKILLED = 1, /* unskilled so far but can be advanced */
|
||||||
P_BASIC,
|
/* Skill levels Basic/Advanced/Expert had long been used by
|
||||||
P_SKILLED,
|
Heroes of Might and Magic (tm) and its sequels... */
|
||||||
P_EXPERT,
|
P_BASIC = 2,
|
||||||
P_MASTER, /* Unarmed combat/martial arts only */
|
P_SKILLED = 3,
|
||||||
P_GRAND_MASTER /* Unarmed combat/martial arts only */
|
P_EXPERT = 4,
|
||||||
|
/* when the skill system was adopted into nethack, levels beyond expert
|
||||||
|
were unnamed and just used numbers. Devteam coined them Master and
|
||||||
|
Grand Master. Sometime after that, Heroes of Might and Magic IV (tm)
|
||||||
|
was released and had two more levels which use these same names. */
|
||||||
|
P_MASTER = 5, /* Unarmed combat/martial arts only */
|
||||||
|
P_GRAND_MASTER = 6 /* ditto */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define practice_needed_to_advance(level) ((level) * (level) *20)
|
#define practice_needed_to_advance(level) ((level) * (level) *20)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 trap.h $NHDT-Date: 1432512776 2015/05/25 00:12:56 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ */
|
/* NetHack 3.6 trap.h $NHDT-Date: 1547255912 2019/01/12 01:18:32 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.17 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Pasi Kallinen, 2016. */
|
/*-Copyright (c) Pasi Kallinen, 2016. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -24,7 +24,7 @@ struct trap {
|
|||||||
Bitfield(tseen, 1);
|
Bitfield(tseen, 1);
|
||||||
Bitfield(once, 1);
|
Bitfield(once, 1);
|
||||||
Bitfield(madeby_u, 1); /* So monsters may take offence when you trap
|
Bitfield(madeby_u, 1); /* So monsters may take offence when you trap
|
||||||
them. Recognizing who made the trap isn't
|
them. Recognizing who made the trap isn't
|
||||||
completely unreasonable, everybody has
|
completely unreasonable, everybody has
|
||||||
their own style. This flag is also needed
|
their own style. This flag is also needed
|
||||||
when you untrap a monster. It would be too
|
when you untrap a monster. It would be too
|
||||||
@@ -54,32 +54,32 @@ struct trap {
|
|||||||
|
|
||||||
/* unconditional traps */
|
/* unconditional traps */
|
||||||
enum trap_types {
|
enum trap_types {
|
||||||
NO_TRAP = 0,
|
NO_TRAP = 0,
|
||||||
ARROW_TRAP,
|
ARROW_TRAP = 1,
|
||||||
DART_TRAP,
|
DART_TRAP = 2,
|
||||||
ROCKTRAP,
|
ROCKTRAP = 3,
|
||||||
SQKY_BOARD,
|
SQKY_BOARD = 4,
|
||||||
BEAR_TRAP,
|
BEAR_TRAP = 5,
|
||||||
LANDMINE,
|
LANDMINE = 6,
|
||||||
ROLLING_BOULDER_TRAP,
|
ROLLING_BOULDER_TRAP = 7,
|
||||||
SLP_GAS_TRAP,
|
SLP_GAS_TRAP = 8,
|
||||||
RUST_TRAP,
|
RUST_TRAP = 9,
|
||||||
FIRE_TRAP,
|
FIRE_TRAP = 10,
|
||||||
PIT,
|
PIT = 11,
|
||||||
SPIKED_PIT,
|
SPIKED_PIT = 12,
|
||||||
HOLE,
|
HOLE = 13,
|
||||||
TRAPDOOR,
|
TRAPDOOR = 14,
|
||||||
TELEP_TRAP,
|
TELEP_TRAP = 15,
|
||||||
LEVEL_TELEP,
|
LEVEL_TELEP = 16,
|
||||||
MAGIC_PORTAL,
|
MAGIC_PORTAL = 17,
|
||||||
WEB,
|
WEB = 18,
|
||||||
STATUE_TRAP,
|
STATUE_TRAP = 19,
|
||||||
MAGIC_TRAP,
|
MAGIC_TRAP = 20,
|
||||||
ANTI_MAGIC,
|
ANTI_MAGIC = 21,
|
||||||
POLY_TRAP,
|
POLY_TRAP = 22,
|
||||||
VIBRATING_SQUARE,
|
VIBRATING_SQUARE = 23,
|
||||||
|
|
||||||
TRAPNUM
|
TRAPNUM = 24
|
||||||
};
|
};
|
||||||
|
|
||||||
#define is_pit(ttyp) ((ttyp) == PIT || (ttyp) == SPIKED_PIT)
|
#define is_pit(ttyp) ((ttyp) == PIT || (ttyp) == SPIKED_PIT)
|
||||||
|
|||||||
Reference in New Issue
Block a user