Edit2:  Argh, nope, I'm stumped and need help. 
 Well, post the code you have and we'll help... I'll try to help that is. 
 
 But as much as we need a base, we need to know your intention too... perhaps a negating might work at a good spot, or using this:
COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~ //this makes it take every item file to processing
  PATCH_IF (SOURCE_SIZE > 0x71) BEGIN //this protects from invalid items
    READ_SHORT 0x1c temp_type ELSE 0 //the ELSE assumes zero if the item is invalid... and the temp_type is read to be * 
    PATCH_IF (temp_type > 189) BEGIN // only patch known armors and shields
      SET miscast_percent = 0
      
      PATCH_IF (temp_type == 190) BEGIN // buckler
        SET miscast_percent = 5
      END ELSE
      PATCH_IF (temp_type == 191) BEGIN // small shield
        SET miscast_percent = 5
      END ELSE
      PATCH_IF (temp_type == 192) BEGIN // medium shield
        SET miscast_percent = 15
      END ELSE
      PATCH_IF (temp_type == 194) BEGIN // large/tower shield
        SET miscast_percent = 50
      END ELSE
      PATCH_IF (temp_type == 201 || temp_type == 211) BEGIN // chain mail, normal and thieving
        SET miscast_percent = 30
      END ELSE
      PATCH_IF (temp_type == 202) BEGIN // elven chain 
        SET miscast_percent = 0
      END ELSE
      PATCH_IF (temp_type == 203) BEGIN // full plate
        SET miscast_percent = 50
      END ELSE
      PATCH_IF (temp_type == 204) BEGIN // hide armor
        SET miscast_percent = 20
      END ELSE
      PATCH_IF (temp_type == 205) BEGIN // plate mail
        SET miscast_percent = 40
      END ELSE
      PATCH_IF (temp_type == 206) BEGIN // scale armor
        SET miscast_percent = 30
      END ELSE
      PATCH_IF (temp_type == 207) BEGIN // splint mail
        SET miscast_percent = 40
      END ELSE
      PATCH_IF (temp_type == 208 || temp_type == 218) BEGIN // studded leather, normal and 'thieving'
        SET miscast_percent = 15
      END ELSE
      PATCH_IF (temp_type == 209) BEGIN // leather armor
        SET miscast_percent = 10
      END ELSE
      PATCH_IF (temp_type > 220) BEGIN // non-spellcasting restrictive armor
        SET miscast_percent = 0
      END You just have to make the action line "SET miscast_percent = x" to what you like and remove the elf armor, the shields etc of course...
The * is 
itm files 
type reference. Don't know how up to date the link is, as I used the 
G3's file format last time, but as the 
G3 is down...
					
					
					
							Edited by Jarno Mikkola, 06 May 2011 - 11:06 PM.