move the dialog into centralized files
This commit is contained in:
parent
fd06ad3026
commit
7a957846fa
12 changed files with 388 additions and 135 deletions
98
src/dialog/marisa.c
Normal file
98
src/dialog/marisa.c
Normal file
|
@ -0,0 +1,98 @@
|
|||
#include "marisa.h"
|
||||
|
||||
#define M(side,message) dadd_msg(d,side,message)
|
||||
|
||||
void dialog_marisa_stage1(Dialog *d) {
|
||||
M(Left, "It’s gotten pretty cold ’round here. I wish I brought a sweater.");
|
||||
M(Right, "Every time there’s an incident, we fairies show up to stop weak humans like you from spoiling the fun!");
|
||||
M(Left, "So, you’re callin’ me weak?");
|
||||
M(Right, "Weak to cold for sure! I’ll turn you into a human-sized popsicle!");
|
||||
M(Left, "I’d like to see ya try.");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage1_post(Dialog *d) {
|
||||
M(Left, "I’ve made the lake a lot warmer now, so ya can’t freeze anyone.");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage2(Dialog *d) {
|
||||
M(Right, "I can’t let you pass any further than this. Please go back down the mountain.");
|
||||
M(Left, "So, is that your misfortune talkin’?");
|
||||
M(Right, "Exploring that tunnel is only going to lead you to ruin. I’ll protect you by driving you away!");
|
||||
M(Left, "I can make dumb decisions on my own, thanks.");
|
||||
M(Right, "A bad attitude like that is destined to be cursed from the beginning. I’ll send you packing home as a favor to you, so you don’t get hurt further by your terrible ideas!");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage2_post(Dialog *d) {
|
||||
M(Left, "Somehow I already feel luckier after beating ya. Fixin’ the border should be no sweat!");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage3(Dialog *d) {
|
||||
M(Left, "Huh, didn’t expect a bug to make it this far down the tunnel.");
|
||||
M(Right, "All of this beautiful light, and you didn’t expect me to be drawn to it?");
|
||||
M(Left, "I expected ya to lose, that’s all.");
|
||||
M(Right, "I’m nowhere near as weak as you think, human! In fact, being here has made me stronger than ever! That’s because I’m the one that made this tunnel and broke the barrier,");
|
||||
M(Right, "in order to finally show you all the true merit of insect power!");
|
||||
M(Left, "I can’t really say I believe ya on that point, bein’ that you’re just a bug ’n all.");
|
||||
M(Right, "Ha! Watch me put on a grand light show that will put your dud fireworks to shame!");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage3_post(Dialog *d) {
|
||||
M(Left, "Whoops, looks like she burnt herself out on all that light she was all excited about. As I figured, the tunnel’s still here…");
|
||||
M(Left, "so she wasn’t the culprit at all, just a bug that got caught inside. She should’a searched for a window instead of flyin’ right into the fire.");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage4(Dialog *d) {
|
||||
M(Right, "Halt, intruder!");
|
||||
M(Left, "Now here’s a face I haven’t seen in a long time. What’s this fancy house all about anyways? Decided to guard Yūka again, or is it somebody new?");
|
||||
M(Right, "It’s none of your business, that’s what it is. My friend is busy with some important work and she can’t be disturbed by nosy humans poking into where they don’t belong.");
|
||||
M(Left, "Now that’s no way to treat an old acquaintance! I know ya from before, so how about just givin’ me a backstage pass, eh?");
|
||||
M(Right, "If you know me as well as you think you do, you’d know that all you’re going to get acquainted with is the taste of your own blood!");
|
||||
M(Left, "Shoot, so that’s a no to my reservation, right?");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage4_post(Dialog *d) {
|
||||
M(Left, "Seems like the mastermind’s someone she’s close to, huh? Guess I gotta get ready for another blast from the past.");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage5(Dialog *d) {
|
||||
M(Left, "I finally caught up to ya! I should’ve known that the Dragon’s messenger would be hard to chase down in the air.");
|
||||
M(Left, "Are you part of the incident too?");
|
||||
M(Right, "Weren’t those earlier bombs enough of a deterrent? As this world is cutting into the space of Heaven, only those authorized are allowed to investigate.");
|
||||
M(Right, "You’re not a Celestial or anyone else from Heaven. That means you cannot go further.");
|
||||
M(Left, "C’mon, you’re good at readin’ the atmosphere, right? Then ya should know that I’m not gonna back down after comin’ this far.");
|
||||
M(Right, "I don’t have time to reason with you, unfortunately.");
|
||||
M(Right, "When it comes to an average human sticking out arrogantly, there’s only one reasonable course of action for a bolt of lightning to take.");
|
||||
M(Right, "Prepare to be struck down from Heaven’s door!");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage5_mid(Dialog *d) {
|
||||
// this dialog must contain only one page
|
||||
M(Left, "Hey, wait! …Did I just see an oarfish?");
|
||||
|
||||
}
|
||||
|
||||
void dialog_marisa_stage5_post(Dialog *d) {
|
||||
M(Left, "I can see the top!");
|
||||
M(Left, "I might not have the proper credentials, but I can definitely solve this incident. Just sit back and leave it to me!");
|
||||
}
|
||||
|
||||
void dialog_marisa_stage6(Dialog *d) {
|
||||
M(Left, "And so the big bad boss behind it all is…");
|
||||
M(Left, "Wait, Elly?!");
|
||||
M(Right, "That’s strange; I thought Kurumi was keeping people from sneaking into my laboratory.");
|
||||
M(Left, "You have a lab?! Last time we fought, ya were just some random guard. You didn’t even know any science!");
|
||||
M(Right, "After Yūka was defeated and left us for Gensōkyō, Kurumi and I decided we needed to do some soul searching and find another job.");
|
||||
M(Right, "We stranded ourselves in the Outside World on accident, and I found my true calling as a theoretical physicist.");
|
||||
M(Right, "This world I’ve built… this is a world dictated not by the madness of Gensōkyō, but one of reason, logic, and common sense!");
|
||||
M(Left, "Yeah, and that’s why it broke the barrier, didn’t it? You can’t have a borin’ world like this next t’ Gensōkyō without causin’ us issues.");
|
||||
M(Right, "An unenlightened fool like you wouldn’t understand… You’re even still using magic, of all things!");
|
||||
M(Left, "I understand enough to know that you’re the problem. And like any good mathematician, I’m gonna solve it by blastin’ it to bits!");
|
||||
M(Right, "No! You’ll never destroy my life’s work! I’ll dissect that nonsensical magic of yours, and then I’ll tear it apart!");
|
||||
|
||||
}
|
||||
|
||||
void dialog_marisa_stage6_inter(Dialog *d) {
|
||||
M(Right, "You’ve gotten this far… I can’t believe it! But that will not matter once I show you the truth of this world, and every world.");
|
||||
M(Right, "Space, time, dimensions… it all becomes clear when you understand The Theory of Everything!");
|
||||
M(Right, "Prepare to see the barrier destroyed!");
|
||||
}
|
24
src/dialog/marisa.h
Normal file
24
src/dialog/marisa.h
Normal file
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* This software is licensed under the terms of the MIT-License
|
||||
* See COPYING for further information.
|
||||
* ---
|
||||
* Copyright (c) 2011-2018, Lukas Weber <laochailan@web.de>.
|
||||
* Copyright (c) 2012-2018, Andrei Alexeyev <akari@alienslab.net>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "dialog.h"
|
||||
|
||||
void dialog_marisa_stage1(Dialog *d);
|
||||
void dialog_marisa_stage1_post(Dialog *d);
|
||||
void dialog_marisa_stage2(Dialog *d);
|
||||
void dialog_marisa_stage2_post(Dialog *d);
|
||||
void dialog_marisa_stage3(Dialog *d);
|
||||
void dialog_marisa_stage3_post(Dialog *d);
|
||||
void dialog_marisa_stage4(Dialog *d);
|
||||
void dialog_marisa_stage4_post(Dialog *d);
|
||||
void dialog_marisa_stage5(Dialog *d);
|
||||
void dialog_marisa_stage5_mid(Dialog *d);
|
||||
void dialog_marisa_stage5_post(Dialog *d);
|
||||
void dialog_marisa_stage6(Dialog *d);
|
||||
void dialog_marisa_stage6_inter(Dialog *d);
|
4
src/dialog/meson.build
Normal file
4
src/dialog/meson.build
Normal file
|
@ -0,0 +1,4 @@
|
|||
dialog_src = files(
|
||||
'marisa.c',
|
||||
'youmu.c',
|
||||
)
|
97
src/dialog/youmu.c
Normal file
97
src/dialog/youmu.c
Normal file
|
@ -0,0 +1,97 @@
|
|||
#include "youmu.h"
|
||||
#include "dialog.h"
|
||||
|
||||
#define M(side,message) dadd_msg(d,side,message)
|
||||
|
||||
void dialog_youmu_stage1(Dialog *d) {
|
||||
M(Left, "The temperature of the lake almost resembles the Netherworld’s. Good thing I don’t get cold easily.");
|
||||
M(Right, "What’s that? You think you can’t get cold?");
|
||||
M(Left, "I don’t just think that, I know that. I’m half-phantom, so even my body is cold.");
|
||||
M(Right, "I’ll take that as a challenge! Prepare to be chilled in a way no ghost can match!");
|
||||
M(Right, "Let’s see if phantoms are good as soft-serve ice cream!");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage1_post(Dialog *d) {
|
||||
M(Left, "Lady Yuyuko would probably like trying such an unusual flavor of ice cream. I hope she never gets that idea.");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage2(Dialog *d) {
|
||||
M(Right, "I can’t let you pass any further than this. Please go back down the mountain.");
|
||||
M(Left, "Are you a goddess? It’s nice of you to be looking out for me, but the Netherworld has been put at risk due to this incident.");
|
||||
M(Left, "I have to keep going.");
|
||||
M(Right, "The tunnel leads nowhere but to ruin. If you don’t return to the ghostly world where you come from, I’ll have to stop you by force!");
|
||||
M(Left, "My mistress won’t like it if I tell her I was stopped by divine intervention. You’ll have to come up with another excuse.");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage2_post(Dialog *d) {
|
||||
M(Left, "It’s strange, but fighting a god makes me feel like some of my burdens are lifted. I wonder if she decided to bless me after all?");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage3(Dialog *d) {
|
||||
M(Left, "Huh, why is it that I feel like I’ve fought you before? But when I try to recall anything, my skin crawls and I seem to forget immediately.");
|
||||
M(Right, "Maybe it’s because you realized the true power of us insects?");
|
||||
M(Left, "No, I think it’s because I was too disgusted.");
|
||||
M(Right, "How dare you! We make life possible for you humans, and in turn you disrespect us and call us derogatory things!");
|
||||
M(Right, "Entering this light has given me great power. I’ll stomp you out in the same cruel way you humans step on bugs!");
|
||||
M(Left, "If I cut legs off of an insect, do they squirm all on their own? How gross!");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage3_post(Dialog *d) {
|
||||
M(Left, "I never see any insect infestations while tending Hakugyokurō’s gardens. That’s a convenience of being half-dead.");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage4(Dialog *d) {
|
||||
M(Right, "Halt, intruder!");
|
||||
M(Left, "Oh, and who might you be?");
|
||||
M(Right, "Kuru— Hey, my name isn’t important for a nosy person like you to know!");
|
||||
M(Left, "I only wanted to know so I could refer to you politely. I don’t want to call you a “random somebody” in your own house.");
|
||||
M(Left, "Your house is very nice, by the way. Although I still think Hakugyokurō is bigger. Have you ever been there? Lady Yuyuko loves guests.");
|
||||
M(Right, "This isn’t my house, and you’re not allowed to snoop any more than you have! If you keep ignoring me, I’ll have to suck you dry right here where we stand!");
|
||||
M(Left, "It’s not your house, and yet you’re telling me to leave? You sound just as presumptuous as the other vampire I’ve met.");
|
||||
M(Right, "I can bet you that I’m much more frightening.");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage4_post(Dialog *d) {
|
||||
M(Left, "You’re not as scary as her, or even as good of a host. Maybe you should work on your manners and buy yourself a nice mansion to lord over instead of taking someone else’s.");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage5(Dialog *d) {
|
||||
M(Left, "You were quite difficult to pin down. Don’t worry; I’ll listen to whatever warning you have before I continue forward.");
|
||||
M(Right, "Hmm, you’re the groundskeeper of the Netherworld, correct?");
|
||||
M(Left, "That’s right. My mistress sent me here to investigate since the world of spirits has been put in jeopardy by this new world infringing on its boundaries.");
|
||||
M(Right, "I’m afraid I cannot let you pass. This new world is a great issue caused by an incredible new power. Only a Celestial or greater is qualified to handle such a dangerous occurrence.");
|
||||
M(Left, "That doesn’t seem fair considering I’ve solved incidents before. I know what I am doing, and Lady Yuyuko entrusted me with this.");
|
||||
M(Right, "If your confidence will not allow you to back down, then so be it. I will test you using all of Heaven’s might, and if you are unfit, you shall be cast down from this Tower of Babel!");
|
||||
M(Left, "I shall pass whatever test necessary if it will allow me to fulfill the wishes of Lady Yuyuko!");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage5_mid(Dialog *d) {
|
||||
// this dialog must contain only one page
|
||||
M(Left, "A messenger of Heaven! If I follow her, I’ll surely learn something about the incident!");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage5_post(Dialog *d) {
|
||||
M(Left, "I can see the top!");
|
||||
M(Left, "As you can see, I have cut through your challenge. You can trust me to get to the heart of the matter and handle it swiftly and carefully.");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage6(Dialog *d) {
|
||||
M(Left, "Are you the one behind this new world?");
|
||||
M(Right, "That is correct.");
|
||||
M(Left, "Considering that scythe of yours, I’m really quite surprised that a shikigami would be behind everything.");
|
||||
M(Right, "That is because you completely misunderstand. I am not a shikigami, and never was. My duty was once to protect a powerful yōkai, but when she left for Gensōkyō, I was left behind.");
|
||||
M(Right, "Together with my friend, Kurumi, we left for the Outside World and were stranded there. But I gained an incredible new power once I realized my true calling as a theoretical physicist.");
|
||||
M(Left, "I don’t completely follow, but if you’re a yōkai, I can’t see how you could be a scientist. It goes against your nature.");
|
||||
M(Right, "An unenlightened fool such as yourself could never comprehend my transcendence.");
|
||||
M(Right, "I have become more than a simple yōkai, for I alone am now capable of discovering the secrets behind the illusion of reality!");
|
||||
M(Left, "Well, whatever you’re doing here is disintegrating the barrier of common sense and madness keeping Gensōkyō from collapsing into the Outside World.");
|
||||
M(Left, "You’re also infringing on the Netherworld’s space and my mistress is particularly upset about that. That means I have to stop you, no matter what.");
|
||||
M(Right, "Pitiful servant of the dead. You’ll never be able to stop my life’s work from being fulfilled! I’ll simply unravel that nonsense behind your half-and-half existence!");
|
||||
}
|
||||
|
||||
void dialog_youmu_stage6_inter(Dialog *d) {
|
||||
M(Right, "You’ve gotten this far… I can’t believe it! But that will not matter once I show you the truth of this world, and every world.");
|
||||
M(Right, "Space, time, dimensions… it all becomes clear when you understand The Theory of Everything!");
|
||||
M(Right, "Prepare to see the barrier destroyed!");
|
||||
}
|
||||
|
24
src/dialog/youmu.h
Normal file
24
src/dialog/youmu.h
Normal file
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* This software is licensed under the terms of the MIT-License
|
||||
* See COPYING for further information.
|
||||
* ---
|
||||
* Copyright (c) 2011-2018, Lukas Weber <laochailan@web.de>.
|
||||
* Copyright (c) 2012-2018, Andrei Alexeyev <akari@alienslab.net>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "dialog.h"
|
||||
|
||||
void dialog_youmu_stage1(Dialog *d);
|
||||
void dialog_youmu_stage1_post(Dialog *d);
|
||||
void dialog_youmu_stage2(Dialog *d);
|
||||
void dialog_youmu_stage2_post(Dialog *d);
|
||||
void dialog_youmu_stage3(Dialog *d);
|
||||
void dialog_youmu_stage3_post(Dialog *d);
|
||||
void dialog_youmu_stage4(Dialog *d);
|
||||
void dialog_youmu_stage4_post(Dialog *d);
|
||||
void dialog_youmu_stage5(Dialog *d);
|
||||
void dialog_youmu_stage5_mid(Dialog *d);
|
||||
void dialog_youmu_stage5_post(Dialog *d);
|
||||
void dialog_youmu_stage6(Dialog *d);
|
||||
void dialog_youmu_stage6_inter(Dialog *d);
|
|
@ -109,6 +109,7 @@ subdir('renderer')
|
|||
subdir('resource')
|
||||
subdir('rwops')
|
||||
subdir('stages')
|
||||
subdir('dialog')
|
||||
subdir('vfs')
|
||||
|
||||
configure_file(configuration : config, output : 'build_config.h')
|
||||
|
@ -121,6 +122,7 @@ taisei_src += [
|
|||
rwops_src,
|
||||
stages_src,
|
||||
vfs_src,
|
||||
dialog_src,
|
||||
]
|
||||
|
||||
if taisei_deps.contains(dep_sdl2_mixer)
|
||||
|
|
|
@ -11,25 +11,22 @@
|
|||
#include "stage1_events.h"
|
||||
#include "global.h"
|
||||
#include "stagetext.h"
|
||||
#include "dialog/youmu.h"
|
||||
#include "dialog/marisa.h"
|
||||
|
||||
Dialog *stage1_dialog(void) {
|
||||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, "dialog/cirno");
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d, Left, "It’s gotten pretty cold ’round here. I wish I brought a sweater.");
|
||||
dadd_msg(d, Right, "Every time there’s an incident, we fairies show up to stop weak humans like you from spoiling the fun!");
|
||||
dadd_msg(d, Left, "So, you’re callin’ me weak?");
|
||||
dadd_msg(d, Right, "Weak to cold for sure! I’ll turn you into a human-sized popsicle!");
|
||||
dadd_msg(d, Left, "I’d like to see ya try.");
|
||||
}
|
||||
|
||||
if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d, Left, "The temperature of the lake almost resembles the Netherworld’s. Good thing I don’t get cold easily.");
|
||||
dadd_msg(d, Right, "What’s that? You think you can’t get cold?");
|
||||
dadd_msg(d, Left, "I don’t just think that, I know that. I’m half-phantom, so even my body is cold.");
|
||||
dadd_msg(d, Right, "I’ll take that as a challenge! Prepare to be chilled in a way no ghost can match!");
|
||||
dadd_msg(d, Right, "Let’s see if phantoms are good as soft-serve ice cream!");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage1(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage1(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
dadd_msg(d, BGM, "stage1boss");
|
||||
|
@ -41,11 +38,15 @@ static Dialog *stage1_postdialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, NULL);
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d, Left, "I’ve made the lake a lot warmer now, so ya can’t freeze anyone.");
|
||||
}
|
||||
if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d, Left, "Lady Yuyuko would probably like trying such an unusual flavor of ice cream. I hope she never gets that idea.");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage1_post(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage1_post(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
return d;
|
||||
|
|
|
@ -17,18 +17,15 @@ Dialog *stage2_dialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, "dialog/hina");
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d,Right, "I can’t let you pass any further than this. Please go back down the mountain.");
|
||||
dadd_msg(d,Left, "So, is that your misfortune talkin’?");
|
||||
dadd_msg(d,Right, "Exploring that tunnel is only going to lead you to ruin. I’ll protect you by driving you away!");
|
||||
dadd_msg(d,Left, "I can make dumb decisions on my own, thanks.");
|
||||
dadd_msg(d,Right, "A bad attitude like that is destined to be cursed from the beginning. I’ll send you packing home as a favor to you, so you don’t get hurt further by your terrible ideas!");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d,Right, "I can’t let you pass any further than this. Please go back down the mountain.");
|
||||
dadd_msg(d,Left, "Are you a goddess? It’s nice of you to be looking out for me, but the Netherworld has been put at risk due to this incident.");
|
||||
dadd_msg(d,Left, "I have to keep going.");
|
||||
dadd_msg(d,Right, "The tunnel leads nowhere but to ruin. If you don’t return to the ghostly world where you come from, I’ll have to stop you by force!");
|
||||
dadd_msg(d,Left, "My mistress won’t like it if I tell her I was stopped by divine intervention. You’ll have to come up with another excuse.");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage2(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage2(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
dadd_msg(d, BGM, "stage2boss");
|
||||
|
@ -39,10 +36,15 @@ Dialog *stage2_post_dialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, NULL);
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d, Left, "Somehow I already feel luckier after beating ya. Fixin’ the border should be no sweat!");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d, Left, "It’s strange, but fighting a god makes me feel like some of my burdens are lifted. I wonder if she decided to bless me after all?");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage2_post(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage2_post(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
return d;
|
||||
|
|
|
@ -13,25 +13,22 @@
|
|||
#include "stage.h"
|
||||
#include "enemy.h"
|
||||
|
||||
#include "dialog/youmu.h"
|
||||
#include "dialog/marisa.h"
|
||||
|
||||
static Dialog *stage3_dialog(void) {
|
||||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, "dialog/wriggle");
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d,Left, "Huh, didn’t expect a bug to make it this far down the tunnel.");
|
||||
dadd_msg(d,Right, "All of this beautiful light, and you didn’t expect me to be drawn to it?");
|
||||
dadd_msg(d,Left, "I expected ya to lose, that’s all.");
|
||||
dadd_msg(d,Right, "I’m nowhere near as weak as you think, human! In fact, being here has made me stronger than ever! That’s because I’m the one that made this tunnel and broke the barrier,");
|
||||
dadd_msg(d,Right, "in order to finally show you all the true merit of insect power!");
|
||||
dadd_msg(d,Left, "I can’t really say I believe ya on that point, bein’ that you’re just a bug ’n all.");
|
||||
dadd_msg(d,Right, "Ha! Watch me put on a grand light show that will put your dud fireworks to shame!");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d,Left, "Huh, why is it that I feel like I’ve fought you before? But when I try to recall anything, my skin crawls and I seem to forget immediately.");
|
||||
dadd_msg(d,Right, "Maybe it’s because you realized the true power of us insects?");
|
||||
dadd_msg(d,Left, "No, I think it’s because I was too disgusted.");
|
||||
dadd_msg(d,Right, "How dare you! We make life possible for you humans, and in turn you disrespect us and call us derogatory things!");
|
||||
dadd_msg(d,Right, "Entering this light has given me great power. I’ll stomp you out in the same cruel way you humans step on bugs!");
|
||||
dadd_msg(d,Left, "If I cut legs off of an insect, do they squirm all on their own? How gross!");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage3(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage3(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
dadd_msg(d, BGM, "stage3boss");
|
||||
|
||||
|
@ -42,14 +39,17 @@ static Dialog *stage3_post_dialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, NULL);
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d, Left, "Whoops, looks like she burnt herself out on all that light she was all excited about. As I figured, the tunnel’s still here…");
|
||||
dadd_msg(d, Left, "so she wasn’t the culprit at all, just a bug that got caught inside. She should’a searched for a window instead of flyin’ right into the fire.");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage3_post(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage3_post(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d, Left, "I never see any insect infestations while tending Hakugyokurō’s gardens. That’s a convenience of being half-dead.");
|
||||
}
|
||||
|
||||
|
||||
return d;
|
||||
|
||||
}
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
#include "enemy.h"
|
||||
#include "laser.h"
|
||||
|
||||
#include "dialog/youmu.h"
|
||||
#include "dialog/marisa.h"
|
||||
|
||||
void kurumi_spell_bg(Boss*, int);
|
||||
void kurumi_slaveburst(Boss*, int);
|
||||
void kurumi_redspike(Boss*, int);
|
||||
|
@ -27,22 +30,15 @@ Dialog *stage4_dialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, "dialog/kurumi");
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d,Right, "Halt, intruder!");
|
||||
dadd_msg(d,Left, "Now here’s a face I haven’t seen in a long time. What’s this fancy house all about anyways? Decided to guard Yūka again, or is it somebody new?");
|
||||
dadd_msg(d,Right, "It’s none of your business, that’s what it is. My friend is busy with some important work and she can’t be disturbed by nosy humans poking into where they don’t belong.");
|
||||
dadd_msg(d,Left, "Now that’s no way to treat an old acquaintance! I know ya from before, so how about just givin’ me a backstage pass, eh?");
|
||||
dadd_msg(d,Right, "If you know me as well as you think you do, you’d know that all you’re going to get acquainted with is the taste of your own blood!");
|
||||
dadd_msg(d,Left, "Shoot, so that’s a no to my reservation, right?");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d,Right, "Halt, intruder!");
|
||||
dadd_msg(d,Left, "Oh, and who might you be?");
|
||||
dadd_msg(d,Right, "Kuru— Hey, my name isn’t important for a nosy person like you to know!");
|
||||
dadd_msg(d,Left, "I only wanted to know so I could refer to you politely. I don’t want to call you a “random somebody” in your own house.");
|
||||
dadd_msg(d,Left, "Your house is very nice, by the way. Although I still think Hakugyokurō is bigger. Have you ever been there? Lady Yuyuko loves guests.");
|
||||
dadd_msg(d,Right, "This isn’t my house, and you’re not allowed to snoop any more than you have! If you keep ignoring me, I’ll have to suck you dry right here where we stand!");
|
||||
dadd_msg(d,Left, "It’s not your house, and yet you’re telling me to leave? You sound just as presumptuous as the other vampire I’ve met.");
|
||||
dadd_msg(d,Right, "I can bet you that I’m much more frightening.");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage4(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage4(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
dadd_msg(d, BGM, "stage4boss");
|
||||
|
@ -53,13 +49,17 @@ Dialog *stage4_dialog_end(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, NULL);
|
||||
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d,Left, "Seems like the mastermind’s someone she’s close to, huh? Guess I gotta get ready for another blast from the past.");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d,Left, "You’re not as scary as her, or even as good of a host. Maybe you should work on your manners and buy yourself a nice mansion to lord over instead of taking someone else’s.");
|
||||
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage4_post(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage4_post(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,18 +13,29 @@
|
|||
#include <global.h>
|
||||
#include <float.h>
|
||||
|
||||
#include "dialog/youmu.h"
|
||||
#include "dialog/marisa.h"
|
||||
|
||||
Dialog *stage5_post_mid_dialog(void) {
|
||||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, NULL);
|
||||
DialogMessage *m = NULL;
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
m = dadd_msg(d, Left, "Hey, wait! …Did I just see an oarfish?");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
m = dadd_msg(d, Left, "A messenger of Heaven! If I follow her, I’ll surely learn something about the incident!");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage5_mid(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage5_mid(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
assert(m != NULL);
|
||||
if(d->count != 1) {
|
||||
log_fatal("The stage 5 midboss dialog can only contain one line");
|
||||
}
|
||||
|
||||
DialogMessage *m = &d->messages[0];
|
||||
m->timeout = global.frames + 120;
|
||||
|
||||
return d;
|
||||
|
@ -34,23 +45,15 @@ Dialog *stage5_boss_dialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, "dialog/iku");
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d,Left, "I finally caught up to ya! I should’ve known that the Dragon’s messenger would be hard to chase down in the air.");
|
||||
dadd_msg(d,Left, "Are you part of the incident too?");
|
||||
dadd_msg(d,Right, "Weren’t those earlier bombs enough of a deterrent? As this world is cutting into the space of Heaven, only those authorized are allowed to investigate.");
|
||||
dadd_msg(d,Right, "You’re not a Celestial or anyone else from Heaven. That means you cannot go further.");
|
||||
dadd_msg(d,Left, "C’mon, you’re good at readin’ the atmosphere, right? Then ya should know that I’m not gonna back down after comin’ this far.");
|
||||
dadd_msg(d,Right, "I don’t have time to reason with you, unfortunately.");
|
||||
dadd_msg(d,Right, "When it comes to an average human sticking out arrogantly, there’s only one reasonable course of action for a bolt of lightning to take.");
|
||||
dadd_msg(d,Right, "Prepare to be struck down from Heaven’s door!");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d,Left, "You were quite difficult to pin down. Don’t worry; I’ll listen to whatever warning you have before I continue forward.");
|
||||
dadd_msg(d,Right, "Hmm, you’re the groundskeeper of the Netherworld, correct?");
|
||||
dadd_msg(d,Left, "That’s right. My mistress sent me here to investigate since the world of spirits has been put in jeopardy by this new world infringing on its boundaries.");
|
||||
dadd_msg(d,Right, "I’m afraid I cannot let you pass. This new world is a great issue caused by an incredible new power. Only a Celestial or greater is qualified to handle such a dangerous occurrence.");
|
||||
dadd_msg(d,Left, "That doesn’t seem fair considering I’ve solved incidents before. I know what I am doing, and Lady Yuyuko entrusted me with this.");
|
||||
dadd_msg(d,Right, "If your confidence will not allow you to back down, then so be it. I will test you using all of Heaven’s might, and if you are unfit, you shall be cast down from this Tower of Babel!");
|
||||
dadd_msg(d,Left, "I shall pass whatever test necessary if it will allow me to fulfill the wishes of Lady Yuyuko!");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage5(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage5(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
dadd_msg(d, BGM, "stage5boss");
|
||||
|
@ -61,11 +64,15 @@ Dialog *stage5_post_boss_dialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, NULL);
|
||||
|
||||
dadd_msg(d, Left, "I can see the top!");
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d, Left, "I might not have the proper credentials, but I can definitely solve this incident. Just sit back and leave it to me!");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d, Left, "As you can see, I have cut through your challenge. You can trust me to get to the heart of the matter and handle it swiftly and carefully.");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage5_post(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage5_post(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
return d;
|
||||
|
|
|
@ -13,36 +13,23 @@
|
|||
#include "global.h"
|
||||
#include "stagetext.h"
|
||||
|
||||
#include "dialog/youmu.h"
|
||||
#include "dialog/marisa.h"
|
||||
|
||||
Dialog *stage6_dialog(void) {
|
||||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, "dialog/elly");
|
||||
|
||||
if(pc->id == PLR_CHAR_MARISA) {
|
||||
dadd_msg(d,Left, "And so the big bad boss behind it all is…");
|
||||
dadd_msg(d,Left, "Wait, Elly?!");
|
||||
dadd_msg(d,Right, "That’s strange; I thought Kurumi was keeping people from sneaking into my laboratory.");
|
||||
dadd_msg(d,Left, "You have a lab?! Last time we fought, ya were just some random guard. You didn’t even know any science!");
|
||||
dadd_msg(d,Right, "After Yūka was defeated and left us for Gensōkyō, Kurumi and I decided we needed to do some soul searching and find another job.");
|
||||
dadd_msg(d,Right, "We stranded ourselves in the Outside World on accident, and I found my true calling as a theoretical physicist.");
|
||||
dadd_msg(d,Right, "This world I’ve built… this is a world dictated not by the madness of Gensōkyō, but one of reason, logic, and common sense!");
|
||||
dadd_msg(d,Left, "Yeah, and that’s why it broke the barrier, didn’t it? You can’t have a borin’ world like this next t’ Gensōkyō without causin’ us issues.");
|
||||
dadd_msg(d,Right, "An unenlightened fool like you wouldn’t understand… You’re even still using magic, of all things!");
|
||||
dadd_msg(d,Left, "I understand enough to know that you’re the problem. And like any good mathematician, I’m gonna solve it by blastin’ it to bits!");
|
||||
dadd_msg(d,Right, "No! You’ll never destroy my life’s work! I’ll dissect that nonsensical magic of yours, and then I’ll tear it apart!");
|
||||
} else if(pc->id == PLR_CHAR_YOUMU) {
|
||||
dadd_msg(d,Left, "Are you the one behind this new world?");
|
||||
dadd_msg(d,Right, "That is correct.");
|
||||
dadd_msg(d,Left, "Considering that scythe of yours, I’m really quite surprised that a shikigami would be behind everything.");
|
||||
dadd_msg(d,Right, "That is because you completely misunderstand. I am not a shikigami, and never was. My duty was once to protect a powerful yōkai, but when she left for Gensōkyō, I was left behind.");
|
||||
dadd_msg(d,Right, "Together with my friend, Kurumi, we left for the Outside World and were stranded there. But I gained an incredible new power once I realized my true calling as a theoretical physicist.");
|
||||
dadd_msg(d,Left, "I don’t completely follow, but if you’re a yōkai, I can’t see how you could be a scientist. It goes against your nature.");
|
||||
dadd_msg(d,Right, "An unenlightened fool such as yourself could never comprehend my transcendence.");
|
||||
dadd_msg(d,Right, "I have become more than a simple yōkai, for I alone am now capable of discovering the secrets behind the illusion of reality!");
|
||||
dadd_msg(d,Left, "Well, whatever you’re doing here is disintegrating the barrier of common sense and madness keeping Gensōkyō from collapsing into the Outside World.");
|
||||
dadd_msg(d,Left, "You’re also infringing on the Netherworld’s space and my mistress is particularly upset about that. That means I have to stop you, no matter what.");
|
||||
dadd_msg(d,Right, "Pitiful servant of the dead. You’ll never be able to stop my life’s work from being fulfilled! I’ll simply unravel that nonsense behind your half-and-half existence!");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage6(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage6(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
dadd_msg(d, BGM, "stage6boss_phase1");
|
||||
return d;
|
||||
}
|
||||
|
@ -51,9 +38,16 @@ static Dialog *stage6_interboss_dialog(void) {
|
|||
PlayerCharacter *pc = global.plr.mode->character;
|
||||
Dialog *d = create_dialog(pc->dialog_sprite_name, "dialog/elly");
|
||||
|
||||
dadd_msg(d, Right, "You’ve gotten this far… I can’t believe it! But that will not matter once I show you the truth of this world, and every world.");
|
||||
dadd_msg(d, Right, "Space, time, dimensions… it all becomes clear when you understand The Theory of Everything!");
|
||||
dadd_msg(d, Right, "Prepare to see the barrier destroyed!");
|
||||
switch(pc->id) {
|
||||
case PLR_CHAR_MARISA:
|
||||
dialog_marisa_stage6_inter(d);
|
||||
break;
|
||||
case PLR_CHAR_YOUMU:
|
||||
dialog_youmu_stage6_inter(d);
|
||||
break;
|
||||
default:
|
||||
log_warn("No dialog available for this character.");
|
||||
}
|
||||
|
||||
return d;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue