diff options
Diffstat (limited to 'npc/001-1/sophialla.txt')
-rw-r--r-- | npc/001-1/sophialla.txt | 88 |
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; +} |