4 Commits

Author SHA1 Message Date
0b5ffe4bbd fuckforgotavariable 2022-08-05 00:55:59 -04:00
320a3757c3 scriptupdate 2022-08-05 00:52:54 -04:00
04ee962708 test 2022-08-04 23:09:43 -04:00
a1a5a2f449 test 2022-08-04 22:45:26 -04:00
30 changed files with 2210 additions and 2122 deletions

59
.gitignore vendored
View File

@@ -1,59 +0,0 @@
# macOS-related files
.DS_Store
.AppleDouble
.LSOverride
# Windows-related files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
[Dd]esktop.ini
#Textfile cruft
/project.json
/traceback.txt
/errors.txt
/log.txt
log.txt
errors.txt
traceback.txt
#Vim swap files
.sw?
*~
*.bak
#save files & cache files
/game/saves/
/game/saves/*
/game/cache/*
/game/cache
saves
tmp
cache
env
#binary files
*.rpyc
*.rpyb
*.rpymc
*.pyc
*.pyo
/game/*.rpyc
#Vim (best text editor) swap files
.sw?
#binary files
*.rpyc
*.rpymc
#backups
*.bak
#android
.android.json

46
errors.txt Normal file
View File

@@ -0,0 +1,46 @@
I'm sorry, but errors were detected in your script. Please correct the
errors listed below, and try again.
File "game/script.rpy", line 27: expected '=' not found.
define L&C = Character('Lyra/Clodius', base, color="#ffffff", who_outlines=[(gui.name_text_thickness, "#860a0a")], **kwargs)
^
File "game/script.rpy", line 36: expected statement.
Language(None)
^
File "game/script.rpy", line 39: expected statement.
Language("spanish")
^
File "game/script.rpy", line 60: end of line expected.
L "{i}If you tell anyone this stuff they'd sic a spook squad on your ass so fast and turn your ass into gravel and foundation."{/i}
^
File "game/script.rpy", line 741: expected statement.
L&C "Lyra I-/Clodius I-"
^
File "game/script.rpy", line 874: expected statement.
>>
^
File "game/script.rpy", line 1168: end of line expected.
L "{i}I-it's okay, Clodius…"{/i}
^
File "game/script.rpy", line 1170: end of line expected.
L "{i}I said yes earlier, didn't I?"{/i}
^
File "game/script.rpy", line 1172: end of line expected.
L "{i}I like you, too."{/i}
^
File "game/script.rpy", line 1303: end of line expected.
{i}L "It looks like I'm in witness protection whenever I'm on a date with you!"{/i}
^
Ren'Py Version: Ren'Py 8.0.1.22070801
Thu Aug 4 18:44:15 2022

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
game/cache/bytecode.rpyb vendored Normal file

Binary file not shown.

BIN
game/cache/py3analysis.rpyb vendored Normal file

Binary file not shown.

BIN
game/cache/screens.rpyb vendored Normal file

Binary file not shown.

7
game/cache/shaders.txt vendored Normal file
View File

@@ -0,0 +1,7 @@
renpy.ftl
renpy.solid
renpy.alpha renpy.texture
renpy.geometry renpy.solid

View File

@@ -23,56 +23,51 @@ init python:
## The colors of text in the interface.
## An accent color used throughout the interface to label and highlight text.
define gui.accent_color = u'#cc0066'
define gui.accent_color = '#9933ff'
## The color used for a text button when it is neither selected nor hovered.
define gui.idle_color = u'#888888'
define gui.idle_color = '#888888'
## The small color is used for small text, which needs to be brighter/darker to
## achieve the same effect.
define gui.idle_small_color = u'#aaaaaa'
define gui.idle_small_color = '#aaaaaa'
## The color that is used for buttons and bars that are hovered.
define gui.hover_color = u'#e066a3'
define gui.hover_color = '#c184ff'
## The color used for a text button when it is selected but not focused. A
## button is selected if it is the current screen or preference value.
define gui.selected_color = u'#ffffff'
define gui.selected_color = '#ffffff'
## The color used for a text button when it cannot be selected.
define gui.insensitive_color = u'#8888887f'
define gui.insensitive_color = '#8888887f'
## Colors used for the portions of bars that are not filled in. These are not
## used directly, but are used when re-generating bar image files.
define gui.muted_color = u'#510028'
define gui.hover_muted_color = u'#7a003d'
define gui.muted_color = '#3d1466'
define gui.hover_muted_color = '#5b1e99'
## The colors used for dialogue and menu choice text.
define gui.text_color = '#ffffff'
define gui.interface_text_color = '#fff'
define gui.interface_text_color = '#ffffff'
define gui.text_color_outline = '#000'
## The outline
define gui.dialogue_text_outlines = [ (absolute(1.0), gui.text_color_outline, 0, 0) ]
## Fonts and Font Sizes ########################################################
## The font used for in-game text.
define gui.text_font = "gui/FallingSky.otf"
define gui.text_font = "DejaVuSans.ttf"
## The font used for character names.
define gui.name_text_font = "gui/FallingSky.otf"
define gui.name_text_font = "DejaVuSans.ttf"
## The font used for out-of-game text.
define gui.interface_text_font = "gui/FallingSky.otf"
define gui.interface_text_font = "DejaVuSans.ttf"
## The size of normal dialogue text.
define gui.text_size = 42
define gui.text_size = 33
## The size of character names.
define gui.name_text_size = 45
define gui.name_text_thickness = absolute(2.0)
## The size of text in the game's user interface.
define gui.interface_text_size = 33
@@ -86,8 +81,6 @@ define gui.notify_text_size = 24
## The size of the game's title.
define gui.title_text_size = 75
define gui.main_menu_text_size = 60
## Main and Game Menus #########################################################
@@ -111,12 +104,12 @@ define gui.textbox_yalign = 1.0
## The placement of the speaking character's name, relative to the textbox.
## These can be a whole number of pixels from the left or top, or 0.5 to center.
define gui.name_xpos = 395 #350
define gui.name_ypos = -85
define gui.name_xpos = 360
define gui.name_ypos = 0
## The horizontal alignment of the character's name. This can be 0.0 for left-
## aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.name_xalign = 0.5
define gui.name_xalign = 0.0
## The width, height, and borders of the box containing the character's name, or
## None to automatically size it.
@@ -131,22 +124,20 @@ define gui.namebox_borders = Borders(5, 5, 5, 5)
## background of the namebox will be scaled.
define gui.namebox_tile = False
## The placement of dialogue relative to the textbox. These can be a whole
## number of pixels relative to the left or top side of the textbox, or 0.5 to
## center.
#To make the text with the characters align to the normal text, I set this to match up and make it "just werk". It is a horrible, hacky fix, but werks none the less. I hope this fix is so bad that I never get to write gui code ever again.
#It's still bad but it could be legitmately worse
define gui.dialogue_ypos = 20
define gui.dialogue_xpos = 220
define gui.dialogue_width = 1460
define gui.dialogue_xpos = 402
define gui.dialogue_ypos = 75
## The maximum width of dialogue text, in pixels.
define gui.dialogue_width = 1116
## The horizontal alignment of the dialogue text. This can be 0.0 for left-
## aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.dialogue_text_xalign = 0.0
define gui.window_yoffset = 0
define gui.input_yoffset = 0
## Buttons #####################################################################
##
@@ -196,10 +187,8 @@ define gui.confirm_button_text_xalign = 0.5
define gui.page_button_borders = Borders(15, 6, 15, 6)
define gui.quick_button_borders = Borders(15, 6, 15, 0)
define gui.quick_button_text_color_outline = "#000"
define gui.quick_button_text_outlines = [ (absolute(1.0), gui.quick_button_text_color_outline, 0, 0) ]
define gui.quick_button_text_size = 21
define gui.quick_button_text_idle_color = "#fff"
define gui.quick_button_text_idle_color = gui.idle_small_color
define gui.quick_button_text_selected_color = gui.accent_color
## You can also add your own customizations, by adding properly-named variables.
@@ -426,13 +415,15 @@ init python:
## This increases the size of the quick buttons to make them easier to touch
## on tablets and phones.
if renpy.variant("touch"):
@gui.variant
def touch():
gui.quick_button_borders = Borders(60, 21, 60, 0)
## This changes the size and spacing of various GUI elements to ensure they
## are easily visible on phones.
if renpy.variant("small"):
@gui.variant
def small():
## Font sizes.
gui.text_size = 45
@@ -481,6 +472,3 @@ init python:
gui.nvl_button_width = 1860
gui.nvl_button_xpos = 30

BIN
game/gui.rpyc Normal file

Binary file not shown.

BIN
game/images/cg19.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
game/images/cglewd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

BIN
game/options.rpyc Normal file

Binary file not shown.

BIN
game/saves/auto-1-LT1.save Normal file

Binary file not shown.

BIN
game/saves/auto-2-LT1.save Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

BIN
game/saves/persistent Normal file

Binary file not shown.

View File

@@ -95,40 +95,22 @@ style frame:
##
## https://www.renpy.org/doc/html/screen_special.html#say
#image colored_button = im.MatrixColor("gui/button/template_idle.png", im.matrix.hue(50))
#
#
define textbox_colored = im.MatrixColor("gui/textbox.png",
im.matrix.colorize("453759", "9d48b1"))
define namebox_colored = im.MatrixColor("gui/textbox_name.png",
im.matrix.colorize("453759", "9d48b1"))
define colored_button = im.MatrixColor("gui/button/template_idle.png",
im.matrix.colorize("453759", "9d48b1"))
#im.matrix.colorize("9d48b1", "453759"))
screen say(who, what):
style_prefix "say"
use quick_menu
window:
id "window"
if who is not None:
#background Image("gui/textbox_name.png", xalign=0.5, yalign=1.0)
add namebox_colored xalign 0.5 yalign 1.0
window:
id "namebox"
style "namebox"
text who id "who"
else:
add textbox_colored xalign 0.5 yalign 1.0
#background Image("gui/textbox.png", xalign=0.5, yalign=1.0)
text what id "what"
## If there's a side image, display it above the text. Do not display on the
## phone variant - there's no room.
if not renpy.variant("small"):
@@ -153,20 +135,23 @@ style window:
xfill True
yalign gui.textbox_yalign
ysize gui.textbox_height
xoffset 0
yoffset gui.window_yoffset
xcenter 0.5
background Image("gui/textbox.png", xalign=0.5, yalign=1.0)
style namebox:
xalign 0.5
xpos gui.name_xpos
xanchor gui.name_xalign
xsize gui.namebox_width
ypos gui.name_ypos
ysize gui.namebox_height
background Frame("gui/namebox.png", gui.namebox_borders, tile=gui.namebox_tile, xalign=gui.name_xalign)
padding gui.namebox_borders.padding
style say_label:
properties gui.text_properties("name", accent=True)
xalign gui.name_xalign
yalign 0.5
xanchor gui.name_xalign
style say_dialogue:
properties gui.text_properties("dialogue")
@@ -175,6 +160,7 @@ style say_dialogue:
xsize gui.dialogue_width
ypos gui.dialogue_ypos
adjust_spacing False
## Input screen ################################################################
##
@@ -227,11 +213,6 @@ screen choice(items):
textbutton i.caption action i.action
## When this is true, menu captions will be spoken by the narrator. When false,
## menu captions will be displayed as empty buttons.
define config.narrator_menu = True
style choice_vbox is vbox
style choice_button is button
style choice_button_text is button_text
@@ -255,48 +236,8 @@ style choice_button_text is default:
## The quick menu is displayed in-game to provide easy access to the out-of-game
## menus.
screen quick_button(filename, label, function):
button:
xsize 71
ysize 71
action function
if 'Return' in label or 'Back' in label or 'Menu' in label:
activate_sound "audio/ui/uiBack.wav"
else:
activate_sound "audio/ui/uiClick.wav"
fixed:
add filename xalign 0.5 yalign 0.5 zoom 1
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 22 style "quick_button_text"
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
# Reuse the same image string and keep things 'neat'.
screen quick_buttons(filename, label_functions):
for l_f in label_functions:
use quick_button(filename, l_f[0], l_f[1])
screen quick_menu():
## Ensure this appears on top of other screens.
zorder 100
if quick_menu:
window:
xpos 1.45
ypos 1.012-0.0300
vbox:
style_prefix "quick"
spacing 1
#use quick_buttons("gui/button/template_idle.png",
use quick_buttons(colored_button,
[
[ "Skip", Skip() ],
[ "Auto", Preference("auto-forward", "toggle") ],
[ "Back", Rollback() ],
[ "Menu", ShowMenu("preferences") ]
] )
screen quick_old_menu():
## Ensure this appears on top of other screens.
zorder 100
@@ -354,8 +295,28 @@ screen navigation():
spacing gui.navigation_spacing
if main_menu:
textbutton _("Start") action Start()
else:
textbutton _("History") action ShowMenu("history")
textbutton _("Save") action ShowMenu("save")
textbutton _("Load") action ShowMenu("load")
textbutton _("Preferences") action ShowMenu("preferences")
if _in_replay:
textbutton _("End Replay") action EndReplay(confirm=True)
elif not main_menu:
textbutton _("Main Menu") action MainMenu()
textbutton _("About") action ShowMenu("about")
if renpy.variant("pc") or (renpy.variant("web") and not renpy.variant("mobile")):
@@ -766,13 +727,6 @@ screen preferences():
textbutton _("Window") action Preference("display", "window")
textbutton _("Fullscreen") action Preference("display", "fullscreen")
vbox:
style_prefix "radio"
label _("Rollback Side")
textbutton _("Disable") action Preference("rollback side", "disable")
textbutton _("Left") action Preference("rollback side", "left")
textbutton _("Right") action Preference("rollback side", "right")
vbox:
style_prefix "check"
label _("Skip")
@@ -963,8 +917,6 @@ style history_name is gui_label
style history_name_text is gui_label_text
style history_text is gui_text
style history_text is gui_text
style history_label is gui_label
style history_label_text is gui_label_text
@@ -1353,7 +1305,7 @@ screen nvl(dialogue, items=None):
use nvl_dialogue(dialogue)
## Displays the menu, if given. The menu may be displayed incorrectly if
## config.narrator_menu is set to True, as it is above.
## config.narrator_menu is set to True.
for i in items:
textbutton i.caption:

BIN
game/screens.rpyc Normal file

Binary file not shown.

View File

@@ -159,10 +159,17 @@ label replayStart:
". . ."
#>>speak from the heart
#>>think it through with extra care
python:
#menu item text then label to jump into
choices = [('Speak from the heart', 'fromtheheart'), #[] is list, () is tuple
('Think it through with extra care', 'thinkitthrough')]
#narrator("", interact=False)
renpy.jump(renpy.display_menu(randomize_choices(choices)))
#>>speak from the heart (+1 to score)
label fromtheheart:
pause .5
$ Lyra += 1
C "Actually, Lyra, I'd been wanting to ask you something..."
@@ -193,9 +200,10 @@ label replayStart:
"I catch a hint of a blush. An antenna twitches. A good sign?"
#>>
jump secondchoice
#>>think it through with extra care
label thinkitthrough:
pause .5
C "Actually, Lyra, I'd been wanting to ask you something..."
@@ -226,9 +234,10 @@ label replayStart:
L "Uhh, I think I get it though!"
#>>
jump secondchoice
#>>
label secondchoice:
pause .5
L "That's real sweet of you, Clodius."
@@ -531,10 +540,15 @@ label replayStart:
"I think it's something like..."
#>>Lyra's new agenda is kidnapping civilians and replacing them with replicants to sow dissent among the population to distract from financial abnormalities!
#>>I don't really get it, but I'll nod along. (+1 to score)
python:
#menu item text then label to jump into
choices = [('Lyra\'s new agenda is kidnapping civilians and replacing them with replicants to sow dissent among the population to distract from financial abnormalities!', 'schizo'), #[] is list, () is tuple
('I don\'t really get it, but I\'ll nod along.', 'nodalong')]
#narrator("", interact=False)
renpy.jump(renpy.display_menu(randomize_choices(choices)))
#>>Lyra's new agenda is kidnapping civilians and replacing them with replicants to sow dissent among the population to distract from financial abnormalities!
label schizo:
pause .5
L "Wh-WHAT?!"
@@ -582,9 +596,12 @@ label replayStart:
L "God Clodius. Next time I'll use a simpler code, okay?"
#>>
jump thirdchoice
#>>I don't really get it, but I'll nod along. (+1 to score)
label nodalong:
pause .5
$ Lyra += 1
"I get the gist that she's proud of whatever she's working on."
@@ -618,9 +635,10 @@ label replayStart:
"But as the seconds pass by, her eyes soften, and her lips begin to quiver. It's not long before she's covering her mouth with her hand in order to stifle back some laughter."
#>>
jump thirdchoice
#>>
label thirdchoice:
pause .5
"Before I can really finish forming my thoughts, there is a knock on the door."
@@ -809,10 +827,15 @@ label replayStart:
"..."
#>>Thank her.
#>>Keep trying. (+1 to score)
python:
#menu item text then label to jump into
choices = [('Thank her.', 'thankher'), #[] is list, () is tuple
('Keep trying.', 'keeptrying')]
#narrator("", interact=False)
renpy.jump(renpy.display_menu(randomize_choices(choices)))
#>>Thank her.
label thankher:
pause .5
"Damn my feeble nerves."
@@ -870,9 +893,12 @@ label replayStart:
L "Don't say that."
#>>
jump endingcheck
#>>Keep trying. (+1 to score)
label keeptrying:
pause .5
$ Lyra += 1
C "I don't care about sounding awkward."
@@ -912,7 +938,6 @@ label replayStart:
"Lyra simply shakes her head and smiles."
"A brilliantly bright smile that spreads from cheek to cheek."
L "You finally said it."
@@ -940,9 +965,18 @@ label replayStart:
L "Yes. I'll be your girlfriend, Clodius."
#>>
jump endingcheck
#>>Bad end
label endingcheck:
if Lyra <= 1:
jump badend
elif Lyra == 2:
jump neutralend
elif Lyra == 3:
jump goodend
label badend:
#pause ?
"I feel like more and more a certain gloom has started to seep in tonight."
@@ -1078,7 +1112,11 @@ label replayStart:
"..."
#>>Neutral ending
$ persistent.b_end = True
jump playAgain
label neutralend:
#pause ?
"..."
@@ -1186,7 +1224,11 @@ label replayStart:
"..."
#>>Good ending
$ persistent.n_end = True
jump playAgain
label goodend:
#pause ?
"Hearing her say it so easily, they ring sincerely in my ears and leave me stunned for a few seconds as those words of hers sink in."
@@ -1264,9 +1306,17 @@ label replayStart:
"What a way to kick off this new phase of our relationship..."
$ persistent.g_end = True
if persistent.b_end and persistent.n_end and persistent.g_end:
jump bonusScene
else:
window auto hide
pause 1
jump playAgain
#Bonus scene: Lyra and Clodius are out sometime a few weeks/months later, lyra had convinced clodius to start wearing more casual wear.
label bonusScene:
"End of the semester, finally."
@@ -1335,3 +1385,18 @@ label replayStart:
L "Oh, you'll be Observing some new stars tonight, Astronomer..."
"..."
label playAgain:
"Would you like to play again?{w=.5}{nw}"
menu:
"Would you like to play again?{fast}"
"I do not want to play again":
"Thank you for your time!"
$ renpy.quit()
"I would like to play again":
window auto hide
pause .5
jump replayStart

BIN
game/script.rpyc Normal file

Binary file not shown.

BIN
game/tl/None/common.rpymc Normal file

Binary file not shown.

50
log.txt Normal file
View File

@@ -0,0 +1,50 @@
Thu Aug 4 18:49:58 2022
Windows-10-10.0.19044
Ren'Py 8.0.1.22070801
Bootstrap to the start of init.init took 0.05s
Early init took 0.00s
Loader init took 0.02s
Loading error handling took 0.02s
Loading script took 0.11s
Loading save slot metadata. took 0.02s
Loading persistent took 0.00s
Faled to initialize steam: FileNotFoundError("Could not find module 'D:\\Other Shitty Programs\\renpy-8.0.0-sdk\\lib\\py3-windows-x86_64\\steam_api64.dll' (or one of its dependencies). Try using the full path with constructor syntax.")
Running init code took 0.05s
Loading analysis data took 0.02s
Analyze and compile ATL took 0.00s
Index archives took 0.00s
Dump and make backups. took 0.05s
Cleaning cache took 0.00s
Making clean stores took 0.00s
Initial gc. took 0.02s
DPI scale factor: 1.000000
nvdrs: Loaded, about to disable thread optimizations.
nvdrs: Disabled thread optimizations.
Creating interface object took 0.27s
Cleaning stores took 0.00s
Init translation took 0.03s
Build styles took 0.00s
Load screen analysis took 0.02s
Analyze screens took 0.00s
Save screen analysis took 0.00s
Prepare screens took 0.05s
Save pyanalysis. took 0.00s
Save bytecode. took 0.00s
Running _start took 0.00s
Performance test:
Interface start took 0.07s
Initializing gl2 renderer:
primary display bounds: (0, 0, 1920, 1080)
swap interval: 1 frames
Windowed mode.
Vendor: "b'NVIDIA Corporation'"
Renderer: b'NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2'
Version: b'4.6.0 NVIDIA 512.95'
Display Info: None
Screen sizes: virtual=(1920, 1080) physical=(1739, 978) drawable=(1739, 978)
Maximum texture size: 4096x4096
controller: '030000006d0400001dc2000000007200' 'Controller (Gamepad F310)' 1
controller: '030000006d0400001dc2000000007200' 'Controller (Gamepad F310)' 1

1
oawashere.txt Normal file
View File

@@ -0,0 +1 @@
hello

37
traceback.txt Normal file
View File

@@ -0,0 +1,37 @@
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/script.rpy", line 25, in script
define L = Character('Lyra', base, color="#ffffff", who_outlines=[(gui.name_text_thickness, '#000000')], **kwargs)
File "game/script.rpy", line 25, in script
define L = Character('Lyra', base, color="#ffffff", who_outlines=[(gui.name_text_thickness, '#000000')], **kwargs)
File "game/script.rpy", line 25, in <module>
define L = Character('Lyra', base, color="#ffffff", who_outlines=[(gui.name_text_thickness, '#000000')], **kwargs)
AttributeError: 'StoreModule' object has no attribute 'name_text_thickness'
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "D:\Other Shitty Programs\renpy-8.0.0-sdk\renpy\bootstrap.py", line 274, in bootstrap
renpy.main.main()
File "D:\Other Shitty Programs\renpy-8.0.0-sdk\renpy\main.py", line 558, in main
renpy.game.context().run(node)
File "game/script.rpy", line 25, in script
define L = Character('Lyra', base, color="#ffffff", who_outlines=[(gui.name_text_thickness, '#000000')], **kwargs)
File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/site-packages/future/utils/__init__.py", line 441, in raise_
File "game/script.rpy", line 25, in script
define L = Character('Lyra', base, color="#ffffff", who_outlines=[(gui.name_text_thickness, '#000000')], **kwargs)
File "D:\Other Shitty Programs\renpy-8.0.0-sdk\renpy\ast.py", line 2441, in execute
self.set()
File "D:\Other Shitty Programs\renpy-8.0.0-sdk\renpy\ast.py", line 2455, in set
value = renpy.python.py_eval_bytecode(self.code.bytecode)
File "D:\Other Shitty Programs\renpy-8.0.0-sdk\renpy\python.py", line 1073, in py_eval_bytecode
return eval(bytecode, globals, locals)
File "game/script.rpy", line 25, in <module>
define L = Character('Lyra', base, color="#ffffff", who_outlines=[(gui.name_text_thickness, '#000000')], **kwargs)
AttributeError: 'StoreModule' object has no attribute 'name_text_thickness'
Windows-10-10.0.19044 AMD64
Ren'Py 8.0.1.22070801
sexo_space_lady_game 1.0
Thu Aug 4 18:48:02 2022