generated from Jaysyn/ModuleTemplate
Initial upload
Initial upload.
This commit is contained in:
332
_module/nss/lcs_wpn_include.nss
Normal file
332
_module/nss/lcs_wpn_include.nss
Normal file
@@ -0,0 +1,332 @@
|
||||
int lcs_GetWeaponModelLowerBound(object oItem, int nPart)
|
||||
{
|
||||
int nWeaponType = GetBaseItemType(oItem);
|
||||
if(nPart == ITEM_APPR_WEAPON_MODEL_TOP)
|
||||
{
|
||||
switch(nWeaponType)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD : return 6;
|
||||
case BASE_ITEM_BATTLEAXE : return 8;
|
||||
case BASE_ITEM_CLUB : return 4;
|
||||
case BASE_ITEM_DAGGER : return 6;
|
||||
case BASE_ITEM_DIREMACE : return 4;
|
||||
case BASE_ITEM_DOUBLEAXE : return 3;
|
||||
case BASE_ITEM_DWARVENWARAXE : return 8;
|
||||
case BASE_ITEM_GREATAXE : return 4;
|
||||
case BASE_ITEM_GREATSWORD : return 4;
|
||||
case BASE_ITEM_HALBERD : return 4;
|
||||
case BASE_ITEM_HANDAXE : return 4;
|
||||
case BASE_ITEM_HEAVYCROSSBOW : return 4;
|
||||
case BASE_ITEM_HEAVYFLAIL : return 4;
|
||||
//case BASE_ITEM_KAMA : return ;
|
||||
case BASE_ITEM_KATANA : return 4;
|
||||
//case BASE_ITEM_KUKRI : return ;
|
||||
case BASE_ITEM_LIGHTCROSSBOW : return 4;
|
||||
case BASE_ITEM_LIGHTFLAIL : return 4;
|
||||
case BASE_ITEM_LIGHTHAMMER : return 4;
|
||||
case BASE_ITEM_LIGHTMACE : return 4;
|
||||
case BASE_ITEM_LONGBOW : return 8;
|
||||
case BASE_ITEM_LONGSWORD : return 8;
|
||||
case BASE_ITEM_MAGICSTAFF : return 6;
|
||||
case BASE_ITEM_MORNINGSTAR : return 4;
|
||||
case BASE_ITEM_QUARTERSTAFF : return 4;
|
||||
case BASE_ITEM_RAPIER : return 4;
|
||||
case BASE_ITEM_SCIMITAR : return 5;
|
||||
case BASE_ITEM_SCYTHE : return 4;
|
||||
case BASE_ITEM_SHORTBOW : return 6;
|
||||
case BASE_ITEM_SHORTSPEAR : return 4;
|
||||
case BASE_ITEM_SHORTSWORD : return 6;
|
||||
//case BASE_ITEM_SICKLE : return ;
|
||||
//case BASE_ITEM_SLING : return ;
|
||||
case BASE_ITEM_THROWINGAXE : return 4;
|
||||
case BASE_ITEM_TWOBLADEDSWORD : return 3;
|
||||
case BASE_ITEM_WARHAMMER : return 6;
|
||||
}
|
||||
}
|
||||
else if(nPart == ITEM_APPR_WEAPON_MODEL_MIDDLE)
|
||||
{
|
||||
switch(nWeaponType)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD : return 6;
|
||||
case BASE_ITEM_BATTLEAXE : return 6;
|
||||
case BASE_ITEM_CLUB : return 4;
|
||||
case BASE_ITEM_DAGGER : return 6;
|
||||
case BASE_ITEM_DIREMACE : return 4;
|
||||
case BASE_ITEM_DOUBLEAXE : return 3;
|
||||
case BASE_ITEM_DWARVENWARAXE : return 6;
|
||||
case BASE_ITEM_GREATAXE : return 4;
|
||||
case BASE_ITEM_GREATSWORD : return 4;
|
||||
case BASE_ITEM_HALBERD : return 4;
|
||||
case BASE_ITEM_HANDAXE : return 4;
|
||||
case BASE_ITEM_HEAVYCROSSBOW : return 4;
|
||||
case BASE_ITEM_HEAVYFLAIL : return 4;
|
||||
//case BASE_ITEM_KAMA : return ;
|
||||
case BASE_ITEM_KATANA : return 4;
|
||||
//case BASE_ITEM_KUKRI : return ;
|
||||
case BASE_ITEM_LIGHTCROSSBOW : return 4;
|
||||
case BASE_ITEM_LIGHTFLAIL : return 4;
|
||||
case BASE_ITEM_LIGHTHAMMER : return 4;
|
||||
case BASE_ITEM_LIGHTMACE : return 4;
|
||||
case BASE_ITEM_LONGBOW : return 8;
|
||||
case BASE_ITEM_LONGSWORD : return 8;
|
||||
case BASE_ITEM_MAGICSTAFF : return 8;
|
||||
case BASE_ITEM_MORNINGSTAR : return 4;
|
||||
case BASE_ITEM_QUARTERSTAFF : return 4;
|
||||
case BASE_ITEM_RAPIER : return 4;
|
||||
case BASE_ITEM_SCIMITAR : return 5;
|
||||
case BASE_ITEM_SCYTHE : return 4;
|
||||
case BASE_ITEM_SHORTBOW : return 6;
|
||||
case BASE_ITEM_SHORTSPEAR : return 4;
|
||||
case BASE_ITEM_SHORTSWORD : return 6;
|
||||
//case BASE_ITEM_SICKLE : return ;
|
||||
//case BASE_ITEM_SLING : return ;
|
||||
case BASE_ITEM_THROWINGAXE : return 4;
|
||||
case BASE_ITEM_TWOBLADEDSWORD : return 3;
|
||||
case BASE_ITEM_WARHAMMER : return 6;
|
||||
}
|
||||
}
|
||||
else if(nPart == ITEM_APPR_WEAPON_MODEL_BOTTOM)
|
||||
{
|
||||
switch(nWeaponType)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD : return 6;
|
||||
case BASE_ITEM_BATTLEAXE : return 6;
|
||||
case BASE_ITEM_CLUB : return 4;
|
||||
case BASE_ITEM_DAGGER : return 6;
|
||||
case BASE_ITEM_DIREMACE : return 4;
|
||||
case BASE_ITEM_DOUBLEAXE : return 3;
|
||||
case BASE_ITEM_DWARVENWARAXE : return 6;
|
||||
case BASE_ITEM_GREATAXE : return 4;
|
||||
case BASE_ITEM_GREATSWORD : return 4;
|
||||
case BASE_ITEM_HALBERD : return 4;
|
||||
case BASE_ITEM_HANDAXE : return 4;
|
||||
case BASE_ITEM_HEAVYCROSSBOW : return 4;
|
||||
case BASE_ITEM_HEAVYFLAIL : return 4;
|
||||
//case BASE_ITEM_KAMA : return ;
|
||||
case BASE_ITEM_KATANA : return 4;
|
||||
//case BASE_ITEM_KUKRI : return ;
|
||||
case BASE_ITEM_LIGHTCROSSBOW : return 4;
|
||||
case BASE_ITEM_LIGHTFLAIL : return 4;
|
||||
case BASE_ITEM_LIGHTHAMMER : return 4;
|
||||
case BASE_ITEM_LIGHTMACE : return 4;
|
||||
case BASE_ITEM_LONGBOW : return 8;
|
||||
case BASE_ITEM_LONGSWORD : return 8;
|
||||
case BASE_ITEM_MAGICSTAFF : return 6;
|
||||
case BASE_ITEM_MORNINGSTAR : return 4;
|
||||
case BASE_ITEM_QUARTERSTAFF : return 4;
|
||||
case BASE_ITEM_RAPIER : return 4;
|
||||
case BASE_ITEM_SCIMITAR : return 5;
|
||||
case BASE_ITEM_SCYTHE : return 4;
|
||||
case BASE_ITEM_SHORTBOW : return 6;
|
||||
case BASE_ITEM_SHORTSPEAR : return 4;
|
||||
case BASE_ITEM_SHORTSWORD : return 6;
|
||||
//case BASE_ITEM_SICKLE : return ;
|
||||
//case BASE_ITEM_SLING : return ;
|
||||
case BASE_ITEM_THROWINGAXE : return 4;
|
||||
case BASE_ITEM_TWOBLADEDSWORD : return 3;
|
||||
case BASE_ITEM_WARHAMMER : return 6;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
//For Shadowhawk Weapons Hak use ONLY
|
||||
int lcs_GetWeaponModelUpperBound(object oItem, int nPart)
|
||||
{
|
||||
int nWeaponType = GetBaseItemType(oItem);
|
||||
if(nPart == ITEM_APPR_WEAPON_MODEL_TOP)
|
||||
{
|
||||
switch(nWeaponType)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD : return 22;
|
||||
case BASE_ITEM_BATTLEAXE : return 25;
|
||||
case BASE_ITEM_DOUBLEAXE : return 14;
|
||||
case BASE_ITEM_GREATAXE : return 22;
|
||||
case BASE_ITEM_GREATSWORD : return 15;
|
||||
case BASE_ITEM_KATANA : return 12;
|
||||
case BASE_ITEM_LIGHTMACE : return 22;
|
||||
case BASE_ITEM_LONGBOW : return 11;
|
||||
case BASE_ITEM_LONGSWORD : return 21;
|
||||
case BASE_ITEM_RAPIER : return 13;
|
||||
case BASE_ITEM_SCIMITAR : return 18;
|
||||
case BASE_ITEM_SHORTSWORD : return 19;
|
||||
case BASE_ITEM_TWOBLADEDSWORD : return 16;
|
||||
case BASE_ITEM_WARHAMMER : return 20;
|
||||
}
|
||||
}
|
||||
else if(nPart == ITEM_APPR_WEAPON_MODEL_MIDDLE)
|
||||
{
|
||||
switch(nWeaponType)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD : return 24;
|
||||
case BASE_ITEM_BATTLEAXE : return 25;
|
||||
case BASE_ITEM_DOUBLEAXE : return 12;
|
||||
case BASE_ITEM_GREATAXE : return 13;
|
||||
case BASE_ITEM_GREATSWORD : return 18;
|
||||
case BASE_ITEM_KATANA : return 13;
|
||||
case BASE_ITEM_LIGHTMACE : return 18;
|
||||
case BASE_ITEM_LONGBOW : return 20;
|
||||
case BASE_ITEM_LONGSWORD : return 22;
|
||||
case BASE_ITEM_RAPIER : return 24;
|
||||
case BASE_ITEM_SCIMITAR : return 15;
|
||||
case BASE_ITEM_SHORTSWORD : return 20;
|
||||
case BASE_ITEM_TWOBLADEDSWORD : return 16;
|
||||
case BASE_ITEM_WARHAMMER : return 16;
|
||||
}
|
||||
}
|
||||
else if(nPart == ITEM_APPR_WEAPON_MODEL_BOTTOM)
|
||||
{
|
||||
switch(nWeaponType)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD : return 20;
|
||||
case BASE_ITEM_BATTLEAXE : return 16;
|
||||
case BASE_ITEM_DOUBLEAXE : return 18;
|
||||
case BASE_ITEM_GREATAXE : return 18;
|
||||
case BASE_ITEM_GREATSWORD : return 15;
|
||||
case BASE_ITEM_KATANA : return 13;
|
||||
case BASE_ITEM_LIGHTMACE : return 11;
|
||||
case BASE_ITEM_LONGSWORD : return 22;
|
||||
case BASE_ITEM_RAPIER : return 16;
|
||||
case BASE_ITEM_SCIMITAR : return 15;
|
||||
case BASE_ITEM_SHORTSWORD : return 13;
|
||||
case BASE_ITEM_TWOBLADEDSWORD : return 18;
|
||||
case BASE_ITEM_WARHAMMER : return 21;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
int lcs_GetNextValidWeaponModel(object oItem, int nPart)
|
||||
{
|
||||
int nLowerBound = lcs_GetWeaponModelLowerBound(oItem, nPart);
|
||||
//int nUpperBound = lcs_GetWeaponModelUpperBound(oItem, nPart);
|
||||
int nUpperBound = 1;
|
||||
|
||||
int nCurrentAppearance = GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_MODEL, nPart);
|
||||
|
||||
if(nCurrentAppearance == nLowerBound)
|
||||
{
|
||||
if(nUpperBound >= 11)
|
||||
{
|
||||
return 11;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if((nCurrentAppearance == nUpperBound) && (nUpperBound >= 11))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if(((GetBaseItemType(oItem) == BASE_ITEM_DOUBLEAXE) && (nPart == ITEM_APPR_WEAPON_MODEL_TOP)) && (nCurrentAppearance == 11))
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
else if(((GetBaseItemType(oItem) == BASE_ITEM_BASTARDSWORD) && (nPart == ITEM_APPR_WEAPON_MODEL_TOP)) && (nCurrentAppearance == 19))
|
||||
{
|
||||
return 21;
|
||||
}
|
||||
else if(((GetBaseItemType(oItem) == BASE_ITEM_LONGSWORD) && (nPart == ITEM_APPR_WEAPON_MODEL_BOTTOM)) && (nCurrentAppearance == 17))
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
return nCurrentAppearance + 1;
|
||||
}
|
||||
}
|
||||
|
||||
int lcs_GetPreviousValidWeaponModel(object oItem, int nPart)
|
||||
{
|
||||
int nLowerBound = lcs_GetWeaponModelLowerBound(oItem, nPart);
|
||||
//int nUpperBound = lcs_GetWeaponModelUpperBound(oItem, nPart);
|
||||
int nUpperBound = 1;
|
||||
|
||||
int nCurrentAppearance = GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_MODEL, nPart);
|
||||
|
||||
if(nCurrentAppearance == 11)
|
||||
{
|
||||
return nLowerBound;
|
||||
}
|
||||
else if(nCurrentAppearance == 1)
|
||||
{
|
||||
if(nUpperBound >= 11)
|
||||
{
|
||||
return nUpperBound;
|
||||
}
|
||||
else
|
||||
{
|
||||
return nLowerBound;
|
||||
}
|
||||
}
|
||||
else if(((GetBaseItemType(oItem) == BASE_ITEM_DOUBLEAXE) && (nPart == ITEM_APPR_WEAPON_MODEL_TOP)) && (nCurrentAppearance == 13))
|
||||
{
|
||||
return 11;
|
||||
}
|
||||
else if(((GetBaseItemType(oItem) == BASE_ITEM_BASTARDSWORD) && (nPart == ITEM_APPR_WEAPON_MODEL_TOP)) && (nCurrentAppearance == 21))
|
||||
{
|
||||
return 19;
|
||||
}
|
||||
else if(((GetBaseItemType(oItem) == BASE_ITEM_LONGSWORD) && (nPart == ITEM_APPR_WEAPON_MODEL_BOTTOM)) && (nCurrentAppearance == 20))
|
||||
{
|
||||
return 17;
|
||||
}
|
||||
else
|
||||
{
|
||||
return nCurrentAppearance - 1;
|
||||
}
|
||||
}
|
||||
|
||||
int lcs_GetNextValidWeaponColor(object oItem, int nPart)
|
||||
{
|
||||
int nAppearance = GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_COLOR, nPart);
|
||||
if(nAppearance == 3)
|
||||
{
|
||||
nAppearance = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
nAppearance = nAppearance + 1;
|
||||
}
|
||||
return nAppearance;
|
||||
}
|
||||
|
||||
int lcs_GetPreviousValidWeaponColor(object oItem, int nPart)
|
||||
{
|
||||
int nAppearance = GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_COLOR, nPart);
|
||||
if(nAppearance == 1)
|
||||
{
|
||||
nAppearance = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
nAppearance = nAppearance - 1;
|
||||
}
|
||||
return nAppearance;
|
||||
}
|
||||
|
||||
void lcs_ModifyColorandEquipNewWeapon(object oItem, int nPart, int nAppearance)
|
||||
{
|
||||
object oPC = GetItemPossessor(oItem);
|
||||
object oNewItem = CopyItemAndModify(oItem, ITEM_APPR_TYPE_WEAPON_COLOR, nPart, nAppearance);
|
||||
DestroyObject(oItem);
|
||||
SetCommandable(TRUE, oPC);
|
||||
AssignCommand(oPC, ActionEquipItem(oNewItem, INVENTORY_SLOT_RIGHTHAND));
|
||||
}
|
||||
|
||||
void lcs_ModifyandEquipNewWeapon(object oItem, int nPart, int nAppearance)
|
||||
{
|
||||
object oPC = GetItemPossessor(oItem);
|
||||
|
||||
//int nColorAppearance = GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_COLOR, nPart);
|
||||
//if(nColorAppearance > 3)
|
||||
//{
|
||||
//SendMessageToPC(oPC, ("Your current weapon color is " + IntToString(nAppearance) + ". Please change the color to be set to 3 or lower before changing the weapon model."));
|
||||
//return;
|
||||
//}
|
||||
object oNewItem = CopyItemAndModify(oItem, ITEM_APPR_TYPE_WEAPON_MODEL, nPart, nAppearance);
|
||||
DestroyObject(oItem);
|
||||
SetCommandable(TRUE, oPC);
|
||||
AssignCommand(oPC, ActionEquipItem(oNewItem, INVENTORY_SLOT_RIGHTHAND));
|
||||
}
|
Reference in New Issue
Block a user