AC and obj->spe limits: +127/-128 -> +99/-99
Cap overall AC at -99 instead of -128. Put the same limit of 99 on enchantment and charge count of individual objects. ^X now reports if/when AC has reached its limit since players could see that reaching that limit and then enchanting worn items will change the worn items but not the total. (Same thing would have happened with -128, just without any explanation and less likely to accomplish.) Won't affect normal play for any reasonable definition of normal.
This commit is contained in:
@@ -40,16 +40,19 @@ struct obj {
|
||||
unsigned owt;
|
||||
long quan; /* number of items */
|
||||
|
||||
#define SPE_LIM 99 /* abs(obj->spe) <= 99, cap for enchanted and charged
|
||||
* objects (and others; named fruit index excepted) */
|
||||
schar spe; /* quality of weapon, weptool, armor or ring (+ or -);
|
||||
number of charges for wand or charged tool ( >= -1 );
|
||||
number of candles attached to candelabrum;
|
||||
marks your eggs, tin variety and spinach tins;
|
||||
candy bar wrapper index;
|
||||
Schroedinger's Box (1) or royal coffers for a court (2);
|
||||
tells which fruit a fruit is;
|
||||
special for uball and amulet;
|
||||
scroll of mail (normal==0, bones or wishing==1, written==2);
|
||||
historic and gender for statues */
|
||||
* number of charges for wand or charged tool ( >= -1 );
|
||||
* number of candles attached to candelabrum;
|
||||
* marks your eggs, tin variety and spinach tins;
|
||||
* candy bar wrapper index;
|
||||
* Schroedinger's Box (1) or royal coffers for a court (2);
|
||||
* tells which fruit a fruit is;
|
||||
* special for uball and amulet;
|
||||
* scroll of mail (normal==0, bones or wishing==1, written==2);
|
||||
* splash of venom (normal==0, wishing==1);
|
||||
* historic and gender for statues */
|
||||
#define STATUE_HISTORIC 0x01
|
||||
#define STATUE_MALE 0x02
|
||||
#define STATUE_FEMALE 0x04
|
||||
|
||||
@@ -93,7 +93,9 @@ enum achivements {
|
||||
ACH_NOVL = 20, /* read at least one passage from a Discworld novel */
|
||||
ACH_SOKO = 21, /* entered Sokoban */
|
||||
ACH_BGRM = 22, /* entered Bigroom (not guaranteed to be in every dgn) */
|
||||
/* 23..30 are negated if hero is female at the time new rank is gained */
|
||||
/* role's rank titles, beyond first (#0 at level one, not an achievement);
|
||||
23..30 are negated if hero is female at the time new rank is gained
|
||||
so that disclosing them can use the gender which applied at the time */
|
||||
ACH_RNK1 = 23, ACH_RNK2 = 24, ACH_RNK3 = 25, ACH_RNK4 = 26,
|
||||
ACH_RNK5 = 27, ACH_RNK6 = 28, ACH_RNK7 = 29, ACH_RNK8 = 30,
|
||||
/* foo=31, 1 available potential achievement; #32 currently off-limits */
|
||||
@@ -102,6 +104,8 @@ enum achivements {
|
||||
/*
|
||||
* Other potential achievements to track (this comment briefly resided
|
||||
* in encodeachieve(topten.c) and has been revised since moving here:
|
||||
* AC <= 0, AC <= -10, AC <= -20 (stop there; lower is better but
|
||||
* not something to encourage with achievements),
|
||||
* got quest summons,
|
||||
* entered quest branch,
|
||||
* chatted with leader,
|
||||
@@ -431,14 +435,18 @@ struct you {
|
||||
#define A_CURRENT 0
|
||||
aligntyp ualignbase[CONVERT]; /* for ualign conversion record */
|
||||
schar uluck, moreluck; /* luck and luck bonus */
|
||||
/* default u.uluck is 0 except on special days (full moon: +1, Fri 13: -1,
|
||||
both: 0); equilibrium for luck timeout is changed to those values,
|
||||
but Luck max and min stay at 10+3 and -10-3 even on those days */
|
||||
#define Luck (u.uluck + u.moreluck)
|
||||
#define LUCKADD 3 /* value of u.moreluck when carrying luck stone;
|
||||
+ when blessed or uncursed, - when cursed */
|
||||
#define LUCKMAX 10 /* maximum value of u.ulUck */
|
||||
* +3 when blessed or uncursed, -3 when cursed */
|
||||
#define LUCKMAX 10 /* maximum value of u.uluck */
|
||||
#define LUCKMIN (-10) /* minimum value of u.uluck */
|
||||
schar uhitinc;
|
||||
schar udaminc;
|
||||
schar uac;
|
||||
#define AC_MAX 99 /* abs(u.uac) <= 99; likewise for monster AC */
|
||||
uchar uspellprot; /* protection by SPE_PROTECTION */
|
||||
uchar usptime; /* #moves until uspellprot-- */
|
||||
uchar uspmtime; /* #moves between uspellprot-- */
|
||||
|
||||
Reference in New Issue
Block a user