Hey all 
This is my first patch for circlemud :)
I am not very good at coding so this code might not be very optimized
or good but it can perform what it shall :)

This patch is for circlemud 3.0 bpl 15 with oasis!
but what I've done I'll write shortly here

1. I added two more to the struct social_messg
   added these two lines before the struct def ends:
        char *object_char;
        char *object_others;

2. changed the do_action a lot
   here is what mine looks like:

ACMD(do_action)
{              
  int act_nr;
  struct social_messg *action;
  struct char_data *vict;     
  struct obj_data *obj;  
                       
  if ((act_nr = find_action(cmd)) < 0) {
    send_to_char("That action is not supported.\r\n", ch);
    return;                                               
  }        
  action = &soc_mess_list[act_nr];
                                  
  if (action->char_found && argument)
    one_argument(argument, buf);     
  else                          
    *buf = '\0';
                
  if (!*buf) {
    send_to_char(action->char_no_arg, ch);
    send_to_char("\r\n", ch);             
        send_to_char("\r\n", ch);
        act(action->others_auto, action->hide, ch, 0, 0, TO_ROOM);
} else if ((obj = get_obj_vis(ch,buf))) 
{
        act(action->object_char, 0, ch, obj, 0,TO_CHAR); 
        act(action->object_others, 0, ch, obj, 0,TO_ROOM);
} else {
        send_to_char(action->not_found, ch);                
        send_to_char("\r\n", ch); 
}
 
}

3. I changed in the boot_socials_messages

there is a lot of : soc_mess_list[curr_soc].structitem = fread...
I added these lines after this line: soc_mess_list[curr_soc].others_auto = fread_action(fl, nr);
I added this :
    soc_mess_list[curr_soc].object_char = fread_action(fl,nr);
    if(strcmp(soc_mess_list[curr_soc].object_char,"") != NULL)
    {
        soc_mess_list[curr_soc].object_others = fread_action(fl,nr);
    }

and that is it :)
then you can put first socials for the user and then for the room at the
end of each social in the socials file

hope you'll find this usefull and if you have any modifications please
send them to me

it gives a warning on compile but ignore it this works fine for me at least :)


--------
Digital regards
             Lars Johannesen  aka. Cipherz of SlamSoft
             cipherz@slamsoft.dk
             www.slamsoft.dk
             
            


