For cmax you should probably use condition <= rather than just <.
Will work either way, I'll try to remember to change that.
Anyway, this is what brothels are like today:
Stats:
- Dirt
- Fame (with min/max) (Can be set in XML)
- Reputation (with min/max) (Can be set in XML)
Attr:
- Rooms (with max) (Can be set in XML)
- Image (XML based as well)
- Mod (Price modifier for upgrades and rooms, calculated by taking the default price and multiplying it with the mod value) (Can be set in XML)
- Price, Desc, Name and Id can all be set in XML.
- Brothels support same flags system as girls do.
- Baseclients, currently set to 5 for all brothels
- Brothels support basic bookkeeping, income (per girl (I think..., programmed that to long ago)), total income, spent on advertising, spent on girls and spent on cleaning.
Fin records are being recorded on per day basis.
- Complex system of relays of results from job to job.
- 5 Types of advertising and upgrades that are available in every brothel and cannot be blocked.
self.upgrades = dict(
bar = dict(active = false, price = 400),
stripclub = dict(active = false, price = 1000),
garden = dict(active = false, price = 500),
casinofloor = dict(active = false, price = 4000),
viprooms = dict(active = false, price = 5000)
)
self.advert = dict(
sign = dict(active = false, price = 200),
flyers = dict(active = false, price = 30),
magazine = dict(active = false, price = 50),
billboard = dict(active = false, price = 100),
girl = dict(active = false, price = 150),
celeb = dict(active = false, price = 5000)
)
Methods:- Next Day:
That allows us to display info in next day screen and run any number of other methods or functions on days end. Basically brothel report, currently reports some fin stuff and lets player know how advertising is working. How many costumer came into brothel as well. LOADS we can and should add here...
if self.advert['sign']['active'] == true:
modfsign = random.randint(0,1)
self.modfame(modfsign)
tmodfame = tmodfame + modfsign
if self.advert['flyers']['active'] == true:
modfflyers = random.randint(0,1)
self.modfame(modfflyers)
tmodfame = tmodfame + modfflyers
hero.gold -= 30
spentcash = spentcash + 30
if self.advert['magazine']['active'] == true:
modfmag = random.randint(2,3)
self.modfame(modfmag)
tmodfame = tmodfame + modfmag
modrmag = random.randint(0,3)
self.modrep(modrmag)
tmodrep = tmodrep + modrmag
hero.gold -= 50
spentcash = spentcash + 50
if self.advert['billboard']['active'] == true:
modfbill = random.randint(0,2)
self.modfame(modfbill)
tmodfame = tmodfame + modfbill
hero.gold -= 100
spentcash = spentcash + 100
if self.advert['girl']['active'] == true:
modfgirl = random.randint(0,1)
self.modfame(modfgirl)
tmodfame = tmodfame + modfgirl
modrgirl = random.randint(0,2)
self.modrep(modfgirl)
tmodrep = tmodrep + modrgirl
hero.gold -= 150
spentcash = spentcash + 150
if self.advert['celeb']['active'] == true:
modrcel = random.randint(50,100)
self.modrep(modrcel)
tmodrep = tmodrep + modrcel
modfcel = random.randint(50,100)
self.modfame(modfcel)
tmodfame = tmodfame + modfcel
hero.gold -= 5000
spentcash = spentcash + 5000
txt += "A celebrity came into your brothel, raising it's reputation by %d and fame by %d\n"%(modrcel,modfcel)
self.advert['celeb']['active'] = false
- Mod Fame/Rep/Rooms Methods that check bounds for Min/Max values.
- Clean method that does about the same thing.
- Getting amount of clients for the brothel.
Currently based on baseclients * Mod * 1.3
Then resulting amount + Fame*0.3
Then resulting amount + (2 + Fame of every girl in brothel/20) per girl.
- Than fin methods for fin record keeping...
- Creating Costumer methods
Costumer is created on these conditions:
gender = random.choice(['male','male','male','female'])
# determine caste of random customer
if self.rep < 50:
caste = random.choice(['Beggar','Peasant','Merchant'])
elif 50 <= self.rep <= 150:
caste = random.choice(['Peasant','Merchant','Nomad'])
elif 151 <= self.rep <= 400:
caste = random.choice(['Nomad','Merchant','Wealthy Merchant'])
elif 401 <= self.rep <= 600:
caste = random.choice(['Merchant', 'Wealthy Merchant','Clerk'])
elif 601 <= self.rep <= 800:
caste = random.choice(['Wealthy Merchant','Clerk','Noble'])
elif self.rep > 800:
caste = random.choice(['Clerk','Noble','Royal'])
# create random customer
customer = Customer(gender=gender, caste=caste)
- Jobs methods follow but those are very complex and will be in a different discussion.
Plenty we can change... like more updates, different updates for different brothels, different methods for calculating stuff, more possibilities of brothels in general etc.
Lets hear any ideas/requests.