Ancordia_PRC8/_module/nss/craft_nextpelvis.nss
Jaysyn904 102ba7dab6 Initial Commit
Initial Commit
2023-09-21 19:51:32 -04:00

72 lines
2.2 KiB
Plaintext

#include "x2_inc_itemprop"
//This is actually the main function.
void script(object oItem, object oPC)
{
int nCurrentApp = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_PELVIS );
int nNewApp;
switch (nCurrentApp)
{
case 1: nNewApp = 2; break;
case 2: nNewApp = 3; break;
case 3: nNewApp = 4; break;
case 4: nNewApp = 5; break;
case 5: nNewApp = 6; break;
case 6: nNewApp = 7; break;
case 7: nNewApp = 8; break;
case 8: nNewApp = 9; break;
case 9: nNewApp = 10; break;
case 10: nNewApp = 13; break;
case 13: nNewApp = 14; break;
case 14: nNewApp = 15; break;
case 15: nNewApp = 16; break;
case 16: nNewApp = 17; break;
case 17: nNewApp = 18; break;
case 18: nNewApp = 19; break;
case 19: nNewApp = 20; break;
case 20: nNewApp = 21; break;
case 21: nNewApp = 22; break;
case 22: nNewApp = 23; break;
case 23: nNewApp = 24; break;
case 24: nNewApp = 25; break;
case 25: nNewApp = 26; break;
case 26: nNewApp = 28; break;
case 28: nNewApp = 29; break;
case 29: nNewApp = 37; break;
case 37: nNewApp = 63; break;
case 63: nNewApp = 121; break;
case 121: nNewApp = 122; break;
case 122: nNewApp = 123; break;
case 123: nNewApp = 124; break;
case 124: nNewApp = 1; break;
default: nNewApp = 1; break;
}
object oModified = CopyItemAndModify(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_PELVIS, nNewApp, TRUE);
SetItemCursedFlag(oModified, TRUE);
if (oModified != OBJECT_INVALID) DestroyObject(oItem);
ExecuteScript("craft_pcequip", oPC);
return;
}
void main()
{
object oPC = GetPCSpeaker();
int nSlot = 0;
object oItem;
//Check if the item being crafted is equipped
while (nSlot < 18)
{
oItem = GetItemInSlot(nSlot, oPC);
if (GetLocalInt(oItem, "Prototype") == TRUE) {script(oItem, oPC); return; }
nSlot++;
}
//If the item is not equipped, search for it in the inventory
oItem = GetFirstItemInInventory(oPC);
while (GetIsObjectValid(oItem))
{
if (GetLocalInt(oItem, "Prototype") == TRUE) {script(oItem, oPC); return; }
oItem = GetNextItemInInventory(oPC);
}
}