public void Player_Died(Exiled.Events.EventArgs.DiedEventArgs ev) { if (ev.Killer != ev.Target) { if (!plugin.PerformAction($"KILL_{ev.Target.Role}", ev.Killer)) { plugin.PerformAction($"KILL_ANY", ev.Killer); } if (plugin.avaliableContracts.ContainsKey(ev.Killer.UserId)) { if (plugin.avaliableContracts[ev.Killer.UserId].Contains(ev.Target.UserId)) { plugin.avaliableContracts[ev.Killer.UserId].Remove(ev.Target.UserId); var rewardCoins = ev.Target.Team == Team.SCP ? ev.Target.Role != RoleType.Scp0492 ? Config.RewardForKillingSCP : Config.RewardForKillingHuman : Config.RewardForKillingHuman; ecoController.AddPlayerBalance(ev.Killer, rewardCoins); ev.Killer.Broadcast(Config.ContractBroadcastTime, Config.messages["CONTRACT_REWARD"].Replace("%playername%", ev.Target.Nickname).Replace("%reward%", $"{rewardCoins}")); if (plugin.avaliableContracts[ev.Killer.UserId].Count == 0) { plugin.avaliableContracts.Remove(ev.Killer.UserId); } } } else if (Config.RemoveContractIfPlayerDied) { foreach (var p in plugin.avaliableContracts) { if (p.Value.Contains(ev.Target.UserId)) { var p2 = Player.Get(p.Key); if (p2 != null) { p2.Broadcast(Config.ContractBroadcastTime, Config.messages["CONTRACT_REMOVED"].Replace("%playername%", ev.Target.Nickname)); } } } } } }
private void Player_Died(Exiled.Events.EventArgs.DiedEventArgs ev) { var controller = ev.Target.GameObject.GetComponent <SCP457Controller>(); ev.Target.GameObject.GetComponent <BurningComponent>().burningtime = 0; if (controller != null) { ev.Target.Scale = new Vector3(1f, 1f, 1f); controller.Destroy(); GameObject x = null; foreach (GameObject gameObject in global::PlayerManager.players) { if (gameObject.GetComponent <RemoteAdmin.QueryProcessor>().PlayerId == ev.HitInformations.PlayerId) { x = gameObject; } } var l = ev.Target.ReferenceHub.characterClassManager.Classes.ToList(); int pd = 0; foreach (var p in l.ToArray()) { if (p.roleId == RoleType.Scp0492) { p.fullName = "SCP-457"; l[pd] = p; } pd++; } ev.Target.ReferenceHub.characterClassManager.Classes = l.ToArray(); if (x != null) { global::NineTailedFoxAnnouncer.AnnounceScpTermination(ev.Target.ReferenceHub.characterClassManager.CurRole, ev.HitInformations, string.Empty); } else { global::DamageTypes.DamageType damageType = ev.HitInformations.GetDamageType(); if (damageType == global::DamageTypes.Tesla) { global::NineTailedFoxAnnouncer.AnnounceScpTermination(ev.Target.ReferenceHub.characterClassManager.CurRole, ev.HitInformations, "TESLA"); } else if (damageType == global::DamageTypes.Nuke) { global::NineTailedFoxAnnouncer.AnnounceScpTermination(ev.Target.ReferenceHub.characterClassManager.CurRole, ev.HitInformations, "WARHEAD"); } else if (damageType == global::DamageTypes.Decont) { global::NineTailedFoxAnnouncer.AnnounceScpTermination(ev.Target.ReferenceHub.characterClassManager.CurRole, ev.HitInformations, "DECONTAMINATION"); } else { global::NineTailedFoxAnnouncer.AnnounceScpTermination(ev.Target.ReferenceHub.characterClassManager.CurRole, ev.HitInformations, "UNKNOWN"); } } UnityEngine.Object.Destroy(controller); foreach (var plr in Player.List) { if (plr.GameObject.GetComponent <BurningComponent>().burning) { plr.GameObject.GetComponent <BurningComponent>().burning = false; } } } }