protected UnturnedBuildableDamagingEvent(UnturnedBuildable buildable, ushort damageAmount, EDamageOrigin damageOrigin, UnturnedPlayer?instigator) : base(buildable) { DamageAmount = damageAmount; DamageOrigin = damageOrigin; Instigator = instigator; }
public UnturnedVehicleDamagingEvent(UnturnedVehicle vehicle, CSteamID instigator, ushort pendingTotalDamage, EDamageOrigin damageOrigin, bool canRepair) : base(vehicle) { Instigator = instigator; PendingTotalDamage = pendingTotalDamage; DamageOrigin = damageOrigin; CanRepair = canRepair; }
public UnturnedResourceDamagingEvent(ResourceSpawnpoint resourceSpawnpoint, ushort damageAmount, EDamageOrigin damageOrigin, UnturnedPlayer?instigator, CSteamID instigatorId) { ResourceSpawnpoint = resourceSpawnpoint; DamageAmount = damageAmount; DamageOrigin = damageOrigin; Instigator = instigator; InstigatorId = instigatorId; }
private void OnDamageBarricadeRequested(CSteamID instigatorSteamId, Transform barricadeTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { var drop = BarricadeManager.FindBarricadeByRootTransform(barricadeTransform); if (drop == null) { return; } var buildable = new UnturnedBarricadeBuildable(drop); var nativePlayer = PlayerTool.getPlayer(instigatorSteamId); var player = GetUnturnedPlayer(nativePlayer); var @event = pendingTotalDamage >= buildable.State.Health ? (UnturnedBuildableDamagingEvent) new UnturnedBarricadeDestroyingEvent(buildable, pendingTotalDamage, damageOrigin, player) : new UnturnedBarricadeDamagingEvent(buildable, pendingTotalDamage, damageOrigin, player); @event.IsCancelled = !shouldAllow; Emit(@event); pendingTotalDamage = @event.DamageAmount; shouldAllow = [email protected]; }
private void OnBuildingDamaged(CSteamID instigatorSteamID, Transform barricadeTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { SteamPlayer steamPlayer; if ((steamPlayer = PlayerTool.getSteamPlayer(instigatorSteamID)) != null) { var player = UnturnedPlayer.FromSteamPlayer(steamPlayer); if (player != null && !Configuration.Instance.AllowRaid) { this.StartPlayerRaid(instigatorSteamID); } } }
public UnturnedVehicleDamagingTireEvent(UnturnedVehicle vehicle, CSteamID instigator, int tireIndex, EDamageOrigin damageOrigin) : base(vehicle) { Instigator = instigator; TireIndex = tireIndex; DamageOrigin = damageOrigin; }
private void onDamageStructureRequested(CSteamID instigatorSteamID, Transform structureTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { UnturnedPlayer player = UnturnedPlayer.FromCSteamID(instigatorSteamID); UnturnedChat.Say($" DAMAGE {pendingTotalDamage}"); player.GetComponent <PlayerComponent>().letmeclearcode(player, pendingTotalDamage); }
private void OnDamageBarricadeRequest(CSteamID instigatorSteamID, Transform barricadeTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { shouldAllow = false; }
public UnturnedBuildableDestroyingEvent(UnturnedBuildable buildable, ushort damageAmount, EDamageOrigin damageOrigin, UnturnedPlayer instigator, CSteamID instigatorId) : base(buildable, damageAmount, damageOrigin, instigator, instigatorId) { }
//Tire prevention private void VehicleManager_onDamageTireRequested(CSteamID instigatorSteamID, InteractableVehicle vehicle, int tireIndex, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (Configuration.Instance.ShouldAllowTirePop == false) { shouldAllow = false; } if (instigatorSteamID != CSteamID.Nil && vehicle.lockedOwner != CSteamID.Nil) { UnturnedPlayer criminal = UnturnedPlayer.FromCSteamID(instigatorSteamID); UnturnedPlayer owner = UnturnedPlayer.FromCSteamID(vehicle.lockedOwner); Logger.Log($"{criminal.DisplayName}({criminal.CSteamID}) is attempting to pop a tire on {owner.DisplayName}'s vehicle!"); if (Configuration.Instance.ShouldWarnCriminal == true) { UnturnedChat.Say(criminal, $"{Configuration.Instance.ShouldWarnCriminalMessage}"); } } }
private void OnDamageTireRequested(CSteamID instigatorSteamID, InteractableVehicle vehicle, int tireIndex, ref bool shouldAllow, EDamageOrigin damageOrigin) { UnturnedVehicleDamagingTireEvent @event = new UnturnedVehicleDamagingTireEvent(new UnturnedVehicle(vehicle), instigatorSteamID, tireIndex, damageOrigin); Emit(@event); shouldAllow = [email protected]; }
private void OnStructureDamaged(CSteamID instigatorSteamID, Transform structureTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { SteamPlayer steamPlayer; if (!Configuration.Instance.AllowRaid && (steamPlayer = PlayerTool.getSteamPlayer(instigatorSteamID)) != null) { if (StructureManager.tryGetInfo(structureTransform, out _, out _, out ushort index, out StructureRegion region)) { // return if structure owner is instigator if (region.structures[index].owner == instigatorSteamID.m_SteamID || region.structures[index].group == steamPlayer.player.quests.groupID.m_SteamID) { return; } // return if structure owner is offline if (!Provider.clients.Exists(x => x.playerID.steamID.m_SteamID == region.structures[index].owner || x.player.quests.groupID.m_SteamID == region.structures[index].group)) { return; } this.StartPlayerRaid(instigatorSteamID); } } }
private void OnDamageStructureRequested(CSteamID instigatorSteamId, Transform structureTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (!StructureManager.tryGetInfo(structureTransform, out _, out _, out var index, out var region, out var drop)) { return; } { var data = region.structures[index]; var buildable = new UnturnedStructureBuildable(data, drop); var nativePlayer = Provider.clients.FirstOrDefault(x => x?.playerID.steamID == instigatorSteamId)?.player; var player = nativePlayer == null ? null : new UnturnedPlayer(nativePlayer); UnturnedBuildableDamagingEvent @event; if (pendingTotalDamage >= buildable.State.Health) { @event = new UnturnedStructureDestroyingEvent(buildable, pendingTotalDamage, damageOrigin, player, instigatorSteamId); } else { @event = new UnturnedStructureDamagingEvent(buildable, pendingTotalDamage, damageOrigin, player, instigatorSteamId); } Emit(@event); pendingTotalDamage = @event.DamageAmount; shouldAllow = [email protected]; } }
void OnDamageBarricadeRequested(CSteamID instigatorSteamID, Transform barricadeTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { UnturnedPlayer untPlayer = UnturnedPlayer.FromCSteamID(instigatorSteamID); if (untPlayer?.Player != null) { if (Utils.IsActive(untPlayer) && Config.BlockBuildableDamage) { if (untPlayer.GodMode || untPlayer.VanishMode) { shouldAllow = false; Utils.Announce(Translate("private_damaged_buildable_in_vanish"), untPlayer); return; } } } shouldAllow = true; }
private void OnDamageVehicleRequested(CSteamID instigatorSteamId, InteractableVehicle vehicle, ref ushort pendingTotalDamage, ref bool canRepair, ref bool shouldAllow, EDamageOrigin damageOrigin) // lgtm [cs/too-many-ref-parameters] { var @event = new UnturnedVehicleDamagingEvent( vehicle: new UnturnedVehicle(vehicle), instigator: instigatorSteamId == CSteamID.Nil ? null : instigatorSteamId, pendingTotalDamage: pendingTotalDamage, damageOrigin: damageOrigin, canRepair: canRepair) { IsCancelled = !shouldAllow }; Emit(@event); pendingTotalDamage = @event.PendingTotalDamage; canRepair = @event.CanRepair; shouldAllow = [email protected]; }
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; } } } } }
private void OnDamageResourceRequested(CSteamID instigatorSteamId, Transform objectTransform, // lgtm [cs/too-many-ref-parameters] ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (!ResourceManager.tryGetRegion(objectTransform, out byte x, out byte y, out ushort index)) { return; } List <ResourceSpawnpoint> tree = LevelGround.trees[x, y]; ResourceSpawnpoint spawnpoint = tree[index]; Player? nativePlayer = PlayerTool.getPlayer(instigatorSteamId); UnturnedPlayer?player = GetUnturnedPlayer(nativePlayer); var @event = new UnturnedResourceDamagingEvent(spawnpoint, pendingTotalDamage, damageOrigin, player, instigatorSteamId) { IsCancelled = !shouldAllow }; Emit(@event); pendingTotalDamage = @event.DamageAmount; shouldAllow = [email protected]; }
private void OnDamageStructureRequested(CSteamID instigatorSteamID, Transform structureTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (GetDoorOrItem(structureTransform) != null) { shouldAllow = false; } }
//Damage prevention private void VehicleManager_onDamageVehicleRequested(CSteamID instigatorSteamID, InteractableVehicle vehicle, ref ushort pendingTotalDamage, ref bool canRepair, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (instigatorSteamID != CSteamID.Nil) { UnturnedPlayer sameplayer = UnturnedPlayer.FromCSteamID(instigatorSteamID); if (instigatorSteamID != vehicle.lockedOwner) { if (pendingTotalDamage >= 20) { if (sameplayer.IsAdmin != true) { if (Configuration.Instance.ShouldWarnCriminal) { UnturnedChat.Say(sameplayer, $"{Configuration.Instance.ShouldWarnCriminalMessage}"); } if (Configuration.Instance.ShouldAllowDamage == false) { shouldAllow = false; } } } } } }
private void OnDamageBarric(CSteamID instigatorSteamID, Transform structureTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { BarricadeManager.tryGetInfo(structureTransform, out byte x, out byte y, out ushort plant, out ushort Index, out BarricadeRegion BarRegion); var currentRegion = GetRegionAt(BarRegion.barricades[Index].point); if (currentRegion == null) { return; } if (currentRegion.Flags.Exists(fg => fg.Name == "NoDestroy") && !R.Permissions.HasPermission(new RocketPlayer(instigatorSteamID.m_SteamID.ToString()), Configuration.Instance.NoDestroyIgnorePermission) && !Configuration.Instance.NoDestroyIgnoredItems.Exists(k => k == BarRegion.barricades[Index].barricade.id)) { shouldAllow = false; } else { return; } }
private void OnDamageVehicleRequested(CSteamID instigatorSteamID, InteractableVehicle vehicle, ref ushort pendingTotalDamage, ref bool canRepair, ref bool shouldAllow, EDamageOrigin damageOrigin) { UnturnedVehicleDamagingEvent @event = new UnturnedVehicleDamagingEvent(new UnturnedVehicle(vehicle), instigatorSteamID, pendingTotalDamage, damageOrigin, canRepair); Emit(@event); pendingTotalDamage = @event.PendingTotalDamage; canRepair = @event.CanRepair; shouldAllow = [email protected]; }
private void OnElementDamaged(CSteamID instigatorSteamID, Transform elementTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { switch (damageOrigin) { case EDamageOrigin.Flamable_Zombie_Explosion: case EDamageOrigin.Mega_Zombie_Boulder: case EDamageOrigin.Radioactive_Zombie_Explosion: case EDamageOrigin.Zombie_Electric_Shock: case EDamageOrigin.Zombie_Fire_Breath: case EDamageOrigin.Zombie_Stomp: case EDamageOrigin.Zombie_Swipe: { if (Instance.Configuration.Instance.DisableZombieElementDamage) { shouldAllow = false; } break; } case EDamageOrigin.Punch: case EDamageOrigin.Vehicle_Bumper: case EDamageOrigin.Vehicle_Explosion: case EDamageOrigin.Food_Explosion: { if (Instance.Configuration.Instance.DisableMiscElementDamage) { shouldAllow = false; } break; } case EDamageOrigin.Trap_Explosion: case EDamageOrigin.Trap_Wear_And_Tear: { if (Instance.Configuration.Instance.DisableZombieTrapDamage) { shouldAllow = false; } break; } } }
private void VehiculoDaño(CSteamID instigatorSteamID, InteractableVehicle vehicle, ref ushort pendingTotalDamage, ref bool canRepair, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (Configuration.Instance.vidainfinita) { pendingTotalDamage = 0; shouldAllow = false; } if (Configuration.Instance.mostrarlog) { UnturnedPlayer player = UnturnedPlayer.FromCSteamID(instigatorSteamID); if (damageOrigin == EDamageOrigin.Useable_Gun || damageOrigin == EDamageOrigin.Useable_Melee || damageOrigin == EDamageOrigin.Punch) { Logger.LogWarning($"{player.CharacterName} Esta Intentando Romper: {vehicle.asset.name}"); } } }
private void OnDamageVehicle(CSteamID instigatorSteamID, InteractableVehicle vehicle, ref ushort pendingTotalDamage, ref bool canRepair, ref bool shouldAllow, EDamageOrigin damageOrigin) { var currentRegion = GetRegionAt(vehicle.transform.position); if (currentRegion == null) { return; } if (currentRegion.Flags.Exists(fg => fg.Name.Equals("NoVehicleDamage", StringComparison.OrdinalIgnoreCase)) && !R.Permissions.HasPermission(new RocketPlayer(instigatorSteamID.m_SteamID.ToString()), Configuration.Instance.NoVehicleDamageIgnorePermission) && !Configuration.Instance.NoDestroyIgnoredItems.Exists(k => k == vehicle.id)) { shouldAllow = false; } }
private void BarricadeDamaged(CSteamID instigatorSteamID, Transform barricadeTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (!shouldAllow || !BarricadeManager.tryGetInfo(barricadeTransform, out byte x, out byte y, out ushort plant, out ushort index, out var region, out var drop) || plant != ushort.MaxValue) { return; } var newHp = region.barricades.FirstOrDefault(c => c.instanceID == drop.instanceID).barricade.health - pendingTotalDamage; if (newHp > 0) { return; } var barricade = region.barricades.FirstOrDefault(c => c.instanceID == drop.instanceID); if (UnturnedPlayer.FromCSteamID((CSteamID)barricade.owner)?.Player != null) { return; } var player = PlayerTool.getPlayer(instigatorSteamID); var playerInfo = InfoSerializer.Players.FirstOrDefault(c => c.Characters.Any(k => k.InstanceId == drop.instanceID)); var character = playerInfo?.Characters?.FirstOrDefault(c => c.InstanceId == drop.instanceID); if (character == null) { return; } foreach (var item in character.Items) { ItemManager.dropItem(new Item(item.ItemId, item.Amount, item.Quality, item.State), character.BarricadeLocation.ToVector3() + new Vector3(0, 0.5f), true, true, true); } playerInfo.Characters.Remove(character); InfoSerializer.Save(); }
private void OnDamageBarric(CSteamID instigatorSteamID, Transform structureTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { BarricadeManager.tryGetInfo(structureTransform, out byte x, out byte y, out ushort plant, out ushort Index, out BarricadeRegion BarRegion); var currentRegion = GetRegionAt(BarRegion.barricades[Index].point); if (currentRegion == null) { return; } if (currentRegion.Flags.Exists(fg => fg.Name.Equals("NoDestroy", StringComparison.OrdinalIgnoreCase))) { UnturnedPlayer dealer = UnturnedPlayer.FromCSteamID(instigatorSteamID); if (dealer == null) { return; } if (dealer.HasPermission(Configuration.Instance.NoDestroyIgnorePermission) || Configuration.Instance.NoDestroyIgnoredItems.Exists(k => k == BarRegion.barricades[Index].barricade.id)) { return; } shouldAllow = false; } else { return; } }
private void OnDamageStructureRequested(CSteamID instigatorSteamId, Transform structureTransform, ref ushort pendingTotalDamage, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (!StructureManager.tryGetInfo(structureTransform, out _, out _, out var index, out var region, out var drop)) { return; } { var data = region.structures[index]; var buildable = new UnturnedStructureBuildable(data, drop); var nativePlayer = PlayerTool.getPlayer(instigatorSteamId); var player = GetUnturnedPlayer(nativePlayer); var @event = pendingTotalDamage >= buildable.State.Health ? (UnturnedBuildableDamagingEvent) new UnturnedStructureDestroyingEvent(buildable, pendingTotalDamage, damageOrigin, player !, instigatorSteamId) : new UnturnedStructureDamagingEvent(buildable, pendingTotalDamage, damageOrigin, player !, instigatorSteamId); @event.IsCancelled = !shouldAllow; Emit(@event); pendingTotalDamage = @event.DamageAmount; shouldAllow = [email protected]; } }
public void OnVehicleGetDamage(CSteamID instigatorSteamId, InteractableVehicle vehicle, ref ushort pendingTotalDamage, ref bool canRepair, ref bool shouldAllow, EDamageOrigin damageOrigin) { switch (damageOrigin) { case EDamageOrigin.Bullet_Explosion: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromBulletExplosion); break; case EDamageOrigin.Animal_Attack: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromAnimalAttack); break; case EDamageOrigin.Flamable_Zombie_Explosion: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromFlammableZombieExplosion); break; case EDamageOrigin.Food_Explosion: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromFoodExplosion); break; case EDamageOrigin.Mega_Zombie_Boulder: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromMegaZombieBoulder); break; case EDamageOrigin.Radioactive_Zombie_Explosion: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromRadioactiveZombieExplosion); break; case EDamageOrigin.Rocket_Explosion: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromRocketExplosion); break; case EDamageOrigin.Sentry: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromSentry); break; case EDamageOrigin.Trap_Explosion: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromTrapExplosion); break; case EDamageOrigin.Useable_Gun: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromUseableGun); break; case EDamageOrigin.Useable_Melee: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromUseableMelee); break; case EDamageOrigin.Vehicle_Explosion: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromVehicleExplosion); break; case EDamageOrigin.Zombie_Electric_Shock: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromZombieElectricShock); break; case EDamageOrigin.Zombie_Fire_Breath: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromZombieFireBreath); break; case EDamageOrigin.Zombie_Stomp: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromZombieStomp); break; case EDamageOrigin.Zombie_Swipe: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromZombieSwipe); break; case EDamageOrigin.Vehicle_Collision_Self_Damage: pendingTotalDamage = (ushort)(pendingTotalDamage * Instance.Configuration.Instance.DamageFromVehicleCollisionSelfDamage); break; } }
public UnturnedBarricadeDamagingEvent(UnturnedBarricadeBuildable buildable, ushort damageAmount, EDamageOrigin damageOrigin, UnturnedPlayer?instigator) : base(buildable, damageAmount, damageOrigin, instigator) { }
public void OnVehicleGetTireDamage(CSteamID instigatorSteamId, InteractableVehicle vehicle, int tireIndex, ref bool shouldAllow, EDamageOrigin damageOrigin) { if (Instance.Configuration.Instance.TireProtection) { vehicle.asset.canTiresBeDamaged = false; vehicle.askRepairTire(tireIndex); } }