CreatorsOk
vrengames
vrengames

patreon


Lab Rats v0.34.1 Release!

Lab Rats 2 v0.34.1 is live! Get it here!

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

Lab Rats 2 v0.34.1 is finished it's week of bug testing and ready for it's release to everyone! This update incudes a large chunk of new content, including new office events and business policies. New dialogue options have been added, and a bunch of existing events have been updated.

Alongside the new content there has been the usual host of bug fixes and behind-the-scenes improvements. The android version of LR2 has been updated to support a new image storage system that bypasses a previous maximum file limit. A ton of typos have been fixed, crashes patched, incorrect game mechanics resolved, and user interfaces improved.

Enjoy!


Changelog(v0.33.3 to v0.34.1):

*CHANGES AND ADDITIONS*

- Refactored several sections of code to improve maintainability and modability.

- Roles may now have functions assigned to them that are run on each turn, during each move phase, or on the end of each day.

- Added support for dynamically modified character dialogue.

- Extended Ren'py support for Person, dialogue may (and should, to support dynamic dialogue changes) be written as the_person "dialogue", instead of the_person.char "dialogue"

- give_serum function now returns the serum given instead of True, if any. If nothing is given returns False.

- Added generic strip description function to help centralise a number of related event actions.

- Added infraction Class and related functions

- Replaced several of Jennifers event specific strip descriptions with a call to a generalised function, providing more varied feedback.

- Jean hotpants now only constrain the pelvis region (removed upper legs), reduces over-constraining when tall boots and other legwear is worn.

- Business vest now hides stomach region when half-off, more accurately matching the way it would be opened.

- Birth Control field in the detailed girl information screen no longer contains perfect information, now is updated any time a girl tals about her BC.

- Updated several Rebecca events to use generalised strip function, making it more descriptive and complete.

- Updated several Lily events to use generalised strip function, making it more descriptive and complete.

- Added group display support to the generalised strip function.

- Updated the Lily and Jennifer insta-pic event to use the generalised strip function.

- Updated the tit comparison break event to use the generalised strip function in a number of branches.

- Added personality based grope rejection dialogue.

- Updated naked_strip, underwear_strip, and top_strip commands to use generalised strip function.

- Strip_naked command now has girls ask if you want them to take off their footwear.


*BUG FIXES*

- Fixed android file system access.

- Fixed a number of typos.

- Fixed crash in case where group display had primary speaker removed from group

- Fixed work jerkoff event improperly displaying the group in some cases.

- Fixed employees not being properly removed from one department when transfered to another.

- Fixed girls not clearing from screen after some events.

- Fixed Alexia photography option being available before she had brought up the subject in the first place.

- Fixed some events always using taboo break dialogue, even if that taboo had already been broken.

- Fixed clothing items not allowing lower level items to be pulled half off properly.

- Fixed facial accessories that varied with expressions not being properly displayed.

- Temporarly sluttiness gains no longer contribute to goals that require core sluttiness to be raised.

- Fixed one girl not stripping in tit comparison break event.

- Free_Memory() is now called before and after generating group of candidates, reducing memory usage.

- Improved serum review screen. Clicking on a design now locks it, letting you move over to the tooltip and scroll to see full details for complex serums.






Comments

``` I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10886, in script call $ picked_option.call_action() File "game/script.rpy", line 11211, in script call call advance_time from _call_advance_time_6 File "game/script.rpy", line 11599, in script call $ the_crisis.call_action() File "game/crises/crises.rpy", line 2946, in script if len(mc.location.get_person_count()) == 1: #She's the only person in the room. File "game/crises/crises.rpy", line 2946, in if len(mc.location.get_person_count()) == 1: #She's the only person in the room. TypeError: object of type 'int' has no len() ``` Same bug on line 2951

Frog Sort

So, I don't know if the new patch will fix this so I'll go ahead and report it. When I hit the broken AC event it froze on the girls stripping. It was after I got to decide on who I would watch strip.

Fixed, thanks for the report!

Vren

There was only one change to the display code this update, so I'm guessing I've introduced an issue somewhere along the line. I'll try and track down the problem, and it should be fixed in the patched version that will come out a couple hours after this message. Update: The patch is going to be coming out tomorrow instead, but it has the added benefit of massively improved performance thanks to some optimization I had to do to resolve this issue.

Vren

``` I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10843, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10958, in script call $ _return.call_action() File "game/chat_actions.rpy", line 1462, in script call $ player_choice.call_action() File "game/command_descriptions.rpy", line 252, in script call $ return_value.call_action() File "game/command_descriptions.rpy", line 579, in script theperson.char "Is there anything else, [the_person.mc_title]?" NameError: name 'theperson' is not defined -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 10843, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10958, in script call $ _return.call_action() File "game/chat_actions.rpy", line 1462, in script call $ player_choice.call_action() File "game/command_descriptions.rpy", line 252, in script call $ return_value.call_action() File "game/command_descriptions.rpy", line 579, in script theperson.char "Is there anything else, [the_person.mc_title]?" File "L:\Adult\Lab Rats 2 - v0.34.1 Copy\renpy\ast.py", line 679, in execute who = eval_who(self.who, self.who_fast) File "L:\Adult\Lab Rats 2 - v0.34.1 Copy\renpy\ast.py", line 581, in eval_who return renpy.python.py_eval(who) File "L:\Adult\Lab Rats 2 - v0.34.1 Copy\renpy\python.py", line 2059, in py_eval return py_eval_bytecode(code, globals, locals) File "L:\Adult\Lab Rats 2 - v0.34.1 Copy\renpy\python.py", line 2052, in py_eval_bytecode return eval(bytecode, globals, locals) File "", line 1, in NameError: name 'theperson' is not defined Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.34.1 Mon Nov 09 19:47:57 2020 ```

Has anyone been able to get the character models to load in the Android version? I've tried fresh installs of this latest version several times now and I'm running into the errors of the v0.33 build (established character models not loading/errors cropping up when attempting to hire new employees).

I got a similar error in the mom promotion event: I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10836, in script call $ talk_action.call_action(picked_option) File "game/game_roles/role_mother.rpy", line 517, in script call call mom_work_promotion_outfit_create(the_person) from _call_mom_work_promotion_outfit_create File "game/game_roles/role_mother.rpy", line 552, in script $ strip_list = the_person.outfit.get_full_strip_list() File "game/game_roles/role_mother.rpy", line 552, in $ strip_list = the_person.outfit.get_full_strip_list() File "game/script.rpy", line 5976, in get_full_strip_list items_to_strip.remove(extension_items) #Don't try and strip extension directly. File "game/script.rpy", line 4924, in __cmp__ if self.__hash__() < other.__hash__(): TypeError: 'NoneType' object is not callable -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 10836, in script call $ talk_action.call_action(picked_option) File "game/game_roles/role_mother.rpy", line 517, in script call call mom_work_promotion_outfit_create(the_person) from _call_mom_work_promotion_outfit_create File "game/game_roles/role_mother.rpy", line 552, in script $ strip_list = the_person.outfit.get_full_strip_list() File "C:\games\Renpy\Lab_Rats_2-v0.34.1-pc\renpy\ast.py", line 922, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "C:\games\Renpy\Lab_Rats_2-v0.34.1-pc\renpy\python.py", line 2028, in py_exec_bytecode exec bytecode in globals, locals File "game/game_roles/role_mother.rpy", line 552, in $ strip_list = the_person.outfit.get_full_strip_list() File "game/script.rpy", line 5976, in get_full_strip_list items_to_strip.remove(extension_items) #Don't try and strip extension directly. File "C:\games\Renpy\Lab_Rats_2-v0.34.1-pc\renpy\python.py", line 731, in do_mutation return method(self, *args, **kwargs) File "game/script.rpy", line 4924, in __cmp__ if self.__hash__() < other.__hash__(): TypeError: 'NoneType' object is not callable Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.34.1 Mon Nov 09 00:55:02 2020

Robert McClenahan

Do you not read PMs? I reported several typos, one of which causes an error, and only one non-error typo I reported was corrected this build. They're all super-easy fixes that I included in the PM.

Baarogue

I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10793, in script call screen main_choice_display([people_list,actions_list]) File "game/script.rpy", line 10793, in script call screen main_choice_display([people_list,actions_list]) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "game/script.rpy", line 35, in take_animation_screenshot if animation_draw_requested[draw_layer]: TypeError: 'bool' object has no attribute '__getitem__' -- Full Traceback ------------------------------------------------------------ Full traceback: File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\bootstrap.py", line 316, in bootstrap renpy.main.main() File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\main.py", line 578, in main run(restart) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\main.py", line 143, in run renpy.execution.run_context(True) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\execution.py", line 908, in run_context context.run() File "game/script.rpy", line 10793, in script call screen main_choice_display([people_list,actions_list]) File "game/script.rpy", line 10793, in script call screen main_choice_display([people_list,actions_list]) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\ast.py", line 1957, in execute self.call("execute") File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\ast.py", line 1945, in call return renpy.statements.call(method, parsed, *args, **kwargs) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\statements.py", line 277, in call return method(parsed, *args, **kwargs) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\exports.py", line 2905, in call_screen rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\ui.py", line 297, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\display\core.py", line 2702, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs) File "C:\Users\Timo\Downloads\Lab_Rats_2-v0.34.1-pc\Lab_Rats_2-v0.34.1-pc\renpy\display\core.py", line 2932, in interact_core i() File "game/script.rpy", line 35, in take_animation_screenshot if animation_draw_requested[draw_layer]: TypeError: 'bool' object has no attribute '__getitem__' Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.34.1 Mon Nov 09 00:44:21 2020

ZwiebelTVDE

-- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 10846, in script call $ picked_option.call_action() File "game/script.rpy", line 11103, in script call call advance_time from _call_advance_time_2 File "game/script.rpy", line 11559, in script call $ the_crisis.call_action() File "game/crises/crises.rpy", line 2185, in script $ the_group.draw_group(person_one, emotion = "angry") File "D:\Downloads\Lab_Rats_2-v0.34.1-pc\renpy\ast.py", line 922, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "D:\Downloads\Lab_Rats_2-v0.34.1-pc\renpy\python.py", line 2028, in py_exec_bytecode exec bytecode in globals, locals File "game/crises/crises.rpy", line 2185, in $ the_group.draw_group(person_one, emotion = "angry") File "game/script.rpy", line 3881, in draw_group self.draw_person(group_member, False, *args, **kwargs) File "game/script.rpy", line 3863, in draw_person self.do_draw(the_person, Person.draw_person, make_primary, *args, **kwargs) File "game/script.rpy", line 3940, in do_draw the_draw_method(the_person, *args, **kwargs) File "game/script.rpy", line 2443, in draw_person character_image = self.build_person_displayable(position, emotion, special_modifier, lighting, background_fill) File "game/script.rpy", line 2256, in build_person_displayable displayable_list.append(self.body_images.generate_item_displayable(self.body_type,self.tits,position,lighting)) #Add the body displayable File "game/script.rpy", line 5020, in generate_item_displayable final_image = Composite(position_size_dict[position], self.crop_offset_dict.get(position,(0,0)), final_image) #Transform the clothing image into a composite with the image positioned correctly. KeyError: Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.34.1 Sun Nov 08 21:52:27 2020

marc0815

Full traceback: File "game/script.rpy", line 10843, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10961, in script call call talk_person(the_person) from _call_talk_person_1 #If we're in the same place and time hasn't advanced keep talking to them until we stop talking on purpose. File "game/script.rpy", line 10958, in script call $ _return.call_action() File "game/chat_actions.rpy", line 1462, in script call $ player_choice.call_action() File "game/command_descriptions.rpy", line 252, in script call $ return_value.call_action() File "game/command_descriptions.rpy", line 555, in script call call naked_strip_description(The_person, remove_shoes = removes_shoes) from _call_naked_strip_description File "game/command_descriptions.rpy", line 414, in script label naked_strip_description(the_person, remove_shoes = False): #This has been replaced by the generalised strip function in v0.34.1. Function left here for mod compatability in case any of them make use of this. File "D:\Downloads\Lab_Rats_2-v0.34.1-pc\renpy\ast.py", line 1449, in execute args, kwargs = self.arguments.evaluate() File "D:\Downloads\Lab_Rats_2-v0.34.1-pc\renpy\ast.py", line 190, in evaluate args.append(renpy.python.py_eval(v, locals=scope)) File "D:\Downloads\Lab_Rats_2-v0.34.1-pc\renpy\python.py", line 2059, in py_eval return py_eval_bytecode(code, globals, locals) File "D:\Downloads\Lab_Rats_2-v0.34.1-pc\renpy\python.py", line 2052, in py_eval_bytecode return eval(bytecode, globals, locals) File "game/command_descriptions.rpy", line 555, in call naked_strip_description(The_person, remove_shoes = removes_shoes) from _call_naked_strip_description NameError: name 'The_person' is not defined

marc0815

well'p time to rewrite my mod again! ^_^

Colin T.

Another thing that I'd like to see is simultaneous orgasm scenes rather than she cums then you cum.

When using the "cum inside" option it frequently gives the "wait, make sure to pull out!" even if they were asking for it, you're using a condom, and/or they're on birth control. Also triggers the taboo break even when wearing a condom, which I'm not sure is as intended.

So one complaint I've had for awhile, though I haven't said anything, is that the unique characters you can employ aren't very good. Like, by the time I have my first serum researched I can easily hire employees better than either Stephanie or Alexia (who you don't run into for another two weeks).

Quite an interesting system of punishments, I am sure it will be fun and exciting to play.

VitAnyaNaked

I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10843, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 10956, in script call $ _return.call_action(the_person) File "game/game_roles/role_sister.rpy", line 376, in script call call sister_instathot_label_solo(the_person) from _call_sister_instathot_label_solo_1 File "game/game_roles/role_sister.rpy", line 388, in script $ strip_list = the_person.outfit.get_full_strip_list() File "game/game_roles/role_sister.rpy", line 388, in $ strip_list = the_person.outfit.get_full_strip_list() File "game/script.rpy", line 5961, in get_full_strip_list items_to_strip.remove(extension_items) #Don't try and strip extension directly. File "game/script.rpy", line 4909, in __cmp__ if self.__hash__() < other.__hash__(): TypeError: 'NoneType' object is not callable -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 10843, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 10956, in script call $ _return.call_action(the_person) File "game/game_roles/role_sister.rpy", line 376, in script call call sister_instathot_label_solo(the_person) from _call_sister_instathot_label_solo_1 File "game/game_roles/role_sister.rpy", line 388, in script $ strip_list = the_person.outfit.get_full_strip_list() File "D:\Adult\Games\Lab Rats 2 v0.34.1\renpy\ast.py", line 922, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "D:\Adult\Games\Lab Rats 2 v0.34.1\renpy\python.py", line 2028, in py_exec_bytecode exec bytecode in globals, locals File "game/game_roles/role_sister.rpy", line 388, in $ strip_list = the_person.outfit.get_full_strip_list() File "game/script.rpy", line 5961, in get_full_strip_list items_to_strip.remove(extension_items) #Don't try and strip extension directly. File "D:\Adult\Games\Lab Rats 2 v0.34.1\renpy\python.py", line 731, in do_mutation return method(self, *args, **kwargs) File "game/script.rpy", line 4909, in __cmp__ if self.__hash__() < other.__hash__(): TypeError: 'NoneType' object is not callable Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.34.1 Sun Nov 08 07:40:26 2020


More Models and Creators