Would it be possible to name the flags as required by the tooltip, so we could do something like this:

    for each flag in powers->powers[power_cell[i].id].requires_flags
        tip.addText(msg->get("Requires a %s weapon!", flag);

I wonder if this plays well with the translations.