However, I have to hard code it each time, and I would rather create a function that does this automatically, by moving the characters to the right spots on the screen and then remembering where they were. That way, if I want to change something, I can change it in one place. So, with that said, here's a video of what it looks like in game: https://youtu.be/eyjU9OrLL1A
Note: that does not include the characters returning to their original positions, which I want.
Here's the code:
Code: Select all
label char_bar:
$ ben_relate = 80
scene bg apartment day
#show calendar onlayer calendar
show ben at center
b "This is what happens when a choice occurs."
show ben at left with move
hide ben with dissolve
$ renpy.pause(0.1)
show screen bar_ben_left with dissolve
menu char_bar_choice1:
"What should I do?"
"Inflict massive pain onto this poor fool":
jump char_bar_bensad
"Love him immensely, like a pet fish you picked up at a carnival and that you know is going to die soon so you have to make every minute count":
jump char_bar_benhappy
label char_bar_bensad:
hide screen bar_ben_left with dissolve
$ renpy.pause(0.1)
show screen bar_ben_center with dissolve
n "You spit on Ben's face. Immediately, you are filled with regret, but Ben's unsmiling face tells you that the damage done."
$ ben_relate -= 20
b "That makes me feel really bad. It's like you spit on my values."
hide screen bar_ben_center with dissolve
$ renpy.pause(0.1)
show ben with dissolve
n "Ben warps back into his usual self. You shake off the effects of your power."
jump scheme_bar_tester
label char_bar_benhappy:
hide screen bar_ben_left with dissolve
$ renpy.pause(0.1)
show screen bar_ben_center with dissolve
p "I love you like a pet fish. Which is to say, romantically."
$ ben_relate += 20
b "You'd think I wouldn't like that, but actually it makes me feel warm and fuzzy!"
hide screen bar_ben_center with dissolve
$ renpy.pause(0.1)
show ben with dissolve
n "Ben warps back into his usual self. You shake off the effects of your power."
label scheme_bar_tester:
scene bg apartment day
show calendar onlayer calendar
show richie at center
s "I am Richie. Will you help me or hurt me?"
hide richie with dissolve
show screen bar_scheme_1 with dissolve
menu scheme_bar_tester_choice2:
"Hmm...this seems like an opportunity to scheme!"
"Fuck him up":
jump scheme_evil
"Don't do that":
jump scheme_good
label scheme_evil:
n "You punch that piece of garbage in the head."
$ scheme += 20
$ renpy.pause(1.0)
r "Uh, rude. I feel you had a nefarious intent by punching me..."
hide screen bar_scheme_1 with dissolve
$ renpy.pause(0.1)
show richie with dissolve
call scheme_end
label scheme_good:
p "I wanted to punch you in the head, but I showed restraint instead."
$ scheme -= 20
$ renpy.pause(1.0)
r "I guess that makes you a good person?"
hide screen bar_scheme_1 with dissolve
$ renpy.pause(0.1)
show richie with dissolve
call scheme_end
label scheme_end:
r "And now...let's move onto something else!"
call scheme_option2
label scheme_option2:
scene bg apartment day
show calendar at left
show richie at center
r "Here Richie says a line."
call schemetest2
menu char_bar_choice3:
"How should I react?"
"Trick Ben into fighting Stool Boy":
jump char_bar_stoolsad
"Coach Ben and Stool Boy into a domestic partnership for the ages" :
jump char_bar_stoolhappy
label char_bar_stoolsad:
hide screen bar_ben_1 with dissolve
$ renpy.pause(0.1)
show screen bar_ben_center with dissolve
b "In this version, Ben only says one line before his relationship takes the hit."
$ ben_relate -= 20
$ renpy.pause(1.0)
hide screen bar_ben_center with dissolve
$ renpy.pause(0.1)
show ben with dissolve
n "Ben warps back into his usual self. You shake off the effects of your power."
hide ben with dissolve
$ renpy.pause(0.1)
show screen bar_ben_1 with dissolve
show richie at right with move
hide richie with dissolve
$ renpy.pause(0.1)
show screen bar_richie_right with dissolve
label schemetest2:
hide richie
hide screen scheme_option1 with dissolve
hide screen scheme_option2 with dissolve
show ben angry at one
show richie at four
show hayley at five
show jane at seven
r "Your attitude is really getting on my nerves, Ben!"
b "How dare you call me by my name! Only my friends can do that, you piece of shit!"
n "Hmm. My astute emotional senses pick up a touch of distress. If it weren't for my powers, I never would have guessed these two were feuding."
h "I want to be friends with everyone, so I hate when things go like this! I hope no one makes it worse!"
j "As a horny goat, I wish to see these two copulate."
p "Seems like I have a lot of power in this debug menu."
show ben at bar_1
show richie at bar_2
show hayley at bar_3
show jane at bar_4
with move
$ renpy.pause(0.1)
hide ben
hide richie
hide jane
hide hayley
with dissolve
show screen bar_ben_1
show screen bar_richie_2
show screen bar_hayley_3
show screen bar_jane_4
show screen bar_scheme_1
with dissolve
menu char_bar_choice4:
"How should I react?"
"Trick Ben into fighting Stool Boy":
jump char_bar_only1
"Coach Ben and Stool Boy into a domestic partnership for the ages" :
jump char_bar_only1
label char_bar_only1:
call hide_bar_fade
show ben angry at one
show richie at four
show hayley at five
show jane at seven
with dissolve
p "What's that, Stool Boy? Ben wears diapers?"
b "I do not wear diapers! That is ridiculous!"
n "Ben pulls Stool Boy in close and whispers loudly in his ear."
b "That was {i}private{/i} information!"
s "Ben, you know I love your diapers! But I didn't tell anyone about them!"
call hide_char_fade
show screen bar_ben_center with dissolve
b "Why do I wear diapers? Why do my irritable bowels torment me so?"
call ben_minus_small
n "He howls into the sky before fixing you with a glare. It's clear Ben suspects you had a role in publicizing his private information."
call hide_bar_fade
show screen bar_hayley_center with dissolve
h "All I wanted was for my ex to be happy."
call hayley_minus_small
h "This sucks!"
call hide_bar_fade
show screen bar_jane_center with dissolve
j "Once I was a horny goat, and still I am a horny goat."
call jane_minus_small
j "If only you had appeased that hunger."
call hide_bar_fade
show screen bar_scheme_1 with dissolve
n "You survey the emotional wreckage with satisfaction. You cannot believe your childish comment worked as well as it did. Yes, you burned some bridges, but not too badly."
call scheme_plus_med
n "And besides: a sad Stool Boy is a less effective Stool Boy, that's certain. You mask your grin before anyone sees it."I have defined spots for bar_1, bar_2, etc. This is a snippet of that.
Code: Select all
default bar_y = 0.33
default bar_left_x = 0.1
default bar_center_x = 0.5
default bar_right_x = 0.9
default bar_1x = 0.02
default bar_2x = 0.20
default bar_3x = 0.82
default bar_4x = 0.98
default bar_relationship_offset = 100
default bar_relationship_range = 100
default bar_relationship_xsize = 200 #This affects how wide all of the relationship bars are.
default bar_relationship_ysize = 600 #This affects how tall all of the relationship bars are.
#bars. This is BEN.
screen bar_ben_left:
bar:
bar_vertical True
bottom_bar "idle_bar_ben.png"
top_bar "bar_empty.png"
thumb "bar_thumb_ben.png"
value ben_relate
thumb_offset bar_relationship_offset
range bar_relationship_range
xysize (bar_relationship_xsize, bar_relationship_ysize)
xalign bar_left_x
yalign bar_y
screen bar_ben_center:
bar:
bar_vertical True
bottom_bar "idle_bar_ben.png"
top_bar "bar_empty.png"
thumb "bar_thumb_ben.png"
value ben_relate
thumb_offset bar_relationship_offset
range bar_relationship_range
xysize (bar_relationship_xsize, bar_relationship_ysize)
xalign bar_center_x
yalign bar_y
screen bar_ben_right:
bar:
bar_vertical True
bottom_bar "idle_bar_ben.png"
top_bar "bar_empty.png"
thumb "bar_thumb_ben.png"
value ben_relate
thumb_offset bar_relationship_offset
range bar_relationship_range
xysize (bar_relationship_xsize, bar_relationship_ysize)
xalign bar_right_x
yalign bar_y
screen bar_ben_1:
bar:
bar_vertical True
bottom_bar "idle_bar_ben.png"
top_bar "bar_empty.png"
thumb "bar_thumb_ben.png"
value ben_relate
thumb_offset bar_relationship_offset
range bar_relationship_range
xysize (bar_relationship_xsize, bar_relationship_ysize)
xalign bar_1x
yalign bar_y
In short: is there a simpler way to do this? I would like to make a custom call that remembers character position, direction, and emotion (e.g., if Ben was angry), and then return to that whenever the one on one moments are complete.
Artificial Selection
Deep Sea Valentine
Robot Daycare