Amon_PRC8/_module/nss/shif_cus_beast.nss

71 lines
2.6 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 19:00:46 -04:00
//CUSTOM SHIFTING Tris'la aka cohesi0n
#include "x2_inc_itemprop"
#include "x2_inc_shifter"
void main()
{
//Shifter Item Names
string sAmOfFire = "Amulet of the Beast";
//var
object oPlayer = GetItemActivator();
object oItemShiftType = GetItemActivated();
effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
effect ePoly;
int nPolyType = 109;
string sItemShiftName = GetName(oItemShiftType);
if(GetLevelByClass(CLASS_TYPE_SHIFTER, oPlayer) >= 25)
{
//int bWeapon = ShifterMergeWeapon(nPolyType);
int bArmor = ShifterMergeArmor(nPolyType);
int bItems = ShifterMergeItems(nPolyType);
object oWeaponOld = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPlayer);
object oArmorOld = GetItemInSlot(INVENTORY_SLOT_CHEST,oPlayer);
object oRing1Old = GetItemInSlot(INVENTORY_SLOT_LEFTRING,oPlayer);
object oRing2Old = GetItemInSlot(INVENTORY_SLOT_RIGHTRING,oPlayer);
object oAmuletOld = GetItemInSlot(INVENTORY_SLOT_NECK,oPlayer);
object oCloakOld = GetItemInSlot(INVENTORY_SLOT_CLOAK,oPlayer);
object oBootsOld = GetItemInSlot(INVENTORY_SLOT_BOOTS,oPlayer);
object oBeltOld = GetItemInSlot(INVENTORY_SLOT_BELT,oPlayer);
object oHelmetOld = GetItemInSlot(INVENTORY_SLOT_HEAD,oPlayer);
object oShield = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPlayer);
if (GetIsObjectValid(oShield))
{
if (GetBaseItemType(oShield) !=BASE_ITEM_LARGESHIELD &&
GetBaseItemType(oShield) !=BASE_ITEM_SMALLSHIELD &&
GetBaseItemType(oShield) !=BASE_ITEM_SMALLSHIELD)
{
oShield = OBJECT_INVALID;
}
}
//change
ePoly = EffectPolymorph(nPolyType);
ePoly = ExtraordinaryEffect(ePoly);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPlayer);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoly, oPlayer);
object oArmorNew = GetItemInSlot(INVENTORY_SLOT_CARMOUR,oPlayer);
if (bArmor)
{
IPWildShapeCopyItemProperties(oArmorOld,oArmorNew);
IPWildShapeCopyItemProperties(oHelmetOld,oArmorNew);
IPWildShapeCopyItemProperties(oShield,oArmorNew);
}
if (bItems)
{
IPWildShapeCopyItemProperties(oRing1Old,oArmorNew);
IPWildShapeCopyItemProperties(oRing2Old,oArmorNew);
IPWildShapeCopyItemProperties(oAmuletOld,oArmorNew);
IPWildShapeCopyItemProperties(oCloakOld,oArmorNew);
IPWildShapeCopyItemProperties(oBootsOld,oArmorNew);
IPWildShapeCopyItemProperties(oBeltOld,oArmorNew);
}
}
else{
FloatingTextStringOnCreature("Your shifting powers are not yet great enough", oPlayer);
}
}