summaryrefslogtreecommitdiff
path: root/npc/014-2-2
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-04-28 11:01:17 -0300
committerJesusaves <cpntb1@ymail.com>2022-04-28 11:01:17 -0300
commit0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6 (patch)
tree3dff821b8e70017818aa91aeffa4e7e8c975a751 /npc/014-2-2
parent694626591f8c2ed6484ef2c911fc78a6ef7117a0 (diff)
downloadserverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.tar.gz
serverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.tar.bz2
serverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.tar.xz
serverdata-0e0e24f5222e3a536bf33f960e7a3a99f4b00eb6.zip
Incomplete code
Diffstat (limited to 'npc/014-2-2')
-rw-r--r--npc/014-2-2/_import.txt1
-rw-r--r--npc/014-2-2/valia.txt110
2 files changed, 111 insertions, 0 deletions
diff --git a/npc/014-2-2/_import.txt b/npc/014-2-2/_import.txt
index 0c96b6aa0..4db8f66f6 100644
--- a/npc/014-2-2/_import.txt
+++ b/npc/014-2-2/_import.txt
@@ -1,3 +1,4 @@
// Map 014-2-2: Forsaken Inn
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/014-2-2/_warps.txt",
+"npc/014-2-2/valia.txt",
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;
+}
+