diff --git a/Source/Framework/Database/DatabaseLoader.cs b/Source/Framework/Database/DatabaseLoader.cs
index e6951d775..5141ccdb0 100644
--- a/Source/Framework/Database/DatabaseLoader.cs
+++ b/Source/Framework/Database/DatabaseLoader.cs
@@ -16,7 +16,7 @@
*/
using Framework.Configuration;
-using MySql.Data.MySqlClient;
+using MySqlConnector;
using System;
using System.Collections.Generic;
diff --git a/Source/Framework/Database/DatabaseUpdater.cs b/Source/Framework/Database/DatabaseUpdater.cs
index 4d9ff8e89..483aae166 100644
--- a/Source/Framework/Database/DatabaseUpdater.cs
+++ b/Source/Framework/Database/DatabaseUpdater.cs
@@ -51,10 +51,10 @@ namespace Framework.Database
fileName = @"/sql/base/characters_database.sql";
break;
case "WorldDatabase":
- fileName = @"/sql/TDB_full_world_820.19071_2019_07_15.sql";
+ fileName = @"/sql/TDB_full_world_830.20061_2020_06_17.sql";
break;
case "HotfixDatabase":
- fileName = @"/sql/TDB_full_hotfixes_820.19071_2019_07_15.sql";
+ fileName = @"/sql/TDB_full_hotfixes_830.20061_2020_06_17.sql";
break;
}
diff --git a/Source/Framework/Database/MySqlBase.cs b/Source/Framework/Database/MySqlBase.cs
index a8f48dadb..4263be6c9 100644
--- a/Source/Framework/Database/MySqlBase.cs
+++ b/Source/Framework/Database/MySqlBase.cs
@@ -16,7 +16,7 @@
*/
using Framework.Threading;
-using MySql.Data.MySqlClient;
+using MySqlConnector;
using System;
using System.Collections.Generic;
using System.IO;
diff --git a/Source/Framework/Database/SQLResult.cs b/Source/Framework/Database/SQLResult.cs
index e97e42bd2..f2903c0b2 100644
--- a/Source/Framework/Database/SQLResult.cs
+++ b/Source/Framework/Database/SQLResult.cs
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-using MySql.Data.MySqlClient;
+using MySqlConnector;
using System;
namespace Framework.Database
diff --git a/Source/Framework/Database/SQLTransaction.cs b/Source/Framework/Database/SQLTransaction.cs
index 6e441ea6f..89b9565ed 100644
--- a/Source/Framework/Database/SQLTransaction.cs
+++ b/Source/Framework/Database/SQLTransaction.cs
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-using MySql.Data.MySqlClient;
+using MySqlConnector;
using System.Collections.Generic;
using System;
using System.Threading.Tasks;
diff --git a/Source/Framework/Framework.csproj b/Source/Framework/Framework.csproj
index e492faf6c..56a773d25 100644
--- a/Source/Framework/Framework.csproj
+++ b/Source/Framework/Framework.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/Source/Game/Chat/Commands/ReloadCommand.cs b/Source/Game/Chat/Commands/ReloadCommand.cs
index 5407dd7fc..f5d8ec505 100644
--- a/Source/Game/Chat/Commands/ReloadCommand.cs
+++ b/Source/Game/Chat/Commands/ReloadCommand.cs
@@ -881,7 +881,7 @@ namespace Game.Chat
handler.SendGlobalGMSysMessage("DB table `trainer` reloaded.");
handler.SendGlobalGMSysMessage("DB table `trainer_locale` reloaded.");
handler.SendGlobalGMSysMessage("DB table `trainer_spell` reloaded.");
- handler.SendGlobalGMSysMessage("DB table `creature_default_trainer` reloaded.");
+ handler.SendGlobalGMSysMessage("DB table `creature_trainer` reloaded.");
return true;
}
diff --git a/Source/Game/Entities/Object/WorldObject.cs b/Source/Game/Entities/Object/WorldObject.cs
index 9bd2eaff8..16d00fc2c 100644
--- a/Source/Game/Entities/Object/WorldObject.cs
+++ b/Source/Game/Entities/Object/WorldObject.cs
@@ -95,7 +95,8 @@ namespace Game.Entities
IsInWorld = true;
ClearUpdateMask(true);
- GetMap().GetZoneAndAreaId(_phaseShift, out m_zoneId, out m_areaId, GetPositionX(), GetPositionY(), GetPositionZ());
+ if (GetMap() != null)
+ GetMap().GetZoneAndAreaId(_phaseShift, out m_zoneId, out m_areaId, GetPositionX(), GetPositionY(), GetPositionZ());
}
public virtual void RemoveFromWorld()
diff --git a/Source/Game/Entities/Player/Player.DB.cs b/Source/Game/Entities/Player/Player.DB.cs
index 098eda891..31f2496ae 100644
--- a/Source/Game/Entities/Player/Player.DB.cs
+++ b/Source/Game/Entities/Player/Player.DB.cs
@@ -3237,7 +3237,6 @@ namespace Game.Entities
//save, but in tavern/city
stmt.AddValue(index++, GetTalentResetCost());
stmt.AddValue(index++, GetTalentResetTime());
- stmt.AddValue(index++, GetNumRespecs());
stmt.AddValue(index++, GetPrimarySpecialization());
stmt.AddValue(index++, (ushort)m_ExtraFlags);
stmt.AddValue(index++, m_stableSlots);
@@ -3387,6 +3386,7 @@ namespace Game.Entities
//save, but in tavern/city
stmt.AddValue(index++, GetTalentResetCost());
stmt.AddValue(index++, GetTalentResetTime());
+ stmt.AddValue(index++, GetNumRespecs());
stmt.AddValue(index++, GetPrimarySpecialization());
stmt.AddValue(index++, (ushort)m_ExtraFlags);
stmt.AddValue(index++, m_stableSlots);
diff --git a/Source/Game/Maps/Map.cs b/Source/Game/Maps/Map.cs
index 925e6c7d2..9491373c5 100644
--- a/Source/Game/Maps/Map.cs
+++ b/Source/Game/Maps/Map.cs
@@ -5026,7 +5026,7 @@ namespace Game.Maps
public uint LightFadeInTime;
}
- public struct PositionFullTerrainStatus
+ public class PositionFullTerrainStatus
{
public struct AreaInfo
{
diff --git a/Source/Game/Networking/PacketLog.cs b/Source/Game/Networking/PacketLog.cs
index d41c17173..2f6d47bfe 100644
--- a/Source/Game/Networking/PacketLog.cs
+++ b/Source/Game/Networking/PacketLog.cs
@@ -69,14 +69,19 @@ public class PacketLog
else
Buffer.BlockCopy(endPoint.Address.GetAddressBytes(), 0, SocketIPBytes, 0, 16);
- if (!isClientPacket)
- data.Combine(new byte[2]);
+ int size = data.Length;
+ if (isClientPacket)
+ size -= 2;
- writer.Write(data.Length + 4);
+ writer.Write(size + 4);
writer.Write(SocketIPBytes);
- writer.Write((ushort)endPoint.Port);
+ writer.Write(endPoint.Port);
writer.Write(opcode);
- writer.Write(data);
+
+ if (isClientPacket)
+ writer.Write(data, 2, size);
+ else
+ writer.Write(data, 0, size);
}
}
}
diff --git a/Source/Game/Spells/Auras/Aura.cs b/Source/Game/Spells/Auras/Aura.cs
index bd8d92066..db82a6f41 100644
--- a/Source/Game/Spells/Auras/Aura.cs
+++ b/Source/Game/Spells/Auras/Aura.cs
@@ -270,7 +270,7 @@ namespace Game.Spells
return Convert.ToBoolean(_effectMask & (1 << (int)effect));
}
public bool IsPositive() { return _flags.HasAnyFlag(AuraFlags.Positive); }
- bool IsSelfcasted() { return !_flags.HasAnyFlag(AuraFlags.NoCaster); }
+ bool IsSelfcasted() { return _flags.HasAnyFlag(AuraFlags.NoCaster); }
public uint GetEffectsToApply() { return _effectsToApply; }
public void SetRemoveMode(AuraRemoveMode mode) { _removeMode = mode; }
diff --git a/Source/Game/Spells/SpellInfo.cs b/Source/Game/Spells/SpellInfo.cs
index 536028f77..c64a44a65 100644
--- a/Source/Game/Spells/SpellInfo.cs
+++ b/Source/Game/Spells/SpellInfo.cs
@@ -520,7 +520,7 @@ namespace Game.Spells
public bool IsPositiveEffect(uint effIndex)
{
- return NegativeEffects.Get((int)effIndex);
+ return !NegativeEffects.Get((int)effIndex);
}
public bool IsChanneled()