    // Reflect returns the spell in full, but 1/3 still hits the target //Celtron

    reflect = ob->query_skills("reflect spell") - (caster->query_skills("reflect spell")*3/4);
    reflect -= caster->query_antireflect_bonus();
    reflect -= call_other( MASTERY_D , "query_mastery", "true faith of Izyldran" , caster)/10;
    if(caster->query_wiz()) write(reflect+" and "+effect_bonus+".\n");
    if (reflect > random(effect_bonus)) {
        tell_object(caster, ob->query_name()+ " reflects a part of your spell and it hits YOU!\n");
        tell_object(ob, "You manage to reflect a part of " + caster->query_name() + "'s spell on " +
                caster->query_objective() + "self!\n");
        ob->casting_sp_reduce((boost/2));
        damage = damage / 3;
    }
    if  (random(ob->query_dex() + 500) < ob->query_dex())
        {
         tell_object(caster, target+" avoids part of the blast!\n");
         tell_object(ob, "You avoid part of the blast!\n");

         if(caster->query_skills("proximity blast") > random(101))
           {
            tell_object(caster, "..but the spell still hits "+ob->query_name()+"!\n");
            tell_object(ob, "..but the spell still hits you!\n");
           }
            else
           {
            damage = damage / 2;
           }
         }
    if (ob->query_resists(dam_type) == 100)     {
        tell_object(caster, target+ " is COMPLETELY unharmed!\n");
    }
    else if (ob->query_resists(dam_type) >= 90) {
        tell_object(caster, target + " seems unharmed!\n");
    }
    else if (ob->query_resists(dam_type) >= 70) {
        tell_object(caster, target+ " seems to shrug off the "+text_word2+"!\n");
    }

