The server I work on has a different way of handling that area of code than the stock source, but that should be the line for the stock source.
the whole check should look like this:
Code:
// solar: check line of sight to target if it's a detrimental spell
if(spell_target && IsDetrimentalSpell(spell_id) && !CheckLosFN(spell_target) && !IsHarmonySpell(spell_id) && spells[spell_id].id != 982)
{
mlog(SPELLS__CASTING, "Spell %d: cannot see target %s", spell_target->GetName());
Message_StringID(13,CANT_SEE_TARGET);
return false;
}
The only problem is that I cant test it myself.
EDIT: Have you tryed testing CT out in the open and ensure that he is actually doing multiple DTs as expected? Our server had an issue with timing DTs, and we moved the actual DT to a perl script.