Exemplo n.º 1
0
        private void OnDamageVehicle(CSteamID instigatorSteamID, InteractableVehicle vehicle, ref ushort pendingTotalDamage, ref bool canRepair, ref bool shouldAllow, EDamageOrigin damageOrigin)
        {
            UnturnedPlayer player = UnturnedPlayer.FromCSteamID(instigatorSteamID);

            // uff zombie detector and player -_-
            if (pendingTotalDamage <= 2)
            {
                return;
            }

            if (player == null)
            {
                return;
            }

            // need to do some changes here, with health update, because when u hit a player still working this function, nelson nigger don't want to fix this...
            if (damageOrigin.ToString() == "Vehicle_Collision_Self_Damage")
            {
                if (player.CurrentVehicle.asset.engine == EEngine.CAR)
                {
                    if (player.CurrentVehicle.health < VehicleCrash.Instance.Configuration.Instance.ifvehiclehasXhealthStopWork)
                    {
                        burn_Fuel(player.CurrentVehicle);

                        vehicle.forceRemoveAllPlayers();

                        if (VehicleCrash.Instance.Configuration.Instance.autowarnmechanic)
                        {
                            ChatManager.serverSendMessage(VehicleCrash.Instance.Translate("warning", player.DisplayName).Replace('(', '<').Replace(')', '>'), Color.white, null, null, EChatMode.SAY, VehicleCrash.Instance.Translate("iconwarning", player.DisplayName), true);
                        }
                    }
                    else
                    {
                        tire_Damage(player, UnityEngine.Random.Range(1, 2), UnityEngine.Random.value);

                        foreach (var passenger in vehicle.passengers)
                        {
                            UnturnedPlayer jugador = UnturnedPlayer.FromSteamPlayer(passenger.player);

                            if (jugador != null && !jugador.GetComponent <PlayerComponent>().niggagetwork)
                            {
                                StartCoroutine(crash(jugador));
                            }
                            // break; my cucumber idk, for prevent bugs
                            break;
                        }
                    }
                }
            }
        }