Well, it's a brute substitution, right? So let's say you have 6 people left, and the armyQuant function returns "half-dozen". That'll be plugged in to where -STR:armyQuant- is, producing the line "Suppose they see me strolling on up with a half-dozen of strangers?" That's not grammatically correct; unlike other quantifiers, "of" isn't paired with "dozen", because English is a weird Frankenstein language that doesn't make sense.
I would advise omitting the hard-coded "of" in the dialogue and including it in the armyQuant string instead (so a "living" value of 0 would return "couple of" rather than "couple", for instance).