Make TOURIST unconditional.

This commit is contained in:
Sean Hunt
2015-02-27 19:33:12 -05:00
parent 5ee71d2757
commit 260f7ea860
43 changed files with 27 additions and 351 deletions
-2
View File
@@ -215,13 +215,11 @@ A("The Tsurugi of Muramasa", TSURUGI,
PHYS(0,8), NO_DFNS, NO_CARY,
0, A_LAWFUL, PM_SAMURAI, NON_PM, 4500L ),
#ifdef TOURIST
A("The Platinum Yendorian Express Card", CREDIT_CARD,
(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_DEFN),
(SPFX_ESP|SPFX_HSPDAM), 0,
NO_ATTK, NO_DFNS, CARY(AD_MAGM),
CHARGE_OBJ, A_NEUTRAL, PM_TOURIST, NON_PM, 7000L ),
#endif
A("The Orb of Fate", CRYSTAL_BALL,
(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_LUCK),
-1
View File
@@ -423,7 +423,6 @@ typedef unsigned char uchar;
#define REINCARNATION /* Special Rogue-like levels */
/* monsters & objects */
#define SEDUCE /* Succubi/incubi seduction, by KAA, suggested by IM */
#define TOURIST /* Tourist players with cameras and Hawaiian shirts */
/* I/O */
#define REDO /* support for redoing last command - DGK */
#if !defined(MAC)
-2
View File
@@ -234,9 +234,7 @@ E uchar monsyms[MAXMCLASSES]; /* current class symbols */
#include "obj.h"
E NEARDATA struct obj *invent,
*uarm, *uarmc, *uarmh, *uarms, *uarmg, *uarmf,
#ifdef TOURIST
*uarmu, /* under-wear, so to speak */
#endif
*uskin, *uamul, *uleft, *uright, *ublindf,
*uwep, *uswapwep, *uquiver;
-2
View File
@@ -429,9 +429,7 @@ E int NDECL(Gloves_off);
E int NDECL(Boots_off);
E int NDECL(Cloak_off);
E int NDECL(Shield_off);
#ifdef TOURIST
E int NDECL(Shirt_off);
#endif
E void NDECL(Amulet_off);
E void FDECL(Ring_on, (struct obj *));
E void FDECL(Ring_off, (struct obj *));
-6
View File
@@ -96,12 +96,8 @@ struct prop {
# define W_ARMS 0x00000008L /* Shield */
# define W_ARMG 0x00000010L /* Gloves/gauntlets */
# define W_ARMF 0x00000020L /* Footwear */
#ifdef TOURIST
# define W_ARMU 0x00000040L /* Undershirt */
# define W_ARMOR (W_ARM | W_ARMC | W_ARMH | W_ARMS | W_ARMG | W_ARMF | W_ARMU)
#else
# define W_ARMOR (W_ARM | W_ARMC | W_ARMH | W_ARMS | W_ARMG | W_ARMF)
#endif
/* Weapons and artifacts */
# define W_WEP 0x00000100L /* Wielded weapon */
# define W_QUIVER 0x00000200L /* Quiver for (f)iring ammo */
@@ -149,8 +145,6 @@ struct prop {
#define WORN_BOOTS W_ARMF
#define WORN_AMUL W_AMUL
#define WORN_BLINDF W_TOOL
#ifdef TOURIST
#define WORN_SHIRT W_ARMU
#endif
#endif /* PROP_H */
-8
View File
@@ -7,9 +7,7 @@
extern boolean notonhead; /* for long worms */
#ifdef TOURIST
STATIC_DCL int FDECL(use_camera, (struct obj *));
#endif
STATIC_DCL int FDECL(use_towel, (struct obj *));
STATIC_DCL boolean FDECL(its_dead, (int,int,int *));
STATIC_DCL int FDECL(use_stethoscope, (struct obj *));
@@ -44,7 +42,6 @@ void FDECL( amii_speaker, ( struct obj *, char *, int ) );
static const char no_elbow_room[] = "don't have enough elbow-room to maneuver.";
#ifdef TOURIST
STATIC_OVL int
use_camera(obj)
struct obj *obj;
@@ -82,7 +79,6 @@ use_camera(obj)
}
return 1;
}
#endif
STATIC_OVL int
use_towel(obj)
@@ -3154,9 +3150,7 @@ doapply()
use_grease(obj);
break;
case LOCK_PICK:
#ifdef TOURIST
case CREDIT_CARD:
#endif
case SKELETON_KEY:
res = (pick_lock(obj) != 0);
break;
@@ -3223,11 +3217,9 @@ doapply()
case POT_OIL:
light_cocktail(obj);
break;
#ifdef TOURIST
case EXPENSIVE_CAMERA:
res = use_camera(obj);
break;
#endif
case TOWEL:
res = use_towel(obj);
break;
+1 -5
View File
@@ -1687,11 +1687,7 @@ long *abil;
long wornbits;
long wornmask = (W_ARM | W_ARMC | W_ARMH | W_ARMS | W_ARMG | W_ARMF |
W_WEP | W_QUIVER | W_SWAPWEP | W_ART | W_ARTI | W_AMUL |
W_RINGL | W_RINGR | W_TOOL | W_BALL | W_CHAIN | W_SADDLE
#ifdef TOURIST
| W_ARMU
#endif
);
W_RINGL | W_RINGR | W_TOOL | W_BALL | W_CHAIN | W_SADDLE | W_ARMU);
dtyp = abil_to_adtyp(abil);
spfx = abil_to_spfx(abil);
-4
View File
@@ -639,9 +639,7 @@ long frommask;
case PM_RANGER: abil = ran_abil; break;
case PM_ROGUE: abil = rog_abil; break;
case PM_SAMURAI: abil = sam_abil; break;
#ifdef TOURIST
case PM_TOURIST: abil = tou_abil; break;
#endif
case PM_VALKYRIE: abil = val_abil; break;
case PM_WIZARD: abil = wiz_abil; break;
default: break;
@@ -769,9 +767,7 @@ int oldlevel, newlevel;
case PM_RANGER: abil = ran_abil; break;
case PM_ROGUE: abil = rog_abil; break;
case PM_SAMURAI: abil = sam_abil; break;
#ifdef TOURIST
case PM_TOURIST: abil = tou_abil; break;
#endif
case PM_VALKYRIE: abil = val_abil; break;
case PM_WIZARD: abil = wiz_abil; break;
default: abil = 0; break;
-2
View File
@@ -150,9 +150,7 @@ NEARDATA struct obj *invent = (struct obj *)0,
*uwep = (struct obj *)0, *uarm = (struct obj *)0,
*uswapwep = (struct obj *)0,
*uquiver = (struct obj *)0, /* quiver */
#ifdef TOURIST
*uarmu = (struct obj *)0, /* under-wear, so to speak */
#endif
*uskin = (struct obj *)0, /* dragon armor, if a dragon */
*uarmc = (struct obj *)0, *uarmh = (struct obj *)0,
*uarms = (struct obj *)0, *uarmg = (struct obj *)0,
+9 -64
View File
@@ -9,9 +9,7 @@ static NEARDATA const char see_yourself[] = "see yourself";
static NEARDATA const char unknown_type[] = "Unknown type of %s (%d)";
static NEARDATA const char c_armor[] = "armor",
c_suit[] = "suit",
#ifdef TOURIST
c_shirt[] = "shirt",
#endif
c_cloak[] = "cloak",
c_gloves[] = "gloves",
c_boots[] = "boots",
@@ -24,11 +22,8 @@ static NEARDATA const char c_armor[] = "armor",
static NEARDATA const long takeoff_order[] = { WORN_BLINDF, W_WEP,
WORN_SHIELD, WORN_GLOVES, LEFT_RING, RIGHT_RING, WORN_CLOAK,
WORN_HELMET, WORN_AMUL, WORN_ARMOR,
#ifdef TOURIST
WORN_SHIRT,
#endif
WORN_BOOTS, W_SWAPWEP, W_QUIVER, 0L };
WORN_HELMET, WORN_AMUL, WORN_ARMOR, WORN_SHIRT, WORN_BOOTS, W_SWAPWEP,
W_QUIVER, 0L };
STATIC_DCL void FDECL(on_msg, (struct obj *));
STATIC_DCL void FDECL(toggle_stealth, (struct obj *,long,BOOLEAN_P));
@@ -40,9 +35,7 @@ STATIC_PTR int NDECL(Helmet_on);
STATIC_PTR int NDECL(Gloves_on);
STATIC_DCL void FDECL(wielding_corpse, (struct obj *,BOOLEAN_P));
STATIC_PTR int NDECL(Shield_on);
#ifdef TOURIST
STATIC_PTR int NDECL(Shirt_on);
#endif
STATIC_DCL void NDECL(Amulet_on);
STATIC_DCL void FDECL(learnring, (struct obj *,BOOLEAN_P));
STATIC_DCL void FDECL(Ring_off_or_gone, (struct obj *, BOOLEAN_P));
@@ -601,7 +594,6 @@ Shield_off(VOID_ARGS)
return 0;
}
#ifdef TOURIST
STATIC_PTR int
Shirt_on(VOID_ARGS)
{
@@ -631,7 +623,6 @@ Shirt_off(VOID_ARGS)
setworn((struct obj *)0, W_ARMU);
return 0;
}
#endif /*TOURIST*/
/* This must be done in worn.c, because one of the possible intrinsics conferred
* is fire resistance, and we have to immediately set HFire_resistance in worn.c
@@ -1137,9 +1128,7 @@ struct obj *obj; /* if null, do all worn items; otherwise just obj itself */
if (!obj ? uleft != 0 : (obj == uleft)) (void) Ring_on(uleft);
if (!obj ? uamul != 0 : (obj == uamul)) (void) Amulet_on();
#ifdef TOURIST
if (!obj ? uarmu != 0 : (obj == uarmu)) (void) Shirt_on();
#endif
if (!obj ? uarm != 0 : (obj == uarm)) (void) Armor_on();
if (!obj ? uarmc != 0 : (obj == uarmc)) (void) Cloak_on();
if (!obj ? uarmf != 0 : (obj == uarmf)) (void) Boots_on();
@@ -1163,11 +1152,9 @@ register struct obj *otmp;
if (otmp == uarm)
result = (afternmv == Armor_on || afternmv == Armor_off ||
what == WORN_ARMOR);
#ifdef TOURIST
else if (otmp == uarmu)
result = (afternmv == Shirt_on || afternmv == Shirt_off ||
what == WORN_SHIRT);
#endif
else if (otmp == uarmc)
result = (afternmv == Cloak_on || afternmv == Cloak_off ||
what == WORN_CLOAK);
@@ -1199,10 +1186,8 @@ struct obj *otmp;
/* 'T' (also 'W') sets afternmv, 'A' sets context.takeoff.what */
if (otmp == uarm)
result = (afternmv == Armor_off || what == WORN_ARMOR);
#ifdef TOURIST
else if (otmp == uarmu)
result = (afternmv == Shirt_off || what == WORN_SHIRT);
#endif
else if (otmp == uarmc)
result = (afternmv == Cloak_off || what == WORN_CLOAK);
else if (otmp == uarmf)
@@ -1297,11 +1282,9 @@ dotakeoff()
} else if (uarm) {
armorpieces++;
otmp = uarm;
#ifdef TOURIST
} else if (uarmu) {
armorpieces++;
otmp = uarmu;
#endif
}
if (!armorpieces) {
/* assert( GRAY_DRAGON_SCALES > YELLOW_DRAGON_SCALE_MAIL ); */
@@ -1325,21 +1308,16 @@ dotakeoff()
/* note: the `uskin' case shouldn't be able to happen here; dragons
can't wear any armor so will end up with `armorpieces == 0' above */
if (otmp == uskin || ((otmp == uarm) && uarmc)
#ifdef TOURIST
|| ((otmp == uarmu) && (uarmc || uarm))
#endif
) {
|| ((otmp == uarmu) && (uarmc || uarm))) {
char why[BUFSZ], what[BUFSZ];
why[0] = what[0] = '\0';
if (otmp != uskin) {
if (uarmc) Strcat(what, cloak_simple_name(uarmc));
#ifdef TOURIST
if ((otmp == uarmu) && uarm) {
if (uarmc) Strcat(what, " and ");
Strcat(what, suit_simple_name(uarm));
}
#endif
Sprintf(why, " without taking off your %s first", what);
}
You_cant("take that off%s.", why);
@@ -1369,12 +1347,10 @@ doremring()
MOREACC(ublindf);
if(!Accessories) {
pline("Not wearing any accessories.%s", (iflags.cmdassist &&
(uarm || uarmc ||
#ifdef TOURIST
uarmu ||
#endif
uarms || uarmh || uarmg || uarmf)) ?
pline("Not wearing any accessories.%s",
(iflags.cmdassist
&& (uarm || uarmc || uarmu || uarms || uarmh || uarmg
|| uarmf)) ?
" Use 'T' command to take off armor." : "");
return(0);
}
@@ -1516,9 +1492,7 @@ boolean noisy;
const char *which;
which = is_cloak(otmp) ? c_cloak :
#ifdef TOURIST
is_shirt(otmp) ? c_shirt :
#endif
is_suit(otmp) ? c_suit : 0;
if (which && cantweararm(youmonst.data) &&
/* same exception for cloaks as used in m_dowear() */
@@ -1531,12 +1505,7 @@ boolean noisy;
return 0;
}
if (welded(uwep) && bimanual(uwep) &&
(is_suit(otmp)
#ifdef TOURIST
|| is_shirt(otmp)
#endif
)) {
if (welded(uwep) && bimanual(uwep) && (is_suit(otmp) || is_shirt(otmp))) {
if (noisy)
You("cannot do that while holding your %s.",
is_sword(uwep) ? c_sword : c_weapon);
@@ -1613,7 +1582,6 @@ boolean noisy;
err++;
} else
*mask = W_ARMG;
#ifdef TOURIST
} else if (is_shirt(otmp)) {
if (uarm || uarmc || uarmu) {
if (uarmu) {
@@ -1625,7 +1593,6 @@ boolean noisy;
err++;
} else
*mask = W_ARMU;
#endif
} else if (is_cloak(otmp)) {
if (uarmc) {
if (noisy) already_wearing(an(cloak_simple_name(uarmc)));
@@ -1711,9 +1678,7 @@ dowear()
} else {
if(is_cloak(otmp)) (void) Cloak_on();
if (is_shield(otmp)) (void) Shield_on();
#ifdef TOURIST
if (is_shirt(otmp)) (void) Shirt_on();
#endif
on_msg(otmp);
}
context.takeoff.mask = context.takeoff.what = 0L;
@@ -1858,9 +1823,7 @@ find_ac()
if(uarmf) uac -= ARM_BONUS(uarmf);
if(uarms) uac -= ARM_BONUS(uarms);
if(uarmg) uac -= ARM_BONUS(uarmg);
#ifdef TOURIST
if(uarmu) uac -= ARM_BONUS(uarmu);
#endif
if(uleft && uleft->otyp == RIN_PROTECTION) uac -= uleft->spe;
if(uright && uright->otyp == RIN_PROTECTION) uac -= uright->spe;
if (HProtection & INTRINSIC) uac -= u.ublessed;
@@ -1966,10 +1929,8 @@ struct monst *victim;
otmph = (victim == &youmonst) ? uarmc : which_armor(victim, W_ARMC);
if (!otmph)
otmph = (victim == &youmonst) ? uarm : which_armor(victim, W_ARM);
#ifdef TOURIST
if (!otmph)
otmph = (victim == &youmonst) ? uarmu : which_armor(victim, W_ARMU);
#endif
otmp = (victim == &youmonst) ? uarmh : which_armor(victim, W_ARMH);
if(otmp && (!otmph || !rn2(4))) otmph = otmp;
@@ -2086,20 +2047,14 @@ register struct obj *otmp;
}
}
/* special suit and shirt checks */
if (otmp == uarm
#ifdef TOURIST
|| otmp == uarmu
#endif
) {
if (otmp == uarm || otmp == uarmu) {
why = 0; /* the item which prevents disrobing */
if (uarmc && uarmc->cursed) {
Sprintf(buf, "remove your %s", cloak_simple_name(uarmc));
why = uarmc;
#ifdef TOURIST
} else if (otmp == uarmu && uarm && uarm->cursed) {
Sprintf(buf, "remove your %s", c_suit);
why = uarm;
#endif
} else if (welded(uwep) && bimanual(uwep)) {
Sprintf(buf, "release your %s",
is_sword(uwep) ? c_sword :
@@ -2126,9 +2081,7 @@ register struct obj *otmp;
else if(otmp == uarmg) context.takeoff.mask |= WORN_GLOVES;
else if(otmp == uarmh) context.takeoff.mask |= WORN_HELMET;
else if(otmp == uarms) context.takeoff.mask |= WORN_SHIELD;
#ifdef TOURIST
else if(otmp == uarmu) context.takeoff.mask |= WORN_SHIRT;
#endif
else if(otmp == uleft) context.takeoff.mask |= LEFT_RING;
else if(otmp == uright) context.takeoff.mask |= RIGHT_RING;
else if(otmp == uamul) context.takeoff.mask |= WORN_AMUL;
@@ -2179,11 +2132,9 @@ do_takeoff()
} else if (doff->what == WORN_SHIELD) {
otmp = uarms;
if (!cursed(otmp)) (void) Shield_off();
#ifdef TOURIST
} else if (doff->what == WORN_SHIRT) {
otmp = uarmu;
if (!cursed(otmp)) (void) Shirt_off();
#endif
} else if (doff->what == WORN_AMUL) {
otmp = uamul;
if (!cursed(otmp)) Amulet_off();
@@ -2257,13 +2208,11 @@ take_off(VOID_ARGS)
otmp = uarmh;
} else if (doff->what == WORN_SHIELD) {
otmp = uarms;
#ifdef TOURIST
} else if (doff->what == WORN_SHIRT) {
otmp = uarmu;
/* add the time to take off and put back on armor and/or cloak */
if (uarm) doff->delay += 2 * objects[uarm->otyp].oc_delay;
if (uarmc) doff->delay += 2 * objects[uarmc->otyp].oc_delay + 1;
#endif
} else if (doff->what == WORN_AMUL) {
doff->delay = 1;
} else if (doff->what == LEFT_RING) {
@@ -2399,13 +2348,11 @@ register struct obj *atmp;
surface(u.ux,u.uy));
(void) Armor_gone();
useup(otmp);
#ifdef TOURIST
} else if (DESTROY_ARM(uarmu)) {
if (donning(otmp)) cancel_don();
Your("shirt crumbles into tiny threads and falls apart!");
(void) Shirt_off();
useup(otmp);
#endif
} else if (DESTROY_ARM(uarmh)) {
if (donning(otmp)) cancel_don();
Your("%s turns to dust and is blown away!",
@@ -2484,7 +2431,6 @@ boolean only_if_known_cursed; /* ignore covering unless known to be cursed */
}
return TRUE;
}
#ifdef TOURIST
/* check for shirt covered by suit and/or cloak */
if (obj == uarmu && ((uarm && BLOCKSACCESS(uarm)) ||
(uarmc && BLOCKSACCESS(uarmc)))) {
@@ -2505,7 +2451,6 @@ boolean only_if_known_cursed; /* ignore covering unless known to be cursed */
}
return TRUE;
}
#endif
/* check for ring covered by gloves */
if ((obj == uleft || obj == uright) && uarmg && BLOCKSACCESS(uarmg)) {
if (verb) {
-8
View File
@@ -26,10 +26,6 @@ struct monst *mon;
struct obj *obj, *wep,
dummy, *pickaxe, *unihorn, *key;
#ifndef TOURIST
#define CREDIT_CARD STRANGE_OBJECT /* avoids messy conditionalization */
#endif
#ifndef GOLDOBJ
if (mon->mgold) return &zeroobj; /* pet has something to drop */
#endif
@@ -111,10 +107,6 @@ struct monst *mon;
if (!obj->owornmask && obj != wep) return obj;
}
#ifndef TOURIST
#undef CREDIT_CARD
#endif
return (struct obj *)0; /* don't drop anything */
}
+1 -4
View File
@@ -1456,10 +1456,7 @@ boolean shop_floor_obj;
const char *result;
if (objects[otmp->otyp].oc_material == GLASS
#ifdef TOURIST
|| otmp->otyp == EXPENSIVE_CAMERA
#endif
) {
|| otmp->otyp == EXPENSIVE_CAMERA) {
if (otmp->otyp == MIRROR)
change_luck(-2);
result = "crash";
-4
View File
@@ -1775,9 +1775,7 @@ struct obj *obj;
obj->oclass != GEM_CLASS)
return 1;
switch (obj->oclass == POTION_CLASS ? POT_WATER : obj->otyp) {
#ifdef TOURIST
case EXPENSIVE_CAMERA:
#endif
case POT_WATER: /* really, all potions */
case EGG:
case CREAM_PIE:
@@ -1806,9 +1804,7 @@ boolean in_view;
case LENSES:
case MIRROR:
case CRYSTAL_BALL:
#ifdef TOURIST
case EXPENSIVE_CAMERA:
#endif
to_pieces = " into a thousand pieces";
/*FALLTHRU*/
case POT_WATER: /* really, all potions */
+3 -16
View File
@@ -1000,12 +1000,8 @@ register const char *let,*word;
} else {
/* "ugly check" for reading fortune cookies, part 2 */
if ((!strcmp(word, "read") &&
(otmp->otyp == FORTUNE_COOKIE
#ifdef TOURIST
|| otmp->otyp == T_SHIRT
#endif
)))
if ((!strcmp(word, "read")
&& (otmp->otyp == FORTUNE_COOKIE || otmp->otyp == T_SHIRT)))
allowall = TRUE;
}
}
@@ -1241,10 +1237,7 @@ boolean
wearing_armor()
{
return((boolean)(uarm || uarmc || uarmf || uarmg || uarmh || uarms
#ifdef TOURIST
|| uarmu
#endif
));
|| uarmu));
}
boolean
@@ -2745,16 +2738,10 @@ doprarm()
if (!wearing_armor()) {
noarmor(TRUE);
} else {
#ifdef TOURIST
char lets[8];
#else
char lets[7];
#endif
register int ct = 0;
#ifdef TOURIST
if(uarmu) lets[ct++] = obj_to_let(uarmu);
#endif
if(uarm) lets[ct++] = obj_to_let(uarm);
if(uarmc) lets[ct++] = obj_to_let(uarmc);
if(uarmh) lets[ct++] = obj_to_let(uarmh);
+2 -21
View File
@@ -61,10 +61,8 @@ lock_action()
/* otherwise we're trying to unlock it */
else if (xlock.picktyp == LOCK_PICK)
return actions[3]; /* "picking the lock" */
#ifdef TOURIST
else if (xlock.picktyp == CREDIT_CARD)
return actions[3]; /* same as lock_pick */
#endif
else if (xlock.door)
return actions[0]; /* "unlocking the door" */
else
@@ -253,9 +251,7 @@ pick_lock(pick)
if (nohands(youmonst.data)) {
const char *what = (picktyp == LOCK_PICK) ? "pick" : "key";
#ifdef TOURIST
if (picktyp == CREDIT_CARD) what = "card";
#endif
pline(no_longer, "hold the", what);
reset_pick();
return PICKLOCK_LEARNED_SOMETHING;
@@ -276,18 +272,13 @@ pick_lock(pick)
return PICKLOCK_DID_NOTHING;
} else if (u.uswallow) {
You_cant("%sunlock %s.",
#ifdef TOURIST
(picktyp == CREDIT_CARD) ? "" :
#endif
"lock or ", mon_nam(u.ustuck));
return PICKLOCK_DID_NOTHING;
}
if((picktyp != LOCK_PICK &&
#ifdef TOURIST
picktyp != CREDIT_CARD &&
#endif
picktyp != SKELETON_KEY)) {
if((picktyp != LOCK_PICK && picktyp != CREDIT_CARD
&& picktyp != SKELETON_KEY)) {
impossible("picking lock with object %d?", picktyp);
return PICKLOCK_DID_NOTHING;
}
@@ -344,20 +335,16 @@ pick_lock(pick)
You_cant("fix its broken lock with %s.", doname(pick));
return PICKLOCK_LEARNED_SOMETHING;
}
#ifdef TOURIST
else if (picktyp == CREDIT_CARD && !otmp->olocked) {
/* credit cards are only good for unlocking */
You_cant("do that with %s.",
an(simple_typename(picktyp)));
return PICKLOCK_LEARNED_SOMETHING;
}
#endif
switch(picktyp) {
#ifdef TOURIST
case CREDIT_CARD:
ch = ACURR(A_DEX) + 20*Role_if(PM_ROGUE);
break;
#endif
case LOCK_PICK:
ch = 4*ACURR(A_DEX) + 25*Role_if(PM_ROGUE);
break;
@@ -391,12 +378,10 @@ pick_lock(pick)
if (mtmp && canseemon(mtmp) &&
mtmp->m_ap_type != M_AP_FURNITURE &&
mtmp->m_ap_type != M_AP_OBJECT) {
#ifdef TOURIST
if (picktyp == CREDIT_CARD &&
(mtmp->isshk || mtmp->data == &mons[PM_ORACLE]))
verbalize("No checks, no credit, no problem.");
else
#endif
pline("I don't think %s would appreciate that.", mon_nam(mtmp));
return PICKLOCK_LEARNED_SOMETHING;
} else if (mtmp && mtmp->m_ap_type == M_AP_FURNITURE &&
@@ -430,13 +415,11 @@ pick_lock(pick)
pline("This door is broken.");
return PICKLOCK_LEARNED_SOMETHING;
default:
#ifdef TOURIST
/* credit cards are only good for unlocking */
if(picktyp == CREDIT_CARD && !(door->doormask & D_LOCKED)) {
You_cant("lock a door with a credit card.");
return PICKLOCK_LEARNED_SOMETHING;
}
#endif
Sprintf(qbuf,"%s it?",
(door->doormask & D_LOCKED) ? "Unlock" : "Lock");
@@ -445,11 +428,9 @@ pick_lock(pick)
if(c == 'n') return(0);
switch(picktyp) {
#ifdef TOURIST
case CREDIT_CARD:
ch = 2*ACURR(A_DEX) + 20*Role_if(PM_ROGUE);
break;
#endif
case LOCK_PICK:
ch = 3*ACURR(A_DEX) + 30*Role_if(PM_ROGUE);
break;
+3 -17
View File
@@ -759,10 +759,8 @@ int attk;
*/
if (uarm)
(void)rust_dmg(uarm, xname(uarm), hurt, TRUE, &youmonst);
#ifdef TOURIST
else if (uarmu)
(void)rust_dmg(uarmu, xname(uarmu), hurt, TRUE, &youmonst);
#endif
break;
case 2:
if (!uarms || !rust_dmg(uarms, xname(uarms), hurt, FALSE, &youmonst))
@@ -803,9 +801,7 @@ struct attack *mattk;
{
struct obj *obj = (uarmc ? uarmc : uarm);
#ifdef TOURIST
if (!obj) obj = uarmu;
#endif
if (mattk->adtyp == AD_DRIN) obj = uarmh;
/* if your cloak/armor is greased, monster slips off; this
@@ -1375,11 +1371,8 @@ dopois:
hitmsg(mtmp, mattk);
break;
}
if(!uwep
#ifdef TOURIST
&& !uarmu
#endif
&& !uarm && !uarmh && !uarms && !uarmg && !uarmc && !uarmf) {
if(!uwep && !uarmu && !uarm && !uarmh && !uarms && !uarmg && !uarmc
&& !uarmf) {
boolean goaway = FALSE;
pline("%s hits! (I hope you don't mind.)", Monnam(mtmp));
if (Upolyd) {
@@ -2331,10 +2324,7 @@ register struct monst *mon;
}
if (!uarmc && !uarmf && !uarmg && !uarms && !uarmh
#ifdef TOURIST
&& !uarmu
#endif
)
&& !uarmu)
pline("%s murmurs sweet nothings into your ear.",
Blind ? (fem ? "She" : "He") : Monnam(mon));
else
@@ -2348,10 +2338,8 @@ register struct monst *mon;
mayberem(uarmg, "gloves");
mayberem(uarms, "shield");
mayberem(uarmh, helm_simple_name(uarmh));
#ifdef TOURIST
if(!uarmc && !uarm)
mayberem(uarmu, "shirt");
#endif
if (uarm || uarmc) {
verbalize("You're such a %s; I wish...",
@@ -2515,9 +2503,7 @@ const char *str;
(obj == uarmc || obj == uarms) ? "it's in the way" :
(obj == uarmf) ? "let me rub your feet" :
(obj == uarmg) ? "they're too clumsy" :
#ifdef TOURIST
(obj == uarmu) ? "let me massage you" :
#endif
/* obj == uarmh */
hairbuf);
}
-2
View File
@@ -726,9 +726,7 @@ boolean artif;
break;
case LEASH: otmp->leashmon = 0;
break;
#ifdef TOURIST
case EXPENSIVE_CAMERA:
#endif
case TINNING_KIT:
case MAGIC_MARKER: otmp->spe = rn1(70,30);
break;
-2
View File
@@ -101,9 +101,7 @@ int mndx, mode;
case PM_HUNTER: mndx = mode ? PM_RANGER : PM_HUMAN; break;
case PM_THUG: mndx = mode ? PM_ROGUE : PM_HUMAN; break;
case PM_ROSHI: mndx = mode ? PM_SAMURAI : PM_HUMAN; break;
#ifdef TOURIST
case PM_GUIDE: mndx = mode ? PM_TOURIST : PM_HUMAN; break;
#endif
case PM_APPRENTICE: mndx = mode ? PM_WIZARD : PM_HUMAN; break;
case PM_WARRIOR: mndx = mode ? PM_VALKYRIE : PM_HUMAN; break;
default:
-4
View File
@@ -46,9 +46,7 @@ monhaskey(mon, for_unlocking)
struct monst *mon;
boolean for_unlocking; /* true => credit card ok, false => not ok */
{
#ifdef TOURIST
if (for_unlocking && m_carrying(mon, CREDIT_CARD)) return TRUE;
#endif
return m_carrying(mon, SKELETON_KEY) || m_carrying(mon, LOCK_PICK);
}
@@ -1463,9 +1461,7 @@ struct monst *mtmp;
typ != SLING &&
!is_cloak(obj) && typ != FEDORA &&
!is_gloves(obj) && typ != LEATHER_JACKET &&
#ifdef TOURIST
typ != CREDIT_CARD && !is_shirt(obj) &&
#endif
!(typ == CORPSE && verysmall(&mons[obj->corpsenm])) &&
typ != FORTUNE_COOKIE && typ != CANDY_BAR &&
typ != PANCAKE && typ != LEMBAS_WAFER &&
-8
View File
@@ -3021,7 +3021,6 @@ struct permonst _mons2[] = {
SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
M1_HUMANOID|M1_OMNIVORE,
M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
#ifdef TOURIST
MON("tourist", S_HUMAN,
LVL(10, 12, 10, 1, 0), G_NOGEN,
A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
@@ -3029,7 +3028,6 @@ struct permonst _mons2[] = {
SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
M1_HUMANOID|M1_OMNIVORE,
M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
#endif
MON("valkyrie", S_HUMAN,
LVL(10, 12, 10, 1, -1), G_NOGEN,
A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
@@ -3165,7 +3163,6 @@ struct permonst _mons2[] = {
M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
M2_COLLECT|M2_MAGIC,
M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
#ifdef TOURIST
MON("Twoflower", S_HUMAN,
LVL(20, 12, 10, 20, 0), (G_NOGEN|G_UNIQ),
A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
@@ -3175,7 +3172,6 @@ struct permonst _mons2[] = {
M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
M2_COLLECT|M2_MAGIC,
M3_CLOSE|M3_INFRAVISIBLE, HI_DOMESTIC),
#endif
MON("Norn", S_HUMAN,
LVL(20, 12, 0, 80, 0), (G_NOGEN|G_UNIQ),
A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6),
@@ -3313,11 +3309,9 @@ struct permonst _mons2[] = {
M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|
M2_NASTY|M2_MALE|M2_COLLECT|M2_MAGIC,
M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
#ifdef TOURIST
/*
* Note: the Master of Thieves was defined above.
*/
#endif
MON("Lord Surtur", S_GIANT,
LVL(15, 12, 2, 50, 12), (G_NOGEN|G_UNIQ),
A(ATTK(AT_WEAP, AD_PHYS, 2,10), ATTK(AT_WEAP, AD_PHYS, 2,10),
@@ -3438,7 +3432,6 @@ struct permonst _mons2[] = {
M1_HUMANOID|M1_OMNIVORE,
M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
HI_DOMESTIC),
#ifdef TOURIST
MON("guide", S_HUMAN,
LVL(5, 12, 10, 20, 0), G_NOGEN,
A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
@@ -3447,7 +3440,6 @@ struct permonst _mons2[] = {
M1_HUMANOID|M1_OMNIVORE,
M2_NOPOLY|M2_HUMAN|M2_PEACEFUL | M2_STRONG|M2_COLLECT|M2_MAGIC,
M3_INFRAVISIBLE, HI_DOMESTIC),
#endif
MON("warrior", S_HUMAN,
LVL(5, 12, 10, 10, -1), G_NOGEN,
A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
-2
View File
@@ -203,11 +203,9 @@ register boolean special;
case PM_SAMURAI:
if (rn2(2)) weapon = KATANA;
break;
#ifdef TOURIST
case PM_TOURIST:
/* Defaults are just fine */
break;
#endif
case PM_VALKYRIE:
if (rn2(2)) weapon = WAR_HAMMER;
if (rn2(2)) armor = rnd_class(PLATE_MAIL, CHAIN_MAIL);
-2
View File
@@ -814,9 +814,7 @@ int whodidit; /* 1==hero, 0=other, -1==just check whether it'll pass thru */
case TOOL_CLASS:
hits = (obj_type != SKELETON_KEY &&
obj_type != LOCK_PICK &&
#ifdef TOURIST
obj_type != CREDIT_CARD &&
#endif
obj_type != TALLOW_CANDLE &&
obj_type != WAX_CANDLE &&
obj_type != LENSES &&
+2 -5
View File
@@ -988,11 +988,8 @@ struct monst *mtmp;
return FALSE;
if (u.uswallow) return FALSE;
if (in_your_sanctuary(mtmp, 0, 0)) return FALSE;
if (dmgtype(mtmp->data, AD_HEAL) && !uwep
#ifdef TOURIST
&& !uarmu
#endif
&& !uarm && !uarmh && !uarms && !uarmg && !uarmc && !uarmf)
if (dmgtype(mtmp->data, AD_HEAL) && !uwep && !uarmu && !uarm && !uarmh
&& !uarms && !uarmg && !uarmc && !uarmf)
return FALSE;
if (!ranged_stuff) return FALSE;
-15
View File
@@ -367,13 +367,8 @@ ARMOR("plate mail", (char *)0,
1, 0, 1, 0, 44, 5, 450, 600, 3, 2, ARM_SUIT, IRON, HI_METAL),
ARMOR("crystal plate mail", (char *)0,
1, 0, 1, 0, 10, 5, 450, 820, 3, 2, ARM_SUIT, GLASS, CLR_WHITE),
#ifdef TOURIST
ARMOR("bronze plate mail", (char *)0,
1, 0, 1, 0, 25, 5, 450, 400, 4, 1, ARM_SUIT, COPPER, HI_COPPER),
#else
ARMOR("bronze plate mail", (char *)0,
1, 0, 1, 0, 35, 5, 450, 400, 4, 1, ARM_SUIT, COPPER, HI_COPPER),
#endif
ARMOR("splint mail", (char *)0,
1, 0, 1, 0, 62, 5, 400, 80, 4, 1, ARM_SUIT, IRON, HI_METAL),
ARMOR("banded mail", (char *)0,
@@ -399,13 +394,11 @@ ARMOR("leather armor", (char *)0,
ARMOR("leather jacket", (char *)0,
1, 0, 0, 0, 12, 0, 30, 10, 9, 0, ARM_SUIT, LEATHER, CLR_BLACK),
#ifdef TOURIST
/* shirts */
ARMOR("Hawaiian shirt", (char *)0,
1, 0, 0, 0, 8, 0, 5, 3, 10, 0, ARM_SHIRT, CLOTH, CLR_MAGENTA),
ARMOR("T-shirt", (char *)0,
1, 0, 0, 0, 2, 0, 5, 2, 10, 0, ARM_SHIRT, CLOTH, CLR_WHITE),
#endif
/* cloaks */
/* 'cope' is not a spelling mistake... leave it be */
@@ -591,12 +584,8 @@ CONTAINER("bag of tricks", "bag", 0, 1, 1, 20, 15, 100, CLOTH, HI_CLOTH),
/* lock opening tools */
TOOL("skeleton key", "key", 0, 0, 0, 0, 80, 3, 10, IRON, HI_METAL),
#ifdef TOURIST
TOOL("lock pick", (char *)0, 1, 0, 0, 0, 60, 4, 20, IRON, HI_METAL),
TOOL("credit card", (char *)0, 1, 0, 0, 0, 15, 1, 10, PLASTIC, CLR_WHITE),
#else
TOOL("lock pick", (char *)0, 1, 0, 0, 0, 75, 4, 20, IRON, HI_METAL),
#endif
/* light sources */
TOOL("tallow candle", "candle", 0, 1, 0, 0, 20, 2, 10, WAX, CLR_WHITE),
TOOL("wax candle", "candle", 0, 1, 0, 0, 5, 2, 20, WAX, CLR_WHITE),
@@ -604,13 +593,9 @@ TOOL("brass lantern", (char *)0,1, 0, 0, 0, 30, 30, 12, COPPER, CLR_YELLOW),
TOOL("oil lamp", "lamp", 0, 0, 0, 0, 45, 20, 10, COPPER, CLR_YELLOW),
TOOL("magic lamp", "lamp", 0, 0, 1, 0, 15, 20, 50, COPPER, CLR_YELLOW),
/* other tools */
#ifdef TOURIST
TOOL("expensive camera", (char *)0,
1, 0, 0, 1, 15, 12, 200, PLASTIC, CLR_BLACK),
TOOL("mirror", "looking glass", 0, 0, 0, 0, 45, 13, 10, GLASS, HI_SILVER),
#else
TOOL("mirror", "looking glass", 0, 0, 0, 0, 60, 13, 10, GLASS, HI_SILVER),
#endif
TOOL("crystal ball", "glass orb",
0, 0, 1, 1, 15,150, 60, GLASS, HI_GLASS),
TOOL("lenses", (char *)0, 1, 0, 0, 0, 5, 3, 80, GLASS, HI_GLASS),
-4
View File
@@ -2182,9 +2182,7 @@ STATIC_OVL NEARDATA const struct o_range o_ranges[] = {
{ "boots", ARMOR_CLASS, LOW_BOOTS, LEVITATION_BOOTS },
{ "shoes", ARMOR_CLASS, LOW_BOOTS, IRON_SHOES },
{ "cloak", ARMOR_CLASS, MUMMY_WRAPPING, CLOAK_OF_DISPLACEMENT },
#ifdef TOURIST
{ "shirt", ARMOR_CLASS, HAWAIIAN_SHIRT, T_SHIRT },
#endif
{ "dragon scales",
ARMOR_CLASS, GRAY_DRAGON_SCALES, YELLOW_DRAGON_SCALES },
{ "dragon scale mail",
@@ -2218,10 +2216,8 @@ struct alt_spellings {
{ "amulet of poison resistance", AMULET_VERSUS_POISON },
{ "potion of sleep", POT_SLEEPING },
{ "stone", ROCK },
#ifdef TOURIST
{ "camera", EXPENSIVE_CAMERA },
{ "tee shirt", T_SHIRT },
#endif
{ "can", TIN },
{ "can opener", TIN_OPENER },
{ "kelp", KELP_FROND },
-4
View File
@@ -821,12 +821,10 @@ break_armor()
useup(otmp);
}
}
#ifdef TOURIST
if (uarmu) {
Your("shirt rips to shreds!");
useup(uarmu);
}
#endif
} else if (sliparm(youmonst.data)) {
if (((otmp = uarm) != 0) && (racial_exception(&youmonst, otmp) < 1)) {
if (donning(otmp)) cancel_don();
@@ -841,7 +839,6 @@ break_armor()
(void) Cloak_off();
dropx(otmp);
}
#ifdef TOURIST
if ((otmp = uarmu) != 0) {
if (is_whirly(youmonst.data))
You("seep right through your shirt!");
@@ -849,7 +846,6 @@ break_armor()
setworn((struct obj *)0, otmp->owornmask & W_ARMU);
dropx(otmp);
}
#endif
}
if (has_horns(youmonst.data)) {
if ((otmp = uarmh) != 0) {
-4
View File
@@ -256,10 +256,8 @@ worst_cursed_item()
otmp = uarmh;
} else if (uarmf && uarmf->cursed) { /* boots */
otmp = uarmf;
#ifdef TOURIST
} else if (uarmu && uarmu->cursed) { /* shirt */
otmp = uarmu;
#endif
} else if (uamul && uamul->cursed) { /* amulet */
otmp = uamul;
} else if (uleft && uleft->cursed) { /* left ring */
@@ -551,9 +549,7 @@ aligntyp resp_god;
if (uarm && !(EReflecting & W_ARM) &&
!(EDisint_resistance & W_ARM) && !uarmc)
(void) destroy_arm(uarm);
#ifdef TOURIST
if (uarmu && !uarm && !uarmc) (void) destroy_arm(uarmu);
#endif
if (!Disint_resistance)
fry_by_god(resp_god, TRUE);
else {
-4
View File
@@ -72,7 +72,6 @@ doread()
if (!Blind) u.uconduct.literate++;
useup(scroll);
return(1);
#ifdef TOURIST
} else if (scroll->otyp == T_SHIRT) {
static const char *shirt_msgs[] = { /* Scott Bigham */
"I explored the Dungeons of Doom and all I got was this lousy T-shirt!",
@@ -117,7 +116,6 @@ doread()
scroll->o_id ^ (unsigned)ubirthday);
pline("\"%s\"", buf);
return 1;
#endif /* TOURIST */
} else if (scroll->oclass != SCROLL_CLASS
&& scroll->oclass != SPBOOK_CLASS) {
pline(silly_thing_to, "read");
@@ -364,9 +362,7 @@ int curse_bless;
break;
case MAGIC_MARKER:
case TINNING_KIT:
#ifdef TOURIST
case EXPENSIVE_CAMERA:
#endif
if (is_cursed) stripspe(obj);
else if (rechrg && obj->otyp == MAGIC_MARKER) { /* previously recharged */
obj->recharged = 1; /* override increment done above */
-6
View File
@@ -299,7 +299,6 @@ const struct Role roles[] = {
{ 1, 0, 0, 1, 0, 1 },11, /* Energy */
10, 10, 0, 0, 8, A_INT, SPE_CLAIRVOYANCE, -4
},
#ifdef TOURIST
{ {"Tourist", 0}, {
{"Rambler", 0},
{"Sightseer", 0},
@@ -325,7 +324,6 @@ const struct Role roles[] = {
{ 1, 0, 0, 1, 0, 1 },14, /* Energy */
0, 5, 1, 2, 10, A_INT, SPE_CHARM_MONSTER, -4
},
#endif
{ {"Valkyrie", 0}, {
{"Stripling", 0},
{"Skirmisher", 0},
@@ -1705,10 +1703,8 @@ struct monst *mtmp;
case PM_SAMURAI:
return (mtmp && mtmp->data == &mons[PM_SHOPKEEPER] ?
"Irasshaimase" : "Konnichi wa"); /* Japanese */
#ifdef TOURIST
case PM_TOURIST:
return ("Aloha"); /* Hawaiian */
#endif
case PM_VALKYRIE:
return (
#ifdef MAIL
@@ -1728,10 +1724,8 @@ Goodbye()
return ("Fare thee well"); /* Olde English */
case PM_SAMURAI:
return ("Sayonara"); /* Japanese */
#ifdef TOURIST
case PM_TOURIST:
return ("Aloha"); /* Hawaiian */
#endif
case PM_VALKYRIE:
return ("Farvel"); /* Norse */
default:
+2 -8
View File
@@ -1951,11 +1951,9 @@ register struct monst *shkp; /* if angry, impose a surcharge */
}
if (uarmh && uarmh->otyp == DUNCE_CAP)
multiplier *= 4L, divisor *= 3L;
#ifdef TOURIST
else if ((Role_if(PM_TOURIST) && u.ulevel < (MAXULEV/2)) ||
(uarmu && !uarm && !uarmc)) /* touristy shirt visible */
multiplier *= 4L, divisor *= 3L;
#endif
if (ACURR(A_CHA) > 18) divisor *= 2L;
else if (ACURR(A_CHA) == 18) multiplier *= 2L, divisor *= 3L;
@@ -2116,11 +2114,9 @@ register struct monst *shkp;
if (uarmh && uarmh->otyp == DUNCE_CAP)
divisor *= 3L;
#ifdef TOURIST
else if ((Role_if(PM_TOURIST) && u.ulevel < (MAXULEV/2)) ||
(uarmu && !uarm && !uarmc)) /* touristy shirt visible */
divisor *= 3L;
#endif
else
divisor *= 2L;
@@ -4092,11 +4088,9 @@ boolean altusage; /* some items have an "alternate" use with different cost */
if (otmp->spe > 1) tmp /= 4L;
} else if (otmp->oclass == SPBOOK_CLASS) {
tmp -= tmp / 5L;
} else if (otmp->otyp == CAN_OF_GREASE ||
otmp->otyp == TINNING_KIT
#ifdef TOURIST
} else if (otmp->otyp == CAN_OF_GREASE
|| otmp->otyp == TINNING_KIT
|| otmp->otyp == EXPENSIVE_CAMERA
#endif
) {
tmp /= 10L;
} else if (otmp->otyp == POT_OIL) {
-4
View File
@@ -796,11 +796,9 @@ register struct monst *mtmp;
case PM_ARCHEOLOGIST:
pline_msg = "describes a recent article in \"Spelunker Today\" magazine.";
break;
#ifdef TOURIST
case PM_TOURIST:
verbl_msg = "Aloha.";
break;
#endif
default:
pline_msg = "discusses dungeon exploration.";
break;
@@ -871,10 +869,8 @@ register struct monst *mtmp;
verbl_msg = Role_if(PM_HEALER) ?
"Doc, I can't help you unless you cooperate." :
"Please undress so I can examine you.";
#ifdef TOURIST
else if (uarmu)
verbl_msg = "Take off your shirt, please.";
#endif
else verbl_msg = "Relax, this won't hurt a bit.";
break;
case MS_GUARD:
+1 -8
View File
@@ -13,10 +13,7 @@ STATIC_OVL const char *
equipname(otmp)
register struct obj *otmp;
{
return (
#ifdef TOURIST
(otmp == uarmu) ? "shirt" :
#endif
return ((otmp == uarmu) ? "shirt" :
(otmp == uarmf) ? "boots" :
(otmp == uarms) ? "shield" :
(otmp == uarmg) ? "gloves" :
@@ -231,9 +228,7 @@ boolean unchain_ball; /* whether to unpunish or just unwield */
else if (obj == uarmg) (void) Gloves_off();
else if (obj == uarmh) (void) Helmet_off();
else if (obj == uarms) (void) Shield_off();
#ifdef TOURIST
else if (obj == uarmu) (void) Shirt_off();
#endif
/* catchall -- should never happen */
else setworn((struct obj *)0, obj->owornmask & W_ARMOR);
} else if (obj->owornmask & W_AMUL) {
@@ -342,11 +337,9 @@ nothing_to_steal:
if (otmp == uarmg && uwep) otmp = uwep;
/* can't steal armor while wearing cloak - so steal the cloak. */
else if(otmp == uarm && uarmc) otmp = uarmc;
#ifdef TOURIST
/* can't steal shirt while wearing cloak or suit */
else if(otmp == uarmu && uarmc) otmp = uarmc;
else if(otmp == uarmu && uarm) otmp = uarm;
#endif
gotobj:
if(otmp->o_id == stealoid) return(0);
-8
View File
@@ -78,11 +78,9 @@ struct monst *victim;
(void) burn_dmg(item, xname(item));
return TRUE;
}
#ifdef TOURIST
item = (victim == &youmonst) ? uarmu : which_armor(victim, W_ARMU);
if (item)
(void) burn_dmg(item, "shirt");
#endif
return TRUE;
case 2:
item = (victim == &youmonst) ? uarms : which_armor(victim, W_ARMS);
@@ -953,10 +951,8 @@ glovecheck: (void) rust_dmg(uarmg, "gauntlets", 1, TRUE, &youmonst);
1, TRUE, &youmonst);
else if (uarm)
(void) rust_dmg(uarm, "armor", 1, TRUE, &youmonst);
#ifdef TOURIST
else if (uarmu)
(void) rust_dmg(uarmu, "shirt", 1, TRUE, &youmonst);
#endif
}
update_inventory();
break;
@@ -2090,10 +2086,8 @@ glovecheck: target = which_armor(mtmp, W_ARMG);
1, TRUE, mtmp);
else if ((target = which_armor(mtmp, W_ARM)) != 0)
(void) rust_dmg(target, "armor", 1, TRUE, mtmp);
#ifdef TOURIST
else if ((target = which_armor(mtmp, W_ARMU)) != 0)
(void) rust_dmg(target, "shirt", 1, TRUE, mtmp);
#endif
}
if (mptr == &mons[PM_IRON_GOLEM]) {
@@ -3172,9 +3166,7 @@ boolean *lostsome;
obj == uamul || obj == uleft || obj == uright ||
obj == ublindf || obj == uarm || obj == uarmc ||
obj == uarmg || obj == uarmf ||
#ifdef TOURIST
obj == uarmu ||
#endif
(obj->cursed && (obj == uarmh || obj == uarms)) ||
welded(obj)))
otmp = obj;
-14
View File
@@ -138,7 +138,6 @@ static struct trobj Samurai[] = {
{ SPLINT_MAIL, 0, ARMOR_CLASS, 1, UNDEF_BLESS },
{ 0, 0, 0, 0, 0 }
};
#ifdef TOURIST
static struct trobj Tourist[] = {
#define T_DARTS 0
{ DART, 2, WEAPON_CLASS, 25, UNDEF_BLESS }, /* quan is variable */
@@ -150,7 +149,6 @@ static struct trobj Tourist[] = {
{ CREDIT_CARD, 0, TOOL_CLASS, 1, 0 },
{ 0, 0, 0, 0, 0 }
};
#endif
static struct trobj Valkyrie[] = {
{ LONG_SWORD, 1, WEAPON_CLASS, 1, UNDEF_BLESS },
{ DAGGER, 0, WEAPON_CLASS, 1, UNDEF_BLESS },
@@ -200,7 +198,6 @@ static struct trobj Xtra_food[] = {
{ UNDEF_TYP, UNDEF_SPE, FOOD_CLASS, 2, 0 },
{ 0, 0, 0, 0, 0 }
};
#ifdef TOURIST
static struct trobj Leash[] = {
{ LEASH, 0, TOOL_CLASS, 1, 0 },
{ 0, 0, 0, 0, 0 }
@@ -209,7 +206,6 @@ static struct trobj Towel[] = {
{ TOWEL, 0, TOOL_CLASS, 1, 0 },
{ 0, 0, 0, 0, 0 }
};
#endif /* TOURIST */
static struct trobj Wishing[] = {
{ WAN_WISHING, 3, WAND_CLASS, 1, 0 },
{ 0, 0, 0, 0, 0 }
@@ -414,7 +410,6 @@ static const struct def_skill Skill_S[] = {
{ P_NONE, 0 }
};
#ifdef TOURIST
static const struct def_skill Skill_T[] = {
{ P_DAGGER, P_EXPERT }, { P_KNIFE, P_SKILLED },
{ P_AXE, P_BASIC }, { P_PICK_AXE, P_BASIC },
@@ -437,7 +432,6 @@ static const struct def_skill Skill_T[] = {
{ P_BARE_HANDED_COMBAT, P_SKILLED },
{ P_NONE, 0 }
};
#endif /* TOURIST */
static const struct def_skill Skill_V[] = {
{ P_DAGGER, P_EXPERT }, { P_AXE, P_EXPERT },
@@ -512,9 +506,7 @@ u_init()
#if 0 /* documentation of more zero values as desirable */
u.usick_cause[0] = 0;
u.uluck = u.moreluck = 0;
# ifdef TOURIST
uarmu = 0;
# endif
uarm = uarmc = uarmh = uarms = uarmg = uarmf = 0;
uwep = uball = uchain = uleft = uright = 0;
uswapwep = uquiver = 0;
@@ -676,7 +668,6 @@ u_init()
knows_class(ARMOR_CLASS);
skill_init(Skill_S);
break;
#ifdef TOURIST
case PM_TOURIST:
Tourist[T_DARTS].trquan = rn1(20, 21);
#ifndef GOLDOBJ
@@ -691,7 +682,6 @@ u_init()
else if(!rn2(25)) ini_inv(Magicmarker);
skill_init(Skill_T);
break;
#endif
case PM_VALKYRIE:
ini_inv(Valkyrie);
if(!rn2(6)) ini_inv(Lamp);
@@ -840,9 +830,7 @@ int otyp;
case PM_RANGER: skills = Skill_Ran; break;
case PM_ROGUE: skills = Skill_R; break;
case PM_SAMURAI: skills = Skill_S; break;
#ifdef TOURIST
case PM_TOURIST: skills = Skill_T; break;
#endif
case PM_VALKYRIE: skills = Skill_V; break;
case PM_WIZARD: skills = Skill_W; break;
default: skills = 0; break; /* lint suppression */
@@ -1001,10 +989,8 @@ register struct trobj *trop;
setworn(obj, W_ARMH);
else if (is_gloves(obj) && !uarmg)
setworn(obj, W_ARMG);
#ifdef TOURIST
else if (is_shirt(obj) && !uarmu)
setworn(obj, W_ARMU);
#endif
else if (is_cloak(obj) && !uarmc)
setworn(obj, W_ARMC);
else if (is_boots(obj) && !uarmf)
-6
View File
@@ -67,10 +67,8 @@ int attk;
}
if ((target = which_armor(mdef, W_ARM)) != (struct obj *)0) {
(void)rust_dmg(target, xname(target), hurt, TRUE, mdef);
#ifdef TOURIST
} else if ((target = which_armor(mdef, W_ARMU)) != (struct obj *)0) {
(void)rust_dmg(target, xname(target), hurt, TRUE, mdef);
#endif
}
break;
case 2:
@@ -745,7 +743,6 @@ int thrown; /* HMON_xxx (0 => hand-to-hand, other => ranged) */
}
tmp = 1;
break;
#ifdef TOURIST
case EXPENSIVE_CAMERA:
You("succeed in destroying %s. Congratulations!",
ysimple_name(obj));
@@ -753,7 +750,6 @@ int thrown; /* HMON_xxx (0 => hand-to-hand, other => ranged) */
return(TRUE);
/*NOTREACHED*/
break;
#endif
case CORPSE: /* fixed by polder@cs.vu.nl */
if (touch_petrifies(&mons[obj->corpsenm])) {
tmp = 1;
@@ -1152,9 +1148,7 @@ struct attack *mattk;
/* grabbing attacks the body */
obj = which_armor(mdef, W_ARMC); /* cloak */
if (!obj) obj = which_armor(mdef, W_ARM); /* suit */
#ifdef TOURIST
if (!obj) obj = which_armor(mdef, W_ARMU); /* shirt */
#endif
}
/* if monster's cloak/armor is greased, your grab slips off; this
+1 -4
View File
@@ -350,10 +350,7 @@ fnd:
}
if (!strcmpi(buf, "Croesus") || !strcmpi(buf, "Kroisos")
#ifdef TOURIST
|| !strcmpi(buf, "Creosote")
#endif
) {
|| !strcmpi(buf, "Creosote")) {
if (!mvitals[PM_CROESUS].died) {
verbalize("Oh, yes, of course. Sorry to have disturbed you.");
mongone(guard);
+1 -17
View File
@@ -20,9 +20,7 @@ const struct worn {
{ W_ARMS, &uarms },
{ W_ARMG, &uarmg },
{ W_ARMF, &uarmf },
#ifdef TOURIST
{ W_ARMU, &uarmu },
#endif
{ W_RINGL, &uleft },
{ W_RINGR, &uright },
{ W_WEP, &uwep },
@@ -155,9 +153,7 @@ struct obj *obj;
case ARM_GLOVES: res = W_ARMG; break; /* WORN_GLOVES */
case ARM_BOOTS: res = W_ARMF; break; /* WORN_BOOTS */
case ARM_CLOAK: res = W_ARMC; break; /* WORN_CLOAK */
#ifdef TOURIST
case ARM_SHIRT: res = W_ARMU; break; /* WORN_SHIRT */
#endif
}
break;
case WEAPON_CLASS:
@@ -438,11 +434,9 @@ boolean creation;
return;
m_dowear_type(mon, W_AMUL, creation, FALSE);
#ifdef TOURIST
/* can't put on shirt if already wearing suit */
if (!cantweararm(mon->data) && !(mon->misc_worn_check & W_ARM))
m_dowear_type(mon, W_ARMU, creation, FALSE);
#endif
/* treating small as a special case allows
hobbits, gnomes, and kobolds to wear cloaks */
if (!cantweararm(mon->data) || mon->data->msize == MZ_SMALL)
@@ -491,11 +485,9 @@ boolean racialexception;
continue;
best = obj;
goto outer_break; /* no such thing as better amulets */
#ifdef TOURIST
case W_ARMU:
if (!is_shirt(obj)) continue;
break;
#endif
case W_ARMC:
if (!is_cloak(obj)) continue;
break;
@@ -542,11 +534,7 @@ outer_break:
best->otyp == DUNCE_CAP) && !best->cursed);
/* if wearing a cloak, account for the time spent removing
and re-wearing it when putting on a suit or shirt */
if ((flag == W_ARM
#ifdef TOURIST
|| flag == W_ARMU
#endif
) && (mon->misc_worn_check & W_ARMC))
if ((flag == W_ARM || flag == W_ARMU) && (mon->misc_worn_check & W_ARMC))
m_delay += 2;
/* when upgrading a piece of armor, account for time spent
taking off current one */
@@ -741,7 +729,6 @@ boolean polyspot;
m_useup(mon, otmp);
}
}
#ifdef TOURIST
if ((otmp = which_armor(mon, W_ARMU)) != 0) {
if (vis)
pline("%s shirt rips to shreds!", s_suffix(Monnam(mon)));
@@ -749,7 +736,6 @@ boolean polyspot;
You_hear("a ripping sound.");
m_useup(mon, otmp);
}
#endif
} else if (sliparm(mdat)) {
if ((otmp = which_armor(mon, W_ARM)) != 0) {
if (vis)
@@ -772,7 +758,6 @@ boolean polyspot;
if (polyspot) bypass_obj(otmp);
m_lose_armor(mon, otmp);
}
#ifdef TOURIST
if ((otmp = which_armor(mon, W_ARMU)) != 0) {
if (vis) {
if (sliparm(mon->data))
@@ -785,7 +770,6 @@ boolean polyspot;
if (polyspot) bypass_obj(otmp);
m_lose_armor(mon, otmp);
}
#endif
}
if (handless_or_tiny) {
/* [caller needs to handle weapon checks] */
-6
View File
@@ -2282,10 +2282,8 @@ boolean ordinary;
case WAN_LIGHT: /* (broken wand) */
/* assert( !ordinary ); */
damage = d(obj->spe, 25);
#ifdef TOURIST
case EXPENSIVE_CAMERA:
if (!damage) damage = 5;
#endif
damage = lightdamage(obj, ordinary, damage);
damage += rnd(25);
if (flashburn((long)damage)) learn_it = TRUE;
@@ -3371,10 +3369,8 @@ struct obj **ootmp; /* to return worn armor for caller to disintegrate */
tmp = MAGIC_COOKIE;
if ((otmp2 = which_armor(mon, W_ARMC)) != 0)
m_useup(mon, otmp2);
#ifdef TOURIST
if ((otmp2 = which_armor(mon, W_ARMU)) != 0)
m_useup(mon, otmp2);
#endif
}
type = -1; /* no saving throw wanted */
break; /* not ordinary damage */
@@ -3502,9 +3498,7 @@ xchar sx, sy;
/* no shield or suit, you're dead; wipe out cloak
and/or shirt in case of life-saving or bones */
if (uarmc) (void) destroy_arm(uarmc);
#ifdef TOURIST
if (uarmu) (void) destroy_arm(uarmu);
#endif
} else if (nonliving(youmonst.data) || is_demon(youmonst.data)) {
shieldeff(sx, sy);
You("seem unaffected.");
-8
View File
@@ -579,11 +579,7 @@ amii_player_selection()
{
flags.initrole = randrole();
#if 0 /* OBSOLETE */
#ifdef TOURIST
strcpy( pl_character, roles[ rnd( 11 ) ] );
#else
strcpy( pl_character, roles[ rnd( 10 ) ] );
#endif
#endif
aredone = 1;
amii_clear_nhwindow( WIN_BASE );
@@ -608,11 +604,7 @@ amii_player_selection()
case 1: /* Random Character */
flags.initrole = randrole();
#if 0 /* OBSOLETE */
#ifdef TOURIST
strcpy( pl_character, roles[ rnd( 11 ) ] );
#else
strcpy( pl_character, roles[ rnd( 10 ) ] );
#endif
#endif
amii_clear_nhwindow( WIN_BASE );
CloseShWindow( cwin );
+1 -9
View File
@@ -996,11 +996,8 @@ make_version()
| (1L << 6)
#endif
/* objects (10..14) */
#ifdef TOURIST
| (1L << 10)
#endif
#ifdef GOLDOBJ
| (1L << 11)
| (1L << 10)
#endif
/* flag bits and/or other global variables (15..26) */
#ifdef TEXTCOLOR
@@ -1339,9 +1336,6 @@ static const char *build_opts[] = {
#ifdef TIMED_DELAY
"timed wait for display effects",
#endif
#ifdef TOURIST
"tourists",
#endif
#ifdef USER_SOUNDS
# ifdef USER_SOUNDS_REGEX
"user sounds via regular expressions",
@@ -2515,11 +2509,9 @@ do_objs()
if (!strncmp(objnam, "THE_", 4))
objnam += 4;
#ifdef TOURIST
/* fudge _platinum_ YENDORIAN EXPRESS CARD */
if (!strncmp(objnam, "PLATINUM_", 9))
objnam += 9;
#endif
Fprintf(ofp,"#define\tART_%s\t%d\n", limit(objnam, 1), i);
}
-5
View File
@@ -3498,13 +3498,8 @@ void NetHackQtInvUsageWindow::paintEvent(QPaintEvent*)
drawWorn(painter,uarms,0,1); // Shield
drawWorn(painter,uarmg,0,2); // Gloves - repeated
drawWorn(painter,uarmg,2,2); // Gloves - repeated
#ifdef TOURIST
drawWorn(painter,uarmf,1,5); // Shoes (feet)
drawWorn(painter,uarmu,1,4); // Undershirt
#else
drawWorn(painter,0 ,1,5,FALSE);
drawWorn(painter,uarmf,1,4); // Shoes (feet)
#endif
drawWorn(painter,uleft,0,3); // RingL
drawWorn(painter,uright,2,3); // RingR
-11
View File
@@ -14,7 +14,6 @@
#define WORN_WIDTH 3
#define WORN_HEIGHT 6
#ifdef TOURIST
#define WORN_OBJECT_LIST /* struct obj *[WORN_HEIGHT][WORN_WIDTH] = */ { \
{ uquiver, uarmh, u.twoweap ? NULL : uswapwep }, \
{ u.twoweap ? uswapwep : NULL, ublindf, uwep }, \
@@ -23,16 +22,6 @@
{ uarmu, uarm, uskin }, \
{ uball, uarmf, uchain } \
}
#else
#define WORN_OBJECT_LIST /* struct obj *[WORN_HEIGHT][WORN_WIDTH] = */ { \
{ uquiver, uarmh, u.twoweap ? NULL : uswapwep }, \
{ u.twoweap ? uswapwep : NULL, ublindf, uwep }, \
{ uleft, uamul, uright }, \
{ uarms, uarmc, uarmg }, \
{ NULL, uarm, uskin }, \
{ uball, uarmf, uchain } \
}
#endif
static GtkWidget *worn_contents[WORN_HEIGHT][WORN_WIDTH];
static struct obj *last_worn_objects[WORN_HEIGHT][WORN_WIDTH];
-15
View File
@@ -48,31 +48,16 @@ struct conditionals {
#endif
#ifndef MAIL
{ MON_GLYPH, PM_FAMINE, "mail daemon" },
#endif
#ifndef TOURIST
{ MON_GLYPH, PM_SAMURAI, "tourist" },
#endif
/* commented out in monst.c at present */
{ MON_GLYPH, PM_SHAMAN_KARNOV, "Earendil" },
{ MON_GLYPH, PM_SHAMAN_KARNOV, "Elwing" },
#ifndef TOURIST
{ MON_GLYPH, PM_LORD_SATO, "Twoflower" },
#endif
/* commented out in monst.c at present */
{ MON_GLYPH, PM_CHROMATIC_DRAGON, "Goblin King" },
{ MON_GLYPH, PM_NEANDERTHAL, "High-elf" },
#ifndef TOURIST
{ MON_GLYPH, PM_ROSHI, "guide" },
#endif
/* objects commented out in objects.c at present */
{ OBJ_GLYPH, SILVER_DRAGON_SCALE_MAIL, "shimmering dragon scale mail" },
{ OBJ_GLYPH, SILVER_DRAGON_SCALES, "shimmering dragon scales" },
#ifndef TOURIST
{ OBJ_GLYPH, LEATHER_JACKET, "Hawaiian shirt" },
{ OBJ_GLYPH, LEATHER_JACKET, "T-shirt" },
{ OBJ_GLYPH, LOCK_PICK, "credit card" },
{ OBJ_GLYPH, MAGIC_LAMP, "expensive camera" },
#endif
/* allow slime mold to look like slice of pizza, since we
* don't know what a slime mold should look like when renamed anyway
*/