CursedScraps
Some scraps may appear cursed, offering a more attractive price, but you will have to face this curse until reaching the ship.
Date uploaded | 6 months ago |
Version | 1.0.9 |
Download link | Lega-CursedScraps-1.0.9.zip |
Downloads | 9274 |
Dependency string | Lega-CursedScraps-1.0.9 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100Evaisa-HookGenPatcher
Generates MonoMod.RuntimeDetour.HookGen's MMHOOK file during the BepInEx preloader phase.
Preferred version: 0.0.5Rune580-LethalCompany_InputUtils
API/Library for creating Unity InputActions with in-game re-binding support. Provides an alternative UI that allows for supporting mods to have in-game re-bindable keybinds.
Preferred version: 0.7.7README
Cursed Scraps
Cursed Scraps is a mod inspired by Strange Objects, revisiting the original concept but with different effects. Special thanks to the author of this other mod for their original idea, which inspired me to create my own version.
Description
Some scraps may appear cursed, offering a more attractive price, but you will have to face this curse until you return to the ship. When a cursed item is picked up, the curse is shared with the player, but this doesn't prevent another player from acquiring the same curse if they pick up the same item later. The curse remains active until the player returns to the ship, where all curses are lifted. Storing a cursed item in the ship removes its curse, but its price remains the same.
New pills can appear in the level, with a probability (configurable) of appearance per cursed item spawned. Only one can be used at a time, and when used, it immunizes the player against the cursed of the NEXT scrap they pick up. However, the scrap will retain its curse, so take the opportunity to bring it back to the ship! This feature can be disabled.
A configurable mechanic is available to hide curses on scraps :
- Always - Always hide curses.
- Never - Never hide curses.
- Counter - Use a counter to hide curses once a certain number (configurable) of non-cursed items have been picked up.
- NeverNotNamed - Never hide that a scrap is cursed, but hide the curse by replacing the name with '???'.
- CounterNotNamed - Use a counter to hide curses once a certain number (configurable) of non-cursed items have been picked up and always hide the curse by replacing the name with '???'.
Curses
- INHIBITION - Prevents the player from jumping and crouching
- CONFUSION - Reverses movement controls and jump/crouch keys for the player
- CAPTIVE - Prevents the item from being thrown until it has been brought back to the ship
- BLURRY - Reduces visual clarity on the player's camera
- MUTE - Mutes the player's microphone
- DEAFNESS - Removes the player's sound
- ERRANT - Teleports the player randomly when an item is picked up or placed down
- PARALYSIS - Paralyzes the player when scanning an enemy
- SHADOW - All enemies are invisible by default (their sound is still active), scanning reveals them
- SYNCHRONIZATION - The scrap is split into two parts, when both parts are picked up by two different players, their cameras invert. You must bring both parts back to the ship... or die for the effect to fade
- If a player who doesn't have the curse picks up one of the two parts, he is immobilized until another player picks up the other part and the curse takes effect
- If a player dies with the effect activated, the other player returns to their camera but is immobilized until another player picks up the other part and the curse takes effect
- If no player is available to share the curse, the immobilized player can simply drop the item on the ground to move again
- DIMINUTIVE - Reduces the player's size and applies the following effects :
- The movement speed is reduced
- The grab distance is reduced
- The player's voice is modified
- Double jumping is possible, allowing passage through jumping rooms
- Picked up objects are reduced in size but return to normal size when released
- A normal-sized player can crush a reduced-sized player
- EXPLORATION - Prevents the player from exiting or entering the factory through all doors except one
- The player is then able to scan the door they must take for a certain amount of time (configurable)
- The door to be taken changes each time they enter or exit the factory
- COMMUNICATION - This curse affects two players in two stages :
- Step 1 :
- The first player picks up the scrap and is immobilized (it's still possible to drop the scrap to cancel the curse during the first step)
- The picked-up scrap is cloned at a distant position from the player
- The second player is selected, which is the one closest to the first player
- The first player sees numbers appear at the top left of the screen, indicating the distance between the second player and the second part of the scrap
- The second player must then retrieve this second part of the scrap, and the first player can assist the second using a Walkie-Talkie to guide them based on the distance
- Step 2 :
- The second player picks up the second part of the scrap, and the first player can move again
- A timer appears at the top left of the screen for both players. For the first player, the timer replaces the previously displayed distance
- Both players must bring the two scrap parts back to the ship before the time runs out, or else... they both die!
- Step 1 :
More informations
I've tried to make the mod as optimized as possible with my knowledge. I'm far from being an experienced developer, so if there are people more comfortable than me who have feedback on my code, I'm open to it as it will help me improve. For any feedback/suggestions or questions, you can reach me on the 'Lethal Company Modding' Discord server (https://discord.gg/EgQFAq3z) under the same name (username lega2039). DMs are welcome.
CHANGELOG
CHANGELOG
Version 2.1.0
- When a cursed item is picked up with the BeltBag (via a mod that allows scraps to be picked up), the bag takes on the curse
- When the bag is dropped in the ship, it and all cursed scraps it contains now lose their curse
- Fixed the Inhibition curse, which could no longer be applied to a player after they had experienced it once
- Added a HUD section in config file with two new settings to reposition some displayed texts (names of curses visible to dead players and the distance text for the Communication curse)
- Moved the setting to enable the information popup when a curse is applied to a player into the HUD section
Version 2.0.91
- Adjustment of the README description for the Inhibition curse, which was not clear
Version 2.0.9
- Updated BeltBag handling with curses when a mod is used to make scraps grabbable: the scraps can be stored, but the curse affects the player
- Rework of Inhibition (see README for details)
- Added the Fragile curse (thanks to explodingturtles456 for the idea!)
- Some refactoring
Version 2.0.8
- Fixed a bug that allowed items to spawn when deactivated even if they were unregistered
- Fixed NullReference with SpectateEnemies for Communication curse
- Removed the possibility of storing a cursed scrap in the BeltBag when a mod allowed scraps to be picked up with it
- Added more compatibility for viewing door auras with custom interiors
- Removed the ability to have the Exploration curse on the DevilMansion interior - doors don't have a renderer to show their auras
- Modified the 'Renderer names' configuration section, as it is no longer linked solely to the Exploration curse
Version 2.0.7
- Version update
- Update to enable TrickOrTreat to work
- Added config for a minimum number of items to spawn (within the 'Holy Water' and 'Old Scroll' sections)
- Nerf some default values
- Fixed an issue with the Shadow curse not resetting for a monster after being cleansed
Version 2.0.6
- Code cleaning
- REWORK curse aura
- REWORK Communication, see README
- ADDED 'LethalCompany InputUtils' as a dependency
- ADDED config 'Cooldown duration' in 'Communication' - no longer used
- ADDED item, Old Scroll, consumable that allows you to see the aura of the doors for a configurable time
- ADDED configs 'Min particle scale' and 'Max particle scale' in 'Global'
- ADDED new config 'Hide curse line' to hide curse line in scan node
- ADDED list of curses assigned to a player visible by dead players
- ADDED inability to teleport players with Communication (if they haven't yet found and used the linked item) and Exploration curses
- REMOVED Synchronization, too time-consuming - I'm looking for a rework idea that also avoids the 'Coop' system, so that all curses can be affected by the penalty mechanic or in some other way
- REMOVED config 'Chrono' in 'Communication' - no longer used
- FIXED use of 'Hide scrap value' config instead of 'Hide curse name' to replace curse name with '???'
- Increase default penalty counter from 5 to 10
- Reduce default curse chance from 30 to 20
- Add key as excluded item to 'Exclusion list' in 'Global'
Version 2.0.5
- Rework of pills: replacement of pills with a new item 'Holy Water'. The functionality is also slightly different -> see README for details
- Added the 'Penalty Mechanic' -> rework a part of the 'Hiding mechanic', now this tab will only have some global options related to the visibility of curses
- Rework of 'Exploration': instead of adding a ScanNode for a certain time, it is now possible to see the aura of the door as long as the player is within a certain distance
- Moved the configurations 'Enable red scan' and 'Enable particle' to the 'Hiding mechanic' tab for better organization
- Removed the 'Hide particle when grabbing' configuration -> this is now the default behavior, as many particles obstruct the player's view when it's not
- Added compatibility with the 'AddonFusion' mod -> the capsule Hoi-Poi can no longer contain cursed scraps
- Changed the spawn method for curses -> now curses spawn when vanilla scraps spawn in the factory, fixing incompatibilities with mods that change item values via the vanilla method
- Added the 'Hide curse name' config to hide the name of curses with '???'
- Added the 'Hide scrap value' config to hide the value of curses with '???'
Version 2.0.4
- Added a check to only apply curses to scraps that spawn in the dungeon (fixes an incompatibility with LethalCasino)
- Added a check to prevent coop curses from spawning when the player is solo
- Added a test to destroy scraps that still have a curse while in the ship at the end of the game (mainly for coop curses)
- Added a test to kill players who still have a coop curse at the end of the game
Version 2.0.3
- Added a config to enable/disable curse particles
- Added a config to enable/disable the red scan node (fix an incompatibility with LGU's 'Better Scan' upgrade)
Version 2.0.2
- Added a config to hide the information popup when the player is cursed
- Added a config to hide the curse particle when picking up the scrap and make it reappear when dropping the scrap
- Fixed an error with the Communication curse that made the player immobile even after dropping the scrap
- Removed the ability to drop the scrap when the Synchronization curse is active on both players
- To drop a scrap with a coop curse, both players must be in the ship
- Fixed a crash when connecting to a save with items in the ship
- Added an informational message that prevents the player from picking up a scrap with a coop curse if they have the Captive curse
Version 2.0.1
- Forgot the asset file
Version 2.0.0
- Mod Rewrite - this is primarily to clean up the code, optimize various aspects, and enable the addition of future curses that couldn't be implemented before (also potentially fixes several incompatibilities)
- Deactivation of the 'EXPLORATION' curse, pills, and the hide mechanic - I plan to rework these features, they will return later
- CAPTIVE - Players affected by this curse will no longer be able to drop any items (previously, it was only the cursed scrap)
- PARALYSIS - Now applies not only to monsters but to all red scans
- SYNCHRONIZATION - Added the ability to reorient the camera towards the controlled player to make the curse less impactful (use the tertiary action button on an item). This new feature only works when holding the cursed scrap
- DIMINUTIVE - Collision with another player is now modified:
- If a player jumps on the cursed player, he is are crushed and die
- If a player collides with the cursed player while walking or running, he is pushed according to the force of the impact
- Added a particle effect to identify cursed scraps without scanning
- Added an exclusion list to prevent certain scraps from being cursed
Version 1.1.0
- Recompiled for v56
Version 1.0.9
- Fixed "You already have an active cooperation curse" message displayed for all curses
Version 1.0.8
- Fixed some curses persisting after leaving a game
- Added an exclusion list to prevent some enemies from being affected by the "Shadow" curse
- Added new modes for the hiding mechanic
Version 1.0.7
- Fixed an error that occurs during an interaction with nothing
Version 1.0.6
- Added the curse 'Communication'
- Added more configs
- Change in the global chance configuration; it is now possible to configure it per moon (requires a manual update of the configuration with the new default value)
- Resolved an incompatibility with EmergencyDice
- Fixed some other bugs
Version 1.0.5
- Added the curse 'Exploration'
- Added a mechanic to hide curses, see README for more info
- Change in behavior for removing effects upon arrival at the ship: all effects are now canceled even if cursed items are present in the inventory
- This modification fixes some issues, including a problem with player acceleration upon canceling the 'Diminutive' curse
Version 1.0.4
- Added controls to prevent teleportation from the ship and when attempting to throw a 'Captive' scrap
Version 1.0.3
- Added the curse 'Diminutive'
- Pill rework, see README for more info
- Resolved an incompatibility with LethalSnap
- Changed some values
- Fixed a bug with 'Synchronization'
- Fixed a bug where the 'Mute' curse could disable the 'Deafen' curse when applied to the player after the latter
Version 1.0.2
- Added the curse 'Synchronization'
- Corrected some bugs
Version 1.0.1
- Fixed some potential null reference issues
- Resolved an incompatibility with LethalThings
- Resolved an incompatibility with Diversity
- Corrected an error with invisible meshes on enemies
Version 1.0.0
- Initial release