void spell_bless(byte level, struct char_data *ch,		void spell_bless(byte level, struct char_data *ch,
  struct char_data *victim, struct obj_data *obj)		  struct char_data *victim, struct obj_data *obj)
{								{
  struct affected_type af;					  struct affected_type af;
							      |	  
  assert(ch && (victim || obj));			      |	  if(ch && (victim || obj)){
    assert((level >= 0) && (level <= 50));		      |	  
							      |	    if (obj) {
  if (obj) {						      |	      if((5*level > GET_OBJ_WEIGHT(obj)) &&
    if ( (5*GET_LEVEL(ch) > GET_OBJ_WEIGHT(obj)) &&	      |	        (GET_POS(ch) != POSITION_FIGHTING) &&
    (GET_POS(ch) != POSITION_FIGHTING) &&		      |	        !IS_OBJ_STAT(obj, ITEM_EVIL)) {
    !IS_OBJ_STAT(obj, ITEM_EVIL)) {			      |	          SET_BIT(obj->obj_flags.extra_flags, ITEM_BLESS);
      SET_BIT(obj->obj_flags.extra_flags, ITEM_BLESS);	      |	          act("$p briefly glows.",FALSE,ch,obj,0,TO_CHAR);
      act("$p briefly glows.",FALSE,ch,obj,0,TO_CHAR);	      |	      }
    }							      |	         } else {
  } else {						      |	      if(!victim)return;
							      |	      if (affected_by_spell(victim, SPELL_BLESS))
    if ((GET_POS(victim) != POSITION_FIGHTING) &&	      |	        affect_from_char(victim, SPELL_BLESS);
    (!affected_by_spell(victim, SPELL_BLESS))) {	      |	  
      							      |	      send_to_char("The spectral image of a raven soars down 
      send_to_char("You feel righteous.\n\r", victim);	      <
      af.type      = SPELL_BLESS;				      af.type      = SPELL_BLESS;
      af.duration  = 6+level;					      af.duration  = 6+level;
      af.modifier  = 1;					      |	                af.modifier  = 5;
      af.location  = APPLY_HITROLL;				      af.location  = APPLY_HITROLL;
      af.bitvector = 0;					      |	      af.bitvector = 0;   
      affect_to_char(victim, &af);				      affect_to_char(victim, &af);
      								      
      af.location = APPLY_SAVING_SPELL;				      af.location = APPLY_SAVING_SPELL;
      af.modifier = -1;                 /* Make better */	      af.modifier = -1;                 /* Make better */
      affect_to_char(victim, &af);				      affect_to_char(victim, &af);
    }								    }
  }								  }
}								}

