Wielding Trollsbane prevents trolls from reviving
This commit is contained in:
@@ -351,6 +351,7 @@ pets start with apport equal to your charisma
|
|||||||
sometimes generate the random mazes with wide corridors, thick walls,
|
sometimes generate the random mazes with wide corridors, thick walls,
|
||||||
or with dead ends changed to loops
|
or with dead ends changed to loops
|
||||||
put throne room gold in the chest
|
put throne room gold in the chest
|
||||||
|
wielding Trollsbane prevents trolls from reviving
|
||||||
|
|
||||||
|
|
||||||
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
|
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
+17
-12
@@ -9,10 +9,12 @@
|
|||||||
typedef void FDECL((*timeout_proc), (ANY_P *, long));
|
typedef void FDECL((*timeout_proc), (ANY_P *, long));
|
||||||
|
|
||||||
/* kind of timer */
|
/* kind of timer */
|
||||||
#define TIMER_LEVEL 0 /* event specific to level */
|
enum timer_type {
|
||||||
#define TIMER_GLOBAL 1 /* event follows current play */
|
TIMER_LEVEL = 0, /* event specific to level */
|
||||||
#define TIMER_OBJECT 2 /* event follows a object */
|
TIMER_GLOBAL, /* event follows current play */
|
||||||
#define TIMER_MONSTER 3 /* event follows a monster */
|
TIMER_OBJECT, /* event follows a object */
|
||||||
|
TIMER_MONSTER /* event follows a monster */
|
||||||
|
};
|
||||||
|
|
||||||
/* save/restore timer ranges */
|
/* save/restore timer ranges */
|
||||||
#define RANGE_LEVEL 0 /* save/restore timers staying on level */
|
#define RANGE_LEVEL 0 /* save/restore timers staying on level */
|
||||||
@@ -22,14 +24,17 @@ typedef void FDECL((*timeout_proc), (ANY_P *, long));
|
|||||||
* Timeout functions. Add a define here, then put it in the table
|
* Timeout functions. Add a define here, then put it in the table
|
||||||
* in timeout.c. "One more level of indirection will fix everything."
|
* in timeout.c. "One more level of indirection will fix everything."
|
||||||
*/
|
*/
|
||||||
#define ROT_ORGANIC 0 /* for buried organics */
|
enum timeout_types {
|
||||||
#define ROT_CORPSE 1
|
ROT_ORGANIC = 0, /* for buried organics */
|
||||||
#define REVIVE_MON 2
|
ROT_CORPSE,
|
||||||
#define BURN_OBJECT 3
|
REVIVE_MON,
|
||||||
#define HATCH_EGG 4
|
BURN_OBJECT,
|
||||||
#define FIG_TRANSFORM 5
|
HATCH_EGG,
|
||||||
#define MELT_ICE_AWAY 6
|
FIG_TRANSFORM,
|
||||||
#define NUM_TIME_FUNCS 7
|
MELT_ICE_AWAY,
|
||||||
|
|
||||||
|
NUM_TIME_FUNCS
|
||||||
|
};
|
||||||
|
|
||||||
/* used in timeout.c */
|
/* used in timeout.c */
|
||||||
typedef struct fe {
|
typedef struct fe {
|
||||||
|
|||||||
@@ -748,7 +748,9 @@ boolean by_hero;
|
|||||||
x = xy.x, y = xy.y;
|
x = xy.x, y = xy.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mons[montype].mlet == S_EEL && !IS_POOL(levl[x][y].typ)) {
|
if ((mons[montype].mlet == S_EEL && !IS_POOL(levl[x][y].typ))
|
||||||
|
|| (mons[montype].mlet == S_TROLL
|
||||||
|
&& uwep && uwep->oartifact == ART_TROLLSBANE)) {
|
||||||
if (by_hero && cansee(x,y))
|
if (by_hero && cansee(x,y))
|
||||||
pline("%s twitches feebly.",
|
pline("%s twitches feebly.",
|
||||||
upstart(corpse_xname(corpse, (const char *) 0, CXN_PFX_THE)));
|
upstart(corpse_xname(corpse, (const char *) 0, CXN_PFX_THE)));
|
||||||
|
|||||||
Reference in New Issue
Block a user