devolution

Author Topic: General Discussion  (Read 3821600 times)

0 Members and 32 Guests are viewing this topic.

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1215 on: October 23, 2013, 03:25:39 PM »
So if i do some work on the interactions for girls with player? I help you guys out?
The last interaction is now in the current http://hg.code.sf.net/p/sb-pytfall/code?

Because I'll start from there.

Btw there isn't a guard job.. to assign the warriors too. they only guard when you don't assign them anything..

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #1216 on: October 23, 2013, 03:34:49 PM »
So if i do some work on the interactions for girls with player? I help you guys out?
The last interaction is now in the current http://hg.code.sf.net/p/sb-pytfall/code?

Because I'll start from there.

Btw there isn't a guard job.. to assign the warriors too. they only guard when you don't assign them anything..

Yeap, some basic once are in the:

pyt - labels - girlinteractions.rpy

Nothing been done on it for several month, so that is the last version as far as I know. (I recall CW doing something with date routine but I don't have that code), we can sort it out later.

Basically game jumps to the label when you press one of the buttons in girls profile screen and you have to take it from there with normal renpy tools.

There is a guard job, you need to scroll down.

===============
I am done for tonight, did some work on match fighting routine, didn't finish but I think it's 70% - 80% done.
Like what we're doing?

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1217 on: October 23, 2013, 03:40:07 PM »
K will try to make the interaction more flexible and will let you know how it goes.

Good night

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1218 on: October 23, 2013, 05:35:01 PM »
* edited at 0:24 CET+1 * changed the pic for the reward when joy 100. First normal happy after the right text the other image.

K Started small with the girl interaction
I'll just post the change here so you can judge if you like it.

It's the first part when you ask how she is. It now has more options. The code should speak for it self... but let's just say if she is over joyed she'll show it. Libido decides how.

Here's the code:
Quote
label choice1_she:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
      player_gi "How are you feeling? "
      chr_gi "I miss my family. "
      chr_gi "I wish I could go home. "
    elif chr.joy > 49 and chr.joy < 80:
       $ginterimg = chr.show('profileneutral', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
       player_gi "How are you feeling? "
       chr_gi "I am fine! "
       chr_gi "Everybody is nice and i'm adjusting to living here. "
    elif chr.joy > 49 and chr.joy < 100:   
       $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
       $ char_id = chr.id
       player_gi "How are you feeling, %(char_id)s? "
       chr_gi "I am happy! "
       chr_gi "I have friends and a good place to live in. "
    else:
       if chr.libido > 30: 
           $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           $ char_id = chr.id
           player_gi "How are you feeling, %(char_id)s? "
           chr_gi "I'm very happy... "
           chr_gi "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           "%(char_id)s takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."
           $chr.mod('normalsex', 1)
           $chr.mod('disposition', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           $ char_id = chr.id
           player_gi "How are you feeling, %(char_id)s? "
           chr_gi "I'm very happy... "
           chr_gi "Sit back enjoy this..."
           $ginterimg = chr.show('sex', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           "%(char_id)s slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)
    if dice(10):
       $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
       "She was glad you were worried about her. "
    $chr.mod('joy', 2)
    $jump('girl_interactions')

I added the changed file if you don't want to copy and paste.
« Last Edit: October 23, 2013, 06:25:10 PM by Xipomus »

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #1219 on: October 23, 2013, 06:09:04 PM »


Coz what i had in mind was to trigger the battle engine for the warrior types (like guard duty where they are attacked in the city or some robbers or rapist in the woods) for prostitutes either an event of just a meet where you can talk to her. Have her do her job, maybe tip her and try to lure her away from her current boss maybe.

For healers with conversation use a bit of manipulation that the girls need somebody to cure and take care of them ect ect.

Those are just ideas.

If it's just conversation with keeping in mind occupation this could be an example

- Warrior
You: Hi,
Girl: hello,
You: how are you?
Girl: fine. what do you want?
You: Are you a warrior.
Girl: Yes of course. Can't you see my defined body?
You: I noticed, but didn't want to asume
+disposition

- Warrior
Conversation till Disposition > 10
You: Hello girlname
Girl: Hi
You: Had any interesting fights lately?
Random: 100
Random value >0 <45 {
                           Girl: Just some robbers and such. Nothing really good. + Disp
Random value >44 <97 {
                          Girl: Nothing really. It was nice and relaxing for a change + Disp
Random value >96 <100
                           Girl: Not really. I'm looking for something + Disp
                           You: Well I'm looking for some guards for my building.
                           Girl: Really?
                           You: yes I am. But you'll need to prove yourself.
                           Girl: And how would i do that?
                           You: Why don't you fight for me in the Arena?
                           Girl: Sounds good
                           +addGirl
- Warrior
If Disposition > 10
You: Hi girlname
Girl: Hi. How are you doing.
You: I'm fine, how are you?
Girl: I'm good now that you are here ++Disp


This is different from simbro1x approach and what we talked about earlier in development (for example not voicing the MC). I'm personally against it. (It's not bad at all, it's just something else than I imagined girlmeets would be.)

But as I am not able to do it myself in any reasonable time and Xela seems to like it, my option should have little value.


EDIT:
I was talking purely on girlmeets. But there is probably a misunderstanding between me and Xela about the form of girlmeets anyway. So I'll wrap up what I have this weekend and then let him decide what approach to take.

Your interactions are ok I guess (I was not thinking about them much yet). Please continue!


MC = main character (player avatar in game)
my version of simbro1x is .976a from this post:http://sim-brothel-v2.bigforumpro.com/t602-sibr1x-version-976a-release-full-link-updated
« Last Edit: October 24, 2013, 12:08:26 AM by CherryWood »

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1220 on: October 23, 2013, 06:22:23 PM »
Since the version I have of simbro 1x doesn't show the town.. i can't say what i do wrong.
Btw what do you mean by MC?

Can you give me an example how it would go? Or is it discussed in a post somewhere?

Try to code I posted above... it's nothing really crazy added, just more options after a while depending on stats.
And with the tags it's easy to show more different type of pics and change the look while talking.



« Last Edit: October 23, 2013, 06:29:06 PM by Xipomus »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #1221 on: October 23, 2013, 08:23:51 PM »
Looks good, some notes:

Use
Code: [Select]
$ ginterimg = chr.show('profile', resize=(987, 637))
It's cleaner.

- - -

Code: [Select]
elif chr.joy > 49 and chr.joy < 80:
better python:

Code: [Select]
elif 49 < chr.joy < 80:
- - -

Code: [Select]
elif chr.joy > 49 and chr.joy < 100:
Some info: there are no limits like "100" to stats in PyTFall. chr.get_max("joy") will return whatever the highest value is available for a stat. You prolly know that since there "else" clause with libido checks follows.

- - -

Code: [Select]
           $ char_id = chr.id
ID is used by the game internally, also there is little point in assigning it to a new value.

Code: [Select]
           player_gi "How are you feeling, %(char_id)s? "
new Ren'Py style:

Code: [Select]
           player_gi "How are you feeling, [chr.name]? "
You can also use:

Code: [Select]
chr.nickname
chr.fullname

whatever feels like the best bet for occasion, just not ID, cause IDs can be really weird at times (like partly randomly generated Unicode values for random girls).

- - -

Code: [Select]
           chr_gi "I'm very happy... "
           chr_gi "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           "%(char_id)s takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."

We have "strip" category even with the old image loading technique:

Code: [Select]
$ ginterimg = chr.show('strip', resize=(987, 637))
New tagging technique will allow for better precision, but there aren't any girls tagged that you can download outside of DB at the moment.

- - -

Code: [Select]
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)

==

Code: [Select]
           $chr.strip += 1
           $chr.libido += 1

use whatever feels more comfortable.

===
Important Note:

There is one important difference between girlsmeets in town and interaction at home (brothel), all girls player meets in town are free. For interactions, there are free and slavegirls, so that should be taken into concidertation when you write some interaction.

Code: [Select]
if chr.status != "slave"
will check if girl is not a slave (we currently have only two statuses: "free" and "slave" but there might be more in the future).

In general, you got the idea, it's a nice improvement for interactions.

===
PS:

I was thinking that:

chr_gi
player_gi

might be uncomfortably long, maybe something like:

p # for player
g # for girl

will serve better, you can change that in girlinteractions screen.
« Last Edit: October 23, 2013, 08:26:43 PM by Xela »
Like what we're doing?

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1222 on: October 24, 2013, 02:32:44 PM »
Most of the code was copy and change from the rest of the interactions.

I'll try to implement some of the suggestions, I am going to add # tags for explation.. so it can be read more easily.

Quote
Code: elif chr.joy > 49 and chr.joy < 100:
Some info: there are no limits like "100" to stats in PyTFall. chr.get_max("joy") will return whatever the highest value is available for a stat. You prolly know that since there "else" clause with libido checks follows.

The joy has a max limit of 100. And that limit works. I had it print the value when asking how she was.
I only saw 100 and not above that.

I found that in the character definition, because i need to now the max values and the names for everything.

Revamping it now with the suggestions.
« Last Edit: October 24, 2013, 02:42:18 PM by Xipomus »

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1223 on: October 24, 2013, 03:02:59 PM »
Quote
Code:            $ char_id = chr.id
ID is used by the game internally, also there is little point in assigning it to a new value.

Code:            player_gi "How are you feeling, %(char_id)s? "
new Ren'Py style:

Code:            player_gi "How are you feeling, [chr.name]? "
You can also use:

Code: chr.nickname
chr.fullname
whatever feels like the best bet for occasion, just not ID, cause IDs can be really weird at times (like partly randomly generated Unicode values for random girls).

I used the ID because it was the first name. No other value that I could find, has only the first name of the girl.
It gives the question a bit more intimacy. But if id gets wacked... that's not an option.

I see in the Nature data.xml that name is usually the firstname.. only for Sakura and Hinata not... only i used those as a template...

Will use .name. Maybe wise to change the data.xml of the naturo batch.... kurenai, anko and such all have name as first name.


Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1224 on: October 24, 2013, 03:31:24 PM »
K changed code for the first talk option after changes is:
Quote
label choice1_she:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(987, 637))
      p "How are you feeling? "
      g "I miss my family. "
      g "I wish I could go home. "
    elif 49 < chr.joy < 80: # Between 50 and 79 She's fine
       $ginterimg = chr.show('profileneutral', resize=(987, 637))
       p "How are you feeling? "
       g "I am fine! "
       g "Everybody is nice and i'm adjusting to living here. "
    elif 79 < chr.joy < 100: #Between 80 and 99 Happy   
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       p "How are you feeling, [chr.name]? "
       g "I am happy! "
       g "I have friends and a good place to live in. "
    else:
       #Joy = 100 so do something extra, depending on libido if over 40 sex else do striptease.
       if chr.libido > 40:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]? "
           g "I'm very happy... "
           g "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(987, 637))
           "[chr.name] takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."
           $chr.mod('normalsex', 1)
           $chr.mod('disposition', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]? "
           g "I'm very happy... "
           g "Sit back enjoy this..."
           $ginterimg = chr.show('strip', resize=(987, 637))
           "[chr.name] slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)
    if dice(10):
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       "She was glad you were worried about her. "
       $chr.mod('disposition', 1)
    $chr.mod('joy', 2)
    $jump('girl_interactions')

*edited to remove debug joy= [chr.joy]
« Last Edit: October 24, 2013, 03:46:20 PM by Xipomus »

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1225 on: October 24, 2013, 05:30:13 PM »
Ok. Did the second chat option, how do you feel about me.

Here's the code:
Quote
label choice1_she:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(987, 637))
      p "How are you feeling? "
      g "I miss my family. "
      g "I wish I could go home. "
    elif 49 < chr.joy < 80: # Between 50 and 79
       $ginterimg = chr.show('profileneutral', resize=(987, 637))
       p "How are you feeling? "
       g "I am fine! "
       g "Everybody is nice and i'm adjusting to living here. "
    elif 79 < chr.joy < 100: #Between 80 and 99 Happy   
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       p "How are you feeling, [chr.name]? "
       g "I am happy! "
       g "I have friends and a good place to live in. "
    else:
       #Joy = 100 so do something extra, depending on libido if over 40 sex else do striptease.
       if chr.libido > 40:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]?"
           g "I'm very happy... "
           g "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(987, 637))
           "[chr.name] takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."
           $chr.mod('normalsex', 1)
           $chr.mod('disposition', 1)
           $chr.mod('libido', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]? "
           g "I'm very happy... "
           g "Sit back enjoy this..."
           $ginterimg = chr.show('strip', resize=(987, 637))
           "[chr.name] slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)
    if dice(10):
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       "She was glad you were worried about her. "
       $chr.mod('disposition', 1)
    $chr.mod('joy', 2)
    $jump('girl_interactions')
   
label choice1_you:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(987, 637))
      p "How do you feel about me? "
      if chr.status != "slave":
          g "I don't feel anything about you. "
      else:
          g "Master. I'm a slave."
    elif 49 < chr.joy < 80: # Between 50 and 79 She's fine
       $ginterimg = chr.show('profileneutral', resize=(987, 637))
       p "How do you feel about me? "
       if chr.status != "slave":
           g "I'm ok with you. You're nice... "
       else:
           g "You're a nice master... "
    elif 79 < chr.joy < 100: #Between 80 and 99 Happy
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       p "How do you feel about me? "
       if chr.status != "slave":
           g "I am happy that you are nice to me. "
           g "I know that I can rely on you. "
       else:
           g "You're GREAT!, master "
           g "I'm very glad you are my master. "
    else:   
       #Joy = 100 so do something extra, depending on libido if over 50 anal else do blowjob.
       if chr.libido > 50:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How do you feel about me, [chr.name]? "
           if chr.status != "slave":
               g "You make me happy"
               g "Why don't you help me do some backdoor cleaning?"
               $ginterimg = chr.show('anal', resize=(987, 637))
               "[chr.name] turns around and spreads her anus\nWith an invitation like that, you don't refuse\nYou trust in her anus hard and set a fast rhythm."
               "After a passionate session, you cum in her ass.\nWhen you withdraw, the cum dripples to the ground.\n"
               g "That was hot... we must do it again sometime."
           else:
               g "Master, makes [chr.name] a happy woman."
               g "Fuck [chr.name]'s little hole? Please Master?"
               $ginterimg = chr.show('anal', resize=(987, 637))
               "Leaning against the wall, [chr.name] wiggles her ass"
               g "Master, take your loyal slave."
               "You stand behind her and stop her wiggling. After that a frenzied anal session follows\nAfter about 15 minutes she almost collapses, but you keep on trusting hard...\nAs you release your load, you shout..."
               p "Take Master's seed, slave! "
               "You fill her with a load.\nShe so tired, she drops to her knees and mumbles something\nYou come closer and hear:"
               g "Master rewards [chr.name]'s for being good. [chr.name] loves master!"
           $chr.mod('anal', 1)
           $chr.mod('disposition', 1)
           $chr.mod('libido', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How do you feel about me, [chr.name]? "
           if chr.status != "slave":
               g "You make me happy"
               g "For that you deserve a reward..."
               $ginterimg = chr.show('blowjob', resize=(987, 637))
               "[chr.name] removes your manhood from it's confines \nShe starts to lick and suck it like a lolly\nAfter a few minutes of being expertly worked over, you both get your reward."
           else:
               g "Master, makes [chr.name] a happy woman."
               g "Can [chr.name] suck Master's cock?"
               $ginterimg = chr.show('blowjob', resize=(987, 637))
               "[chr.name] not waiting for an answer, removes your cock and swallows it \nShe swallows it deeply and coaches you to release your reward.\nYou cum all over [chr.name]'s face."
               "While she licks it off, she says:"
               g "Thank you, Master for letting me please you."
           $chr.mod('blowjob', 1)
           $chr.mod('libido', 1)
    $jump('girl_interactions')

Included both interaction.rpy's because of the change girl and playername variable.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #1226 on: October 24, 2013, 06:17:59 PM »
Looks really good! I'll write a class for interactions later, but everything will work either way.

Code: [Select]
$ char_id = chr.id
This doesn't do anything, old code?

- - -

I used the ID because it was the first name. No other value that I could find, has only the first name of the girl.
It gives the question a bit more intimacy. But if id gets wacked... that's not an option.

I see in the Nature data.xml that name is usually the firstname.. only for Sakura and Hinata not... only i used those as a template...

Will use .name. Maybe wise to change the data.xml of the naturo batch.... kurenai, anko and such all have name as first name.

Those data files are often old and/or incomplete, we'll update everything before the Alpha.

There should be something like:

Code: [Select]
fullname="Nelliel Tu Odelschwanck"
name="Nelliel"
nickname="Nel Tu"

in girls data files. Only name is implicit, if nickname and fullname are absent, game will use name instead.

- - -

Most of the code was copy and change from the rest of the interactions.

I'll try to implement some of the suggestions, I am going to add # tags for explation.. so it can be read more easily.

The joy has a max limit of 100. And that limit works. I had it print the value when asking how she was.
I only saw 100 and not above that.

I found that in the character definition, because i need to now the max values and the names for everything.

Revamping it now with the suggestions.


There are traits and items that effect joy and many of other stats and their maximums. But code as it is now is sound, I don't think get_max() should be used instead of a 100 because that will kill the whole idea behind the items/traits.

I think joy will be one of those stats that will default at 100 +/- modifiers from the start. Many stats will be capped by level and will increase only as girls level and absolute maximum increases.

- - -
In any case, script looks really solid... last thing we should change at some point is to simplify ginterimg variable, it only needs different tags supply. I've changed the screen interactions file a bit, you can use this version:

Like what we're doing?

Offline Xipomus

  • Full Member
  • ***
  • Posts: 153
Re: General Discussion
« Reply #1227 on: October 24, 2013, 06:37:51 PM »
Quote
Code: $ char_id = chr.id
This doesn't do anything, old code?

Indeed old code. Will redo the how are you doing with a difference between slave and master tommorrow.
Then I'll probably get started on the topics that aren't there yet, if there are no objections.

P.s. for testing I usually define the joy, 2 to joy,25 on the how are you. That way you can test all the options.

That's it for me today. It's after half past one in the morning so off to bed.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #1228 on: October 25, 2013, 03:53:29 AM »
Then I'll probably get started on the topics that aren't there yet, if there are no objections.

No objections, feel free to pick/create your own options to work on.

P.s. for testing I usually define the joy, 2 to joy,25 on the how are you. That way you can test all the options.

Yeap, just for the record, you can call for Ren'Py console with "Shift + O", than simply type the command like "chr.joy = 100", it will work unless implicitly blocked by game (trait doesn't allow joy to go over 80 for example). You can also type "chr.joy" to figure out what joy is currently set to.

- - -

BTW: Do you have dropbox?
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #1229 on: October 25, 2013, 06:27:54 AM »
I see in the Nature data.xml that name is usually the firstname.. only for Sakura and Hinata not... only i used those as a template...
You should get access to shared dropbox folder. If you need up-to-date packs and xmls/jsons, look for them in my folder, not in Xela's.