//CUSTOM SHIFTING Tris'la aka cohesi0n #include "x2_inc_itemprop" #include "x2_inc_shifter" void main() { //Shifter Item Names string sAmOfFire = "Amulet of Fire"; //var object oPlayer = GetItemActivator(); object oItemShiftType = GetItemActivated(); effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH); effect ePoly; int nPolyType = 107; string sItemShiftName = GetName(oItemShiftType); if(GetLevelByClass(CLASS_TYPE_SHIFTER, oPlayer) >= 15 || GetLevelByClass(CLASS_TYPE_DRUID, oPlayer) >= 32) { //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); } }