Author Topic: General Discussion  (Read 3821637 times)

0 Members and 32 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6255 on: November 29, 2015, 02:26:31 PM »
Lesbian actions are much more varied then others. What if there is strapon+anal or 69 action, yet we keep checking vaginal for everything?

That's true, we keep checking "lesbian" for everything but what you ask will require another rewrite... maybe I can figure out something in between.

I don't see them even in comments. Doesn't matter, I'll recreate them using available pics instead, like issue 136 says.

Code: [Select]
        # REST JOB:
It's in the old_code._rpy file in backups folder. I put things we will likely use but are not using atm there when they get in a way.

===
I prolly need to split the code into more files again...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6256 on: November 29, 2015, 02:37:29 PM »
We could check vaginal+oral+sex for all lesbian actions, assuming they use everything at once  :)

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6257 on: November 29, 2015, 02:44:50 PM »
I think I know how... at least in theory. Do we do that per character or per business?
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6258 on: November 30, 2015, 02:08:24 AM »
I'm not really sure what do you mean by that question  :D

In my opinion, general sex skill should be a bit useful for all sex checks, but only a bit. Except for lesbian, where it should play a greater role. But I can do it myself, something like round(vaginal*0.75 + sex*0.25) for straight vaginal for example.

Also there should be checks for customer gender and character traits like lesbian and bisexual. I'm not saying straight ones should refuse to do it, but at very least they could enjoy it less and higher skills should be required to do it successfully. Besides, a female customer probably should prefer lesbian and bisexual traits by default, picking straight ones only in rare cases.

Dunno where you handle customers preferences, but checks for job I can write myself if you show me how to check for customer gender.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6259 on: November 30, 2015, 03:24:07 AM »
I'm not really sure what do you mean by that question  :D

I mean:

Option One: Just like in WM, we set preferences in building to be applied to all characters in it.

Option Two: We set these preferences in workers (characters) preferences so they can be set individually.

Option Three: We do both.

Both means double amount of work, for first and second are the same codewise. Option three = double workload.

...

I'll have to write base code myself and leave comments so you can fine-tune the system. I'll try to have at least the Whore-Job be ready for fine-tuning and well commented this week if time permits. But some stuff you can try to balance already, I'll try to leave you marked comments when I can.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6260 on: November 30, 2015, 04:35:52 AM »
I can balance skills levels. But we should decide what to do about skills for a start. I mean this thread, where I proposed effective skills levels.

As for preferences, I suppose setting them by character will give the system much more flexibility, allowing to control the business better.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6261 on: November 30, 2015, 05:04:50 AM »
I can balance skills levels. But we should decide what to do about skills for a start. I mean this thread, where I proposed effective skills levels.

Well, I am much more inclined to add your system with a flexible max which is the same for all characters with gaining skills becoming increasingly harder the closer the skill is to the max. Flexible because we just might add a couple of meaningful events to the game to change it using some city or even world wide events.

As for preferences, I suppose setting them by character will give the system much more flexibility, allowing to control the business better.

Ok, some work has been done for that (GUI-wise), it's just commented out atm. I'll try to come up with the best way to handle clients, as far as I recall, in WM clients are not lost when disabling these options, however that is not reasonable, especially in our system where we simulate stuff properly. If you forbid a character to perform certain actions, clients that come there for such an action and cannot find a worker should just leave (be lost).
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6262 on: November 30, 2015, 06:54:20 AM »
So I wanted to make some rest events, but turns out class Rest(NewStyleJob) is not used atm. Looks like warriors guild has its own resting class, and in brothel you cannot set chars to rest, only to do nothing. Wtf?  :D

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6263 on: November 30, 2015, 07:00:12 AM »
So I wanted to make some rest events, but turns out class Rest(NewStyleJob) is not used atm. Looks like warriors guild has its own resting class, and in brothel you cannot set chars to rest, only to do nothing. Wtf?  :D

class Rest(NewStyleJob) is (should be) used, it is impossible to set because it should no longer be bound to place of work but place of residence (home) and I am yet to integrate that logic into GUI and some other places in code.

Guild will require a very thorough rewrite so don't mind that right now. Same Rest class will be used in the future (prolly, unless we'll have special buildings that modify it completely (in some way that cannot be handled with if'elif or is too messy when handled like that) like some magical resting spa or something along those lines). You can add code to set some chars vitality to 0 if you like, should already be the case with Nami, I used her for testing.

=== Edit:
So to clarify, I want Rest to be bound to specialized building and/or residence, to be added when available. Chars that live on the street/in bad conditions will not have a Rest option, instead None will be used as a bad default of doing nothing while not really resting properly and loosing joy/health. That is not ready yet but Rest itself is working, at least it was last I checked.

It should make more sense once it's done once way or another, my hope is that once the system is up and working, we'll have a cool gameplay in place with loads of way to expand and enrich it exactly the way we want. Our last code setup was written for a much simpler game and was reaching it's limits... new setup is becoming more and more mature but it is still not integrated into GUI/gameplay properly, I do most of the stuff/testing setups using code right now.

Edit 2:
Rest should now be available in dropdown menu always (for testing purposes). Feel free to add some events there but conciser the new logic and try using char flags to pass around data may that be required, I am not planning to create unique instances for all actions for every character, right now we have just the once instance for all jobs that are working so far, possible exceptions will be jobs like Exploration but even then... I'll prolly use team flags to stay in sync with general design.
« Last Edit: November 30, 2015, 07:27:46 AM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6264 on: November 30, 2015, 07:28:57 AM »
The game does not show refusing images correctly. It tries to show profile+angry, but returns "no image available" stuff for chars who don't have angry pics.

Now
Quote
self.img = char.show("profile", "angry", exclude=["happy"], resize=(740, 685), type="first_default")
fixes it and works. But when I try
Quote
self.img = char.show("profile", "angry", exclude=["happy"], resize=(740, 685), type="reduce")
I get
Quote
File "game/library/screens/pyt - screens - nextday.rpy", line 41, in script
    $ building.run_nd()
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core buildings.rpy", line 554, in run_nd
    self.env.run(until=100)
Exception: (UnboundLocalError("local variable 'mood_tag' referenced before assignment",), UnboundLocalError("local variable 'mood_tag' referenced before assignment",))
Why?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6265 on: November 30, 2015, 07:33:34 AM »
Why?

Bug, most likely... I'll take a look.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6266 on: November 30, 2015, 07:42:04 AM »
It's fixed. I tried to force adding an automated mood tag when just the one last tag remains from reduce, for now I just commented out the code, if such a system is desirable, it will be easy to fix.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6267 on: November 30, 2015, 07:58:13 AM »
How did it worked? If for profile+angry only profile remained, what did it tried to add?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6268 on: November 30, 2015, 08:12:35 AM »
How did it worked? If for profile+angry only profile remained, what did it tried to add?

Once all tags except for the very first one were reduced, it should have tried to add automatic mood tag, right now it is based on joy but we'll have overwrites and special flags for better control in the future (char may be mad at you for x amount of days even with high joy for example). The game is not ready yet for the latter so it usually tries adding automatic mood tag if no mood tag exists within tags.

The system can be turned off by adding char.show(*tags, add_mood=False, **kwargs). There are couple of place where it is always turned off, usually when it is not compatible with lookup method.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6269 on: November 30, 2015, 09:30:45 AM »
There is rest option now, yeah. But I don't see reports about resting. It should give
Quote
self.txt.append(choice(["{} is resting.".format(self.worker.name),
                                                 "{} is taking a break to recover.".format(self.worker.name)]))
somewhere, but I don't see it anywhere.