act_new change.

add long flag at the end of function name

	after this
        if ( type == TO_NOTVICT && (to == ch || to == vch) )            
		continue;

	before this
        point   = buf;
        str     = format;

	add this
	// this will stop you from getting messages that are un-wanted.
	if(flag != 0 && IS_SET(ch->ignore_flag, flag))
		continue;

in macros.h change the act macro...

#define act(format,ch,arg1,arg2,type)\	
	act_new((format),(ch),(arg1),(arg2),(type),POS_RESTING, 0)

and add

#define combat_act(format,ch,arg1,arg2,type, flag)\
	act_new((format),(ch),(arg1),(arg2),(type),POS_RESTING, (flag))

add in prototypes.h to the act_new function...
	long flag


add these to defines.h

#define IGNORE_DODGE      (A)
#define IGNORE_PARRY      (B)
#define IGNORE_SHIELD     (C)
#define IGNORE_MISS   	  (D)
#define IGNORE_CASTING    (E)
#define IGNORE_SKILLS     (F)


in combat.c in check-parry

change the act statements to..

combat_act, and at the end, add this.  IGNORE_DODGE

Go through and change all corosponding acts to the new system.

in act_info.c add this.

const struct flag_type filter_table[] = {
	{ "dodge",	IGNORE_DODGE,	TRUE },
	{ "parry",	IGNORE_PARRY,	TRUE },
	{ "shield",	IGNORE_SHIELD,	TRUE },
	{ "cast",	IGNORE_CASTING,	TRUE },
	{ "skills",	IGNORE_SKILLS,	TRUE },
	{ NULL,		0,		FALSE},
};

// for filtering what act messages you get (cuts back on combat-spam)
// This can be used to filter out other things aswell  But only time will tell how far we go with the filters!
COMMAND(cmd_filters) {

	if(NullString(argument)) {
		int col = 0;
		for(int x = 0; filter_table[x].name != NULL; x++) {
			ch->Sendf("%15s (%3s)\t", filter_table[x].name, IS_SET(ch->ignore_flags, filter_table[x].bit) ? "On" : "Off");
			col++;
			if(col == 3) {
				col = 0;
				ch->Sendf("\n\r");
			}
		}

		ch->Sendf("Syntax: filter <name> to toggle on/off!\n\r");
		return;
	}

	for(int x = 0; filter_table[x].name != NULL; x++) {
		if(!str_cmp(argument, filter_table[x].name)) {
			if(IS_SET(ch->ignore_flags, filter_table[x].bit))
				REMOVE_BIT(ch->ignore_flags, filter_table[x].bit);
			else
				SET_BIT(ch->ignore_flags, filter_table[x].bit);
			
			ch->Sendf("%s has been turned %s\r\n", filter_table[x].name, IS_SET(ch->ignore_flags, filter_table[x].bit) ? "On" : "Off");
			return;
		}
	}

	ch->Sendf("That filter does not exist!\r\n");
	return;
}