News:

Please request registration email again and then check your "Spam" folder

Former www.henthighschool.com

v0.3 Test version (gameplay only)

Started by Goldo, Jul 21, 2023, 09:54 PM

Previous topic - Next topic

vadi92

Quote from: GMWinters on Mar 05, 2024, 02:25 PMEr... Are achievements persistent across playthroughs?

Sure do until you delete the rpyc file.

GMWinters

Quote from: Goldo on Mar 03, 2024, 11:21 PMOkay, I'm happy to report that in the currently unreleased update:

Will that update be Soon(TM)?

AKA If I've just wandered back in looking to start a new game, should I bother waiting for that update so my playthrough can double as bug-hunting?

GoldoTopic starter

Okay, ngl what you describe is very ambitious and could only be accommodated as a mod or more likely an overhaul of the game. It has multiple impacts on UI, game balance and game loop.

I suggest fiddling with the game on your own private build, and try to create the base brothel UI and workflow you're aiming for. I can provide details on how the current game works, but I'm afraid if you're new to this odds are it's a lot more than what you could chew at first.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!

GMWinters

Quote from: Goldo on Mar 07, 2024, 11:50 AMOkay, ngl what you describe is very ambitious

Yeah, in retrospect I was assuming that the various rooms were all their own variable and the 'custom brothels' would just each have a unique piece of furniture with the relevant plusses and minuses.

But on reevaluation, if I'm reading the brothel bits of init_variables correctly, then those numbers are actually all pulling from a single value which would mean any changes would rapidly spaghetti outwards as anything that read that value would need to be changed to accommodate having 4 of them instead of 1.

LonerAoshi

Apologies if these have already been raised, but I couldn't find it with a search.

There appears to be a bug with swapping girls between the brothel and farm when both are full. Swapping them results in the girl that was moved from the farm to the brothel (Girl 1) showing up in the end of night report doing whatever she was last assigned to do in the farm as well as whatever she was assigned to do in the brothel, and the girl that was moved from the brothel to the farm (Girl 2) is not mentioned at all. If you look at the Farm Training Menu for the Girl 2, her name is in the title but Girl 1 is in the menu itself. I think something is going wrong with farm.programs, but I can't work out what. I tested this without any mods, but with some personal tweaks. I didn't touch the farm system, so you should be able to reproduce it. If not, apologies in advance.

Another old bug relates to Willow's relative never returning after her initial visit. Lines 8253 and 8514 in BKstory_events.rpy should be something like:
$ calendar.set_alarm(calendar.time + 28, Event(label = "willow_relative_returns"))
Finally, I wasn't sure if it was something else I did while poking around, but that farm display error when rolling back/reloading during the night phase is still occurring, even if the farm isn't unlocked. It only happens when rolling back/reloading, though. Again, I didn't poke around the farm system, but apologies if this ends up being because of something I did. On a new save with the farm not unlocked, it shows up like this:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKendday.rpy", line 1077, in script call
    call show_night_event(ev) from _call_show_night_event
  File "game/BKevents.rpy", line 784, in script
    python:
  File "game/BKevents.rpy", line 788, in <module>
    raise AssertionError("Error displaying text: %s. Farm debug log: %s" % (text_descript, str(debug_night_text)))
NameError: name 'text_descript' is not defined

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKendday.rpy", line 1077, in script call
    call show_night_event(ev) from _call_show_night_event
  File "game/BKevents.rpy", line 784, in script
    python:
  File "D:\Games\Brothel_King-0.3t\renpy\ast.py", line 1138, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "D:\Games\Brothel_King-0.3t\renpy\python.py", line 1122, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKevents.rpy", line 788, in <module>
    raise AssertionError("Error displaying text: %s. Farm debug log: %s" % (text_descript, str(debug_night_text)))
NameError: name 'text_descript' is not defined

Windows-10-10.0.19041 AMD64
Ren'Py 8.1.1.23060707
Brothel King 0.3t v230923
Fri Mar 22 22:53:16 2024

Thanks for all the work you've put into the game Goldo, it's really impressive.

GoldoTopic starter

Quote from: LonerAoshi on Mar 22, 2024, 12:08 PMApologies if these have already been raised, but I couldn't find it with a search.

There appears to be a bug with swapping girls between the brothel and farm when both are full. Swapping them results in the girl that was moved from the farm to the brothel (Girl 1) showing up in the end of night report doing whatever she was last assigned to do in the farm as well as whatever she was assigned to do in the brothel, and the girl that was moved from the brothel to the farm (Girl 2) is not mentioned at all. If you look at the Farm Training Menu for the Girl 2, her name is in the title but Girl 1 is in the menu itself. I think something is going wrong with farm.programs, but I can't work out what. I tested this without any mods, but with some personal tweaks. I didn't touch the farm system, so you should be able to reproduce it. If not, apologies in advance.
Good find, I can confirm this is a bug. You can fix it by removing this line:
$ farm.change_program(girl, prog)In BKevents.rpy around line 3703.

QuoteAnother old bug relates to Willow's relative never returning after her initial visit. Lines 8253 and 8514 in BKstory_events.rpy should be something like:
$ calendar.set_alarm(calendar.time + 28, Event(label = "willow_relative_returns"))
Good call again! Thank you.

QuoteFinally, I wasn't sure if it was something else I did while poking around, but that farm display error when rolling back/reloading during the night phase is still occurring, even if the farm isn't unlocked. It only happens when rolling back/reloading, though. Again, I didn't poke around the farm system, but apologies if this ends up being because of something I did.
I think I fixed it in the current build, we will see when it is ready for testing.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!

LonerAoshi

#246
Some errors regarding BKchapter3.rpy:

Line 1565:
"Choose a girl from your brothel to bring with you (reminder: she must have at least 75 in Service, Beauty and Libido, and be open to whoring)"This line is shown no matter what the actual requirements are, instead of referencing what the required stats are.

Lines 1516-1519 are asking for charisma as a stat instead of charm. Should be something like this instead:
            "Bring a whore to Papa with at least {b}75 in Sex, Charm and Sensitivity{/b}."

            $ game.set_task("Bring a whore to Papa with at least {b}75 in Sex, Charm and Sensitivity{/b}.", "special")
            $ NPC_freak.flags["requirements"] = [("sex", 75), ("charm", 75), ("sensitivity", 75)]
If you are stuck, you can use the last line in console to set the correct requirements.

Papa Freaks cell construction code has an if block that never runs, due to incorrect ordering, lines 1721-1741:
            elif NPC_freak.flags["cells built"] < 4:
                you "So this is it, then?"

                papa "Well... There is one more elemental cell I could restore, but you didn't ask me about it..."

                you "Which one?"

                papa "The Air and Fire ward room. It blocks not one but two elements. Nice, isn't it?"

                you "Yeah... But I have no need to imprison someone with one of those elements."

                papa "Not now you don't, but if the eventuality presented itself, wouldn't it be nice to have a cell ready?"

                you "*sigh* What do you want for it?"

            elif NPC_freak.flags["cells built"] < 3:
                you "Can you build me any more holding cells?"

                papa "Can I? Sure. But will I? There needs to be something in it for me..."

                you "All right. Name your poison."
The ["cells built"] < 3 block should be above the < 4 block, I think.

There's an issue with the Lieutenant's hint about Haruka, for some reason her image_tag is not being set, resulting in this:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKmain.rpy", line 160, in script call
    $ selected_district = ui.interact()
  File "game/BKchapter3.rpy", line 221, in script call
    call c3_hint(npc, nin) from _call_c3_hint
  File "game/BKchapter3.rpy", line 386, in script
    show expression npc.char.image_tag
Exception: Not a displayable: None

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKmain.rpy", line 160, in script call
    $ selected_district = ui.interact()
  File "game/BKchapter3.rpy", line 221, in script call
    call c3_hint(npc, nin) from _call_c3_hint
  File "game/BKchapter3.rpy", line 386, in script
    show expression npc.char.image_tag
  File "D:\Games\Brothel_King-0.3t\renpy\ast.py", line 1428, in execute
    show_imspec(self.imspec, atl=getattr(self, "atl", None))
  File "D:\Games\Brothel_King-0.3t\renpy\ast.py", line 1385, in show_imspec
    expression = renpy.easy.displayable(expression)
  File "D:\Games\Brothel_King-0.3t\renpy\easy.py", line 145, in displayable
    raise Exception("Not a displayable: %r" % (d,))
Exception: Not a displayable: None

Windows-10-10.0.19041 AMD64
Ren'Py 8.1.1.23060707
Brothel King 0.3t v230923
Wed Mar 27 13:51:53 2024
I have no idea where to fix this, but for anyone that is stuck right now, open the console just before you click on "Ask about Haruka, the Earth Kunoichi" and type in:
$ NPC_lieutenant.char.image_tag = "lieutenant"
Some image issues: when talking to Stella, her image is not being resized to fit the window, and ends up cutting her off from her tits up. When talking to Gurigura, she is shown twice (side by side) along with Katryn.

Cheers Goldo!

Edit: BKscreens lines 4589-4593:
                text "{b}Forecast{/b}" size res_font(18) yalign 0.0 drop_shadow (2, 2)
                frame xfill True xpadding 10 ypadding 10:
                    has vbox spacing 12
                    text brothel.count_customers_description() color c_prune size res_font(14)
                    text brothel.count_budget_description() color c_prune size res_font(14)
This block needs to be indented in line with line 4570, otherwise it ends up being offscreen.

Grapes106

Quote from: YPJ on Oct 11, 2023, 08:44 PM5. looks like my safe is broken, i have goal "Talk to Suzume again about Narika" like 4 weeks and nothing happens and when i talk to Suzume i got message "<PLACEHOLDER> UNLOKING Narika EVENT CHAIN (Not implemented yet)".

Same problem.
I talked to Suzume, the Magic Garden blinked and got message "<PLACEHOLDER> UNLOCKING Narika EVENT CHAIN (Not implemented yet)"

So can't advance to chapter 4.

LonerAoshi

#248
Quote from: Grapes106 on Mar 29, 2024, 04:09 PM
Quote from: YPJ on Oct 11, 2023, 08:44 PM5. looks like my safe is broken, i have goal "Talk to Suzume again about Narika" like 4 weeks and nothing happens and when i talk to Suzume i got message "<PLACEHOLDER> UNLOKING Narika EVENT CHAIN (Not implemented yet)".

Same problem.
I talked to Suzume, the Magic Garden blinked and got message "<PLACEHOLDER> UNLOCKING Narika EVENT CHAIN (Not implemented yet)"

So can't advance to chapter 4.
Have a look at the FAQ, you need to use the three lines given there. If you select each one, you can copy and paste all three into the console. If the advance button still doesn't appear, try using this in the console:
game.set_task(None, "special")You should only need that one if you tried to build Papa Freak's second cell. That one is currently bugged, and even if you use the line I posted above in the bug report, the bugged task will still be there.

Mudpony

Having played this version a bit now, some thoughts on the "tax" from the Slaver's Guild:

1) The amount owed needs to be in the UI somewhere, maybe on the main brothel screen. I had one game over because I was thinking the amount was X, but it was actually 10k higher than that. A simple good on my part, but it is 15 in game days between when you are told the amount and you have to pay it. Furthermore, there's no assurance of how much real time will pass between when you are told the number and when the player will hit the first of the month.

The Brothel Report would seem like a natural fit for this info, though if that route is used, Sill should let the player know the info is there. And maybe she should prod the player about the amount owed as it gets close.

2) The need to build up a lot of money means the threat level increases in the latter half of the month, meaning you either need to have extra security all the time or else do some micromanaging. And as the amounts of money required continue to increase, I can only see this getting worse.

What I'd like to see is a physical location for the guild, that you can visit and opt to pay off a chunk or all of the amount owed early. This could also be added as a new button on the "slave market" window. I'd say it should cost an action point or two to make a payment, due to it being a bit of a hassle for your character, providing a bit of an incentive to not do it daily, but still mitigate the massive up and downs.

Calob

Quote from: Mudpony on Apr 14, 2024, 06:45 AM1) The amount owed needs to be in the UI somewhere, maybe on the main brothel screen.

Mouse over your gold total, your tax due and due date should appear there.

Mudpony

Quote from: Calob on Apr 14, 2024, 05:09 PM
Quote from: Mudpony on Apr 14, 2024, 06:45 AM1) The amount owed needs to be in the UI somewhere, maybe on the main brothel screen.

Mouse over your gold total, your tax due and due date should appear there.
Thanks for the info. That will make it easier going forward.

The spot isn't ideal, though, considering this is a mechanic that can result in game over. So amended feedback:
That amount owed should be on the main Brothel UI, perhaps on the left side of the screen, rather than shown as a pop up when hovering over gold.

Alpha_and_omega

#252
Quote from: Mudpony on Apr 15, 2024, 04:58 AM
Quote from: Calob on Apr 14, 2024, 05:09 PM
Quote from: Mudpony on Apr 14, 2024, 06:45 AM1) The amount owed needs to be in the UI somewhere, maybe on the main brothel screen.

Mouse over your gold total, your tax due and due date should appear there.
Thanks for the info. That will make it easier going forward.

The spot isn't ideal, though, considering this is a mechanic that can result in game over. So amended feedback:
That amount owed should be on the main Brothel UI, perhaps on the left side of the screen, rather than shown as a pop up when hovering over gold.

Instead of always showing the amount, a colour indicator on the current gold could be useful.
White = no taxation (start of game or beginning of month)
Red = current gold < tax to be paid
Green = current gold > tax to be paid


Other subject, the "apple-bug" still exists. Happens when using a healing-apple on a hurt girl. Other food does not seem to cause the bug. The bug was first reported in August 2023, but since it still exists despite some hotfixes in between, I report it again.
Spoiler
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1608, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1323, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 472, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "C:\Program Files (x86)\Games\WoH\BK\BK Game\Brothel_King-0.3t - real\Brothel_King-pc\renpy\ast.py", line 1138, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Program Files (x86)\Games\WoH\BK\BK Game\Brothel_King-0.3t - real\Brothel_King-pc\renpy\python.py", line 1122, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1608, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1323, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 472, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting

Windows-10-10.0.19045 AMD64
Ren'Py 8.1.1.23060707
Brothel King 0.3t v230805
Wed Apr 24 15:02:05 2024



Quote from: Hermenegild on Aug 13, 2023, 08:20 PMCrash when giving an apple to a girl:
Spoiler
Full traceback:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "D:/gry\BrothelKing-0.3/renpy/ast.py", line 1138, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "D:/gry\BrothelKing-0.3/renpy/python.py", line 1122, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1563, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1332, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 475, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting

While running game code:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1563, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1332, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 475, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting
[close]

The fix is to roll back, save, edit the str_dec() function in lines 474-475 of BKfunctions.rpy to look like this:
    def str_dec(nb, decimals=2): # Returns a string of either an integer or a float, depending on the nb of decimals available
        format = "%%.%df" % decimals
        return ((format % nb).rstrip("0")).rstrip(".")
reload your game and try again.

[close]
EDIT : The proposed fix from August does not work. I found that the apple item has a different structure than other healing food.
It has "gain" to heal, instead of "instant" heal
                            Item(name = 'Apple', target = 'girl', type = IT_Food, pic = 'Apple.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'beauty', 5, duration=10), Effect('gain', 'heal', 1, 0.5)), description =  "An apple a day keeps the doctor away."),
                            Item(name = 'Pear', target = 'girl', type = IT_Food, pic = 'Pear.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'body', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Peach', target = 'girl', type = IT_Food, pic = 'Peach.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'charm', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Grapes', target = 'girl', type = IT_Food, pic = 'Grapes.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'refinement', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Sausage', target = 'girl', type = IT_Food, pic = 'Sausage.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 75, effects = (Effect('change', 'libido', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Cheese', target = 'girl', type = IT_Food, pic = 'Cheese.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 75, effects = (Effect('change', 'sensitivity', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Chicken', target = 'girl', type = IT_Food, pic = 'Chicken.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 90, effects = (Effect('change', 'obedience', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
I will change the apple-heal to be instant and see if the game continues to crash

GoldoTopic starter

Quote from: Alpha_and_omega on Apr 24, 2024, 01:09 PM
Quote from: Mudpony on Apr 15, 2024, 04:58 AM
Quote from: Calob on Apr 14, 2024, 05:09 PM
Quote from: Mudpony on Apr 14, 2024, 06:45 AM1) The amount owed needs to be in the UI somewhere, maybe on the main brothel screen.

Mouse over your gold total, your tax due and due date should appear there.
Thanks for the info. That will make it easier going forward.

The spot isn't ideal, though, considering this is a mechanic that can result in game over. So amended feedback:
That amount owed should be on the main Brothel UI, perhaps on the left side of the screen, rather than shown as a pop up when hovering over gold.

Instead of always showing the amount, a colour indicator on the current gold could be useful.
White = no taxation (start of game or beginning of month)
Red = current gold < tax to be paid
Green = current gold > tax to be paid


Other subject, the "apple-bug" still exists. Happens when using a healing-apple on a hurt girl. Other food does not seem to cause the bug. The bug was first reported in August 2023, but since it still exists despite some hotfixes in between, I report it again.
Spoiler
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1608, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1323, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 472, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "C:\Program Files (x86)\Games\WoH\BK\BK Game\Brothel_King-0.3t - real\Brothel_King-pc\renpy\ast.py", line 1138, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Program Files (x86)\Games\WoH\BK\BK Game\Brothel_King-0.3t - real\Brothel_King-pc\renpy\python.py", line 1122, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1608, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1323, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 472, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting

Windows-10-10.0.19045 AMD64
Ren'Py 8.1.1.23060707
Brothel King 0.3t v230805
Wed Apr 24 15:02:05 2024



Quote from: Hermenegild on Aug 13, 2023, 08:20 PMCrash when giving an apple to a girl:
Spoiler
Full traceback:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "D:/gry\BrothelKing-0.3/renpy/ast.py", line 1138, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "D:/gry\BrothelKing-0.3/renpy/python.py", line 1122, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1563, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1332, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 475, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting

While running game code:
  File "game/BKmain.rpy", line 1504, in script
    $ r = counterpart.use_item(it)
  File "game/BKmain.rpy", line 1504, in <module>
    $ r = counterpart.use_item(it)
  File "game/BKgirlclass.rpy", line 1563, in use_item
    changes.add(e.target.capitalize() + ": %s" % plus_text(c))
  File "game/BKfunctions.rpy", line 1332, in plus_text
    nb_txt = str_dec(nb, decimals)
  File "game/BKfunctions.rpy", line 475, in str_dec
    return ((("%." + str(decimals) + "f") % nb).rstrip("0")).rstrip(".")
TypeError: not all arguments converted during string formatting
[close]

The fix is to roll back, save, edit the str_dec() function in lines 474-475 of BKfunctions.rpy to look like this:
    def str_dec(nb, decimals=2): # Returns a string of either an integer or a float, depending on the nb of decimals available
        format = "%%.%df" % decimals
        return ((format % nb).rstrip("0")).rstrip(".")
reload your game and try again.

[close]
EDIT : The proposed fix from August does not work. I found that the apple item has a different structure than other healing food.
It has "gain" to heal, instead of "instant" heal
                            Item(name = 'Apple', target = 'girl', type = IT_Food, pic = 'Apple.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'beauty', 5, duration=10), Effect('gain', 'heal', 1, 0.5)), description =  "An apple a day keeps the doctor away."),
                            Item(name = 'Pear', target = 'girl', type = IT_Food, pic = 'Pear.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'body', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Peach', target = 'girl', type = IT_Food, pic = 'Peach.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'charm', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Grapes', target = 'girl', type = IT_Food, pic = 'Grapes.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 50, effects = (Effect('change', 'refinement', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Sausage', target = 'girl', type = IT_Food, pic = 'Sausage.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 75, effects = (Effect('change', 'libido', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Cheese', target = 'girl', type = IT_Food, pic = 'Cheese.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 75, effects = (Effect('change', 'sensitivity', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
                            Item(name = 'Chicken', target = 'girl', type = IT_Food, pic = 'Chicken.webp', template = True, rank = 1, max_rank = 6, rarity = 1, charges = 1, price = 90, effects = (Effect('change', 'obedience', 5, duration=10), Effect('instant', 'heal', 1, 0.5)), ),
I will change the apple-heal to be instant and see if the game continues to crash

Good catch, that's probably it.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!