public AdhocNPCGoal(ILogger logger, ConfigurableInput input, AddonReader addonReader, IPlayerDirection playerDirection, StopMoving stopMoving, NpcNameTargeting npcNameTargeting, StuckDetector stuckDetector, ClassConfiguration classConfiguration, IPPather pather, KeyAction key, IBlacklist blacklist, MountHandler mountHandler, Wait wait, ExecGameCommand exec) { this.logger = logger; this.input = input; this.addonReader = addonReader; this.playerReader = addonReader.PlayerReader; this.playerDirection = playerDirection; this.stopMoving = stopMoving; this.npcNameTargeting = npcNameTargeting; this.stuckDetector = stuckDetector; this.classConfiguration = classConfiguration; this.pather = pather; this.key = key; this.blacklist = blacklist; this.mountHandler = mountHandler; this.wait = wait; this.execGameCommand = exec; this.gossipReader = addonReader.GossipReader; if (key.InCombat == "false") { AddPrecondition(GoapKey.incombat, false); } else if (key.InCombat == "true") { AddPrecondition(GoapKey.incombat, true); } this.Keys.Add(key); }
public FollowRouteGoal(ILogger logger, ConfigurableInput input, Wait wait, AddonReader addonReader, IPlayerDirection playerDirection, List <WowPoint> points, StopMoving stopMoving, NpcNameFinder npcNameFinder, StuckDetector stuckDetector, ClassConfiguration classConfiguration, IPPather pather, MountHandler mountHandler, TargetFinder targetFinder) { this.logger = logger; this.input = input; this.wait = wait; this.addonReader = addonReader; this.playerReader = addonReader.PlayerReader; this.playerDirection = playerDirection; this.stopMoving = stopMoving; this.pointsList = points; this.npcNameFinder = npcNameFinder; this.stuckDetector = stuckDetector; this.classConfiguration = classConfiguration; this.pather = pather; this.mountHandler = mountHandler; this.targetFinder = targetFinder; MinDistance = !(pather is RemotePathingAPIV3) ? 15 : 8; if (classConfiguration.Mode != Mode.AttendedGather) { AddPrecondition(GoapKey.incombat, false); AddPrecondition(GoapKey.producedcorpse, false); AddPrecondition(GoapKey.consumecorpse, false); } }
public void RenameMount(string name) { if (string.IsNullOrWhiteSpace(name) || Owner == null) { return; } Name = name.EscapeString(); MountHandler.SendMountRenamedMessage(Owner.Client, Id, name); }
protected virtual void OnLevelChanged(Character character) { ExperienceLevelFloor = ExperienceManager.Instance.GetMountLevelExperience(Level); ExperienceNextLevelFloor = ExperienceManager.Instance.GetMountNextLevelExperience(Level); UnApplyMountEffects(); m_effects = MountManager.Instance.GetMountEffects(this); ApplyMountEffects(); MountHandler.SendMountSetMessage(character.Client, GetMountClientData()); }
static void Main(string[] args) { MountManager.Init(); HandleManager.Init(); var nfs = new NfsHandler(); var mount = new MountHandler(); var portmap = new PortmapHandler(); nfs.Start(); mount.Start(); portmap.Start(); }
public override uint UseItem(int amount = 1, Cell targetCell = null, Character target = null) { if (!Owner.HasEquippedMount()) { return(0); } if (Owner.EquippedMount.Behaviors.Contains((int)MountBehaviorEnum.Caméléone)) { return(0); } Owner.EquippedMount.AddBehavior(MountBehaviorEnum.Caméléone); Owner.UpdateLook(); MountHandler.SendMountSetMessage(Owner.Client, Owner.EquippedMount.GetMountClientData()); return(1); }
public static void CommonCharacterSelection(WorldClient client, CharacterRecord character) { if (character.IsDeleted) { return; } // Check if we also have a world account if (client.WorldAccount == null) { var account = AccountManager.Instance.FindById(client.Account.Id) ?? AccountManager.Instance.CreateWorldAccount(client); client.WorldAccount = account; } // update tokens if (client.WorldAccount.Tokens + client.WorldAccount.NewTokens <= 0) { client.WorldAccount.Tokens = 0; } else { client.WorldAccount.Tokens += client.WorldAccount.NewTokens; } client.WorldAccount.NewTokens = 0; client.Character = new Character(character, client); client.Character.LoadRecord(); ContextHandler.SendNotificationListMessage(client, new[] { 0x7FFFFFFF }); BasicHandler.SendBasicTimeMessage(client); SendCharacterSelectedSuccessMessage(client); if (client.Character.Inventory.Presets.Any()) { InventoryHandler.SendInventoryContentAndPresetMessage(client); } else { InventoryHandler.SendInventoryContentMessage(client); } ShortcutHandler.SendShortcutBarContentMessage(client, ShortcutBarEnum.GENERAL_SHORTCUT_BAR); ContextRoleplayHandler.SendEmoteListMessage(client, client.Character.Emotes.Select(x => (byte)x)); // Jobs ContextRoleplayHandler.SendJobDescriptionMessage(client, client.Character); ContextRoleplayHandler.SendJobExperienceMultiUpdateMessage(client, client.Character); ContextRoleplayHandler.SendJobCrafterDirectorySettingsMessage(client, client.Character); PvPHandler.SendAlignmentRankUpdateMessage(client, client.Character); ChatHandler.SendEnabledChannelsMessage(client, new sbyte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13 }, new sbyte[] { }); ChatHandler.SendChatSmileyExtraPackListMessage(client, client.Character.SmileyPacks.ToArray()); InventoryHandler.SendSpellListMessage(client, true); ShortcutHandler.SendShortcutBarContentMessage(client, ShortcutBarEnum.SPELL_SHORTCUT_BAR); InitializationHandler.SendSetCharacterRestrictionsMessage(client, client.Character); InventoryHandler.SendInventoryWeightMessage(client); FriendHandler.SendFriendWarnOnConnectionStateMessage(client, client.Character.FriendsBook.WarnOnConnection); FriendHandler.SendFriendWarnOnLevelGainStateMessage(client, client.Character.FriendsBook.WarnOnLevel); GuildHandler.SendGuildMemberWarnOnConnectionStateMessage(client, client.Character.WarnOnGuildConnection); //Guild if (client.Character.GuildMember != null) { GuildHandler.SendGuildMembershipMessage(client, client.Character.GuildMember); } //Mount if (client.Character.EquippedMount != null) { MountHandler.SendMountSetMessage(client, client.Character.EquippedMount.GetMountClientData()); MountHandler.SendMountXpRatioMessage(client, client.Character.EquippedMount.GivenExperience); if (client.Character.IsRiding) { MountHandler.SendMountRidingMessage(client, client.Character.IsRiding); } } client.Character.SendConnectionMessages(); //Don't know why ? ActionsHandler.SendSequenceNumberRequestMessage(client); //Start Cinematic if ((DateTime.Now - client.Character.Record.CreationDate).TotalSeconds <= 30) { BasicHandler.SendCinematicMessage(client, 10); } ContextRoleplayHandler.SendGameRolePlayArenaUpdatePlayerInfosMessage(client, client.Character); SendCharacterCapabilitiesMessage(client); ContextRoleplayHandler.SendAlmanachCalendarDateMessage(client); //Loading complete SendCharacterLoadingCompleteMessage(client); BasicHandler.SendServerExperienceModificatorMessage(client); // Update LastConnection and Last Ip client.WorldAccount.LastConnection = DateTime.Now; client.WorldAccount.LastIp = client.IP; client.WorldAccount.ConnectedCharacter = character.Id; WorldServer.Instance.DBAccessor.Database.Execute(string.Format(WorldAccountRelator.UpdateNewTokens, 0)); WorldServer.Instance.DBAccessor.Database.Update(client.WorldAccount); }
public void RefreshMount() { MountHandler.SendMountSetMessage(Owner.Client, GetMountClientData()); }
public void SetGivenExperience(Character character, sbyte xp) { GivenExperience = xp > 90 ? (sbyte)90 : (xp < 0 ? (sbyte)0 : xp); MountHandler.SendMountXpRatioMessage(character.Client, GivenExperience); }
public void Sterelize(Character character) { character.EquippedMount.ReproductionCount = -1; MountHandler.SendMountSterelizeMessage(character.Client, character.EquippedMount.Id); }
public GameSocket(ISerializer serializer) : base(serializer) { _achievementHandler = new AchievementHandler(this); _activityHandler = new ActivityHandler(this); _activityFavorHandler = new ActivityFavorHandler(this); _amuletHandler = new AmuletHandler(this); _arenaHandler = new ArenaHandler(this); _attendanceHandler = new AttendanceHandler(this); _bagHandler = new BagHandler(this); _battleHandler = new BattleHandler(this); _cardHandler = new CardHandler(this); _consignmentLineHandler = new ConsignmentLineHandler(this); _crossServerHandler = new CrossServerHandler(this); _dailyActivityHandler = new DailyActivityHandler(this); _demonTowerHandler = new DemonTowerHandler(this); _equipHandler = new EquipHandler(this); _exchangeHandler = new ExchangeHandler(this); _fashionHandler = new FashionHandler(this); _fightLevelHandler = new FightLevelHandler(this); _fleeHandler = new FleeHandler(this); _friendHandler = new FriendHandler(this); _functionHandler = new FunctionHandler(this); _functionOpenHandler = new FunctionOpenHandler(this); _giftOnlineHandler = new GiftOnlineHandler(this); _goddessHandler = new GoddessHandler(this); _guildBlessHandler = new GuildBlessHandler(this); _guildBossHandler = new GuildBossHandler(this); _guildDepotHandler = new GuildDepotHandler(this); _guildHandler = new GuildHandler(this); _guildShopHandler = new GuildShopHandler(this); _guildTechHandler = new GuildTechHandler(this); _hookSetHandler = new HookSetHandler(this); _interactHandler = new InteractHandler(this); _intergalMallHandler = new IntergalMallHandler(this); _itemHandler = new ItemHandler(this); _leaderBoardHandler = new LeaderBoardHandler(this); _limitTimeActivityHandler = new LimitTimeActivityHandler(this); _mailHandler = new MailHandler(this); _mapHandler = new MapHandler(this); _masteryHandler = new MasteryHandler(this); _medalHandler = new MedalHandler(this); _messageHandler = new MessageHandler(this); _mountHandler = new MountHandler(this); _npcHandler = new NpcHandler(this); _offlineAwardHandler = new OfflineAwardHandler(this); _onlineGiftHandler = new OnlineGiftHandler(this); _payGiftHandler = new PayGiftHandler(this); _petHandler = new PetHandler(this); _petNewHandler = new PetNewHandler(this); _playerHandler = new PlayerHandler(this); _prepaidHandler = new PrepaidHandler(this); _rankHandler = new RankHandler(this); _resourceDungeonHandler = new ResourceDungeonHandler(this); _resourceHandler = new ResourceHandler(this); _rewardHandler = new RewardHandler(this); _saleHandler = new SaleHandler(this); _shopMallHandler = new ShopMallHandler(this); _skillHandler = new SkillHandler(this); _skillKeysHandler = new SkillKeysHandler(this); _soloHandler = new SoloHandler(this); _stealHandler = new StealHandler(this); _sysSetHandler = new SysSetHandler(this); _taskHandler = new TaskHandler(this); _teamHandler = new TeamHandler(this); _tradeHandler = new TradeHandler(this); _treasureHandler = new TreasureHandler(this); _upLevelHandler = new UpLevelHandler(this); _vipHandler = new VipHandler(this); _vitalityHandler = new VitalityHandler(this); _wingHandler = new WingHandler(this); _activityRevelryHandler = new ActivityRevelryHandler(this); _auctionHandler = new AuctionHandler(this); _chatHandler = new ChatHandler(this); _daoYouHandler = new DaoYouHandler(this); _entryHandler = new EntryHandler(this); _roleHandler = new RoleHandler(this); _farmHandler = new FarmHandler(this); _five2FiveHandler = new Five2FiveHandler(this); _guildManagerHandler = new GuildManagerHandler(this); _xianYuanHandler = new XianYuanHandler(this); }
private void HandleRequest(ITracer tracer, string request, NamedPipeServer.Connection connection) { NamedPipeMessages.Message message = NamedPipeMessages.Message.FromString(request); if (string.IsNullOrWhiteSpace(message.Header)) { return; } using (ITracer activity = this.tracer.StartActivity(message.Header, EventLevel.Informational, new EventMetadata { { "request", request } })) { switch (message.Header) { case NamedPipeMessages.MountRepoRequest.Header: try { NamedPipeMessages.MountRepoRequest mountRequest = NamedPipeMessages.MountRepoRequest.FromMessage(message); MountHandler mountHandler = new MountHandler(activity, this.repoRegistry, connection, mountRequest); mountHandler.Run(); } catch (SerializationException ex) { activity.RelatedError("Could not deserialize mount request: {0}", ex.Message); } break; case NamedPipeMessages.UnmountRepoRequest.Header: try { NamedPipeMessages.UnmountRepoRequest unmountRequest = NamedPipeMessages.UnmountRepoRequest.FromMessage(message); UnmountHandler unmountHandler = new UnmountHandler(activity, this.repoRegistry, connection, unmountRequest); unmountHandler.Run(); } catch (SerializationException ex) { activity.RelatedError("Could not deserialize unmount request: {0}", ex.Message); } break; case NamedPipeMessages.Notification.Request.Header: try { NamedPipeMessages.Notification.Request notificationRequest = NamedPipeMessages.Notification.Request.FromMessage(message); NotificationHandler.Instance.SendNotification(activity, notificationRequest); } catch (SerializationException ex) { activity.RelatedError("Could not deserialize notification request: {0}", ex.Message); } break; default: EventMetadata metadata = new EventMetadata(); metadata.Add("Area", EtwArea); metadata.Add("Header", message.Header); metadata.Add("ErrorMessage", "HandleNewConnection: Unknown request"); this.tracer.RelatedError(metadata); connection.TrySendResponse(NamedPipeMessages.UnknownRequest); break; } } }