1
0
Fork 0
mirror of https://codeberg.org/noisytoot/notnotdnethack.git synced 2025-01-12 01:59:55 +00:00

New item: striped hat

Same effects as a striped shirt (except it's worse because it can't be
hidden).  Octopode convicts start with it instead of a striped shirt.
This commit is contained in:
Ron Nazarov 2024-11-14 03:03:41 +00:00
parent 73bc6b19a4
commit b0a41e1c35
Signed by: noisytoot
GPG key ID: 1D43EF4F4492268B
7 changed files with 19 additions and 3 deletions

View file

@ -19,7 +19,7 @@ Octopode race
Creates a radius 5 magenta ink cloud centered on you, which:
Blinds non-octopode monsters with eyes for 8 turns and while they remain in the cloud
Blocks monsters within from using scent
Has a 1/20 chance of recolouring piece of worn armour to magenta each turn,
Has a 1/20 chance of recolouring a piece of worn armour to magenta each turn,
resisted by being waterproof or being an octopode
(Parasitized) Android Illithanachronounbinder
Not nonliving (the parasite is alive)
@ -107,3 +107,6 @@ New option: QUERYTYPE
# Reset everything to default
#QUERYTYPE=default ".*"
#swim works when flying/water-walking if you are able to survive underwater
New item: striped hat
Same effects as a striped shirt (except it's worse because it can't be hidden)
Octopode convicts start with it instead of a striped shirt

View file

@ -1330,6 +1330,7 @@ struct obj {
|| otmp->otyp == DUNCE_CAP \
|| otmp->otyp == WAR_HAT \
|| otmp->otyp == SHEMAGH \
|| otmp->otyp == STRIPED_HAT \
|| otmp->otyp == find_gcirclet() \
)
#define arm_blocks_upper_body(onum) (objects[onum].oc_dtyp&UPPER_TORSO_DR)

View file

@ -415,6 +415,7 @@ Helmet_on(void)
case HARMONIUM_HELM:
case HELM_OF_BRILLIANCE:
case SUNLIGHT_MAGGOT:
case STRIPED_HAT:
break;
case CORNUTHAUM:
/* people think marked wizards know what they're talking
@ -535,6 +536,7 @@ Helmet_off(void)
case ORCISH_HELM:
case HARMONIUM_HELM:
case SUNLIGHT_MAGGOT:
case STRIPED_HAT:
break;
case DUNCE_CAP:
flags.botl = 1;

View file

@ -2055,6 +2055,7 @@ material_list(struct obj *obj)
case HAWAIIAN_SHIRT:
case HAWAIIAN_SHORTS:
case STRIPED_SHIRT:
case STRIPED_HAT:
case ICHCAHUIPILLI:
case RUFFLED_SHIRT:
case VICTORIAN_UNDERWEAR:

View file

@ -729,6 +729,8 @@ HELM(("shemagh", "headscarf"), /*Needs encyc entry*//*Needs tile*/
0, 0, 0, 0, 5, 5, 10, 0, 0, CLOTH, CLR_WHITE, O_MATSPEC(UNIDED)),
HELM(("faceless helm"), /*Needs encyc entry*//*Needs tile*/
1, 0, 0, 2, 30, 300, 8, 5, 0, BONE, CLR_GRAY, O_MATSPEC(IDED)),
HELM(("striped hat", (char *)0, "hat"), /*Needs encyc entry*/
1, 0, 0, 0, 3, 2, 10, 0, 0, CLOTH, CLR_GRAY),
/* With shuffled appearances... */
HELM(("helmet", "plumed helmet"), /* circlet */

View file

@ -647,8 +647,10 @@ u_entered_shop(register char *enterstring)
verbalize("Invisible customers are not welcome!");
return;
}
/* Visible striped prison shirt */
if ((uarmu && (uarmu->otyp == STRIPED_SHIRT)) && !(uarm && arm_blocks_upper_body(uarm->otyp)) && !uarmc && strcmp(shkname(shkp), "Izchak") != 0) {
/* Visible striped prison shirt or hat */
if (((uarmh && uarmh->otyp == STRIPED_HAT)
|| ((uarmu && uarmu->otyp == STRIPED_SHIRT) && !(uarm && arm_blocks_upper_body(uarm->otyp)) && !uarmc))
&& strcmp(shkname(shkp), "Izchak") != 0) {
eshkp->pbanned = TRUE;
}

View file

@ -914,6 +914,8 @@ static struct inv_sub { short race_pm, item_otyp, subs_otyp; } inv_subs[] = {
// Chiropteran substitutions
{ PM_CHIROPTERAN, HIGH_BOOTS, GAUNTLETS },
{ PM_CHIROPTERAN, LOW_BOOTS, GLOVES },
// Octopode substitutions
{ PM_OCTOPODE, STRIPED_SHIRT, STRIPED_HAT },
{ NON_PM, STRANGE_OBJECT, STRANGE_OBJECT }
};
@ -3382,6 +3384,9 @@ ini_inv(register struct trobj *trop)
if (obj->otyp == STRIPED_SHIRT ) {
obj->cursed = TRUE;
}
if (obj->otyp == STRIPED_HAT ) {
obj->cursed = TRUE;
}
if (obj->otyp == STRAITJACKET ) {
obj->cursed = TRUE;
}