Initial Commit
Initial Commit
This commit is contained in:
110
_module/nss/craft_itemprop.nss
Normal file
110
_module/nss/craft_itemprop.nss
Normal file
@@ -0,0 +1,110 @@
|
||||
int MaxAppearanceIndex(object oItem, int nPart, int nColor)
|
||||
{
|
||||
int nMax1;
|
||||
int nMax2;
|
||||
int nMax3;
|
||||
int nMax4;
|
||||
int nMax5;
|
||||
int nMax6;
|
||||
int nMin = 1;
|
||||
int nMax;
|
||||
int nTotal = 0;
|
||||
int nColors = 0;
|
||||
switch (GetBaseItemType(oItem))
|
||||
{
|
||||
case BASE_ITEM_BOLT: { nMax1 = 3; nMax2 = 6; nMax3 = 3; nColors = 4; } break;
|
||||
case BASE_ITEM_ARROW: { nTotal = 3; nMax4 = 7; nMax5 = 1; nMax6 = 7; } break;
|
||||
case BASE_ITEM_LONGBOW: { nTotal = 8; nColors = 4; } break;
|
||||
case BASE_ITEM_SHORTBOW: { nTotal = 6; nColors = 4; } break;
|
||||
case BASE_ITEM_HEAVYCROSSBOW: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_LIGHTCROSSBOW: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_HALBERD: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_SCYTHE: { nTotal = 3; nColors = 4; } break;
|
||||
case BASE_ITEM_TRIDENT: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_SHORTSPEAR: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_MAGICSTAFF: { nTotal = 6; nColors = 4; } break;
|
||||
case BASE_ITEM_KAMA: { nTotal = 1; nColors = 4; } break;
|
||||
case BASE_ITEM_KUKRI: { nTotal = 1; nColors = 4; } break;
|
||||
case BASE_ITEM_SICKLE: { nTotal = 1; nColors = 4; } break;
|
||||
case BASE_ITEM_THROWINGAXE: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_LIGHTMACE: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_HEAVYFLAIL: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_LIGHTFLAIL: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_CLUB: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_LIGHTHAMMER: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_WARHAMMER: { nTotal = 6; nColors = 4; } break;
|
||||
case BASE_ITEM_MORNINGSTAR: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_QUARTERSTAFF: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_TWOBLADEDSWORD: { nTotal = 3; nColors = 4; } break;
|
||||
case BASE_ITEM_DOUBLEAXE: { nTotal = 3; nColors = 4; } break;
|
||||
case BASE_ITEM_DIREMACE: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_LONGSWORD: { nTotal = 10; nColors = 4; } break;
|
||||
case BASE_ITEM_KATANA: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_RAPIER: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_SCIMITAR: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_SHORTSWORD: { nTotal = 6; nColors = 4; } break;
|
||||
case BASE_ITEM_BASTARDSWORD: { nTotal = 6; nColors = 4; } break;
|
||||
case BASE_ITEM_DAGGER: { nTotal = 6; nColors = 4; } break;
|
||||
case BASE_ITEM_GREATSWORD: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_BATTLEAXE: { nTotal = 6; nColors = 4; } break;
|
||||
case BASE_ITEM_HANDAXE: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_GREATAXE: { nTotal = 4; nColors = 4; } break;
|
||||
case BASE_ITEM_BULLET: { nMax = 8; } break;
|
||||
case BASE_ITEM_SHURIKEN: { nMax = 3; } break;
|
||||
case BASE_ITEM_DART: { nMax = 3; } break;
|
||||
case BASE_ITEM_SLING: { nMax = 16; } break;
|
||||
}
|
||||
if (nTotal != 0) {nMax1 = nTotal; nMax2 = nTotal; nMax3 = nTotal; }
|
||||
if (nColors != 0) {nMax4 = nColors; nMax5 = nColors; nMax6 = nColors; }
|
||||
|
||||
if (nColor == TRUE)
|
||||
{
|
||||
switch (nPart)
|
||||
{
|
||||
case ITEM_APPR_WEAPON_COLOR_TOP: { nMax = nMax4; } break;
|
||||
case ITEM_APPR_WEAPON_COLOR_MIDDLE: { nMax = nMax5; } break;
|
||||
case ITEM_APPR_WEAPON_COLOR_BOTTOM: { nMax = nMax6; } break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (nPart)
|
||||
{
|
||||
case ITEM_APPR_WEAPON_MODEL_TOP: { nMax = nMax1; } break;
|
||||
case ITEM_APPR_WEAPON_MODEL_MIDDLE: { nMax = nMax2; } break;
|
||||
case ITEM_APPR_WEAPON_MODEL_BOTTOM: { nMax = nMax3; } break;
|
||||
}
|
||||
}
|
||||
|
||||
return nMax;
|
||||
}
|
||||
|
||||
|
||||
object ModifiedItem(object oItem, int nType, int nPart, int nColor)
|
||||
{
|
||||
int nFinalApp = MaxAppearanceIndex(oItem, nPart, nColor); //ITEM_APPR_WEAPON_MODEL_TOP
|
||||
int nCurrentApp = GetItemAppearance(oItem, nType, nPart);
|
||||
int nNextApp;
|
||||
if (nCurrentApp >= nFinalApp) nNextApp = 1;
|
||||
else nNextApp = nCurrentApp+1;
|
||||
object oNewItem = CopyItemAndModify(oItem, nType, nPart, nNextApp, TRUE);
|
||||
SetItemCursedFlag(oNewItem, TRUE);
|
||||
if (oNewItem != OBJECT_INVALID) {DestroyObject(oItem); return oNewItem;}
|
||||
else return oItem;
|
||||
}
|
||||
|
||||
/*object ModifiedArmor(object oItem, int nPart)
|
||||
{
|
||||
int nCurrentApp = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_MODEL , nPart);
|
||||
siwtch (nCurrentApp)
|
||||
{
|
||||
case
|
||||
}
|
||||
int nNextApp;
|
||||
if (nCurrentApp >= nFinalApp) nNextApp = 1;
|
||||
else nNextApp = nCurrentApp+1;
|
||||
object oNewItem = CopyItemAndModify(oItem, nType, nPart, nNextApp, TRUE);
|
||||
SetItemCursedFlag(oNewItem, TRUE);
|
||||
if (oNewItem != OBJECT_INVALID) {DestroyObject(oItem); return oNewItem;}
|
||||
else return oItem;
|
||||
} */
|
||||
Reference in New Issue
Block a user