Fixed appearance validation

Implemented proper facial hair validation
Implemented transmog Set
fix interaction of spells like Shadowmeld with Threat reducing effects
This commit is contained in:
hondacrx
2017-08-24 18:01:44 -04:00
parent 7934d51702
commit 0707f9b377
71 changed files with 2968 additions and 632 deletions
+4 -4
View File
@@ -399,11 +399,11 @@ namespace Game.Chat.Commands
string subject = result1.Read<string>(5);
long deliverTime = result1.Read<uint>(6);
long expireTime = result1.Read<uint>(7);
uint money = result1.Read<uint>(8);
ulong money = result1.Read<ulong>(8);
byte hasItem = result1.Read<byte>(9);
uint gold = money / MoneyConstants.Gold;
uint silv = (money % MoneyConstants.Gold) / MoneyConstants.Silver;
uint copp = (money % MoneyConstants.Gold) % MoneyConstants.Silver;
uint gold = (uint)(money / MoneyConstants.Gold);
uint silv = (uint)(money % MoneyConstants.Gold) / MoneyConstants.Silver;
uint copp = (uint)(money % MoneyConstants.Gold) % MoneyConstants.Silver;
string receiverStr = handler.playerLink(receiver);
string senderStr = handler.playerLink(sender);
handler.SendSysMessage(CypherStrings.ListMailInfo1, messageId, subject, gold, silv, copp);
+1 -1
View File
@@ -1435,7 +1435,7 @@ namespace Game.Chat
totalPlayerTime = result.Read<uint>(0);
level = result.Read<byte>(1);
money = result.Read<uint>(2);
money = result.Read<ulong>(2);
accId = result.Read<uint>(3);
raceid = (Race)result.Read<byte>(4);
classid = (Class)result.Read<byte>(5);
+17 -14
View File
@@ -299,14 +299,14 @@ namespace Game.Chat
if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
return false;
long addmoney = args.NextInt64();
long moneyuser = (long)target.GetMoney();
long moneyToAdd = args.NextInt64();
ulong targetMoney = target.GetMoney();
if (addmoney < 0)
if (moneyToAdd < 0)
{
ulong newmoney = (ulong)(moneyuser + addmoney);
ulong newmoney = (targetMoney + (ulong)moneyToAdd);
Log.outDebug(LogFilter.ChatSystem, Global.ObjectMgr.GetCypherString(CypherStrings.CurrentMoney), moneyuser, addmoney, newmoney);
Log.outDebug(LogFilter.ChatSystem, Global.ObjectMgr.GetCypherString(CypherStrings.CurrentMoney), targetMoney, moneyToAdd, newmoney);
if (newmoney <= 0)
{
handler.SendSysMessage(CypherStrings.YouTakeAllMoney, handler.GetNameLink(target));
@@ -317,28 +317,31 @@ namespace Game.Chat
}
else
{
ulong moneyToAddMsg = (ulong)(moneyToAdd * -1);
if (newmoney > PlayerConst.MaxMoneyAmount)
newmoney = PlayerConst.MaxMoneyAmount;
handler.SendSysMessage(CypherStrings.YouTakeMoney, Math.Abs(addmoney), handler.GetNameLink(target));
handler.SendSysMessage(CypherStrings.YouTakeMoney, Math.Abs(moneyToAdd), handler.GetNameLink(target));
if (handler.needReportToTarget(target))
target.SendSysMessage(CypherStrings.YoursMoneyTaken, handler.GetNameLink(), Math.Abs(addmoney));
target.SendSysMessage(CypherStrings.YoursMoneyTaken, handler.GetNameLink(), Math.Abs(moneyToAdd));
target.SetMoney(newmoney);
}
}
else
{
handler.SendSysMessage(CypherStrings.YouGiveMoney, addmoney, handler.GetNameLink(target));
handler.SendSysMessage(CypherStrings.YouGiveMoney, moneyToAdd, handler.GetNameLink(target));
if (handler.needReportToTarget(target))
target.SendSysMessage(CypherStrings.YoursMoneyGiven, handler.GetNameLink(), addmoney);
target.SendSysMessage(CypherStrings.YoursMoneyGiven, handler.GetNameLink(), moneyToAdd);
if (addmoney >= PlayerConst.MaxMoneyAmount)
target.SetMoney(PlayerConst.MaxMoneyAmount);
else
target.ModifyMoney(addmoney);
if ((ulong)moneyToAdd >= PlayerConst.MaxMoneyAmount)
moneyToAdd = Convert.ToInt64(PlayerConst.MaxMoneyAmount);
moneyToAdd = Math.Min(moneyToAdd, (long)(PlayerConst.MaxMoneyAmount - targetMoney));
target.ModifyMoney(moneyToAdd);
}
Log.outDebug(LogFilter.ChatSystem, Global.ObjectMgr.GetCypherString(CypherStrings.NewMoney), moneyuser, addmoney, target.GetMoney());
Log.outDebug(LogFilter.ChatSystem, Global.ObjectMgr.GetCypherString(CypherStrings.NewMoney), targetMoney, moneyToAdd, target.GetMoney());
return true;
}
+2
View File
@@ -872,9 +872,11 @@ namespace Game.Chat
{
Log.outInfo(LogFilter.Misc, "Re-Loading `trainer` Table!");
Global.ObjectMgr.LoadTrainers();
Global.ObjectMgr.LoadCreatureDefaultTrainers();
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.");
return true;
}
+1 -1
View File
@@ -195,7 +195,7 @@ namespace Game.Chat.Commands
return false;
string moneyStr = args.NextString("");
int money = !string.IsNullOrEmpty(moneyStr) ? int.Parse(moneyStr) : 0;
long money = !string.IsNullOrEmpty(moneyStr) ? long.Parse(moneyStr) : 0;
if (money <= 0)
return false;