diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-05-17 21:09:51 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-05-17 21:09:51 -0300 |
commit | 35d4fdcab02925c8e5c65f47a34e8063c34b66b0 (patch) | |
tree | 7f44df85e03ecf72d3445759802433d23182be0e | |
parent | 840973bf2ade7659bfdc79bf8bcb1c3de7dc6a78 (diff) | |
download | renpy-35d4fdcab02925c8e5c65f47a34e8063c34b66b0.tar.gz renpy-35d4fdcab02925c8e5c65f47a34e8063c34b66b0.tar.bz2 renpy-35d4fdcab02925c8e5c65f47a34e8063c34b66b0.tar.xz renpy-35d4fdcab02925c8e5c65f47a34e8063c34b66b0.zip |
Mirror Lake introduction cutscene.
The images are licensed under CC0, but mirrorlake.png contains trademarks.
-rw-r--r-- | game/images/EnBallBlue.png | bin | 0 -> 8969 bytes | |||
-rw-r--r-- | game/images/darkshadow.png | bin | 0 -> 24695 bytes | |||
-rw-r--r-- | game/images/mirrorlake.png | bin | 0 -> 61885 bytes | |||
-rw-r--r-- | game/mirrorlake.rpy | 11 | ||||
-rw-r--r-- | game/renpy.rpy | 96 |
5 files changed, 107 insertions, 0 deletions
diff --git a/game/images/EnBallBlue.png b/game/images/EnBallBlue.png Binary files differnew file mode 100644 index 0000000..bdcfc18 --- /dev/null +++ b/game/images/EnBallBlue.png diff --git a/game/images/darkshadow.png b/game/images/darkshadow.png Binary files differnew file mode 100644 index 0000000..d3ccb86 --- /dev/null +++ b/game/images/darkshadow.png diff --git a/game/images/mirrorlake.png b/game/images/mirrorlake.png Binary files differnew file mode 100644 index 0000000..98be78c --- /dev/null +++ b/game/images/mirrorlake.png diff --git a/game/mirrorlake.rpy b/game/mirrorlake.rpy index d7e69ea..1c8da88 100644 --- a/game/mirrorlake.rpy +++ b/game/mirrorlake.rpy @@ -22,6 +22,17 @@ screen mirrorlake(): ymaximum 650 yminimum 650 vbox: + #button: + # action SetScreenVariable("server", None) + # fixed: + # xmaximum 320 + # ymaximum 40 + # xalign 0.5 + # add Frame("gui/button/choice_hover_background.png", 0, 0) + # text _("{b}The Void{/b}"): + # color "#F2F" + # xalign 0.5 + # yalign 0.5 for (idx, srv) in enumerate(persistent.serverlist): button: action SetScreenVariable("server", idx) diff --git a/game/renpy.rpy b/game/renpy.rpy index 17fbae2..6ab5eaf 100644 --- a/game/renpy.rpy +++ b/game/renpy.rpy @@ -6,6 +6,10 @@ ################################################################################# image TMW2 = "images/TMW2.png" +image MLP = "images/mirrorlake.png" +image DKSD = "images/darkshadow.png" +image DKBG = "#210" +define evil = Character("???", color="#f00") screen loading(): zorder 100 @@ -78,6 +82,10 @@ label start: # Open game hide screen loading scene black + if persistent.vaultId is None or persistent.vaultId != vaultId: + $ persistent.vaultId = vaultId + call intro + scene black with None show TMW2 at truecenter with Dissolve(0.5) pause 1.0 @@ -125,3 +133,91 @@ label start: # Will never reach this line return +################################################################################# +init python: + class ManaSparkle(object): + def __init__(self, spd=25, multi=True): + self.sm = SpriteManager(update=self.update) + self.items = [ ] + if multi: + d = Transform("images/EnBallBlue.png", zoom=.05) + for i in range(0, 80): + self.add(d, renpy.random.randint(spd, spd*2)) + d = Transform("images/EnBallBlue.png", zoom=.10) + for i in range(0, 45): + self.add(d, renpy.random.randint(spd, spd*2)) + d = Transform("images/EnBallBlue.png", zoom=.25) + for i in range(0, 10): + self.add(d, renpy.random.randint(spd, spd*2)) + d = Transform("images/EnBallBlue.png", zoom=.40) + for i in range(0, 5): + self.add(d, renpy.random.randint(spd, spd*2)) + def add(self, d, speed): + s = self.sm.create(d) + startx = renpy.random.randint(0, 1200) + starty = renpy.random.randint(400, 720) + vect = renpy.random.randint(0, 4) + self.items.append((s, startx, starty, vect, speed)) + def update(self, st): + for s, startx, starty, vect, speed in self.items: + if vect % 2 == 0: + s.x = (startx + speed * st) % 1300 + else: + s.x = (startx - speed * st) % 1300 + if vect % 2 == 1: + s.y = (starty - speed * st) % 800 + else: + s.y = (starty + speed * st) % 800 + return 0 +label intro: + $ RPCUpdate("The Void", "launcher") + scene DKBG + show expression (ManaSparkle().sm) as flare + show DKSD at left + with Dissolve(1.0) + evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}" + evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}" + hide flare + show expression (ManaSparkle(spd=100).sm) as flare behind DKSD + with None + evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch + evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch + evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch + evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch + evil "{cps=80}...What? No, you cannot stop me.{/cps}" + evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}" + evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}" + evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}" + hide flare with dissolve + show black behind DKSD with dissolve + scene black with None # fade out to black + evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}" + window hide + show MLP at truecenter with Dissolve(1.0) # TODO: Locale + pause 2.5 + scene black with Dissolve(1.0) + show expression (ManaSparkle(spd=10, multi=False).sm) as flare + with Dissolve(5.0) + centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n\ +Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n\ +That's right - You have a task to do, a mission to accomplish.{p=1.5}\n\ +\"This is not the end.\" You think to yourself.{p=1.5}\n\ +So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}" + window hide + pause 0.5 + hide flare with dissolve + centered "{color=#fff}{b}Tutorial{/b}\n\n\ +In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n\ +Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n\ +Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n\ +\n\ +And eventually, your power shall return to you...{/color}{fast}" + centered "{color=#f35}{b}DISCLAIMER{/b}\n\n\ +{color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n\ +Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n\ +\n\ +Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n\ +Soul Level remains constant regardless of the subworld you're at.{/color}{fast}" + scene black + return + |