conditions this is irrelevant because al messages stop shift-run and rest).
Allow individual interrupts to be disabled for an activity using -=. For instance, interrupt_rest -= message will disable the stop-resting-for-any-silly-message behaviour (and also make stop_travel relevant to resting).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@761 c06c8d41-db1a-0410-9941-cceddc491573
KU6YUIJWXZSNTABFB36HDEEZ6LTY7O4VKI3RNFBQE3LEYZCT3XQQC
if (!append_interrupts)
clear_activity_interrupts(eints);
if (remove_interrupts)
{
FixedVector<bool, NUM_AINTERRUPTS> refints;
clear_activity_interrupts(refints);
for (int i = 0, size = interrupts.size(); i < size; ++i)
set_activity_interrupt(refints, interrupts[i]);
std::vector<std::string> interrupts = split_string(",", interrupt_names);
for (int i = 0, size = interrupts.size(); i < size; ++i)
set_activity_interrupt(eints, interrupts[i]);
for (int i = 0; i < NUM_AINTERRUPTS; ++i)
if (refints[i])
eints[i] = false;
}
else
{
if (!append_interrupts)
clear_activity_interrupts(eints);
for (int i = 0, size = interrupts.size(); i < size; ++i)
set_activity_interrupt(eints, interrupts[i]);
}