diff --git a/_content/ga_scripts/mut_t_ab_acid.ncs b/_content/ga_scripts/mut_t_ab_acid.ncs
new file mode 100644
index 00000000..6d31dc0a
Binary files /dev/null and b/_content/ga_scripts/mut_t_ab_acid.ncs differ
diff --git a/_content/ga_scripts/mut_t_ab_acid.nss b/_content/ga_scripts/mut_t_ab_acid.nss
new file mode 100644
index 00000000..4aa8e323
--- /dev/null
+++ b/_content/ga_scripts/mut_t_ab_acid.nss
@@ -0,0 +1,52 @@
+//::////////////////////////////////////////////////////////////////////////////
+//:: Name           Energy Absorption: Acid template test script
+//:: FileName       mut_t_ab_acid.nss
+//:: Copyright (c) 2022 NWNDS
+//::////////////////////////////////////////////////////////////////////////////
+/*
+Energy Absorption: Acid (Physical / Plant)
+The character gains Energy Resistance, ignoring the first 10 points + CON 
+modifier of damage from a particular type of energy attack.
+
+[Ignores 10 + CON Bonus of caustic damage]
+
+*/
+//::////////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//::////////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except pure strain humans, oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_PSH
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_ENERGY_ABSORPTION_ACID, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_ab_cold.nss b/_content/ga_scripts/mut_t_ab_cold.nss
new file mode 100644
index 00000000..bc8459a2
--- /dev/null
+++ b/_content/ga_scripts/mut_t_ab_cold.nss
@@ -0,0 +1,52 @@
+//::////////////////////////////////////////////////////////////////////////////
+//:: Name           Energy Absorption: Acid template test script
+//:: FileName       mut_t_ab_acid.nss
+//:: Copyright (c) 2022 NWNDS
+//::////////////////////////////////////////////////////////////////////////////
+/*
+Energy Absorption: Acid (Physical / Plant)
+The character gains Energy Resistance, ignoring the first 10 points + CON 
+modifier of damage from a particular type of energy attack.
+
+[Ignores 10 + CON Bonus of caustic damage]
+
+*/
+//::////////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//::////////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except pure strain humans, oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_PSH
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_ENERGY_ABSOPTION_ACID, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_displace.ncs b/_content/ga_scripts/mut_t_displace.ncs
new file mode 100644
index 00000000..2838fd12
Binary files /dev/null and b/_content/ga_scripts/mut_t_displace.ncs differ
diff --git a/_content/ga_scripts/mut_t_displace.nss b/_content/ga_scripts/mut_t_displace.nss
new file mode 100644
index 00000000..a3bc0d6f
--- /dev/null
+++ b/_content/ga_scripts/mut_t_displace.nss
@@ -0,0 +1,56 @@
+//::///////////////////////////////////////////////////////////////////////////
+//:: Name           Displacement template test script
+//:: FileName       mut_t_displace.nss
+//:: Copyright (c) 2022 NWNDS
+//::///////////////////////////////////////////////////////////////////////////
+/*
+Displacement (Mental)
+The mutant subconsciously reacts to life-threatening danger by teleporting 
+himself away from it. If the character believes that he is in danger of being 
+killed or taking severe damage, he is displaced as an immediate action. 
+Any time the character is incapacitated while fighting, he will also be 
+displaced. Displacement moves him 2d4 x 10 feet in a random direction. The 
+target location must be clear and non-threatening. This power cannot be 
+triggered more than once per hour. In addition, once per day the mutant is
+able to displace him or herself up to 50’ in any direction as a move action.
+
+*/
+//:://////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//:://////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+	
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_DISPLACEMENT, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_dissolv.ncs b/_content/ga_scripts/mut_t_dissolv.ncs
new file mode 100644
index 00000000..cf57d3a4
Binary files /dev/null and b/_content/ga_scripts/mut_t_dissolv.ncs differ
diff --git a/_content/ga_scripts/mut_t_dissolv.nss b/_content/ga_scripts/mut_t_dissolv.nss
new file mode 100644
index 00000000..8e879b1f
--- /dev/null
+++ b/_content/ga_scripts/mut_t_dissolv.nss
@@ -0,0 +1,50 @@
+//::///////////////////////////////////////////////////////////////////////////
+//:: Name           Dissolving Juices template test script
+//:: FileName       mut_t_dissolv.nss
+//:: Copyright (c) 2022 NWNDS
+//::///////////////////////////////////////////////////////////////////////////
+/*
+Dissolving Juices (Plant)
+The plant can secrete a fluid that does 1d6 + CON modifier of acid damage each 
+round of contact for up to one minute. The plant can secrete the fluid once 
+every four hours. 
+
+(Grapple, Acid Shealth, melee acid damage, 4 hour cooldown)
+
+*/
+//:://////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//:://////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Plants only
+    int nRace = MyPRCGetRacialType(oPC);
+	
+    if(nRace != RACIAL_TYPE_PLANT
+	&& nRace != RACIAL_TYPE_SHRUBO
+	&& nRace != RACIAL_TYPE_BLOOM
+	&& nRace != RACIAL_TYPE_MYCO
+	&& nRace != RACIAL_TYPE_CULEN
+	&& nRace != RACIAL_TYPE_ENT
+	&& nRace != RACIAL_TYPE_CREEP)		
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }   	
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_DISSOLVING_JUICES, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_distort.ncs b/_content/ga_scripts/mut_t_distort.ncs
new file mode 100644
index 00000000..a2dab515
Binary files /dev/null and b/_content/ga_scripts/mut_t_distort.ncs differ
diff --git a/_content/ga_scripts/mut_t_distort.nss b/_content/ga_scripts/mut_t_distort.nss
new file mode 100644
index 00000000..58e89d4f
--- /dev/null
+++ b/_content/ga_scripts/mut_t_distort.nss
@@ -0,0 +1,53 @@
+//::///////////////////////////////////////////////////////////////////////////
+//:: Name           Distortion Field template test script
+//:: FileName       mut_t_distort.nss
+//:: Copyright (c) 2022 NWNDS
+//::///////////////////////////////////////////////////////////////////////////
+/*
+Distortion Field (Mental)
+The mutant is able to create a field around him that distorts light and makes 
+it difficult to see him clearly. This distortion grants the mutant concealment 
+(20% miss chance) against any opponent that uses sight to target him. The field 
+can be activated for a maximum of 10 rounds per day, plus 2 round per WIS
+modifier. The rounds of use do not have to be consecutive. 
+
+*/
+//:://////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//:://////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+	
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_DISTORTION_FIELD, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_dualbrain.ncs b/_content/ga_scripts/mut_t_dualbrain.ncs
new file mode 100644
index 00000000..20c2e149
Binary files /dev/null and b/_content/ga_scripts/mut_t_dualbrain.ncs differ
diff --git a/_content/ga_scripts/mut_t_dualbrain.nss b/_content/ga_scripts/mut_t_dualbrain.nss
new file mode 100644
index 00000000..2ececb61
--- /dev/null
+++ b/_content/ga_scripts/mut_t_dualbrain.nss
@@ -0,0 +1,56 @@
+//::////////////////////////////////////////////////////////////////////////////
+//:: Name           Dual Brain template test script
+//:: FileName       mut_t_dualbrain.nss
+//:: Copyright (c) 2022 NWNDS
+//::////////////////////////////////////////////////////////////////////////////
+/*
+Dual Brain (Physical / Plant)
+The mutant has a secondary brain. It does not mean the character has two heads; 
+the character's single head might be enlarged to hold two brains, or it may be 
+located elsewhere in the mutant's body. The character adds 2 points to their
+Intelligence, and gains a single mutation point that can only be spent on a 
+Mental Mutation. If the mutant is attacked by a mental power that allows a Will 
+save, the mutant rolls twice and uses the better result.
+
+(INT +2, Slippery Mind, Free Mental Mutation)
+
+*/
+//::////////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//::////////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except pure strain humans, oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_PSH
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_DUAL_BRAIN, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_duality.ncs b/_content/ga_scripts/mut_t_duality.ncs
new file mode 100644
index 00000000..babe2280
Binary files /dev/null and b/_content/ga_scripts/mut_t_duality.ncs differ
diff --git a/_content/ga_scripts/mut_t_duality.nss b/_content/ga_scripts/mut_t_duality.nss
new file mode 100644
index 00000000..3ce65500
--- /dev/null
+++ b/_content/ga_scripts/mut_t_duality.nss
@@ -0,0 +1,55 @@
+//::///////////////////////////////////////////////////////////////////////////
+//:: Name           Duality template test script
+//:: FileName       mut_t_duality.nss
+//:: Copyright (c) 2022 NWNDS
+//::///////////////////////////////////////////////////////////////////////////
+/*
+Duality (Mental)
+The character is able to focus on multiple actions at the same time. He gains a 
++4 enhancement bonus to Concentration skill checks, and can take 10 on any 
+skill check, regardless of danger or distraction. A number of times a day, 
+equal to the characters level, the mutant may “take” an additional standard 
+action in a round.
+
+(Concentration +4, Haste (1 + HD / 5 uses per day))
+
+*/
+//:://////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//:://////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+	
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_DUALITY, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_echoloc.ncs b/_content/ga_scripts/mut_t_echoloc.ncs
new file mode 100644
index 00000000..a060cf9e
Binary files /dev/null and b/_content/ga_scripts/mut_t_echoloc.ncs differ
diff --git a/_content/ga_scripts/mut_t_echoloc.nss b/_content/ga_scripts/mut_t_echoloc.nss
new file mode 100644
index 00000000..fa27854c
--- /dev/null
+++ b/_content/ga_scripts/mut_t_echoloc.nss
@@ -0,0 +1,53 @@
+//::////////////////////////////////////////////////////////////////////////////
+//:: Name           Echolocation template test script
+//:: FileName       mut_t_echoloc.nss
+//:: Copyright (c) 2022 NWNDS
+//::////////////////////////////////////////////////////////////////////////////
+/*
+Echolocation (Physical / Plant)
+The mutant can use echolocation to determine where objects are around him. He 
+can emit sound waves and hear the reflected sound, giving him information about 
+the position, size, movement and density of objects within 60 feet. He can only 
+get a vague sense of shape about them, but it makes invisibility and concealment 
+irrelevant. 
+
+*/
+//::////////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//::////////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except pure strain humans, oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_PSH
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_ECHOLOCATION, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_ego_proj.ncs b/_content/ga_scripts/mut_t_ego_proj.ncs
new file mode 100644
index 00000000..cb4471a2
Binary files /dev/null and b/_content/ga_scripts/mut_t_ego_proj.ncs differ
diff --git a/_content/ga_scripts/mut_t_ego_proj.nss b/_content/ga_scripts/mut_t_ego_proj.nss
new file mode 100644
index 00000000..6f337375
--- /dev/null
+++ b/_content/ga_scripts/mut_t_ego_proj.nss
@@ -0,0 +1,56 @@
+//::///////////////////////////////////////////////////////////////////////////
+//:: Name           Ego Projection test script
+//:: FileName       mut_ego_proj.nss
+//:: Copyright (c) 2022 NWNDS
+//::///////////////////////////////////////////////////////////////////////////
+/*
+Ego Projection (Mental)
+The mutant can increase any one of his own physical attributes (Dexterity, 
+Constitution or Strength) by using this power. The mutation or attribute 
+increases by twice WIS modifier (maximum 10) for 5 + WIS modifier rounds. The 
+power initially functions once per day. For every third level the character has
+obtained they gain an additional use per day.
+
+(Boost one physical stat by twice WIS Bonus for 5 + WIS Bonus rounds, usable 
+1 + HD / 3 times per day)
+
+*/
+//:://////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//:://////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+	
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_EGO_PROJECTION, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_elecgen.ncs b/_content/ga_scripts/mut_t_elecgen.ncs
new file mode 100644
index 00000000..46525b5f
Binary files /dev/null and b/_content/ga_scripts/mut_t_elecgen.ncs differ
diff --git a/_content/ga_scripts/mut_t_elecgen.nss b/_content/ga_scripts/mut_t_elecgen.nss
new file mode 100644
index 00000000..2bdb9a00
--- /dev/null
+++ b/_content/ga_scripts/mut_t_elecgen.nss
@@ -0,0 +1,57 @@
+//::////////////////////////////////////////////////////////////////////////////
+//:: Name           Electrical Generation template test script
+//:: FileName       mut_t_elecgen.nss
+//:: Copyright (c) 2022 NWNDS
+//::////////////////////////////////////////////////////////////////////////////
+/*
+Electrical Generation (Physical / Plant)
+The mutant is able to build up an electrical charge in his body. He is able to choose when to release the charge, causing electrical
+damage to whatever is touched. In essence, the mutant is constantly charging an internal battery, accumulating 1d6 of electrical
+potential every minute, to a maximum of 3d6. The mutant can choose to discharge one, two, or three dice (as long as he has that much
+stored), by making a touch-attack on an opponent, adding his MPS modifier to the total damage. He can add this damage to a normal
+melee attack if he is wielding a (mostly) metal weapon, as a swift action. Use of the power does not draw an attack of opportunity. The
+mutant is immune to electrical damage, and each 5 points of damage that would have been taken restore 1d6 of charge.
+
+(Immunity to Electricity, +1d6 Electrical w/ metal weapon or Natural Attack, 3d6+CON 
+Electrical Bolt or Touch / 3 Turns)
+
+*/
+//::////////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//::////////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except pure strain humans, oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_PSH
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_ELECTRICAL_GENERATION, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_elecsense.ncs b/_content/ga_scripts/mut_t_elecsense.ncs
new file mode 100644
index 00000000..345e7c53
Binary files /dev/null and b/_content/ga_scripts/mut_t_elecsense.ncs differ
diff --git a/_content/ga_scripts/mut_t_elecsense.nss b/_content/ga_scripts/mut_t_elecsense.nss
new file mode 100644
index 00000000..37c63b3c
--- /dev/null
+++ b/_content/ga_scripts/mut_t_elecsense.nss
@@ -0,0 +1,53 @@
+//::////////////////////////////////////////////////////////////////////////////
+//:: Name           Electromagnetic Sense template test script
+//:: FileName       mut_t_elecsense.nss
+//:: Copyright (c) 2022 NWNDS
+//::////////////////////////////////////////////////////////////////////////////
+/*
+Electromagnetic Sense (Physical / Plant)
+The mutant can sense electromagnetic fields around robots and operational 
+machinery.
+
+[Detect Robots (Constructs & Live Metal PCs), Detect Electricity (would have 
+to be accounted for in module).]
+
+*/
+//::////////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//::////////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except pure strain humans, oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_PSH
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_ELECTROMAGNETIC_SENSE, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_content/ga_scripts/mut_t_empathy.ncs b/_content/ga_scripts/mut_t_empathy.ncs
new file mode 100644
index 00000000..0b25162e
Binary files /dev/null and b/_content/ga_scripts/mut_t_empathy.ncs differ
diff --git a/_content/ga_scripts/mut_t_empathy.nss b/_content/ga_scripts/mut_t_empathy.nss
new file mode 100644
index 00000000..122be6e9
--- /dev/null
+++ b/_content/ga_scripts/mut_t_empathy.nss
@@ -0,0 +1,55 @@
+//::///////////////////////////////////////////////////////////////////////////
+//:: Name           Empathy test script
+//:: FileName       mut_t_empathy.nss
+//:: Copyright (c) 2022 NWNDS
+//::///////////////////////////////////////////////////////////////////////////
+/*
+Empathy (Mental)
+The mutant is able to read the feelings and emotions of other living creatures within 50 feet plus 5’ per MPS mod. This grants a bonus
+on checks involving interaction skills (Bluff, Diplomacy, Handle Animal, Identify Power, Intimidate, Perform, and Sense Motive) equal to
+2 plus the MPS modifier. If the mutant wishes, he can try to implant an emotion within a target creature that fails a Mental Defence
+check. Options are: Fear, anger, sadness, joy, disgust, trust, anticipation or surprise. The GM decides how the creature reacts. (Note: a
+
+(Adds 2 + 1/2 CHA bonus to all CHA skills, Implant Emotion @ will)
+
+
+*/
+//:://////////////////////////////////////////////////////////////////////////
+//:: Created By: Jaysyn
+//:: Created On: 22/03/20
+//:://////////////////////////////////////////////////////////////////////////
+
+
+#include "prc_alterations"
+#include "prc_inc_template"
+#include "prc_racial_const"
+
+void main()
+{
+    object oPC = OBJECT_SELF;
+    SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);	
+
+//:: Any living genotype except oozes, cyborgs & shapechangers
+    int nRace = MyPRCGetRacialType(oPC);
+	
+    if(nRace == RACIAL_TYPE_CONSTRUCT
+	|| nRace == RACIAL_TYPE_SMLBOT 
+	|| nRace == RACIAL_TYPE_MEDBOT
+	|| nRace == RACIAL_TYPE_LRGBOT
+	|| nRace == RACIAL_TYPE_DROID
+	|| nRace == RACIAL_TYPE_OOZE
+	|| nRace == RACIAL_TYPE_SHAPECHANGER
+	|| nRace == RACIAL_TYPE_CYBORG
+	|| nRace == RACIAL_TYPE_ELEMENTAL 
+	|| nRace == RACIAL_TYPE_UNDEAD)	   
+    {
+        SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+    }    
+	
+//:: Can't get this mutation twice.
+	if(GetHasTemplate(MUT_EMPATHY, oPC)) 
+	{
+		SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
+	}
+
+}
\ No newline at end of file
diff --git a/_notes/Gamma Age Mutations Workbook.xlsx b/_notes/Gamma Age Mutations Workbook.xlsx
index 1b43d2cc..553e7e66 100644
Binary files a/_notes/Gamma Age Mutations Workbook.xlsx and b/_notes/Gamma Age Mutations Workbook.xlsx differ