private bool CreateRagdoll() { AnimationClip animationClip; float single; if (this.ragdollPrefab) { ArmorModelRenderer local = this.ragdollPrefab.GetLocal <ArmorModelRenderer>(); if (local) { ActorRig actorRig = local.actorRig; if (actorRig) { if (actorRig.FindPoseClip("sleep", out animationClip, out single)) { this.ragdollInstance = UnityEngine.Object.Instantiate(this.ragdollPrefab, base.transform.position, base.transform.rotation) as Ragdoll; this.ragdollInstance.sourceMain = this; GameObject gameObject = this.ragdollInstance.gameObject; UnityEngine.Object.Destroy(gameObject, 80f); gameObject.SampleAnimation(animationClip, single); local = this.ragdollInstance.GetLocal <ArmorModelRenderer>(); ArmorModelMemberMap armorModelMemberMaps = new ArmorModelMemberMap(); if (false | SleepingAvatar.BindArmorMap <ArmorModelFeet>(this.footArmor, ref armorModelMemberMaps) | SleepingAvatar.BindArmorMap <ArmorModelLegs>(this.legArmor, ref armorModelMemberMaps) | SleepingAvatar.BindArmorMap <ArmorModelTorso>(this.torsoArmor, ref armorModelMemberMaps) | SleepingAvatar.BindArmorMap <ArmorModelHead>(this.headArmor, ref armorModelMemberMaps)) { local.BindArmorModels(armorModelMemberMaps); } return(true); } } } } return(false); }
public static void RebindAllRenderers() { foreach (Object obj2 in Object.FindObjectsOfType(typeof(SleepingAvatar))) { SleepingAvatar avatar = (SleepingAvatar)obj2; if (avatar != null) { avatar.RebindRenderers(); } } }
public static void RebindAllRenderers() { UnityEngine.Object[] objArray = UnityEngine.Object.FindObjectsOfType(typeof(SleepingAvatar)); for (int i = 0; i < (int)objArray.Length; i++) { SleepingAvatar sleepingAvatar = (SleepingAvatar)objArray[i]; if (sleepingAvatar) { sleepingAvatar.RebindRenderers(); } } }
private void RebindRenderers() { ArmorModelRenderer local; if (!this.ragdollPrefab) { local = null; } else { local = this.ragdollPrefab.GetLocal <ArmorModelRenderer>(); } ArmorModelRenderer armorModelRenderer = local; SleepingAvatar.BindRenderer <ArmorModelFeet>(armorModelRenderer, this.footArmor, this.footMeshFilter, this.footRenderer); SleepingAvatar.BindRenderer <ArmorModelLegs>(armorModelRenderer, this.legArmor, this.legMeshFilter, this.legRenderer); SleepingAvatar.BindRenderer <ArmorModelTorso>(armorModelRenderer, this.torsoArmor, this.torsoMeshFilter, this.torsoRenderer); SleepingAvatar.BindRenderer <ArmorModelHead>(armorModelRenderer, this.headArmor, this.headMeshFilter, this.headRenderer); }
private void DrawSleepers() { if (CVars.ESP.DrawSleepers) { foreach (UnityEngine.Object obj2 in ESP_UpdateOBJs.SleeperOBJs) { if (obj2 != null) { SleepingAvatar avatar = (SleepingAvatar)obj2; Vector3 vector = Camera.main.WorldToScreenPoint(avatar.transform.position); if (vector.z > 0f) { vector.y = Screen.height - (vector.y + 1f); Canvas.DrawString(new Vector2(vector.x, vector.y), this.sleeperColor.Get(), Canvas.TextFlags.TEXT_FLAG_DROPSHADOW, string.Format("[S] [{0}]", (int)vector.z)); } } } } }
private void DrawSleepers() { if (!CVars.ESP.DrawSleepers) { return; } UnityEngine.Object[] sleeperObjects = HackLocal.SleeperObjects; for (int i = 0; i < sleeperObjects.Length; i++) { UnityEngine.Object @object = sleeperObjects[i]; if (@object != null) { SleepingAvatar sleepingAvatar = (SleepingAvatar)@object; Vector3 vector = Camera.main.WorldToScreenPoint(sleepingAvatar.transform.position); if (vector.z > 0f) { vector.y = (float)Screen.height - (vector.y + 1f); Canvas.DrawString(new Vector2(vector.x, vector.y), this.sleeperColor.Get(), Canvas.TextFlags.TEXT_FLAG_DROPSHADOW, string.Format("Sleeper [{0}]", (int)vector.z)); } } } }
public static void HurtKilled(DamageEvent damage) { ulong num = 0uL; string text = ""; ulong num2 = 0uL; string text2 = ""; PlayerClient client = damage.victim.client; PlayerClient client2 = damage.attacker.client; bool flag = !(damage.victim.idMain is Character); bool flag2 = !(damage.attacker.idMain is Character); UserData userData = (client != null) ? Users.GetBySteamID(client.userID) : null; UserData userData2 = (client2 != null) ? Users.GetBySteamID(client2.userID) : null; if (userData == null) { } ClanData clanData = (userData2 != null) ? userData2.Clan : null; if (!flag2 || !(client2 == null)) { if (client2 != null) { text2 = damage.attacker.client.netUser.displayName; } else { text2 = Helper.NiceName(damage.attacker.character.name); Config.Get("NAMES." + ((userData == null) ? Core.Languages[0] : userData.Language), text2, ref text2, true); } if (flag) { if (!(damage.victim.idMain is SleepingAvatar) || !Economy.FeeSleeper) { return; } SleepingAvatar sleepingAvatar = damage.victim.idMain as SleepingAvatar; if (sleepingAvatar == null) { return; } UserData bySteamID = Users.GetBySteamID(sleepingAvatar.ownerID); if (bySteamID == null) { return; } ulong balance = Economy.GetBalance(bySteamID.SteamID); text = bySteamID.Username; if (Economy.FeeMurder) { num = (ulong)Math.Abs(balance * Economy.FeeMurderPercent / 100f); } if (Economy.PayMurder) { num2 = (ulong)Math.Abs(balance * Economy.PayMurderPercent / 100f); } if (num2 > 0uL && Clans.Enabled && clanData != null) { if (clanData.Level.BonusMembersPayMurder > 0u) { num2 += num2 * (ulong)clanData.Level.BonusMembersPayMurder / 100uL; } if (clanData.Tax > 0u) { ulong num3 = num2 * (ulong)clanData.Tax / 100uL; clanData.Balance += num3; num2 -= num3; } } if (num2 > 0uL) { Economy.BalanceAdd(client2.userID, num2); } if (num > 0uL) { Economy.BalanceSub(bySteamID.SteamID, num); } } else if (client != null) { text = damage.victim.client.netUser.displayName; ulong balance2 = Economy.GetBalance(client.userID); if (client2 == null) { if (Economy.FeeDeath) { num = (ulong)Math.Abs(balance2 * Economy.FeeDeathPercent / 100f); } } else if (!(client2 == client) && !flag2) { if (client2 != client && !flag2) { Economy.Get(client2.userID).PlayersKilled++; if (Economy.FeeMurder) { num = (ulong)Math.Abs(balance2 * Economy.FeeMurderPercent / 100f); } if (Economy.PayMurder) { num2 = (ulong)Math.Abs(balance2 * Economy.PayMurderPercent / 100f); } } } else if (Economy.FeeSuicide) { num = (ulong)Math.Abs(balance2 * Economy.FeeSuicidePercent / 100f); } if (num2 > 0uL && Clans.Enabled && clanData != null) { if (clanData.Level.BonusMembersPayMurder > 0u) { num2 += num2 * (ulong)clanData.Level.BonusMembersPayMurder / 100uL; } if (clanData.Tax > 0u) { ulong num4 = num2 * (ulong)clanData.Tax / 100uL; clanData.Balance += num4; num2 -= num4; } } if (num2 > 0uL) { Economy.BalanceAdd(client2.userID, num2); } if (num > 0uL) { Economy.BalanceSub(client.userID, num); } Economy.Get(client.userID).Deaths++; } else if (client2 != null) { text = Helper.NiceName(damage.victim.character.name); if (text.Equals("Chicken", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostChicken != 0uL) { num2 = Economy.CostChicken; } Economy.Get(client2.userID).AnimalsKilled++; } else if (text.Equals("Rabbit", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostRabbit != 0uL) { num2 = Economy.CostRabbit; } Economy.Get(client2.userID).AnimalsKilled++; } else if (text.Equals("Boar", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostBoar != 0uL) { num2 = Economy.CostBoar; } Economy.Get(client2.userID).AnimalsKilled++; } else if (text.Equals("Stag", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostStag != 0uL) { num2 = Economy.CostStag; } Economy.Get(client2.userID).AnimalsKilled++; } else if (text.Equals("Wolf", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostWolf != 0uL) { num2 = Economy.CostWolf; } Economy.Get(client2.userID).AnimalsKilled++; } else if (text.Equals("Bear", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostBear != 0uL) { num2 = Economy.CostBear; } Economy.Get(client2.userID).AnimalsKilled++; } else if (text.Equals("Mutant Wolf", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostMutantWolf != 0uL) { num2 = Economy.CostMutantWolf; } Economy.Get(client2.userID).MutantsKilled++; } else if (text.Equals("Mutant Bear", StringComparison.OrdinalIgnoreCase)) { if (Economy.CostMutantBear != 0uL) { num2 = Economy.CostMutantBear; } Economy.Get(client2.userID).MutantsKilled++; } else { ConsoleSystem.LogWarning("[WARNING] Economy: Creature '" + text + "' not have cost of death."); } Config.Get("NAMES." + ((userData2 == null) ? Core.Languages[0] : userData2.Language), text, ref text, true); if (num2 > 0uL && Clans.Enabled && clanData != null) { if (clanData.Level.BonusMembersPayMurder > 0u) { num2 += num2 * (ulong)clanData.Level.BonusMembersPayMurder / 100uL; } if (clanData.Tax > 0u) { ulong num5 = num2 * (ulong)clanData.Tax / 100uL; clanData.Balance += num5; num2 -= num5; } } if (num2 > 0uL) { Economy.BalanceAdd(client2.userID, num2); } } if (client2 != null && num2 > 0uL) { string text3 = Config.GetMessage("Economy.PlayerDeath.Pay", client2.netUser, null); if (flag) { text3 = Config.GetMessage("Economy.SleeperDeath.Pay", client2.netUser, null); } text3 = text3.Replace("%DEATHPAY%", num2.ToString("N0") + Economy.CurrencySign); text3 = text3.Replace("%VICTIM%", text); Broadcast.Message(client2.netPlayer, text3, null, 0f); } if (client != null && num > 0uL) { string text4 = Config.GetMessage("Economy.PlayerDeath.Fee", client.netUser, null); if (client2 == client || flag2) { text4 = Config.GetMessage("Economy.PlayerSuicide.Fee", client.netUser, null); } text4 = text4.Replace("%DEATHFEE%", num.ToString("N0") + Economy.CurrencySign); text4 = text4.Replace("%KILLER%", text2); text4 = text4.Replace("%VICTIM%", text); Broadcast.Message(client.netPlayer, text4, null, 0f); } } }
public static void HurtKilled(DamageEvent damage) { ulong amount = 0L; string key = ""; ulong costChicken = 0L; string displayName = ""; PlayerClient client = damage.victim.client; PlayerClient client2 = damage.attacker.client; bool flag = !(damage.victim.idMain is Character); bool flag2 = !(damage.attacker.idMain is Character); UserData data = (client != null) ? Users.GetBySteamID(client.userID) : null; UserData data2 = (client2 != null) ? Users.GetBySteamID(client2.userID) : null; if (data == null) { } ClanData data3 = (data2 != null) ? data2.Clan : null; if (!flag2 || (client2 != null)) { if (client2 != null) { displayName = damage.attacker.client.netUser.displayName; } else { displayName = Helper.NiceName(damage.attacker.character.name); Config.Get("NAMES." + ((data == null) ? Core.Languages[0] : data.Language), displayName, ref displayName, true); } if (flag) { if (!(damage.victim.idMain is SleepingAvatar) || !FeeSleeper) { return; } SleepingAvatar idMain = damage.victim.idMain as SleepingAvatar; if (idMain == null) { return; } UserData bySteamID = Users.GetBySteamID(idMain.ownerID); if (bySteamID == null) { return; } ulong balance = GetBalance(bySteamID.SteamID); key = bySteamID.Username; if (FeeMurder) { amount = (ulong)Math.Abs((float)((balance * FeeMurderPercent) / 100f)); } if (PayMurder) { costChicken = (ulong)Math.Abs((float)((balance * PayMurderPercent) / 100f)); } if (((costChicken > 0L) && Clans.Enabled) && (data3 != null)) { if (data3.Level.BonusMembersPayMurder > 0) { costChicken += (costChicken * data3.Level.BonusMembersPayMurder) / ((ulong)100L); } if (data3.Tax > 0) { ulong num4 = (costChicken * data3.Tax) / ((ulong)100L); data3.Balance += num4; costChicken -= num4; } } if (costChicken > 0L) { BalanceAdd(client2.userID, costChicken); } if (amount > 0L) { BalanceSub(bySteamID.SteamID, amount); } } else if (client != null) { key = damage.victim.client.netUser.displayName; ulong num5 = GetBalance(client.userID); if (client2 == null) { if (FeeDeath) { amount = (ulong)Math.Abs((float)((num5 * FeeDeathPercent) / 100f)); } } else if ((client2 != client) && !flag2) { if ((client2 != client) && !flag2) { UserEconomy economy1 = Get(client2.userID); economy1.PlayersKilled++; if (FeeMurder) { amount = (ulong)Math.Abs((float)((num5 * FeeMurderPercent) / 100f)); } if (PayMurder) { costChicken = (ulong)Math.Abs((float)((num5 * PayMurderPercent) / 100f)); } } } else if (FeeSuicide) { amount = (ulong)Math.Abs((float)((num5 * FeeSuicidePercent) / 100f)); } if (((costChicken > 0L) && Clans.Enabled) && (data3 != null)) { if (data3.Level.BonusMembersPayMurder > 0) { costChicken += (costChicken * data3.Level.BonusMembersPayMurder) / ((ulong)100L); } if (data3.Tax > 0) { ulong num6 = (costChicken * data3.Tax) / ((ulong)100L); data3.Balance += num6; costChicken -= num6; } } if (costChicken > 0L) { BalanceAdd(client2.userID, costChicken); } if (amount > 0L) { BalanceSub(client.userID, amount); } UserEconomy economy2 = Get(client.userID); economy2.Deaths++; } else if (client2 != null) { key = Helper.NiceName(damage.victim.character.name); if (key.Equals("Chicken", StringComparison.OrdinalIgnoreCase)) { if (CostChicken != 0L) { costChicken = CostChicken; } UserEconomy economy3 = Get(client2.userID); economy3.AnimalsKilled++; } else if (key.Equals("Rabbit", StringComparison.OrdinalIgnoreCase)) { if (CostRabbit != 0L) { costChicken = CostRabbit; } UserEconomy economy4 = Get(client2.userID); economy4.AnimalsKilled++; } else if (key.Equals("Boar", StringComparison.OrdinalIgnoreCase)) { if (CostBoar != 0L) { costChicken = CostBoar; } UserEconomy economy5 = Get(client2.userID); economy5.AnimalsKilled++; } else if (key.Equals("Stag", StringComparison.OrdinalIgnoreCase)) { if (CostStag != 0L) { costChicken = CostStag; } UserEconomy economy6 = Get(client2.userID); economy6.AnimalsKilled++; } else if (key.Equals("Wolf", StringComparison.OrdinalIgnoreCase)) { if (CostWolf != 0L) { costChicken = CostWolf; } UserEconomy economy7 = Get(client2.userID); economy7.AnimalsKilled++; } else if (key.Equals("Bear", StringComparison.OrdinalIgnoreCase)) { if (CostBear != 0L) { costChicken = CostBear; } UserEconomy economy8 = Get(client2.userID); economy8.AnimalsKilled++; } else if (key.Equals("Mutant Wolf", StringComparison.OrdinalIgnoreCase)) { if (CostMutantWolf != 0L) { costChicken = CostMutantWolf; } UserEconomy economy9 = Get(client2.userID); economy9.MutantsKilled++; } else if (key.Equals("Mutant Bear", StringComparison.OrdinalIgnoreCase)) { if (CostMutantBear != 0L) { costChicken = CostMutantBear; } UserEconomy economy10 = Get(client2.userID); economy10.MutantsKilled++; } else { ConsoleSystem.LogWarning("[WARNING] Economy: Creature '" + key + "' not have cost of death."); } Config.Get("NAMES." + ((data2 == null) ? Core.Languages[0] : data2.Language), key, ref key, true); if (((costChicken > 0L) && Clans.Enabled) && (data3 != null)) { if (data3.Level.BonusMembersPayMurder > 0) { costChicken += (costChicken * data3.Level.BonusMembersPayMurder) / ((ulong)100L); } if (data3.Tax > 0) { ulong num7 = (costChicken * data3.Tax) / ((ulong)100L); data3.Balance += num7; costChicken -= num7; } } if (costChicken > 0L) { BalanceAdd(client2.userID, costChicken); } } if ((client2 != null) && (costChicken > 0L)) { string text = Config.GetMessage("Economy.PlayerDeath.Pay", client2.netUser, null); if (flag) { text = Config.GetMessage("Economy.SleeperDeath.Pay", client2.netUser, null); } text = text.Replace("%DEATHPAY%", costChicken.ToString("N0") + CurrencySign).Replace("%VICTIM%", key); Broadcast.Message(client2.netPlayer, text, null, 0f); } if ((client != null) && (amount > 0L)) { string str4; str4 = str4 = Config.GetMessage("Economy.PlayerDeath.Fee", client.netUser, null); if ((client2 == client) || flag2) { str4 = Config.GetMessage("Economy.PlayerSuicide.Fee", client.netUser, null); } str4 = str4.Replace("%DEATHFEE%", amount.ToString("N0") + CurrencySign).Replace("%KILLER%", displayName).Replace("%VICTIM%", key); Broadcast.Message(client.netPlayer, str4, null, 0f); } } }
internal SleepingAvatar[] Filter(SleepingAvatar[] sleepers, string id) { return (from s in sleepers where s.ownerID.ToString() == id select s).ToArray<SleepingAvatar>(); }