diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-04-28 11:01:17 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-04-28 11:01:17 -0300 |
commit | 0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6 (patch) | |
tree | 3dff821b8e70017818aa91aeffa4e7e8c975a751 /npc/014-2-2/valia.txt | |
parent | 694626591f8c2ed6484ef2c911fc78a6ef7117a0 (diff) | |
download | serverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.tar.gz serverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.tar.bz2 serverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.tar.xz serverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.zip |
Incomplete code
Diffstat (limited to 'npc/014-2-2/valia.txt')
-rw-r--r-- | npc/014-2-2/valia.txt | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/npc/014-2-2/valia.txt b/npc/014-2-2/valia.txt new file mode 100644 index 000000000..e0968bc9b --- /dev/null +++ b/npc/014-2-2/valia.txt @@ -0,0 +1,110 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Gemini Sisters Quest - Valia Gemini + +function script GeminiCheck { + .@st = getarg(0, 0); + if (getq(General_Narrator) < 16 || getq(HurnscaldQuest_Gemini) < .@st) { + warp "Save", 0, 0; + dispbottom l("You don't feel so well... And then, you're dead."); + die(); + end; + } +} + +// Valia Gemini +014-2-2,36,22,0 script Valia NPC_RED_WIZARD_F,{ + GeminiCheck(); + .@q = getq(HurnscaldQuest_Gemini); + mesn; + mesq l("Greetings, adventurer. I am Valia Gemini, owner of this abode."); + next; + mesn; + mesq l("I usually don't let anyone in, but I had to make an exception for the likes of you."); + next; + mesn; + mesq l("You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth."); + next; + mesn; + mesq l("I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately."); + next; + mesn; + mesq l("You can bring up to 3 other friends with you, but they must be on the same party as you and you must be the party leader."); + next; + select + l("I'm not interested, sorry."), + l("Why don't you go yourself?"), + l("Alright, I will help."); + mes ""; + switch (@menu) { + case 1: + close; + case 2: + mesn; + mesq l("Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all..."); + close; + } + // You accepted the quest + mesn; + // ...But you lack a party + if (getcharid(1) <= 0) { + mesq l("You don't have a party. You're useless to me."); + close; + } + // ...But you are not the leader + if (strcharinfo(0) != getpartyleader(getcharid(1))) { + mesq l("Bring me %s or make your own party if you want to help me.", getpartyleader(getcharid(1))); + close; + } + // ...But the party is too large + getpartymember(getcharid(1)); + .@count = $@partymembercount; + if (.@count > 4) { + mesq l("Your party is too big. Discretion is a key if we want to succeed."); + close; + } + // Alright. + mesq l("Good. I hope you have stocked everything. The time limit is 4 hours."); + mesc l("Are you and your party ready?"), 1; + if (askyesno() != ASK_YES) + close; + + mesn; + mesq l("Good. Here, take this key and hide it."); + compareandsetq HurnscaldQuest_Gemini, 0, 1; + + // Create instance + .@p=getcharid(1); + .@inst = instance_create("Gemini "+.@p, .@p, IOT_PARTY); + + // If it worked then setup + if (.@inst >= 0) { + // Attach maps + instance_attachmap("034-1", .@inst, false, "val1@"+.@p); + instance_attachmap("034-2", .@inst, false, "val2@"+.@p); + instance_attachmap("034-3", .@inst, false, "val3@"+.@p); + instance_attachmap("034-4", .@inst, false, "val4@"+.@p); + // Save the instance ID + $@VALIA_INST[.@p]=.@inst; + $@VALIA_MAP$[.@p]=""; + } + + // Instance lasts 4 hours - your time limit + instance_set_timeout(14400, 14400, $@VALIA_INST[.@p]); + + // Do we need to initialize or are we just restarting? + if (.@inst >= 0) + instance_init(.@inst); + + // Warp everyone and add timers + //partytimer("008-0", 1000, "Party Master::OnStart", getcharid(1)); + warpparty("val1@"+.@p, 24, 24, getcharid(1), "014-2-2", true); + + close; +OnInit: + .distance=4; + end; +} + |