示例#1
0
        private void OnDamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
        {
            Player killerPlayer = PlayerTool.getPlayer(parameters.killer);

            if (killerPlayer is null)
            {
                return;
            }
            if (killerPlayer.equipment.asset is null)
            {
                return;
            }
            if (killerPlayer.equipment.asset.id != 1447)
            {
                return;
            }

            CSteamID playerId = parameters.player.channel.owner.playerID.steamID;

            parameters.damage = 0;

            if (!TrackedPlayers.ContainsKey(playerId))
            {
                AddTrackedPlayer(playerId);
            }
            else
            {
                TrackedPlayers[playerId] = 30000;
            }
        }
 private static void OnDamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
 {
     if (GodPlayers.Contains(parameters.player.channel.owner))
     {
         shouldAllow = false;
     }
 }
示例#3
0
 private void OnDamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
 {
     if (GetState() != RoundState.LIVE)
     {
         shouldAllow = false;
     }
 }
示例#4
0
 public void OnPlayerDamaged(ref DamagePlayerParameters parameter, ref bool allow)
 {
     if (Configuration.Instance.InvertCycle)
     {
         if (LightingManager.isDaytime)
         {
             allow = true;
         }
         else if (LightingManager.isFullMoon || LightingManager.isNighttime)
         {
             allow = false;
         }
     }
     else if (!Configuration.Instance.InvertCycle)
     {
         if (LightingManager.isDaytime)
         {
             allow = false;
         }
         else if (LightingManager.isFullMoon || LightingManager.isNighttime)
         {
             allow = true;
         }
     }
 }
示例#5
0
        private void DamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
        {
            var killerPlayer = PlayerTool.getPlayer(parameters.killer);

            if (!parameters.player.life.isDead && killerPlayer != null && killerPlayer != parameters.player && !Configuration.Instance.AllowCombat)
            {
                this.StartPlayerCombat(parameters.killer);
                this.StartPlayerCombat(parameters.player.channel.owner.playerID.steamID);
            }
        }
 static void newOnDamage(ref DamagePlayerParameters p, ref bool shouldAllow)
 {
     if (p.player)
     {
         var f = p.player.GetComponent <UnturnedPlayerFeatures>();
         if (f && f.GodMode)
         {
             shouldAllow = false;
             return;
         }
     }
     onDamage(p.player, ref p.cause, ref p.limb, ref p.killer, ref p.direction, ref p.damage, ref p.times, ref shouldAllow);
 }
示例#7
0
文件: Home.cs 项目: GeraYoga/Home
        private void DamageToolOnDamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool allow)
        {
            var target = parameters.player.channel.owner.playerID.steamID;

            if (Config.AllowPvP)
            {
                return;
            }
            if (!PlayersController.Contains(target))
            {
                return;
            }
            FinishTeleportTask(target);
            UnturnedChat.Say(target, Translate("pvp_mode"), Color.yellow);
        }
        private void DamageToolOndamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldallow)
        {
            if ((parameters.cause != EDeathCause.GUN && parameters.cause != EDeathCause.MELEE) || !shouldallow)
            {
                return;
            }

            var playerParameters = parameters;

            foreach (InventorySearch search in parameters.player.inventory.search(EItemType.GUN).Where(search => search.jar.interactableItem.item.id == playerParameters.player.equipment.itemID))
            {
                playerParameters.player.inventory.askDropItem(UnturnedPlayer.FromPlayer(playerParameters.player).CSteamID, search.page, search.jar.x, search.jar.y);
            }

            UnturnedChat.Say(UnturnedPlayer.FromPlayer(parameters.player), "You dropped your weapon as you have been disabled by " + UnturnedPlayer.FromCSteamID(parameters.killer).DisplayName);
        }
示例#9
0
        private void DamageTool_damagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
        {
            UnturnedPlayer player = UnturnedPlayer.FromPlayer(parameters.player);

            if (player.GetPermissions().Any((Permission e) => e.Name == this.Configuration.Instance.bertarafEdilecekYetki))
            {
                return;
            }
            if (parameters.killer != CSteamID.Nil && base.Configuration.Instance.buSilahlarKesinÖldürsün.Contains(UnturnedPlayer.FromCSteamID(parameters.killer).Player.equipment.asset.id))
            {
                return;
            }
            if (base.Configuration.Instance.Yerde_Vur_Ölsün && this.woundeds.Any((Wounded e) => e.Id == player.CSteamID))
            {
                this.Öldür(player.CSteamID);
                return;
            }
            EDeathCause cause = parameters.cause;

            if ((cause == EDeathCause.ROADKILL && !base.Configuration.Instance.araçlaEzdiğindeÖl) || (cause == EDeathCause.MISSILE && !base.Configuration.Instance.füzeAttığındaÖl))
            {
                shouldAllow = false;
                if (!this.woundeds.Any((Wounded e) => e.Id == player.CSteamID))
                {
                    this.Yarala(player);
                }
                return;
            }
            if (this.woundeds.Any((Wounded e) => e.Id == player.CSteamID))
            {
                shouldAllow = false;
                return;
            }
            float num = float.Parse(player.Health.ToString()) - parameters.damage;

            if (num <= 0f || num <= base.Configuration.Instance.kaçCandaDüşsün)
            {
                this.Yarala(player);
                shouldAllow = false;
                player.Player.life.channel.send("tellHealth", ESteamCall.OWNER, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[]
                {
                    base.Configuration.Instance.yereDüştüğündeKaçCanıOlsun
                });
                return;
            }
        }
示例#10
0
        private void DamageTool_damagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
        {
            if (shouldAllow)
            {
                if (parameters.player != null)
                {
                    switch (parameters.cause)
                    {
                    case EDeathCause.ACID:
                    {
                        ItemAsset top, pants;

                        var clothing = parameters.player.clothing;

                        if (clothing.shirt > 0)
                        {
                            top = clothing.shirtAsset;
                        }
                        else
                        {
                            top = null;
                        }

                        if (clothing.pants > 0)
                        {
                            pants = clothing.pantsAsset;
                        }
                        else
                        {
                            pants = null;
                        }

                        if (top != null && pants != null)
                        {
                            if (Plugin.HasCustomData(top.GUID, Name) && Plugin.HasCustomData(pants.GUID, Name))
                            {
                                parameters.times *= 0f;
                            }
                        }
                    }
                    break;
                    }
                }
            }
        }
示例#11
0
        private void DamageTool_damagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
        {
            if (!shouldAllow)
            {
                return;
            }

            Player killer;

            if (parameters.killer != CSteamID.Nil)
            {
                killer = PlayerTool.getPlayer(parameters.killer);

                if (killer == null)
                {
                    return;
                }

                perform(killer, parameters.damage, parameters.times, killer.equipment.asset);
            }
        }
示例#12
0
        private void DamageTool_damagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
        {
            if (!Dummies.ContainsKey(parameters.player.channel.owner.playerID.steamID))
            {
                return;
            }
            float totalTimes = parameters.times;

            if (parameters.respectArmor)
            {
                totalTimes *= DamageTool.getPlayerArmor(parameters.limb, parameters.player);
            }
            if (parameters.applyGlobalArmorMultiplier)
            {
                totalTimes *= Provider.modeConfigData.Players.Armor_Multiplier;
            }
            byte totalDamage = (byte)Mathf.Min(255, parameters.damage * totalTimes);

            ChatManager.say(parameters.killer, $"Amount damage to dummy: {totalDamage}", Color.green);
            shouldAllow = false;
        }
示例#13
0
 private static void DamageToolOnDamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
 {
     OnPlayerDamaged?.TryInvoke(parameters, shouldAllow);
 }
        private void DamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
        {
            UnturnedPlayer user = UnturnedPlayer.FromPlayer(parameters.player);

            if (parameters.cause == EDeathCause.MELEE)
            {
                if (!Configuration.Instance.Allow_melee_damage)
                {
                    shouldAllow = false;
                }
            }
            else if (parameters.cause == EDeathCause.GUN)
            {
                if (!Configuration.Instance.Allow_gun_damage)
                {
                    shouldAllow = false;
                    return;
                }
            }
            else if (parameters.cause == EDeathCause.VEHICLE)
            {
                if (!Configuration.Instance.Allow_vehicle_damage)
                {
                    return;
                }
                if (parameters.damage >= 20)
                {
                    user.Player.life.serverSetLegsBroken(true);
                }
                else if (parameters.damage >= 50 && parameters.damage < user.Health)
                {
                    user.Player.life.serverSetLegsBroken(true);
                    user.Player.stance.stance = SDG.Unturned.EPlayerStance.PRONE;
                }
                else if (parameters.damage >= user.Health)
                {
                    user.Heal(100);
                    parameters.damage = 85;
                    user.Player.life.serverSetLegsBroken(true);
                    user.Player.stance.stance = SDG.Unturned.EPlayerStance.PRONE;
                }
            }
            if (parameters.damage >= user.Health)
            {
                return;
            }
            int per = random.Next(1, 101);

            switch (parameters.limb)
            {
            case ELimb.LEFT_LEG:
                if (per > Configuration.Instance.Percentage_break_leg)
                {
                    user.Player.life.serverSetLegsBroken(true);
                }
                break;

            case ELimb.RIGHT_LEG:
                if (per > Configuration.Instance.Percentage_break_leg)
                {
                    user.Player.life.serverSetLegsBroken(true);
                }
                break;

            case ELimb.LEFT_HAND:
                if (per > Configuration.Instance.Percentage_drop_gun)
                {
                    user.Player.equipment.dequip();
                    //user.Player.inventory.sendDropItem(user.Player.equipment.equippedPage, user.Player.equipment.equipped_x, user.Player.equipment.equipped_y);
                }
                break;

            case ELimb.RIGHT_HAND:
                if (per > Configuration.Instance.Percentage_drop_gun)
                {
                    user.Player.equipment.dequip();
                    //user.Player.inventory.sendDropItem(user.Player.equipment.equippedPage, user.Player.equipment.equipped_x, user.Player.equipment.equipped_y);
                }
                break;
            }
            if (parameters.damage > 10 && parameters.damage < 25)
            {
                StartCoroutine(SlowPlayer(user.Player, 0.8f, Configuration.Instance.Slow_after_damage_time));
            }
            else if (parameters.damage > 25 && parameters.damage < 50)
            {
                StartCoroutine(SlowPlayer(user.Player, 0.6f, Configuration.Instance.Slow_after_damage_time));
            }
            else if (parameters.damage > 50)
            {
                StartCoroutine(SlowPlayer(user.Player, 0.4f, Configuration.Instance.Slow_after_damage_time));
            }
        }