public void OnPlayerDie(PlayerDieEvent ev) { if (!Sitrep.Events.Contains("playerdieevent")) { return; } if (!Sitrep.CustomChannelIds.TryGetValue("playerdieevent", out ulong channel)) { channel = Sitrep.EventsId; } DamageType dmgType = ev.HitInfo.GetDamageInfo(); if (dmgType == DamageType.AntiCheat || dmgType == DamageType.CmdSuicide || dmgType == DamageType.Disconnect || dmgType == DamageType.Wall || dmgType == DamageType.None) { return; } if (Methods.IsTeamkill(ev)) { Send($":warning: **[{ev.Target.Role.AsString()}] {ev.Target.Nick.DiscordSanitize()} ({ev.Target.ParsedUserId}) byl zabit spoluhráčem [{ev.Attacker.Role.AsString()}] {ev.Attacker.Nick.DiscordSanitize()} ({ev.Attacker.ParsedUserId}) pomocí {dmgType}**", channel); return; } if (ev.Attacker.UserId == ev.Target.UserId) { Send($":skull: [{ev.Target.Role.AsString()}] {ev.Target.Nick.DiscordSanitize()} ({ev.Target.ParsedUserId}) spáchal sebevraždu pomocí {dmgType}.", channel); } else { Send($":skull: [{ev.Target.Role.AsString()}] {ev.Target.Nick.DiscordSanitize()} ({ev.Target.ParsedUserId}) byl zabit hráčem [{ev.Attacker.Role.AsString()}] {ev.Attacker.Nick.DiscordSanitize()} ({ev.Attacker.ParsedUserId}) pomocí {dmgType}.", channel); } }
public virtual void Die() { if (PlayerDieEvent != null) { PlayerDieEvent.Invoke(); } }
public override void Kill() { if (Killed) { return; } Killed = true; PlayerDieEvent?.Invoke(); Life--; base.Kill(); }
public void OnPlayerDieEvent(PlayerDieEvent gameEvent) { if (GameOver) { return; } UpdateScoreForKill(gameEvent.Killer, gameEvent.Dead, PointsForKill); StartCoroutine(RespawnPlayer(gameEvent.Dead)); }
/// <summary> Events callback. Called every time a Player dies. </summary> /// <param name="eventArgs"> the death event arguments </param> void OnPlayerDie(PlayerDieEvent eventArgs) { _stocks[eventArgs.Player.ID]--; if (eventArgs.Revived || _stocks[eventArgs.Player.ID] <= 0) { return; } _eventManager.Publish(new PlayerRespawnEvent { Player = eventArgs.Player }); eventArgs.Revived = true; }
public override void Initialization() { GameStartedEvent = new GameStartedEvent(); CanGenerateNewWaveEvent = new CanGenerateNewWaveEvent(); EnemyWaveGeneratedEvent = new EnemyWaveGeneratedEvent(); EnemyDieEvent = new EnemyDieEvent(); SquadDieEvent = new SquadDieEvent(); FormationDieEvent = new FormationDieEvent(); PlayerDieEvent = new PlayerDieEvent(); DifficultUpEvent = new DifficultUpEvent(); HealthPickedEvent = new HealthPickedEvent(); EndMusicEvent = new EndMusicEvent(); }
private void Update() { Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); if (joystick.Horizontal != 0 || joystick.Vertical != 0) { moveInput = new Vector2(joystick.Horizontal, joystick.Vertical); } moveVelocity = moveInput.normalized * speed; if (health <= 0) { PlayerDieEvent.Invoke(); } }
public void OnPlayerDie(PlayerDieEvent ev) { if (ev.Attacker == Scp035Player) { ev.Target.ShowHint("Byl jsi zabit SCP-035", 5); } if (ev.Target == Scp035Player) { Scp035Player = null; Pickup pickup = Map.SpawnItem(SCP035ItemType, ev.Target.Position); Timing.KillCoroutines(Hurt035Coroutine); Scp035Pickup = pickup; } if (ev.Target != Scp035Player) { CheckOnlySCPs(); } }
public static bool IsTeamkill(PlayerDieEvent ev) { RoleType killer = ev.Attacker.Role; RoleType target = ev.Target.Role; if (ev.Attacker.UserId == ev.Target.UserId) { return(false); } if (killer.GetTeam() == target.GetTeam()) { return(true); } if (killer == RoleType.ChaosInsurgency && target == RoleType.ClassD) { return(true); } if (killer == RoleType.FacilityGuard && target == RoleType.NtfCadet) { return(true); } if (killer == RoleType.NtfCommander && target == RoleType.FacilityGuard) { return(true); } if (killer == RoleType.NtfLieutenant && target == RoleType.FacilityGuard) { return(true); } if (killer == RoleType.NtfScientist && target == RoleType.FacilityGuard) { return(true); } if (killer.GetTeam() == Vigilance.Enums.TeamType.NineTailedFox && target == RoleType.Scientist) { return(true); } return(false); }
void _OnDie(PlayerDieEvent evt) { _animator.Play("Die"); }
void onPlayerDie(PlayerDieEvent e) { Instantiate(dieMenuPrefab); }