// 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 lg("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; }