I went digging thru the CS, trying to find out just why this was so, and it appears that, according to the CS, they all use the same mesh, and icon. But, in my inventory, I can see that the icons are indeed different. I am real curious what is going on here. Here is the script in question:
Spoiler
scn aaaDisensoul
ref Item
Begin Function { Item }
if ( GetSoulLevel Item == 0 )
Message "This Soulgem Is Already Empty!"
Return
endif
if ( NameIncludes "Petty" Item || nameincludes "soul gem I" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 23d67 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Lesser" Item || nameincludes "soul gem II" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 23d69 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Common" Item || nameincludes "soul gem III" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 15b8b 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Greater" Item || nameincludes "soul gem IV" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 15b8c 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Grand" Item || nameincludes "soul gem V" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 15b8e 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Black" Item )
Player.RemoveItemNS Item 1
Player.AddItemNS BlackSoulGem 1
MessageEx "%n: Disensouled!" Item
Return
else
MessageEx "%n: Cannot Be Disensouled!" Item
Return
endif
End
ref Item
Begin Function { Item }
if ( GetSoulLevel Item == 0 )
Message "This Soulgem Is Already Empty!"
Return
endif
if ( NameIncludes "Petty" Item || nameincludes "soul gem I" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 23d67 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Lesser" Item || nameincludes "soul gem II" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 23d69 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Common" Item || nameincludes "soul gem III" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 15b8b 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Greater" Item || nameincludes "soul gem IV" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 15b8c 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Grand" Item || nameincludes "soul gem V" item )
Player.RemoveItemNS Item 1
Player.AddItemNS 15b8e 1
MessageEx "%n: Disensouled!" Item
Return
elseif ( NameIncludes "Black" Item )
Player.RemoveItemNS Item 1
Player.AddItemNS BlackSoulGem 1
MessageEx "%n: Disensouled!" Item
Return
else
MessageEx "%n: Cannot Be Disensouled!" Item
Return
endif
End