💦 CREATE AND FUCK YOUR OWN AI CUMSLUT 🔥 TRY NOW ♥
Create AI Cumsluts 💦
March 8, 2022

Lab Rats 2 v0.50.1 Release!

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

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

[NOTE: v0.50.1 had some bugs, if you're still on that version and running into issues try updating. Saves will not be compatible]

LR2 v0.50.1 is finished it's week of bug testing and is ready for it's public release! This update refines the way work is distributed to and carried out by the employees of your morally questionable pharmaceutical company. Every employee can now be given a certain number of work duties; more experienced employees are able to handle more duties at once. Duties include previous basic functions - performing research, buying supplies, etc. - but also include more complex tasks for your employees such as inspiring obedience among your staff or using "alternative methods" to pay for purchased materials.

In total nineteen duties with novel mechanics have been added in addition to the five basic work duties. Many of these new duties add ways to make use of your employees sex skills to improve their work output. Several business policies that use to have company wide effects have now been converted to duties to give you employee specific control as well. A new Work Experience stat has been added. Work Experience dictates how many duties an employee can have at once and ranges from 1 to 5. Once an employee has spent enough time at your company they will come to you requesting a promotion, which includes both an increase to Work Experience and a raise.

Want to know exactly what has changed? Here's a changelog! (v0.49.2 to v0.50.1):

*CHANGES AND ADDITIONS*

- Added Duty class. A Duty is a single task or responsibility that someone might have as part of their job.

- Added mandatory and available duties lists to Job class. Mandatory duties are added automatically, available duties are available for you to distribute.

- Added UI for setting duties. Duties can be set when an employee is hired, and can be changed at most once per day.

- Added ability to check current duties from girl overview UI.

- Added Work Experience stat (ranges from 1 to 5?). An employee can have a number of duties equal to this stat.

- Added starting work experience stats for all existing characters.

- Work experience now affects expected salary. level 1 is 75% of old value, 2 is 100%, 3 is 125%, etc.

- Reworked basic work effects as Duties.

- Reworked head researcher bonus research effect as Duty. (automatically applied when job is given).

- Reworked daily serum dosage as Duty. (unlocked with a policy)

- Reworked bureaurcratic nightmare policy into a Duty (unlocked with a policy)

- Added Heavy Workload duties. Generates an additional 25% production, lowers Happiness by 2 per turn.

- Changed internal company efficiency mechanics. Now has constant effect throughout turn calculations (ie. set at turn start, updated to new value at the very end).

- Business now has standard_efficiency_drop variable, which determines how much each employee reduces efficiency by each turn.

- HR employees now lower team efficiency at the same rate as other employees (default -1%/turn)

- Added Extra Paperwork general duty. When active removes that character's HR effectiveness drop per turn.

- Added Find Infractions HR duty. When active the employee has a small chance (~5%) each turn to find an infraction for another employee.

- Find Infraction duty more likely to find infractions for low obedience employees and rivals, less likely for higher obedience employees and friends/family.

- Removed flat Research, Supply, Production, HR progress additions, new duties more than offset lost productivity.

- Added new promotion event triggered when an employee has been at your business for a long time and feels ready for a promotion. Provides opportunity to raise their Work Experience.

- Added new sex goal: Mind Break, Put a girl in a trance by making her orgasm.

- Added social media advertising duty. Allows any girl with a social media account to raise Market Reach.

- All girls who are lactating now record a "milk_in_breasts" and "max_milk_in_breasts" value.

- Added breast pumping 1 policy and corrisponding duty. Duty harvests at most 1 dose of breast milk per turn (or serum-milk if a related milk-serum production trait is present).

- Added breast pumping 2 policy and corrisponding duty. Harvests up to 3 doses per turn.

- Added breast pumping 3 policy and corripsonding duty. Harvests as much milk as possible, limited by breast size and lactation sources. Minimum D cup size.

- Reworked research policies that could create Clarity to be Duties instead. Now add Clarity instead of only converting Idle research.

- Added Client Demonstration marketing duty. Creates additional Market Reach based on Foreplay, with small chance of recieving a dose of serum currently in production.

- Added Work for Tips marketing Duty. Requires 25 Sluttiness and adds Foreplay to normal market skill when working. At higher Sluttiness also adds Oral skill.

- Added Greymarket Deals supply Duty. Reduces cost of supply purchased by this employee by 25%, but increases Attention by 1 every turn.

- Added Alternative Payment Methods supply Duty. Requires 25 Sluttiness, reduces cost of supplys purchased by this character by 5% per level of Foreplay. At 50+ Sluttiness also adds Oral skill to calculation.

- Added Bend Safety Rules production Duty. Adds additional production and has a minor chance of automatically applying a currently produced serum.

- Added Encourage Loyalty HR Duty. Increases Obedience of one employee with Obedience lower than this character by 1 each turn.

- Added Internal propaganda HR Duty. As above, but for Love.

- Added Corrupt Work Chat HR Duty. As above, but for Sluttiness.

- Added unit tests to cover basic Duty functionality.

- Enabled four ways of convincing the city rep not to punish you that were disabled by accident.

- Serum designs are now copied inside of Person when applied, removes need to pass an explicit copy.

- Serum Inventory now checks for loose equality (same name, traits, duration, etc.) rather than exact reference match - should condense serum lists when making milky serum.


Comments (19)

A
Adam Król · March 16, 2022

[code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 259, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 383, 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 383, 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 383, 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 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_model.rpy", line 189, in script call call advance_time from _call_advance_time_20 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 471, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 340, in script python: File "game/script.rpy", line 372, in special_role_actions.sort(key = sort_display_list, reverse = True) File "game/helper_functions/misc_helpers.rpy", line 9, in sort_display_list if the_item.is_action_enabled(extra_args): File "game/major_game_classes/game_logic/Action.rpy", line 63, in is_action_enabled requirement_return = self.check_requirement(extra_args) File "game/major_game_classes/game_logic/Action.rpy", line 60, in check_requirement return self.requirement(*extra_args) File "game/game_roles/role_city_rep.rpy", line 15, in city_rep_bribe_requirement elif "cash_bribe" in the_person.event_triggers_dict.get("bribe_attempts", []): TypeError: argument of type 'NoneType' is not iterable -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 259, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 383, 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 383, 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 383, 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 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_model.rpy", line 189, in script call call advance_time from _call_advance_time_20 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 471, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 340, in script python: File "renpy/ast.py", line 923, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "renpy/python.py", line 2235, in py_exec_bytecode exec(bytecode, globals, locals) File "game/script.rpy", line 372, in special_role_actions.sort(key = sort_display_list, reverse = True) File "renpy/python.py", line 875, in do_mutation return method(self, *args, **kwargs) File "game/helper_functions/misc_helpers.rpy", line 9, in sort_display_list if the_item.is_action_enabled(extra_args): File "game/major_game_classes/game_logic/Action.rpy", line 63, in is_action_enabled requirement_return = self.check_requirement(extra_args) File "game/major_game_classes/game_logic/Action.rpy", line 60, in check_requirement return self.requirement(*extra_args) File "game/game_roles/role_city_rep.rpy", line 15, in city_rep_bribe_requirement elif "cash_bribe" in the_person.event_triggers_dict.get("bribe_attempts", []): TypeError: argument of type 'NoneType' is not iterable Windows-10-10.0.19041 Ren'Py 7.4.8.1895 Lab Rats 2 - Down to Business v0.50.1 Wed Mar 16 14:37:11 2022 [/code]

A
Adam Król · March 15, 2022

[code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 143, in script call call advance_time from _call_advance_time_4 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 340, in script python: File "game/script.rpy", line 372, in special_role_actions.sort(key = sort_display_list, reverse = True) File "game/helper_functions/misc_helpers.rpy", line 9, in sort_display_list if the_item.is_action_enabled(extra_args): File "game/major_game_classes/game_logic/Action.rpy", line 63, in is_action_enabled requirement_return = self.check_requirement(extra_args) File "game/major_game_classes/game_logic/Action.rpy", line 60, in check_requirement return self.requirement(*extra_args) File "game/game_roles/role_city_rep.rpy", line 15, in city_rep_bribe_requirement elif "cash_bribe" in the_person.event_triggers_dict.get("bribe_attempts", []): TypeError: argument of type 'NoneType' is not iterable -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 143, in script call call advance_time from _call_advance_time_4 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 340, in script python: File "renpy/ast.py", line 923, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "renpy/python.py", line 2235, in py_exec_bytecode exec(bytecode, globals, locals) File "game/script.rpy", line 372, in special_role_actions.sort(key = sort_display_list, reverse = True) File "renpy/python.py", line 875, in do_mutation return method(self, *args, **kwargs) File "game/helper_functions/misc_helpers.rpy", line 9, in sort_display_list if the_item.is_action_enabled(extra_args): File "game/major_game_classes/game_logic/Action.rpy", line 63, in is_action_enabled requirement_return = self.check_requirement(extra_args) File "game/major_game_classes/game_logic/Action.rpy", line 60, in check_requirement return self.requirement(*extra_args) File "game/game_roles/role_city_rep.rpy", line 15, in city_rep_bribe_requirement elif "cash_bribe" in the_person.event_triggers_dict.get("bribe_attempts", []): TypeError: argument of type 'NoneType' is not iterable Windows-10-10.0.19041 Ren'Py 7.4.8.1895 Lab Rats 2 - Down to Business v0.50.1 Tue Mar 15 19:55:29 2022 [/code]

A
Adam Król · March 15, 2022

when ignore [code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 143, in script call call advance_time from _call_advance_time_4 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 375, in script call screen main_choice_display([chat_list, specific_actions_list, special_role_actions]) File "renpy/common/000statements.rpy", line 569, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "game/screens.rpy", line 282, in execute screen main_choice_display(elements_list, draw_hearts_for_people = True, draw_person_previews = True, person_preview_args = None): #Elements_list is a list of lists, with each internal list receiving an individual column File "game/screens.rpy", line 282, in execute screen main_choice_display(elements_list, draw_hearts_for_people = True, draw_person_previews = True, person_preview_args = None): #Elements_list is a list of lists, with each internal list receiving an individual column File "game/screens.rpy", line 287, in execute hbox: File "game/screens.rpy", line 293, in execute for count in __builtin__.range(len(elements_list)): File "game/screens.rpy", line 294, in execute frame: File "game/screens.rpy", line 299, in execute if isinstance(title_element, basestring): File "game/screens.rpy", line 302, in execute add title_element xalign 0.5 ypos 45 anchor (0.5,0.5) TypeError: argument of type 'Action' is not iterable -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 143, in script call call advance_time from _call_advance_time_4 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 375, in script call screen main_choice_display([chat_list, specific_actions_list, special_role_actions]) File "renpy/ast.py", line 2010, in execute self.call("execute") File "renpy/ast.py", line 1998, 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 3132, 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 3276, 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 3694, in interact_core root_widget.visit_all(lambda i : i.per_interact()) File "renpy/display/core.py", line 568, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 568, in visit_all d.visit_all(callback, seen) File "renpy/display/core.py", line 568, 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 3694, 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/screens.rpy", line 282, in execute screen main_choice_display(elements_list, draw_hearts_for_people = True, draw_person_previews = True, person_preview_args = None): #Elements_list is a list of lists, with each internal list receiving an individual column File "game/screens.rpy", line 282, in execute screen main_choice_display(elements_list, draw_hearts_for_people = True, draw_person_previews = True, person_preview_args = None): #Elements_list is a list of lists, with each internal list receiving an individual column File "game/screens.rpy", line 287, in execute hbox: File "game/screens.rpy", line 293, in execute for count in __builtin__.range(len(elements_list)): File "game/screens.rpy", line 294, in execute frame: File "game/screens.rpy", line 299, in execute if isinstance(title_element, basestring): File "game/screens.rpy", line 302, in execute add title_element xalign 0.5 ypos 45 anchor (0.5,0.5) File "renpy/sl2/sldisplayables.py", line 431, in sl2add d = renpy.easy.displayable(d, scope=scope) File "renpy/easy.py", line 130, in displayable return renpy.display.image.DynamicImage(d, scope=scope) File "renpy/display/image.py", line 567, in __init__ if ("[prefix_" in i): TypeError: argument of type 'Action' is not iterable Windows-10-10.0.19041 Ren'Py 7.4.8.1895 Lab Rats 2 - Down to Business v0.50.1 Tue Mar 15 19:56:22 2022 [/code]

D
DreadRex · March 14, 2022

``` I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 200, in script call call advance_time from _call_advance_time_6 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 477, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 200, in script call call advance_time from _call_advance_time_6 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 477, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) ScriptError: could not find label 'apply_sex_slut_modifier'. -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 200, in script call call advance_time from _call_advance_time_6 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 477, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) File "renpy/ast.py", line 1485, in execute rv = renpy.game.context().call(label, return_site=self.next.name) File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 200, in script call call advance_time from _call_advance_time_6 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 477, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) File "renpy/script.py", line 918, in lookup raise ScriptError("could not find label '%s'." % str(original)) ScriptError: could not find label 'apply_sex_slut_modifier'. Windows-10-10.0.18362 Ren'Py 7.4.8.1895 Lab Rats 2 - Down to Business v0.50.1 Tue Mar 15 00:40:44 2022 ``` Bug Found

S
Schattenjäger · March 14, 2022

Adding new stuff on top of broken stuff is just going to make everything more broken. Please spend at least one build cycle fixing all the bugs presently in the game before making any more new content!

R
RSS · March 11, 2022

I was wondering whether it was intentional for characters who like public sex to object to other people having sex in front of them. I think it would be great if either *people who liked public sex didn't object to people having sex in front of them, *a trait like "voyeurism" was added which meant they liked watching people have sex

F
FatFox · March 11, 2022

I too appreciate this game but since around two versions ago i'm getting many bugs that I did not use to get before. Mainly involving Nora going randomly missing forever. Alexia not giving me the option to start the coffee event leading up to hiring. Also most if not all versions since the City Rep has been implemented always produce 1-3 errors (the events where she shows up to confiscate etc).

s
steven hartman · March 11, 2022

I don't want to be rude. So please understand, i love the game. But i am frustrated. Before working on the next version. Why can't ALL the bugs be worked out. I mean we are at version 50.1 now and there are still game breaking bugs from previous stuff.

S
Schattenjäger · March 14, 2022

Agreed completely.

V
VitAnyaNaked · March 10, 2022

<p style="color: #008600;">I'm glad that the week of bug testing went well and you finally release LR2 v0.50.1</p>

C
Charles Caine · March 10, 2022

When I tried to seduce the lady from the City Government I get this error [code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 148, in script call call advance_time from _call_advance_time_5 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 148, in script call call advance_time from _call_advance_time_5 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) ScriptError: could not find label 'apply_sex_slut_modifier'. -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 148, in script call call advance_time from _call_advance_time_5 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) File "renpy/ast.py", line 1485, in execute rv = renpy.game.context().call(label, return_site=self.next.name) File "game/script.rpy", line 262, in script call $ picked_option.call_action() File "game/general_actions/location_actions/business_actions.rpy", line 148, in script call call advance_time from _call_advance_time_5 File "game/script.rpy", line 419, in script call $ crisis.call_action() File "game/major_game_classes/business_related/Attention_Events.rpy", line 50, in script call call attention_visit(city_rep) File "game/major_game_classes/business_related/Attention_Events.rpy", line 481, in script call call talk_person(the_person, keep_talking = False) File "game/script.rpy", line 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_city_rep.rpy", line 135, in script call call apply_sex_slut_modifier(the_person) File "renpy/script.py", line 918, in lookup raise ScriptError("could not find label '%s'." % str(original)) ScriptError: could not find label 'apply_sex_slut_modifier'. Windows-10-10.0.19041 Ren'Py 7.4.8.1895 Lab Rats 2 - Down to Business v0.50.1 Wed Mar 9 21:30:02 2022 [/code]

C
Charles Caine · March 10, 2022

I get the same error if I try to intimidate her. Bribing the City Rep works in the game as in real life.

C
Charles Caine · March 9, 2022

When I talk to Steph about the test subjects, she needs to unlock Tier 3 research I get this error [code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 259, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 383, 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 383, 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 383, 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 383, 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 383, 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 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_head_researcher.rpy", line 529, in script if __builtin__.len(mc.business.get_requirement_employee_list(core_slut_required = 40, obedience_required = 120)) <= 3: # If you don't have enough people who meet the requirements just get an update. File "game/game_roles/role_head_researcher.rpy", line 529, in if __builtin__.len(mc.business.get_requirement_employee_list(core_slut_required = 40, obedience_required = 120)) <= 3: # If you don't have enough people who meet the requirements just get an update. File "game/major_game_classes/business_related/Business.rpy", line 813, in get_requirement_employee_list if person.person_meets_requirements(**kargs): TypeError: person_meets_requirements() got an unexpected keyword argument 'core_slut_required' -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 259, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 383, 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 383, 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 383, 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 383, 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 383, 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 380, in script call $ _return.call_action(the_person) File "game/game_roles/role_head_researcher.rpy", line 529, in script if __builtin__.len(mc.business.get_requirement_employee_list(core_slut_required = 40, obedience_required = 120)) <= 3: # If you don't have enough people who meet the requirements just get an update. File "renpy/ast.py", line 1893, in execute if renpy.python.py_eval(condition): File "renpy/python.py", line 2266, in py_eval return py_eval_bytecode(code, globals, locals) File "renpy/python.py", line 2259, in py_eval_bytecode return eval(bytecode, globals, locals) File "game/game_roles/role_head_researcher.rpy", line 529, in if __builtin__.len(mc.business.get_requirement_employee_list(core_slut_required = 40, obedience_required = 120)) <= 3: # If you don't have enough people who meet the requirements just get an update. File "game/major_game_classes/business_related/Business.rpy", line 813, in get_requirement_employee_list if person.person_meets_requirements(**kargs): TypeError: person_meets_requirements() got an unexpected keyword argument 'core_slut_required' Windows-10-10.0.19041 Ren'Py 7.4.8.1895 Lab Rats 2 - Down to Business v0.50.1 Wed Mar 9 17:51:18 2022 [/code]

M
Mialamo · March 10, 2022

This is an issue with Person.person_meets_requirements which is used by Buisness.get_requirement_employee_list, core_slut_required is an argument passed to get_requirement_employee_list when checking for test subjects for the last serum stage advancement. This was part of the arguments for person_meets_requirements in 0.49.2, but was apparently removed since it was no longer in the conditions check of that function. I think I noticed the test subjects check wasn't working for a few versions and was accepting everyone, but neglected to put it in a post since I was just trying to pass through the event quickly (sorry about that). I'm guessing this is what should be the correct conditions check now. It also correctly filters anyone below 40 slutiness, even if they have arousal that boosts above that: Person.rpy lines 2270 - 2273: def person_meets_requirements(self, slut_required = 0, slut_max = 2000, obedience_required = 0, obedience_max = 2000, love_required = -200, love_max = 2000): if self.effective_sluttiness() >= slut_required and self.effective_sluttiness() <= slut_max and self.obedience >= obedience_required and self.obedience <= obedience_max and self.love >= love_required and self.love <= love_max: return True return False should be: def person_meets_requirements(self, slut_required = 0, core_slut_required = 0, slut_max = 2000, obedience_required = 0, obedience_max = 2000, love_required = -200, love_max = 2000): if self.sluttiness >= core_slut_required and self.effective_sluttiness() >= slut_required and self.effective_sluttiness() <= slut_max and self.obedience >= obedience_required and self.obedience <= obedience_max and self.love >= love_required and self.love <= love_max: return True return False

C
Charles Caine · March 9, 2022

The Daily Serum Dose duty isn't working for me. I have fifty doses of serum with only two employees with the DSD duty, with both being in the same department. I've tried to set it both for all departments and for that department with no success.

M
Mialamo · March 10, 2022

Daily Serum Dose duty issue There are actually three different issues for this thing. The employee_on_move function is not included in the employee_role instantiation. Insert at the end of the employee_role creation: , on_move = employee_on_move) This is a bit of a pain, since this change does not fix teh role for current games. You need to run this in the dev console (or some other way tyo inject this code after all the role functions are instantiated): employee_role.on_move = employee_on_move _role_definitions_.rpy lines 27-28 employee_role = Role("Employee", [employee_duty_set_action, employee_complement_action, employee_insult_action, employee_pay_cash_action, employee_performance_review, move_employee_action, employee_punishment], on_turn = employee_on_turn, on_day = employee_on_day) should be: employee_role = Role("Employee", [employee_duty_set_action, employee_complement_action, employee_insult_action, employee_pay_cash_action, employee_performance_review, move_employee_action, employee_punishment], on_turn = employee_on_turn, on_day = employee_on_day, on_move = employee_on_move) The daily_serum_dosage_duty on_day and on_move functions have an extra "self" argument which will cause errors since these functions can't use the self implicit argument. _duty_definitions.rpy lines 202, 238 202: def daily_serum_dosage_duty_on_move(self, the_person): 238: def daily_serum_dosage_duty_on_move(self, the_person): should be 202: def daily_serum_dosage_duty_on_move(the_person): 238: def daily_serum_dosage_duty_on_move(the_person): The on_day role function runs at night, when no one is in the business, but the employee_on_day function has a check if the person is in the job_location, so the duty on day functions never run. Maybe that check needs to be mc.business.is_work_day() ? However, this does not work correctly as we want to do on_day functions for nights leading into work days, not at the end of work days. I created an is_work_night Business method (like the is_work_day one) to check this in Buisness.rpy: def is_work_night(self): if not time_of_day == 4 or day % 7 == 4 or day % 7 == 5 : return False return True Then I added this to the check in employee_on_day (I don't know if the only_at_work check makes sense here or not, but I left it in): role_employee.rpy line 43 if the_person.job.job_location.has_person(the_person) or not duty.only_at_work: changed to: if mc.business.is_work_night() or not duty.only_at_work:

I
Ian Jones · March 9, 2022

Hi just downloaded and played the game, however, i could not get the duty of daily serum does to actully give serums to the workers.

M
Mialamo · March 10, 2022

Fix is in reply to below comment.

Q
Quicksilver76 · March 8, 2022

So, early thoughts. 1. Love the duties, both given how it allows you to turn the HR position into one that (sort of) spreads corruption, and more broadly, the way it differs positions more from each other. In general, duties make employees more interesting, and unlike some other new mechanics, contributes to every part of the game, not just say, the business portion. 2. On the flip side, I really dislike making Serum Testing a duty. It just slows stuff down, in my opinion, and otherwise, almost feels like a way to bloat out duties, which they really don't need. So, over all, great update. However, an early stumbling block I've kept running into, and that I think really needs to get addressed, is how low energy the protagonist is. Taking the gym system from Lab Rats 2 mods, given the room/building/what have you is already in the game, and allowing the protagonist to say, convert cash into energy, would really vastly improve the early game. Barring that, I'd have a system where the first sex goal the protagonist gets is always flirting, so as to insure they can gain more energy before having to do anything requiring it.