public void punchPlayer(string id, int limb) { if (!base.GetComponent <Life>().dead&& ServerSettings.pvp) { NetworkUser userFromID = NetworkUserList.getUserFromID(id); if (userFromID != null && userFromID.model != null && userFromID.model != base.gameObject && !userFromID.model.GetComponent <Life>().dead&& (base.GetComponent <Player>().owner.friend == string.Empty || base.GetComponent <Player>().owner.friend != userFromID.friend) && (userFromID.model.transform.position - base.transform.position).magnitude < 3f) { float multiplierPlayer = 8f * DamageMultiplier.getMultiplierPlayer(limb); multiplierPlayer = multiplierPlayer * (1f + base.GetComponent <Skills>().warrior() * 0.4f); multiplierPlayer = multiplierPlayer * (1f - userFromID.model.GetComponent <Skills>().warrior() * 0.4f); if ((limb == 0 || limb == 1) && userFromID.model.GetComponent <Clothes>().pants != -1) { multiplierPlayer = multiplierPlayer * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().pants); } if ((limb == 2 || limb == 3 || limb == 5) && userFromID.model.GetComponent <Clothes>().shirt != -1) { multiplierPlayer = multiplierPlayer * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().shirt); } if (limb == 5 && userFromID.model.GetComponent <Clothes>().vest != -1) { multiplierPlayer = multiplierPlayer * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().vest); } if (limb == 4 && userFromID.model.GetComponent <Clothes>().hat != -1) { multiplierPlayer = multiplierPlayer * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().hat); } string empty = string.Empty; if (limb == 0) { empty = "shin"; } else if (limb == 1) { empty = "thigh"; } else if (limb == 2) { empty = "arm"; } else if (limb == 3) { empty = "shoulder"; } else if (limb == 4) { empty = "head"; } else if (limb == 5) { empty = "chest"; } int itemId = base.GetComponent <Clothes>().item; string steamID = base.GetComponent <Player>().owner.id; userFromID.model.GetComponent <Life>().damage((int)multiplierPlayer, string.Concat(new string[] { "You were punched in the ", empty, " by ", base.GetComponent <Player>().owner.name, "!" }), itemId, steamID); if (userFromID.model.GetComponent <Life>().dead&& Time.realtimeSinceStartup - userFromID.model.GetComponent <Player>().owner.spawned > (float)Reputation.SPAWN_DELAY) { if (userFromID.model.GetComponent <Player>().owner.reputation >= 0) { NetworkHandler.offsetReputation(base.networkView.owner, -1); } else { NetworkHandler.offsetReputation(base.networkView.owner, 1); } } } } }
public void swingPlayer(string id, int limb, bool extra) { if (!base.GetComponent <Life>().dead&& ServerSettings.pvp) { NetworkUser userFromID = NetworkUserList.getUserFromID(id); if (userFromID != null && userFromID.model != null && userFromID.model != base.gameObject && !userFromID.model.GetComponent <Life>().dead&& (base.GetComponent <Player>().owner.friend == string.Empty || base.GetComponent <Player>().owner.friend != userFromID.friend) && (userFromID.model.transform.position - base.transform.position).magnitude < 3f) { float damage = (float)MeleeStats.getDamage(base.GetComponent <Clothes>().item) * DamageMultiplier.getMultiplierPlayer(limb); damage = damage * (1f + base.GetComponent <Skills>().warrior() * 0.4f); damage = damage * (1f - userFromID.model.GetComponent <Skills>().warrior() * 0.4f); if ((limb == 0 || limb == 1) && userFromID.model.GetComponent <Clothes>().pants != -1) { damage = damage * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().pants); } if ((limb == 2 || limb == 3 || limb == 5) && userFromID.model.GetComponent <Clothes>().shirt != -1) { damage = damage * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().shirt); } if (limb == 5 && userFromID.model.GetComponent <Clothes>().vest != -1) { damage = damage * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().vest); } if (limb == 4 && userFromID.model.GetComponent <Clothes>().hat != -1) { damage = damage * ArmorStats.getArmor(userFromID.model.GetComponent <Clothes>().hat); } damage = damage * (!extra ? 1f : 1.5f); string empty = string.Empty; if (limb == 0) { empty = "shin"; } else if (limb == 1) { empty = "thigh"; } else if (limb == 2) { empty = "arm"; } else if (limb == 3) { empty = "shoulder"; } else if (limb == 4) { empty = "head"; } else if (limb == 5) { empty = "chest"; } int itemId = base.GetComponent <Clothes>().item; string steamID = base.GetComponent <Player>().owner.id; userFromID.model.GetComponent <Life>().damage((int)damage, string.Concat(new string[] { "You were chopped in the ", empty, " with the ", ItemName.getName(base.GetComponent <Clothes>().item), " by ", base.GetComponent <Player>().owner.name, "!" }), itemId, steamID); if (userFromID.model.GetComponent <Life>().dead&& Time.realtimeSinceStartup - userFromID.model.GetComponent <Player>().owner.spawned > (float)Reputation.SPAWN_DELAY) { if (userFromID.model.GetComponent <Player>().owner.reputation >= 0) { NetworkHandler.offsetReputation(base.networkView.owner, -1); } else { NetworkHandler.offsetReputation(base.networkView.owner, 1); } if (!base.networkView.isMine) { //base.networkView.RPC("killedPlayer", base.networkView.owner, new object[0]); base.sendKilledPlayer(userFromID, base.networkView.owner); } else { base.GetComponent <Player>().killedPlayer(); } } } } }