News:

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

Former www.henthighschool.com

New _BK.ini for v0.3

Started by Goldo, Mar 31, 2023, 03:41 PM

Previous topic - Next topic

GoldoTopic starter

Dear all,

Although v0.3 is still some time away, I wanted to share the newest version of _BK.ini with you guys in advance so that you can see what changes are coming, and maybe start preparing for it in your girl packs.

Very important: 0.3 will not break existing _BK.ini files. You don't have to change anything if you don't want to.

One thing that will be different in 0.3 is that same-line comments will accept both the legacy semi-colon ' ;' and the hashtag '#', which is mostly cosmetic but more 'pythonic'.

New keywords include the ability to add a description for your girl pack that will display in the 'Girl mix' screen, and player requests such as choosing where a free girl will generate. If you would like to have the option to configure more things with _BK.ini, now is the right time to request it.

####        BOA HANCOCK GIRL PACK       ####
###     _BK.ini template for BK v0.3     ###

## This optional file contains advanced config data about a particular girl.
## Variables you don't need can be left out/deleted.
## The file should be named '_BK.ini' and dropped inside the relevant girl folder.
## Full line comments are introduced with a double hash (##)
## Same line comments are added using a hash (#) or a semi-colon sign (;)
## Note: Cloning Options are now part of each section, but legacy format with a dedicated [cloning options] section is still supported.


[identity]

## Girl Name ##

first_name = "Hancock"      # If absent or empty, first name will be randomized
last_name = "Boa"             # If absent or empty, no last name will be used
inverted_name = True         # If True, the full name will display the last name before the first name, e.g.: 'Boa Hancock'

## Girl Pack Data ##

creator = "Goldo"           # Your name as you would like it to be remembered for the ages
version = "v2023_03_27"     # Version is displayed in the girl mix screen and should help players find out how up to date your girl pack is. You can use any format you prefer.
description = "A sample _BK.ini file to illustrate the basic customization features." # Description will be displayed in the girl mix screen.

## Cloning Options ##
## These options define how 'clones' of the original girl behave at generation.
## There can be only one original girl at once in the game, and any number of clones.
unique = False              # If True, clones will not spawn, only the original girl. All the other cloning options will have no effect.
keep_first_name = False     # If True, clones will keep the same first name
keep_last_name = True       # If True, clones will keep the same last name
keep_inverted = True        # If True, clones will keep the same options for inverted names


[base skills]

## Girl Skills ##
## Rank starting skills from 1 to 5 (1 is terrible, 3 is average, 5 is superb. The game will add some variation.)
## Leave it out or set the value to 0 for a randomized skill level

beauty = 5
body = 0
charm = 0
refinement = 0
libido = 0
obedience = 0
constitution = 0
sensitivity = 0

## Cloning Options ##
keep_skills = True  # If True, clones will keep the same base skill repartition


[base positive traits]

## A girl may only have 2 positive traits in vanilla BK. Gold traits are included in positive traits.
## Trait names must be between quotes (""), spelled exactly as they are in-game. See BKtraits.rpy for the full list of trait names.

## The girl will ALWAYS have these traits (up to maximum nb of traits). Use with caution as it makes girl generation very predictable.
always = []

## The girl will more often have these traits than normal.
often = ["Long legs", "Nice boobs", "Resilient", "Good tits", "Seductive", "Beautiful", "Fit", "Tough", "Sexy", "Brave", "Strong"]

## The girl will less often have these traits than normal.
rarely = ["Sweet", "Meek", "Obedient", "Humble", "Naughty"]

## The girl will NEVER have these traits.
never = []


[base negative traits]

## Reminder, in vanilla BK a girl may only have 1 negative trait.
## Trait names must be between quotes (""), spelled exactly as they are in-game. See BKtraits.rpy for the list of trait names.

## the girl will ALWAYS have these traits (up to maximum nb of traits). Use with caution as it makes girl generation very predictable.
always = []

## The girl will more often have these traits than standard girls.
often = ["Mean", "Cold", "Rough", "Defiant", "Distrustful", "Brutal"]

## The girl will less often have these traits than standard girls.
rarely = ["Plain", "Weak", "Scruffy", "Frail", "Vulnerable"]

## The girl will NEVER have these traits.
never = []

## Cloning Options ##
keep_traits = True  # If True, clones will keep the same base positive and negative trait settings.


[base personality]

## Standard Personality Settings ##
## There are 24 personality types in the game. You can add a custom one.
## A girl can have only one personality. See 'gpersonalities' in BKinit_variables.rpy for the list of personality names.

always = [] # Use with care: it makes girl generation very predictable.
often = ["cold", "superficial"]
rarely = ["sweet", "nerd"]
never = ["meek"]

## Cloning Options ##
keep_personality = True     # If True, clones will keep the same personality (and custom personality) options


[custom personality]

## Custom Personality Settings ##
## You can set a custom personality for the girl here. This will override the 'Base personality' settings
## See 'gpersonalities' in BKinit_variables.rpy for examples of game personalities

custom_personality = False          # set to True to use a custom personality. This will override the 'Base personality' settings.
personality_name = ""               # give a name to that personality (warning: using an existing personality name will override that personality)
description=""                      # this text will display in the magic notebook when a girl's personality is known
attributes = ("", "")               # list a pair of attributes the personality will always have (warning: having more than 2 will cause bugs).
dialogue_personality_weight=3       # how much weight personality-based lines will be given compared to attribute-based and generic dialogue
dialogue_attribute_weight=1         # how much weight attribute-based lines will be given compared to personality-based and generic dialogue
personality_dialogue_only = None    # A list of topics (with quotes, between [] brackets) for which only personality-based dialogue is allowed (e.g. ["slave first visit", "slave train beg"]). All topics can be found in BKdialogue.rpy.

## Custom Dialogue Label ##
## If provided (as a string, between quotes), refers to a custom label that will be called before dialogue is processed
## The label must take the following arguments: girl, topic. This allows the application of advanced game logic.
## See Boa Hancock _events.rpy by Goldo for an example.

custom_dialogue_label="boa_custom_dialogue"


[tastes]

## Tastes are used in chatting dialogue, and for flavor only. You may include answers that are not in vanilla choices.
## Leave the line out or set it to 'None' (without quotes) to randomize

favorite_color = "red"
favorite_food = "hot pot"
favorite_drink = "rhum"

disliked_color = "green"
disliked_food = "devil fruit"
disliked_drink = "beer"

hobbies = ["ruling", "kicking small animals"] # Hobbies must be a list of two items.


[sexual preferences]

## Sex Acts ##
## You can choose positive or negative acts which will be generated more often for this girl (possible choices are: "naked", "service", "sex", "anal", "fetish", "bisexual" and "group").

favorite_acts = ["bisexual"] # (Boa Hancock comes from an all-girl island and resents men)
disliked_acts = []

## Fixations ##
## You can choose positive or negative fixations which will be generated more often for this girl. Fixations names are found in 'fix_dict' in the 'BKinit_variables.rpy' file

always_fixations = []           # Always positive. Use with care: it makes girl generation very predictable.
never_fixations = []            # Never positive.
favorite_fixations = []         # More chance of generating as positive fixation, less as negative.
disliked_fixations = []         # More chance of generating as negative fixation, less as position.
always_negative_fixations = []  # Always negative. Use with care: it makes girl generation very predictable.
never_negative_fixations = []   # Never negative.

## Prior Sexual Experience ##
sexual_experience = "average"   # How much sexual experience she has prior to meeting the player. You can choose between the following: "very experienced", "experienced",  "average", "inexperienced", "very inexperienced", "random". If left out or empty, a random level of experience will be chosen.

## Farm weakness ##
farm_weakness = "beast"         # choose between the following values: "stallion", "beast", "monster", "machine", "random"

## Cloning Options ##
keep_sex = True                 # If True, clones will keep the same sexual preferences, experience and weaknesses.


[background story]

## Girl Generation ##
generate_as = "all"             # Can be set to 'all' or restricted to 'free', 'slave' or 'story'. Story girls never generate on their own, only during custom events.
generate_in = "all"             # Can be set to "all" or a district or location name that must be spelled exactly as in game (including the 'The' article for districts). Handles where the girl will generate as a free girl. No effect on slave girls.
move_after_meeting = True       # Used with the generate_in option (default=True). If True, free girls will move from their starting location normally each week after they have their first interaction with the player. If False, they remain in place.

## Origin ##
## You can provide a custom origin (if you do, make sure to include the origin description below), or just "random".
## Origin description must be written in the girl's own words

origin = "Amazon Lily"
origin_description = "Amazon Lily is the island of the Kuja, an all-female warrior tribe. Pirates often raid us because we make prized sex slaves, but we give them a hell of a time when they try."

## Basic Story ##
## Random slave story: write the story name(s) between quotes, as found in BKinit_variables.rpy (e.g. "slave_story1", "slave_story2"...)

always_slave_story = []
often_slave_story = []
rarely_slave_story = []
never_slave_story = []

## Custom Story ##
## If provided, this label will be called instead of a random back-story. It must take 'girl' as an argument. Replaces the random slave story above.
## See the 'slave_story' labels in BKinteractions.rpy for examples of how it might work (feel free to set up the events very differently)

story_label = None # provide the custom label name (between quotes)

## Custom City Event ##
## If provided, this label will be called instead of normal city interactions. It must take 'girl' as an argument.
## The regular dialog options can be called from within this custom label by using 'call free_girl_talk(girl)'

city_label = "boa_hancock_city" # provide the custom label name (between quotes)

## Custom Night Event ##
## If provided, this label will be called every night. It must take the 'girl' argument. This could be useful to increment some values, run some tests or reset interactions.
## It is recommended that such labels run silent and add a StoryEvent if necessary.

night_label = "boa_hancock_night_check" # provide the custom label name (between quotes)

## Custom Interaction ##
## This adds a custom button to the regular slave interact menu. Leave it out or set value to None or empty brackets if you are not using it.

interact_prompt = ("Visit her room", "boa_hancock_interact", 1) # The first string refers to the caption of the button. The second is the label which will be called upon clicking the button. The integer is the AP cost (for UI display only, it isn't deducted from MC actions outside of your label code for flexibility). It must take 'girl' as an argument.

## Custom Initialization Function ##
## If provided, this function will be called when a girl with this template is created, after randomization.
## Write the function in an init block in _events.rpy or another custom .rpy file.
## It must take 'girl' as an argument. It must not interrupt game flow (python only, no ren'py calls or jumps).

init_function = "my_dumb_function" # provide a custom function name that is called after girl creation (between quotes)

## Cloning Options ##
keep_generate_as = True     # If False, clones will be generated both as slave and free girls regardless of the original setting. True will keep the 'generate_in' setting as well
keep_background = True      # If True, clones will keep the same origin and background story events
keep_interactions = True    # If True, clones will keep the same interactions options and custom city/night events
keep_init = True            # If True, clones will keep the same init function


[cloning options]
## This section is no longer needed, but still supported for legacy girl packs (and will remain supported in the future).

#### END OF FILE ####


If you want to add the new keywords in your _BK.ini file you can do it right now (they will simply not show in 0.2), but I strongly recommend deleting all same-line comments in your release to avoid compatibility issues in v0.2 where they don't work well. The example given below wouldn't work as-is in 0.2, for instance.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!

darkzerotor

Quotegenerate_in = "all"             # Can be set to "all" or a district or location name that must be spelled exactly as in game (including the 'The' article for districts). Handles where the girl will generate as a free girl. No effect on slave girls.
so what happen if for example i generate a girl in the slum. will she move around the slum every week or she just gonna stay put in 1 random place.
also is "all" can only be 1 location or you can have muti location in the code?

GoldoTopic starter

For now only one location or district. If set to a district, the girl will still move around the district but not to other districts' locations.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!

DougTheC

Goldo,
Please also change to recognize same-line comments that have a semicolon / # without a preceding space, as that has tripped up more than one creator. Space following the semicolon/# are probably already not required.

Does the parser exempt literals content when checking for in-line comment markers? (Possibly in filenames etc.)
I predict that May 5, 2022, the US Dow Jones index will drop over 1,063 points.
It's a sure thing.

If we believe absurdities we shall commit atrocities. -- Voltaire
-
Advice from the radio: Wash your hands, often with soap and water.
-
My doctor put me on the Pro Plan® Bright Mind™ diet.

GoldoTopic starter

Quote from: DougTheC on Apr 11, 2023, 07:22 AMGoldo,
Please also change to recognize same-line comments that have a semicolon / # without a preceding space, as that has tripped up more than one creator. Space following the semicolon/# are probably already not required.

Does the parser exempt literals content when checking for in-line comment markers? (Possibly in filenames etc.)

Sure, it's already done for the new version (hence why the space ';' is not mentioned in the _BK.ini template comments).

PS: When using v0.2, I recommend taking out all same line comments just to be on the safe side. I'm not even convinced the space + semi-colon completely works.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!

Yasaki74

It would be nice if you could add like options to change the girl personalities like favorite drinks, food, favorite color ;D  ;D  ;D

Minxin

Looking forward to version 0.3. ;)
I made the "Brothel King" and "Tagging Tool" Chinese translation: https://github.com/XyMinxin/Brothel-King-Chinese-Translate
我制作的《青楼之王》以及《标签工具》的中文翻译: https://github.com/XyMinxin/Brothel-King-Chinese-Translate

GoldoTopic starter

#7
Quote from: Yasaki74 on May 08, 2023, 11:12 AMIt would be nice if you could add like options to change the girl personalities like favorite drinks, food, favorite color ;D  ;D  ;D

Done! It will be in 0.3. (File sample edited above)
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!

darksythe53

Sorry for necroing this thread, wasn't sure if I should post here or in the 0.3 beta thread.

Would it be possible to add something that allowed for Maximum/ Minimum level generation? For instance, don't let girl A spawn below level 8 or girl B spawn above level 3?

If that isn't possible would there be an option to only let girls spawn at C rank/ level 1?

Just asking because I have a few custom girls that I like to pick up from level 1 whenever possible but if its not real feasible that's ok.

GoldoTopic starter

Quote from: darksythe53 on Sep 02, 2023, 12:02 AMSorry for necroing this thread, wasn't sure if I should post here or in the 0.3 beta thread.

Would it be possible to add something that allowed for Maximum/ Minimum level generation? For instance, don't let girl A spawn below level 8 or girl B spawn above level 3?

If that isn't possible would there be an option to only let girls spawn at C rank/ level 1?

Just asking because I have a few custom girls that I like to pick up from level 1 whenever possible but if its not real feasible that's ok.

I would rather limit by rank than level because I don't really see the need to tweak on a level by level basis but yes, it can be done.

Question though; I don't understand your last remark: Even if you limit girl generation to level 1 or rank C, it doesn't make her random generation more probable. She will have the same chance to generate at the beginning of the game as other girls, but zero chance to generate at higher ranks/levels.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!

darksythe53

For the vast majority of girls, I don't mind the randomization. For the select few custom ones I kind of like to grab them at a lower rank/ level so I can fully level them up myself. I don't mind if they have a low chance at spawning, I would just rather find them at a lower rank.

neronero

#11
Quote from: darkzerotor on Apr 03, 2023, 08:01 PM
Quotegenerate_in = "all"            # Can be set to "all" or a district or location name that must be spelled exactly as in game (including the 'The' article for districts). Handles where the girl will generate as a free girl. No effect on slave girls.
so what happen if for example i generate a girl in the slum. will she move around the slum every week or she just gonna stay put in 1 random place.
also is "all" can only be 1 location or you can have muti location in the code?
Quote from: Goldo on Apr 04, 2023, 08:25 AMFor now only one location or district. If set to a district, the girl will still move around the district but not to other districts' locations.
I see some people on F95zone who instinctively want to put multiple locations in this box.
Just thought I'd make a mention of that here. And also, I'm curious to know what happens if they do that. (edit: Actually scratch that, looking at the files now and if they do that, the AssertionError makes it pretty clear that something is wrong.
My Girl Packs: [ link ] - Trait King mod: [ link ]

Yasaki74

@Goldo
can you add in like where you can change girls social skills
like extravert, ambivert, introvert

or you can apply the basic type A/B/C/D Personalities:

Type A: Perfectionist, impatient, competitive, work-obsessed, achievement-oriented, aggressive, stressed.
Type B: Low stress, even-tempered, flexible, creative, adaptable to change, patient, tendency to procrastinate.
Type C: Highly conscientious, perfectionist, struggles to reveal emotions (positive and negative).
Type D: Worrying, sad, irritable, pessimistic, negative self-talk, avoidance of social situations, lack of self-confidence, fear of rejection, appears gloomy, hopeless.

or the Big Five Personality Traits: This model proposes five broad dimensions of personality: Openness, Conscientiousness, Extraversion, Agreeableness, and Neuroticism.

Yes, I search this up on chat-gpt, and it's a real thing and if you want to burnt yourself out there's 16 lmao

GoldoTopic starter

Quote from: Yasaki74 on Nov 09, 2023, 03:44 PM@Goldo
can you add in like where you can change girls social skills
like extravert, ambivert, introvert

or you can apply the basic type A/B/C/D Personalities:

Type A: Perfectionist, impatient, competitive, work-obsessed, achievement-oriented, aggressive, stressed.
Type B: Low stress, even-tempered, flexible, creative, adaptable to change, patient, tendency to procrastinate.
Type C: Highly conscientious, perfectionist, struggles to reveal emotions (positive and negative).
Type D: Worrying, sad, irritable, pessimistic, negative self-talk, avoidance of social situations, lack of self-confidence, fear of rejection, appears gloomy, hopeless.

or the Big Five Personality Traits: This model proposes five broad dimensions of personality: Openness, Conscientiousness, Extraversion, Agreeableness, and Neuroticism.

Yes, I search this up on chat-gpt, and it's a real thing and if you want to burnt yourself out there's 16 lmao

All the options to add custom personalities are already in _BK.ini. Although it isn't for the faint of heart and requires writing some code, so I recommend just using one of the 24 presets, which should be plenty to choose from regardless of which personality model has your favor.
Maker of BK. Looking for the latest patch for BK 0.2? The link doesn't change, so bookmark it!