If you wish to copy and paste, the finished example is: private void Room_ctor(On.Room.orig_ctor orig, Room self, RainWorldGame game, World world, AbstractRoom abstractRoom, bool devUI) { orig(self, game, world, abstractRoom, devUI); if (game == null || game.Players.Count == 0) return; if (game.Players[0].realizedCreature is not Player player) return; if (player.slugcatStats == null || player.slugcatStats.name.value != "slugcatID") return; foreach (RoomSettings.RoomEffect effect in self.roomSettings.effects) { if (effect.type == RoomSettings.RoomEffect.Type.EFFECTHERE) return; } self.roomSettings.effects.Add( new RoomSettings.RoomEffect( RoomSettings.RoomEffect.Type.EFFECTHERE, 0.10f, false ) ); }
[ NOTES ] - From experience, the only one that tends to bug out is VoidMelt due to it messing with the rooms Effect Colors. - This does not seem to work in shelters. - When adding the effect, the constructor parameters are: new RoomEffect( EffectType, Amount, Inherited ); - The second parameter when adding the effect determines intensity, here are some examples! 0.05f = 5% 0.25f = 25% 0.50f = 50% 1.00f + 100%