sorry for the necroposting but I found a solution for this in client 20180621 for adding shields without replacing existing ones, dunno if it works in older versions, but don't loose anything trying out.
just assign the item id to the belonging job sprite name
example female and male thief, I made a custom recolor for the unity buckler
·Î±×_³²_28905_¹æÆÐ
So i added the shield new sprite, act, and named with the item id follow by a _¹æÆÐ and this is the result:
Party Ragnarok 2020-04-29 04-52-05.mp4
ID view or Classnum in iteminfo.lua do not matter, I realized that!, when finding that bloody knight shield classnum was 1, so that do not matter since you have assigned the sprite for each possible job that can equip the gear, the id view works to cover missing sprites, if the sprite do not exist and the idview is 1 the client will show a guard instead.