From 02755703cd55846a9bf96b0f32b0081758fbaf0e Mon Sep 17 00:00:00 2001 From: Jesus QC <69375249+Jesus-QC@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:54:34 +0200 Subject: [PATCH 01/24] dev fetching (#113) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 8.12 (#107) * uwu (#5) * AdminToy.List (#18) * AdminToy.List * Better AdminToy::Get() * Update EXILED/Exiled.API/Features/Toys/AdminToy.cs Co-authored-by: IRacle <79921583+IRacle1@users.noreply.github.com> * TODO * Fix Error * Fix2 --------- Co-authored-by: IRacle <79921583+IRacle1@users.noreply.github.com> * Fix `Jailbird::WearState` (#12) * Jailbird * Fix * Exception * Fix NW moment * Porting EXILED9 RespawnedTeam event. by.VALERA771 (#27) https://github.com/Exiled-Team/EXILED/pull/2386 * Fix not returning null (#22) * Fix not returning null * Apply suggestions from code review Co-authored-by: Jesus QC <69375249+Jesus-QC@users.noreply.github.com> * Little modification --------- Co-authored-by: Jesus QC <69375249+Jesus-QC@users.noreply.github.com> * RecontainedEventArgs more feature (#20) * RecontainedEventArgs more feature * Fix Naming * grammar * Update RecontainedEventArgs.cs --------- Co-authored-by: Misaka-ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> * InteractingScp330.cs: Reduction of bloat code from original design. (#30) * Should reduce bloat code that was required years ago. * Should reduce bloat code that was required years ago. * Added back per Yamato's request --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * IScp330Event (#11) Co-authored-by: Misaka-ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> * PR than i made (#9) * PR made by me Thanks Ika for the Help on CustomAmmo/CategoryLimit Co-Authored-By: Ika <36999341+IkaOverride@users.noreply.github.com> * Build error * Added support to SCPs for escaping-related events. * spacing * LocalReporting Exiled should be call before NWAPI * Optimising / More documentation on SpawningItem * ISpawnableScp * Use of ComponentsEqualityComparer for Dictionary --------- Co-authored-by: Ika <36999341+IkaOverride@users.noreply.github.com> * [Events] Fix null reference (#15) * fix situation when `ply == null` * lol why --------- Co-authored-by: IRacle * Offline mode support (#19) * Fix Offline-mode breaking everything * Add `offline` authentication type and append `@offline` to UserIds during offline mode * Add offline id support to Player.Get * Comment transpilers --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Fix NW bugs (#32) * Fix Armor Drop from https://git.scpslgame.com/northwood-qa/scpsl-bug-reporting/-/issues/230 * add comments * fix scp173 and adding bug report link to summary class fix https://git.scpslgame.com/northwood-qa/scpsl-bug-reporting/-/issues/143 * Moved patches and fixed Scp173FirstKillPatch * Add Slowness Fix Avoid values more than 100 for effect slowness to fix https://git.scpslgame.com/northwood-qa/scpsl-bug-reporting/-/issues/378 * skill issue * skill issue (again= --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Useless Event (939 Placed Amnestic Cloud) (#40) * Fix custom role classes giving custom ammo when they are not suppose to (#24) * Fix custom role classes giving custom ammmo when they are not suppose to * change to using EnumUtils * Moved Ammo additions into Inventory call delayed * `Item::Get()` and `Pickup::Get()` (#17) * `Item::::Get()` and `Pickup::Get()` * Revert doc change * Add `Hazard::Get()` * doc fix * `Door::Get()` * AdminToy.Get() * More implementation * WeirdFix * simplify Scp244Spawning patch and AddedComment & NO IL error * Remove Log.info * DroppingItem light modifiication * Moving Item.Get inside the eventargs instead of transpiller * FixNpcNoclip (#34) * FixNpcNoclip * oups * . * virtual / override * Implements more patches for RemovingHandcuffs event and adding RemovedHandcuffs event (#3) * Update labeler.yml * RemovingHandcuffs event * Update UncuffReason.cs * New event * docs * Interacting scp330 compile fix (#43) * My scp built with no issues.. no idea why. * Fixes issue * Harmony suppresses NON harmony errors. --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Trello is no more & more NW Fix & Fix IL Code on dev (#28) * Trello Is Replaced by gitlab * also this one * Fix106RegenerationWithScp244 * Report To NW * . * Scp3114FriendlyFireFix * Fix * yamatotototo * Fix * Fix for building dev + TODO than i just seen * Fix Undid patch * fIX * Fix Client Crash Issue --------- Co-authored-by: IRacle * Additions (#29) * Add a bunch * Fix * Security * Make changes * remove unused usings * Getting inventory * oops * Dev commit * use exiled --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * `[EXILED::API]` Pickup::Category (#46) * Item Category on Pickup * Fixed Build Error * Fix (#50) * `[Exiled::API]` Removing breaking changes (#54) Co-authored-by: Nameless <85962933+Misfiy@users.noreply.github.com> * `Scp330` sound fix (#55) Co-authored-by: Misaka-ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> * Fix Npc (#58) * Fix breaking change (#61) Fix a breaking change in #9 * Version bump * ๐Ÿ’€๐Ÿ’€๐Ÿ’€ * `SendStaffMessage` fix * Added the SCP-079 Recontaining event (#21) * added the RecontainingEvent with the patch * Fixed constructors * consistency * fixed logic skill issue * Removed "useless" constructor * corrected the typo * fixed some typo * final edit for the final request * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: VALERA771 <72030575+VALERA771@users.noreply.github.com> --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> Co-authored-by: VALERA771 <72030575+VALERA771@users.noreply.github.com> * `[EXILED::API]` Adding SpawnMice (#47) * Mouse Spawner * Changes to make it public * Optimization * Finally can i spawn rats? * Fix adding throw and changing the error that throws --------- Co-authored-by: VALERA771 <72030575+VALERA771@users.noreply.github.com> * `[EXILED::API]` Adding ScaleNetworkIdentityObject (#49) * Revert "๐Ÿ’€๐Ÿ’€๐Ÿ’€" This reverts commit 904865e04f86424b77b27023aa7d138ed5dfe220. * `[EXILED::API]` Adding SendFakeSceneLoading (#45) * Added ScenesType and Corrisponding Methods for the Server and Player * Fixing Building Error * Applied the Change request * Changes requested by Yamato made * Fixed Building Errors * Fix build --------- Co-authored-by: VALERA771 <72030575+VALERA771@users.noreply.github.com> * scp018projectile (#73) * ๐Ÿ˜ฑ๐Ÿ˜Ž๐Ÿ™‚๐Ÿ’€๐Ÿ˜ˆ (#51) * ะ ะฐะทั€ะฐะฑั‹ ะดะฐัƒะฝั‹๐Ÿ˜ฑ๐Ÿ˜Ž๐Ÿ™‚๐Ÿ’€๐Ÿ˜ˆ * new better `SendFakeSyncVar` method * ililililililil * c * `KeycardPickup.Permissions` now is not joke (#70) * `[Exiled::Events]` `Unbanning` and `Unbanned` events (#68) * ๐Ÿฑโ€๐Ÿ‘ค๐Ÿฑโ€๐Ÿ‘ค๐Ÿฑโ€๐Ÿ‘ค * some fixes * fix * โ˜ ๏ธ๐Ÿ’€๐Ÿ’€๐Ÿ’€โ˜ ๏ธ๐Ÿ’€ Co-authored-by: IRacle <79921583+IRacle1@users.noreply.github.com> --------- Co-authored-by: IRacle <79921583+IRacle1@users.noreply.github.com> * `[EXILED::API]` Adding StaminaRegenMultiplier (BodyArmor) (#71) * First push * using removed * Added to the pickup * Forgot to add to Armor (not pickup) * Fix Build error * Simplification * `[EXILED::API]` Adding MoveNetworkIdentityObject (#48) * MoveNetworkObject Added * fix builds * Fix Builds --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * `[EXILED::EVENTS]` Adding PlayingAudioLog 69 PR (#69) * Audio log event * Mistakes * Fix build errors * Update EXILED/Exiled.Events/Patches/Events/Player/PlayingAudioLog.cs Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Update EXILED/Exiled.Events/EventArgs/Player/PlayingAudioLogEventArgs.cs Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Update EXILED/Exiled.Events/EventArgs/Player/PlayingAudioLogEventArgs.cs Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Update EXILED/Exiled.Events/EventArgs/Player/PlayingAudioLogEventArgs.cs Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Update EXILED/Exiled.Events/EventArgs/Player/PlayingAudioLogEventArgs.cs Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * ๐Ÿง ๐Ÿ’ญ๐Ÿ˜”๐Ÿ˜ž๐Ÿ“‰๐Ÿ˜ญ๐Ÿค”โžก๏ธ๐Ÿง‘โ€โš•๏ธ๐Ÿ’ฌ๐Ÿ’Š๐Ÿ“ˆ๐Ÿ˜Œ --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * `RecontainedWhenNoScps` feature (#16) * `[EXILED::EVENTS]` Fixing bug report n.396 (#59) * Fix * Added the Bug report * feat: Added IsDecontaminationEnabled property (#82) * Multiple change (UwU) (#79) Add `Player::AddAmmo(Dictionary ammo)` Add `Player::GrantLoadout()` Add `Player::GrantLoadout(RoleTypeId)` Add `GetEffect()` Add `Scp3114Role::UpdateIdentity()` Fixed `Scp3114Role::DisguiseDuration` not being sync to client * ``[Exiled::CustomRoles]`` ``[Exiled::CustomItems]`` QoL in List commands. (#78) * Ye * I dont need to use ``ci list registered`` only ``ci list`` * You now that ``customroles list abilities`` exist ? no ? yeah its because never say it the command * Its the same for me * Pi pi po po * Im silly @louis1706 uwu --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * DroppingScp330 Event Fix. (#83) * Probably fixes it. * Sigh stylecop --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * ``[Exiled::CustomItems]`` ``[Exiled::API]`` ``[Exiled::CustomRoles]`` Adding news Spawnpoints, Wrapper for Locker and added LockerType (#77) * QoL * Added ``RoomSpawnPoint`` for spawning things in a room with a offset property. * Now Items will be spawned in the MapGenerated event instead of RoundStart avoiding the micro-log for spawning to many pickups in one frame. * YES YAMATO I USE NULLEABLE * Shut * Done * Created a Wrapper for Locker * Created LockerSpawnPoint * I NEED HELP FOR IMPLEMENTING SUPPLYLOCKER I DONT FUCKING KNOW HOW MAKE A TRANSPILER * I hate you Yamato :D * Boop * Why Exiled use MONO.POSIX * And dont use the nuget for it :skull: * Now it will compile in the page * Removing Else if (spawnPoint is RoleSpawnPoint roleSpawnPoint) since its not necessary spawnpoint.Position does the same. * Supressing CS0618 due the obsolet in SpawnLocationType.InsideLocker. * Note: SpawnLocationType.InsideLocker its only used in CustomItem.SpawnAll() so it will be fine to deleted this in futures releases. * Fixing compile action due the warnings * Adding support for Offset Almost forget about this :P * Sorry I cant resist adding more things * Adding support for CustomRoles * Implementing SupplyLocker * I literally copy the generator transpiler * Its works i test it. * Give me my exiled contributor role. * LockerType enum * Code part of the code has been taken from MER (https://github.com/Michal78900/MapEditorReborn/blob/dev/MapEditorReborn/API/Extensions/LockerExtensions.cs) - Credits to Michal, i ask him i can use it, not answer yet but if the say no i will use another way. * SupplyLocker now have a LockerType Property to know what type of Locker is * LockerSpawnPoint can now chose what locker want to use * Mimimi warnings * Re-implementing Locker API * Re-implementing locker api of https://github.com/Exiled-Team/EXILED/pull/2026 * Update EXILED/Exiled.API/Enums/LockerType.cs Co-authored-by: Nameless <85962933+Misfiy@users.noreply.github.com> * I dont like the name of ExiledLockers but * Resolving https://github.com/ExMod-Team/EXILED/pull/77#discussion_r1734360930 * Resolving https://github.com/ExMod-Team/EXILED/pull/77#discussion_r1734360419 * Cleaning Chambers List. * Fixing CustomWeapon * Fixing a Bug with custom items with spawning in old SpawnLocationType.InsideLocker * Update Map.cs Removing blank line. * MORE * Added GetRandomSpawnPoint() in Chamber * Added AddItemToSpawn((ItemType itemType, int quantity = 1, bool spawnIfIsOpen = false)) in Chamber * Added IsOpen in chamber. * Fixing obsolet use * Sorry @VALERA771 * Resolve https://github.com/ExMod-Team/EXILED/pull/77#pullrequestreview-2267004377 * Update Exiled.Loader.csproj * Resolving https://github.com/ExMod-Team/EXILED/pull/77#discussion_r1734047353 * Update MapHandler.cs Reduce the delay on spawning items, its not necessary to be to long * Ups Ups --------- Co-authored-by: Nameless <85962933+Misfiy@users.noreply.github.com> * `[Exiled::API]` Adding new properties for `FpcRole` (#65) * ๐Ÿ‘‰๐Ÿ‘ˆ * suggestions * no more bc --------- Co-authored-by: Vladislav Popoviฤ * Update programs.yml * Scp0492 change apperance fix (#87) * 0492 appearance change fix. * Yamato is correct, ZombieRole also inherits StandardRoleBase * Stylecop, sigh --------- Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * Add plugin website * fix (#95) * Replace with exiled wrapper class (#94) * Fix Role NRE (#66) * `[Exiled::API]` New way to register parent commands (#74) * uwu * optimising * Allow `ID_Dedicated`/`null` for `Npc.UserId` Parameter (#75) * Npc * Fix Build Error * Update EXILED/Exiled.API/Features/Npc.cs Co-authored-by: Alex Rouse <123724383+ALEXWARELLC@users.noreply.github.com> * Fix for the PR * Fix Pr * Fixing a small issue if the player is choosing something not ID_DEDICATED * Fix * forgot --------- Co-authored-by: Alex Rouse <123724383+ALEXWARELLC@users.noreply.github.com> * Update Exiled.Loader.csproj (#80) * It gives me anxiety to use something that can be a nuget. Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> * [Events] Fix crash (#96) * fix * oh, already made in #95 * Random fixes (#103) * fixes * also * Adding Turning On All Lights (#105) * `[EXILED::Events]` Introduce `hub install` command (#101) * feat: introduce plugin installation command * fix: fix build errors wtf was this actually * version bump --------- Co-authored-by: VALERA771 <72030575+VALERA771@users.noreply.github.com> Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> Co-authored-by: IRacle <79921583+IRacle1@users.noreply.github.com> Co-authored-by: ๆฐธๅฎ‰404 <101850798+YongAn404@users.noreply.github.com> Co-authored-by: Misaka-ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Co-authored-by: X <24619207+Undid-Iridium@users.noreply.github.com> Co-authored-by: Ika <36999341+IkaOverride@users.noreply.github.com> Co-authored-by: IRacle Co-authored-by: x3rt Co-authored-by: sky <99112969+skyyt15@users.noreply.github.com> Co-authored-by: TtroubleTT <121741230+TtroubleTT@users.noreply.github.com> Co-authored-by: Nameless <85962933+Misfiy@users.noreply.github.com> Co-authored-by: ZeroTwo <63092138+NotZer0Two@users.noreply.github.com> Co-authored-by: FoxWorn3365 <61429263+FoxWorn3365@users.noreply.github.com> Co-authored-by: DrBright <125764730+alexomur@users.noreply.github.com> Co-authored-by: SrLicht Co-authored-by: Vladislav Popoviฤ Co-authored-by: Alex Rouse <123724383+ALEXWARELLC@users.noreply.github.com> Co-authored-by: Joseph <108951296+Josephfallen@users.noreply.github.com> Co-authored-by: Panikorovskii Vladislav <68610520+bladuk@users.noreply.github.com> * Update README.md * Update push_nuget.yml * Update push_nuget.yml --------- Co-authored-by: VALERA771 <72030575+VALERA771@users.noreply.github.com> Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com> Co-authored-by: IRacle <79921583+IRacle1@users.noreply.github.com> Co-authored-by: ๆฐธๅฎ‰404 <101850798+YongAn404@users.noreply.github.com> Co-authored-by: Misaka-ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Co-authored-by: X <24619207+Undid-Iridium@users.noreply.github.com> Co-authored-by: Ika <36999341+IkaOverride@users.noreply.github.com> Co-authored-by: IRacle Co-authored-by: x3rt Co-authored-by: sky <99112969+skyyt15@users.noreply.github.com> Co-authored-by: TtroubleTT <121741230+TtroubleTT@users.noreply.github.com> Co-authored-by: Nameless <85962933+Misfiy@users.noreply.github.com> Co-authored-by: ZeroTwo <63092138+NotZer0Two@users.noreply.github.com> Co-authored-by: FoxWorn3365 <61429263+FoxWorn3365@users.noreply.github.com> Co-authored-by: DrBright <125764730+alexomur@users.noreply.github.com> Co-authored-by: SrLicht Co-authored-by: Vladislav Popoviฤ Co-authored-by: Alex Rouse <123724383+ALEXWARELLC@users.noreply.github.com> Co-authored-by: Joseph <108951296+Josephfallen@users.noreply.github.com> Co-authored-by: Panikorovskii Vladislav <68610520+bladuk@users.noreply.github.com> --- .github/README.md | 2 +- .github/workflows/push_nuget.yml | 2 +- EXILED/EXILED.props | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/README.md b/.github/README.md index b901da96d4..3c45a2b457 100644 --- a/.github/README.md +++ b/.github/README.md @@ -19,7 +19,7 @@

- EXILED Development + EXILED Development

diff --git a/.github/workflows/push_nuget.yml b/.github/workflows/push_nuget.yml index 98de8efbf3..12c4e893ff 100644 --- a/.github/workflows/push_nuget.yml +++ b/.github/workflows/push_nuget.yml @@ -46,7 +46,7 @@ jobs: - name: Push NuGet shell: pwsh - run: nuget push ${{ env.PackageFile }} -ApiKey ${{ secrets.NUGET_API_KEY }} -Source https://api.nuget.org/v3/index.json + run: nuget push ${{ env.PackageFile }} -ApiKey ${{ secrets.NUGET_API_KEY }} -Source https://api.nuget.org/v3/index.json -SkipDuplicate - name: Push generated package to GitHub registry run: dotnet nuget push ${{ env.PackageFile }} -k ${{ secrets.GITHUB_TOKEN }} -s https://nuget.pkg.github.com/ExMod-Team/index.json --skip-duplicate diff --git a/EXILED/EXILED.props b/EXILED/EXILED.props index c88237eaa7..40e1f63f2d 100644 --- a/EXILED/EXILED.props +++ b/EXILED/EXILED.props @@ -15,6 +15,7 @@ + 8.12.0 8.12.1 false From b1a59b6bb3ac5c4b3fd0915678e4e58e7ac8f447 Mon Sep 17 00:00:00 2001 From: Misaka_ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Date: Tue, 24 Sep 2024 16:45:54 -0400 Subject: [PATCH 02/24] Fix version --- EXILED/EXILED.props | 1 - 1 file changed, 1 deletion(-) diff --git a/EXILED/EXILED.props b/EXILED/EXILED.props index 40e1f63f2d..c88237eaa7 100644 --- a/EXILED/EXILED.props +++ b/EXILED/EXILED.props @@ -15,7 +15,6 @@ - 8.12.0 8.12.1 false From 2eb8b6267654f99b3647475ba1ec99a154586bef Mon Sep 17 00:00:00 2001 From: IRacle <79921583+IRacle1@users.noreply.github.com> Date: Tue, 24 Sep 2024 23:59:24 +0300 Subject: [PATCH 03/24] Fix keycard throw interaction --- EXILED/Exiled.Events/Patches/Events/Item/KeycardInteracting.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/EXILED/Exiled.Events/Patches/Events/Item/KeycardInteracting.cs b/EXILED/Exiled.Events/Patches/Events/Item/KeycardInteracting.cs index e26ef525d3..2797da0971 100644 --- a/EXILED/Exiled.Events/Patches/Events/Item/KeycardInteracting.cs +++ b/EXILED/Exiled.Events/Patches/Events/Item/KeycardInteracting.cs @@ -168,8 +168,9 @@ private static IEnumerable Transpiler(IEnumerable.Pool.Return(newInstructions); } - private static bool CheckPermissions(BaseKeycardPickup keycard, DoorPermissions permissions) + private static bool CheckPermissions(BaseKeycardPickup keycard, DoorVariant door) { + DoorPermissions permissions = door.RequiredPermissions; if (permissions.RequiredPermissions == KeycardPermissions.None) { return true; From 816e979558f0ea3819d79084dbb396c397a6769b Mon Sep 17 00:00:00 2001 From: Misaka-ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Date: Tue, 24 Sep 2024 18:10:40 -0400 Subject: [PATCH 04/24] Version bump --- EXILED/EXILED.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXILED/EXILED.props b/EXILED/EXILED.props index c88237eaa7..c496e96ba6 100644 --- a/EXILED/EXILED.props +++ b/EXILED/EXILED.props @@ -15,7 +15,7 @@ - 8.12.1 + 8.12.2 false From 244172fd0f08c104878f964ee9891a7b58e9c92a Mon Sep 17 00:00:00 2001 From: Panikorovskii Vladislav <68610520+bladuk@users.noreply.github.com> Date: Mon, 30 Sep 2024 12:20:44 +0300 Subject: [PATCH 05/24] `[EXILED::Events]` Fix downloading NWAPI plugins with `hub install` (#117) --- EXILED/Exiled.Events/Commands/Hub/Install.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/EXILED/Exiled.Events/Commands/Hub/Install.cs b/EXILED/Exiled.Events/Commands/Hub/Install.cs index bdcd7e18f4..b1d7e7e107 100644 --- a/EXILED/Exiled.Events/Commands/Hub/Install.cs +++ b/EXILED/Exiled.Events/Commands/Hub/Install.cs @@ -89,9 +89,11 @@ public bool Execute(ArraySegment arguments, ICommandSender sender, out s releaseToDownload = foundRelease; } - Log.Info($"Downloading release \"{releaseToDownload.TagName}\". Found {releaseToDownload.Assets.Length} asset(s) to download."); + ReleaseAsset[] releaseAssets = releaseToDownload.Assets.Where(x => x.Name.IndexOf("nwapi", StringComparison.OrdinalIgnoreCase) == -1).ToArray(); - foreach (ReleaseAsset asset in releaseToDownload.Assets) + Log.Info($"Downloading release \"{releaseToDownload.TagName}\". Found {releaseAssets.Length} asset(s) to download."); + + foreach (ReleaseAsset asset in releaseAssets) { Log.Info($"Downloading asset {asset.Name}. Asset size: {Math.Round(asset.Size / 1000f, 2)} KB."); using HttpResponseMessage assetResponse = client.GetAsync(asset.BrowserDownloadUrl).ConfigureAwait(false).GetAwaiter().GetResult(); From cede6c26e5d5cb59cbeccd64ebce8ae496db8e1c Mon Sep 17 00:00:00 2001 From: Misaka_ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Date: Mon, 21 Oct 2024 20:45:52 -0400 Subject: [PATCH 06/24] SL version bump --- EXILED/Exiled.Loader/AutoUpdateFiles.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXILED/Exiled.Loader/AutoUpdateFiles.cs b/EXILED/Exiled.Loader/AutoUpdateFiles.cs index c083b2eb6e..f8997af0bf 100644 --- a/EXILED/Exiled.Loader/AutoUpdateFiles.cs +++ b/EXILED/Exiled.Loader/AutoUpdateFiles.cs @@ -17,6 +17,6 @@ public static class AutoUpdateFiles /// /// Gets which SCP: SL version generated Exiled. /// - public static readonly Version RequiredSCPSLVersion = new(13, 5, 0, 1); + public static readonly Version RequiredSCPSLVersion = new(13, 6, 0, 9); } } \ No newline at end of file From 5a6cc1fff16cea7ad15a133f45ae16c67a4d5056 Mon Sep 17 00:00:00 2001 From: Misaka-ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Date: Mon, 21 Oct 2024 21:00:56 -0400 Subject: [PATCH 07/24] SL version bump (#139) --- EXILED/Exiled.Loader/AutoUpdateFiles.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXILED/Exiled.Loader/AutoUpdateFiles.cs b/EXILED/Exiled.Loader/AutoUpdateFiles.cs index c083b2eb6e..f8997af0bf 100644 --- a/EXILED/Exiled.Loader/AutoUpdateFiles.cs +++ b/EXILED/Exiled.Loader/AutoUpdateFiles.cs @@ -17,6 +17,6 @@ public static class AutoUpdateFiles /// /// Gets which SCP: SL version generated Exiled. /// - public static readonly Version RequiredSCPSLVersion = new(13, 5, 0, 1); + public static readonly Version RequiredSCPSLVersion = new(13, 6, 0, 9); } } \ No newline at end of file From 698037edb24093b8926f04aa51ede558c42f0fae Mon Sep 17 00:00:00 2001 From: Misaka_ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Date: Mon, 21 Oct 2024 21:12:19 -0400 Subject: [PATCH 08/24] new effects --- EXILED/Exiled.API/Enums/EffectType.cs | 45 +++++++++++++++++++ .../Extensions/EffectTypeExtension.cs | 9 ++++ 2 files changed, 54 insertions(+) diff --git a/EXILED/Exiled.API/Enums/EffectType.cs b/EXILED/Exiled.API/Enums/EffectType.cs index 734fdb8ce4..18830cb29b 100644 --- a/EXILED/Exiled.API/Enums/EffectType.cs +++ b/EXILED/Exiled.API/Enums/EffectType.cs @@ -239,5 +239,50 @@ public enum EffectType /// . /// Slowness, + + /// + /// + /// + OrangeCandy, + + /// + /// + /// + Prismatic, + + /// + /// + /// + SlowMetabolism, + + /// + /// + /// + Spicy, + + /// + /// + /// + SugarCrave, + + /// + /// + /// + SugarHigh, + + /// + /// + /// + SugarRush, + + /// + /// + /// + TemporaryBypass, + + /// + /// + /// + TraumatizedByEvil, } } diff --git a/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs b/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs index 126b5eae41..209515d9cd 100644 --- a/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs +++ b/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs @@ -74,6 +74,15 @@ public static class EffectTypeExtension { EffectType.Ghostly, typeof(Ghostly) }, { EffectType.FogControl, typeof(FogControl) }, { EffectType.Slowness, typeof(Slowness) }, + { EffectType.OrangeCandy, typeof(OrangeCandy) }, + { EffectType.Prismatic, typeof(Prismatic) }, + { EffectType.SlowMetabolism, typeof(SlowMetabolism) }, + { EffectType.Spicy, typeof(Spicy) }, + { EffectType.SugarCrave, typeof(SugarCrave) }, + { EffectType.SugarHigh, typeof(SugarHigh) }, + { EffectType.SugarRush, typeof(SugarRush) }, + { EffectType.TemporaryBypass, typeof(TemporaryBypass) }, + { EffectType.TraumatizedByEvil, typeof(TraumatizedByEvil) }, }); /// From bbac21dfd43029966a529230bdd19fb8e4da5979 Mon Sep 17 00:00:00 2001 From: Misaka_ZeroTwo <45165615+Misaka-ZeroTwo@users.noreply.github.com> Date: Mon, 21 Oct 2024 21:14:28 -0400 Subject: [PATCH 09/24] docs --- EXILED/Exiled.API/Enums/EffectType.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXILED/Exiled.API/Enums/EffectType.cs b/EXILED/Exiled.API/Enums/EffectType.cs index 18830cb29b..61b4a43d78 100644 --- a/EXILED/Exiled.API/Enums/EffectType.cs +++ b/EXILED/Exiled.API/Enums/EffectType.cs @@ -251,7 +251,7 @@ public enum EffectType Prismatic, /// - /// + /// /// SlowMetabolism, From 6009890fd90c3bbfec0e7a3ada2f963e14c2b998 Mon Sep 17 00:00:00 2001 From: louis1706 Date: Fri, 3 Nov 2023 16:24:40 +0100 Subject: [PATCH 10/24] Map.IsHubertSky HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT --- EXILED/Exiled.API/Features/Map.cs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/EXILED/Exiled.API/Features/Map.cs b/EXILED/Exiled.API/Features/Map.cs index d0b31f3919..57987a3370 100644 --- a/EXILED/Exiled.API/Features/Map.cs +++ b/EXILED/Exiled.API/Features/Map.cs @@ -49,6 +49,7 @@ public static class Map internal static readonly List TeleportsValue = new(8); private static AmbientSoundPlayer ambientSoundPlayer; + private static SkyboxHubert skyboxHubert; private static SqueakSpawner squeakSpawner; @@ -62,6 +63,19 @@ public static class Map /// public static Scp939AmnesticCloudInstance AmnesticCloudPrefab => AmnesticCloudHazard.AmnesticCloudPrefab; // TODO: Remove this. + public static SkyboxHubert SkyboxHubert + { + get + { + if (skyboxHubert == null) + { + skyboxHubert = Object.FindObjectOfType(); + } + + return skyboxHubert; + } + } + /// /// Gets a value indicating whether decontamination has begun in the light containment zone. /// @@ -128,6 +142,16 @@ public static bool IsDecontaminationEnabled /// public static SqueakSpawner SqueakSpawner => squeakSpawner ??= Object.FindObjectOfType(); + /// + /// Gets or sets a value indicating whether HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT. + /// HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT. + /// + public static bool IsHubertSky + { + get => SkyboxHubert.NetworkHubert; + set => SkyboxHubert.NetworkHubert = value; + } + /// /// Broadcasts a message to all players. /// From 95049de6c4b291381189dcf49b66abd24a5e44e4 Mon Sep 17 00:00:00 2001 From: louis1706 Date: Fri, 3 Nov 2023 16:30:48 +0100 Subject: [PATCH 11/24] missing doc --- EXILED/Exiled.API/Features/Map.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/EXILED/Exiled.API/Features/Map.cs b/EXILED/Exiled.API/Features/Map.cs index 57987a3370..9b030325e2 100644 --- a/EXILED/Exiled.API/Features/Map.cs +++ b/EXILED/Exiled.API/Features/Map.cs @@ -63,6 +63,9 @@ public static class Map /// public static Scp939AmnesticCloudInstance AmnesticCloudPrefab => AmnesticCloudHazard.AmnesticCloudPrefab; // TODO: Remove this. + /// + /// Gets the Hubert Sky prefab. + /// public static SkyboxHubert SkyboxHubert { get From 0c0fb4e0b4dfdbce7305574b66dd583bd942ccf1 Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Wed, 23 Oct 2024 19:39:32 +0300 Subject: [PATCH 12/24] halloween!!! --- EXILED/Exiled.API/Enums/EffectType.cs | 6 +- .../Extensions/EffectTypeExtension.cs | 3 +- EXILED/Exiled.API/Features/Hazards/Hazard.cs | 1 + .../Features/Hazards/PrismaticCloudHazard.cs | 50 ++++++++++++++ EXILED/Exiled.API/Features/Items/Item.cs | 1 + .../Exiled.API/Features/Items/Marshmallow.cs | 68 +++++++++++++++++++ EXILED/Exiled.API/Features/Map.cs | 9 +++ 7 files changed, 135 insertions(+), 3 deletions(-) create mode 100644 EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs create mode 100644 EXILED/Exiled.API/Features/Items/Marshmallow.cs diff --git a/EXILED/Exiled.API/Enums/EffectType.cs b/EXILED/Exiled.API/Enums/EffectType.cs index 734fdb8ce4..65c21ca562 100644 --- a/EXILED/Exiled.API/Enums/EffectType.cs +++ b/EXILED/Exiled.API/Enums/EffectType.cs @@ -216,7 +216,6 @@ public enum EffectType /// /// Makes you a marshmallow guy. /// - [Obsolete("Not functional in-game")] Marshmallow, /// @@ -239,5 +238,10 @@ public enum EffectType /// . /// Slowness, + + /// + /// Makes player metal. + /// + Metal, } } diff --git a/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs b/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs index 126b5eae41..fdfc19304b 100644 --- a/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs +++ b/EXILED/Exiled.API/Extensions/EffectTypeExtension.cs @@ -67,13 +67,12 @@ public static class EffectTypeExtension { EffectType.AntiScp207, typeof(AntiScp207) }, { EffectType.Scanned, typeof(Scanned) }, { EffectType.SilentWalk, typeof(SilentWalk) }, -#pragma warning disable CS0618 { EffectType.Marshmallow, typeof(MarshmallowEffect) }, -#pragma warning restore CS0618 { EffectType.Strangled, typeof(Strangled) }, { EffectType.Ghostly, typeof(Ghostly) }, { EffectType.FogControl, typeof(FogControl) }, { EffectType.Slowness, typeof(Slowness) }, + { EffectType.Metal, typeof(Metal) }, }); /// diff --git a/EXILED/Exiled.API/Features/Hazards/Hazard.cs b/EXILED/Exiled.API/Features/Hazards/Hazard.cs index 09bd880d3c..7493a40e3b 100644 --- a/EXILED/Exiled.API/Features/Hazards/Hazard.cs +++ b/EXILED/Exiled.API/Features/Hazards/Hazard.cs @@ -125,6 +125,7 @@ public static Hazard Get(EnvironmentalHazard environmentalHazard) => TantrumEnvironmentalHazard tantrumEnvironmentalHazard => new TantrumHazard(tantrumEnvironmentalHazard), Scp939AmnesticCloudInstance scp939AmnesticCloudInstance => new AmnesticCloudHazard(scp939AmnesticCloudInstance), SinkholeEnvironmentalHazard sinkholeEnvironmentalHazard => new SinkholeHazard(sinkholeEnvironmentalHazard), + PrismaticCloud prismaticCloud => new PrismaticCloudHazard(prismaticCloud), global::Hazards.TemporaryHazard temporaryHazard => new TemporaryHazard(temporaryHazard), _ => new Hazard(environmentalHazard) }; diff --git a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs new file mode 100644 index 0000000000..a15f8cee03 --- /dev/null +++ b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs @@ -0,0 +1,50 @@ +๏ปฟ// ----------------------------------------------------------------------- +// +// Copyright (c) Exiled Team. All rights reserved. +// Licensed under the CC BY-SA 3.0 license. +// +// ----------------------------------------------------------------------- + +namespace Exiled.API.Features.Hazards +{ + using System.Collections.Generic; + using System.Linq; + + using global::Hazards; + + /// + /// Represents a Prismatic Cloud hazard. + /// + public class PrismaticCloudHazard : TemporaryHazard + { + /// + /// Initializes a new instance of the class. + /// + /// A instance. + public PrismaticCloudHazard(PrismaticCloud hazard) + : base(hazard) + { + Base = hazard; + } + + /// + /// Gets the . + /// + public new PrismaticCloud Base { get; } + + /// + /// Gets or sets a list of players that will be ignored by the hazard. + /// + public IEnumerable IgnoredPlayers + { + get => Base.IgnoredTargets.Select(Player.Get); + set => Base.IgnoredTargets = value.Select(x => x.ReferenceHub).ToList(); + } + + /// + /// Enables hazard's effects for target. + /// + /// Target to affect. + public void EnableEffect(Player target) => Base.ServerEnableEffect(target.ReferenceHub); + } +} \ No newline at end of file diff --git a/EXILED/Exiled.API/Features/Items/Item.cs b/EXILED/Exiled.API/Features/Items/Item.cs index 96d02257f0..12a54f643d 100644 --- a/EXILED/Exiled.API/Features/Items/Item.cs +++ b/EXILED/Exiled.API/Features/Items/Item.cs @@ -283,6 +283,7 @@ ItemType.KeycardGuard or ItemType.KeycardJanitor or ItemType.KeycardO5 or ItemTy ItemType.SCP2176 => new Scp2176(owner), ItemType.SCP1576 => new Scp1576(), ItemType.Jailbird => new Jailbird(), + ItemType.Marshmallow => new Marshmallow(), _ => new Item(type), }; diff --git a/EXILED/Exiled.API/Features/Items/Marshmallow.cs b/EXILED/Exiled.API/Features/Items/Marshmallow.cs new file mode 100644 index 0000000000..f713a2cde2 --- /dev/null +++ b/EXILED/Exiled.API/Features/Items/Marshmallow.cs @@ -0,0 +1,68 @@ +๏ปฟ// ----------------------------------------------------------------------- +// +// Copyright (c) Exiled Team. All rights reserved. +// Licensed under the CC BY-SA 3.0 license. +// +// ----------------------------------------------------------------------- + +namespace Exiled.API.Features.Items +{ + using Exiled.API.Interfaces; + using InventorySystem.Items.MarshmallowMan; + + /// + /// A wrapper for . + /// + public class Marshmallow : Item, IWrapper + { + /// + /// Initializes a new instance of the class. + /// + /// A instance. + public Marshmallow(MarshmallowItem itemBase) + : base(itemBase) + { + Base = itemBase; + } + + /// + /// Initializes a new instance of the class. + /// + internal Marshmallow() + : this((MarshmallowItem)Server.Host.Inventory.CreateItemInstance(new(ItemType.Marshmallow, 0), false)) + { + } + + /// + public new MarshmallowItem Base { get; } + + /// + /// Gets or sets a value indicating whether the evil mode is enabled. + /// + public bool EvilMode + { + get => Base.EvilMode; + set + { + Base.EvilMode = value; + + if (value) + ReleaseEvil(); + } + } + + /// + /// Gets or sets the attack cooldown. + /// + public float AttackCooldown + { + get => Base._attackCooldown; + set => Base._attackCooldown = value; + } + + /// + /// Releases the evil mode. + /// + public void ReleaseEvil() => Base.ReleaseEvil(); + } +} \ No newline at end of file diff --git a/EXILED/Exiled.API/Features/Map.cs b/EXILED/Exiled.API/Features/Map.cs index d0b31f3919..5b2de79329 100644 --- a/EXILED/Exiled.API/Features/Map.cs +++ b/EXILED/Exiled.API/Features/Map.cs @@ -128,6 +128,15 @@ public static bool IsDecontaminationEnabled /// public static SqueakSpawner SqueakSpawner => squeakSpawner ??= Object.FindObjectOfType(); + /// + /// Gets or sets a value indicating whether the hubert sky is enabled. + /// + public static bool IsHubertSky + { + get => SkyboxHubert._singleton.Hubert; + set => SkyboxHubert._singleton.NetworkHubert = value; + } + /// /// Broadcasts a message to all players. /// From 46ffeb30868fdef1d4fcc57b09e385b3890519c8 Mon Sep 17 00:00:00 2001 From: Yamato Date: Wed, 23 Oct 2024 18:48:51 +0200 Subject: [PATCH 13/24] NotFinish --- .../Features/Hazards/PrismaticCloudHazard.cs | 104 ++++++++++++++++++ .../Features/Hazards/TantrumHazard.cs | 5 +- 2 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs diff --git a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs new file mode 100644 index 0000000000..9841943aba --- /dev/null +++ b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs @@ -0,0 +1,104 @@ +// ----------------------------------------------------------------------- +// +// Copyright (c) Exiled Team. All rights reserved. +// Licensed under the CC BY-SA 3.0 license. +// +// ----------------------------------------------------------------------- + +namespace Exiled.API.Features.Hazards +{ + using System.Collections.Generic; + + using Exiled.API.Enums; + using global::Hazards; + using Mirror; + using RelativePositioning; + using UnityEngine; + + /// + /// A wrapper for . + /// + public class PrismaticCloudHazard : TemporaryHazard + { + private static PrismaticCloud prismaticCloud; + + /// + /// Initializes a new instance of the class. + /// + /// The instance. + public PrismaticCloudHazard(PrismaticCloud hazard) + : base(hazard) + { + Base = hazard; + } + + /// + /// Gets the prismatic prefab. + /// + public static PrismaticCloud PrismaticCloudPrefab + { + get + { + if (prismaticCloud == null) + prismaticCloud = PrefabHelper.GetPrefab(PrefabType.TantrumObj); + + return prismaticCloud; + } + } + + /// + /// Gets the . + /// + public new PrismaticCloud Base { get; } + + /// + public override HazardType Type => HazardType.Tantrum; + + public float DecaySpeed => Base.DecaySpeed; + + public float ExplodeDistance => Base._explodeDistance; + + public List IgnoredTargets => Base.IgnoredTargets; + + /// + /// Gets or sets the synced position. + /// + public RelativePosition SynchronisedPosition + { + get => Base.SynchronizedPosition; + set => Base.SynchronizedPosition = value; + } + + /// + /// Gets or sets the correct position of tantrum hazard. + /// + public Transform CorrectPosition + { + get => Base._correctPosition; + set => Base._correctPosition = value; + } + + /// + /// Places a Prismatic (Halloween's ability) in the indicated position. + /// + /// The position where you want to spawn the Tantrum. + /// Whether or not the tantrum will apply the effect. + /// If is , the tantrum is moved slightly up from its original position. Otherwise, the collision will not be detected and the slowness will not work. + /// The instance. + public static PrismaticCloud PlaceTantrum(Vector3 position, bool isActive = true) + { + PrismaticCloud prismatic = Object.Instantiate(PrismaticCloudPrefab); + + if (!isActive) + prismatic.SynchronizedPosition = new(position); + else + prismatic.SynchronizedPosition = new(position + (Vector3.up * 0.25f)); + + prismatic._destroyed = !isActive; + + NetworkServer.Spawn(prismatic.gameObject); + + return Get(prismatic); + } + } +} \ No newline at end of file diff --git a/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs b/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs index 906bd4faf5..0b5ee39b9e 100644 --- a/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs +++ b/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs @@ -1,4 +1,4 @@ -๏ปฟ// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) Exiled Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. @@ -10,6 +10,7 @@ namespace Exiled.API.Features.Hazards using Exiled.API.Enums; using global::Hazards; using Mirror; + using PlayerRoles; using RelativePositioning; using UnityEngine; @@ -61,6 +62,8 @@ public bool PlaySizzle set => Base.PlaySizzle = value; } + public Team[] TargetedTeams => Base._targetedTeams; + /// /// Gets or sets the synced position. /// From 225376de01cceb8038bae4798137d5940c77d498 Mon Sep 17 00:00:00 2001 From: Yamato Date: Wed, 23 Oct 2024 18:52:16 +0200 Subject: [PATCH 14/24] Fix --- .../Features/Hazards/PrismaticCloudHazard.cs | 13 +++++++++++-- EXILED/Exiled.API/Features/Map.cs | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs index 9841943aba..3e3b107b1a 100644 --- a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs +++ b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs @@ -54,10 +54,19 @@ public static PrismaticCloud PrismaticCloudPrefab /// public override HazardType Type => HazardType.Tantrum; + /// + /// Gets . + /// public float DecaySpeed => Base.DecaySpeed; + /// + /// Gets . + /// public float ExplodeDistance => Base._explodeDistance; + /// + /// Gets . + /// public List IgnoredTargets => Base.IgnoredTargets; /// @@ -85,7 +94,7 @@ public Transform CorrectPosition /// Whether or not the tantrum will apply the effect. /// If is , the tantrum is moved slightly up from its original position. Otherwise, the collision will not be detected and the slowness will not work. /// The instance. - public static PrismaticCloud PlaceTantrum(Vector3 position, bool isActive = true) + public static PrismaticCloudHazard PlaceTantrum(Vector3 position, bool isActive = true) { PrismaticCloud prismatic = Object.Instantiate(PrismaticCloudPrefab); @@ -98,7 +107,7 @@ public static PrismaticCloud PlaceTantrum(Vector3 position, bool isActive = true NetworkServer.Spawn(prismatic.gameObject); - return Get(prismatic); + return Get(prismatic); } } } \ No newline at end of file diff --git a/EXILED/Exiled.API/Features/Map.cs b/EXILED/Exiled.API/Features/Map.cs index 9b030325e2..3e8e99f50e 100644 --- a/EXILED/Exiled.API/Features/Map.cs +++ b/EXILED/Exiled.API/Features/Map.cs @@ -148,6 +148,9 @@ public static bool IsDecontaminationEnabled /// /// Gets or sets a value indicating whether HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT. /// HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT. + /// HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT. + /// HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT. + /// HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT HUBERT. /// public static bool IsHubertSky { From 7b27b0cee40d641aed578ea118e4eefa91a3d4d5 Mon Sep 17 00:00:00 2001 From: Yamato Date: Wed, 23 Oct 2024 19:07:50 +0200 Subject: [PATCH 15/24] New DamageType --- EXILED/Exiled.API/Enums/DamageType.cs | 10 ++++++++++ .../Exiled.API/Extensions/DamageTypeExtensions.cs | 4 ++-- EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs | 3 +++ EXILED/Exiled.API/Features/Map.cs | 13 +++++++++++++ EXILED/Exiled.API/Features/Player.cs | 5 +++++ 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/EXILED/Exiled.API/Enums/DamageType.cs b/EXILED/Exiled.API/Enums/DamageType.cs index 9aec9fc647..3dcb674167 100644 --- a/EXILED/Exiled.API/Enums/DamageType.cs +++ b/EXILED/Exiled.API/Enums/DamageType.cs @@ -249,5 +249,15 @@ public enum DamageType /// Damage caused by the marshmallow man. /// Marshmallow, + + /// + /// . + /// + Silent, + + /// + /// . + /// + SpicyFlame, } } diff --git a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs index c8f0975aca..a3cffcb06b 100644 --- a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs +++ b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs @@ -26,7 +26,7 @@ public static class DamageTypeExtensions { DeathTranslations.Bleeding.Id, DamageType.Bleeding }, { DeathTranslations.Crushed.Id, DamageType.Crushed }, { DeathTranslations.Decontamination.Id, DamageType.Decontamination }, - { DeathTranslations.Explosion.Id, DamageType.Explosion }, + { DeathTranslations.Explosion.Id, DamageType.SpicyFlame }, { DeathTranslations.Falldown.Id, DamageType.Falldown }, { DeathTranslations.Poisoned.Id, DamageType.Poison }, { DeathTranslations.Recontained.Id, DamageType.Recontainment }, @@ -57,7 +57,7 @@ public static class DamageTypeExtensions { DeathTranslations.Bleeding, DamageType.Bleeding }, { DeathTranslations.Crushed, DamageType.Crushed }, { DeathTranslations.Decontamination, DamageType.Decontamination }, - { DeathTranslations.Explosion, DamageType.Explosion }, + { DeathTranslations.Explosion, DamageType.SpicyFlame }, { DeathTranslations.Falldown, DamageType.Falldown }, { DeathTranslations.Poisoned, DamageType.Poison }, { DeathTranslations.Recontained, DamageType.Recontainment }, diff --git a/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs b/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs index 0b5ee39b9e..aa5a1265ed 100644 --- a/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs +++ b/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs @@ -62,6 +62,9 @@ public bool PlaySizzle set => Base.PlaySizzle = value; } + /// + /// Gets . + /// public Team[] TargetedTeams => Base._targetedTeams; /// diff --git a/EXILED/Exiled.API/Features/Map.cs b/EXILED/Exiled.API/Features/Map.cs index 3e8e99f50e..2cc65182d7 100644 --- a/EXILED/Exiled.API/Features/Map.cs +++ b/EXILED/Exiled.API/Features/Map.cs @@ -401,6 +401,19 @@ public static void ExplodeEffect(Vector3 position, ProjectileType projectileType ExplosionUtils.ServerSpawnEffect(position, item); } + /// + /// Spawn projectile effect HalloweenOnly. + /// + /// The position where effect will be created. + /// The projectile that will create the effect. + public static void ExplodeEffectHalloween(Vector3 position, ProjectileType projectileType) + { + ItemType item; + if ((item = projectileType.GetItemType()) is ItemType.None) + return; + ExplosionUtils.ServerSpawnEffect(position, item, true); + } + /// /// Plays a gun sound at the specified position. /// diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs index 9e55712eef..1897c768ce 100644 --- a/EXILED/Exiled.API/Features/Player.cs +++ b/EXILED/Exiled.API/Features/Player.cs @@ -3744,6 +3744,11 @@ public void SetCooldownItem(float time, ItemType itemType) /// public void Explode() => ExplosionUtils.ServerExplode(ReferenceHub); + /// + /// Explode the player. + /// + public void ExplodeHalloween() => ExplosionUtils.ServerExplode(ReferenceHub, true); + /// /// Explode the player. /// From 8177a4df95fc23069ad0881428b9c537d90f8941 Mon Sep 17 00:00:00 2001 From: Yamato Date: Wed, 23 Oct 2024 19:12:32 +0200 Subject: [PATCH 16/24] SilentDamageHandler --- EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs | 2 ++ .../Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs | 2 ++ .../Features/DamageHandlers/GenericDamageHandler.cs | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs index a3cffcb06b..4bf222be73 100644 --- a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs +++ b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs @@ -162,6 +162,8 @@ public static DamageType GetDamageType(DamageHandlerBase damageHandlerBase) { switch (damageHandlerBase) { + case SilentDamageHandler: + return DamageType.Silent; case CustomReasonDamageHandler: return DamageType.Custom; case WarheadDamageHandler: diff --git a/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs b/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs index c4eed3f055..9019a1785b 100644 --- a/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs +++ b/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs @@ -98,6 +98,8 @@ public virtual DamageType Type switch (Base) { + case SilentDamageHandler: + return DamageType.Silent; case CustomReasonDamageHandler: return DamageType.Custom; case WarheadDamageHandler: diff --git a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs index 56c6ad2822..df438f8249 100644 --- a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs +++ b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs @@ -62,6 +62,12 @@ public GenericDamageHandler(Player player, Player attacker, float damage, Damage switch (damageType) { + case DamageType.Silent: + Base = new SilentDamageHandler() + { + Damage = damage, + }; + break; case DamageType.Falldown: Base = new UniversalDamageHandler(damage, DeathTranslations.Falldown, cassieAnnouncement); break; From 349a9e4cea2cfb07dd402542e756f7e3d346089e Mon Sep 17 00:00:00 2001 From: Yamato Date: Wed, 23 Oct 2024 19:15:14 +0200 Subject: [PATCH 17/24] ShakeCamera --- EXILED/Exiled.API/Features/Player.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs index 1897c768ce..b64adb1951 100644 --- a/EXILED/Exiled.API/Features/Player.cs +++ b/EXILED/Exiled.API/Features/Player.cs @@ -3762,6 +3762,12 @@ public void SetCooldownItem(float time, ItemType itemType) /// The projectile that will create the effect. public void ExplodeEffect(ProjectileType projectileType) => Map.ExplodeEffect(Position, projectileType); + /// + /// . + /// + /// intensity. + public void ShakeCameraHalloween(float intensity) => referenceHub.connectionToClient.Send(new ShakeCameraMessage(intensity / 100f), 0); + /// /// Converts the player in a human-readable format. /// From fa25cee82e2f36d6376cc63939631d5f1cd168b9 Mon Sep 17 00:00:00 2001 From: Yamato Date: Wed, 23 Oct 2024 19:36:42 +0200 Subject: [PATCH 18/24] MetalPipe and fix health bug --- EXILED/Exiled.API/Enums/DamageType.cs | 5 +++++ .../Exiled.API/Features/CustomHealthStat.cs | 19 ++++++++++++++++++- .../DamageHandlers/DamageHandlerBase.cs | 2 ++ .../DamageHandlers/GenericDamageHandler.cs | 3 +++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/EXILED/Exiled.API/Enums/DamageType.cs b/EXILED/Exiled.API/Enums/DamageType.cs index 3dcb674167..a4e4ab65f7 100644 --- a/EXILED/Exiled.API/Enums/DamageType.cs +++ b/EXILED/Exiled.API/Enums/DamageType.cs @@ -259,5 +259,10 @@ public enum DamageType /// . /// SpicyFlame, + + /// + /// . + /// + MetalPipe, } } diff --git a/EXILED/Exiled.API/Features/CustomHealthStat.cs b/EXILED/Exiled.API/Features/CustomHealthStat.cs index 9cd59ae56b..dbe99a948b 100644 --- a/EXILED/Exiled.API/Features/CustomHealthStat.cs +++ b/EXILED/Exiled.API/Features/CustomHealthStat.cs @@ -14,12 +14,29 @@ namespace Exiled.API.Features /// public class CustomHealthStat : HealthStat { + private float customMaxValue; + /// public override float MaxValue => CustomMaxValue == default ? base.MaxValue : CustomMaxValue; /// /// Gets or sets the maximum amount of health the player will have. /// - public float CustomMaxValue { get; set; } + public float CustomMaxValue + { + get + { + if (Hub.playerStats.TryGetModule(out MaxHealthStat maxHealthStat)) + return maxHealthStat.CurValue; + return customMaxValue; + } + + set + { + customMaxValue = value; + if (Hub.playerStats.TryGetModule(out MaxHealthStat maxHealthStat)) + maxHealthStat.CurValue = value; + } + } } } \ No newline at end of file diff --git a/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs b/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs index 9019a1785b..842642c9cf 100644 --- a/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs +++ b/EXILED/Exiled.API/Features/DamageHandlers/DamageHandlerBase.cs @@ -100,6 +100,8 @@ public virtual DamageType Type { case SilentDamageHandler: return DamageType.Silent; + case MetalPipeDamageHandler: + return DamageType.MetalPipe; case CustomReasonDamageHandler: return DamageType.Custom; case WarheadDamageHandler: diff --git a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs index df438f8249..01a94eb211 100644 --- a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs +++ b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs @@ -68,6 +68,9 @@ public GenericDamageHandler(Player player, Player attacker, float damage, Damage Damage = damage, }; break; + case DamageType.MetalPipe: + Base = new MetalPipeDamageHandler(attacker.ReferenceHub, Damage); + break; case DamageType.Falldown: Base = new UniversalDamageHandler(damage, DeathTranslations.Falldown, cassieAnnouncement); break; From bfd6c8de27951604251b82a4cbd65cccbad13314 Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Wed, 23 Oct 2024 21:21:05 +0300 Subject: [PATCH 19/24] changes --- EXILED/Exiled.API/Enums/EffectType.cs | 6 +++++- .../Features/Hazards/PrismaticCloudHazard.cs | 20 +++++++++++++++---- .../Features/Hazards/TantrumHazard.cs | 4 ++-- EXILED/Exiled.API/Features/Map.cs | 4 ++-- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/EXILED/Exiled.API/Enums/EffectType.cs b/EXILED/Exiled.API/Enums/EffectType.cs index 61b4a43d78..d44edec103 100644 --- a/EXILED/Exiled.API/Enums/EffectType.cs +++ b/EXILED/Exiled.API/Enums/EffectType.cs @@ -216,9 +216,13 @@ public enum EffectType /// /// Makes you a marshmallow guy. /// - [Obsolete("Not functional in-game")] Marshmallow, + /// + /// Makes you metal. + /// + Metal, + /// /// The effect that is given to the player when getting attacked by SCP-3114's Strangle ability. /// diff --git a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs index 3e3b107b1a..501fd23e9a 100644 --- a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs +++ b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs @@ -5,6 +5,8 @@ // // ----------------------------------------------------------------------- +using System.Linq; + namespace Exiled.API.Features.Hazards { using System.Collections.Generic; @@ -55,19 +57,23 @@ public static PrismaticCloud PrismaticCloudPrefab public override HazardType Type => HazardType.Tantrum; /// - /// Gets . + /// Gets the decay speed. /// public float DecaySpeed => Base.DecaySpeed; /// - /// Gets . + /// Gets distance of explode. /// public float ExplodeDistance => Base._explodeDistance; /// - /// Gets . + /// Gets or sets the ignored targets. /// - public List IgnoredTargets => Base.IgnoredTargets; + public IEnumerable IgnoredTargets + { + get => Base.IgnoredTargets.Select(Player.Get); + set => Base.IgnoredTargets = value.Select(x => x.ReferenceHub).ToList(); + } /// /// Gets or sets the synced position. @@ -109,5 +115,11 @@ public static PrismaticCloudHazard PlaceTantrum(Vector3 position, bool isActive return Get(prismatic); } + + /// + /// Enables effects for target. + /// + /// Target to affect. + public void EnableEffects(Player player) => Base.ServerEnableEffect(player.ReferenceHub); } } \ No newline at end of file diff --git a/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs b/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs index aa5a1265ed..dae3ec8894 100644 --- a/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs +++ b/EXILED/Exiled.API/Features/Hazards/TantrumHazard.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +๏ปฟ// ----------------------------------------------------------------------- // // Copyright (c) Exiled Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. @@ -63,7 +63,7 @@ public bool PlaySizzle } /// - /// Gets . + /// Gets the teams that will be affected by the tantrum. /// public Team[] TargetedTeams => Base._targetedTeams; diff --git a/EXILED/Exiled.API/Features/Map.cs b/EXILED/Exiled.API/Features/Map.cs index 14fd89a2eb..5e14862a56 100644 --- a/EXILED/Exiled.API/Features/Map.cs +++ b/EXILED/Exiled.API/Features/Map.cs @@ -150,8 +150,8 @@ public static bool IsDecontaminationEnabled /// public static bool IsHubertSky { - get => SkyboxHubert._singleton.Hubert; - set => SkyboxHubert._singleton.NetworkHubert = value; + get => SkyboxHubert.Hubert; + set => SkyboxHubert.NetworkHubert = value; } /// From daa7ff695a05f5f7149b45e77b5025c8b5f735d2 Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Wed, 23 Oct 2024 21:29:26 +0300 Subject: [PATCH 20/24] docs + metal pipe --- EXILED/Exiled.API/Enums/DamageType.cs | 7 ++++--- EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/EXILED/Exiled.API/Enums/DamageType.cs b/EXILED/Exiled.API/Enums/DamageType.cs index a4e4ab65f7..4fe1976d6b 100644 --- a/EXILED/Exiled.API/Enums/DamageType.cs +++ b/EXILED/Exiled.API/Enums/DamageType.cs @@ -251,17 +251,18 @@ public enum DamageType Marshmallow, /// - /// . + /// Generic damage. No CASSIE message will be sent. /// Silent, /// - /// . + /// Damage caused by Spicy Flame. /// + /// SpicyFlame, /// - /// . + /// Damage caused by Metal Pipe. /// MetalPipe, } diff --git a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs index 4bf222be73..80c8a84ee5 100644 --- a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs +++ b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs @@ -49,6 +49,7 @@ public static class DamageTypeExtensions { DeathTranslations.MicroHID.Id, DamageType.MicroHid }, { DeathTranslations.Hypothermia.Id, DamageType.Hypothermia }, { DeathTranslations.MarshmallowMan.Id, DamageType.Marshmallow }, + { DeathTranslations.MetalPipe.Id, DamageType.MetalPipe }, }; private static readonly Dictionary TranslationConversionInternal = new() @@ -80,6 +81,7 @@ public static class DamageTypeExtensions { DeathTranslations.MicroHID, DamageType.MicroHid }, { DeathTranslations.Hypothermia, DamageType.Hypothermia }, { DeathTranslations.MarshmallowMan, DamageType.Marshmallow }, + { DeathTranslations.MetalPipe, DamageType.MetalPipe }, }; private static readonly Dictionary ItemConversionInternal = new() From 1dd497096c47ad89f156bccd1fc59f76792889e3 Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Wed, 23 Oct 2024 21:40:51 +0300 Subject: [PATCH 21/24] some updates --- EXILED/Exiled.API/Enums/PrefabType.cs | 6 ++++++ .../DamageHandlers/GenericDamageHandler.cs | 1 + .../Features/Hazards/PrismaticCloudHazard.cs | 21 ++----------------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/EXILED/Exiled.API/Enums/PrefabType.cs b/EXILED/Exiled.API/Enums/PrefabType.cs index fbcd3dcbff..c661f32487 100644 --- a/EXILED/Exiled.API/Enums/PrefabType.cs +++ b/EXILED/Exiled.API/Enums/PrefabType.cs @@ -273,5 +273,11 @@ public enum PrefabType [Prefab(3721192489, "Scp3114_Ragdoll")] Scp3114Ragdoll, + + [Prefab(1891631329, "PrismaticCloud")] + PrismaticCloud, + + [Prefab(2157375951, "TantrumObj (Brown Candy)")] + TantrumBrownCandy } } \ No newline at end of file diff --git a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs index 01a94eb211..10bd84e881 100644 --- a/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs +++ b/EXILED/Exiled.API/Features/DamageHandlers/GenericDamageHandler.cs @@ -122,6 +122,7 @@ public GenericDamageHandler(Player player, Player attacker, float damage, Damage Base = new MicroHidDamageHandler(microHidOwner, damage); break; case DamageType.Explosion: + case DamageType.SpicyFlame: Base = new ExplosionDamageHandler(attacker.Footprint, UnityEngine.Vector3.zero, damage, 0); break; case DamageType.Firearm: diff --git a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs index 501fd23e9a..b665636706 100644 --- a/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs +++ b/EXILED/Exiled.API/Features/Hazards/PrismaticCloudHazard.cs @@ -5,11 +5,10 @@ // // ----------------------------------------------------------------------- -using System.Linq; - namespace Exiled.API.Features.Hazards { using System.Collections.Generic; + using System.Linq; using Exiled.API.Enums; using global::Hazards; @@ -22,8 +21,6 @@ namespace Exiled.API.Features.Hazards /// public class PrismaticCloudHazard : TemporaryHazard { - private static PrismaticCloud prismaticCloud; - /// /// Initializes a new instance of the class. /// @@ -34,20 +31,6 @@ public PrismaticCloudHazard(PrismaticCloud hazard) Base = hazard; } - /// - /// Gets the prismatic prefab. - /// - public static PrismaticCloud PrismaticCloudPrefab - { - get - { - if (prismaticCloud == null) - prismaticCloud = PrefabHelper.GetPrefab(PrefabType.TantrumObj); - - return prismaticCloud; - } - } - /// /// Gets the . /// @@ -102,7 +85,7 @@ public Transform CorrectPosition /// The instance. public static PrismaticCloudHazard PlaceTantrum(Vector3 position, bool isActive = true) { - PrismaticCloud prismatic = Object.Instantiate(PrismaticCloudPrefab); + PrismaticCloud prismatic = Object.Instantiate(PrefabHelper.GetPrefab(PrefabType.PrismaticCloud)); if (!isActive) prismatic.SynchronizedPosition = new(position); From a62ec3b070c8f7b001bb1ee90004e1ab9e195857 Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Wed, 23 Oct 2024 21:52:12 +0300 Subject: [PATCH 22/24] *metal pipe sounds* --- EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs index 80c8a84ee5..69459c1055 100644 --- a/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs +++ b/EXILED/Exiled.API/Extensions/DamageTypeExtensions.cs @@ -166,6 +166,8 @@ public static DamageType GetDamageType(DamageHandlerBase damageHandlerBase) { case SilentDamageHandler: return DamageType.Silent; + case MetalPipeDamageHandler: + return DamageType.MetalPipe; case CustomReasonDamageHandler: return DamageType.Custom; case WarheadDamageHandler: From 9d6c9553b8bd845f3ef66da4b5a026bb72b2b4e3 Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Wed, 23 Oct 2024 21:58:09 +0300 Subject: [PATCH 23/24] rename --- EXILED/Exiled.API/Features/Player.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs index b64adb1951..7843a37010 100644 --- a/EXILED/Exiled.API/Features/Player.cs +++ b/EXILED/Exiled.API/Features/Player.cs @@ -3763,10 +3763,10 @@ public void SetCooldownItem(float time, ItemType itemType) public void ExplodeEffect(ProjectileType projectileType) => Map.ExplodeEffect(Position, projectileType); /// - /// . + /// Shakes camera with metal pipe falling shake effect. /// - /// intensity. - public void ShakeCameraHalloween(float intensity) => referenceHub.connectionToClient.Send(new ShakeCameraMessage(intensity / 100f), 0); + /// Intensity of the shake. + public void ShakeCameraPipe(float intensity) => referenceHub.connectionToClient.Send(new ShakeCameraMessage(intensity / 100f), 0); /// /// Converts the player in a human-readable format. From c2bd45ba7bbc17eaa3c7b4c6490dff20c0d4be5e Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Wed, 23 Oct 2024 22:02:38 +0300 Subject: [PATCH 24/24] spawn chance for skeletron --- EXILED/Exiled.API/Features/Roles/Scp3114Role.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXILED/Exiled.API/Features/Roles/Scp3114Role.cs b/EXILED/Exiled.API/Features/Roles/Scp3114Role.cs index 89dcefa153..40a48eaed0 100644 --- a/EXILED/Exiled.API/Features/Roles/Scp3114Role.cs +++ b/EXILED/Exiled.API/Features/Roles/Scp3114Role.cs @@ -260,6 +260,6 @@ public void PlaySound(Scp3114VoiceLines.VoiceLinesName voiceLine = Scp3114VoiceL /// /// The List of Roles already spawned. /// The Spawn Chance. - public float GetSpawnChance(List alreadySpawned) => Base is ISpawnableScp spawnableScp ? spawnableScp.GetSpawnChance(alreadySpawned) : 0; + public float GetSpawnChance(List alreadySpawned) => Scp3114Spawner.SpawnChance; } } \ No newline at end of file