41 lines
884 B
Plaintext
41 lines
884 B
Plaintext
|
|
int GetNextCloakIndex( object oCloak)
|
|
{
|
|
int iIndex = GetItemAppearance( oCloak, ITEM_APPR_TYPE_SIMPLE_MODEL, 0);
|
|
iIndex--;
|
|
int iItemtype = GetBaseItemType( oCloak);
|
|
|
|
if( iIndex == 98)
|
|
iIndex = 64;
|
|
else if( iIndex == 50)
|
|
iIndex = 31;
|
|
else if( iIndex == 0)
|
|
iIndex = 99;
|
|
|
|
return iIndex;
|
|
}
|
|
|
|
void main()
|
|
{
|
|
|
|
object oPC = GetPCSpeaker();
|
|
object oCloak = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC);
|
|
|
|
object oPlayer = oPC;
|
|
|
|
int iIndex = GetNextCloakIndex(oCloak);
|
|
|
|
if( GetIsDM( oPlayer))
|
|
SendMessageToPC( oPlayer, "The index is: " + IntToString( iIndex));
|
|
|
|
object oNewCloak = CopyItemAndModify(oCloak, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, iIndex, TRUE);
|
|
|
|
if( GetIsObjectValid(oNewCloak))
|
|
{
|
|
AssignCommand( oPlayer, ActionEquipItem(oNewCloak, INVENTORY_SLOT_CLOAK));
|
|
DestroyObject( oCloak);
|
|
}
|
|
else
|
|
DestroyObject( oNewCloak);
|
|
}
|