XaiJu
vrengames
vrengames

patreon


Lab Rats 2 v0.41.1 Release! Get it here!

Lab Rats 2 v0.41.1 is out!

UPDATE: v0.41.2 has replaced .41.1. It includes a crash fix affecting some event dialogue. It should be save compatible.

PC: Lab Rats 2 v0.41.2-PC
Mac: Lab Rats 2 v0.41.2-Mac
Android: Lab Rats 2 v0.41.2-Android 

LR2 v0.41.1 is finished and ready for it's week of bug testing by patrons! This update brings LR2 to the most recent Ren'py version to make use of the new native shader support it includes. The switch to native shaders has greatly improved frame rates and responsiveness, especially when multiple characters are displayed at once. It has also made it possible to replace the solid character background with a transparent one, or to remove the background entirely. Both display styles are now available - you can toggle between them in the preferences menu.

In addition to the improvements to the display system there has been new content written for a couple of LR2 characters. Lily's InstaPic career continues to advance with a new event chain, in which you help her get some bigger boobs. You can try and do it the old fashion way, by giving her a stack of cash and sending her off to a cosmetic surgeon, but you'll need to convince Jennifer it's a good idea. Alternatively, you can use your personal pharmaceutical company to develop a breast enhancing serum and help her out with some "natural" growth. A new shopping event has been added, with the ability to be taken shopping by Jennifer or Lily. If you have a girlfriend, you can also ask them to go shopping with you as a date. This event gives you the chance to make new outfit suggestions, as well as enjoy some sneaky public mall sex if you can convince them.

Enjoy, and here's a changelog (v0.40.1 to v0.41.1):

*CHANGES AND ADDITIONS*

- Updated Ren'py version from 7.3.5 to 7.4.5

- Removed previous shader code.

- Updated draw/animation code to use native Ren'py shaders. Performance greatly improved.

- Reimplemented old shaders as native Ren'py shader fragments.

- Added animation_speed parameter for animations, seperate from the effect strength.

- Tidied up role files to seperate individual storylines into their own files.

- Lily InstaPic payments now vary depending on her breast size.

- Lily+Jenefier InstaPic payments now vary depending on both of their breast sizes.

- Added strip_shoes parameter to strip_to_underwear related functions.

- Added ability for Roles to have specific date types associated with them, improving moddability of date system.

- Affair "Fuck date" moved from to the date menu.

- Added girlfriend specific shopping date.

- Added two shopping paths to the shopping date.

- Added a "go get food" path to the shopping date.

- Added random event for Lily where she invites you to go shopping.

- Added random event for Jennifer where she invites you to go shopping.

- Background colour for frames can now be transparent.

- Background frame for girls is now based on their dialogue colour and semi-transparent.

- Handing None to background_fill function now results in no character frame being drawn.

- Tweaked way date actions are coded to make them mod friendly.

- Added patron content.

- Added character colour auras in the style of Lab Rats 1.

- Added functionality to generate character colours with various alphas and saturations.

- Added preference option to have characters displayed without frames unless specifically required by an event.

- Aura-only display is now the default setting.

- Adjusted the spacing of characters when drawing a group using aura-only character images (no longer worried about character overlap).

- Expanded customizable colour pallet to 20 colours, increased from 10.

- Added ability to purchase extra stat, work, and sex points for Clarity. Cost stats at 50, doubles with each purchase.

- Lowered Stephanie starting Sluttiness (from 24 to 14) to allow for better event flow.


*BUG FIXES*

- Fixed crash caused by lactation hormone trait.

- Fixed bug with get_strip_to_vagina_list not returning a list.

- Fixed bug with get_strip_to_vagina_list returning overzealous strip list.

- Added unit tests to cover strip list generation functions.

- Fixed crash during climax in sleep limited time event.

- Added integration tests for text messaging tests.

- Added unit tests to cover taboo break functions.

- Fixed image frames being distorted by the background colour.

- Fixed nightgown clothing item not counting as hiding breasts when it should.

- Fixed crash during DikDok video event due to improperly called strip function.

- Fixed crash during model session due to improperly called cum dialogue.

- Added "Hide keyboard" button to character creation screen to prevent name entry keyboard permanetly grabbing screen space and hiding other inputs.

- Fixed accessories being able to add an infinite number of the same accessory to an outfit due to improper item comparison.

- Fixed error when checking if an outfit contains facial accessories like makeup or sunglasses and added unit tests to prevent bug regression.

- Fixed many mispellings of the word "efficiency"

Comments

It's great that you've expanded the content for Lily and Jennifer, there are quite a few exciting events out there.

VitAnyaNaked

Would be great, if for cases like this of minor changes (especially just scripts), that you would provide patches that could be downloaded and added to earlier full game, so that those of us with slow connections or low bandwidth caps could get fixes quicker and easier.

Captain WhyNot

Is this from an old save? For the public build I added the ability to purchase skill/stat points for Clarity to give it some more purpose into the later parts of the game, but that stat will be missing for older saves. I think that's the only save breaking change in the public version, so if you want you can fix it by enabling the Ren'py console. Add, without quotes, "config.developer = True" at line 80 of script.rpy. Then start the game and load your save file. Press Shift+O to bring up the console, type "mc.clarity_purchase_level = 0" and hit enter. Then close the console with escape and re-save your game.

Vren

I haven't been able to replicate this. Are you using any mods that might be adjusting the number of colour presets available? Easest way to fix this is to open script.rpy and add, without quotes, "persistent.colour_palette = None" to line 67. Run the game once and it will clear and rebuild the colour palette, and then you can remove that line so it doesn't rebuild it every time.

Vren

Many characters offer their onlyfanatics links, but I don't think any of it has been implemented into the game yet. As far as I know it is not a bug, just incomplete content at this point of development. Has anyone else seen OF content from any character?

Does this crash the computer for anyone else? I'm on a mac

Users from F95Zone asked to suggest you to create modder category on patreon, so you can focus on creation of new game features, so fluff and content-wise modders will be able to quickly fill the game.

Dutchess

When playing strip Euchre: I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 278, in script call $ picked_event[1].call_action(picked_event[0]) #Run the action with the person as an extra argument. File "game/game_roles/role_aunt.rpy", line 1239, in script call call family_games_night_drinks(the_mom, the_aunt) from _call_family_games_night_drinks File "game/game_roles/role_aunt.rpy", line 1381, in script call call family_games_night_cards(the_mom, the_aunt, lily) from _call_family_games_night_cards File "game/game_roles/role_aunt.rpy", line 1545, in script call call family_games_night_strip(the_mom, the_aunt, the_sister, partner) from _call_family_games_night_strip File "game/game_roles/role_aunt.rpy", line 1848, in script $ euchre_strip_description(partner, partner_item, the_group) File "game/game_roles/role_aunt.rpy", line 1848, in $ euchre_strip_description(partner, partner_item, the_group) File "game/game_roles/role_aunt.rpy", line 2037, in euchre_strip_description renpy.say(person, "Maybe we've taken this far enough...") TypeError: 'Person' object is not callable -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 278, in script call $ picked_event[1].call_action(picked_event[0]) #Run the action with the person as an extra argument. File "game/game_roles/role_aunt.rpy", line 1239, in script call call family_games_night_drinks(the_mom, the_aunt) from _call_family_games_night_drinks File "game/game_roles/role_aunt.rpy", line 1381, in script call call family_games_night_cards(the_mom, the_aunt, lily) from _call_family_games_night_cards File "game/game_roles/role_aunt.rpy", line 1545, in script call call family_games_night_strip(the_mom, the_aunt, the_sister, partner) from _call_family_games_night_strip File "game/game_roles/role_aunt.rpy", line 1848, in script $ euchre_strip_description(partner, partner_item, the_group) File "renpy/ast.py", line 934, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "renpy/python.py", line 2218, in py_exec_bytecode exec(bytecode, globals, locals) File "game/game_roles/role_aunt.rpy", line 1848, in $ euchre_strip_description(partner, partner_item, the_group) File "game/game_roles/role_aunt.rpy", line 2037, in euchre_strip_description renpy.say(person, "Maybe we've taken this far enough...") File "renpy/exports.py", line 1417, in say who(what, *args, **kwargs) TypeError: 'Person' object is not callable Windows-10-10.0.19041 Ren'Py 7.4.5.1648 Lab Rats 2 - Down to Business v0.41.1 Tue Jun 8 20:39:29 2021

Not sure if this is because I was using a save game from 0.41.0. When opening the goal information screen: I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 211, in script call screen main_choice_display([people_list,actions_list], person_preview_args = {"show_person_info":False}) File "renpy/common/000statements.rpy", line 569, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "game/game_screens/character_screens/mc_overview_ui.rpy", line 1, in execute screen mc_character_sheet(): File "game/game_screens/character_screens/mc_overview_ui.rpy", line 1, in execute screen mc_character_sheet(): File "game/game_screens/character_screens/mc_overview_ui.rpy", line 5, in execute vbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 16, in execute hbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 21, in execute frame: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 25, in execute vbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 28, in execute hbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 31, in execute textbutton "+1 (" + str(mc.buy_point_cost()) + " Clarity)": File "game/game_screens/character_screens/mc_overview_ui.rpy", line 31, in textbutton "+1 (" + str(mc.buy_point_cost()) + " Clarity)": File "game/major_game_classes/character_related/MainCharacter.rpy", line 299, in buy_point_cost point_cost = 50 * (2**self.clarity_purchase_level) AttributeError: 'MainCharacter' object has no attribute 'clarity_purchase_level' -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 211, in script call screen main_choice_display([people_list,actions_list], person_preview_args = {"show_person_info":False}) File "renpy/ast.py", line 1981, in execute self.call("execute") File "renpy/ast.py", line 1969, in call return renpy.statements.call(method, parsed, *args, **kwargs) File "renpy/statements.py", line 278, in call return method(parsed, *args, **kwargs) File "renpy/common/000statements.rpy", line 569, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "renpy/exports.py", line 3057, in call_screen rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward) File "renpy/ui.py", line 298, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "renpy/display/core.py", line 3213, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs) File "renpy/display/core.py", line 3630, in interact_core root_widget.visit_all(lambda i : i.per_interact()) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/screen.py", line 432, in visit_all callback(self) File "renpy/display/core.py", line 3630, in root_widget.visit_all(lambda i : i.per_interact()) File "renpy/display/screen.py", line 443, in per_interact self.update() File "renpy/display/screen.py", line 631, in update self.screen.function(**self.scope) File "game/game_screens/character_screens/mc_overview_ui.rpy", line 1, in execute screen mc_character_sheet(): File "game/game_screens/character_screens/mc_overview_ui.rpy", line 1, in execute screen mc_character_sheet(): File "game/game_screens/character_screens/mc_overview_ui.rpy", line 5, in execute vbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 16, in execute hbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 21, in execute frame: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 25, in execute vbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 28, in execute hbox: File "game/game_screens/character_screens/mc_overview_ui.rpy", line 31, in execute textbutton "+1 (" + str(mc.buy_point_cost()) + " Clarity)": File "game/game_screens/character_screens/mc_overview_ui.rpy", line 31, in textbutton "+1 (" + str(mc.buy_point_cost()) + " Clarity)": File "game/major_game_classes/character_related/MainCharacter.rpy", line 299, in buy_point_cost point_cost = 50 * (2**self.clarity_purchase_level) AttributeError: 'MainCharacter' object has no attribute 'clarity_purchase_level' Windows-10-10.0.19041 Ren'Py 7.4.5.1648 Lab Rats 2 - Down to Business v0.41.1 Tue Jun 8 20:35:34 2021

"- Added preference option to have characters displayed without frames unless specifically required by an event." Thanks!

Joe B

Hey, after asking Lily for nude pics on her instapic, it says she refuses but lends me a link to her onlyfanatics, but I can't access her onlyfanatics after that, is this a bug ?

MisArmor

Is creating a new outfit completely broken for anyone else? I'm getting a crash when I try to add items to the outfit in the Mom "help me pick an outfit" night event. I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 260, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 121, in script call call advance_time from _call_advance_time File "game/script.rpy", line 434, in script call $ the_crisis.call_action() File "game/crises/regular_crises/family_crises.rpy", line 247, in script call call outfit_master_manager(slut_limit = the_person.sluttiness + 10, show_underwear = False) from _call_outfit_master_manager_2 File "game/game_screens/clothing_screens/master_manager.rpy", line 13, in script call screen outfit_creator(Outfit("New Outfit"), outfit_type = outfit_type, slut_limit = slut_limit) File "renpy/common/000statements.rpy", line 569, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) Exception: Grid overfull. -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 260, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 121, in script call call advance_time from _call_advance_time File "game/script.rpy", line 434, in script call $ the_crisis.call_action() File "game/crises/regular_crises/family_crises.rpy", line 247, in script call call outfit_master_manager(slut_limit = the_person.sluttiness + 10, show_underwear = False) from _call_outfit_master_manager_2 File "game/game_screens/clothing_screens/master_manager.rpy", line 13, in script call screen outfit_creator(Outfit("New Outfit"), outfit_type = outfit_type, slut_limit = slut_limit) File "renpy/ast.py", line 1981, in execute self.call("execute") File "renpy/ast.py", line 1969, in call return renpy.statements.call(method, parsed, *args, **kwargs) File "renpy/statements.py", line 278, in call return method(parsed, *args, **kwargs) File "renpy/common/000statements.rpy", line 569, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "renpy/exports.py", line 3057, in call_screen rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward) File "renpy/ui.py", line 298, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "renpy/display/core.py", line 3213, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs) File "renpy/display/core.py", line 3630, in interact_core root_widget.visit_all(lambda i : i.per_interact()) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/screen.py", line 437, in visit_all self.child.visit_all(callback, seen=None) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 567, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 569, in visit_all callback(self) File "renpy/display/core.py", line 3630, in root_widget.visit_all(lambda i : i.per_interact()) File "renpy/display/layout.py", line 518, in per_interact raise Exception("Grid overfull.") Exception: Grid overfull. Windows-10-10.0.19041 Ren'Py 7.4.5.1648 Lab Rats 2 - Down to Business v0.41.1 Tue Jun 8 08:18:04 2021

Baarogue


More Creators