public TakeSilverEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { if (parameters.ContainsKey(0)) { ObjectId = parameters[0].ObjectToLong(); } if (parameters.ContainsKey(1)) { TimeStamp = parameters[1].ObjectToLong() ?? 0; } if (parameters.ContainsKey(2)) { TargetEntityId = parameters[2].ObjectToLong(); } if (parameters.ContainsKey(3)) { var yieldPreTax = parameters[3].ObjectToLong(); YieldPreTax = FixPoint.FromInternalValue(yieldPreTax ?? 0); } if (parameters.ContainsKey(5)) { var guildTax = parameters[5].ObjectToLong(); GuildTax = FixPoint.FromInternalValue(guildTax ?? 0); } if (parameters.ContainsKey(6)) { var clusterTax = parameters[6].ObjectToLong(); ClusterTax = FixPoint.FromInternalValue(clusterTax ?? 0); } if (parameters.ContainsKey(7)) { IsPremiumBonus = parameters[7] as bool? ?? false; } if (parameters.ContainsKey(8)) { var multiplier = parameters[8].ObjectToLong(); Multiplier = FixPoint.FromInternalValue(multiplier ?? 0); } YieldAfterTax = YieldPreTax - GuildTax; ClusterYieldPreTax = FixPoint.FromFloatingPointValue(YieldPreTax.DoubleValue - (YieldPreTax.DoubleValue / Multiplier.DoubleValue)); PremiumAfterTax = ClusterYieldPreTax - ClusterTax; ClusterYieldAfterTax = FixPoint.FromFloatingPointValue((ClusterYieldPreTax.DoubleValue / Multiplier.DoubleValue) - ClusterTax.DoubleValue); } catch (Exception e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public UpdateFactionStandingEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { if (parameters.ContainsKey(0)) { CityFaction = FactionWarfareController.GetCityFactionFlagType(parameters[0].ObjectToByte()); } if (parameters.ContainsKey(1)) { GainedFactionFlagPoints = FixPoint.FromInternalValue(parameters[1].ObjectToLong() ?? 0); } if (parameters.ContainsKey(2)) { BonusPremiumGainedFractionFlagPoints = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); } if (parameters.ContainsKey(3)) { TotalPlayerFactionFlagPoints = FixPoint.FromInternalValue(parameters[3].ObjectToLong() ?? 0); } } catch (Exception e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public PartySilverGainedEvent(Dictionary <byte, object> parameters) : base(parameters) { try { Debug.Print($"--- PartySilverGained (Event) ---"); foreach (var parameter in parameters) { Debug.Print($"{parameter}"); } if (parameters.ContainsKey(0)) { TimeStamp = new GameTimeStamp(parameters[0].ObjectToLong() ?? 0); } if (parameters.ContainsKey(1)) { TargetEntityId = parameters[1].ObjectToLong(); } if (parameters.ContainsKey(2)) { SilverNet = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); } if (parameters.ContainsKey(3)) { SilverPreTax = FixPoint.FromInternalValue(parameters[3].ObjectToLong() ?? 0); } } catch (Exception e) { Debug.Print(e.Message); } }
public TakeSilverEvent(Dictionary <byte, object> parameters) : base(parameters) { try { if (parameters.ContainsKey(1)) { TimeStamp = parameters[1].ObjectToLong() ?? 0; } if (parameters.ContainsKey(2)) { TargetEntityId = parameters[2].ObjectToLong(); } if (parameters.ContainsKey(3)) { var yieldPreTax = parameters[3].ObjectToLong(); YieldPreTax = FixPoint.FromInternalValue(yieldPreTax ?? 0); } if (parameters.ContainsKey(5)) { var guildTax = parameters[5].ObjectToLong(); GuildTax = FixPoint.FromInternalValue(guildTax ?? 0); } if (parameters.ContainsKey(6)) { var clusterTax = parameters[6].ObjectToLong(); ClusterTax = FixPoint.FromInternalValue(clusterTax ?? 0); } if (parameters.ContainsKey(7)) { PremiumBonus = parameters[7] as bool? ?? false; } if (parameters.ContainsKey(8)) { var multiplier = parameters[8].ObjectToLong(); Multiplier = FixPoint.FromInternalValue(multiplier ?? 0); } YieldAfterTax = YieldPreTax - GuildTax; } catch (Exception e) { Debug.Print(e.Message); } }
public UpdateCurrencyEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { if (parameters.ContainsKey(2)) { CityFaction = FactionWarfareController.GetCityFactionType(parameters[2].ObjectToByte()); } if (parameters.ContainsKey(3)) { GainedFactionCoins = FixPoint.FromInternalValue(parameters[3].ObjectToLong() ?? 0); } if (parameters.ContainsKey(4)) { FactionRankPoints = FixPoint.FromInternalValue(parameters[4].ObjectToLong() ?? 0); } if (parameters.ContainsKey(6)) { FactionRankPointsPopulationBonus = FixPoint.FromInternalValue(parameters[6].ObjectToLong() ?? 0); } if (parameters.ContainsKey(8)) { FactionRankPointsPremiumBonus = FixPoint.FromInternalValue(parameters[8].ObjectToLong() ?? 0); } if (parameters.ContainsKey(9)) { TotalPlayerFactionPoints = FixPoint.FromInternalValue(parameters[9].ObjectToLong() ?? 0); } } catch (Exception e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public UpdateReSpecPointsEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { if (parameters.ContainsKey(0) && parameters[0] != null) { var parameterType = parameters[0].GetType(); if (parameterType.Name == "Int32[]") { var reSpecPointsArray = ((int[])parameters[0]).ToDictionary(); if (!reSpecPointsArray.IsNullOrEmpty() && reSpecPointsArray.ContainsKey(1)) { CurrentReSpecPoints = FixPoint.FromInternalValue(reSpecPointsArray[1].ObjectToLong() ?? 0); } } else if (parameterType.Name == "Int64[]") { var reSpecPointsArray = ((long[])parameters[0]).ToDictionary(); if (!reSpecPointsArray.IsNullOrEmpty() && reSpecPointsArray.ContainsKey(1)) { CurrentReSpecPoints = FixPoint.FromInternalValue(reSpecPointsArray[1].ObjectToLong() ?? 0); } } } } catch (ArgumentNullException e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); Log.Error(MethodBase.GetCurrentMethod().DeclaringType, e); } catch (InvalidCastException e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); Log.Error(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public UpdateMoneyEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { if (parameters.ContainsKey(1)) { CurrentPlayerSilver = FixPoint.FromInternalValue(parameters[1].ObjectToLong() ?? 0); } if (parameters.ContainsKey(2)) { CurrentPlayerGold = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); } } catch (ArgumentNullException e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); Log.Error(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public PartySilverGainedEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { foreach (var parameter in parameters) { Debug.Print($"{parameter}"); } if (parameters.ContainsKey(0)) { TimeStamp = new GameTimeStamp(parameters[0].ObjectToLong() ?? 0); } if (parameters.ContainsKey(1)) { TargetEntityId = parameters[1].ObjectToLong(); } if (parameters.ContainsKey(2)) { SilverNet = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); } if (parameters.ContainsKey(3)) { SilverPreTax = FixPoint.FromInternalValue(parameters[3].ObjectToLong() ?? 0); } } catch (Exception e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public UpdateFameEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); // Array[10] exist only by Crafting... try { //Debug.Print($"----- UpdateFame (Events) -----"); //foreach (var parameter in parameters) //{ // Debug.Print($"{parameter}"); //} if (parameters.ContainsKey(1)) { var totalPlayerFame = parameters[1] as long? ?? 0; TotalPlayerFame = FixPoint.FromInternalValue(totalPlayerFame); } if (parameters.ContainsKey(3)) { GroupSize = parameters[3] as byte? ?? 0; } if (parameters.ContainsKey(4)) { Multiplier = FixPoint.FromInternalValue(parameters[4].ObjectToLong() ?? 0); } if (parameters.ContainsKey(5)) { IsPremiumBonus = parameters[5] as bool? ?? false; } if (parameters.ContainsKey(6)) { BonusFactor = parameters[6] as float? ?? 1; BonusFactorInPercent = (BonusFactor - 1) * 100; IsBonusFactorActive = (BonusFactorInPercent > 0); } if (parameters.ContainsKey(2)) { var fameWithZoneMultiplier = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); FameWithZoneMultiplier = FixPoint.FromFloatingPointValue(fameWithZoneMultiplier.DoubleValue * BonusFactor); } if (parameters.ContainsKey(9)) { SatchelFame = FixPoint.FromInternalValue(parameters[9].ObjectToLong() ?? 0); } if (parameters.ContainsKey(252)) { UsedItemType = parameters[252].ObjectToInt(); } if (FameWithZoneMultiplier.DoubleValue > 0 && Multiplier.DoubleValue > 0) { var newNormalFame = FameWithZoneMultiplier.DoubleValue / Multiplier.DoubleValue * BonusFactor; NormalFame = FixPoint.FromFloatingPointValue(newNormalFame); } double fameWithZoneAndPremium = 0; if (FameWithZoneMultiplier.DoubleValue > 0) { if (IsPremiumBonus) { fameWithZoneAndPremium = FameWithZoneMultiplier.DoubleValue * 1.5f; } else { fameWithZoneAndPremium = FameWithZoneMultiplier.DoubleValue; } } if (fameWithZoneAndPremium > 0 && FameWithZoneMultiplier.DoubleValue > 0) { var newPremiumFame = fameWithZoneAndPremium - FameWithZoneMultiplier.DoubleValue; PremiumFame = FixPoint.FromFloatingPointValue(newPremiumFame); } if (FameWithZoneMultiplier.InternalValue >= NormalFame.InternalValue) { ZoneFame = FixPoint.FromFloatingPointValue(FameWithZoneMultiplier.DoubleValue - (FameWithZoneMultiplier.DoubleValue / Multiplier.DoubleValue)); } TotalGainedFame = FameWithZoneMultiplier + PremiumFame + SatchelFame; } catch (Exception e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public UpdateFameEvent(Dictionary <byte, object> parameters) : base(parameters) { // Array[10] exist only by Crafting... try { //Debug.Print($"----- UpdateFame (Events) -----"); //foreach (var parameter in parameters) //{ // Debug.Print($"{parameter}"); //} if (parameters.ContainsKey(1)) { var totalPlayerFame = parameters[1] as long? ?? 0; TotalPlayerFame = FixPoint.FromInternalValue(totalPlayerFame); } if (parameters.ContainsKey(2)) { Change = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); } if (parameters.ContainsKey(3)) { GroupSize = parameters[3] as byte? ?? 0; } if (parameters.ContainsKey(4)) { Multiplier = FixPoint.FromInternalValue(parameters[4].ObjectToLong() ?? 0); } if (parameters.ContainsKey(5)) { IsPremiumBonus = parameters[5] as bool? ?? false; } if (parameters.ContainsKey(6)) { BonusFactor = parameters[6] as float? ?? 0; } if (parameters.ContainsKey(9)) { SatchelFame = FixPoint.FromInternalValue(parameters[9].ObjectToLong() ?? 0); } if (parameters.ContainsKey(252)) { UsedItemType = parameters[252].ObjectToInt(); } if (Change.DoubleValue > 0 && Multiplier.DoubleValue > 0) { var newNormalFame = Change.DoubleValue / Multiplier.DoubleValue; NormalFame = FixPoint.FromFloatingPointValue(newNormalFame); } double fameWithZoneAndPremium = 0; if (Change.DoubleValue > 0) { if (IsPremiumBonus) { fameWithZoneAndPremium = Change.DoubleValue * 1.5f; } else { fameWithZoneAndPremium = Change.DoubleValue; } } if (fameWithZoneAndPremium > 0 && Change.DoubleValue > 0) { var newPremiumFame = fameWithZoneAndPremium - Change.DoubleValue; PremiumFame = FixPoint.FromFloatingPointValue(newPremiumFame); } if (Change.InternalValue >= NormalFame.InternalValue) { ZoneFame = FixPoint.FromInternalValue(Change.InternalValue - NormalFame.InternalValue); } TotalGainedFame = NormalFame + ZoneFame + PremiumFame + SatchelFame; } catch (Exception e) { Debug.Print(e.Message); } }
private void DeserializeFixpoint(object output, object input) { _propertyInfo.SetValue(output, FixPoint.FromInternalValue((long)input)); }
public JoinResponse(Dictionary <byte, object> parameters) : base(parameters) { try { Debug.Print("---------- UserInformation (Response) ----------"); ConsoleManager.WriteLineForMessage(MethodBase.GetCurrentMethod().DeclaringType, "---------- UserInformation (Response) ----------", ConsoleManager.EventMapChangeColor); UserObjectId = null; if (parameters.ContainsKey(0)) { UserObjectId = parameters[0].ObjectToLong(); Debug.Print($"Local user ObjectId: {UserObjectId}"); ConsoleManager.WriteLineForMessage(MethodBase.GetCurrentMethod().DeclaringType, $"Local user ObjectId: {UserObjectId}", ConsoleManager.EventMapChangeColor); } if (parameters.ContainsKey(1)) { Guid = parameters[1].ObjectToGuid(); Debug.Print($"Local user Guid: {Guid}"); ConsoleManager.WriteLineForMessage(MethodBase.GetCurrentMethod().DeclaringType, $"Local user Guid: {Guid}", ConsoleManager.EventMapChangeColor); } if (parameters.ContainsKey(2)) { Username = parameters[2].ToString(); } if (parameters.ContainsKey(8)) { MapIndex = parameters[8].ToString(); MapType = WorldData.GetMapType(MapIndex); DungeonGuid = WorldData.GetDungeonGuid(MapIndex); } if (parameters.ContainsKey(23)) { CurrentFocusPoints = parameters[23].ObjectToDouble(); } if (parameters.ContainsKey(24)) { MaxCurrentFocusPoints = parameters[24].ObjectToDouble(); } if (parameters.ContainsKey(28)) { Silver = FixPoint.FromInternalValue(parameters[28].ObjectToLong() ?? 0); } if (parameters.ContainsKey(29)) { Gold = FixPoint.FromInternalValue(parameters[29].ObjectToLong() ?? 0); } if (parameters.ContainsKey(32)) { LearningPoints = FixPoint.FromInternalValue(parameters[32].ObjectToLong() ?? 0); } if (parameters.ContainsKey(36)) { Reputation = parameters[36].ObjectToDouble(); } if (parameters.ContainsKey(38) && parameters[38] != null && parameters[38] is long[] reSpecArray && reSpecArray.Length > 1) { ReSpecPoints = FixPoint.FromInternalValue(reSpecArray[1]); } if (parameters.ContainsKey(47)) { InteractGuid = parameters[47].ObjectToGuid(); ConsoleManager.WriteLineForMessage(MethodBase.GetCurrentMethod().DeclaringType, $"Local interact object Guid: {InteractGuid}", ConsoleManager.EventMapChangeColor); } if (parameters.ContainsKey(51)) { GuildName = string.IsNullOrEmpty(parameters[51].ToString()) ? string.Empty : parameters[51].ToString(); } if (parameters.ContainsKey(58)) { MainMapIndex = string.IsNullOrEmpty(parameters[58].ToString()) ? string.Empty : parameters[58].ToString(); } if (parameters.ContainsKey(61)) { PlayTimeInSeconds = parameters[61].ObjectToInt(); } if (parameters.ContainsKey(70)) { AllianceName = string.IsNullOrEmpty(parameters[70].ToString()) ? string.Empty : parameters[70].ToString(); } } catch (Exception e) { Log.Debug(nameof(JoinResponse), e); } }
public JoinResponse(Dictionary <byte, object> parameters) : base(parameters) { try { Debug.Print($"---------- UserInformation (Response) ----------"); //foreach (var parameter in parameters) //{ // Debug.Print($"{parameter}"); //} UserObjectId = null; if (parameters.ContainsKey(0)) { UserObjectId = parameters[0].ObjectToLong(); Debug.Print($"UserObjectId: {parameters[0].ObjectToLong()}"); } if (parameters.ContainsKey(2)) { Username = parameters[2].ToString(); } if (parameters.ContainsKey(8)) { MapIndex = parameters[8].ToString(); UniqueMapName = WorldData.GetUniqueNameOrDefault(MapIndex); MapType = WorldData.GetMapType(MapIndex); DungeonGuid = WorldData.GetDungeonGuid(MapIndex); } if (parameters.ContainsKey(23)) { CurrentFocusPoints = parameters[23].ObjectToDouble(); } if (parameters.ContainsKey(24)) { MaxCurrentFocusPoints = parameters[24].ObjectToDouble(); } if (parameters.ContainsKey(28)) { Silver = FixPoint.FromInternalValue(parameters[28].ObjectToLong() ?? 0); } if (parameters.ContainsKey(29)) { Gold = FixPoint.FromInternalValue(parameters[29].ObjectToLong() ?? 0); } if (parameters.ContainsKey(32)) { LearningPoints = FixPoint.FromInternalValue(parameters[32].ObjectToLong() ?? 0); } if (parameters.ContainsKey(36)) { Reputation = parameters[36].ObjectToDouble(); } if (parameters.ContainsKey(38) && parameters[38] != null && parameters[38] is long[] reSpecArray && reSpecArray.Length > 1) { ReSpecPoints = FixPoint.FromInternalValue(reSpecArray[1]); } if (parameters.ContainsKey(51)) { GuildName = string.IsNullOrEmpty(parameters[51].ToString()) ? string.Empty : parameters[51].ToString(); } if (parameters.ContainsKey(58)) { MainMapIndex = string.IsNullOrEmpty(parameters[58].ToString()) ? string.Empty : parameters[58].ToString(); } if (parameters.ContainsKey(61)) { PlayTimeInSeconds = parameters[61].ObjectToInt(); } if (parameters.ContainsKey(69)) { AllianceName = string.IsNullOrEmpty(parameters[69].ToString()) ? string.Empty : parameters[69].ToString(); } if (parameters.ContainsKey(92)) { CurrentDailyBonusPoints = parameters[92].ObjectToLong(); } } catch (Exception e) { Log.Debug(nameof(JoinResponse), e); } }