summaryrefslogtreecommitdiff
path: root/npc/001-1/sophialla.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-1/sophialla.txt')
-rw-r--r--npc/001-1/sophialla.txt88
1 files changed, 88 insertions, 0 deletions
diff --git a/npc/001-1/sophialla.txt b/npc/001-1/sophialla.txt
new file mode 100644
index 00000000..f44ef218
--- /dev/null
+++ b/npc/001-1/sophialla.txt
@@ -0,0 +1,88 @@
+// Evol scripts.
+// Author:
+// Micksha
+// Description:
+// Sophialla, the connection between Artis and the Brotherhood in Hurns.
+// THIS IS A PLACEHOLDER!
+
+001-1,73,40,0 script Sophialla#001-1 NPC_SOPHIALLA,{
+ .@q=getq(General_Brotherhood);
+ if (!.@q)
+ {
+ speech
+ l("Hello."),
+ l("Can't you see I am reading? Please go, please.");
+ // Please go, please? What?
+ close;
+ }
+ speech
+ l("Hello."),
+ l("Can't you see I am reading? If you need something, tell me the secret password.");
+ // TODO: Use a token to know password or whatever
+ // PS. "Sagratha" is not a typo.
+ select
+ l("Sorry to disturb you."),
+ rif(getq(ArtisQuests_MonaDad) == 3, l("Sagratha is great.")),
+ l("I don't know the password");
+ mes "";
+ if (@menu == 2)
+ {
+ speech
+ l("If you visit the sewers again... You'll find secret passages..."),
+ l("Look for the hideout, but tell no one about this. Then, say the password again.");
+ compareandsetq General_Brotherhood, 1, 2;
+ }
+ else if (@menu == 3)
+ {
+ mesn;
+ mesq l("If I just told you, it would not be a password anymore, right?");
+ next;
+ mesn;
+ mesq l("I'm afraid you'll need to figure that out on your own.");
+ next;
+ mesn;
+ mesq l("This password is very secret. I don't think you would learn it even if you rescued someone missing for weeks.");
+ // Extra hint (TODO: Logic is crappy)
+ if (@sophiahalla_needhelp) {
+ next;
+ mesn;
+ mesq l("Actually, there is an ex-legion member whose daughter used to play nearby... How was she called? Mona I think?");
+ next;
+ mesn;
+ mesq l("...Ah! Nevermind, I was talking to myself.");
+ }
+ @sophiahalla_needhelp=true;
+ next;
+ mesc l("%s sighs.", .name$);
+ }
+
+ speech
+ l("If you don't know it, just go, please.");
+ close;
+
+OnLegionComplete:
+ restorecam;
+ mesn "???";
+ mesc l("A strange voice seems to be calling out your name.");
+ next;
+ // NOTE: Sophialla is more than 15 tiles of distance from player
+ // Server refuses to send client data about where she is and that makes
+ // setcamnpc fail. This is why I set .alwaysVisible attribute to true.
+ // Note: you can work around with coordinates, but she won't be drawn.
+ setcamnpc "Sophialla#001-1";
+ mesn;
+ mesq l("Hey. ppst. I have something important to tell you.");
+ next;
+ mesn;
+ mesq l("I just can't remember what. But come talk to me later once devs becomes less lazy.");
+ setq General_Brotherhood, 1;
+ next;
+ restorecam;
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance = 2;
+ .alwaysVisible = true;
+ end;
+}