CREATE YOUR AI CUM SLUT ON CANDY.AI TRY FOR FREE
x

Brothel King - Girl packs and Mods Collection

4.00 star(s) 2 Votes

YaBoiDeath

Member
Sep 20, 2021
190
209
Got some new ones today:
Cally3D Fredina Fazclaire:
Warning: furry content

geisha swim (00000).jpeg
Racial Pack: Charizard
Warning: furry/anthro content

profile (00000).jpg
 

enzokpo1912

Member
Jun 6, 2017
133
432
Name: Harley Quinn
Universe: Marvel/DC
Pics: 800
Type: Comic/Movie

Name: SuperGirl
Universe: Marvel/DC
Pics: 600
Type: Comic/Movie

Folder Link:
Harley Quinn.jpg SuperGirl.jpg
 
  • Like
Reactions: HaDenG

Focslain

New Member
Jul 7, 2017
2
0
So looong time lurker, first time poster.
Anyway, I'm looking at making a complete, ie S rank, pack. I'm not good at art nor rich enough to commission several dozen picts. Though I'd love to. So going to ask, how does everyone feel about using Generated AI to fill in the gaps?

Personally started using it a little on my personal fav, but wanted to get the temp of the room before I look at hosting and sharing the pack(s) I'm working on.
 

Jdozer

Newbie
Feb 21, 2019
57
35
So looong time lurker, first time poster.
Anyway, I'm looking at making a complete, ie S rank, pack. I'm not good at art nor rich enough to commission several dozen picts. Though I'd love to. So going to ask, how does everyone feel about using Generated AI to fill in the gaps?

Personally started using it a little on my personal fav, but wanted to get the temp of the room before I look at hosting and sharing the pack(s) I'm working on.
My 2 cents: pack needs to already be ~B without it, and you just use a couple pics to fill holes (niche tags that otherwise have 0 pics). As much as I'd love to make max use of AI gen pics to make every pack an A+, they tend to look *really* similar to each other, and it causes you to actually feel like your pack has less variety if you have too many AI gen pics in there. You also have to avoid some of the jank that comes with AI generators (messed up hands, body parts/clothes melting into each other, etc.). Though again, if you're careful, not personally against limited use of AI pics for characters that otherwise just don't have enough handmade art out there.
 

Focslain

New Member
Jul 7, 2017
2
0
My 2 cents: pack needs to already be ~B without it, and you just use a couple pics to fill holes (niche tags that otherwise have 0 pics). As much as I'd love to make max use of AI gen pics to make every pack an A+, they tend to look *really* similar to each other, and it causes you to actually feel like your pack has less variety if you have too many AI gen pics in there. You also have to avoid some of the jank that comes with AI generators (messed up hands, body parts/clothes melting into each other, etc.). Though again, if you're careful, not personally against limited use of AI pics for characters that otherwise just don't have enough handmade art out there.
Yeah, just in my early tries the hands were a big issue. Out of 100 generations I'd get maybe 3 or 4 that were passable.
100% agree on the just filling in a niche, which is the reason behind me trying. If I find handmades out there I will add/replace the AI ones. Just for now like to get a filled pack.
 

Athilora

Member
Apr 13, 2018
111
107
In projects such as this you aren't really taking jobs away from artists so I don't see the harm in using AI art. As a matter of fact, I'm fairly certain a few of my packs already have a few AI art pics in them.
 

Doomdork

Newbie
Sep 30, 2017
22
44
if you made the fredina one will you consider making the rest of the animatronics as girl packs cause that would be awesome

Had most of the images just sitting and waiting for tagging so here you go
View attachment CodaBun3D-1515883232507490308-20220418_124141-vid1_1_chr2_prob3.mp4

















(Make sure you enable futa when using these packs; the girls in their own packs don't have dongs but half the sex scenes are with futas)

Fazclaire's Nightclub
Name: Frenni
547 Pictures and 156 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

profile market (00000).png



Name: Bonfie
421 Pictures and 113 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

profile market (00000).jpg



Name: Fexa
445 Pictures and 128 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

profile market (1).png



Name: Chiku
335 Pictures and 128 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

profile market (2).png
 
  • Like
Reactions: UnknownUnit

UnknownUnit

New Member
Jul 23, 2017
12
6
Had most of the images just sitting and waiting for tagging so here you go
View attachment 2925846

















(Make sure you enable futa when using these packs; the girls in their own packs don't have dongs but half the sex scenes are with futas)

Fazclaire's Nightclub
Name: Frenni
547 Pictures and 156 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925854



Name: Bonfie
421 Pictures and 113 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925853



Name: Fexa
445 Pictures and 128 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925855



Name: Chiku
335 Pictures and 128 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925856
1694593463337.png
 

Crocodeeznutz

Member
May 9, 2023
299
225
Had most of the images just sitting and waiting for tagging so here you go
View attachment 2925846

















(Make sure you enable futa when using these packs; the girls in their own packs don't have dongs but half the sex scenes are with futas)

Fazclaire's Nightclub
Name: Frenni
547 Pictures and 156 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925854



Name: Bonfie
421 Pictures and 113 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925853



Name: Fexa
445 Pictures and 128 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925855



Name: Chiku
335 Pictures and 128 animations (Rating B+)
(Obviously furry warning, and basically no farm pics)

View attachment 2925856
1694605606064.png
 

kingthandra

Newbie
Jun 18, 2021
53
165
Cornelia.jpg
Name: Cornelia Li Britannia
Universe: Code Geass
Rank: A+ | 545 images

Nijika Ijichi.png
Name: Nijika Ijichi
Universe: Bocchi the Rock!
Rank: A+ | 414 images

Lucy.jpg
Name: Lucyna Kushinada "Lucy"
Universe: Cyberpunk Edgerunners
Rank: A+ | 404 images (5 animated)

Elinalise.jpg
Name: Elinalise Dragonroad
Universe: Jobless Reincarnation
Rank: A+ | 224 images (4 animated)

Azusa Hamaoka.jpg
Name: Azusa Hamaoka
Universe: Grand Blue
Rank: B+ | 135 images (2 animated)

Chisa Kotegawa.jpg
Name: Chisa Kotegawa
Universe: Grand Blue
Rank: B+ | 131 images (1 animated)

Also updated a lot of packs:


 

The_De_Relict

New Member
Sep 7, 2023
2
6
Hello all, i'm new to using any kind of forum actively (did a lot of lurking though), so mistakes will be made. Please be kind with me, but feel free to criticise (constructive), because i believe everyone makes always mistakes, but learning from them and how to avoid them, stops us from making the same ones over and over again, and basically helps us grow. I'm not a natvie english speaker, so again Mizztaks be maked vill.

First of all, i wanted to thank especially Goldo, for creating this game. As being a craftsman by trade, with interest in programming and logics, i'm a big fan of well thought modular systems and this game gives me alot of possibility to change and individualise data and art to my liking. Great work so far, keep going!

I also wanted to thank all you great people on this forum, for doing so much work, to make this game better. Again great work, keep going!


1. Over the last weeks i found this game, startet to fiddle with its files, had alot of fun doing so and i would like to share a bit of my work. I basically created a template _BK.ini file for myself, for girl packs without one. I took Goldo's template 0.3_BK.ini (I use BrothelKing v0.2 with the Patch, have not run into problems so far, but am not far into the game yet) from the HentHighSchool page and added alot of comments containing information from the game files, so i don't have to search the respective files again and again, and put said information in alphabetical or context-oriented order.

Code:
###     _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 = ""                                # If absent or empty, first name will be randomized
last_name = ""                                # If absent or empty, no last name will be used
inverted_name = False                        # If True, the full name will display the last name before the first name, e.g.: 'Boa Hancock'

## Girl Pack Data ##
creator = ""                                # Your name as you would like it to be remembered for the ages
version = ""                                # 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 = ""                            # Description will be displayed in the girl mix screen.

## Cloning Options ##
## 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 = True                        # 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"            -    "masseuse", "sex"                            -    "How beautiful she looks. Affects work as a {b}masseuse{/b} and regular {b}sex{/b}. Current masseuse capacity: {b}%s{/b} customer%s."
## "Body"            -    "dancer", "anal"                            -    "How well-shaped and firm her body is. Affects work as a {b}dancer{/b} and {b}anal{/b} sex. Current dancer capacity: {b}%s{/b} customer%s."
## "Charm"            -    "waitress", "service"                        -    "Her personality and presence. Affects work as a {b}waitress{/b} and sexual {b}service{/b}. Current waitress capacity: {b}%s{/b} customer%s."
## "Refinement"        -    "geisha", "fetish"                            -    "How intelligent and worldly she is. Affects work as a {b}geisha{/b} and {b}fetish{/b} sex acts. Current geisha capacity: {b}%s{/b} customer%s."
## "Libido"            -    "whore", "dancer", "sex"                    -    "How eager for sex she is. Affects {b}dancer{/b}, {b}sex{/b} and max {b}whoring{/b} customers. Current whore capacity: {b}%s{/b} customer%s."
## "Obedience"        -    "geisha", "fetish", "accept sex/work/train"    -    "How receptive she is to orders and servitude. Affects {b}geisha{/b}, {b}fetish{/b} sexual acts and chances of accepting {b}work{/b} or {b}training{/b}."
## "Constitution"    -    "waitress", "anal", "max. energy"            -    "Her stamina. Affects {b}waitress{/b}, {b}anal{/b} sex, improves her maximum {b}energy{/b} and allows her to serve {b}more customers{/b}."
## "Sensitivity"    -    "masseuse", "service", "cust. satisf."        -    "How sensitive she is to her body and her partners. Affects {b}masseuse{/b}, {b}service{/b} and improves customer {b}satisfaction{/b}."
## "Service"        -                                                -    "How good she is with handjobs, blowjobs and other sexual services."
## "Sex"            -                                                -    "How good she is at regular sex."
## "Anal"            -                                                -    "How good she is at anal sex."
## "Fetish"            -                                                -    "How good she is at BDSM and other unusual requests."
##########################################################################################################################

beauty = 0
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.
##########################################################################################################################
##        Special Traits
## Expensive_trait = trait_dict["Expensive"]
## Clumsy_trait = trait_dict["Clumsy"]
## Godless_trait = trait_dict["Godless"] = Trait("Godless", verb = "be", eff1 = Effect("boost", "reputation gains", -0.2))
## Housebroken_trait = trait_dict["Housebroken"] = Trait("Housebroken", verb="be", effects = [Effect("change", "job obedience target", -10), Effect("change", "whore obedience target", -10)], base_description = "She lost her virginity in a brothel. This is all she knows.")
## T_pet_trait = trait_dict["Teacher's pet"] = Trait("Teacher's pet", verb="be a", effects = [Effect("change", "train obedience target", -20), Effect("boost", "love", 0.2)], base_description = "Her first time was with you. You're special to her.")
## Trauma_trait = trait_dict["Trauma"] = Trait("Trauma", verb="have a", effects = [Effect("change", "obedience", 15), Effect("change", "libido", -15), Effect("boost", "fear", 0.2)], base_description = "She lost her virginity against her will, and has to live with the trauma.")
## Farmgirl_trait = trait_dict["Farmgirl"] = Trait("Farmgirl", verb="be a", effects = [Effect("change", "obedience", 10), Effect("boost", "farm preference increase", 0.25)], base_description = "She has lost her virginity in the farm like a filthy animal.")
## Chaos_trait = trait_dict["Mark of Chaos"] = Trait("Mark of Chaos", verb="have a", effects = [Effect("boost", "sanity loss", -0.33)], base_description = "She lost her virginity in a strange feverish dream, yet emerged with reinforced sanity.")
##########################################################################################################################
##        Story Girls Traits
## ["Dynamo"] = Trait("Dynamo", verb = "be a", effects = [Effect("boost", "max energy", 0.3), Effect("boost", "energy", 0.15)], base_description = "Burns with fiery energy.")
## ["Lolita"] = Trait("Lolita", verb = "be a", effects = [Effect("boost", "tip", 2, chance=0.2)], base_description = "She isn't actually underage, but looks like she is - and some customers love that.")
## ["Ghost"] = Trait("Ghost", verb = "be a", effects = [Effect("special", "immune", 1)], base_description = "She is a ghost, and cannot be hurt by any normal means.")
## ["Stalwart"] = Trait("Stalwart", verb = "be", effects = [Effect("change", "all skill max", 5, scales_with = "rank")], base_description = "It doesn't matter what she does, she'll train harder than anyone else.")
##
## ["Firebound"] = Trait("Firebound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
## ["Voidbound"] = Trait("Voidbound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
## ["Waterbound"] = Trait("Waterbound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
## ["Earthbound"] = Trait("Earthbound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
##########################################################################################################################
##        Gold Traits
## Always wet        -    eff1=Effect("increase satisfaction", "sex", 1), eff2=Effect("increase satisfaction", "group", 1), archetype="The Escort")
## Caster #?        -    eff1=Effect("special", "rest shield", 1), archetype="The Bride")
## Conduct #?        -    eff1 = Effect("change", "mojo cost", -1), archetype="The Fox")
## Country girl        -    eff1=Effect("special", "all farm weaknesses", 1), eff2=Effect("boost", "farm preference increase", 0.5), archetype="The Maid")
## Dedicated        -    eff1=Effect("change", "job obedience target", -25), archetype="The Maid")
## Dirty mind        -    eff1=Effect("boost", "anal preference increase", 0.1), eff2=Effect("boost", "fetish preference increase", 0.1), archetype="The Fox")
## Driven            -    eff1=Effect("boost", "max energy", 0.2), eff2=Effect("boost", "energy", 0.1), archetype="The Player")
## Elite            -    eff1=Effect("special", "ignore budgets", 1), archetype="The Courtesan")
## Fascinating        -    eff1 = Effect("change", "job customer capacity", 2), archetype="The Courtesan")
## Fashionista        -    eff1=Effect("boost", "accessory", 0.25), eff2=Effect("boost", "necklace", 0.25), eff3=Effect("boost", "ring", 0.25), archetype="The Fox")
## Fast learner        -    eff1=Effect("boost", "xp gains", 0.05), eff2=Effect("boost", "all jp gains", 0.05), archetype="The Escort")
## Gifted            -    eff1=Effect("increase satisfaction", "all sex acts", 1), archetype="The Bride")
## Loose            -    eff1=Effect("change", "train obedience target", -25), archetype="The Player")
## Lust                -    eff1=Effect("change", "whore customer capacity", 1), archetype="The Slut")
## Magnetic            -    eff1=Effect("boost", "income", 0.02), archetype="The Model")
## Naturist            -    eff1=Effect("special", "naked", 1), archetype="The Model", base_description = "She has no shame showing her naked body to perfect strangers.")
## Naughty            -    eff1 = Effect("boost", "tip", 0.1), eff2 = Effect("personality", "pervert"), archetype="The Slut")
## Noble            -    eff1=Effect("boost", "prestige", 2), archetype="The Courtesan")
## Perfectionist    -    eff1=Effect("increase satisfaction", "all jobs", 1), archetype="The Courtesan")
## Playful            -    eff1=Effect("boost", "service preference increase", 0.1), eff2=Effect("boost", "bisexual preference increase", 0.1), archetype="The Player")
## Provocative        -    eff1=Effect("boost", "dress", 0.5), eff2=Effect("gain", "positive fixation", "cosplay"), archetype="The Model")
## Skilled tongue    -    eff1=Effect("increase satisfaction", "service", 1), eff2=Effect("increase satisfaction", "bisexual", 1), archetype="The Fox")
## Tight ass        -    eff1=Effect("increase satisfaction", "anal", 1), eff2=Effect("increase satisfaction", "fetish", 1), archetype="The Maid")
## Vicious            -    effects=[Effect("change", "service", 5), Effect("change", "sex", 5), Effect("change", "anal", 5), Effect("change", "fetish", 5)], archetype="The Escort")
## Warrior            -    eff1=Effect("change", "defense", 3), eff2=Effect("personality", "rebel"), archetype="The Bride")
## Wild                -    eff1=Effect("boost", "sex preference increase", 0.1), eff2=Effect("boost", "group preference increase", 0.1), archetype="The Slut")
##
##        Positive Traits
## Cute                -    eff1 = Effect("change", "beauty", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Model")
## Delicate            -    eff1 = Effect("change", "sensitivity", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Bride")
## Exotic            -    eff1 = Effect("change", "charm", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Fox")
## Feminine            -    eff1 = Effect("change", "refinement", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Model")
## Horny            -    eff1 = Effect("change", "libido", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Slut")
## Juicy ass        -    eff1 = Effect("change", "body", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Slut")
## Long legs        -    eff1 = Effect("change", "beauty", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Player")
## Meek                -    eff1 = Effect("change", "obedience", 5, scales_with = "rank"), eff2 = Effect("personality", "meek"), archetype="The Maid")
## Nice boobs        -    eff1 = Effect("change", "body", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Escort")
## Polite            -    eff1 = Effect("change", "refinement", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Courtesan")
## Resilient        -    eff1 = Effect("change", "constitution", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Maid")
## Sweet            -    eff1 = Effect("change", "charm", 5, scales_with = "rank"), eff2 = Effect("personality", "sweet"), archetype="The Bride")
##
## Firm tits #!        -    eff1 = Effect("change", "body", 10), eff2 = Effect("gain", "reputation", 5), archetype="The Slut")
## Graceful #!        -    eff1 = Effect("change", "refinement", 10), eff2 = Effect("gain", "reputation", 5), archetype="The Courtesan")
## Pretty eyes #!    -    eff1 = Effect("change", "beauty", 10), eff2 = Effect("gain", "reputation", 5), archetype="The Model")
## Seductive #!        -    eff1 = Effect("change", "charm", 10), eff2 = Effect("gain", "reputation", 5), eff3 = Effect("personality", "superficial"), archetype="The Model")
##
## Athletic            -    eff1 = Effect("boost", "constitution gains", 0.25), archetype="The Player")
## Beautiful        -    eff1 = Effect("boost", "beauty gains", 0.25), archetype="The Model")
## Charming            -    eff1 = Effect("boost", "charm gains", 0.25), archetype="The Fox")
## Elegant            -    eff1 = Effect("boost", "refinement gains", 0.25), archetype="The Courtesan")
## Fit                -    eff1 = Effect("boost", "body gains", 0.25), archetype="The Escort")
## Obedient            -    eff1 = Effect("boost", "obedience gains", 0.25), archetype="The Maid")
## Sensitive        -    eff1 = Effect("boost", "sensitivity gains", 0.25), archetype="The Bride")
## Slutty            -    eff1 = Effect("boost", "libido gains", 0.25), archetype="The Slut")
##
## Energetic        -    eff1 = Effect("boost", "max energy", 0.1), archetype="The Player"), ## This is a 10% increase
## Humble            -    eff1 = Effect("boost", "upkeep", -0.2), archetype="The Maid")
## Sexy                -    eff1 = Effect("boost", "reputation gains", 0.2), archetype="The Escort")
## Tough            -    eff1 = Effect("boost", "hurt", -0.33), archetype="The Maid")
##
## Brave            -    eff1 = Effect("boost", "fear", -0.1), archetype="The Escort")
## Loyal            -    eff1 = Effect("boost", "love gains", 0.1), archetype="The Bride")
## Lucky            -    eff1 = Effect("special", "lucky", 1), archetype="The Fox", base_description = "She's up all night...")
## Sharp            -    eff1 = Effect("boost", "xp gains", 0.1), eff2 = Effect("personality", "nerd"), archetype="The Fox")
## Strong            -    eff1 = Effect("change", "defense", 2), archetype="The Player")
## Virgin            -    eff1 = Effect("special", "virgin", 1), eff2 = Effect("change", "sex act requirements", 10), archetype="The Bride", base_description = "This girl is a virgin.") # Special trait, goes away after 1st sex
##
## Agile            -    eff1 = Effect("boost", "dancer jp gains", 0.1), eff2 = Effect("boost", "masseuse jp gains", 0.1), archetype="The Fox")
## Bright            -    eff1 = Effect("boost", "waitress jp gains", 0.1), eff2 = Effect("boost", "geisha jp gains", 0.1), archetype="The Courtesan")
## Brisk            -    eff1 = Effect("boost", "waitress jp gains", 0.1), eff2 = Effect("boost", "dancer jp gains", 0.1), archetype="The Model")
## Deft                -    eff1 = Effect("boost", "waitress jp gains", 0.1), eff2 = Effect("boost", "masseuse jp gains", 0.1), archetype="The Maid")
## Nimble            -    eff1 = Effect("boost", "dancer jp gains", 0.1), eff2 = Effect("boost", "geisha jp gains", 0.1), archetype="The Player")
## Soft skin        -    eff1 = Effect("boost", "geisha jp gains", 0.1), eff2 = Effect("boost", "masseuse jp gains", 0.1), archetype="The Courtesan")
##
## Modest            -    effects = [Effect("boost", "geisha jp gains", 0.2), Effect("increase satisfaction", "geisha", 1), Effect("increase satisfaction", "dancer", -2), Effect("personality", "meek")], opposite=['Rowdy', 'Powerful'], archetype="The Fox")
## Powerful            -    effects = [Effect("boost", "dancer jp gains", 0.2), Effect("increase satisfaction", "dancer", 1), Effect("increase satisfaction", "masseuse", -2)], opposite=['Modest', 'Unhurried'], archetype="The Bride")
## Rowdy            -    effects = [Effect("boost", "waitress jp gains", 0.2), Effect("increase satisfaction", "waitress", 1), Effect("increase satisfaction", "geisha", -2)], opposite=['Modest', 'Unhurried'], archetype="The Slut")
## Unhurried        -    effects = [Effect("boost", "masseuse jp gains", 0.2), Effect("increase satisfaction", "masseuse", 1), Effect("increase satisfaction", "waitress", -2)], opposite=['Powerful', 'Rowdy'], archetype="The Escort")
##
## Kinky            -    eff1 = Effect("boost", "anal jp gains", 0.1), eff2 = Effect("boost", "fetish jp gains", 0.1), eff3 = Effect("personality", "masochist"), archetype="The Player")
## Loving            -    eff1 = Effect("change", "love per day", 1, chance=0.25), archetype="The Bride")
## Pervert            -    eff1 = Effect("change", "sex act requirements", -10), eff2 = Effect("personality", "pervert"), archetype="The Slut")
## Sane                -    eff1 = Effect("change", "sanity loss", -1), archetype="The Courtesan")
## Sensual            -    eff1 = Effect("boost", "service jp gains", 0.1), eff2 = Effect("boost", "sex jp gains", 0.1), eff3 = Effect("personality", "pervert"), archetype="The Escort")
## Thief            -    eff1 = Effect("special", "pickpocket", 1), archetype="The Fox", base_description = "She may steal a little amount from the customers while seducing them. Reputation may suffer.")
## Trusting            -    eff1 = Effect("change", "fear per day", -1, chance=0.25), archetype="The Maid")
##########################################################################################################################

always = []        # The girl will ALWAYS have these traits (up to maximum nb of traits).
often = []        # The girl will more often have these traits than normal.
rarely = []        # The girl will less often have these traits than normal.
never = []        # The girl will NEVER have these traits.


[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.
##########################################################################################################################
##        Negative Traits
## Cold                -    eff1 = Effect("change", "libido", -10, scales_with = "rank"), eff2 = Effect("personality", "cold"), opposite = "Horny")
## Defiant            -    eff1 = Effect("change", "obedience", -10, scales_with = "rank"), opposite = "Meek")
## Mean                -    eff1 = Effect("change", "charm", -10, scales_with = "rank"), opposite = "Sweet")
## Plain            -    eff1 = Effect("change", "beauty", -10, scales_with = "rank"), opposite = "Cute")
## Rough            -    eff1 = Effect("change", "sensitivity", -10, scales_with = "rank"), opposite = "Delicate")
## Rude                -    eff1 = Effect("change", "refinement", -10, scales_with = "rank"), opposite = "Polite")
## Scars            -    eff1 = Effect("change", "body", -10, scales_with = "rank"), opposite = "Nice boobs")
## Weak                -    eff1 = Effect("change", "constitution", -10, scales_with = "rank"), opposite = "Resilient")
##
## Frail            -    eff1 = Effect("boost", "constitution gains", -0.5), opposite = "Athletic")
## Jaded            -    eff1 = Effect("boost", "sensitivity gains", -0.5), opposite = "Sensitive")
## Plump            -    eff1 = Effect("boost", "body gains", -0.5), opposite = "Fit")
## Rebellious        -    eff1 = Effect("boost", "obedience gains", -0.5), eff2 = Effect("personality", "rebel"), opposite = "Obedient")
## Scruffy            -    eff1 = Effect("boost", "beauty gains", -0.5), opposite = "Beautiful")
## Tame                -    eff1 = Effect("boost", "libido gains", -0.5), opposite = "Slutty")
## Timid            -    eff1 = Effect("boost", "charm gains", -0.5), opposite = "Charming")
## Vulgar            -    eff1 = Effect("boost", "refinement gains", -0.5), opposite = "Elegant")
##
## Expensive        -    eff1 = Effect("boost", "upkeep", 0.25), opposite = "Humble")
## Homely            -    eff1 = Effect("boost", "reputation gains", -0.25), opposite = "Sexy")
## Lazy                -    eff1 = Effect("boost", "max energy", -0.15), opposite = ["Energetic", "Driven"])
## Sickly            -    eff1 = Effect("boost", "hurt", +2), opposite = "Tough")
##
## Disloyal            -    eff1 = Effect("boost", "love gains", -0.25), opposite = "Loyal")
## Fearful            -    eff1 = Effect("boost", "fear", 0.25), opposite = "Brave")
## Slow                -    eff1 = Effect("boost", "xp gains", -0.25), opposite = ["Fast learner", "Sharp"])
## Unlucky            -    eff1 = Effect("special", "unlucky", 1), base_description = "She shouldn't have broken that magic mirror... Increased chance of critical failure when working.", opposite = "Lucky")
## Vulnerable        -    eff1 = Effect("change", "defense", -2), opposite = ["Strong", "Warrior"])
##
## All thumbs        -    eff1 = Effect("boost", "waitress jp gains", -0.5), eff2 = Effect("increase satisfaction", "waitress", -1), opposite=['Deft', 'Bright', 'Brisk', 'Rowdy'])
## Awkward            -    eff1 = Effect("boost", "dancer jp gains", -0.5), eff2 = Effect("increase satisfaction", "dancer", -1), opposite=['Nimble', 'Agile', 'Brisk', 'Powerful'])
## Brutal            -    eff1 = Effect("boost", "masseuse jp gains", -0.5), eff2 = Effect("increase satisfaction", "masseuse", -1), opposite=['Deft', 'Soft skin', 'Agile', 'Unhurried'])
## Clumsy            -    eff1 = Effect("boost", "waitress jp gains", -0.5), eff2 = Effect("boost", "masseuse jp gains", -0.5), opposite=['Deft', 'Bright', 'Brisk', 'Rowdy', 'Soft skin', 'Agile'])
## Dumb                -    eff1 = Effect("boost", "geisha jp gains", -0.5), eff2 = Effect("increase satisfaction", "geisha", -1), opposite=['Nimble', 'Soft skin', 'Bright', 'Modest'])
## Oafish            -    eff1 = Effect("boost", "dancer jp gains", -0.5), eff2 = Effect("boost", "geisha jp gains", -0.5), opposite=['Nimble', 'Agile', 'Brisk', 'Soft skin', 'Bright'])
##
## Insane            -    eff1 = Effect("change", "sanity loss", 1), opposite = "Sane")
## Naive            -    eff1 = Effect("boost", "anal jp gains", -0.5), eff2 = Effect("boost", "fetish jp gains", -0.5), opposite = "Kinky")
## Prude            -    eff1 = Effect("boost", "service jp gains", -0.5), eff2 = Effect("boost", "sex jp gains", -0.5), opposite = "Naughty")
## Square            -    eff1 = Effect("change", "sex act requirements", 25), opposite = "Pervert")
##
## Distrustful        -    eff1 = Effect("change", "fear per day", 1, chance=0.25), opposite = "Trusting")
## Spiteful            -    eff1 = Effect("change", "love per day", -1, chance=0.25), opposite = "Loving")
##########################################################################################################################

always = []        # the girl will ALWAYS have these traits (up to maximum nb of traits).
often = []        # The girl will more often have these traits than standard girls.
rarely = []        # The girl will less often have these traits than standard girls.
never = []        # The girl will NEVER have these traits.

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


[base personality]

##########################################################################################################################
## Standard Personality Settings ##
## There are 24 personality types in the game. You can add a custom one.
## See 'gpersonalities' in BKinit_variables.rpy for examples of game personalities
##########################################################################################################################
## Bimbo            -    "Vain, attention-craved, cares about status and wealth. Loves presents and compliments.
##                         She has no qualms about using her body to get those things, too."
## Class president    -    "Must always be on top, strives to be exemplary and despises every kind of misconduct.
##                         The high expectations she has of others mirror the harsh discipline she puts herself through."
## Cold                -    "Cold and detached, she doesn't show her feelings easily.
##                         She seems strangely unconcerned about what goes on around her, and uninterested in the fate of others."
## Creep            -    "Shy and awkward around people, she is obsessed about all sorts of dirty topics that she researches in her own time.
##                         Get complaints for stalking, a lot."
## Easy                -    "It's not her fault, she has always attracted men, and never had the heart to turn them down.
##                         Although many call her easy, her sole purpose is to spread joy. Hopefully not STDs."
## Helper            -    "Always ready to help her friends, places herself after others. Can be a bit nosy sometimes."
## Holy                -    "A firebrand promoter of religion and morality, she prays every night for the salute of her soul and tries to convert others to her beliefs.
##                         With little success so far, but she won't give up."
## Loyal            -    "Always follows orders, out of a sense of duty more than fear.
##                         Thinks everyone must know their place, and do their best at whatever job they hold. Even whores."
## Masochist        -    "The lower the better. She likes to be at the bottom and secretly enjoys being mistreated.
##                         Gifts and loving gestures annoy her, she doesn't deserve them."
## Masochist2        -    "The lower the better. She likes to be at the bottom and enjoys all sorts of dirty things being imposed on her.
##                         Gifts and loving gestures annoy her, she doesn't deserve them."
## Meek                -    "Shy, easily swayed, will cry rather than resist. Doesn't like conflict."
## Nerd                -    "Quiet and bookish. Rather light-headed. Curious. Doesn't like physical effort."
## Pervert            -    "Wild and 'no limit' kind of girl. Curious about all sorts of sexual acts, the more perverted the better. Doesn't care for romance."
## Pet                -    "The teacher's pet. Always ready to please her master, likes nothing more than to live in comfort at his feet.
##                         Some despise her lack of independence, calling her unpleasant names behind her back."
## Princess            -    "A figurative princess (or is she?), she thinks everyone ought to be at her service and deliver on her every whim.
##                         Can be cruel, but mostly she is naive."
## Prude            -    "Affects to be a good, Arios-fearing girl at all times. Frowns on frivolity and amoral behavior.
##                         Some think she has dirty thoughts in secret, but if so, she hides them well."
## Rebel            -    "Always fighting and contradicting others, fiercely independent. Must do things of her own free will."
## Repressed        -    "Raised in a very strict environment, she lives in fear of her own impulses and tries her hardest to suppress them."
## Schemer            -    "Likes nothing more than to scheme and make grand plans, ready to assert her dominance over all living beings...
##                         Some day. In the meantime, if she has to suck a dick... So be it."
## Stubborn            -    "Doesn't like people who don't share her principles and moral values, and doesn't like contradiction either.
##                         She's a lot of fun at parties, if you like parties that end with a tavern brawl."
## Superficial        -    "Ever the socialite, cares about being seen, preferably in the most outstanding outfit and expensive jewelry.
##                         Some call her needy and craving for attention, but she knows they're just jealous of her new shoes..."
## Sweet            -    "Lovely and sunny personality. Always positive. Rather romantic. Doesn't like negativity."
## Tsundere            -    "Easy to anger, hard to please, she has a secret soft spot.
##                         Will put herself at risk to help others, then kick their butts for needing help in the first place."
## Yandere            -    "Very high on the hot and neurotic scale. Loving and devoted, but also firebatshit crazy.
##                         Ready to do anything to get her man and snuff out the competition, including... actually snuffing them out."
##########################################################################################################################
## NOT YET INCLUDED?:
## Heartless        -    "Cold, calculating, domineering and selfish. Will always try to benefit at the expense of others."
##
## A girl can have only one personality.

always = []
often = []
rarely = []
never = []

## 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=""


[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
##########################################################################################################################
## Colours            -    ["white", "yellow", "red", "green", "blue", "purple", "orange", "pink", "black"]
## Food                -    ["cake", "cream", "fish", "fruit", "meat", "cookies", "sweets", "chocolate", "bread", "rice"]
## Drinks            -    ["milk", "sake", "wine", "beer", "apple juice", "lemon juice", "mango juice", "spice water"]
## Hobbies            -    ["painting", "singing", "playing music", "hiking", "gambling", "shopping", "reading", "weaving", "swimming", "writing"]
##########################################################################################################################

favorite_color = ""
favorite_food = ""
favorite_drink = ""

disliked_color = ""
disliked_food = ""
disliked_drink = ""

hobbies = ["", ""] # 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 = []
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
##########################################################################################################################
## Beads                -    ("beads", acts=("anal"), step=1, attribute="introvert", tag_list=(["beads"], ["toy"],))
## Bondage                -    ("bondage", acts=("fetish", "naked"), step=1, attribute="sub", tag_list=(["bondage"],))
## Cosplay                -    ("cosplay", acts=("naked", "fetish", "bisexual"), step=1, attribute="extravert", tag_list=(["cosplay"], ["maid", "kimono"], ["swim", "waitress", "dancer"]), not_list=["naked"], cannot_have_neg=["roleplay"])
## Dildos                -    ("dildos", acts=("sex", "anal", "bisexual"), step=1, attribute="introvert", tag_list=(["dildo"], ["toy"],))
## Dirty sex            -    ("dirty sex", acts=("sex", "fetish", "group"), step=1, attribute="sub", tag_list=(["dirty"],))
## Enemas                -    ("enemas", acts=("group", "anal"), step=1, attribute="materialist", tag_list=(["enema"], ["toy"],))
## Femdom                -    ("femdom", acts=("bisexual", "sex", "service"), step=1, attribute="dom", tag_list=(["dom"],))
## Gags                    -    ("gags", acts=("fetish", "naked"), step=1, attribute="introvert", tag_list=(["gag"], ["bondage"],))
## Oil                    -    ("oil", acts=("group", "anal"), step=1, attribute="extravert", tag_list=(["wet"],))
## Penis worship        -    ("penis worship", acts=("service", "group"), step=1, attribute="sub", tag_list=(["handjob", "big"], ["service", "big"], ["handjob"],), cannot_have_neg=["handjob"])
## Plugs                -    ("plugs", acts=("naked", "anal"), step=1, attribute="modest", tag_list=(["plug"], ["toy"],))
## Public acts            -    ("public acts", acts=("naked", "service", "sex", "group"), step=1, attribute="extravert", tag_list=(["public"]), not_list=["rest"]) # Location tags are allowed but display special flavor text
## Roleplay                -    ("roleplay", acts=("naked", "sex", "fetish"), step=1, attribute="extravert", tag_list=(["cosplay"], ["maid", "kimono"], ["swim", "waitress", "dancer"]), cannot_have_neg=["cosplay"])
## Strap-ons            -    ("strap-ons", acts=("bisexual", "group"), step=1, attribute="dom", tag_list=(["strap-on"], ["lesbian"], ["toy"],))
## Stripping            -    ("stripping", acts=("naked", "sex", "bisexual"), step=1, attribute="modest", tag_list=(["strip"], ["naked", "dancer"]))
## Submission            -    ("submission", acts=("service", "fetish", "bisexual"), step=1, attribute="sub", tag_list=(["sub"],))
## Vibrators            -    ("vibrators", acts=("naked", "fetish", "bisexual"), step=1, attribute="introvert", tag_list=(["vibrator"], ["toy"],))
## Wet                    -    ("wet", acts=("naked", "sex", "bisexual"), step=1, attribute="extravert", tag_list=(["wet"],))
##
## 69                    -    ("69", acts=("service", "bisexual"), step=2, attribute="dom", tag_list=(["69"], ["oral"],), cannot_have_neg=["oral"])
## Ass-to-mouth            -    ("ass-to-mouth", acts=("anal", "group"), step=2, attribute="sub", tag_list=(["cim"], ["oral"],), cannot_have_neg=["oral"])
## Cowgirl                -    ("cowgirl", acts=("sex", "anal"), step=2, attribute="dom", tag_list=(["cowgirl"],))
## Cunnilingus            -    ("cunnilingus", acts=("service", "bisexual"), step=2, attribute="introvert", tag_list=(["cunnilingus"],["finger"]))
## Deep throat            -    ("deep throat", acts=("service", "group"), step=2, attribute="sub", tag_list=(["deep"], ["oral"],), cannot_have_neg=["oral"])
## Doggy style            -    ("doggy style", acts=("sex", "anal"), step=2, attribute="lewd", tag_list=(["doggy"],))
## Double penetration    -    ("double penetration", acts=("group"), step=2, attribute="lewd", tag_list=(["double"],))
## Fingering            -    ("fingering", acts=("naked", "fetish", "bisexual", "group"), step=2, attribute="lewd", tag_list=(["finger"],))
## Fisting                -    ("fisting", acts=("fetish", "bisexual", "anal"), step=2, attribute="lewd", tag_list=(["fist"], ["finger"]))
## Fondling her boobs    -    ("fondling her boobs", short_name = "fondling", acts=("naked", "sex", "bisexual", "group"), step=2, tag_list=(["fondle"],))
## Footjobs                -    ("footjobs", acts=("service", "fetish"), step=2, attribute="dom", tag_list=(["footjob"],))
## Groping her ass        -    ("groping her ass", short_name = "groping", acts=("naked", "anal", "bisexual", "group"), step=2, tag_list=(["grope"],))
## Handjobs                -    ("handjobs", acts=("service", "group"), step=2, attribute="modest", tag_list=(["handjob"],))
## Insults                -    ("insults", acts=("fetish", "naked"), step=2, attribute="sub", tag_list=(["sub"],))
## Irrumatio            -    ("irrumatio", acts=("fetish"), step=2, attribute="sub", tag_list=(["deep"], ["oral"],))
## Kissing                -    ("kissing", acts=("naked", "sex", "bisexual"), step=2, attribute="idealist", tag_list=(["kiss"],))
## Lactation            -    ("lactation", acts=("naked", "fetish"), step=2, attribute="extravert", tag_list=(["lactation"], ["titjob"],))
## Masturbation            -    ("masturbation", acts=("service", "naked", "sex"), step=2, attribute="extravert", tag_list=(["mast"], ["naked"],))
## Oral                    -    ("oral", acts=("service", "bisexual", "group"), step=2, tag_list=(["oral"],))
## Piledriver            -    ("piledriver", acts=("sex", "anal"), step=2, attribute="materialist", tag_list=(["piledriver"],))
## Rimming                -    ("rimming", acts=("service", "fetish"), step=2, attribute="sub", tag_list=(["rim"],))
## Spanking                -    ("spanking", acts=("fetish", "anal"), step=2, attribute="sub", tag_list=(["spank"], ["sub"],))
## Spooning                -    ("spooning", acts=("sex", "anal"), step=2, attribute="idealist", tag_list=(["spoon"],))
## Titjobs                -    ("titjobs", acts=("service", "group"), step=2, attribute="extravert", tag_list=(["titjob"],))
## Watersports            -    ("watersports", acts=("fetish", "sex"), step=2, attribute="sub", tag_list=(["watersports"], ["squirt"],))
##
## Bukkake                -    ("bukkake", acts=("bisexual", "group"), step=3, attribute="lewd", tag_list=(["buk"], ["cof"], ["cumshot"],), cannot_have_neg=["cum shower"])
## Creampie                -    ("creampie", acts=("sex", "anal", "group"), step=3, attribute="extravert", tag_list=(["creampie"], ["cin"],))
## Cum in hair            -    ("cum in hair", acts=("service", "fetish"), step=3, attribute="sub", tag_list=(["cih", "coh"], ["cof", "buk"], ["cumshot"],))
## Cum in mouth            -    ("cum in mouth", acts=("service", "anal", "bisexual"), step=3, attribute="lewd", tag_list=(["cim"], ["oral"],), cannot_have_neg=["oral"])
## Cum inside            -    ("cum inside", acts=("sex", "anal"), step=3, attribute="introvert", tag_list=(["cin"], ["creampie"],))
## Cum on body            -    ("cum on body", acts=("sex", "anal", "service"), step=3, attribute="dom", tag_list=(["cob"], ["cumshot"],))
## Cum on face            -    ("cum on face", acts=("service", "sex", "fetish"), step=3, attribute="sub", tag_list=(["cof"], ["buk"], ["cumshot"],))
## Cum shower            -    ("cum shower", acts=("bisexual", "group"), step=3, attribute="sub", tag_list=(["cum shower"], ["cob", "cih"], ["cumshot"],), cannot_have_neg=["bukkake"])
## Denied orgasm        -    ("denied orgasm", acts=("anal", "fetish", "bisexual"), step=3, attribute="sub", tag_list=(["denied"],))
## Multiple orgasms        -    ("multiple orgasms", acts=("group", "bisexual"), step=3, attribute="lewd", tag_list=(["orgasm"],))
## Squirting            -    ("squirting", acts=("service", "sex", "bisexual"), step=3, attribute="extravert", tag_list=(["squirt"], ["watersport", "orgasm"],))
## Swallowing            -    ("swallowing", acts=("service", "fetish"), step=3, attribute="materialist", tag_list=(["cim"], ["deep"], ["oral"],), cannot_have_neg=["oral", "cum in mouth"])
##########################################################################################################################

always_fixations = []                        # Always positive.
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.
never_negative_fixations = []                # Never negative.

## Prior Sexual Experience ##
sexual_experience = "random"                # 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 = "random"                    # 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 Background ##
##########################################################################################################################
## Slave Stories    -    ["slave_story1", "slave_story2", "slave_story3", "slave_story4", "slave_story5", "slave_story6", "slave_story7", "slave_story8"]
## Origins            -    ["Zan", "the border with the Holy Lands", "the Blood Islands", "Karkyr", "Westmarch", "the desert of Hokoma", "Borgo, the port city", "the Goliath desolations", "the Arik mountains"]
##    Origin Description
##        "Zan" : "I know the old streets of Zan like the back of my hand... I used to walk to the market with my %s, wondering what the strange houses with the red lanterns were... Now I know... *blush*"
##        "the border with the Holy Lands" : "The Holy Lands are a place of war and suffering, always have been. Still, I remember a few peaceful moments. Walking with my %s across old battlefields, covered with red blooming flowers, watching nature reclaim its rights..."
##        "the Blood Islands" : "The Blood Islands are a cruel place... I remember going to the arena with my %s and me, watching slaves being shredded to pieces by monsters... It was bloody and exciting. The arena here is very tame in comparison."
##        "Karkyr" : "Karkyr is a beautiful and fascinating city, ruled by the Archmage Council. Everything is magical, even the wells and the furniture can speak. It used to freak my %s out! There were also some spectacular incidents, of course, but that was part of the fun."
##        "Westmarch" : "The Westmarch Principalities, where I grew up, is a very unpredictable place. One day a city is flourishing, the next it descends into anarchy, and raiders loot and rape the town. I used to think danger was exciting, but my %s didn't like it one bit."
##        "the desert of Hokoma" : "The desert people are a quiet and wise sort. My %s know many secrets, and knew how to keep them. I miss the peace and quiet of nights in the desert."
##        "Borgo, the port city" : "There's no describing how busy and crowded Borgo is on most days, with sailors from all over the world selling everything you can imagine, and many other things, too. I loved to sit by the pier with my %s in the early hours, listenning to the waves."
##        "the Goliath desolations" : "The desolations are a cold, horrible place. Whether you are rich or poor, you have to work hard every day, just to barely survive. If I didn't have my %s to rely on, I don't know what I would have done."
##        "the Arik mountains" : "They say the Arik mountains are the highest in the world. The air is pure there, not full of filth and magic like here... My %s taught me how to love and respect the mountains."
## Homes            -    ["palace", "hovel", "mansion", "shack", "hut", "big house", "small house", "temple", "shop", "old house", "tower", "church"]
## Guardians        -    ["parents", "dad", "mom", "uncle", "grand-ma", "auntie", "grand-pa", "big brother", "big sister", "little brother", "little sister", "tutor"]
## Districts/Locations
##        "The Slums" (1)            -    "Spice market", "Sewers", "Farm", "Watchtower", "Junkyard", "Thieves guild"
##        "The Warehouse" (2)        -    "Market", "Stables", "Plaza", "Gallows", "Prison", "Arena"
##        "The Docks" (3)            -    "Harbor", "Shipyard", "Seafront", "Beach", "Taverns", "Exotic emporium"
##        "The Magic Gardens" (4)    -    "Botanical garden", "Library", "Magic forest", "Hanging gardens", "Guild quarter", "Magic guild"
##        "The Cathedra" (5)        -    "Pilgrim road", "Banking quarter", "Old ruins", "Lakefront", "Training ground", "Cathedra"
##        "The King's Hold" (6)    -    "Battlements", "Keep", "Hall", "Courtyard", "Temple", "Waterfalls"
##
##        Town locations        -    ["spice market", "taverns", "market", "plaza", "guild quarter", "pilgrim road", "banking quarter"]
##        Beach locations        -    ["beach", "seafront", "lakefront", "waterfalls"]
##        Nature locations    -    ["farm", "botanical garden", "magic forest", "hanging gardens", "old ruins", "courtyard"]
##        Court locations        -    ["library", "magic guild", "cathedra", "keep", "hall", "temple"]
##########################################################################################################################

## 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 = "random"
origin_description = ""

## 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 = None        # 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 = None        # 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 = ()        # 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 = ""        # 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 ####
For anyone not knowing what to do with that, take a basic text editor (I use "Notepad++", which, if i recall correctly, is an open source program, which you can download for free on their homepage) and copy the code from above into it. Then save it as "_BK.ini" into the folder of the girlpack of your choice and edit the file to your liking. As for it is a template, you have to fill in the information for your girl, otherwise information will be missing ingame or the girl may not work at all. You may have to set coding to UTF8 if not already, but i'm not sure about that, i've read something about it somewhere but can neither recall where nor if it was in this context.


2. I like the idea of having most of the girls unique and having racial packs as generic workers to spawn everywhere, kind of a two class system, but there are only very few racial packs available.
I found 5:
Fairy (by Earliestbird555), Draenei - Warcraft (by Earliestbird555), Orc (by YaBoiDeath) those 3 are still available for download, i think not all of them on the helpful Google-Spreadsheet;
Blue Slimegirl (by naugthy_list) Spreadsheetlink takes me to an empty folder;
Blood Elves - Warcraft (by Wenth) looking through Wenth's post-history it looks like it got taken offline maybe, definetly offline on the spreadsheet.
Does anyone know if and where to download the missing two, or would anyone have backed them up and would be able to reupload them anywhere, if allowed? Are there more packs like these? I also found several Pokemon Monster Packs, which would kind of count as racial packs, but they where not realy what i was looking for.


3. If i wanted a girl to only spawn in some districts/locations would this
Example 1 (locations): generate_in = ["Beach", "Seafront", "Lakefront", "Waterfalls", "Farm", "Botanical garden", "Magic forest", "Hanging gardens", "Old ruins", "Courtyard"]
Example 2 (districts): generate_in = ["The Slums", "The Warehouse", "The Docks"]
Example 3 (both mixed): generate_in = ["The Slums", "Prison"]
work (line from _BK.ini under ## Girl Generation ##) or is only a single location/district possible, because the explanation-comment is only singular (grammarwise)?


4. Question for Leortha:
On the HentHighSchool Forum you started a thread about Brothel Packs called "Alternate brothel packs", but it kind of went off-topic because of Earliestbird's game idea, are Brothel Packs not possible and if so why or are there any Brothel Packs released, but not in that thread?


I have to mention about myself, i am not very active with community-stuff like this , it may take weeks or even months (depending on my sparetime and will/interest) for me to read or even answer (i may not answer at all, but will definetly read) answers. Thanks in advance for your time and effort!

Edit: Typo, oversight in code
 
Last edited:

Yasaki74

Member
Aug 21, 2020
121
128
Hello all, i'm new to using any kind of forum actively (did a lot of lurking though), so mistakes will be made. Please be kind with me, but feel free to criticise (constructive), because i believe everyone makes always mistakes, but learning from them and how to avoid them, stops us from making the same ones over and over again, and basically helps us grow. I'm not a natvie english speaker, so again Mizztaks be maked vill.

First of all, i wanted to thank especially Goldo, for creating this game. As being a craftsman by trade, with interest in programming and logics, i'm a big fan of well thought modular systems and this game gives me alot of possibility to change and individualise data and art to my liking. Great work so far, keep going!

I also wanted to thank all you great people on this forum, for doing so much work, to make this game better. Again great work, keep going!


1. Over the last weeks i found this game, startet to fiddle with its files, had alot of fun doing so and i would like to share a bit of my work. I basically created a template _BK.ini file for myself, for girl packs without one. I took Goldo's template 0.3_BK.ini (I use BrothelKing v0.2 with the Patch, have not run into problems so far, but am not far into the game yet) from the HentHighSchool page and added alot of comments containing information from the game files, so i don't have to search the respective files again and again, and put said information in alphabetical or context-oriented order.

Code:
###     _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 = ""                                # If absent or empty, first name will be randomized
last_name = ""                                # If absent or empty, no last name will be used
inverted_name = False                        # If True, the full name will display the last name before the first name, e.g.: 'Boa Hancock'

## Girl Pack Data ##
creator = ""                                # Your name as you would like it to be remembered for the ages
version = ""                                # 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 = ""                            # Description will be displayed in the girl mix screen.

## Cloning Options ##
## 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 = True                        # 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"            -    "masseuse", "sex"                            -    "How beautiful she looks. Affects work as a {b}masseuse{/b} and regular {b}sex{/b}. Current masseuse capacity: {b}%s{/b} customer%s."
## "Body"            -    "dancer", "anal"                            -    "How well-shaped and firm her body is. Affects work as a {b}dancer{/b} and {b}anal{/b} sex. Current dancer capacity: {b}%s{/b} customer%s."
## "Charm"            -    "waitress", "service"                        -    "Her personality and presence. Affects work as a {b}waitress{/b} and sexual {b}service{/b}. Current waitress capacity: {b}%s{/b} customer%s."
## "Refinement"        -    "geisha", "fetish"                            -    "How intelligent and worldly she is. Affects work as a {b}geisha{/b} and {b}fetish{/b} sex acts. Current geisha capacity: {b}%s{/b} customer%s."
## "Libido"            -    "whore", "dancer", "sex"                    -    "How eager for sex she is. Affects {b}dancer{/b}, {b}sex{/b} and max {b}whoring{/b} customers. Current whore capacity: {b}%s{/b} customer%s."
## "Obedience"        -    "geisha", "fetish", "accept sex/work/train"    -    "How receptive she is to orders and servitude. Affects {b}geisha{/b}, {b}fetish{/b} sexual acts and chances of accepting {b}work{/b} or {b}training{/b}."
## "Constitution"    -    "waitress", "anal", "max. energy"            -    "Her stamina. Affects {b}waitress{/b}, {b}anal{/b} sex, improves her maximum {b}energy{/b} and allows her to serve {b}more customers{/b}."
## "Sensitivity"    -    "masseuse", "service", "cust. satisf."        -    "How sensitive she is to her body and her partners. Affects {b}masseuse{/b}, {b}service{/b} and improves customer {b}satisfaction{/b}."
## "Service"        -                                                -    "How good she is with handjobs, blowjobs and other sexual services."
## "Sex"            -                                                -    "How good she is at regular sex."
## "Anal"            -                                                -    "How good she is at anal sex."
## "Fetish"            -                                                -    "How good she is at BDSM and other unusual requests."
##########################################################################################################################

beauty = 0
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.
##########################################################################################################################
##        Special Traits
## Expensive_trait = trait_dict["Expensive"]
## Clumsy_trait = trait_dict["Clumsy"]
## Godless_trait = trait_dict["Godless"] = Trait("Godless", verb = "be", eff1 = Effect("boost", "reputation gains", -0.2))
## Housebroken_trait = trait_dict["Housebroken"] = Trait("Housebroken", verb="be", effects = [Effect("change", "job obedience target", -10), Effect("change", "whore obedience target", -10)], base_description = "She lost her virginity in a brothel. This is all she knows.")
## T_pet_trait = trait_dict["Teacher's pet"] = Trait("Teacher's pet", verb="be a", effects = [Effect("change", "train obedience target", -20), Effect("boost", "love", 0.2)], base_description = "Her first time was with you. You're special to her.")
## Trauma_trait = trait_dict["Trauma"] = Trait("Trauma", verb="have a", effects = [Effect("change", "obedience", 15), Effect("change", "libido", -15), Effect("boost", "fear", 0.2)], base_description = "She lost her virginity against her will, and has to live with the trauma.")
## Farmgirl_trait = trait_dict["Farmgirl"] = Trait("Farmgirl", verb="be a", effects = [Effect("change", "obedience", 10), Effect("boost", "farm preference increase", 0.25)], base_description = "She has lost her virginity in the farm like a filthy animal.")
## Chaos_trait = trait_dict["Mark of Chaos"] = Trait("Mark of Chaos", verb="have a", effects = [Effect("boost", "sanity loss", -0.33)], base_description = "She lost her virginity in a strange feverish dream, yet emerged with reinforced sanity.")
##########################################################################################################################
##        Story Girls Traits
## ["Dynamo"] = Trait("Dynamo", verb = "be a", effects = [Effect("boost", "max energy", 0.3), Effect("boost", "energy", 0.15)], base_description = "Burns with fiery energy.")
## ["Lolita"] = Trait("Lolita", verb = "be a", effects = [Effect("boost", "tip", 2, chance=0.2)], base_description = "She isn't actually underage, but looks like she is - and some customers love that.")
## ["Ghost"] = Trait("Ghost", verb = "be a", effects = [Effect("special", "immune", 1)], base_description = "She is a ghost, and cannot be hurt by any normal means.")
## ["Stalwart"] = Trait("Stalwart", verb = "be", effects = [Effect("change", "all skill max", 5, scales_with = "rank")], base_description = "It doesn't matter what she does, she'll train harder than anyone else.")
##
## ["Firebound"] = Trait("Firebound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
## ["Voidbound"] = Trait("Voidbound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
## ["Waterbound"] = Trait("Waterbound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
## ["Earthbound"] = Trait("Earthbound", verb = "be", effects = [Effect("special", "bound", 1), Effect("change", "defense", 7)], base_description = "Will not attack you. Deadly to everyone else.")
##########################################################################################################################
##        Gold Traits
## Always wet        -    eff1=Effect("increase satisfaction", "sex", 1), eff2=Effect("increase satisfaction", "group", 1), archetype="The Escort")
## Caster #?        -    eff1=Effect("special", "rest shield", 1), archetype="The Bride")
## Conduct #?        -    eff1 = Effect("change", "mojo cost", -1), archetype="The Fox")
## Country girl        -    eff1=Effect("special", "all farm weaknesses", 1), eff2=Effect("boost", "farm preference increase", 0.5), archetype="The Maid")
## Dedicated        -    eff1=Effect("change", "job obedience target", -25), archetype="The Maid")
## Dirty mind        -    eff1=Effect("boost", "anal preference increase", 0.1), eff2=Effect("boost", "fetish preference increase", 0.1), archetype="The Fox")
## Driven            -    eff1=Effect("boost", "max energy", 0.2), eff2=Effect("boost", "energy", 0.1), archetype="The Player")
## Elite            -    eff1=Effect("special", "ignore budgets", 1), archetype="The Courtesan")
## Fascinating        -    eff1 = Effect("change", "job customer capacity", 2), archetype="The Courtesan")
## Fashionista        -    eff1=Effect("boost", "accessory", 0.25), eff2=Effect("boost", "necklace", 0.25), eff3=Effect("boost", "ring", 0.25), archetype="The Fox")
## Fast learner        -    eff1=Effect("boost", "xp gains", 0.05), eff2=Effect("boost", "all jp gains", 0.05), archetype="The Escort")
## Gifted            -    eff1=Effect("increase satisfaction", "all sex acts", 1), archetype="The Bride")
## Loose            -    eff1=Effect("change", "train obedience target", -25), archetype="The Player")
## Lust                -    eff1=Effect("change", "whore customer capacity", 1), archetype="The Slut")
## Magnetic            -    eff1=Effect("boost", "income", 0.02), archetype="The Model")
## Naturist            -    eff1=Effect("special", "naked", 1), archetype="The Model", base_description = "She has no shame showing her naked body to perfect strangers.")
## Naughty            -    eff1 = Effect("boost", "tip", 0.1), eff2 = Effect("personality", "pervert"), archetype="The Slut")
## Noble            -    eff1=Effect("boost", "prestige", 2), archetype="The Courtesan")
## Perfectionist    -    eff1=Effect("increase satisfaction", "all jobs", 1), archetype="The Courtesan")
## Playful            -    eff1=Effect("boost", "service preference increase", 0.1), eff2=Effect("boost", "bisexual preference increase", 0.1), archetype="The Player")
## Provocative        -    eff1=Effect("boost", "dress", 0.5), eff2=Effect("gain", "positive fixation", "cosplay"), archetype="The Model")
## Skilled tongue    -    eff1=Effect("increase satisfaction", "service", 1), eff2=Effect("increase satisfaction", "bisexual", 1), archetype="The Fox")
## Tight ass        -    eff1=Effect("increase satisfaction", "anal", 1), eff2=Effect("increase satisfaction", "fetish", 1), archetype="The Maid")
## Vicious            -    effects=[Effect("change", "service", 5), Effect("change", "sex", 5), Effect("change", "anal", 5), Effect("change", "fetish", 5)], archetype="The Escort")
## Warrior            -    eff1=Effect("change", "defense", 3), eff2=Effect("personality", "rebel"), archetype="The Bride")
## Wild                -    eff1=Effect("boost", "sex preference increase", 0.1), eff2=Effect("boost", "group preference increase", 0.1), archetype="The Slut")
##
##        Positive Traits
## Cute                -    eff1 = Effect("change", "beauty", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Model")
## Delicate            -    eff1 = Effect("change", "sensitivity", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Bride")
## Exotic            -    eff1 = Effect("change", "charm", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Fox")
## Feminine            -    eff1 = Effect("change", "refinement", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Model")
## Horny            -    eff1 = Effect("change", "libido", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Slut")
## Juicy ass        -    eff1 = Effect("change", "body", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Slut")
## Long legs        -    eff1 = Effect("change", "beauty", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Player")
## Meek                -    eff1 = Effect("change", "obedience", 5, scales_with = "rank"), eff2 = Effect("personality", "meek"), archetype="The Maid")
## Nice boobs        -    eff1 = Effect("change", "body", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Escort")
## Polite            -    eff1 = Effect("change", "refinement", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Courtesan")
## Resilient        -    eff1 = Effect("change", "constitution", 5, scales_with = "rank"), eff2 = Effect("gain", "reputation", 5), archetype="The Maid")
## Sweet            -    eff1 = Effect("change", "charm", 5, scales_with = "rank"), eff2 = Effect("personality", "sweet"), archetype="The Bride")
##
## Firm tits #!        -    eff1 = Effect("change", "body", 10), eff2 = Effect("gain", "reputation", 5), archetype="The Slut")
## Graceful #!        -    eff1 = Effect("change", "refinement", 10), eff2 = Effect("gain", "reputation", 5), archetype="The Courtesan")
## Pretty eyes #!    -    eff1 = Effect("change", "beauty", 10), eff2 = Effect("gain", "reputation", 5), archetype="The Model")
## Seductive #!        -    eff1 = Effect("change", "charm", 10), eff2 = Effect("gain", "reputation", 5), eff3 = Effect("personality", "superficial"), archetype="The Model")
##
## Athletic            -    eff1 = Effect("boost", "constitution gains", 0.25), archetype="The Player")
## Beautiful        -    eff1 = Effect("boost", "beauty gains", 0.25), archetype="The Model")
## Charming            -    eff1 = Effect("boost", "charm gains", 0.25), archetype="The Fox")
## Elegant            -    eff1 = Effect("boost", "refinement gains", 0.25), archetype="The Courtesan")
## Fit                -    eff1 = Effect("boost", "body gains", 0.25), archetype="The Escort")
## Obedient            -    eff1 = Effect("boost", "obedience gains", 0.25), archetype="The Maid")
## Sensitive        -    eff1 = Effect("boost", "sensitivity gains", 0.25), archetype="The Bride")
## Slutty            -    eff1 = Effect("boost", "libido gains", 0.25), archetype="The Slut")
##
## Energetic        -    eff1 = Effect("boost", "max energy", 0.1), archetype="The Player"), ## This is a 10% increase
## Humble            -    eff1 = Effect("boost", "upkeep", -0.2), archetype="The Maid")
## Sexy                -    eff1 = Effect("boost", "reputation gains", 0.2), archetype="The Escort")
## Tough            -    eff1 = Effect("boost", "hurt", -0.33), archetype="The Maid")
##
## Brave            -    eff1 = Effect("boost", "fear", -0.1), archetype="The Escort")
## Loyal            -    eff1 = Effect("boost", "love gains", 0.1), archetype="The Bride")
## Lucky            -    eff1 = Effect("special", "lucky", 1), archetype="The Fox", base_description = "She's up all night...")
## Sharp            -    eff1 = Effect("boost", "xp gains", 0.1), eff2 = Effect("personality", "nerd"), archetype="The Fox")
## Strong            -    eff1 = Effect("change", "defense", 2), archetype="The Player")
## Virgin            -    eff1 = Effect("special", "virgin", 1), eff2 = Effect("change", "sex act requirements", 10), archetype="The Bride", base_description = "This girl is a virgin.") # Special trait, goes away after 1st sex
##
## Agile            -    eff1 = Effect("boost", "dancer jp gains", 0.1), eff2 = Effect("boost", "masseuse jp gains", 0.1), archetype="The Fox")
## Bright            -    eff1 = Effect("boost", "waitress jp gains", 0.1), eff2 = Effect("boost", "geisha jp gains", 0.1), archetype="The Courtesan")
## Brisk            -    eff1 = Effect("boost", "waitress jp gains", 0.1), eff2 = Effect("boost", "dancer jp gains", 0.1), archetype="The Model")
## Deft                -    eff1 = Effect("boost", "waitress jp gains", 0.1), eff2 = Effect("boost", "masseuse jp gains", 0.1), archetype="The Maid")
## Nimble            -    eff1 = Effect("boost", "dancer jp gains", 0.1), eff2 = Effect("boost", "geisha jp gains", 0.1), archetype="The Player")
## Soft skin        -    eff1 = Effect("boost", "geisha jp gains", 0.1), eff2 = Effect("boost", "masseuse jp gains", 0.1), archetype="The Courtesan")
##
## Modest            -    effects = [Effect("boost", "geisha jp gains", 0.2), Effect("increase satisfaction", "geisha", 1), Effect("increase satisfaction", "dancer", -2), Effect("personality", "meek")], opposite=['Rowdy', 'Powerful'], archetype="The Fox")
## Powerful            -    effects = [Effect("boost", "dancer jp gains", 0.2), Effect("increase satisfaction", "dancer", 1), Effect("increase satisfaction", "masseuse", -2)], opposite=['Modest', 'Unhurried'], archetype="The Bride")
## Rowdy            -    effects = [Effect("boost", "waitress jp gains", 0.2), Effect("increase satisfaction", "waitress", 1), Effect("increase satisfaction", "geisha", -2)], opposite=['Modest', 'Unhurried'], archetype="The Slut")
## Unhurried        -    effects = [Effect("boost", "masseuse jp gains", 0.2), Effect("increase satisfaction", "masseuse", 1), Effect("increase satisfaction", "waitress", -2)], opposite=['Powerful', 'Rowdy'], archetype="The Escort")
##
## Kinky            -    eff1 = Effect("boost", "anal jp gains", 0.1), eff2 = Effect("boost", "fetish jp gains", 0.1), eff3 = Effect("personality", "masochist"), archetype="The Player")
## Loving            -    eff1 = Effect("change", "love per day", 1, chance=0.25), archetype="The Bride")
## Pervert            -    eff1 = Effect("change", "sex act requirements", -10), eff2 = Effect("personality", "pervert"), archetype="The Slut")
## Sane                -    eff1 = Effect("change", "sanity loss", -1), archetype="The Courtesan")
## Sensual            -    eff1 = Effect("boost", "service jp gains", 0.1), eff2 = Effect("boost", "sex jp gains", 0.1), eff3 = Effect("personality", "pervert"), archetype="The Escort")
## Thief            -    eff1 = Effect("special", "pickpocket", 1), archetype="The Fox", base_description = "She may steal a little amount from the customers while seducing them. Reputation may suffer.")
## Trusting            -    eff1 = Effect("change", "fear per day", -1, chance=0.25), archetype="The Maid")
##########################################################################################################################

always = []        # The girl will ALWAYS have these traits (up to maximum nb of traits).
often = []        # The girl will more often have these traits than normal.
rarely = []        # The girl will less often have these traits than normal.
never = []        # The girl will NEVER have these traits.


[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.
##########################################################################################################################
##        Negative Traits
## Cold                -    eff1 = Effect("change", "libido", -10, scales_with = "rank"), eff2 = Effect("personality", "cold"), opposite = "Horny")
## Defiant            -    eff1 = Effect("change", "obedience", -10, scales_with = "rank"), opposite = "Meek")
## Mean                -    eff1 = Effect("change", "charm", -10, scales_with = "rank"), opposite = "Sweet")
## Plain            -    eff1 = Effect("change", "beauty", -10, scales_with = "rank"), opposite = "Cute")
## Rough            -    eff1 = Effect("change", "sensitivity", -10, scales_with = "rank"), opposite = "Delicate")
## Rude                -    eff1 = Effect("change", "refinement", -10, scales_with = "rank"), opposite = "Polite")
## Scars            -    eff1 = Effect("change", "body", -10, scales_with = "rank"), opposite = "Nice boobs")
## Weak                -    eff1 = Effect("change", "constitution", -10, scales_with = "rank"), opposite = "Resilient")
##
## Frail            -    eff1 = Effect("boost", "constitution gains", -0.5), opposite = "Athletic")
## Jaded            -    eff1 = Effect("boost", "sensitivity gains", -0.5), opposite = "Sensitive")
## Plump            -    eff1 = Effect("boost", "body gains", -0.5), opposite = "Fit")
## Rebellious        -    eff1 = Effect("boost", "obedience gains", -0.5), eff2 = Effect("personality", "rebel"), opposite = "Obedient")
## Scruffy            -    eff1 = Effect("boost", "beauty gains", -0.5), opposite = "Beautiful")
## Tame                -    eff1 = Effect("boost", "libido gains", -0.5), opposite = "Slutty")
## Timid            -    eff1 = Effect("boost", "charm gains", -0.5), opposite = "Charming")
## Vulgar            -    eff1 = Effect("boost", "refinement gains", -0.5), opposite = "Elegant")
##
## Expensive        -    eff1 = Effect("boost", "upkeep", 0.25), opposite = "Humble")
## Homely            -    eff1 = Effect("boost", "reputation gains", -0.25), opposite = "Sexy")
## Lazy                -    eff1 = Effect("boost", "max energy", -0.15), opposite = ["Energetic", "Driven"])
## Sickly            -    eff1 = Effect("boost", "hurt", +2), opposite = "Tough")
##
## Disloyal            -    eff1 = Effect("boost", "love gains", -0.25), opposite = "Loyal")
## Fearful            -    eff1 = Effect("boost", "fear", 0.25), opposite = "Brave")
## Slow                -    eff1 = Effect("boost", "xp gains", -0.25), opposite = ["Fast learner", "Sharp"])
## Unlucky            -    eff1 = Effect("special", "unlucky", 1), base_description = "She shouldn't have broken that magic mirror... Increased chance of critical failure when working.", opposite = "Lucky")
## Vulnerable        -    eff1 = Effect("change", "defense", -2), opposite = ["Strong", "Warrior"])
##
## All thumbs        -    eff1 = Effect("boost", "waitress jp gains", -0.5), eff2 = Effect("increase satisfaction", "waitress", -1), opposite=['Deft', 'Bright', 'Brisk', 'Rowdy'])
## Awkward            -    eff1 = Effect("boost", "dancer jp gains", -0.5), eff2 = Effect("increase satisfaction", "dancer", -1), opposite=['Nimble', 'Agile', 'Brisk', 'Powerful'])
## Brutal            -    eff1 = Effect("boost", "masseuse jp gains", -0.5), eff2 = Effect("increase satisfaction", "masseuse", -1), opposite=['Deft', 'Soft skin', 'Agile', 'Unhurried'])
## Clumsy            -    eff1 = Effect("boost", "waitress jp gains", -0.5), eff2 = Effect("boost", "masseuse jp gains", -0.5), opposite=['Deft', 'Bright', 'Brisk', 'Rowdy', 'Soft skin', 'Agile'])
## Dumb                -    eff1 = Effect("boost", "geisha jp gains", -0.5), eff2 = Effect("increase satisfaction", "geisha", -1), opposite=['Nimble', 'Soft skin', 'Bright', 'Modest'])
## Oafish            -    eff1 = Effect("boost", "dancer jp gains", -0.5), eff2 = Effect("boost", "geisha jp gains", -0.5), opposite=['Nimble', 'Agile', 'Brisk', 'Soft skin', 'Bright'])
##
## Insane            -    eff1 = Effect("change", "sanity loss", 1), opposite = "Sane")
## Naive            -    eff1 = Effect("boost", "anal jp gains", -0.5), eff2 = Effect("boost", "fetish jp gains", -0.5), opposite = "Kinky")
## Prude            -    eff1 = Effect("boost", "service jp gains", -0.5), eff2 = Effect("boost", "sex jp gains", -0.5), opposite = "Naughty")
## Square            -    eff1 = Effect("change", "sex act requirements", 25), opposite = "Pervert")
##
## Distrustful        -    eff1 = Effect("change", "fear per day", 1, chance=0.25), opposite = "Trusting")
## Spiteful            -    eff1 = Effect("change", "love per day", -1, chance=0.25), opposite = "Loving")
##########################################################################################################################

always = []        # the girl will ALWAYS have these traits (up to maximum nb of traits).
often = []        # The girl will more often have these traits than standard girls.
rarely = []        # The girl will less often have these traits than standard girls.
never = []        # The girl will NEVER have these traits.

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


[base personality]

##########################################################################################################################
## Standard Personality Settings ##
## There are 24 personality types in the game. You can add a custom one.
## See 'gpersonalities' in BKinit_variables.rpy for examples of game personalities
##########################################################################################################################
## Bimbo            -    "Vain, attention-craved, cares about status and wealth. Loves presents and compliments.
##                         She has no qualms about using her body to get those things, too."
## Class president    -    "Must always be on top, strives to be exemplary and despises every kind of misconduct.
##                         The high expectations she has of others mirror the harsh discipline she puts herself through."
## Cold                -    "Cold and detached, she doesn't show her feelings easily.
##                         She seems strangely unconcerned about what goes on around her, and uninterested in the fate of others."
## Creep            -    "Shy and awkward around people, she is obsessed about all sorts of dirty topics that she researches in her own time.
##                         Get complaints for stalking, a lot."
## Easy                -    "It's not her fault, she has always attracted men, and never had the heart to turn them down.
##                         Although many call her easy, her sole purpose is to spread joy. Hopefully not STDs."
## Helper            -    "Always ready to help her friends, places herself after others. Can be a bit nosy sometimes."
## Holy                -    "A firebrand promoter of religion and morality, she prays every night for the salute of her soul and tries to convert others to her beliefs.
##                         With little success so far, but she won't give up."
## Loyal            -    "Always follows orders, out of a sense of duty more than fear.
##                         Thinks everyone must know their place, and do their best at whatever job they hold. Even whores."
## Masochist        -    "The lower the better. She likes to be at the bottom and secretly enjoys being mistreated.
##                         Gifts and loving gestures annoy her, she doesn't deserve them."
## Masochist2        -    "The lower the better. She likes to be at the bottom and enjoys all sorts of dirty things being imposed on her.
##                         Gifts and loving gestures annoy her, she doesn't deserve them."
## Meek                -    "Shy, easily swayed, will cry rather than resist. Doesn't like conflict."
## Nerd                -    "Quiet and bookish. Rather light-headed. Curious. Doesn't like physical effort."
## Pervert            -    "Wild and 'no limit' kind of girl. Curious about all sorts of sexual acts, the more perverted the better. Doesn't care for romance."
## Pet                -    "The teacher's pet. Always ready to please her master, likes nothing more than to live in comfort at his feet.
##                         Some despise her lack of independence, calling her unpleasant names behind her back."
## Princess            -    "A figurative princess (or is she?), she thinks everyone ought to be at her service and deliver on her every whim.
##                         Can be cruel, but mostly she is naive."
## Prude            -    "Affects to be a good, Arios-fearing girl at all times. Frowns on frivolity and amoral behavior.
##                         Some think she has dirty thoughts in secret, but if so, she hides them well."
## Rebel            -    "Always fighting and contradicting others, fiercely independent. Must do things of her own free will."
## Repressed        -    "Raised in a very strict environment, she lives in fear of her own impulses and tries her hardest to suppress them."
## Schemer            -    "Likes nothing more than to scheme and make grand plans, ready to assert her dominance over all living beings...
##                         Some day. In the meantime, if she has to suck a dick... So be it."
## Stubborn            -    "Doesn't like people who don't share her principles and moral values, and doesn't like contradiction either.
##                         She's a lot of fun at parties, if you like parties that end with a tavern brawl."
## Superficial        -    "Ever the socialite, cares about being seen, preferably in the most outstanding outfit and expensive jewelry.
##                         Some call her needy and craving for attention, but she knows they're just jealous of her new shoes..."
## Sweet            -    "Lovely and sunny personality. Always positive. Rather romantic. Doesn't like negativity."
## Tsundere            -    "Easy to anger, hard to please, she has a secret soft spot.
##                         Will put herself at risk to help others, then kick their butts for needing help in the first place."
## Yandere            -    "Very high on the hot and neurotic scale. Loving and devoted, but also firebatshit crazy.
##                         Ready to do anything to get her man and snuff out the competition, including... actually snuffing them out."
##########################################################################################################################
## NOT YET INCLUDED?:
## Heartless        -    "Cold, calculating, domineering and selfish. Will always try to benefit at the expense of others."
##
## A girl can have only one personality.

always = []
often = []
rarely = []
never = []

## 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=""


[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
##########################################################################################################################
## Colours            -    ["white", "yellow", "red", "green", "blue", "purple", "orange", "pink", "black"]
## Food                -    ["cake", "cream", "fish", "fruit", "meat", "cookies", "sweets", "chocolate", "bread", "rice"]
## Drinks            -    ["milk", "sake", "wine", "beer", "apple juice", "lemon juice", "mango juice", "spice water"]
## Hobbies            -    ["painting", "singing", "playing music", "hiking", "gambling", "shopping", "reading", "weaving", "swimming", "writing"]
##########################################################################################################################

favorite_color = ""
favorite_food = ""
favorite_drink = ""

disliked_color = ""
disliked_food = ""
disliked_drink = ""

hobbies = ["", ""] # 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 = []
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
##########################################################################################################################
## Beads                -    ("beads", acts=("anal"), step=1, attribute="introvert", tag_list=(["beads"], ["toy"],))
## Bondage                -    ("bondage", acts=("fetish", "naked"), step=1, attribute="sub", tag_list=(["bondage"],))
## Cosplay                -    ("cosplay", acts=("naked", "fetish", "bisexual"), step=1, attribute="extravert", tag_list=(["cosplay"], ["maid", "kimono"], ["swim", "waitress", "dancer"]), not_list=["naked"], cannot_have_neg=["roleplay"])
## Dildos                -    ("dildos", acts=("sex", "anal", "bisexual"), step=1, attribute="introvert", tag_list=(["dildo"], ["toy"],))
## Dirty sex            -    ("dirty sex", acts=("sex", "fetish", "group"), step=1, attribute="sub", tag_list=(["dirty"],))
## Enemas                -    ("enemas", acts=("group", "anal"), step=1, attribute="materialist", tag_list=(["enema"], ["toy"],))
## Femdom                -    ("femdom", acts=("bisexual", "sex", "service"), step=1, attribute="dom", tag_list=(["dom"],))
## Gags                    -    ("gags", acts=("fetish", "naked"), step=1, attribute="introvert", tag_list=(["gag"], ["bondage"],))
## Oil                    -    ("oil", acts=("group", "anal"), step=1, attribute="extravert", tag_list=(["wet"],))
## Penis worship        -    ("penis worship", acts=("service", "group"), step=1, attribute="sub", tag_list=(["handjob", "big"], ["service", "big"], ["handjob"],), cannot_have_neg=["handjob"])
## Plugs                -    ("plugs", acts=("naked", "anal"), step=1, attribute="modest", tag_list=(["plug"], ["toy"],))
## Public acts            -    ("public acts", acts=("naked", "service", "sex", "group"), step=1, attribute="extravert", tag_list=(["public"]), not_list=["rest"]) # Location tags are allowed but display special flavor text
## Roleplay                -    ("roleplay", acts=("naked", "sex", "fetish"), step=1, attribute="extravert", tag_list=(["cosplay"], ["maid", "kimono"], ["swim", "waitress", "dancer"]), cannot_have_neg=["cosplay"])
## Strap-ons            -    ("strap-ons", acts=("bisexual", "group"), step=1, attribute="dom", tag_list=(["strap-on"], ["lesbian"], ["toy"],))
## Stripping            -    ("stripping", acts=("naked", "sex", "bisexual"), step=1, attribute="modest", tag_list=(["strip"], ["naked", "dancer"]))
## Submission            -    ("submission", acts=("service", "fetish", "bisexual"), step=1, attribute="sub", tag_list=(["sub"],))
## Vibrators            -    ("vibrators", acts=("naked", "fetish", "bisexual"), step=1, attribute="introvert", tag_list=(["vibrator"], ["toy"],))
## Wet                    -    ("wet", acts=("naked", "sex", "bisexual"), step=1, attribute="extravert", tag_list=(["wet"],))
##
## 69                    -    ("69", acts=("service", "bisexual"), step=2, attribute="dom", tag_list=(["69"], ["oral"],), cannot_have_neg=["oral"])
## Ass-to-mouth            -    ("ass-to-mouth", acts=("anal", "group"), step=2, attribute="sub", tag_list=(["cim"], ["oral"],), cannot_have_neg=["oral"])
## Cowgirl                -    ("cowgirl", acts=("sex", "anal"), step=2, attribute="dom", tag_list=(["cowgirl"],))
## Cunnilingus            -    ("cunnilingus", acts=("service", "bisexual"), step=2, attribute="introvert", tag_list=(["cunnilingus"],["finger"]))
## Deep throat            -    ("deep throat", acts=("service", "group"), step=2, attribute="sub", tag_list=(["deep"], ["oral"],), cannot_have_neg=["oral"])
## Doggy style            -    ("doggy style", acts=("sex", "anal"), step=2, attribute="lewd", tag_list=(["doggy"],))
## Double penetration    -    ("double penetration", acts=("group"), step=2, attribute="lewd", tag_list=(["double"],))
## Fingering            -    ("fingering", acts=("naked", "fetish", "bisexual", "group"), step=2, attribute="lewd", tag_list=(["finger"],))
## Fisting                -    ("fisting", acts=("fetish", "bisexual", "anal"), step=2, attribute="lewd", tag_list=(["fist"], ["finger"]))
## Fondling her boobs    -    ("fondling her boobs", short_name = "fondling", acts=("naked", "sex", "bisexual", "group"), step=2, tag_list=(["fondle"],))
## Footjobs                -    ("footjobs", acts=("service", "fetish"), step=2, attribute="dom", tag_list=(["footjob"],))
## Groping her ass        -    ("groping her ass", short_name = "groping", acts=("naked", "anal", "bisexual", "group"), step=2, tag_list=(["grope"],))
## Handjobs                -    ("handjobs", acts=("service", "group"), step=2, attribute="modest", tag_list=(["handjob"],))
## Insults                -    ("insults", acts=("fetish", "naked"), step=2, attribute="sub", tag_list=(["sub"],))
## Irrumatio            -    ("irrumatio", acts=("fetish"), step=2, attribute="sub", tag_list=(["deep"], ["oral"],))
## Kissing                -    ("kissing", acts=("naked", "sex", "bisexual"), step=2, attribute="idealist", tag_list=(["kiss"],))
## Lactation            -    ("lactation", acts=("naked", "fetish"), step=2, attribute="extravert", tag_list=(["lactation"], ["titjob"],))
## Masturbation            -    ("masturbation", acts=("service", "naked", "sex"), step=2, attribute="extravert", tag_list=(["mast"], ["naked"],))
## Oral                    -    ("oral", acts=("service", "bisexual", "group"), step=2, tag_list=(["oral"],))
## Piledriver            -    ("piledriver", acts=("sex", "anal"), step=2, attribute="materialist", tag_list=(["piledriver"],))
## Rimming                -    ("rimming", acts=("service", "fetish"), step=2, attribute="sub", tag_list=(["rim"],))
## Spanking                -    ("spanking", acts=("fetish", "anal"), step=2, attribute="sub", tag_list=(["spank"], ["sub"],))
## Spooning                -    ("spooning", acts=("sex", "anal"), step=2, attribute="idealist", tag_list=(["spoon"],))
## Titjobs                -    ("titjobs", acts=("service", "group"), step=2, attribute="extravert", tag_list=(["titjob"],))
## Watersports            -    ("watersports", acts=("fetish", "sex"), step=2, attribute="sub", tag_list=(["watersports"], ["squirt"],))
##
## Bukkake                -    ("bukkake", acts=("bisexual", "group"), step=3, attribute="lewd", tag_list=(["buk"], ["cof"], ["cumshot"],), cannot_have_neg=["cum shower"])
## Creampie                -    ("creampie", acts=("sex", "anal", "group"), step=3, attribute="extravert", tag_list=(["creampie"], ["cin"],))
## Cum in hair            -    ("cum in hair", acts=("service", "fetish"), step=3, attribute="sub", tag_list=(["cih", "coh"], ["cof", "buk"], ["cumshot"],))
## Cum in mouth            -    ("cum in mouth", acts=("service", "anal", "bisexual"), step=3, attribute="lewd", tag_list=(["cim"], ["oral"],), cannot_have_neg=["oral"])
## Cum inside            -    ("cum inside", acts=("sex", "anal"), step=3, attribute="introvert", tag_list=(["cin"], ["creampie"],))
## Cum on body            -    ("cum on body", acts=("sex", "anal", "service"), step=3, attribute="dom", tag_list=(["cob"], ["cumshot"],))
## Cum on face            -    ("cum on face", acts=("service", "sex", "fetish"), step=3, attribute="sub", tag_list=(["cof"], ["buk"], ["cumshot"],))
## Cum shower            -    ("cum shower", acts=("bisexual", "group"), step=3, attribute="sub", tag_list=(["cum shower"], ["cob", "cih"], ["cumshot"],), cannot_have_neg=["bukkake"])
## Denied orgasm        -    ("denied orgasm", acts=("anal", "fetish", "bisexual"), step=3, attribute="sub", tag_list=(["denied"],))
## Multiple orgasms        -    ("multiple orgasms", acts=("group", "bisexual"), step=3, attribute="lewd", tag_list=(["orgasm"],))
## Squirting            -    ("squirting", acts=("service", "sex", "bisexual"), step=3, attribute="extravert", tag_list=(["squirt"], ["watersport", "orgasm"],))
## Swallowing            -    ("swallowing", acts=("service", "fetish"), step=3, attribute="materialist", tag_list=(["cim"], ["deep"], ["oral"],), cannot_have_neg=["oral", "cum in mouth"])
##########################################################################################################################

always_fixations = []                        # Always positive.
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.
never_negative_fixations = []                # Never negative.

## Prior Sexual Experience ##
sexual_experience = "random"                # 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 = "random"                    # 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 Background ##
##########################################################################################################################
## Slave Stories    -    ["slave_story1", "slave_story2", "slave_story3", "slave_story4", "slave_story5", "slave_story6", "slave_story7", "slave_story8"]
## Origins            -    ["Zan", "the border with the Holy Lands", "the Blood Islands", "Karkyr", "Westmarch", "the desert of Hokoma", "Borgo, the port city", "the Goliath desolations", "the Arik mountains"]
##    Origin Description
##        "Zan" : "I know the old streets of Zan like the back of my hand... I used to walk to the market with my %s, wondering what the strange houses with the red lanterns were... Now I know... *blush*"
##        "the border with the Holy Lands" : "The Holy Lands are a place of war and suffering, always have been. Still, I remember a few peaceful moments. Walking with my %s across old battlefields, covered with red blooming flowers, watching nature reclaim its rights..."
##        "the Blood Islands" : "The Blood Islands are a cruel place... I remember going to the arena with my %s and me, watching slaves being shredded to pieces by monsters... It was bloody and exciting. The arena here is very tame in comparison."
##        "Karkyr" : "Karkyr is a beautiful and fascinating city, ruled by the Archmage Council. Everything is magical, even the wells and the furniture can speak. It used to freak my %s out! There were also some spectacular incidents, of course, but that was part of the fun."
##        "Westmarch" : "The Westmarch Principalities, where I grew up, is a very unpredictable place. One day a city is flourishing, the next it descends into anarchy, and raiders loot and rape the town. I used to think danger was exciting, but my %s didn't like it one bit."
##        "the desert of Hokoma" : "The desert people are a quiet and wise sort. My %s know many secrets, and knew how to keep them. I miss the peace and quiet of nights in the desert."
##        "Borgo, the port city" : "There's no describing how busy and crowded Borgo is on most days, with sailors from all over the world selling everything you can imagine, and many other things, too. I loved to sit by the pier with my %s in the early hours, listenning to the waves."
##        "the Goliath desolations" : "The desolations are a cold, horrible place. Whether you are rich or poor, you have to work hard every day, just to barely survive. If I didn't have my %s to rely on, I don't know what I would have done."
##        "the Arik mountains" : "They say the Arik mountains are the highest in the world. The air is pure there, not full of filth and magic like here... My %s taught me how to love and respect the mountains."
## Homes            -    ["palace", "hovel", "mansion", "shack", "hut", "big house", "small house", "temple", "shop", "old house", "tower", "church"]
## Guardians        -    ["parents", "dad", "mom", "uncle", "grand-ma", "auntie", "grand-pa", "big brother", "big sister", "little brother", "little sister", "tutor"]
## Districts/Locations
##        "The Slums" (1)            -    "Spice market", "Sewers", "Farm", "Watchtower", "Junkyard", "Thieves guild"
##        "The Warehouse" (2)        -    "Market", "Stables", "Plaza", "Gallows", "Prison", "Arena"
##        "The Docks" (3)            -    "Harbor", "Shipyard", "Seafront", "Beach", "Taverns", "Exotic emporium"
##        "The Magic Gardens" (4)    -    "Botanical garden", "Library", "Magic forest", "Hanging gardens", "Guild quarter", "Magic guild"
##        "The Cathedra" (5)        -    "Pilgrim road", "Banking quarter", "Old ruins", "Lakefront", "Training ground", "Cathedra"
##        "The King's Hold" (6)    -    "Battlements", "Keep", "Hall", "Courtyard", "Temple", "Waterfalls"
##
##        Town locations        -    ["spice market", "taverns", "market", "plaza", "guild quarter", "pilgrim road", "banking quarter"]
##        Beach locations        -    ["beach", "seafront", "lakefront", "waterfalls"]
##        Nature locations    -    ["farm", "botanical garden", "magic forest", "hanging gardens", "old ruins", "courtyard"]
##        Court locations        -    ["library", "magic guild", "cathedra", "keep", "hall", "temple"]
##########################################################################################################################

## 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 = "random"
origin_description = ""

## 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 = None        # 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 = None        # 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 = ()        # 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 = ""        # 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 ####
For anyone not knowing what to do with that, take a basic text editor (I use "Notepad++", which, if i recall correctly, is an open source program, which you can download for free on their homepage) and copy the code from above into it. Then save it as "_BK.ini" into the folder of the girlpack of your choice and edit the file to your liking. As for it is a template, you have to fill in the information for your girl, otherwise information will be missing ingame or the girl may not work at all. You may have to set coding to UTF8 if not already, but i'm not sure about that, i've read something about it somewhere but can neither recall where nor if it was in this context.


2. I like the idea of having most of the girls unique and having racial packs as generic workers to spawn everywhere, kind of a two class system, but there are only very few racial packs available.
I found 5:
Fairy (by Earliestbird555), Draenei - Warcraft (by Earliestbird555), Orc (by YaBoiDeath) those 3 are still available for download, i think not all of them on the helpful Google-Spreadsheet;
Blue Slimegirl (by naugthy_list) Spreadsheetlink takes me to an empty folder;
Blood Elves - Warcraft (by Wenth) looking through Wenth's post-history it looks like it got taken offline maybe, definetly offline on the spreadsheet.
Does anyone know if and where to download the missing two, or would anyone have backed them up and would be able to reupload them anywhere, if allowed? Are there more packs like these? I also found several Pokemon Monster Packs, which would kind of count as racial packs, but they where not realy what i was looking for.


3. If i wanted a girl to only spawn in some districts/locations would this
Example 1 (locations): generate_in = ["Beach", "Seafront", "Lakefront", "Waterfalls", "Farm", "Botanical garden", "Magic forest", "Hanging gardens", "Old ruins", "Courtyard"]
Example 2 (districts): generate_in = ["The Slums", "The Warehouse", "The Docks"]
Example 3 (both mixed): generate_in = ["The Slums", "Prison"]
work (line from _BK.ini under ## Girl Generation ##) or is only a single location/district possible, because the explanation-comment is only singular (grammarwise)?


4. Question for Leortha:
On the HentHighSchool Forum you started a thread about Brothel Packs called "Alternate brothel packs", but it kind of went off-topic because of Earliestbird's game idea, are Brothel Packs not possible and if so why or are there any Brothel Packs released, but not in that thread?


I have to mention about myself, i am not very active with community-stuff like this , it may take weeks or even months (depending on my sparetime and will/interest) for me to read or even answer (i may not answer at all, but will definetly read) answers. Thanks in advance for your time and effort!

Edit: Typo, oversight in code
don't worry, you're very welcome in this community even if you went absent on making girlpacks just like me ;v;
 
  • Like
Reactions: __neronero

Athilora

Member
Apr 13, 2018
111
107
I never actually thought about using those generic racial packs, as I've always been looking for specific characters. It's been like creating my own parodic adult world where characters from various lores travel to a backwards shithole just to be enslaved and fucked. I find it hilarious and that is why I love Brothel King.

However, I am curious about people who have been using racial packs. What have your experiences with them been like?
 

__neronero

Member
Jan 23, 2021
285
393
So looong time lurker, first time poster.
Anyway, I'm looking at making a complete, ie S rank, pack. I'm not good at art nor rich enough to commission several dozen picts. Though I'd love to. So going to ask, how does everyone feel about using Generated AI to fill in the gaps?

Personally started using it a little on my personal fav, but wanted to get the temp of the room before I look at hosting and sharing the pack(s) I'm working on.
I think it's great as long as you set pretty high standards for the generated images, but the problem is that the barrier to create "S-rank"-packs is not in common situations. Eg: Waitress, geisha, naked, etc - AI is good at those, but that's because it has lots of examples to learn from.
The "gaps" in your packs are going to be in uncommon situations: enema, farm acts, specific sex acts with multiple participants. And in my experience AI isn't that good at covering those gaps, so using it to create a perfect pack is a tough ask.

1. _BK.ini template
Nice! There's also a BK.ini generator included in the (+ to update it for BK 0.3)
I'm going to keep your handy template in mind for future updates to the generator.

3. If i wanted a girl to only spawn in some districts/locations would this (...) work (line from _BK.ini under ## Girl Generation ##) or is only a single location/district possible, because the explanation-comment is only singular (grammarwise)?
:
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.

4. Question for Leortha:
On the HentHighSchool Forum you started a thread about Brothel Packs called "Alternate brothel packs", but it kind of went off-topic because of Earliestbird's game idea, are Brothel Packs not possible and if so why or are there any Brothel Packs released, but not in that thread?
It's as simple as replacing the existing images (keeping the same file-extensions) but we haven't seen any yet. (edit: actually, there is one which adds more loli-imagery to the game, but let's not talk about that one) It's especially relevant now, because BK 0.3 enables us to change resolutions. Lots of the current images are low-res or not ideal for widescreen.

I've started a few attempts myself with AI-art, with the idea that your brothel's interior should also visibly change as you ascend from the Slums to the King's Court ( ). But there are lots of images to replace. It's a lot more effort than making a girlpack.
 
Last edited:
  • Like
Reactions: kingthandra
4.00 star(s) 2 Votes