diff --git a/.gitignore b/.gitignore
index 4c5ded7a..1f5c5892 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,5 @@
 _module/poa.mod
 *.mod
 *.mod
+*.hak
+_haks/output/poa_dev.md5
diff --git a/_haks/output/poa_dev.hak b/_haks/output/poa_dev.hak
deleted file mode 100644
index 03e5aeb2..00000000
Binary files a/_haks/output/poa_dev.hak and /dev/null differ
diff --git a/_haks/output/poa_dev.md5 b/_haks/output/poa_dev.md5
deleted file mode 100644
index e117e641..00000000
--- a/_haks/output/poa_dev.md5
+++ /dev/null
@@ -1 +0,0 @@
-470c8aa2ec6da2fb021692e5bf508f39
\ No newline at end of file
diff --git a/_haks/poa_dev/nw_s1_aurafear.ncs b/_haks/poa_dev/nw_s1_aurafear.ncs
index 104b632d..f6cfd5ac 100644
Binary files a/_haks/poa_dev/nw_s1_aurafear.ncs and b/_haks/poa_dev/nw_s1_aurafear.ncs differ
diff --git a/_haks/poa_dev/nw_s1_aurafear.nss b/_haks/poa_dev/nw_s1_aurafear.nss
index de8f8aa3..52750544 100644
--- a/_haks/poa_dev/nw_s1_aurafear.nss
+++ b/_haks/poa_dev/nw_s1_aurafear.nss
@@ -13,8 +13,19 @@
 //:: Created On: May 25, 2001
 //:://////////////////////////////////////////////
 
+// Modified 2004/01/30 (Brian Greinke)
+// Added disable/reenable support
+#include "prc_alterations"
+
 void main()
 {
+	    //first, look to see if effect is already activated
+    if ( GetHasSpellEffect(SPELLABILITY_AURA_FEAR, OBJECT_SELF) )
+    {
+        PRCRemoveSpellEffects( SPELLABILITY_AURA_FEAR, OBJECT_SELF, OBJECT_SELF );
+        return;
+    }
+
   object oCaster = OBJECT_SELF;
 if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(oCaster))
 {
diff --git a/_haks/poa_dev/nw_s1_barbrage.ncs b/_haks/poa_dev/nw_s1_barbrage.ncs
deleted file mode 100644
index 4f4b0ce2..00000000
Binary files a/_haks/poa_dev/nw_s1_barbrage.ncs and /dev/null differ
diff --git a/_haks/poa_dev/nw_s2_bardsong.ncs b/_haks/poa_dev/nw_s2_bardsong.ncs
deleted file mode 100644
index 7bcc0476..00000000
Binary files a/_haks/poa_dev/nw_s2_bardsong.ncs and /dev/null differ
diff --git a/_haks/poa_dev/nw_s2_elemshape.ncs b/_haks/poa_dev/nw_s2_elemshape.ncs
index b364ac81..cbc44263 100644
Binary files a/_haks/poa_dev/nw_s2_elemshape.ncs and b/_haks/poa_dev/nw_s2_elemshape.ncs differ
diff --git a/_haks/poa_dev/nw_s2_elemshape.nss b/_haks/poa_dev/nw_s2_elemshape.nss
index 6c71d2a6..321ad246 100644
--- a/_haks/poa_dev/nw_s2_elemshape.nss
+++ b/_haks/poa_dev/nw_s2_elemshape.nss
@@ -10,21 +10,36 @@
 //:: Created By: Preston Watamaniuk
 //:: Created On: Jan 22, 2002
 //:://////////////////////////////////////////////
-//:: Modified By: Iznoghoud - January 19 2004
-/*
-What this script changes:
-Allows druid elemental shapes to get stacking item properties carried over correctly
-just like shifters.
-See Iznoghoud's x2_s2_gwildshp script for an in-detail description.
-Added fix for a Bioware Bug: Druids now get elder wildshapes at level 20 and above,
-not just when exactly level 20.
-*/
+//:: Modified By: Deva Winblood
+//:: Modified Date: January 15th-16th, 2008
 //:://////////////////////////////////////////////
+/*
+    Modified to insure no shapeshifting spells are castable upon
+    mounted targets.  This prevents problems that can occur due
+    to dismounting after shape shifting, or other issues that can
+    occur due to preserved appearances getting out of synch.
+
+    This can additional check can be disabled by setting the variable
+    X3_NO_SHAPESHIFT_SPELL_CHECK to 1 on the module object.  If this
+    variable is set then this script will function as it did prior to
+    this modification.
+
+*/
+
+//#include "x3_inc_horse"
+#include "prc_alterations"
+#include "pnp_shft_poly"
+
+void elemental_shape_shift(object oPC, int nShape)
+		   
+{
+    string sResRef = Get2DACache("prc_polymorph", "ResRef", nShape);
+    StoreCurrentAppearanceAsTrueAppearance(oPC, TRUE);
+    ShiftIntoResRef(oPC, SHIFTER_TYPE_DRUID, sResRef, TRUE);
+}
 
-#include "ws_inc_shifter"
 void main()
 {
-
 if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
 {
 
@@ -34,18 +49,32 @@ if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
 }
     //Declare major variables
     int nSpell = GetSpellId();
-    object oTarget = GetSpellTargetObject();
+    object oTarget = PRCGetSpellTargetObject();
     effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
     effect ePoly;
     int nPoly;
-    int nMetaMagic = GetMetaMagicFeat();
-    int nDuration = GetCasterLevel(OBJECT_SELF);
+    int nDuration = GetLevelByClass(CLASS_TYPE_DRUID)
+                  + GetLevelByClass(CLASS_TYPE_ARCANE_HIEROPHANT);
     int bElder = FALSE;
-    //Enter Metamagic conditions
-    if (nMetaMagic == METAMAGIC_EXTEND)
+    if (!GetLocalInt(GetModule(),"X3_NO_SHAPESHIFT_SPELL_CHECK"))
+    { // check to see if abort due to being mounted
+    if (PRCHorseGetIsMounted(oTarget))
+        { // abort
+            if (GetIsPC(oTarget)) FloatingTextStrRefOnCreature(111982,oTarget,FALSE);
+                return;
+        } // abort
+    } // check to see if abort due to being mounted
+
+    //this command will make shore that polymorph plays nice with the shifter
+    ShifterCheck(OBJECT_SELF);
+
+    int nShape = GetPersistantLocalInt(OBJECT_SELF, PRC_PNP_SHIFTING + IntToString(nSpell));
+    if(nShape > 0)
     {
-        nDuration = nDuration *2; //Duration is +100%
+        elemental_shape_shift(OBJECT_SELF, nShape);
+        return;
     }
+
     if(GetLevelByClass(CLASS_TYPE_DRUID) >= 20)
     {
         bElder = TRUE;
@@ -89,241 +118,246 @@ if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
             nPoly = POLYMORPH_TYPE_ELDER_AIR_ELEMENTAL;
         }
     }
-
-    int bWeapon;
-    int bArmor;
-    int bItems;
-    int bCopyGlovesToClaws = FALSE;
-
-    bWeapon = StringToInt(Get2DAString("polymorph","MergeW",nPoly)) == 1;
-
-    if ( WS_ALWAYS_COPY_ARMOR_PROPS )
-        bArmor = TRUE;
-    else
-        bArmor  = StringToInt(Get2DAString("polymorph","MergeA",nPoly)) == 1;
-
-    if ( WS_ALWAYS_COPY_ITEM_PROPS )
-        bItems = TRUE;
-    else
-        bItems  = StringToInt(Get2DAString("polymorph","MergeI",nPoly)) == 1;
-
-    // Send message to PC about which items get merged to this form
-    string sMerge;
-    sMerge = "Merged: "; // <c~��>: This is a color code that makes the text behind it sort of light blue.
-    if(bArmor) sMerge += "<caz�>Armor, Helmet, Shield";
-    if(bItems) sMerge += ",</c> <ca�a>Rings, Amulet, Cloak, Boots, Belt, Bracers";
-    if( bWeapon || WS_COPY_WEAPON_PROPS_TO_UNARMED == 1 )
-        sMerge += ",</c> <c�AA>Weapon";
-    else if ( WS_COPY_WEAPON_PROPS_TO_UNARMED == 2 )
-        sMerge += ",</c> <c�AA>Gloves to unarmed attacks";
-    else if (WS_COPY_WEAPON_PROPS_TO_UNARMED == 3 )
-        sMerge += ",</c> <c�AA>Weapon (if you had one equipped) or gloves to unarmed attacks";
-    else
-        sMerge += ",</c> <c�AA>No weapon or gloves to unarmed attacks";
-    SendMessageToPC(oTarget,sMerge + ".</c>");
-
-    // Store which items should transfer to this polymorph type. (For exportallchar scripts)
-    SetLocalInt(oTarget, "GW_PolyID", nPoly);
-    SetLocalInt(oTarget, "GW_bWeapon", bWeapon );
-    SetLocalInt(oTarget, "GW_bArmor", bArmor );
-    SetLocalInt(oTarget, "GW_bItems", bItems );
-
-    //--------------------------------------------------------------------------
-    // Store the old objects so we can access them after the character has
-    // changed into his new form
-    //--------------------------------------------------------------------------
-    object oWeaponOld;
-    object oArmorOld;
-    object oRing1Old ;
-    object oRing2Old;
-    object oAmuletOld;
-    object oCloakOld ;
-    object oBootsOld  ;
-    object oBeltOld   ;
-    object oHelmetOld;
-    object oShield ;
-    object oBracerOld;
-    object oHideOld;
-    //Assume the normal shape doesn't have a creature skin object.
-    //If using a subracesystem or something else that places a skin on the normal shape
-    //another condition is needed to decide whether or not to store current items.
-    //One way could be to scan all effects to see whether one is a polymorph effect.
-    int nPolyed = GetIsObjectValid(GetItemInSlot(INVENTORY_SLOT_CARMOUR,OBJECT_SELF));
-    // If there is a creature armor see if it is a creature hide put
-    // on the unpolymorphed player by scanning for a polymorph effect.
-    if ( nPolyed )
-        nPolyed = ( ScanForPolymorphEffect(OBJECT_SELF) != -2 );
-    if(! nPolyed)
-    {
-        //if not polymorphed get items worn and store on player.
-        oWeaponOld = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,OBJECT_SELF);
-        oArmorOld  = GetItemInSlot(INVENTORY_SLOT_CHEST,OBJECT_SELF);
-        oRing1Old  = GetItemInSlot(INVENTORY_SLOT_LEFTRING,OBJECT_SELF);
-        oRing2Old  = GetItemInSlot(INVENTORY_SLOT_RIGHTRING,OBJECT_SELF);
-        oAmuletOld = GetItemInSlot(INVENTORY_SLOT_NECK,OBJECT_SELF);
-        oCloakOld  = GetItemInSlot(INVENTORY_SLOT_CLOAK,OBJECT_SELF);
-        oBootsOld  = GetItemInSlot(INVENTORY_SLOT_BOOTS,OBJECT_SELF);
-        oBeltOld   = GetItemInSlot(INVENTORY_SLOT_BELT,OBJECT_SELF);
-        oHelmetOld = GetItemInSlot(INVENTORY_SLOT_HEAD,OBJECT_SELF);
-        oShield    = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,OBJECT_SELF);
-        oBracerOld  = GetItemInSlot(INVENTORY_SLOT_ARMS,OBJECT_SELF);
-        oHideOld = GetItemInSlot(INVENTORY_SLOT_CARMOUR,OBJECT_SELF);
-        SetLocalObject(OBJECT_SELF,"GW_OldWeapon",oWeaponOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldArmor",oArmorOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldRing1",oRing1Old);
-        SetLocalObject(OBJECT_SELF,"GW_OldRing2",oRing2Old);
-        SetLocalObject(OBJECT_SELF,"GW_OldAmulet",oAmuletOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldCloak",oCloakOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldBoots",oBootsOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldBelt",oBeltOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldHelmet",oHelmetOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldBracer",oBracerOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldHide",oHideOld);
-        if (GetIsObjectValid(oShield))
-        {
-            if (GetBaseItemType(oShield) !=BASE_ITEM_LARGESHIELD &&
-                GetBaseItemType(oShield) !=BASE_ITEM_SMALLSHIELD &&
-                GetBaseItemType(oShield) !=BASE_ITEM_TOWERSHIELD)
-            {
-                oShield = OBJECT_INVALID;
-            }
-        }
-        SetLocalObject(OBJECT_SELF,"GW_OldShield",oShield);
-
-    }
-    else
-    {
-        //if already polymorphed use items stored earlier.
-        oWeaponOld =     GetLocalObject(OBJECT_SELF,"GW_OldWeapon");
-        oArmorOld  =     GetLocalObject(OBJECT_SELF,"GW_OldArmor");
-        oRing1Old  =     GetLocalObject(OBJECT_SELF,"GW_OldRing1");
-        oRing2Old  =     GetLocalObject(OBJECT_SELF,"GW_OldRing2");
-        oAmuletOld =     GetLocalObject(OBJECT_SELF,"GW_OldAmulet");
-        oCloakOld  =     GetLocalObject(OBJECT_SELF,"GW_OldCloak");
-        oBootsOld  =     GetLocalObject(OBJECT_SELF,"GW_OldBoots");
-        oBeltOld   =     GetLocalObject(OBJECT_SELF,"GW_OldBelt");
-        oHelmetOld =     GetLocalObject(OBJECT_SELF,"GW_OldHelmet");
-        oShield    =     GetLocalObject(OBJECT_SELF,"GW_OldShield");
-        oBracerOld =     GetLocalObject(OBJECT_SELF,"GW_OldBracer");
-        oHideOld   =     GetLocalObject(OBJECT_SELF,"GW_OldHide");
-    }
-
-    //--------------------------------------------------------------------------
-    // Here the actual polymorphing is done
-    //--------------------------------------------------------------------------
     ePoly = EffectPolymorph(nPoly);
-    //--------------------------------------------------------------------------
-    // Iznoghoud: Link the stackable properties as permanent bonuses to the
-    // Polymorph effect, instead of putting them on the creature hide. They will
-    // properly disappear as soon as the polymorph is ended.
-    //--------------------------------------------------------------------------
-    ePoly = AddStackablePropertiesToPoly ( oTarget, ePoly, bWeapon, bItems, bArmor, oArmorOld, oRing1Old, oRing2Old, oAmuletOld, oCloakOld, oBracerOld, oBootsOld, oBeltOld, oHelmetOld, oShield, oWeaponOld, oHideOld);
-    ePoly = ExtraordinaryEffect(ePoly);
-    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
-    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePoly, OBJECT_SELF, HoursToSeconds(nDuration));
     //Fire cast spell at event for the specified target
     SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_ELEMENTAL_SHAPE, FALSE));
-    //--------------------------------------------------------------------------
-    // This code handles the merging of item properties
-    //--------------------------------------------------------------------------
-    object oWeaponNew = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,OBJECT_SELF);
-    object oArmorNew = GetItemInSlot(INVENTORY_SLOT_CARMOUR,OBJECT_SELF);
-    object oClawLeft = GetItemInSlot(INVENTORY_SLOT_CWEAPON_L,OBJECT_SELF);
-    object oClawRight = GetItemInSlot(INVENTORY_SLOT_CWEAPON_R,OBJECT_SELF);
-    object oBite = GetItemInSlot(INVENTORY_SLOT_CWEAPON_B,OBJECT_SELF);
-    //--------------------------------------------------------------------------
-    // ...Weapons
-    //--------------------------------------------------------------------------
-    if (bWeapon)
+
+    int bWeapon = StringToInt(Get2DACache("polymorph","MergeW",nPoly)) == 1;
+    int bArmor  = StringToInt(Get2DACache("polymorph","MergeA",nPoly)) == 1;
+    int bItems  = StringToInt(Get2DACache("polymorph","MergeI",nPoly)) == 1;
+								   
+
+    object oWeaponOld = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,OBJECT_SELF);
+    object oArmorOld = GetItemInSlot(INVENTORY_SLOT_CHEST,OBJECT_SELF);
+    object oRing1Old = GetItemInSlot(INVENTORY_SLOT_LEFTRING,OBJECT_SELF);
+    object oRing2Old = GetItemInSlot(INVENTORY_SLOT_RIGHTRING,OBJECT_SELF);
+    object oAmuletOld = GetItemInSlot(INVENTORY_SLOT_NECK,OBJECT_SELF);
+    object oCloakOld  = GetItemInSlot(INVENTORY_SLOT_CLOAK,OBJECT_SELF);
+    object oBootsOld  = GetItemInSlot(INVENTORY_SLOT_BOOTS,OBJECT_SELF);
+    object oBeltOld = GetItemInSlot(INVENTORY_SLOT_BELT,OBJECT_SELF);
+					  
+		
+																			 
+
+																   
+				  
+																										  
+													   
+																				  
+														 
+									   
+													
+														  
+												   
+																							  
+		
+																	   
+											  
+
+																							
+											 
+												 
+											   
+											   
+
+																				
+																		  
+								
+																				
+					  
+					 
+					  
+					 
+					  
+					  
+					   
+					   
+					  
+					
+					  
+					
+																  
+																					   
+																				  
+																					
+    object oHelmetOld = GetItemInSlot(INVENTORY_SLOT_HEAD,OBJECT_SELF);
+    object oShield    = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,OBJECT_SELF);
+    if (GetIsObjectValid(oShield))
+				  
+																
+				 
     {
-        //----------------------------------------------------------------------
-        // GZ: 2003-10-20
-        // Sorry, but I was forced to take that out, it was confusing people
-        // and there were problems with updating the stats sheet.
-        //----------------------------------------------------------------------
-        /* if (!GetIsObjectValid(oWeaponOld))
+        if (GetBaseItemType(oShield) !=BASE_ITEM_LARGESHIELD &&
+            GetBaseItemType(oShield) !=BASE_ITEM_SMALLSHIELD &&
+            GetBaseItemType(oShield) !=BASE_ITEM_TOWERSHIELD)
+																		
+																		 
+																	
+																	 
+																	 
+																	
+																	
+																		
+																	 
+																	 
+															  
+															
+															
+															
+															  
+															
+															
+														  
+															  
+															  
+														  
+									  
         {
-            //------------------------------------------------------------------
-            // If we had no weapon equipped before, remove the old weapon
-            // to allow monks to change into unarmed forms by not equipping any
-            // weapon before polymorphing
-            //------------------------------------------------------------------
-            DestroyObject(oWeaponNew);
+																   
+																   
+																 
+			 
+            oShield = OBJECT_INVALID;
+			 
         }
-        else*/
-        {
-            //------------------------------------------------------------------
-            // Merge item properties...
-            //------------------------------------------------------------------
-            WildshapeCopyWeaponProperties(oTarget, oWeaponOld, oWeaponNew);
-        }
-    }
-    else {
-        switch ( WS_COPY_WEAPON_PROPS_TO_UNARMED )
-        {
-        case 1: // Copy over weapon properties to claws/bite
-            WildshapeCopyNonStackProperties(oWeaponOld,oClawLeft, TRUE);
-            WildshapeCopyNonStackProperties(oWeaponOld,oClawRight, TRUE);
-            WildshapeCopyNonStackProperties(oWeaponOld,oBite, TRUE);
-            break;
-        case 2: // Copy over glove properties to claws/bite
-            WildshapeCopyNonStackProperties(oBracerOld,oClawLeft, FALSE);
-            WildshapeCopyNonStackProperties(oBracerOld,oClawRight, FALSE);
-            WildshapeCopyNonStackProperties(oBracerOld,oBite, FALSE);
-            bCopyGlovesToClaws = TRUE;
-            break;
-        case 3: // Copy over weapon properties to claws/bite if wearing a weapon, otherwise copy gloves
-            if ( GetIsObjectValid(oWeaponOld) )
-            {
-                WildshapeCopyNonStackProperties(oWeaponOld,oClawLeft, TRUE);
-                WildshapeCopyNonStackProperties(oWeaponOld,oClawRight, TRUE);
-                WildshapeCopyNonStackProperties(oWeaponOld,oBite, TRUE);
-            }
-            else
-            {
-                WildshapeCopyNonStackProperties(oBracerOld,oClawLeft, FALSE);
-                WildshapeCopyNonStackProperties(oBracerOld,oClawRight, FALSE);
-                WildshapeCopyNonStackProperties(oBracerOld,oBite, FALSE);
-                bCopyGlovesToClaws = TRUE;
-            }
-            break;
-        default: // Do not copy over anything
-            break;
-        };
-    }
-    //--------------------------------------------------------------------------
-    // ...Armor
-    //--------------------------------------------------------------------------
-    if (bArmor)
-    {
-        //----------------------------------------------------------------------
-        // Merge item properties from armor and helmet...
-        //----------------------------------------------------------------------
-        WildshapeCopyNonStackProperties(oArmorOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oHelmetOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oShield,oArmorNew);
-        WildshapeCopyNonStackProperties(oHideOld,oArmorNew);
-    }
-    //--------------------------------------------------------------------------
-    // ...Magic Items
-    //--------------------------------------------------------------------------
-    if (bItems)
-    {
-        //----------------------------------------------------------------------
-        // Merge item properties from from rings, amulets, cloak, boots, belt
-        // Iz: And bracers, in case oBracerOld gets set to a valid object.
-        //----------------------------------------------------------------------
-        WildshapeCopyNonStackProperties(oRing1Old,oArmorNew);
-        WildshapeCopyNonStackProperties(oRing2Old,oArmorNew);
-        WildshapeCopyNonStackProperties(oAmuletOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oCloakOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oBootsOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oBeltOld,oArmorNew);
-        // Because Bracers can have On Hit Cast Spell type properties we should
-        // avoid copying the bracers twice. Otherwise the player can get that On
-        // Hit effect both when hitting, and getting hit.
-        if ( bCopyGlovesToClaws == FALSE )
-            WildshapeCopyNonStackProperties(oBracerOld,oArmorNew);
     }
 
+
+	//this command will make shore that polymorph plays nice with the shifter
+		
+	 
+														  
+																	
+																   
+																   
+																   
+																	
+																   
+																   
+																  
+																	
+																	
+	ShifterCheck(OBJECT_SELF);
+																  
+	 
+
+    //Apply the VFX impact and effects
+    ClearAllActions(); // prevents an exploit
+    
+								   
+																				
+																		   
+																				
+															
+																				
+																																																						
+									   
+    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
+    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePoly, OBJECT_SELF, HoursToSeconds(nDuration));
+
+																							 
+																				
+													   
+																				
+    object oWeaponNew = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,OBJECT_SELF);
+    object oArmorNew = GetItemInSlot(INVENTORY_SLOT_CARMOUR,OBJECT_SELF);
+
+																			
+																	   
+																				
+				 
+																				
+    if (bWeapon)
+    {
+																				
+						 
+																			
+																 
+																				
+											 
+		 
+																				
+																		 
+																			   
+										 
+																				
+									  
+		 
+			  
+		 
+																				
+									   
+																				
+            IPWildShapeCopyItemProperties(oWeaponOld,oWeaponNew, TRUE);
+		 
+	 
+		  
+												  
+		 
+															
+																		
+																		 
+																	
+				  
+														   
+																		 
+																		  
+																	 
+									  
+				  
+																									   
+											   
+			 
+																			
+																			 
+																		
+			 
+				
+			 
+																			 
+																			  
+																		 
+										  
+			 
+				  
+											 
+				  
+		  
+    }
+																				
+			   
+																				
+    if (bArmor)
+    {
+        IPWildShapeCopyItemProperties(oHelmetOld,oArmorNew);
+        IPWildShapeCopyItemProperties(oArmorOld,oArmorNew);
+																				
+															 
+															  
+        IPWildShapeCopyItemProperties(oShield,oArmorNew);
+															
+    }
+																				
+					 
+																				
+    if (bItems)
+    {
+																				
+																			 
+																		  
+																				
+        IPWildShapeCopyItemProperties(oRing1Old,oArmorNew);
+        IPWildShapeCopyItemProperties(oRing2Old,oArmorNew);
+        IPWildShapeCopyItemProperties(oAmuletOld,oArmorNew);
+        IPWildShapeCopyItemProperties(oCloakOld,oArmorNew);
+        IPWildShapeCopyItemProperties(oBootsOld,oArmorNew);
+        IPWildShapeCopyItemProperties(oBeltOld,oArmorNew);
+																			   
+																				
+														 
+										  
+																  
+    }
+
+    DelayCommand(1.5,ActionCastSpellOnSelf(SPELL_SHAPE_INCREASE_DAMAGE));
 }
diff --git a/_haks/poa_dev/nw_s2_wholeness.ncs b/_haks/poa_dev/nw_s2_wholeness.ncs
deleted file mode 100644
index 4e13fabf..00000000
Binary files a/_haks/poa_dev/nw_s2_wholeness.ncs and /dev/null differ
diff --git a/_haks/poa_dev/nw_s2_wildshape.ncs b/_haks/poa_dev/nw_s2_wildshape.ncs
index fe2fc3d8..49b525d9 100644
Binary files a/_haks/poa_dev/nw_s2_wildshape.ncs and b/_haks/poa_dev/nw_s2_wildshape.ncs differ
diff --git a/_haks/poa_dev/nw_s2_wildshape.nss b/_haks/poa_dev/nw_s2_wildshape.nss
index d6af398a..5b2a2f56 100644
--- a/_haks/poa_dev/nw_s2_wildshape.nss
+++ b/_haks/poa_dev/nw_s2_wildshape.nss
@@ -15,20 +15,37 @@
 //:: Created By: Preston Watamaniuk
 //:: Created On: Jan 22, 2002
 //:://////////////////////////////////////////////
-//:: Modified By: Iznoghoud - January 19 2004
-/*
-What this script changes:
-Allows druid wildshapes to get stacking item properties carried over correctly
-just like shifters.
-See Iznoghoud's x2_s2_gwildshp script for an in-detail description.
-*/
+//:: Modified By: Deva Winblood
+//:: Modified Date: January 15th-16th, 2008
 //:://////////////////////////////////////////////
+/*
+    Modified to insure no shapeshifting spells are castable upon
+    mounted targets.  This prevents problems that can occur due
+    to dismounting after shape shifting, or other issues that can
+    occur due to preserved appearances getting out of synch.
 
-#include "ws_inc_shifter"
+    This can additional check can be disabled by setting the variable
+    X3_NO_SHAPESHIFT_SPELL_CHECK to 1 on the module object.  If this
+    variable is set then this script will function as it did prior to
+    this modification.
+
+*/
+												  
+
+//#include "x3_inc_horse"
+#include "prc_alterations"
+#include "pnp_shft_poly"
+
+void wild_shape_shift(object oPC, int nShape)
+{
+    string sResRef = Get2DACache("prc_polymorph", "ResRef", nShape);
+    StoreCurrentAppearanceAsTrueAppearance(oPC, TRUE);
+    ShiftIntoResRef(oPC, SHIFTER_TYPE_DRUID, sResRef);
+}
 
 void main()
+																		   
 {
-
 //Override in town, no casting!
 if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
 {
@@ -37,21 +54,41 @@ if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
 
  return;
 }
-
     //Declare major variables
     int nSpell = GetSpellId();
-    object oTarget = GetSpellTargetObject();
+    object oTarget = PRCGetSpellTargetObject();
+    object oPC = OBJECT_SELF;
     effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
     effect ePoly;
     int nPoly;
-    int nMetaMagic = GetMetaMagicFeat();
-    int nDuration = GetLevelByClass(CLASS_TYPE_DRUID);
+    int nMetaMagic = PRCGetMetaMagicFeat();
+    int nDuration = GetLevelByClass(CLASS_TYPE_DRUID, oPC)
+                  + GetLevelByClass(CLASS_TYPE_ARCANE_HIEROPHANT, oPC);
+    if (!GetLocalInt(GetModule(),"X3_NO_SHAPESHIFT_SPELL_CHECK"))
+    { // check to see if abort due to being mounted
+        if (PRCHorseGetIsMounted(oTarget))
+        { // abort
+            if (GetIsPC(oTarget)) FloatingTextStrRefOnCreature(111982,oTarget,FALSE);
+              return;
+        } // abort
+    } // check to see if abort due to being mounted
+    
     //Enter Metamagic conditions
-    if (nMetaMagic == METAMAGIC_EXTEND)
+    if ((nMetaMagic & METAMAGIC_EXTEND))
     {
         nDuration = nDuration *2; //Duration is +100%
     }
 
+    //this command will make shore that polymorph plays nice with the shifter
+    ShifterCheck(OBJECT_SELF);
+
+    int nShape = GetPersistantLocalInt(oPC, PRC_PNP_SHIFTING + IntToString(nSpell));
+    if(nShape > 0)
+    {
+        wild_shape_shift(oPC, nShape);
+        return;
+    }
+
     //Determine Polymorph subradial type
     if(nSpell == 401)
     {
@@ -93,255 +130,255 @@ if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
         {
             nPoly = POLYMORPH_TYPE_DIRE_BADGER;
         }
-    }
+	 
 
-    int bWeapon;
-    int bArmor;
-    int bItems;
-    int bCopyGlovesToClaws = FALSE;
+				
+			   
+			   
+								   
 
-    bWeapon = StringToInt(Get2DAString("polymorph","MergeW",nPoly)) == 1;
+																		 
 
-    if ( WS_ALWAYS_COPY_ARMOR_PROPS )
-        bArmor = TRUE;
-    else
-        bArmor  = StringToInt(Get2DAString("polymorph","MergeA",nPoly)) == 1;
+									 
+					  
+		
+																			 
 
-    if ( WS_ALWAYS_COPY_ITEM_PROPS )
-        bItems = TRUE;
-    else
-        bItems  = StringToInt(Get2DAString("polymorph","MergeI",nPoly)) == 1;
+									
+					  
+		
+																			 
 
-    // Send message to PC about which items get merged to this form
-    string sMerge;
-    sMerge = "Merged: "; // <caz�>: This is a color code that makes the text behind it blue.
-    if(bArmor) sMerge += "<caz�>Armor, Helmet, Shield";
-    if(bItems) sMerge += ",</c> <ca�a>Rings, Amulet, Cloak, Boots, Belt, Bracers";
-    if( bWeapon || WS_COPY_WEAPON_PROPS_TO_UNARMED == 1 )
-        sMerge += ",</c> <c�AA>Weapon";
-    else if ( WS_COPY_WEAPON_PROPS_TO_UNARMED == 2 )
-        sMerge += ",</c> <c�AA>Gloves to unarmed attacks";
-    else if (WS_COPY_WEAPON_PROPS_TO_UNARMED == 3 )
-        sMerge += ",</c> <c�AA>Weapon (if you had one equipped) or gloves to unarmed attacks";
-    else
-        sMerge += ",</c> <c�AA>No weapon or gloves to unarmed attacks";
-    SendMessageToPC(oTarget,sMerge + ".</c>");
+																   
+				  
+																							
+													   
+																				  
+														 
+									   
+													
+														  
+												   
+																							  
+		
+																	   
+											  
 
-    // Store which items should transfer to this polymorph type. (For exportallchar scripts)
-    SetLocalInt(oTarget, "GW_PolyID", nPoly);
-    SetLocalInt(oTarget, "GW_bWeapon", bWeapon );
-    SetLocalInt(oTarget, "GW_bArmor", bArmor );
-    SetLocalInt(oTarget, "GW_bItems", bItems );
+																							
+											 
+												 
+											   
+											   
 
-    //--------------------------------------------------------------------------
-    // Store the old objects so we can access them after the character has
-    // changed into his new form
-    //--------------------------------------------------------------------------
-    object oWeaponOld;
-    object oArmorOld;
-    object oRing1Old ;
-    object oRing2Old;
-    object oAmuletOld;
-    object oCloakOld ;
-    object oBootsOld  ;
-    object oBeltOld   ;
-    object oHelmetOld;
-    object oShield ;
-    object oBracerOld;
-    object oHideOld;
-    //Assume the normal shape doesn't have a creature skin object.
-    //If using a subracesystem or something else that places a skin on the normal shape
-    //another condition is needed to decide whether or not to store current items.
-    //One way could be to scan all effects to see whether one is a polymorph effect.
-    int nPolyed = GetIsObjectValid(GetItemInSlot(INVENTORY_SLOT_CARMOUR,OBJECT_SELF));
-    // If there is a creature armor see if it is a creature hide put
-    // on the unpolymorphed player by scanning for a polymorph effect.
-    if ( nPolyed )
-        nPolyed = ( ScanForPolymorphEffect(OBJECT_SELF) != -2 );
-    if(! nPolyed)
-    {
-        //if not polymorphed get items worn and store on player.
-        oWeaponOld = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,OBJECT_SELF);
-        oArmorOld  = GetItemInSlot(INVENTORY_SLOT_CHEST,OBJECT_SELF);
-        oRing1Old  = GetItemInSlot(INVENTORY_SLOT_LEFTRING,OBJECT_SELF);
-        oRing2Old  = GetItemInSlot(INVENTORY_SLOT_RIGHTRING,OBJECT_SELF);
-        oAmuletOld = GetItemInSlot(INVENTORY_SLOT_NECK,OBJECT_SELF);
-        oCloakOld  = GetItemInSlot(INVENTORY_SLOT_CLOAK,OBJECT_SELF);
-        oBootsOld  = GetItemInSlot(INVENTORY_SLOT_BOOTS,OBJECT_SELF);
-        oBeltOld   = GetItemInSlot(INVENTORY_SLOT_BELT,OBJECT_SELF);
-        oHelmetOld = GetItemInSlot(INVENTORY_SLOT_HEAD,OBJECT_SELF);
-        oShield    = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,OBJECT_SELF);
-        oBracerOld  = GetItemInSlot(INVENTORY_SLOT_ARMS,OBJECT_SELF);
-        oHideOld = GetItemInSlot(INVENTORY_SLOT_CARMOUR,OBJECT_SELF);
-        SetLocalObject(OBJECT_SELF,"GW_OldWeapon",oWeaponOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldArmor",oArmorOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldRing1",oRing1Old);
-        SetLocalObject(OBJECT_SELF,"GW_OldRing2",oRing2Old);
-        SetLocalObject(OBJECT_SELF,"GW_OldAmulet",oAmuletOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldCloak",oCloakOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldBoots",oBootsOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldBelt",oBeltOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldHelmet",oHelmetOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldBracer",oBracerOld);
-        SetLocalObject(OBJECT_SELF,"GW_OldHide",oHideOld);
-        if (GetIsObjectValid(oShield))
-        {
-            if (GetBaseItemType(oShield) !=BASE_ITEM_LARGESHIELD &&
-                GetBaseItemType(oShield) !=BASE_ITEM_SMALLSHIELD &&
-                GetBaseItemType(oShield) !=BASE_ITEM_TOWERSHIELD)
-            {
-                oShield = OBJECT_INVALID;
-            }
-        }
-        SetLocalObject(OBJECT_SELF,"GW_OldShield",oShield);
+																				
+																		  
+								
+																				
+					  
+					 
+					  
+					 
+					  
+					  
+					   
+					   
+					  
+					
+					  
+					
+																  
+																					   
+																				  
+																					
+																					  
+																	
+																	  
+				  
+																
+				 
+	 
+																
+																		 
+																	 
+																		
+																		 
+																	
+																	 
+																	 
+																	
+																	
+																		
+																	 
+																	 
+															  
+															
+															
+															
+															  
+															
+															
+														  
+															  
+															  
+														  
+									  
+		 
+																   
+																   
+																 
+			 
+										 
+			 
+		 
+														   
 
     }
-    else
-    {
-        //if already polymorphed use items stored earlier.
-        oWeaponOld =     GetLocalObject(OBJECT_SELF,"GW_OldWeapon");
-        oArmorOld  =     GetLocalObject(OBJECT_SELF,"GW_OldArmor");
-        oRing1Old  =     GetLocalObject(OBJECT_SELF,"GW_OldRing1");
-        oRing2Old  =     GetLocalObject(OBJECT_SELF,"GW_OldRing2");
-        oAmuletOld =     GetLocalObject(OBJECT_SELF,"GW_OldAmulet");
-        oCloakOld  =     GetLocalObject(OBJECT_SELF,"GW_OldCloak");
-        oBootsOld  =     GetLocalObject(OBJECT_SELF,"GW_OldBoots");
-        oBeltOld   =     GetLocalObject(OBJECT_SELF,"GW_OldBelt");
-        oHelmetOld =     GetLocalObject(OBJECT_SELF,"GW_OldHelmet");
-        oShield    =     GetLocalObject(OBJECT_SELF,"GW_OldShield");
-        oBracerOld =     GetLocalObject(OBJECT_SELF,"GW_OldBracer");
-        oHideOld   =     GetLocalObject(OBJECT_SELF,"GW_OldHide");
-    }
+		
+	 
+														  
+																	
+																   
+																   
+																   
+																	
+																   
+																   
+																  
+																	
+																	
+																	
+																  
+	 
 
-    //--------------------------------------------------------------------------
-    // Here the actual polymorphing is done
-    //--------------------------------------------------------------------------
+																				
+										   
+																				
     ePoly = EffectPolymorph(nPoly);
-    //--------------------------------------------------------------------------
-    // Iznoghoud: Link the stackable properties as permanent bonuses to the
-    // Polymorph effect, instead of putting them on the creature hide. They will
-    // properly disappear as soon as the polymorph is ended.
-    //--------------------------------------------------------------------------
-    ePoly = AddStackablePropertiesToPoly ( oTarget, ePoly, bWeapon, bItems, bArmor, oArmorOld, oRing1Old, oRing2Old, oAmuletOld, oCloakOld, oBracerOld, oBootsOld, oBeltOld, oHelmetOld, oShield, oWeaponOld, oHideOld);
+																				
+																		   
+																				
+															
+																				
+																																																						
     ePoly = ExtraordinaryEffect(ePoly);
-    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
-    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePoly, OBJECT_SELF, HoursToSeconds(nDuration));
+																  
+																								
     //Fire cast spell at event for the specified target
     SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_WILD_SHAPE, FALSE));
-    //--------------------------------------------------------------------------
-    // This code handles the merging of item properties
-    //--------------------------------------------------------------------------
-    object oWeaponNew = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,OBJECT_SELF);
-    object oArmorNew = GetItemInSlot(INVENTORY_SLOT_CARMOUR,OBJECT_SELF);
-    object oClawLeft = GetItemInSlot(INVENTORY_SLOT_CWEAPON_L,OBJECT_SELF);
-    object oClawRight = GetItemInSlot(INVENTORY_SLOT_CWEAPON_R,OBJECT_SELF);
-    object oBite = GetItemInSlot(INVENTORY_SLOT_CWEAPON_B,OBJECT_SELF);
-    //--------------------------------------------------------------------------
-    // ...Weapons
-    //--------------------------------------------------------------------------
-    if (bWeapon)
-    {
-        //----------------------------------------------------------------------
-        // GZ: 2003-10-20
-        // Sorry, but I was forced to take that out, it was confusing people
-        // and there were problems with updating the stats sheet.
-        //----------------------------------------------------------------------
-        /* if (!GetIsObjectValid(oWeaponOld))
-        {
-            //------------------------------------------------------------------
-            // If we had no weapon equipped before, remove the old weapon
-            // to allow monks to change into unarmed forms by not equipping any
-            // weapon before polymorphing
-            //------------------------------------------------------------------
-            DestroyObject(oWeaponNew);
-        }
-        else*/
-        {
-            //------------------------------------------------------------------
-            // Merge item properties...
-            //------------------------------------------------------------------
-            WildshapeCopyWeaponProperties(oTarget, oWeaponOld,oWeaponNew);
-        }
-    }
-    else {
-        switch ( WS_COPY_WEAPON_PROPS_TO_UNARMED )
-        {
-        case 1: // Copy over weapon properties to claws/bite
-            WildshapeCopyNonStackProperties(oWeaponOld,oClawLeft, TRUE);
-            WildshapeCopyNonStackProperties(oWeaponOld,oClawRight, TRUE);
-            WildshapeCopyNonStackProperties(oWeaponOld,oBite, TRUE);
-            break;
-        case 2: // Copy over glove properties to claws/bite
-            WildshapeCopyNonStackProperties(oBracerOld,oClawLeft, FALSE);
-            WildshapeCopyNonStackProperties(oBracerOld,oClawRight, FALSE);
-            WildshapeCopyNonStackProperties(oBracerOld,oBite, FALSE);
-            bCopyGlovesToClaws = TRUE;
-            break;
-        case 3: // Copy over weapon properties to claws/bite if wearing a weapon, otherwise copy gloves
-            if ( GetIsObjectValid(oWeaponOld) )
-            {
-                WildshapeCopyNonStackProperties(oWeaponOld,oClawLeft, TRUE);
-                WildshapeCopyNonStackProperties(oWeaponOld,oClawRight, TRUE);
-                WildshapeCopyNonStackProperties(oWeaponOld,oBite, TRUE);
-            }
-            else
-            {
-                WildshapeCopyNonStackProperties(oBracerOld,oClawLeft, FALSE);
-                WildshapeCopyNonStackProperties(oBracerOld,oClawRight, FALSE);
-                WildshapeCopyNonStackProperties(oBracerOld,oBite, FALSE);
-                bCopyGlovesToClaws = TRUE;
-            }
-            break;
-        default: // Do not copy over anything
-            break;
-        };
-    }
-    //--------------------------------------------------------------------------
-    // ...Armor
-    //--------------------------------------------------------------------------
-    if (bArmor)
-    {
-        //----------------------------------------------------------------------
-        // Merge item properties from armor and helmet...
-        //----------------------------------------------------------------------
-        WildshapeCopyNonStackProperties(oArmorOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oHelmetOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oShield,oArmorNew);
-        WildshapeCopyNonStackProperties(oHideOld,oArmorNew);
-    }
-    //--------------------------------------------------------------------------
-    // ...Magic Items
-    //--------------------------------------------------------------------------
-    if (bItems)
-    {
-        //----------------------------------------------------------------------
-        // Merge item properties from from rings, amulets, cloak, boots, belt
-        // Iz: And bracers, in case oBracerOld gets set to a valid object.
-        //----------------------------------------------------------------------
-        WildshapeCopyNonStackProperties(oRing1Old,oArmorNew);
-        WildshapeCopyNonStackProperties(oRing2Old,oArmorNew);
-        WildshapeCopyNonStackProperties(oAmuletOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oCloakOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oBootsOld,oArmorNew);
-        WildshapeCopyNonStackProperties(oBeltOld,oArmorNew);
-        // Because Bracers can have On Hit Cast Spell type properties we should
-        // avoid copying the bracers twice. Otherwise the player can get that On
-        // Hit effect both when hitting, and getting hit.
-        if ( bCopyGlovesToClaws == FALSE )
-            WildshapeCopyNonStackProperties(oBracerOld,oArmorNew);
-    }
+																				
+													   
+																				
+																			
+																		 
+																		   
+																			
+																	   
+																				
+				 
+																				
+				
+	 
+																				
+						 
+																			
+																 
+																				
+											 
+		 
+																				
+																		 
+																			   
+										 
+																				
+									  
+		 
+			  
+		 
+																				
+									   
+																				
+																		  
+		 
+	 
+		  
+												  
+		 
+															
+																		
+																		 
+																	
+				  
+														   
+																		 
+																		  
+																	 
+									  
+				  
+																									   
+											   
+			 
+																			
+																			 
+																		
+			 
+				
+			 
+																			 
+																			  
+																		 
+										  
+			 
+				  
+											 
+				  
+		  
+	 
+																				
+			   
+																				
+			   
+	 
+																				
+														 
+																				
+															 
+															  
+														   
+															
+	 
+																				
+					 
+																				
+			   
+	 
+																				
+																			 
+																		  
+																				
+															 
+															 
+															  
+															 
+															 
+															
+																			   
+																				
+														 
+										  
+																  
+	 
 
-}
+    int bWeapon = StringToInt(Get2DACache("polymorph","MergeW",nPoly)) == 1;
+    int bArmor  = StringToInt(Get2DACache("polymorph","MergeA",nPoly)) == 1;
+    int bItems  = StringToInt(Get2DACache("polymorph","MergeI",nPoly)) == 1;
 
 
 
 
 
 
-
-
-//============================================================================================
-/*
+																							  
+  
 
     object oWeaponOld = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,OBJECT_SELF);
     object oArmorOld = GetItemInSlot(INVENTORY_SLOT_CHEST,OBJECT_SELF);
@@ -357,12 +394,17 @@ if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
     {
         if (GetBaseItemType(oShield) !=BASE_ITEM_LARGESHIELD &&
             GetBaseItemType(oShield) !=BASE_ITEM_SMALLSHIELD &&
-            GetBaseItemType(oShield) !=BASE_ITEM_SMALLSHIELD)
+            GetBaseItemType(oShield) !=BASE_ITEM_TOWERSHIELD)
         {
             oShield = OBJECT_INVALID;
         }
     }
 
+    ClearAllActions(); // prevents an exploit
+    
+    
+    if (GetEssentiaInvestedFeat(OBJECT_SELF, FEAT_AZURE_WILD_SHAPE))
+    	ePoly = EffectLinkEffects(ePoly, EffectDamageIncrease(IPGetDamageBonusConstantFromNumber(GetEssentiaInvestedFeat(OBJECT_SELF, FEAT_AZURE_WILD_SHAPE)), DAMAGE_TYPE_BASE_WEAPON));
 
 
 
@@ -393,5 +435,6 @@ if(GetLocalInt(GetArea(OBJECT_SELF), "NOCAST")==2 && !GetIsDM(OBJECT_SELF))
         IPWildShapeCopyItemProperties(oBeltOld,oArmorNew);
     }
 
+    DelayCommand(1.5,ActionCastSpellOnSelf(SPELL_SHAPE_INCREASE_DAMAGE));
 }
-*/
+  
diff --git a/_haks/poa_dev/personal_switch.2da b/_haks/poa_dev/personal_switch.2da
deleted file mode 100644
index a283b363..00000000
--- a/_haks/poa_dev/personal_switch.2da
+++ /dev/null
@@ -1,132 +0,0 @@
-2DA V2.0
-
-    SwitchName                              SwitchType SwitchValue
-3   PRC_PNP_TRUESEEING                      int        1
-4   PRC_TIMESTOP_LOCAL                      int        1
-5   PRC_TIMESTOP_NO_HOSTILE                 int        0
-6   PRC_TIMESTOP_BLANK_PC                   int        0
-7   PRC_PNP_ELEMENTAL_SWARM                 int        1
-8   PRC_PNP_TENSERS_TRANSFORMATION          int        1
-9   PRC_PNP_BLACK_BLADE_OF_DISASTER         int        1
-10  PRC_PNP_FIND_TRAPS                      int        0
-11  PRC_PNP_DARKNESS                        int        0
-12  PRC_PNP_DARKNESS_35ED                   int        0
-13  PRC_PNP_ANIMATE_DEAD                    int        1
-14  PRC_35ED_WORD_OF_FAITH                  int        0
-15  PRC_CREATE_UNDEAD_UNCONTROLLED          int        1
-16  PRC_CREATE_UNDEAD_PERMANENT             int        0
-17  PRC_SLEEP_NO_HD_CAP                     int        0
-18  PRC_USE_NEW_IMBUE_ARROW                 int        1
-19  PRC_ORC_WARLORD_COHORT                  int        1
-20  PRC_LICH_ALTER_SELF_DISABLE             int        0
-21  PRC_TRUE_NECROMANCER_ALTERNATE_VISUAL   int        1
-22  PRC_THRALLHERD_LEADERSHIP               int        1
-23  PRC_PNP_UNIMPINGED                      int        1
-24  PRC_PNP_IMPENETRABILITY                 int        1
-25  PRC_PNP_DULLBLADES                      int        1
-26  PRC_PNP_CHAMPIONS_VALOR                 int        1
-27  PRC_STAFF_CASTER_LEVEL                  int        1
-28  PRC_PNP_ABILITY_DAMAGE_EFFECTS          int        1
-29  PRC_PNP_REST_HEALING                    int        0
-30  PRC_PNP_SOMATIC_COMPOMENTS              int        0
-31  PRC_PNP_SOMATIC_ITEMS                   int        0
-32  PRC_MULTISUMMON                         int        1
-33  PRC_SUMMON_ROUND_PER_LEVEL              int        0
-34  PRC_PNP_FAMILIAR_FEEDING                int        0
-35  PRC_PNP_HOLY_AVENGER_IPROP              int        1
-36  PRC_PNP_SLINGS                          int        1
-37  PRC_PNP_RACIAL_SPEED                    int        1
-38  PRC_PNP_ARMOR_SPEED                     int        1
-39  PRC_REMOVE_PLAYER_SPEED                 int        1
-40  PRC_BREW_POTION_CASTER_LEVEL            int        1
-41  PRC_SCRIBE_SCROLL_CASTER_LEVEL          int        1
-42  PRC_CRAFT_WAND_CASTER_LEVEL             int        1
-43  PRC_CRAFTING_BASE_ITEMS                 int        1
-44  PRC_XP_USE_SIMPLE_LA                    int        1
-45  PRC_XP_USE_SIMPLE_RACIAL_HD             int        1
-46  PRC_AUTO_IDENTIFY_ON_ACQUIRE            int        1
-47  PRC_AUTO_UNIDENTIFY_ON_UNACQUIRE        int        0
-48  PRC_BARD_LIGHT_ARMOR_SPELLCASTING       int        1
-49  PRC_PSIONIC_SLAYER_FAV_ENEMY_ABERRATION_ONLY  int  1
-50  PRC_ECL_USES_XP_NOT_HD                  int        1
-51  PRC_PNP_ANIMAL_COMPANIONS               int        1
-52  PRC_PNP_FAMILIARS                       int        1
-53  PRC_POWER_ATTACK                        int        1
-54  PRC_NEC_TERM_PERMADEATH                 int        0
-55  PRC_SPELL_ALIGNMENT_RESTRICT            int        2
-56  PRC_ALLOW_ONLY_SHARP_WEAPONS            int        0
-57  PRC_DEXBASED_WEAPON_POISONING_FAILURE_CHANCE  int  1
-58  PRC_PNP_RAPID_METABOLISM                int        0
-59  PRC_PNP_ELEMENTAL_DAMAGE                int        1
-60  PRC_SMALL_CREATURE_FINESSE              int        1
-61  PRC_CRAFT_ROD_CASTER_LEVEL              int        1
-62  PRC_CRAFT_STAFF_CASTER_LEVEL            int        1
-63  PRC_XP_USE_SIMPLE_RACIAL_HD_NO_FREE_XP  int        1
-64  PRC_XP_INCLUDE_RACIAL_HIT_DIE_IN_LA     int        0
-65  PRC_XP_USE_SETXP                        int        0
-66  PRC_DISABLE_COMPONENTS_SHOP             int        0
-67  PRC_TRUE_NECROMANCER_ALTERNATE_VISUAL   int        1
-68  PRC_DISABLE_CONVO_TEMPLATE_GAIN         int        0
-69  PRC_SPELLSLAB                           int        1
-70  PRC_POWER_ATTACK_STACK_WITH_BW          int        1
-71  PRC_DISABLE_SWITCH_CHANGING_CONVO       int        1
-72  PRC_ENFORCE_RACIAL_APPEARANCE           int        0
-73  PRC_APPEARNCE_CHANGE_DISABLE            int        0
-74  ###BELOW_HERE_CAN_BREAK_EXISTING_PW###  ****       ****
-75  PRC_SUPPLY_BASED_REST                   int        0
-76  PRC_PNP_DEATH_ENABLE                    int        0
-77  PRC_DEATH_OR_BLEED                      int        1
-78  PRC_DEATH_DAMAGE_FROM_BLEEDING          int        1
-79  PRC_DEATH_BLEED_TO_STABLE_CHANCE        int        1
-80  PRC_DEATH_STABLE_TO_DISABLED_CHANCE     int        1
-81  PRC_PW_TIME                             int        0
-82  PRC_PW_HP_TRACKING                      int        0
-83  PRC_PW_LOCATION_TRACKING                int        0
-84  PRC_PW_MAPPIN_TRACKING                  int        0
-85  PRC_PW_DEATH_TRACKING                   int        0
-86  PRC_PW_SPELL_TRACKING                   int        0
-87  PRC_PW_LOGON_DELAY                      int        0
-88  PRC_XP_USE_PNP_XP                       int        1
-89  PRC_XP_MUST_BE_IN_AREA                  int        1
-90  PRC_XP_MAX_PHYSICAL_DISTANCE            int        0
-91  PRC_XP_MAX_LEVEL_DIFF                   int        8
-92  PRC_EPIC_INGORE_DEFAULT                 int        0
-93  PRC_EPIC_XP_COSTS       		    int        1
-94  PRC_EPIC_TAKE_TEN_RULE  		    int        1
-95  PRC_EPIC_PRIMARY_ABILITY_MODIFIER_RULE  int        1
-96  PRC_EPIC_BACKLASH_DAMAGE		    int        1
-97  PRC_EPIC_FOCI_ADJUST_DC 		    int        1
-98  PRC_EPIC_GOLD_MULTIPLIER		    int        1
-99  PRC_EPIC_XP_FRACTION    		    int        1
-100  PRC_EPIC_FAILURE_FRACTION_GOLD	    int        1
-101  PRC_EPIC_BOOK_DESTRUCTION	            int        0
-102  PRC_EPIC_CONVO_LEARNING_DISABLE	    int        0
-103  PRC_CRAFTING_TIME_SCALE	            int        1
-104  PRC_AFTS_EXTRA_DAMAGE                  int        1
-105  PRC_DRAGON_DISCIPLE_SIZE_CHANGES       int        1
-106  PRC_NPC_HAS_PC_SPELLCASTING            int        1
-107  PRC_ENABLE_SPELL_SHARING               int        1
-108  PRC_USE_DATABASE                       int        1
-109  PRC_DB_PRECACHE                        int        0
-110  PRC_DB_SQLITE                          int        0
-111  PRC_DB_SQLITE_INTERVAL                 int        0
-112  PRC_DB_MYSQL                           int        0
-113  PRC_USE_LETOSCRIPT                     int        0
-114  PRC_LETOSCRIPT_PHEONIX_SYNTAX          int        0
-115  PRC_LETOSCRIPT_FIX_ABILITIES           int        0
-116  PRC_LETOSCRIPT_UNICORN_SQL             int        0
-117  PRC_LETOSCRIPT_GETNEWESTBIC            int        0
-118  PRC_COMBAT_DEBUG                       int        0
-119  PRC_DEBUG                              int        0
-120  PRC_35_SPELL_FOCUS                     int        0
-121  PRC_35_TWO_WEAPON_FIGHTING             int        0
-122  PRC_PNP_DISARM                         int        1
-123  PRC_BONUS_COHORTS                      int        1
-124  PRC_XP_HENCHMAN_PARTY_COUNT_x100       int        1
-125  PRC_XP_DOMINATED_PARTY_COUNT_x100       int        1
-126  PRC_XP_ANIMALCOMPANION_PARTY_COUNT_x100       int        1
-127  PRC_XP_FAMILIAR_PARTY_COUNT_x100       int        1
-128  PRC_XP_SUMMONED_PARTY_COUNT_x100       int        1
-129  PRC_CHICKEN_INFESTED                   int        1
-130  PRC_PNP_SHIFTER_BONUS                   int        127
-131 PRC_PW_SECURITY_CD_CHECK                int        0
diff --git a/_haks/poa_dev/x1_s2_imbuearrow.ncs b/_haks/poa_dev/x1_s2_imbuearrow.ncs
deleted file mode 100644
index a0538a07..00000000
Binary files a/_haks/poa_dev/x1_s2_imbuearrow.ncs and /dev/null differ
diff --git a/_haks/poa_dev/nw_s1_barbrage.nss b/_removed files/nw_s1_barbrage.nss
similarity index 100%
rename from _haks/poa_dev/nw_s1_barbrage.nss
rename to _removed files/nw_s1_barbrage.nss
diff --git a/_haks/poa_dev/nw_s2_bardsong.nss b/_removed files/nw_s2_bardsong.nss
similarity index 100%
rename from _haks/poa_dev/nw_s2_bardsong.nss
rename to _removed files/nw_s2_bardsong.nss
diff --git a/_haks/poa_dev/nw_s2_wholeness.nss b/_removed files/nw_s2_wholeness.nss
similarity index 100%
rename from _haks/poa_dev/nw_s2_wholeness.nss
rename to _removed files/nw_s2_wholeness.nss
diff --git a/_haks/poa_dev/x1_s2_imbuearrow.nss b/_removed files/x1_s2_imbuearrow.nss
similarity index 100%
rename from _haks/poa_dev/x1_s2_imbuearrow.nss
rename to _removed files/x1_s2_imbuearrow.nss