//NOTE: I don't know who originally created this system, however //Genisys (Guile) modified this on 9/15/08 for 1.69 int GetNextTorsoIndex( object oItem) { int iIndex = GetItemAppearance( oItem, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_TORSO); iIndex++; //****************************CLOTHING INDEX********************************* if( iIndex == 0) { iIndex = 1; return iIndex; } else if( iIndex == 2) { iIndex = 3; return iIndex; } else if( iIndex == 4) { iIndex = 5; return iIndex; } else if( iIndex == 10) { iIndex = 12; return iIndex; } else if( iIndex == 13) { iIndex = 19; return iIndex; } else if( iIndex == 20) { iIndex = 39; return iIndex; } else if( iIndex == 40) { iIndex = 50; return iIndex; } else if( iIndex == 51) { iIndex = 110; //CEP2.2 return iIndex; } else if( iIndex == 112) { iIndex = 113; return iIndex; } else if( iIndex == 115) { iIndex = 116; return iIndex; } else if( iIndex == 117) { iIndex = 119; return iIndex; } else if( iIndex == 120) { iIndex = 150; return iIndex; } else if( iIndex == 160) { iIndex = 163; return iIndex; } else if( iIndex == 178) { iIndex = 1; return iIndex; //Start Over On Clothes... } //****************************LEATHER INDEX****************************** else if( iIndex == 21) { iIndex = 28; return iIndex; } else if( iIndex == 21) { iIndex = 28; return iIndex; } else if( iIndex == 29) { iIndex = 40; return iIndex; } else if( iIndex == 41) { iIndex = 10; //Start Studded Leather Index return iIndex; } //***************STUDDED LEATHER INDEX ************************ else if( iIndex == 11) { iIndex = 13; return iIndex; } else if( iIndex == 14) { iIndex = 16; return iIndex; } else if( iIndex == 17) { iIndex = 27; return iIndex; } else if( iIndex == 28) { iIndex = 41; return iIndex; } else if( iIndex == 43) { iIndex = 49; return iIndex; } else if( iIndex == 50) { iIndex = 20; //Start Over with Leath Index.. return iIndex; } //*******************CHAIN MAIL/SHIRT INDEX********************** //AC 3 - 5 else if( iIndex == 23) { iIndex = 29; return iIndex; } else if( iIndex == 30) { iIndex = 43; return iIndex; } else if( iIndex == 45) { iIndex = 121; //CEP2.2 return iIndex; } else if( iIndex == 130) { iIndex = 4; //Start with Chain Mail.. return iIndex; } else if( iIndex == 5) { iIndex = 15; return iIndex; } else if( iIndex == 16) { iIndex = 22; return iIndex; } else if( iIndex == 23) { iIndex = 29; return iIndex; } else if( iIndex == 30) { iIndex = 34; return iIndex; } else if( iIndex == 37) { iIndex = 38; return iIndex; } else if( iIndex == 39) { iIndex = 54; return iIndex; } else if( iIndex == 57) { iIndex = 59; return iIndex; } else if( iIndex == 60) { iIndex = 63; return iIndex; } else if( iIndex == 64) { iIndex = 112; return iIndex; } else if( iIndex == 113) { iIndex = 115; return iIndex; } else if( iIndex == 116) { iIndex = 118; return iIndex; } else if( iIndex == 119) { iIndex = 210; return iIndex; } else if( iIndex == 211) { iIndex = 11; // Start Chain Shirt Index return iIndex; } //********************** BREAST PLATE INDEX ********************* //AC 6 else if( iIndex == 12) { iIndex = 17; return iIndex; } else if( iIndex == 18) { iIndex = 30; return iIndex; } else if( iIndex == 31) { iIndex = 45; return iIndex; } else if( iIndex == 46) { iIndex = 48; return iIndex; } else if( iIndex == 49) { iIndex = 120; return iIndex; } else if( iIndex == 121) { iIndex = 33; //Start Half-Plate Index return iIndex; } //*************************HALF PLATE INDEX********************* //AC 7 else if( iIndex == 34) { iIndex = 46; return iIndex; } else if( iIndex == 48) { iIndex = 51; return iIndex; } else if( iIndex == 53) { iIndex = 14; //Start Plate Index return iIndex; } //********************** PLATE INDEX ************************** //AC 8 else if( iIndex == 15) { iIndex = 21; return iIndex; } else if( iIndex == 22) { iIndex = 23; return iIndex; } else if( iIndex == 24) { iIndex = 37; return iIndex; } else if( iIndex == 38) { iIndex = 53; return iIndex; } else if( iIndex == 54) { iIndex = 57; return iIndex; } else if( iIndex == 58) { iIndex = 60; return iIndex; } else if( iIndex == 63) { iIndex = 186; return iIndex; } else if( iIndex == 187) { iIndex = 11; //Start with Breast Plates return iIndex; } return iIndex; } void main() { 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_TORSO); if( GetIsDM( oPlayer)) SendMessageToPC( oPlayer, "The index before is: " + IntToString( iIndex)); iIndex = GetNextTorsoIndex( oItem); if( GetIsDM( oPlayer)) SendMessageToPC( oPlayer, "The index after is: " + IntToString( iIndex)); object oNewItem = CopyItemAndModify( oItem, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_TORSO, iIndex, TRUE); if( GetIsObjectValid( oNewItem)) { AssignCommand( oPlayer, ActionEquipItem( oNewItem, iSlot)); DestroyObject( oItem); } else DestroyObject( oNewItem); }