FunkFrog / ShareSuite

Risk of Rain 2 Item, Money, & Equipment sharing mod build upon BepInEx
https://thunderstore.io/package/FunkFrog-and-Sipondo/ShareSuite/
GNU General Public License v3.0
39 stars 27 forks source link

Blacklist not working #179

Closed ryansonshine closed 2 years ago

ryansonshine commented 2 years ago

Installed Mods R2API 4.0.11 BepInExPack 5.4.1902 ShareSuite 2.6.0 BetterUI 2.4.7 HookGenPatcher 1.2.3 TooManyFriends 1.2.1

Describe the bug BeetleGland is specified in the ItemBlacklist but is still shared amongst players.

To Reproduce Steps to reproduce the behavior:

  1. Start game
  2. Pick up Queen's Gland
  3. ???
  4. Profit

Expected behavior Only the player who picks up Queen's Gland should have it in their item list.

FunkFrog commented 2 years ago

Is this only happening with the Queen's Gland, or with all blacklisted items?

ryansonshine commented 2 years ago

I think it might have been happening with all blacklisted items, I only know 100% for sure about Queen's Gland though.

FunkFrog commented 2 years ago

Okay, I'll definitely take a look. Thanks!

SansDerp commented 2 years ago

Can confirm, this is occurring with the Rusted Key as well. However, this is noting that the config displayed the default items in the blacklist as numbers and not by internal names. This was the default generated config.

FunkFrog commented 2 years ago

Can confirm, this is occurring with the Rusted Key as well. However, this is noting that the config displayed the default items in the blacklist as numbers and not by internal names. This was the default generated config.

If your config's blacklist still contains numbers, then it simply won't do anything. Also, if the default blacklist shows numbers, you're looking in the wrong config file.

ryansonshine commented 2 years ago

@FunkFrog ,

Here's some additional details as I noticed this issue is not happening with another user but I believe there are still items that aren't being blacklisted.

Note: This was the config that was present when I updated from the previous, pre-DLC version; so a config migration of some sorts might be required on update

com.funkfrog_sipondo.sharesuite-r2.cfg ``` ## Settings file was created by plugin ShareSuite-R2 v2.5.1 ## Plugin GUID: com.funkfrog_sipondo.sharesuite-r2 [Balance] ## Changes the way shared equipment handles blacklisted equipment. If true, blacklisted equipment will be dropped on the ground once a new equipment is shared. If false, blacklisted equipment is left untouched when new equipment is shared. # Setting type: Boolean # Default value: false DropBlacklistedEquipmentOnShare = false ## When enabled each player (except the player who picked up the item) will get a randomized item of the same rarity. # Setting type: Boolean # Default value: false RandomizeSharedPickups = false ## Toggles randomizing Lunar items in RandomizeSharedPickups mode. # Setting type: Boolean # Default value: true LunarItemsRandomized = true ## Toggles randomizing Boss items in RandomizeSharedPickups mode. # Setting type: Boolean # Default value: false BossItemsRandomized = false ## Toggles 3D printer and Cauldron item dupe fix by giving the item directly instead of dropping it on the ground. # Setting type: Boolean # Default value: true PrinterCauldronFix = true ## Toggles whether or not dead players should get copies of picked up items. # Setting type: Boolean # Default value: false DeadPlayersGetItems = true ## Toggles override of the scalar of interactables (chests, shrines, etc) that spawn in the world to your configured credit. # Setting type: Boolean # Default value: true OverridePlayerScaling = true ## If player scaling via this mod is enabled, the amount of players the game should think are playing in terms of chest spawns. # Setting type: Double # Default value: 1 InteractablesCredit = 1 ## If player scaling via this mod is enabled, the offset from base scaling for interactables credit (e.g. 100 would add 100 interactables credit (not 100 interactables), can also be negative). # Setting type: Int32 # Default value: 0 InteractablesOffset = 0 ## Toggles override of the scalar of boss loot drops to your configured balance. # Setting type: Boolean # Default value: true OverrideBossLootScaling = true ## Specifies the amount of boss items dropped when the boss drop override is true. # Setting type: Int32 # Default value: 1 BossLootCredit = 1 ## Toggles override of the scalar of Void Field loot drops to your configured balance. # Setting type: Boolean # Default value: true OverrideVoidLootScaling = true ## Specifies the amount of Void Fields items dropped when the Void Field scaling override is true. # Setting type: Int32 # Default value: 1 VoidFieldLootCredit = 1 ## Toggles the reduction in sacrifice loot drops to be balanced with shared items enabled. # Setting type: Boolean # Default value: true SacrificeFixEnabled = true [Debug] ## Forces ShareSuite to think that the game is running in a multiplayer instance. # Setting type: Boolean # Default value: false OverrideMultiplayerCheck = false [Settings] ## Toggles whether or not the mod is enabled. If turned off while in-game, it will unhook everything and reset the game to it's default behaviors. # Setting type: Boolean # Default value: true ModEnabled = true ## Toggles money sharing between teammates. Every player gains money together and spends it from one central pool of money. # Setting type: Boolean # Default value: true MoneyShared = true ## Toggles item sharing for common (white color) items. # Setting type: Boolean # Default value: true WhiteItemsShared = true ## Toggles item sharing for rare (green color) items. # Setting type: Boolean # Default value: true GreenItemsShared = true ## Toggles item sharing for legendary (red color) items. # Setting type: Boolean # Default value: true RedItemsShared = true ## Toggles item sharing for equipment. # Setting type: Boolean # Default value: false EquipmentShared = false ## Toggles item sharing for Lunar (blue color) items. # Setting type: Boolean # Default value: false LunarItemsShared = false ## Toggles item sharing for boss (yellow color) items. # Setting type: Boolean # Default value: true BossItemsShared = true ## Toggles detailed item pickup messages with information on who picked the item up and who all received the item. # Setting type: Boolean # Default value: true RichMessagesEnabled = true ## Toggles the money scalar, set MoneyScalar to an amount to fine-tune the amount of gold you recieve. # Setting type: Boolean # Default value: false MoneyScalarEnabled = false ## Modifies player count used in calculations of gold earned when money sharing is on. # Setting type: Double # Default value: 1 MoneyScalar = 1 ## Items (by internal name) that you do not want to share, comma separated. Please find the item "Code Names" at: https://github.com/risk-of-thunder/R2Wiki/wiki/Item-&-Equipment-IDs-and-Names # Setting type: String # Default value: BeetleGland,TreasureCache,TitanGoldDuringTP,TPHealingNova,ArtifactKey ItemBlacklist = BeetleGland,TreasureCache,TitanGoldDuringTP,TPHealingNova,ArtifactKey ## Equipment (by internal name) that you do not want to share, comma separated. Please find the "Code Names"s at: https://github.com/risk-of-thunder/R2Wiki/wiki/Item-&-Equipment-IDs-and-Names # Setting type: String # Default value: EquipmentBlacklist = ```
FunkFrog commented 2 years ago

That config should work fine. I've heard a spattering of reports for both sides, saying the blacklist does work, or that it doesn't. I'm really not sure, at this point, what could be causing it :(

I've been unable to reproduce it as of yet, but if you have any other ideas please let me know

ryansonshine commented 2 years ago

I'll be on vacation for the next week or so but can take a closer look when I get back. In the interim, I've added a section to the issue template in #186 for users to include their config going forward.

FunkFrog commented 2 years ago

I suppose after seeing the PR, I should ask both of you: Are you editing com.funkfrog_sipondo.sharesuite-r2.cfg, or are you editing com.funkfrog_sipondo.sharesuite.cfg? @ryansonshine @SansDerp

ryansonshine commented 2 years ago

Looks like I provided the r2 version. Here's the other:

com.funkfrog_sipondo.sharesuite.cfg ``` ## Settings file was created by plugin ShareSuite v2.7 ## Plugin GUID: com.funkfrog_sipondo.sharesuite [Balance] ## Changes the way shared equipment handles blacklisted equipment. If true, blacklisted equipment will be dropped on the ground once a new equipment is shared. If false, blacklisted equipment is left untouched when new equipment is shared. # Setting type: Boolean # Default value: false DropBlacklistedEquipmentOnShare = false ## When enabled each player (except the player who picked up the item) will get a randomized item of the same rarity. # Setting type: Boolean # Default value: false RandomizeSharedPickups = false ## Toggles randomizing Lunar items in RandomizeSharedPickups mode. # Setting type: Boolean # Default value: true LunarItemsRandomized = true ## Toggles randomizing Boss items in RandomizeSharedPickups mode. # Setting type: Boolean # Default value: false BossItemsRandomized = false ## Toggles randomizing Void items in RandomizeSharedPickups mode. # Setting type: Boolean # Default value: false VoidItemsRandomized = false ## Toggles 3D printer and Cauldron item dupe fix by giving the item directly instead of dropping it on the ground. # Setting type: Boolean # Default value: true PrinterCauldronFix = true ## Toggles whether or not dead players should get copies of picked up items. # Setting type: Boolean # Default value: false DeadPlayersGetItems = true ## Toggles override of the scalar of interactables (chests, shrines, etc) that spawn in the world to your configured credit. # Setting type: Boolean # Default value: true OverridePlayerScaling = true ## If player scaling via this mod is enabled, the amount of players the game should think are playing in terms of chest spawns. # Setting type: Double # Default value: 1 InteractablesCredit = 1 ## If player scaling via this mod is enabled, the offset from base scaling for interactables credit (e.g. 100 would add 100 interactables credit (not 100 interactables), can also be negative). # Setting type: Int32 # Default value: 0 InteractablesOffset = 0 ## Toggles override of the scalar of boss loot drops to your configured balance. # Setting type: Boolean # Default value: true OverrideBossLootScaling = true ## Specifies the amount of boss items dropped when the boss drop override is true. # Setting type: Int32 # Default value: 1 BossLootCredit = 1 ## Toggles override of the scalar of Void Field loot drops to your configured balance. # Setting type: Boolean # Default value: true OverrideVoidLootScaling = true ## Toggles override of the scalar of Simulacrum loot drops to your configured balance. # Setting type: Boolean # Default value: true OverrideSimulacrumLootScaling = true ## Specifies the amount of items dropped from completed Void Fields when the Void Field scaling override is true. # Setting type: Int32 # Default value: 1 VoidFieldLootCredit = 1 ## Specifies the amount of items dropped after each Simulacrum round when the Simulacrum scaling override is true. # Setting type: Int32 # Default value: 1 SimulacrumLootCredit = 1 ## Toggles the reduction in sacrifice loot drops to be balanced with shared items enabled. # Setting type: Boolean # Default value: true SacrificeFixEnabled = true [Debug] ## Forces ShareSuite to think that the game is running in a multiplayer instance. # Setting type: Boolean # Default value: false OverrideMultiplayerCheck = false ## Keeps track of the last mod version that sent you a message. Prevents spam, don't touch. # Setting type: String # Default value: none LastMessageSent = 2.6 [Settings] ## Toggles whether or not the mod is enabled. If turned off while in-game, it will unhook everything and reset the game to it's default behaviors. # Setting type: Boolean # Default value: true ModEnabled = true ## Toggles money sharing between teammates. Every player gains money together and spends it from one central pool of money. # Setting type: Boolean # Default value: true MoneyShared = true ## Toggles item sharing for common (white color) items. # Setting type: Boolean # Default value: true WhiteItemsShared = true ## Toggles item sharing for rare (green color) items. # Setting type: Boolean # Default value: true GreenItemsShared = true ## Toggles item sharing for legendary (red color) items. # Setting type: Boolean # Default value: true RedItemsShared = true ## Toggles item sharing for equipment. # Setting type: Boolean # Default value: false EquipmentShared = false ## Toggles item sharing for Lunar (blue color) items. # Setting type: Boolean # Default value: false LunarItemsShared = false ## Toggles item sharing for boss (yellow color) items. # Setting type: Boolean # Default value: true BossItemsShared = true ## Toggles item sharing for void (purple/corrupted) items. # Setting type: Boolean # Default value: false VoidItemsShared = false ## Toggles detailed item pickup messages with information on who picked the item up and who all received the item. # Setting type: Boolean # Default value: true RichMessagesEnabled = true ## Toggles the money scalar, set MoneyScalar to an amount to fine-tune the amount of gold you recieve. # Setting type: Boolean # Default value: false MoneyScalarEnabled = false ## Modifies player count used in calculations of gold earned when money sharing is on. # Setting type: Double # Default value: 1 MoneyScalar = 1 ## Items (by internal name) that you do not want to share, comma separated. Please find the item "Code Names" at: https://github.com/risk-of-thunder/R2Wiki/wiki/Item-&-Equipment-IDs-and-Names # Setting type: String # Default value: BeetleGland,TreasureCache,TitanGoldDuringTP,TPHealingNova,ArtifactKey,FreeChest,RoboBallBuddy ItemBlacklist = 53,60,82,86,101 ## Equipment (by internal name) that you do not want to share, comma separated. Please find the "Code Names"s at: https://github.com/risk-of-thunder/R2Wiki/wiki/Item-&-Equipment-IDs-and-Names # Setting type: String # Default value: EquipmentBlacklist = ```
FunkFrog commented 2 years ago

Items (by internal name) that you do not want to share, comma separated. Please find the item "Code Names" at: https://github.com/risk-of-thunder/R2Wiki/wiki/Item-&-Equipment-IDs-and-Names Setting type: String Default value: BeetleGland,TreasureCache,TitanGoldDuringTP,TPHealingNova,ArtifactKey,FreeChest,RoboBallBuddy ItemBlacklist = 53,60,82,86,101

Okay, it seems as though you've been updating the wrong config file, and the one being used was from an old version. You'll need to replace the numbers in ItemBlacklist with the correct string versions :)

ryansonshine commented 2 years ago

I haven't changed the config file since it was working pre-DLC. I'm not familiar with how these plugins work but would it be possible to include a config migration for other users who are upgrading? Like something to check if the user has numeric values in their config and update them accordingly.

I'm thinking any users who followed my same upgrade path might run into the same issue.

FunkFrog commented 2 years ago

Unfortunately, not really? I think I may just use the first lobby message next time we update to tell users to make sure they're editing the correct config file/delete the -r2 one. I'll be sure to pin this issue as well, so anyone looking for the fix can find it easily :)