diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-09-09 12:46:13 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-09-09 12:46:13 -0300 |
commit | efc8dd712135b15e152141b5d501f2903fee302d (patch) | |
tree | 1e31aacaa6a315d5db75c3c3a5933c782d320bd8 /npc | |
parent | e098ddc7a88237ded2414833bae23aa3769e24f3 (diff) | |
download | serverdata-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.txt | 217 |
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: |