protected virtual void OnTeleportStatusChanged(TeleportEventArgs e) { if (TeleportStatusChanged != null) { TeleportStatusChanged(this, e); } }
private void Obj_AI_Base_OnTeleport(GameObject sender, TeleportEventArgs args) { var unit = sender as AIHeroClient; if (unit == null || !unit.IsValid || unit.IsAlly) { return; } var decoded = new RecallInf(unit.NetworkId, args.Status, args.Type, args.Duration, args.Start); if (unit.NetworkId == Hero.NetworkId && decoded.Type == TeleportType.Recall) { RecallStatus = decoded.Status; if (decoded.Status == TeleportStatus.Finish) { BeforeRecallLocation = Hero.ServerPosition; Obj_SpawnPoint enemySpawn = ObjectManager.Get <Obj_SpawnPoint>().FirstOrDefault(x => x.IsEnemy); if (enemySpawn != null) { LastLocation = enemySpawn.Position; PredictedLocation = enemySpawn.Position; } LastSeen = Game.Time; } } }
private static void OnTeleport(object sender, TeleportEventArgs args) { var unit = args.Object as AIHeroClient; if (unit == null || !unit.IsValid || unit.IsAlly) { return; } var ChampionInfoOne = ChampionInfoList.Find(x => x.NetworkId == unit.NetworkId); if (args.Type == TeleportType.Recall) { switch (args.Status) { case TeleportStatus.Start: ChampionInfoOne.StartRecallTime = Game.Time; break; case TeleportStatus.Abort: ChampionInfoOne.AbortRecallTime = Game.Time; break; case TeleportStatus.Finish: ChampionInfoOne.FinishRecallTime = Game.Time; ChampionInfoOne.LastVisiblePos = GameObjects.EnemySpawnPoints.FirstOrDefault().Position; break; } } }
private void OnTeleport(object sender, TeleportEventArgs e) { if (sender != null) { Console.WriteLine("{0} recalled!", ((Obj_AI_Base)sender).CharData.BaseSkinName); } }
void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (!Client.Network.Connected) { return; } switch (e.Status) { case TeleportStatus.Progress: instance.MediaManager.PlayUISound(UISounds.Teleport); Client.Self.SphereEffect(Client.Self.GlobalPosition, Color4.White, 4f, teleportEffect); break; case TeleportStatus.Finished: Client.Self.SphereEffect(Vector3d.Zero, Color4.White, 0f, teleportEffect); SetRandomHeading(); break; case TeleportStatus.Failed: instance.MediaManager.PlayUISound(UISounds.Error); Client.Self.SphereEffect(Vector3d.Zero, Color4.White, 0f, teleportEffect); break; } }
private static void OnUnitTeleport(Obj_AI_Base sender, Obj_AI_BaseTeleportEventArgs e) { var eventArgs = new TeleportEventArgs { Status = TeleportStatus.Unknown, Type = TeleportType.Unknown }; if (sender == null) { return; } if (!TeleportDataNetId.ContainsKey(sender.NetworkId)) { TeleportDataNetId[sender.NetworkId] = eventArgs; } if (!string.IsNullOrEmpty(e.DisplayName)) { eventArgs.Status = TeleportStatus.Start; eventArgs.Duration = GetDuration(e); eventArgs.Type = GetType(e); eventArgs.Start = Game.TickCount; TeleportDataNetId[sender.NetworkId] = eventArgs; } else { eventArgs = TeleportDataNetId[sender.NetworkId]; eventArgs.Status = Game.TickCount - eventArgs.Start < eventArgs.Duration - 250 ? TeleportStatus.Abort : TeleportStatus.Finish; } OnTeleport?.Invoke(sender, eventArgs); }
private void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (e.Status == TeleportStatus.Finished) { SetLookat(); } }
void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (e.Status == TeleportStatus.Finished) { this.nearbyAvatars.Clear(); } }
void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (InvokeRequired) { BeginInvoke(new MethodInvoker(() => Self_TeleportProgress(sender, e))); return; } statusLabel.Text = e.Message; switch (e.Status) { case TeleportStatus.Progress: IsTeleporting = true; break; case TeleportStatus.Cancelled: case TeleportStatus.Failed: statusLabel.Text = "Teleport failed: " + e.Message; IsTeleporting = false; break; case TeleportStatus.Finished: IsTeleporting = false; Close(); break; } RefreshControls(); }
void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (e.Status == TeleportStatus.Progress || e.Status == TeleportStatus.Finished) { ResetAvatarList(); } }
void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (InvokeRequired) { BeginInvoke(new MethodInvoker(() => Self_TeleportProgress(sender, e))); return; } switch (e.Status) { case TeleportStatus.Progress: lblStatus.Text = "Progress: " + e.Message; InTeleport = true; break; case TeleportStatus.Start: lblStatus.Text = "Teleporting to " + txtRegion.Text; InTeleport = true; break; case TeleportStatus.Cancelled: case TeleportStatus.Failed: InTeleport = false; lblStatus.Text = "Failed: " + e.Message; if (Environment.TickCount - lastTick > 500) { instance.TabConsole.DisplayNotificationInChat("Teleport failed"); } lastTick = Environment.TickCount; break; case TeleportStatus.Finished: lblStatus.Text = "Teleport complete"; if (Environment.TickCount - lastTick > 500) { instance.TabConsole.DisplayNotificationInChat("Teleport complete"); } lastTick = Environment.TickCount; InTeleport = false; Network_SimChanged(null, null); if (mmap != null) { mmap.ClearTarget(); } break; default: InTeleport = false; break; } if (!InTeleport) { prgTeleport.Style = ProgressBarStyle.Blocks; } }
/// <summary> /// Invoked whenever the player teleports. /// If their buildmode is on and they have ChaosState from Rod of Discord, heal the player. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void OnTeleport(object sender, TeleportEventArgs e) { if (e.Player.IsBuildModeOn()) { if (e.Player.TPlayer.FindBuffIndex(BuffID.ChaosState) > -1) { e.Player.Heal(100); } } }
/// <inheritdoc /> public void Execute(IEntity entity, SystemEventArgs args) { if (!(entity is IPlayerEntity player)) { this._logger.LogError($"Cannot execute DeathSystem. {entity.Object.Name} is not a player."); return; } IMapRevivalRegion revivalRegion = player.Object.CurrentMap.GetNearRevivalRegion(player.Object.Position); if (revivalRegion == null) { this._logger.LogError($"Cannot find any revival region for map '{player.Object.CurrentMap.Name}'."); return; } decimal recoveryRate = GameResources.Instance.Penalities.GetRevivalPenality(player.Object.Level) / 100; var jobData = player.PlayerData.JobData; int strength = player.Attributes[DefineAttributes.STR]; int stamina = player.Attributes[DefineAttributes.STA]; int dexterity = player.Attributes[DefineAttributes.DEX]; int intelligence = player.Attributes[DefineAttributes.INT]; player.Health.Hp = (int)(HealthFormulas.GetMaxOriginHp(player.Object.Level, stamina, jobData.MaxHpFactor) * recoveryRate); player.Health.Mp = (int)(HealthFormulas.GetMaxOriginMp(player.Object.Level, intelligence, jobData.MaxMpFactor, true) * recoveryRate); player.Health.Fp = (int)(HealthFormulas.GetMaxOriginFp(player.Object.Level, stamina, dexterity, strength, jobData.MaxFpFactor, true) * recoveryRate); if (player.Object.MapId != revivalRegion.MapId) { IMapInstance revivalMap = this._mapLoader.GetMapById(revivalRegion.MapId); if (revivalMap == null) { this._logger.LogError($"Cannot find revival map with id '{revivalRegion.MapId}'."); player.Connection.Server.DisconnectClient(player.Connection.Id); return; } revivalRegion = revivalMap.GetRevivalRegion(revivalRegion.Key); } var teleportEvent = new TeleportEventArgs(revivalRegion.MapId, revivalRegion.RevivalPosition.X, revivalRegion.RevivalPosition.Z); player.NotifySystem <TeleportSystem>(teleportEvent); WorldPacketFactory.SendMotion(player, ObjectMessageType.OBJMSG_ACC_STOP | ObjectMessageType.OBJMSG_STOP_TURN | ObjectMessageType.OBJMSG_STAND); WorldPacketFactory.SendPlayerRevival(player); WorldPacketFactory.SendUpdateAttributes(player, DefineAttributes.HP, player.Health.Hp); WorldPacketFactory.SendUpdateAttributes(player, DefineAttributes.MP, player.Health.Mp); WorldPacketFactory.SendUpdateAttributes(player, DefineAttributes.FP, player.Health.Fp); this.ProcessDeathPenality(player); }
//string message, TeleportStatus status, TeleportFlags flags public void On_Teleport(object sender, TeleportEventArgs e) { BotClient Client = TheBotClient; WriteLine(e + " " + e.Status); if (e.Status == TeleportStatus.Finished) { Client.Self.TeleportProgress -= On_Teleport; TeleportFinished.Set(); } }
public void Self_TeleportProgress(object sender, TeleportEventArgs e) { Hashtable item = new Hashtable(); item.Add("MessageType", "Teleport"); item.Add("Status", e.Status); item.Add("Flags", e.Flags); if (e.Status == TeleportStatus.Finished) { Client.Self.Movement.Camera.Far = 182f; Client.Self.Movement.Camera.SetPositionOrientation(new Vector3(128, 128, 0), 0, 0, 0); Client.Self.Movement.SendUpdate(); } enqueue(item); }
private void TP_Callback(object sender, TeleportEventArgs e) { if (e.Status == TeleportStatus.Finished) { //Thread.Sleep(8000); BeginInvoke((MethodInvoker) delegate { //axWindowsMediaPlayer1.Ctlcontrols.stop(); axWindowsMediaPlayer1.URL = this.instance.Config.CurrentConfig.pURL; //axWindowsMediaPlayer1.Ctlcontrols.play(); //this.Close(); }); } }
void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (e.Status == TeleportStatus.Finished || e.Status == TeleportStatus.Failed) { IsTeleporting = false; } if (CanSyncInvoke) { NetcomSync.BeginInvoke(new OnTeleportStatusRaise(OnTeleportStatusChanged), new object[] { e }); } else { OnTeleportStatusChanged(e); } }
private void Obj_AI_Base_OnTeleport(GameObject sender, TeleportEventArgs args) { var unit = sender as AIHeroClient; if (unit == null || !unit.IsValid || unit.IsAlly) { return; } var decoded = new RecallInf(unit.NetworkId, args.Status, args.Type, args.Duration, args.Start); if (unit.NetworkId == _hero.NetworkId && decoded.Type == TeleportType.Recall) { switch (decoded.Status) { case TeleportStatus.Start: _begin = Game.Time; _duration = decoded.Duration; _active = true; break; case TeleportStatus.Finish: int colorIndex = (int)((_hero.HealthPercent / 100) * 255); string color = (255 - colorIndex).ToString("X2") + colorIndex.ToString("X2") + "00"; Program.Instance().Notify(_hero.ChampionName + " has recalled with <font color='#" + color + "'>" + (int)_hero.HealthPercent + "% HP</font>"); _active = false; break; case TeleportStatus.Abort: _active = false; break; case TeleportStatus.Unknown: Program.Instance() .Notify( _hero.ChampionName + " is <font color='#ff3232'>unknown</font> (" + _hero.Spellbook.GetSpell(SpellSlot.Recall).Name + ")"); _active = false; break; } } }
private void netcom_TeleportStatusChanged(object sender, TeleportEventArgs e) { switch (e.Status) { case TeleportStatus.Start: case TeleportStatus.Progress: lblTeleportStatus.Text = e.Message; break; case TeleportStatus.Failed: RefreshControls(); MessageBox.Show(e.Message, "Teleport", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case TeleportStatus.Finished: this.Close(); break; } }
private void netcom_TeleportStatusChanged(object sender, TeleportEventArgs e) { switch (e.Status) { case TeleportStatus.Failed: MessageBox.Show(e.Message, "Teleport", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case TeleportStatus.Finished: //try //{ // client.Appearance.SetPreviousAppearance(false); //} //catch (Exception exp) //{ // Logger.Log("TPTabWindow: " + exp.InnerException.ToString(), Helpers.LogLevel.Error); //} break; } }
private void netcom_TeleportStatusChanged(object sender, TeleportEventArgs e) { switch (e.Status) { case TeleportStatus.Progress: label1.Text = e.Message; break; case TeleportStatus.Failed: label1.Text = "Teleport Failed"; break; case TeleportStatus.Finished: label1.Text = "Teleport Successful"; //this.Close(); break; } }
private static void OnUnitTeleport(Obj_AI_Base sender, GameObjectTeleportEventArgs args) { var eventArgs = new TeleportEventArgs { Status = TeleportStatus.Unknown, Type = TeleportType.Unknown }; if (sender == null) { return; } if (!TeleportDataNetId.ContainsKey(sender.NetworkId)) { TeleportDataNetId[sender.NetworkId] = eventArgs; } if (!string.IsNullOrEmpty(args.RecallType)) { eventArgs.Status = TeleportStatus.Start; eventArgs.Duration = GetDuration(args); eventArgs.Type = GetType(args); eventArgs.Start = Core.GameTickCount; TeleportDataNetId[sender.NetworkId] = eventArgs; } else { eventArgs = TeleportDataNetId[sender.NetworkId]; eventArgs.Status = Core.GameTickCount - eventArgs.Start < eventArgs.Duration - 250 ? TeleportStatus.Abort : TeleportStatus.Finish; } if (OnTeleport != null) { OnTeleport(sender, eventArgs); } }
private void netcom_TeleportStatusChanged(object sender, TeleportEventArgs e) { if (InvokeRequired) { BeginInvoke(new MethodInvoker(() => netcom_TeleportStatusChanged(sender, e))); return; } try { switch (e.Status) { case TeleportStatus.Start: RefreshControls(); pnlTeleporting.Visible = true; lblTeleportStatus.Visible = true; break; case TeleportStatus.Progress: lblTeleportStatus.Text = e.Message; break; case TeleportStatus.Failed: RefreshControls(); pnlTeleporting.Visible = false; MessageBox.Show(e.Message, "Teleport", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case TeleportStatus.Finished: RefreshControls(); pnlTeleporting.Visible = false; //lblTeleportStatus.Visible = false; this.Close(); break; } } catch {; } }
private void Self_OnTeleport(object sender, TeleportEventArgs ea) { try { if (ea.Status == TeleportStatus.Finished || ea.Status == TeleportStatus.Failed) { teleporting = false; } if (netcomSync != null) { netcomSync.BeginInvoke(new OnTeleportStatusRaise(OnTeleportStatusChanged), new object[] { ea }); } else { OnTeleportStatusChanged(ea); } } catch { ; } }
void Self_TeleportProgress(object sender, TeleportEventArgs e) { if (!client.Network.Connected) { return; } if (e.Status == TeleportStatus.Progress) { client.Self.SphereEffect(client.Self.GlobalPosition, Color4.White, 4f, teleportEffect); } if (e.Status == TeleportStatus.Finished) { client.Self.SphereEffect(Vector3d.Zero, Color4.White, 0f, teleportEffect); SetRandomHeading(); } if (e.Status == TeleportStatus.Failed) { client.Self.SphereEffect(Vector3d.Zero, Color4.White, 0f, teleportEffect); } }
private static bool OnTeleport(Int16 id, byte f, float x, float y) { if (Teleport == null) return false; var args = new TeleportEventArgs { ID = id, Flag = f, X = x, Y = y }; Teleport.Invoke(null, args); return args.Handled; }
public override void Self_OnTeleport(object sender, TeleportEventArgs e) { base.Self_OnTeleport(sender, e); }
private void OnPressTeleport() { if (_teleport != null) { TeleportEventArgs e = new TeleportEventArgs(); _teleport(this, e); } }
protected virtual void OnTeleportStatusChanged(TeleportEventArgs e) { TeleportStatusChanged?.Invoke(this, e); }
public void UseBlinkwingItem(IPlayerEntity player, Item blinkwing) { if (player.Object.Level < blinkwing.Data.LimitLevel) { _logger.LogError($"Player {player.Object.Name} cannot use {blinkwing.Data.Name}. Level too low."); _textPacketFactory.SendDefinedText(player, DefineText.TID_GAME_USINGNOTLEVEL); return; } // TODO: Check if player is sit // TODO: Check if player is on Kebaras island // TODO: Check if player is in guild war map TeleportEventArgs teleportEvent; if (blinkwing.Data.ItemKind3 == ItemKind3.TOWNBLINKWING) { IMapRevivalRegion revivalRegion = player.Object.CurrentMap.GetNearRevivalRegion(player.Object.Position); if (revivalRegion == null) { _logger.LogError($"Cannot find any revival region for map '{player.Object.CurrentMap.Name}'."); return; } if (player.Object.MapId != revivalRegion.MapId) { IMapInstance revivalMap = _mapManager.GetMap(revivalRegion.MapId); if (revivalMap == null) { _logger.LogError($"Cannot find revival map with id '{revivalRegion.MapId}'."); // TODO: disconnect client //player.Connection.Server.DisconnectClient(player.Connection.Id); return; } revivalRegion = revivalMap.GetRevivalRegion(revivalRegion.Key); } teleportEvent = new TeleportEventArgs(revivalRegion.MapId, revivalRegion.RevivalPosition.X, revivalRegion.RevivalPosition.Z, revivalRegion.RevivalPosition.Y); } else { teleportEvent = new TeleportEventArgs(blinkwing.Data.WeaponTypeId, // Map Id blinkwing.Data.ItemAtkOrder1, // X blinkwing.Data.ItemAtkOrder3, // Z blinkwing.Data.ItemAtkOrder2, // Y blinkwing.Data.ItemAtkOrder4); // Angle } player.Inventory.ItemInUseActionId = player.Delayer.DelayAction(TimeSpan.FromMilliseconds(blinkwing.Data.SkillReadyType), () => { _teleportSystem.Teleport(player, teleportEvent.MapId, teleportEvent.PositionX, teleportEvent.PositionY, teleportEvent.PositionZ, teleportEvent.Angle); _specialEffectSystem.SetStateModeBaseMotion(player, StateModeBaseMotion.BASEMOTION_OFF); player.Inventory.ItemInUseActionId = Guid.Empty; DecreaseItem(player, blinkwing); }); _specialEffectSystem.SetStateModeBaseMotion(player, StateModeBaseMotion.BASEMOTION_ON, blinkwing); }
public void Teleport(object sender, TeleportEventArgs e) { if (_wizard.Mana > 0) { bool flag = true; Coordinate coord = _coord; Coordinate coordOld = _coord; while (flag) { coord = View.TeleportUI(); if (!(_world[coord._y, coord._x] is Way)) { continue; } flag = false; } _coord = coord; _world.Move(coordOld, _coord); _wizard.Mana -= TeleportConsumptionMana; } else { View.PrintText("Need Mana!!!!"); } }