| 3100 | } |
| 3101 | |
| 3102 | staticfn boolean |
| 3103 | special_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 */ |
| 3147 | staticfn long |