int GetNextHandIndex( int iIndex)
{

  if( iIndex == 185) //CEP2.2
    iIndex = 181;

  else if( iIndex == 180)
  iIndex = 175;

  else if( iIndex == 174)
    iIndex = 155;

  else if( iIndex == 149)
    iIndex = 122;

  else if( iIndex == 120)
  iIndex = 113;

  else if( iIndex == 108)
  iIndex = 63;

  else if( iIndex == 62)
  iIndex = 9;

  else if( iIndex == 2)
  iIndex = 1;

  else if( iIndex >= 0)
  iIndex = 186;

  return iIndex;
}

void main()
{
  //First line of the item customization script
  object oPlayer = GetPCSpeaker();
  int iSlot = GetLocalInt( OBJECT_SELF, "iSlot");
  object oItem = GetItemInSlot( iSlot, oPlayer);
  int iIndex = GetItemAppearance( oItem, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LHAND);

  if( GetIsDM( oPlayer))
    SendMessageToPC( oPlayer, "The index before is: " + IntToString( iIndex));

  iIndex--;
  iIndex = GetNextHandIndex( iIndex);

  if( GetIsDM( oPlayer))
    SendMessageToPC( oPlayer, "The index after is: " + IntToString( iIndex));

  object oNewItem = CopyItemAndModify( oItem, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LHAND, iIndex, TRUE);

  if( GetIsObjectValid( oNewItem))
  {
    AssignCommand( oPlayer, ActionEquipItem( oNewItem, iSlot));
    DestroyObject( oItem);
  }
  else
    DestroyObject( oNewItem);
}