+ /* choking hug/throttling grab uses hands (gloves or rings);
+ normal hug uses outermost of cloak/suit/shirt */
+ specialdmg = special_dmgval(&youmonst, mon,
+ byhand ? (W_ARMG | W_RINGL | W_RINGR)
+ : (W_ARMC | W_ARM | W_ARMU),
+ &silverhit);
+ if (unconcerned) {
+ /* strangling something which can't be strangled */
+ if (mattk != &alt_attk) {
+ alt_attk = *mattk;
+ mattk = &alt_attk;
+ }
+ /* change damage to 1d1; not strangling but still
+ doing [minimal] physical damage to victim's body */
+ mattk->damn = mattk->damd = 1;
+ /* don't give 'unconcerned' feedback if there is extra damage
+ or if it is nearly destroyed or if creature doesn't have
+ the mental ability to be concerned in the first place */
+ if (specialdmg || mindless(mon->data)
+ || mon->mhp <= 1 + max(u.udaminc, 1))
+ unconcerned = FALSE;
+ }
+ if (mon->data == &mons[PM_SHADE]) {
+#if 0 /*JP*/
+ const char *verb = byhand ? "grasp" : "hug";
+#endif
+
+ /* hugging a shade; successful if blessed outermost armor
+ for normal hug, or blessed gloves or silver ring(s) for
+ choking hug; deals damage but never grabs hold */
+ if (specialdmg) {
+#if 0 /*JP*/
+ You("%s %s%s", verb, mon_nam(mon), exclam(specialdmg));
+#else
+ You("%s\82ð\82Â\82©\82ñ\82¾%s", mon_nam(mon), exclam(specialdmg));
+#endif
+ if (silverhit && flags.verbose)
+ silver_sears(&youmonst, mon, silverhit);
+ sum[i] = damageum(mon, mattk, specialdmg);
+ } else {
+#if 0 /*JP:T*/
+ Your("%s passes harmlessly through %s.",
+ verb, mon_nam(mon));
+#else
+ You("%s\82ð\82Â\82©\82Ü\82¦\82æ\82¤\82Æ\82µ\82½\82ª\92Ê\82è\82Ê\82¯\82½\81D",
+ mon_nam(mon));
+#endif
+ }
+ break;
+ }
+ /* hug attack against ordinary foe */
+ if (mon == u.ustuck) {