starting the game without a pet

Incorporate a slightly cleaned up version of <Someone>'s patch to enable a
"pettype:none" startup option that allows one to start the game without a pet.
This commit is contained in:
cohrs
2002-01-20 21:05:29 +00:00
parent ce63457151
commit 7a634884b4
7 changed files with 16 additions and 7 deletions

View File

@@ -184,7 +184,7 @@ name the name of your character [obtained by asking the system or
objects like dungeon, but for object symbols
default: ])[="(%!?+/$*`0_.
pettype your preferred type of pet (cat or dog), if your character
class uses both types [RANDOM]
class uses both types; or none for no pet [RANDOM]
race Your starting race (e.g., race:Human, race:Elf). [RANDOM]
role Your starting role (e.g., role:Barbarian, role:Valk).
Although you can specify just the first letter(s), it will

View File

@@ -1907,7 +1907,8 @@ If true, always display your current inventory in a window. This only
makes sense for windowing system interfaces that implement this feature.
.lp pettype
Specify the type of your initial pet, if you are playing a character class
that uses multiple types of pets. Possible values are ``cat'' and ``dog''.
that uses multiple types of pets; or choose to have no initial pet at all.
Possible values are ``cat'', ``dog'' and ``none''.
Cannot be set with the `O' command.
.lp pickup_burden
When you pick up an item that would exceed this encumbrance

View File

@@ -2349,8 +2349,8 @@ makes sense for windowing system interfaces that implement this feature.
%.lp
\item[\ib{pettype}]
Specify the type of your initial pet, if you are playing a character class
that uses multiple types of pets. Possible values are ``{\tt cat}''
and ``{\tt dog}''.
that uses multiple types of pets; or choose to have no initial pet at all.
Possible values are ``{\tt cat}'', ``{\tt dog}'' and ``{\tt none}''.
Cannot be set with the `{\tt O}' command.
%.Ip
\item[\ib{pickup\_burden}]

View File

@@ -495,6 +495,7 @@ add new Gnomish Mines levels from Kelly Bailey's patch
jousting by players wielding a lance while riding
when reading spellbooks, don't "continue studying" wrong book if original one
gets destroyed after previous reading attempt has been interrupted
can start game without a pet via pettype:none (Dylan O'Donnell)
Platform- and/or Interface-Specific New Features

View File

@@ -195,7 +195,7 @@ NEARDATA struct obj zeroobj = DUMMY;
NEARDATA char dogname[PL_PSIZ] = DUMMY;
NEARDATA char catname[PL_PSIZ] = DUMMY;
NEARDATA char horsename[PL_PSIZ] = DUMMY;
char preferred_pet; /* '\0', 'c', 'd' */
char preferred_pet; /* '\0', 'c', 'd', 'n' (none) */
/* monsters that went down/up together with @ */
NEARDATA struct monst *mydogs = (struct monst *)0;
/* monsters that are moving to another dungeon level */

View File

@@ -119,6 +119,8 @@ makedog()
int pettype;
static int petname_used = 0;
if (preferred_pet == 'n') return((struct monst *) 0);
pettype = pet_type();
if (pettype == PM_LITTLE_DOG)
petname = dogname;

View File

@@ -1058,11 +1058,15 @@ boolean tinitial, tfrom_file;
case 'F':
preferred_pet = 'c';
break;
case 'n': /* no pet */
case 'N':
preferred_pet = 'n';
break;
default:
pline("Unrecognized pet type '%s'", op);
break;
}
} else if (negated) preferred_pet = 0;
} else if (negated) preferred_pet = 'n';
return;
}
@@ -2262,7 +2266,8 @@ char *buf;
#endif
else if (!strcmp(optname, "pettype"))
Sprintf(buf, "%s", (preferred_pet == 'c') ? "cat" :
(preferred_pet == 'd') ? "dog" : "random" );
(preferred_pet == 'd') ? "dog" :
(preferred_pet == 'n') ? "none" : "random");
else if (!strcmp(optname, "pickup_burden"))
Sprintf(buf, "%s", burdentype[flags.pickup_burden] );
else if (!strcmp(optname, "pickup_types")) {