Skip to content

Commit

Permalink
Added a new dialogue about underling commissioning and included a new…
Browse files Browse the repository at this point in the history
… generic closing message used by it
  • Loading branch information
Dweblenod committed Apr 6, 2024
1 parent 1ff9075 commit a8ec208
Show file tree
Hide file tree
Showing 12 changed files with 168 additions and 3 deletions.
14 changes: 14 additions & 0 deletions src/main/generated/resources/assets/minestuck/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -2527,6 +2527,19 @@
"minestuck.dialogue.consort.types_of_colors.7": "You do, however, see purple, which is between magenta and blue. Short answer for why that is, your eyes are lying to you.",
"minestuck.dialogue.consort.types_of_colors.8": "Beyond the six main colors, however, there are also six other colors: pink, brown, orange, lime, light blue, and purple.",
"minestuck.dialogue.consort.types_of_colors.9": "In addition, there are also the tones of white, light gray, gray, and black.",
"minestuck.dialogue.consort.underling_commission.answer.1": "Oh do you not know? Some incredibly rude carapacians came by to visit %s.",
"minestuck.dialogue.consort.underling_commission.answer.2": "They asked %s to create all the Underlings, no idea why!",
"minestuck.dialogue.consort.underling_commission.answer.2.ask_carapacian": "Who are the carapacians?",
"minestuck.dialogue.consort.underling_commission.confront": "If I wasn't so scared of confrontation I would give them a stern talking to.",
"minestuck.dialogue.consort.underling_commission.explain_carapacian.1": "It's the people who live on Prospit and Derse. Those garish golden and purple cities in the sky that are almost the size of a planet.",
"minestuck.dialogue.consort.underling_commission.explain_carapacian.2": "The prospitians and dersites have been fighting on the Battlefield inside Skaia for longer than I care to know.",
"minestuck.dialogue.consort.underling_commission.explain_carapacian.3": "It was agents of Derse that made the commission. Now we have to live alongside a bunch of screaming weirdos who explode into grist.",
"minestuck.dialogue.consort.underling_commission.explain_carapacian.4": "Why couldn't they commission something normal like art of their consort-sona?",
"minestuck.dialogue.consort.underling_commission.explain_carapacian.4.why_fight": "Why are the carapacians fighting?",
"minestuck.dialogue.consort.underling_commission.no_idea": "I have no idea, all I can imagine is that it would take a lot to solve the issue.",
"minestuck.dialogue.consort.underling_commission.start.agree": "I know right?",
"minestuck.dialogue.consort.underling_commission.start.ask": "What do you mean?",
"minestuck.dialogue.consort.underling_commission.start.start": "Ugh. I don't like those Underlings. Can't believe anyone would ever ask to make them!",
"minestuck.dialogue.consort.underling_pipes.1": "These underlings creep me out! I saw one of the tiny ones squeeze its way out of a pipe covered in who knows what.",
"minestuck.dialogue.consort.underling_pipes.2": "At least I have the sensibility to be ashamed when I'm caught doing that.",
"minestuck.dialogue.consort.unknown.1": "They are coming...",
Expand Down Expand Up @@ -2595,6 +2608,7 @@
"minestuck.dialogue.consort_general_merchant.top_tier": "We have top tier goods for a top tier god!",
"minestuck.dialogue.consort_general_merchant.tower": "I got the goods; they're all recently raided from a nearby tower!",
"minestuck.dialogue.format": "%s: %s",
"minestuck.dialogue.goodbye": "Oh good to know, goodbye.",
"minestuck.dialogue.no": "No",
"minestuck.dialogue.sad_face": ":(",
"minestuck.dialogue.shady_consort.peppy_offer.item": "Here you are!",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"node": {
"message": {
"arguments": [
"land_denizen"
],
"key": "minestuck.dialogue.consort.underling_commission.answer.1"
},
"responses": [
{
"message": "minestuck.arrow",
"next_dialogue": "minestuck:consort/underling_commission/answer.2"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"node": {
"message": {
"arguments": [
"land_denizen"
],
"key": "minestuck.dialogue.consort.underling_commission.answer.2"
},
"responses": [
{
"message": "minestuck.dialogue.consort.underling_commission.answer.2.ask_carapacian",
"next_dialogue": "minestuck:consort/underling_commission/explain_carapacian.1"
},
{
"message": "minestuck.dialogue.goodbye"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"node": {
"message": "minestuck.dialogue.consort.underling_commission.confront"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"node": {
"message": "minestuck.dialogue.consort.underling_commission.explain_carapacian.1",
"responses": [
{
"message": "minestuck.arrow",
"next_dialogue": "minestuck:consort/underling_commission/explain_carapacian.2"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"node": {
"message": "minestuck.dialogue.consort.underling_commission.explain_carapacian.2",
"responses": [
{
"message": "minestuck.arrow",
"next_dialogue": "minestuck:consort/underling_commission/explain_carapacian.3"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"node": {
"message": "minestuck.dialogue.consort.underling_commission.explain_carapacian.3",
"responses": [
{
"message": "minestuck.arrow",
"next_dialogue": "minestuck:consort/underling_commission/explain_carapacian.4"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"node": {
"message": "minestuck.dialogue.consort.underling_commission.explain_carapacian.4",
"responses": [
{
"message": "minestuck.dialogue.consort.underling_commission.explain_carapacian.4.why_fight",
"next_dialogue": "minestuck:consort/underling_commission/no_idea"
},
{
"message": "minestuck.dialogue.goodbye"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"node": {
"message": "minestuck.dialogue.consort.underling_commission.no_idea",
"responses": [
{
"message": "minestuck.dialogue.goodbye"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"node": {
"message": "minestuck.dialogue.consort.underling_commission.start.start",
"responses": [
{
"message": "minestuck.dialogue.consort.underling_commission.start.ask",
"next_dialogue": "minestuck:consort/underling_commission/answer.1"
},
{
"message": "minestuck.dialogue.consort.underling_commission.start.agree",
"next_dialogue": "minestuck:consort/underling_commission/confront"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"condition": {
"type": "minestuck:is_consort_in_home_land"
},
"dialogue": "minestuck:consort/underling_commission/start"
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ private static void consortDialogues(SelectableDialogueProvider provider, Dialog
final DialogueProvider.MessageProducer sadFaceMsg = l.msg("sad_face", ":(");
var yesMsg = l.msg("yes", "Yes");
var noMsg = l.msg("no", "No");
var thanksGoodbyeMsg = l.msg("goodbye", "Oh good to know, goodbye.");

//Wind
provider.addRandomlySelectable("blown_away", defaultWeight(isInTitleLand(WIND)),
Expand Down Expand Up @@ -589,7 +590,7 @@ private static void consortDialogues(SelectableDialogueProvider provider, Dialog
.node(new Condition.PlayerHasBoondollars(1000), new ChainBuilder()
.node(new NodeBuilder(l.defaultKeyMsg("Wow, you have so many boondollars! I'll never make that much in my short, amphibious lifetime.")))
.node(new NodeBuilder(l.defaultKeyMsg("Please, I need to pay for my children to attend college..."))))
.defaultNode(new NodeBuilder(l.subMsg("poor","Wow you have a distinct lack of boondollars for someone in your position. Slumming it like the rest of us, eh?"))));
.defaultNode(new NodeBuilder(l.subMsg("poor", "Wow you have a distinct lack of boondollars for someone in your position. Slumming it like the rest of us, eh?"))));
provider.addRandomlySelectable("unknown", defaultWeight(isAnyEntityType(TURTLE)), new ChainBuilder()
.node(new NodeBuilder(l.defaultKeyMsg("They are coming..."))) //todo custom response message?
.node(new NodeBuilder(l.defaultKeyMsg("Huh? 'Who the fuck is They'? What kind of question is that?! I don't know! Who the fuck are you?"))));
Expand All @@ -614,7 +615,7 @@ private static void consortDialogues(SelectableDialogueProvider provider, Dialog
.addResponse(new ResponseBuilder(l.subMsg("argue", "Wait! Will this %s prove I am ready?", Argument.MATCHED_ITEM))
.condition(new Condition.ItemTagMatch(MSTags.Items.MAGIC_WEAPON))
.nextDialogue(exchange))
.addResponse(new ResponseBuilder(l.subMsg("resign", "Alright fine. Bye."))));
.addClosingResponse(l.subMsg("resign", "Alright fine. Bye.")));

var afterInvitation = builder.add("after_invitation", new NodeBuilder(l.defaultKeyMsg("Meet me by dawn with mercury, salt, and sulfur to begin the initiation."))
.addResponse(new ResponseBuilder(l.subMsg("no", "No thanks, I'm good."))
Expand All @@ -630,6 +631,38 @@ private static void consortDialogues(SelectableDialogueProvider provider, Dialog
.next(afterInvitation));
}));

provider.addRandomlySelectable("underling_commission", defaultWeight(isInHomeLand()), new FolderedDialogue(builder ->
{
var explainCarapacian = builder.add("explain_carapacian", new ChainBuilder()
.node(new NodeBuilder(l.defaultKeyMsg("It's the people who live on Prospit and Derse. Those garish golden and purple cities in the sky that are almost the size of a planet.")))
.node(new NodeBuilder(l.defaultKeyMsg("The prospitians and dersites have been fighting on the Battlefield inside Skaia for longer than I care to know.")))
.node(new NodeBuilder(l.defaultKeyMsg("It was agents of Derse that made the commission. Now we have to live alongside a bunch of screaming weirdos who explode into grist.")))
.node(new NodeBuilder(l.defaultKeyMsg("Why couldn't they commission something normal like art of their consort-sona?"))
.addResponse(new ResponseBuilder(l.subMsg("why_fight", "Why are the carapacians fighting?"))
.nextDialogue(builder.add("no_idea", new NodeBuilder(l.defaultKeyMsg("I have no idea, all I can imagine is that it would take a lot to solve the issue."))
.addClosingResponse(thanksGoodbyeMsg))))
.addClosingResponse(thanksGoodbyeMsg)
)
);

var answer = builder.add("answer", new ChainBuilder()
.node(new NodeBuilder(l.defaultKeyMsg("Oh do you not know? Some incredibly rude carapacians came by to visit %s.", Argument.LAND_DENIZEN)))
.node(new NodeBuilder(l.defaultKeyMsg("They asked %s to create all the Underlings, no idea why!", Argument.LAND_DENIZEN))
.addResponse(new ResponseBuilder(l.subMsg("ask_carapacian", "Who are the carapacians?"))
.nextDialogue(explainCarapacian))
.addClosingResponse(thanksGoodbyeMsg)
)
);

builder.addStart(new NodeBuilder(l.subMsg("start", "Ugh. I don't like those Underlings. Can't believe anyone would ever ask to make them!"))
.addResponse(new ResponseBuilder(l.subMsg("ask", "What do you mean?"))
.nextDialogue(answer))
.addResponse(new ResponseBuilder(l.subMsg("agree", "I know right?"))
.nextDialogue(builder.add("confront", new NodeBuilder(l.defaultKeyMsg("If I wasn't so scared of confrontation I would give them a stern talking to.")))))
);
}
));

provider.addRandomlySelectable("title_presence", defaultWeight(all(isAnyEntityType(IGUANA, SALAMANDER), isFromLand())), new FolderedDialogue(builder ->
builder.addStart(new NodeBuilder(l.defaultKeyMsg("I sense the presence of the %s. Tell me if you see them, ok?", Argument.PLAYER_TITLE))
.addResponse(new ResponseBuilder(l.subMsg("i_am", "[Present yourself as the %s]", Argument.PLAYER_TITLE))
Expand Down Expand Up @@ -689,7 +722,7 @@ private static void consortDialogues(SelectableDialogueProvider provider, Dialog

var noReplyMsg = l.msg(builder.startId(), "first_no_reply", "I don't really want to give this away.");

builder.addStart(new NodeSelectorBuilder() //todo create a "not hungry" dialogue node for SetDialogue trigger to be used for any other player after the consort gets its snack.
builder.addStart(new NodeSelectorBuilder()
.node(new Condition.ItemTagMatch(MSTags.Items.CONSORT_SNACKS), new NodeBuilder(l.subMsg("ask", "A %s! Could I have some?", Argument.MATCHED_ITEM))
.addResponse(new ResponseBuilder(yesMsg)
.condition(Condition.HasMatchedItem.INSTANCE)
Expand Down

0 comments on commit a8ec208

Please sign in to comment.