Esempio n. 1
0
    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);
                    }
                }
            }
        }
    }
Esempio n. 2
0
    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();
                    }
                }
            }
        }
    }