Well, MC is a complex class but its 'name' property has nothing special to it, it's just a regular variable that gets assigned a string upon starting the game.
Code: Select all
label start:
MC_name = "Nero"
MC = Main()
init python:
class Main(object):
"""This class is for the main character."""
def __init__(self):
self.name = MC_name
[...]
The game runs on 7.3.5.606, so unless things changed recently, it should be working.
The only thing I can think of is that the game was created on an earlier version of Ren'py, back when '!i' didn't exist, and I ported it to 7.3.5 but maintained the old UI system (using themes).
The say screen thus looks like this:
Code: Select all
## Say screen ##################################################################
##
## The say screen is used to display dialogue to the player. It takes two
## parameters, who and what, which are the name of the speaking character and
## the text to be displayed, respectively. (The who parameter can be None if no
## name is given.)
##
## This screen must create a text displayable with id "what", as Ren'Py uses
## this to manage text display. It can also create displayables with id "who"
## and id "window" to apply style properties.
##
## https://www.renpy.org/doc/html/screen_special.html#say
screen say(who, what, side_image=False):
style_prefix "say"
# The one window variant.
window yalign 1.0 ysize int(config.screen_height*0.2) xpadding 20 ypadding 10:
id "window"
has vbox:
style "say_vbox"
if who:
text who id "who"
text what id "what"
# If there's a side image, display it above the text.
if side_image:
fixed xsize 150 ysize 150 xalign 0.0 yalign 1.0:
add side_image xalign 0.5 yalign 0.0
else:
add SideImage() xalign 0.0 yalign 1.0
# Use the quick menu.
use quick_menu
style window is default
style window:
xalign 0.5
xfill True
yalign gui.textbox_yalign
ysize gui.textbox_height
background Image("gui/textbox.png", xalign=0.5, yalign=1.0)
I don't think I really changed anything to it.