MCPcopy Create free account
hub / github.com/NetHack/NetHack / special_stock

Function special_stock

src/shk.c:3102–3144  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3100}
3101
3102staticfn boolean
3103special_stock(
3104 struct obj *obj,
3105 struct monst *shkp,
3106 boolean quietly)
3107{
3108 /* for unique situations */
3109 if (ESHK(shkp)->shoptype == CANDLESHOP
3110 && obj->otyp == CANDELABRUM_OF_INVOCATION) {
3111 if (!quietly) {
3112 if (is_izchak(shkp, TRUE) && !u.uevent.invoked) {
3113 if (Deaf || muteshk(shkp)) {
3114 pline("%s seems %s that you want to sell that.",
3115 Shknam(shkp),
3116 (obj->spe < 7) ? "horrified" : "concerned");
3117 } else {
3118 SetVoice(shkp, 0, 80, 0);
3119 verbalize("No thanks, I'd hang onto that if I were you.");
3120 if (obj->spe < 7) {
3121 SetVoice(shkp, 0, 80, 0);
3122 verbalize(
3123 "You'll need %d%s candle%s to go along with it.",
3124 (7 - obj->spe), (obj->spe > 0) ? " more" : "",
3125 plur(7 - obj->spe));
3126 }
3127 /* [what if hero is already carrying enough candles?
3128 should Izchak explain how to attach them instead?] */
3129 }
3130 } else {
3131 if (!Deaf && !muteshk(shkp)) {
3132 SetVoice(shkp, 0, 80, 0);
3133 verbalize("I won't stock that. Take it out of here!");
3134 } else {
3135 pline("%s shakes %s %s in refusal.",
3136 Shknam(shkp), noit_mhis(shkp),
3137 mbodypart(shkp, HEAD));
3138 }
3139 }
3140 }
3141 return TRUE;
3142 }
3143 return FALSE;
3144}
3145
3146/* calculate how much the shk will pay when buying [all of] an object */
3147staticfn long

Callers 1

sellobjFunction · 0.85

Calls 5

is_izchakFunction · 0.85
ShknamFunction · 0.85
verbalizeFunction · 0.85
mbodypartFunction · 0.85
plineFunction · 0.70

Tested by

no test coverage detected