? "I'll take care of that; please move along."
: "I'll take that; now get moving.");
} else if (is_mercenary(mtmp->data)) {
+ boolean was_angry = !mtmp->mpeaceful;
long goldreqd = 0L;
- if (rn2(3)) {
- if (mtmp->data == &mons[PM_SOLDIER])
- goldreqd = 100L;
- else if (mtmp->data == &mons[PM_SERGEANT])
- goldreqd = 250L;
- else if (mtmp->data == &mons[PM_LIEUTENANT])
- goldreqd = 500L;
- else if (mtmp->data == &mons[PM_CAPTAIN])
- goldreqd = 750L;
-
- if (goldreqd) {
- umoney = money_cnt(g.invent);
- if (value
- > goldreqd
- + (umoney + u.ulevel * rn2(5)) / ACURR(A_CHA))
- mtmp->mpeaceful = TRUE;
- }
+ if (mtmp->data == &mons[PM_SOLDIER])
+ goldreqd = 100L;
+ else if (mtmp->data == &mons[PM_SERGEANT])
+ goldreqd = 250L;
+ else if (mtmp->data == &mons[PM_LIEUTENANT])
+ goldreqd = 500L;
+ else if (mtmp->data == &mons[PM_CAPTAIN])
+ goldreqd = 750L;
+
+ if (goldreqd && rn2(3)) {
+ umoney = money_cnt(g.invent);
+ goldreqd += (umoney + u.ulevel * rn2(5)) / ACURR(A_CHA);
+ if (value > goldreqd)
+ mtmp->mpeaceful = TRUE;
}
- if (mtmp->mpeaceful)
+
+ if (!mtmp->mpeaceful) {
+ if (goldreqd)
+ verbalize("That's not enough, coward!");
+ else /* unbribeable (watchman) */
+ verbalize("I don't take bribes from scum like you!");
+ } else if (was_angry) {
verbalize("That should do. Now beat it!");
- else
- verbalize("That's not enough, coward!");
+ } else {
+ verbalize("Thanks for the tip, %s.",
+ flags.female ? "lady" : "buddy");
+ }
}
return TRUE;
}