Index: binary-improvements/7dtd-server-fixes/7dtd-server-fixes.csproj
===================================================================
--- binary-improvements/7dtd-server-fixes/7dtd-server-fixes.csproj	(revision 236)
+++ binary-improvements/7dtd-server-fixes/7dtd-server-fixes.csproj	(revision 238)
@@ -85,4 +85,5 @@
     <Compile Include="src\FileCache\MapTileCache.cs" />
     <Compile Include="src\API.cs" />
+    <Compile Include="src\ChatHookExample.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Index: binary-improvements/7dtd-server-fixes/ModInfo.xml
===================================================================
--- binary-improvements/7dtd-server-fixes/ModInfo.xml	(revision 236)
+++ binary-improvements/7dtd-server-fixes/ModInfo.xml	(revision 238)
@@ -5,5 +5,5 @@
 		<Description value="Common functions" />
 		<Author value="Christian 'Alloc' Illy" />
-		<Version value="2" />
+		<Version value="4" />
 		<Website value="http://7dtd.illy.bz" />
 	</ModInfo>
Index: binary-improvements/7dtd-server-fixes/src/API.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/API.cs	(revision 236)
+++ binary-improvements/7dtd-server-fixes/src/API.cs	(revision 238)
@@ -28,4 +28,7 @@
 		}
 
+		public override bool ChatMessage (ClientInfo _cInfo, string _message, string _playerName) {
+			return ChatHookExample.Hook (_cInfo, _message, _playerName);
+		}
 	}
 }
Index: binary-improvements/7dtd-server-fixes/src/AssemblyInfo.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/AssemblyInfo.cs	(revision 236)
+++ binary-improvements/7dtd-server-fixes/src/AssemblyInfo.cs	(revision 238)
@@ -18,5 +18,5 @@
 // and "{Major}.{Minor}.{Build}.*" will update just the revision.
 
-[assembly: AssemblyVersion("0.11.6.0")]
+[assembly: AssemblyVersion("0.12.0.0")]
 
 // The following attributes are used to specify the signing key for the assembly, 
Index: binary-improvements/7dtd-server-fixes/src/ChatHookExample.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/ChatHookExample.cs	(revision 238)
+++ binary-improvements/7dtd-server-fixes/src/ChatHookExample.cs	(revision 238)
@@ -0,0 +1,30 @@
+using System;
+
+namespace AllocsFixes
+{
+	public class ChatHookExample {
+		private const string BBFILTER = "[ffffffff][/url][/b][/i][/u][/s][/sub][/sup][ff]";
+		private const string ANSWER = "     [ff0000]I[-] [ff7f00]W[-][ffff00]A[-][80ff00]S[-] [00ffff]H[-][0080ff]E[-][0000ff]R[-][8b00ff]E[-]";
+
+		public static bool Hook (ClientInfo _cInfo, string _message, string _playerName) {
+			if (!string.IsNullOrEmpty (_message)) {
+				if (_message.EndsWith (BBFILTER + BBFILTER)) {
+					_message = _message.Remove (_message.Length - 2 * BBFILTER.Length);
+				}
+
+				if (_message.ToLower () == "/alloc") {
+					if (_cInfo != null) {
+						Log.Out ("Sent chat hook reply to {0}", _cInfo.playerId);
+						_cInfo.SendPackage (new NetPackageGameMessage (ANSWER, ""));
+					} else {
+						Log.Error ("Argument _cInfo null on message: {0}", _message);
+					}
+					return false;
+				}
+			}
+
+			return true;
+		}
+
+	}
+}
Index: binary-improvements/7dtd-server-fixes/src/ItemList.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/ItemList.cs	(revision 236)
+++ binary-improvements/7dtd-server-fixes/src/ItemList.cs	(revision 238)
@@ -45,6 +45,6 @@
 		{
 			NGuiInvGridCreativeMenu cm = new NGuiInvGridCreativeMenu ();
-			foreach (InventoryField invF in cm.GetAllItems()) {
-				ItemBase ib = ItemBase.list [invF.itemValue.type];
+			foreach (ItemStack invF in cm.GetAllItems()) {
+				ItemClass ib = ItemClass.list [invF.itemValue.type];
 				string name = ib.GetItemName ();
 				if (name != null && name.Length > 0) {
@@ -56,6 +56,6 @@
 				}
 			}
-			foreach (InventoryField invF in cm.GetAllBlocks()) {
-				ItemBase ib = ItemBase.list [invF.itemValue.type];
+			foreach (ItemStack invF in cm.GetAllBlocks()) {
+				ItemClass ib = ItemClass.list [invF.itemValue.type];
 				string name = ib.GetItemName ();
 				if (name != null && name.Length > 0) {
Index: binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs	(revision 236)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs	(revision 238)
@@ -25,5 +25,5 @@
 		}
 
-		private void ProcessInv (List<InvItem> target, InventoryField[] sourceFields, int id)
+		private void ProcessInv (List<InvItem> target, ItemStack[] sourceFields, int id)
 		{
 			lock (target) {
@@ -32,6 +32,6 @@
 					if (sourceFields [i].count > 0) {
 						int count = sourceFields [i].count;
-						int maxAllowed = ItemBase.list [sourceFields [i].itemValue.type].Stacknumber.Value;
-						string name = ItemBase.list [sourceFields [i].itemValue.type].GetItemName ();
+						int maxAllowed = ItemClass.list [sourceFields [i].itemValue.type].Stacknumber.Value;
+						string name = ItemClass.list [sourceFields [i].itemValue.type].GetItemName ();
 
 						if (count > maxAllowed)
Index: binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs	(revision 236)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs	(revision 238)
@@ -36,5 +36,5 @@
 		public void Save ()
 		{
-			Stream stream = File.Open (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Create);
+			Stream stream = File.Open (GameUtils.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Create);
 			BinaryFormatter bFormatter = new BinaryFormatter ();
 			bFormatter.Serialize (stream, this);
@@ -44,8 +44,8 @@
 		public static bool Load ()
 		{
-			if (File.Exists (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin")) {
+			if (File.Exists (GameUtils.GetSaveGameDir () + "/AllocsPeristentData.bin")) {
 				try {
 					PersistentContainer obj;
-					Stream stream = File.Open (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Open);
+					Stream stream = File.Open (GameUtils.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Open);
 					BinaryFormatter bFormatter = new BinaryFormatter ();
 					obj = (PersistentContainer)bFormatter.Deserialize (stream);
Index: binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs	(revision 236)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs	(revision 238)
@@ -135,4 +135,5 @@
 			name = ci.playerName;
 			ip = ci.ip;
+			lastOnline = DateTime.Now;
 		}
 
