void cmdCurePlayer(NetUser netuser, string command, string[] args) { if (!permission.UserHasPermission(netuser.playerClient.userID.ToString(), "advmetabolism.allowed")) { SendReply(netuser, GetMessage("NoPermissionCure", netuser.userID.ToString())); return; } else if (args.Length != 1) { var rootControllable = netuser.playerClient.rootControllable; if (!rootControllable) { return; } var rootCharacter = rootControllable.rootCharacter; if (!rootCharacter) { return; } Metabolism metabolism = rootControllable.GetComponent <Metabolism>(); metabolism.AddCalories(3000); float radLevel = metabolism.GetRadLevel(); metabolism.AddAntiRad(radLevel); FallDamage fallDamage = rootControllable.GetComponent <FallDamage>(); fallDamage.ClearInjury(); HumanBodyTakeDamage humanBodyTakeDamage = rootControllable.GetComponent <HumanBodyTakeDamage>(); humanBodyTakeDamage.SetBleedingLevel(0); SendReply(netuser, GetMessage("CureSelf", netuser.userID.ToString())); return; } else { NetUser targetuser = rust.FindPlayer(args[0]); if (targetuser != null) { var rootControllable = netuser.playerClient.rootControllable; if (!rootControllable) { return; } var rootCharacter = rootControllable.rootCharacter; if (!rootCharacter) { return; } Metabolism metabolism = rootControllable.GetComponent <Metabolism>(); metabolism.AddCalories(3000); float radLevel = metabolism.GetRadLevel(); metabolism.AddAntiRad(radLevel); FallDamage fallDamage = rootControllable.GetComponent <FallDamage>(); fallDamage.ClearInjury(); HumanBodyTakeDamage humanBodyTakeDamage = rootControllable.GetComponent <HumanBodyTakeDamage>(); humanBodyTakeDamage.SetBleedingLevel(0); SendReply(netuser, GetMessage("CureTargetReply", netuser.userID.ToString()) + targetuser.displayName); SendReply(targetuser, GetMessage("CureTargetMessage", netuser.userID.ToString()) + netuser.displayName); } } }
void cmdKillPlayer(NetUser netuser, string command, string[] args) { if (!permission.UserHasPermission(netuser.playerClient.userID.ToString(), "advmetabolism.allowed")) { SendReply(netuser, GetMessage("NoPermissionKill", netuser.userID.ToString())); return; } else if (args.Length != 1) { var rootControllable = netuser.playerClient.rootControllable; if (!rootControllable) { return; } var rootCharacter = rootControllable.rootCharacter; if (!rootCharacter) { return; } Metabolism metabolism = rootControllable.GetComponent <Metabolism>(); metabolism.AddRads(99999999); netuser.playerClient.rootControllable.rootCharacter.takeDamage.SetGodMode(false); SendReply(netuser, GetMessage("KillSelf", netuser.userID.ToString())); return; } else { NetUser targetuser = rust.FindPlayer(args[0]); if (targetuser != null) { var rootControllable = targetuser.playerClient.rootControllable; if (!rootControllable) { return; } var rootCharacter = rootControllable.rootCharacter; if (!rootCharacter) { return; } Metabolism metabolism = rootControllable.GetComponent <Metabolism>(); metabolism.AddRads(99999999); targetuser.playerClient.rootControllable.rootCharacter.takeDamage.SetGodMode(false); SendReply(netuser, GetMessage("KillTargetReply", netuser.userID.ToString()) + targetuser.displayName); SendReply(targetuser, GetMessage("KillTargetMessage", netuser.userID.ToString()) + netuser.displayName); } } }
void cmdStarvePlayer(NetUser netuser, string command, string[] args) { if (!permission.UserHasPermission(netuser.playerClient.userID.ToString(), "advmetabolism.allowed")) { SendReply(netuser, GetMessage("NoPermissionStarve", netuser.userID.ToString())); return; } else if (args.Length != 1) { var rootControllable = netuser.playerClient.rootControllable; if (!rootControllable) { return; } var rootCharacter = rootControllable.rootCharacter; if (!rootCharacter) { return; } Metabolism metabolism = rootControllable.GetComponent <Metabolism>(); metabolism.SubtractCalories(3000); SendReply(netuser, GetMessage("NoPermissionStarve", netuser.userID.ToString())); return; } else { NetUser targetuser = rust.FindPlayer(args[0]); if (targetuser != null) { var rootControllable = targetuser.playerClient.rootControllable; if (!rootControllable) { return; } var rootCharacter = rootControllable.rootCharacter; if (!rootCharacter) { return; } Metabolism metabolism = rootControllable.GetComponent <Metabolism>(); metabolism.SubtractCalories(3000); SendReply(netuser, GetMessage("StarveTargetReply", netuser.userID.ToString()) + targetuser.displayName); SendReply(targetuser, GetMessage("StarveTargetMessage", netuser.userID.ToString()) + netuser.displayName); } } }
void cmdEp250(NetUser netuser, string command, string[] args) { var id = netuser.userID.ToString(); if (!arenassystem) { rust.SendChatMessage(netuser, chatPrefix, GetMessage("ArenasOffline", id)); return; } if (locationsTeleports.Count == 0) { rust.SendChatMessage(netuser, chatPrefix, GetMessage("ArenasOffline", id)); return; } if (online.ContainsKey(netuser)) { if (online[netuser]) { online[netuser] = false; PlayersInP250.Add(netuser.playerClient.gameObject.AddComponent <P250arena>()); Arena(netuser); } else { online[netuser] = true; GameObject.Destroy(netuser.playerClient.GetComponent <P250arena>()); PlayersInP250.Remove(netuser.playerClient.GetComponent <P250arena>()); var rootControllable = netuser.playerClient.rootControllable; Metabolism morte = rootControllable.GetComponent <Metabolism>(); morte.AddRads(999999999999); } } else { online[netuser] = false; PlayersInP250.Add(netuser.playerClient.gameObject.AddComponent <P250arena>()); Arena(netuser); } }
private void SetPlayerDeathTags(HumanBodyTakeDamage humanBodyTakeDamage, DamageEvent damage, ref DeathTags tags) { Metabolism metabolism = damage.attacker.id.GetComponent <Metabolism>(); FallDamage fallDamage = damage.attacker.id.GetComponent <FallDamage>(); tags.killed = damage.victim.client?.netUser.displayName ?? UNKNOWN; tags.killedId = damage.victim.client?.netUser.userID.ToString() ?? UNKNOWN; tags.bodypart = damage.bodyPart.GetNiceName(); if (damage.attacker.id.GetComponentInChildren <BasicWildLifeAI>()) { tags.deathType = DeathTypes.entity; var mutant = damage.attacker.idMain?.ToString().Contains("Mutant") ?? false; if (damage.attacker.id.GetComponent <WolfAI>()) { tags.killer = (mutant) ? "Mutant Wolf" : "Wolf"; return; } if (damage.attacker.id.GetComponent <BearAI>()) { tags.killer = (mutant) ? "Mutant Bear" : "Bear"; return; } } if (damage.attacker.id.GetComponent <DeployableObject>()) { tags.deathType = DeathTypes.human; tags.killerId = damage.attacker.id.GetComponent <DeployableObject>().creatorID.ToString(); if (damage.attacker.id.GetComponent <SpikeWall>()) { tags.weapon = "Spike Wall"; } else if (damage.attacker.id.GetComponent <TimedExplosive>()) { tags.weapon = "Explosive Charge"; } return; } if (damage.attacker.id.GetComponent <TimedGrenade>()) { tags.deathType = DeathTypes.human; tags.weapon = "F1 Grenade"; return; } if (damage.attacker.client == damage.victim.client) { tags.deathType = DeathTypes.suicide; tags.killerId = tags.killedId; float fallDmg = (float)fallDamage?.GetType().GetField("injuredTime", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(fallDamage); if (damage.damageTypes == 0 && WaterLine.Height != 0f && humanBodyTakeDamage.transform.position.y <= WaterLine.Height) { tags.weapon = tags.weapon.Equals(UNKNOWN) ? "Water" : tags.weapon; } else if (damage.attacker.id.GetComponent <Radiation>() && metabolism.GetRadLevel() >= 500f) { tags.weapon = tags.weapon.Equals(UNKNOWN) ? "Radiation" : tags.weapon; } else if (fallDamage != null && fallDamage.GetLegInjury() >= 1f) { tags.weapon = tags.weapon.Equals(UNKNOWN) ? "Falling" : tags.weapon; } else if (humanBodyTakeDamage.IsBleeding()) { tags.weapon = tags.weapon.Equals(UNKNOWN) ? "Bleeding" : tags.weapon; } if (tags.weapon.Equals(UNKNOWN)) { tags.weapon = "Suicide"; } } else if (damage.victim.client && damage.attacker.client) { tags.deathType = DeathTypes.human; if (humanBodyTakeDamage.IsBleeding()) { tags.weapon = tags.weapon.Equals(UNKNOWN) ? "Bleeding" : tags.weapon; } } }