devolution

Author Topic: General Discussion  (Read 3821717 times)

0 Members and 26 Guests are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #3990 on: November 08, 2014, 03:58:13 PM »
A tough question. I like buttons on the left one more because they are more compact, but buttons on the right one are prettier.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3991 on: November 08, 2014, 04:03:15 PM »
A tough question. I like buttons on the left one more because they are more compact, but buttons on the right one are prettier.

If it was easy to pick, I wouldn't have asked :)

Both options are really good since Thewlis finished styling both buttons...
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #3992 on: November 08, 2014, 04:36:09 PM »
Yes.
Turned out that I can't. I'm not able to fully understand what whore job do with images. That code is too complicated for me  :( 


What needs to be done is to exclude ["bdsm", "mast", "group"] tags from the whole job.
I tried to add those to
Code: [Select]
def get_image(self, act, girl, has=False, **kwargs):
            """
            Gets the image for the variant.
            act = The act.
            girl = The girl.
            has = Whether to return using the has_image or show function.
            kwargs = Arguments to pass to the functions.
            """
            if has: f = girl.has_image
            else: f = girl.show
           
            # ChW: I excluded some main tags that we dont want in current whore job
            if self.tags:
                if self.noTags: return f(*self.tags, exclude=self.noTags + ["bdsm", "mast", "group"], **kwargs)
               
                else: return f(*self.tags, exclude=["bdsm", "mast", "group"], **kwargs)
           
            else:
                if self.noTags: return f(act, exclude=self.noTags + ["bdsm", "mast", "group"], **kwargs)
               
                else: return f(act, exclude=["bdsm", "mast", "group"], **kwargs)

but that didn't help.


Also, the game is not using "les" tag at all, so in case of finger_pussy we get any image with "finger pussy" like normal sex image.
I think it's because that the class takes first image tag from the name of act, and this is named in the file as "lesbian", not "les" like the tag. But just renaming the act caused whores to not have female customers anymore....
« Last Edit: November 08, 2014, 05:51:14 PM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3993 on: November 08, 2014, 04:59:25 PM »
New code is a bit confusing but it's prolly here:

Code: [Select]
    # Oral sex acts
    PytWhoring("blowjob", sex_skill="blowjob",
               variants=dict(deepthroat=("He shoved his cock all the way into her throat! \n",
                                         "Deepthroat is definitely my style, thought the customer... \n"),
                             
                             handjob="He told %s to give him a good handjob.\n",
                             
                             footjob=PytWhoringVariant(("He asked her for a foodjob.\n",
                                                        "Footjob might be a weird fetish but that's what the customer wanted...\n"),
                                                       dice=80, tags="footjob"),
                             
                             titsjob_big=PytWhoringVariant(("He went straight for her big boobs. \n", "Seeing her knockers, customer wanted notning else then to park his dick between them. \n",
                                                            "Lustfully gazing on your girl's burst, he asked for a titsjob. \n",
                                                            "He put his manhood between her big tits. \n",
                                                            "He showed his cock between %s's enormous breasts. \n"),
                                                           traits=["Big Boobs", "Abnormally Large Boobs"], tags=["titsjob"]),
                             
                             titsjob_flat=PytWhoringVariant(( (7,"With a smirk on his face, customer asked for a titsjob. He was having fun from her vain effords. \n"),
                                                             "He placed his cock between her breasts, clearly enyoing her flat chest. \n",
                                                             "Even when knowing that her breasts are small, he wanted to be carresed by them. \n"),
                                                            dice=50, traits=["Small Boobs"], tags=["titsjob"]),
                             
                             titsjob=PytWhoringVariant(("He asked for a titsjob. \n", "He let %s to carres him with her breasts. \n",
                                                        "He showed his cock between %s's tits. \n"),
                                                       noTraits=["Big Boobs", "Abnormally Large Boobs", "Small Boobs"], tags=["titsjob"]),
                             
                             bukkake=PytWhoringVariant(("Customer wanted nothing else then to jerk himself in from of her and ejactuate on her face. \n",
                                                        "He wanked himself hard in effort to cover her with his cum. \n"),
                                                       dice=20, tags=["bukkake"]),
                             
                             blowjob=PytWhoringVariant(("Client was in mood for some oral sex. \n",
                                                        "Client was in the mood for a blowjob. \n",
                                                        "He asked her to lick his dick. \n"),
                                                       noTags=["deepthroat", "handjob", "footjob", "titsjob", "bukkake"]),
                             
                             _=("Client was in mood for some oral sex. \n",
                                "Client was in the mood for a blowjob. \n",
                                "He asked her to lick his dick. \n")
                             )
               )

tags = List of tags to use
noTags = List of tags to exclude
« Last Edit: November 08, 2014, 05:01:39 PM by Xela »
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #3994 on: November 08, 2014, 05:34:51 PM »
New code is a bit confusing but it's prolly here:
Ok, I'm starting to get it now I guess.
It seems that the problem was that I overlooked that some of the variant like "_" go through different class that doesn't accept tags and I need to rewrite them into PytWhoringVariant first if I need to add something more to those.

« Last Edit: November 08, 2014, 06:09:12 PM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3995 on: November 08, 2014, 05:50:29 PM »
Ok, I'm starting to get it now I guess.
It seems that the problem was that I overlooked that some of the texts are handled through different class that doesn't accept tags and I need to rewrite them into PytWhoringVariant first.

Prolly...

Some stuff in the code is a bit weird but I prolly not seeing the whole picture. Also when adding new stuff, make sure all tags are in lists, I think they are unpacked and plain strings might do weird things.

Small SF Update:

- Small fixes
- Small rewrite of location_actions screen
- All options now must be chosen in the MC screen to proceed
- MC Build up screen can now be skipped completely (saves time when testing the game) *Dev Mode only

Going to catch some zzzs...

*Note that Thewlis pushed a fix for lesbian, you'll have trouble if there is a merging conflict. Get his stuff first!
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: General Discussion
« Reply #3996 on: November 08, 2014, 05:53:34 PM »
And I figured all of that out but for some reason:

I'm sorry, but an uncaught exception occurred.

I keep getting errors like this one when i try to look at prisoners. Also if there are no prisoners, the game locks with writing on a white frame that I cannot find how to close (prolly a called screen).

I am trying to style Interactions screen now :)

Right, the locking-on-a-white-frame was the slave market screen failing because there weren't any girls to look at. The action should have prevented you from accessing the screen entirely in this case, but was missing a bracket.

The error itself is because while the jail had girls in it, the current girl property was still null so it tried to access properties on a girl that didn't exist. I've changed the add_prisoner (and pytfall.ra.add) functions to automatically set girl to the first girl added if its None (and pytfall.ra.add has jail=True passed).

What needs to be done is to exclude ["bdsm", "mast", "group"] tags from the whole job.

Also, the game is not using "les" tag at all, so in case of finger_pussy we get any image with "finger pussy" like normal sex image.
I think it's because that the class takes first image tag from the name of act, and this is named in the file as "lesbian", not "les" like the tag. But just renaming the act caused whores to not have female customers anymore....

The les/lesbian confusion has been fixed. I changed the PytWhoring name to les and changed the corresponding Customer act to les as well.

As for the tags, while changing everything over to a PytWhoringVariant to exclude those tags would work, I simply added a blanked fix so that all the image calls in the classes automatically exclude the bdsm, mast and group tags. Unless we want those tags for certain acts, at which point I'll have to remove that again.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3997 on: November 08, 2014, 06:14:00 PM »
Right, the locking-on-a-white-frame was the slave market screen failing because there weren't any girls to look at. The action should have prevented you from accessing the screen entirely in this case, but was missing a bracket.

The error itself is because while the jail had girls in it, the current girl property was still null so it tried to access properties on a girl that didn't exist. I've changed the add_prisoner (and pytfall.ra.add) functions to automatically set girl to the first girl added if its None (and pytfall.ra.add has jail=True passed).

Code: [Select]
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 37, in script
    python:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 42, in <module>
    pytfall.ra.previous_index()
  File "game/library/classes - training.rpy", line 2147, in previous_index
    self.index = (self.index-1) % len(self.girls_list)
ZeroDivisionError: integer division or modulo by zero

It's working but throwing this error when trying to click the next girl button (with only one girl in jail). I'll try to handle the rest of the logic for this tomorrow, there should be no problems if the jail is working.
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #3998 on: November 08, 2014, 06:36:15 PM »
The les/lesbian confusion has been fixed. I changed the PytWhoring name to les and changed the corresponding Customer act to les as well.
Somehow it didn't help. I'm still getting strait sex images that just happen to have some description tags like anal dildo or caress tits displayed together with female customer text.

Like if the job was only checking the second tag and no both tags together (les + variant)
« Last Edit: November 08, 2014, 07:11:42 PM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3999 on: November 08, 2014, 07:41:02 PM »
Somehow it didn't help. I'm still getting strait sex images that just happen to have some description tags like anal dildo or caress tits displayed together with female customer text.

Like if the job was only checking the second tag and no both tags together (les + variant)

I'd add that:

self.girls.remove(self.girl)

Edit:
Maybe:
if self.girl.AP <= 0:
    # remove the girl will work but that may not be sensible for all job, needs testing...

in finish_job method is not acceptable, most jobs are meant to be repeated until AP are exhausted. I tried removing it but it caused an infinite loop.

I don't get why jobs were rewritten, they seem to have become a lot less flexible. We'll fix all of that in time but that is the only rewrite that makes no sense to me, buildings and girlsmeets all became better and (a lot) more powerful, slavemarket screen reusable, schools had to be rewritten due to horrific code but jobs were tight, all at one place, worked like clockwork and were easy to expand... I can't figure out what we got out of all the work rewrite (must have) required.
« Last Edit: November 08, 2014, 07:56:13 PM by Xela »
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: General Discussion
« Reply #4000 on: November 08, 2014, 07:57:19 PM »
Code: [Select]
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 37, in script
    python:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 42, in <module>
    pytfall.ra.previous_index()
  File "game/library/classes - training.rpy", line 2147, in previous_index
    self.index = (self.index-1) % len(self.girls_list)
ZeroDivisionError: integer division or modulo by zero

It's working but throwing this error when trying to click the next girl button (with only one girl in jail). I'll try to handle the rest of the logic for this tomorrow, there should be no problems if the jail is working.

If theres only 1 girl, then the index would be 0, so its complaining about getting -1 / 1. An if statement checking for a length of > 1 to do anything would fix it.

Somehow it didn't help. I'm still getting strait sex images that just happen to have some description tags like anal dildo or caress tits displayed together with female customer text.

Like if the job was only checking the second tag and no both tags together (les + variant)

Right, I forgot that any PytWhoringVariant with the tags argument ignores the act name when getting images, as it was designed to call a replacemen tag, not supplement it. I'll add in the missing tags to those that need it.

I'd add that:

self.girls.remove(self.girl)

in finish_job method is not acceptable, most jobs are meant to be repeated until AP are exhausted. I tried removing it but it caused an infinite loop.

I don't get why jobs were rewritten, they seem to have become a lot less flexible. We'll fix all of that in time but that is the only rewrite that makes no sense to me, buildings and girlsmeets all became better and (a lot) more powerful, slavemarket screen reusable, schools had to be rewritten due to horrific code but jobs were tight, all at one place, worked like clockwork and were easy to expand... I can't figure out what we got out of all the work rewrite (must have) required.

The rewrite involved mainly general clean up (the base class Job contained the "loc" property that was completely ignored for the "brothel" property initialised in all the subclasses for instance). WhoreJob got the PytWhoring implementation because much of the code was an almost perfect copy. The act function had 122 lines that was copied 4 times with the only difference being a character stat and what text was reported. Not to mention how the bar brawl / violet client were also copies.

However as were having problems I'll admit I didn't understand how the Job classes worked as well as I thought. I'll undo the changes I made that've caused these problems and we can look at clean up later.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4001 on: November 08, 2014, 08:08:14 PM »
I'll undo the changes I made that've caused these problems and we can look at clean up later.

If you mean reverting back to old code, that is prolly not sensible. We'll gradually fix what we have now (I think the if self.girl.AP <= 0: worked for the finish_job).

Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #4002 on: November 08, 2014, 08:16:07 PM »
I'd add that:

self.girls.remove(self.girl)

in finish_job method is not acceptable, most jobs are meant to be repeated until AP are exhausted. I tried removing it but it caused an infinite loop.
Aside of prostitutes always have only one customer now, I'm not having any service girls working at the bar. They just clean the building to no end, and when one girl manage to get the dirt to zero, next service girl just have it's job text empty.
 


///////////
@Thewlis: Thanks for that tag fix. I like the new structure, it's a pity that there are those issues...

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4003 on: November 08, 2014, 08:20:26 PM »
If theres only 1 girl, then the index would be 0, so its complaining about getting -1 / 1. An if statement checking for a length of > 1 to do anything would fix it.

That paging system was advertised to me by Matt as being flawless, -1 % 1 returns 0 so index would remain 0. I think len(self.girl_list) is returning 0 for some reason.

Edit:
Yeah... it is calling pytfall.ra instead if the jail for some reason...

Aside of prostitutes always have only one customer now, I'm not having any service girls working at the bar. They just clean the building to no end, and when one girl manage to get the dirt to zero, next service girl just have it's job text empty.

That's what I meant in my post :) I think this can be fixed fairly easily, going to push last fix and really call it a night :)
« Last Edit: November 08, 2014, 08:35:45 PM by Xela »
Like what we're doing?

Offline Gismo

  • Jr. Member
  • **
  • Posts: 88
Re: General Discussion
« Reply #4004 on: November 09, 2014, 08:13:53 AM »
Small update:
- Added full description for caravan story