summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-09-09 12:46:13 -0300
committerJesusaves <cpntb1@ymail.com>2019-09-09 12:46:13 -0300
commitefc8dd712135b15e152141b5d501f2903fee302d (patch)
tree1e31aacaa6a315d5db75c3c3a5933c782d320bd8 /npc
parente098ddc7a88237ded2414833bae23aa3769e24f3 (diff)
downloadserverdata-efc8dd712135b15e152141b5d501f2903fee302d.tar.gz
serverdata-efc8dd712135b15e152141b5d501f2903fee302d.tar.bz2
serverdata-efc8dd712135b15e152141b5d501f2903fee302d.tar.xz
serverdata-efc8dd712135b15e152141b5d501f2903fee302d.zip
Barbara dialog - DONE
Diffstat (limited to 'npc')
-rw-r--r--npc/018-6-1/main.txt217
1 files changed, 215 insertions, 2 deletions
diff --git a/npc/018-6-1/main.txt b/npc/018-6-1/main.txt
index c40fd03c4..5981c4fb6 100644
--- a/npc/018-6-1/main.txt
+++ b/npc/018-6-1/main.txt
@@ -218,8 +218,221 @@ OnMain:
close;
// Barbara was taken hostage or murdered - save this data
- setq3 LoFQuest_Barbara, .@q3|2;
- disablenpc instance_npcname(.name$); // NPC will now go to rest
+ @evil=0; // Temporary variable to show the murder option or not
+ setnpcdialogtitle l("Wounded Girl");
+ mesn l("Wounded Girl");
+ mesq l("...");
+ next;
+ mesn l("Wounded Girl");
+ mesq l("...I guess I can't hide anymore...");
+ next;
+ mesn l("Wounded Girl");
+ mesq l("Ah!");
+ next;
+ setnpcdialogtitle l("Barbara, Wounded Girl");
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Sorry, I haven't seen you. My name is Barbara.");
+ next;
+ select
+ l("My name is ")+strcharinfo(0),
+ l("I'm here to arrest you.");
+ mes "";
+ if (@menu == 1) {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Pleased to meet you. What brings you down here?");
+ next;
+ mesn strcharinfo(0);
+ mesq l("I'm here to arrest a criminal.");
+ next;
+ } else {
+ @evil+=1;
+ }
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Please spare me. I'm gravely wounded. I'm innocent, I swear!");
+ next;
+ select
+ l("Why should I spare you?"),
+ l("Where is the item you've stolen?");
+ mes "";
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I... I confess. I did steal an apple. I was hungry! I am very poor.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("My family died when I was just a little girl... I have been trying to survive...");
+ next;
+ select
+ l("Cut the chat short and go straight to the point!"),
+ l("I'm listening, but don't hope me to buy your story.");
+ mes "";
+ if (@menu == 2) {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("You know, if you're poor, you can't get too close to the Noble district.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("They left me no inheirtance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatos for @@.", getitemlink(Potatoz));
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("The monsters here are too strong, and as I said before, I can't get close to the Transcedence Portal nor to get training.");
+ next;
+ select
+ l("I'm not here to listen stories, I need you to return what you've stole.");
+ } else {
+ @evil+=1;
+ }
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I can't give you the Apple I've stole. Because, I was stolen first!");
+ next;
+ select
+ l("I don't believe you."),
+ l("Let's say I believe you. Who stole you? Benjamin?");
+ mes "";
+ if (@menu == 1) {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("But- But you have to! It is the ")+b(l("truth"))+"!";
+ next;
+ select
+ l("And whom do you claim to be the thief?"),
+ rif(@evil, l("[Kill her]")),
+ l("Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.");
+ mes "";
+ @evil+=1;
+ switch (@menu) {
+ case 2:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("OH MY, PLEASE DON'T!");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!");
+ next;
+ mesc l("Really kill Barbara?"), 1;
+ mesc l("WARNING: THIS ACTION IS IRREVERSIBLE."), 1;
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesc l("She falls in a single blow. You'll report her death to the Mysterious Assassin.");
+ BARBARA_STATE=1;
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ close;
+ } else {
+ @evil=false;
+ mesn l("Barbara, Wounded Girl");
+ mesc l("*sigh*");
+ mesq l("Thank you...");
+ next;
+ }
+ break;
+ case 3:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("...I have no other choice, do I?");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("But be warned, I don't have the Apple with me. It's further in.");
+ // The quest is not over yet - do not set BARBARA_STATE
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ close;
+ break;
+ }
+ } else {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Oh no, Benjamin is a city guard, he would never do that. I hope.");
+ next;
+ }
+L_MainStory:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("A hooded man attacked me, and left me in this state.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("...And for some reason he took the apple and left further in the caves.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Maybe if you go back the way you're coming, you find him...");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.");
+ next;
+ // FIXME: Should she be so blunt?
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I'm only assuming it was a man because the lack of boobs.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("So... I'm at your hands now... What will you do with me?");
+ next;
+ select
+ l("Listen to her story again."),
+ rif(@evil, l("[Kill her]")),
+ l("You're under arrest. I have to bring you back to Kenton."),
+ l("I have some healing items with me, we should tend your wounds first.");
+ mes "";
+ switch (@menu) {
+ // Murder
+ case 2:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("OH MY, PLEASE DON'T!");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!");
+ next;
+ mesc l("Really kill Barbara?"), 1;
+ mesc l("WARNING: THIS ACTION IS IRREVERSIBLE."), 1;
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesc l("She falls in a single blow. You'll report her death to the Mysterious Assassin.");
+ BARBARA_STATE=1;
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ close;
+ } else {
+ @evil=false;
+ mesn l("Barbara, Wounded Girl");
+ mesc l("*sigh*");
+ mesq l("Thank you...");
+ next;
+ }
+ // Repeat
+ case 1:
+ goto L_MainStory;
+ break;
+ // Healing
+ case 4:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.");
+ next;
+ if (countitem(ElixirOfLife)) {
+ mesc l("You have an @@ - Should you give her that?", getitemlink(ElixirOfLife));
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesn l("Barbara, Wounded Girl");
+ mesq l("It's true enough an @@ could heal even a dead tree, and would dispell almost every status ailment I could have.", getitemlink(ElixirOfLife));
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...");
+ next;
+ }
+ }
+ mesn strcharinfo(0);
+ mesq l("...You're right. My medicine cannot heal you.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...");
+ next;
+ // Arrest
+ case 3:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("...I have no other choice, do I?");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesc l("*sigh*");
+ mesq l("But be warned, I don't have the Apple with me. It's further in.");
+ // The quest is not over yet - do not set BARBARA_STATE
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ close;
+ }
+ Exception("Invalid Barbara Dialog State - 0");
close;
OnInit: