diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4a26522
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+
+*.mod
diff --git a/_module/The Land of Thuul [PRC8-CEP2].mod b/_module/The Land of Thuul [PRC8-CEP2].mod
index b0beb5c..744c492 100644
Binary files a/_module/The Land of Thuul [PRC8-CEP2].mod and b/_module/The Land of Thuul [PRC8-CEP2].mod differ
diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json
index c56d179..6e585d6 100644
--- a/_module/ifo/module.ifo.json
+++ b/_module/ifo/module.ifo.json
@@ -862,7 +862,7 @@
         "__struct_id": 8,
         "Mod_Hak": {
           "type": "cexostring",
-          "value": "prc8_newspellbook"
+          "value": "prc8_nsb"
         }
       },
       {
diff --git a/_module/itp/creaturepalcus.itp.json b/_module/itp/creaturepalcus.itp.json
index d851b3f..36ed4bc 100644
--- a/_module/itp/creaturepalcus.itp.json
+++ b/_module/itp/creaturepalcus.itp.json
@@ -8,6 +8,77 @@
         "LIST": {
           "type": "list",
           "value": [
+            {
+              "__struct_id": 0,
+              "ID": {
+                "type": "byte",
+                "value": 201
+              },
+              "LIST": {
+                "type": "list",
+                "value": [
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 202
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6688
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 203
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6689
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 204
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6690
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 205
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6691
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 206
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6692
+                    }
+                  }
+                ]
+              },
+              "STRREF": {
+                "type": "dword",
+                "value": 16966250
+              }
+            },
             {
               "__struct_id": 0,
               "ID": {
@@ -1447,77 +1518,6 @@
                 "type": "dword",
                 "value": 16966234
               }
-            },
-            {
-              "__struct_id": 0,
-              "ID": {
-                "type": "byte",
-                "value": 201
-              },
-              "LIST": {
-                "type": "list",
-                "value": [
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 202
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6688
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 203
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6689
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 204
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6690
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 205
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6691
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 206
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6692
-                    }
-                  }
-                ]
-              },
-              "STRREF": {
-                "type": "dword",
-                "value": 16966250
-              }
             }
           ]
         },
diff --git a/_module/itp/itempalcus.itp.json b/_module/itp/itempalcus.itp.json
index 625a1c4..6bee3ca 100644
--- a/_module/itp/itempalcus.itp.json
+++ b/_module/itp/itempalcus.itp.json
@@ -12,6 +12,77 @@
         "LIST": {
           "type": "list",
           "value": [
+            {
+              "__struct_id": 0,
+              "ID": {
+                "type": "byte",
+                "value": 177
+              },
+              "LIST": {
+                "type": "list",
+                "value": [
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 178
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6688
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 179
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6689
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 180
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6690
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 181
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6691
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 182
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6692
+                    }
+                  }
+                ]
+              },
+              "STRREF": {
+                "type": "dword",
+                "value": 16966250
+              }
+            },
             {
               "__struct_id": 0,
               "ID": {
@@ -814,77 +885,6 @@
                 "type": "dword",
                 "value": 16966235
               }
-            },
-            {
-              "__struct_id": 0,
-              "ID": {
-                "type": "byte",
-                "value": 177
-              },
-              "LIST": {
-                "type": "list",
-                "value": [
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 178
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6688
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 179
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6689
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 180
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6690
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 181
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6691
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 182
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6692
-                    }
-                  }
-                ]
-              },
-              "STRREF": {
-                "type": "dword",
-                "value": 16966250
-              }
             }
           ]
         },
diff --git a/_module/itp/placeablepalcus.itp.json b/_module/itp/placeablepalcus.itp.json
index 831795a..5756a0f 100644
--- a/_module/itp/placeablepalcus.itp.json
+++ b/_module/itp/placeablepalcus.itp.json
@@ -12,6 +12,77 @@
         "LIST": {
           "type": "list",
           "value": [
+            {
+              "__struct_id": 0,
+              "ID": {
+                "type": "byte",
+                "value": 177
+              },
+              "LIST": {
+                "type": "list",
+                "value": [
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 178
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6688
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 179
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6689
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 180
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6690
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 181
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6691
+                    }
+                  },
+                  {
+                    "__struct_id": 0,
+                    "ID": {
+                      "type": "byte",
+                      "value": 182
+                    },
+                    "STRREF": {
+                      "type": "dword",
+                      "value": 6692
+                    }
+                  }
+                ]
+              },
+              "STRREF": {
+                "type": "dword",
+                "value": 16966250
+              }
+            },
             {
               "__struct_id": 0,
               "ID": {
@@ -93,77 +164,6 @@
                 "type": "dword",
                 "value": 16967223
               }
-            },
-            {
-              "__struct_id": 0,
-              "ID": {
-                "type": "byte",
-                "value": 177
-              },
-              "LIST": {
-                "type": "list",
-                "value": [
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 178
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6688
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 179
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6689
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 180
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6690
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 181
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6691
-                    }
-                  },
-                  {
-                    "__struct_id": 0,
-                    "ID": {
-                      "type": "byte",
-                      "value": 182
-                    },
-                    "STRREF": {
-                      "type": "dword",
-                      "value": 6692
-                    }
-                  }
-                ]
-              },
-              "STRREF": {
-                "type": "dword",
-                "value": 16966250
-              }
             }
           ]
         },
diff --git a/_module/nss/nwnx_data.nss b/_module/nss/nwnx_data.nss
deleted file mode 100644
index b900de5..0000000
--- a/_module/nss/nwnx_data.nss
+++ /dev/null
@@ -1,351 +0,0 @@
-/// @addtogroup data Data
-/// @brief Provides a number of data structures for NWN code to use (simulated arrays)
-/// @{
-/// @file nwnx_data.nss
-
-#include "inc_array"
-
-// All these calls just pass through to the Array code in inc_array to provide
-// an NWNX_Data compatible API for ease of transition.
-
-const int NWNX_DATA_INVALID_INDEX = INVALID_INDEX;
-const int NWNX_DATA_TYPE_FLOAT = TYPE_FLOAT;
-const int NWNX_DATA_TYPE_INTEGER = TYPE_INTEGER;
-const int NWNX_DATA_TYPE_OBJECT = TYPE_OBJECT;
-const int NWNX_DATA_TYPE_STRING = TYPE_STRING;
-
-/// @defgroup data_array_at Array At
-/// @brief Returns the element at the index.
-/// @ingroup data
-/// @param obj The object.
-/// @param tag The tag.
-/// @param index The index.
-/// @return The element of associated type.
-/// @{
-string NWNX_Data_Array_At_Str(object obj, string tag, int index);
-float  NWNX_Data_Array_At_Flt(object obj, string tag, int index);
-int    NWNX_Data_Array_At_Int(object obj, string tag, int index);
-object NWNX_Data_Array_At_Obj(object obj, string tag, int index);
-/// @}
-
-
-/// Clears the entire array, such that size==0.
-void NWNX_Data_Array_Clear(int type, object obj, string tag);
-
-/// @defgroup data_array_contains Array Contains
-/// @brief Checks if array contains the element.
-/// @ingroup data
-/// @param obj The object.
-/// @param tag The tag.
-/// @param element The element.
-/// @return TRUE if the collection contains the element.
-/// @{
-int NWNX_Data_Array_Contains_Flt(object obj, string tag, float  element);
-int NWNX_Data_Array_Contains_Int(object obj, string tag, int    element);
-int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element);
-int NWNX_Data_Array_Contains_Str(object obj, string tag, string element);
-/// @}
-
-/// Copies the array of name otherTag over the array of name tag.
-void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag);
-
-/// Erases the element at index, and shuffles any elements from index size-1 to index + 1 left.
-void NWNX_Data_Array_Erase(int type, object obj, string tag, int index);
-
-/// @defgroup data_array_find Array Find
-/// @brief Get the index at which the element is located.
-/// @ingroup data
-/// @param obj The object.
-/// @param tag The tag.
-/// @param element The element.
-/// @return Returns the index at which the element is located, or ARRAY_INVALID_INDEX.
-/// @{
-int NWNX_Data_Array_Find_Flt(object obj, string tag, float  element);
-int NWNX_Data_Array_Find_Int(object obj, string tag, int    element);
-int NWNX_Data_Array_Find_Obj(object obj, string tag, object element);
-int NWNX_Data_Array_Find_Str(object obj, string tag, string element);
-/// @}
-
-/// @defgroup data_array_insert Array Insert
-/// @brief Inserts the element at the index, where size > index >= 0.
-/// @ingroup data
-/// @param obj The object.
-/// @param tag The tag.
-/// @param index The index.
-/// @param element The element.
-/// @{
-void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float  element);
-void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int    element);
-void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element);
-void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element);
-/// @}
-
-/// @defgroup data_array_pushback Array Pushback
-/// @brief Pushes an element to the back of the collection.
-/// @remark Functionally identical to an insert at index size-1.
-/// @ingroup data
-/// @param obj The object.
-/// @param tag The tag.
-/// @param element The element.
-/// @{
-void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float  element);
-void NWNX_Data_Array_PushBack_Int(object obj, string tag, int    element);
-void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element);
-void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element);
-/// @}
-
-/// Resizes the array. If the array is shrinking, it chops off elements at the ned.
-void NWNX_Data_Array_Resize(int type, object obj, string tag, int size);
-
-/// Reorders the array such each possible permutation of elements has equal probability of appearance.
-void NWNX_Data_Array_Shuffle(int type, object obj, string tag);
-
-/// Returns the size of the array.
-int NWNX_Data_Array_Size(int type, object obj, string tag);
-
-/// Sorts the collection based on descending order.
-void NWNX_Data_Array_SortAscending(int type, object obj, string tag);
-
-/// Sorts the collection based on descending order.
-void NWNX_Data_Array_SortDescending(int type, object obj, string tag);
-
-/// @defgroup data_array_set Array Set
-/// @brief Sets the element at the index, where size > index >= 0.
-/// @ingroup data
-/// @param obj The object.
-/// @param tag The tag.
-/// @param index The index.
-/// @param element The element.
-/// @{
-void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float  element);
-void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int    element);
-void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element);
-void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element);
-/// @}
-
-/// @}
-
-////////////////////////////////////////////////////////////////////////////////
-// return the value contained in location "index"
-string NWNX_Data_Array_At_Str(object obj, string tag, int index)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_At_Str(tag, index, obj);
-}
-
-float NWNX_Data_Array_At_Flt(object obj, string tag, int index)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_At_Flt(tag, index, obj);
-}
-
-int NWNX_Data_Array_At_Int(object obj, string tag, int index)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_At_Int(tag, index, obj);
-}
-
-object NWNX_Data_Array_At_Obj(object obj, string tag, int index)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_At_Obj(tag, index, obj);
-}
-
-void NWNX_Data_Array_Clear(int type, object obj, string tag)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Clear(tag, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Return true/value (1/0) if the array contains the value "element"
-int NWNX_Data_Array_Contains_Str(object obj, string tag, string element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Contains_Str(tag, element, obj);
-}
-
-int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Contains_Flt(tag, element, obj);
-}
-
-int NWNX_Data_Array_Contains_Int(object obj, string tag, int element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Contains_Int(tag, element, obj);
-}
-
-int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Contains_Obj(tag, element, obj);
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Copy(tag, otherTag, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-void NWNX_Data_Array_Erase(int type, object obj, string tag, int index)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Erase(tag, index, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// return the index in the array containing "element"
-// if not found, return NWNX_DATA_INVALID_INDEX
-int NWNX_Data_Array_Find_Str(object obj, string tag, string element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Find_Str(tag, element, obj);
-}
-
-int NWNX_Data_Array_Find_Flt(object obj, string tag, float element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Find_Flt(tag, element, obj);
-}
-
-int NWNX_Data_Array_Find_Int(object obj, string tag, int element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Find_Int(tag, element, obj);
-}
-
-int NWNX_Data_Array_Find_Obj(object obj, string tag, object element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Find_Obj(tag, element, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Insert a new element into position 'index'.  If index is beyond the number of rows in the array,
-// this will quietly fail.  This could be changed if you wanted to support sparse
-// arrays.
-void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Insert_Str(tag, index, element, obj);
-}
-
-void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Insert_Flt(tag, index, element, obj);
-}
-
-void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Insert_Int(tag, index, element, obj);
-}
-
-void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Insert_Obj(tag, index, element, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Insert a new element at the end of the array.
-void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_PushBack_Str(tag, element, obj);
-}
-
-void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_PushBack_Flt(tag, element, obj);
-}
-
-void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_PushBack_Int(tag, element, obj);
-}
-
-void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_PushBack_Obj(tag, element, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Cuts the array off at size 'size'.  Elements beyond size are removed.
-void NWNX_Data_Array_Resize(int type, object obj, string tag, int size)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Resize(tag, size, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-void NWNX_Data_Array_Shuffle(int type, object obj, string tag)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Shuffle(tag, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-int NWNX_Data_Array_Size(int type, object obj, string tag)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    return Array_Size(tag, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Sort the array by value according to 'direciton' (ASC or DESC)
-// Note that this is a lexical sort, so sorting an array of ints or floats will have
-// odd results
-void NWNX_Data_Array_Sort(object obj, string tag, string direction)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Sort(tag, direction, TYPE_STRING, obj);
-}
-
-void NWNX_Data_Array_SortAscending(int type, object obj, string tag)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_SortAscending(tag, TYPE_STRING, obj);
-}
-
-void NWNX_Data_Array_SortDescending(int type, object obj, string tag)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_SortDescending(tag, TYPE_STRING, obj);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Set the value of array index 'index' to a 'element'
-// This will quietly eat values if index > array size
-void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Set_Str(tag, index, element, obj);
-}
-
-void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Set_Flt(tag, index, element, obj);
-}
-
-void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Set_Int(tag, index, element, obj);
-}
-
-void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element)
-{
-	WriteTimestampedLogEntry("WARNING:  NWNX_Data is deprecated.  You should migrate to Array (see inc_array)");
-    Array_Set_Obj(tag, index, element, obj);
-}
diff --git a/_release/The Land of Thuul [PRC8-CEP2].7z b/_release/The Land of Thuul [PRC8-CEP2].7z
index 3579a55..e71d34a 100644
Binary files a/_release/The Land of Thuul [PRC8-CEP2].7z and b/_release/The Land of Thuul [PRC8-CEP2].7z differ