summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/012-4/wyara.txt36
-rw-r--r--npc/014-5-1/_import.txt2
-rw-r--r--npc/014-5-1/objects.txt74
-rw-r--r--npc/014-5-1/sagratha.txt19
-rw-r--r--npc/014-5/sagratha.txt56
5 files changed, 184 insertions, 3 deletions
diff --git a/npc/012-4/wyara.txt b/npc/012-4/wyara.txt
index 822ae07a8..f7afcf2ed 100644
--- a/npc/012-4/wyara.txt
+++ b/npc/012-4/wyara.txt
@@ -23,6 +23,7 @@ L_Menu:
select
l("Can you reset my stats please?"),
rif($ARKIM_ST >= 1200,l("I want Piberries Infusion!")),
+ rif(getq(HurnscaldQuest_InjuriedMouboo) == 2,l("Do you know how to break curses?")),
lg("You are weird, I have to go sorry.");
mes "";
@@ -32,6 +33,8 @@ L_Menu:
case 2:
goto L_Piberries;
case 3:
+ goto L_Uncurse;
+ case 4:
goto L_Quit;
}
@@ -106,6 +109,39 @@ L_Piberries:
getexp 10, 0;
goto L_Piberries;
+L_Uncurse:
+ mesn;
+ mesq l("Well, it depends on the curse. Some are easy to break, and others are... well...");
+ next;
+ select
+ l("It's a simple curse."),
+ l("It's a complex curse."),
+ l("It's a cursed mouboo.");
+ mes "";
+ mesn;
+ switch (@menu) {
+ case 1:
+ mesq l("Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.");
+ break;
+ case 2:
+ mesq l("Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.");
+ break;
+ case 3:
+ mesq l("A... Mouboo? Well, I know who can handle curses on cute Mouboos.");
+ next;
+ mesn;
+ mesq l("Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.");
+ next;
+ mesn;
+ mesq l("She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.", get_race());
+ next;
+ mesn;
+ mesq l("So, when you get on the door, knock it, and say this: \"@@\". She will open the door for you.", l("Mouboos are cute"));
+ compareandsetq HurnscaldQuest_Sagratha, 0, 1;
+ break;
+ }
+ close;
+
L_Quit:
goodbye;
close;
diff --git a/npc/014-5-1/_import.txt b/npc/014-5-1/_import.txt
index 488faeb05..16e214886 100644
--- a/npc/014-5-1/_import.txt
+++ b/npc/014-5-1/_import.txt
@@ -1,3 +1,5 @@
// Map 014-5-1: Forgotten Hut
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/014-5-1/_warps.txt",
+"npc/014-5-1/objects.txt",
+"npc/014-5-1/sagratha.txt",
diff --git a/npc/014-5-1/objects.txt b/npc/014-5-1/objects.txt
new file mode 100644
index 000000000..701adc605
--- /dev/null
+++ b/npc/014-5-1/objects.txt
@@ -0,0 +1,74 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Sagratha household items
+
+014-5-1,33,38,0 script Pan#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|1;
+ mesn;
+ mesc l("The pan is empty, but it smells like fresh cookies.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+014-5-1,33,34,0 script Painting#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|2;
+ mesn;
+ mesc l("Definitely not suspcious at all.");
+ if (@qsagratha >= 31) {
+ next;
+ mesn;
+ mesc l("Thinking well... There's something behind it! A secret door!");
+ }
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+014-5-1,29,37,0 script Fireplace#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|4;
+ mesn;
+ mesc l("Some smoke still remains, but the fire seems to have died.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+
+
+014-5-1,29,39,0 script Book#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|8;
+ mesn;
+ mesc l("Seems to be a recipe book about apple cookies.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+
+
+014-5-1,29,41,0 script Bed#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|16;
+ mesn;
+ mesc l("Smells like mouboos.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/014-5-1/sagratha.txt b/npc/014-5-1/sagratha.txt
new file mode 100644
index 000000000..6511ce4b7
--- /dev/null
+++ b/npc/014-5-1/sagratha.txt
@@ -0,0 +1,19 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Sagratha
+
+014-5-1,33,37,0 script Sagratha NPC_SAMANTHA,{
+ goodbye; end;
+
+OnInit:
+ .distance=5;
+ npcsit;
+ end;
+
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
diff --git a/npc/014-5/sagratha.txt b/npc/014-5/sagratha.txt
index be4704116..2d06e47d1 100644
--- a/npc/014-5/sagratha.txt
+++ b/npc/014-5/sagratha.txt
@@ -5,7 +5,6 @@
// Sagratha's House Door
014-5,122,137,0 script Sagratha Door NPC_HIDDEN,0,0,{
- .@q=getq(HurnscaldQuest_Sagratha);
end;
L_Magicless:
@@ -84,14 +83,65 @@ L_Lockpick:
close;
L_Open:
+ mesn;
+ mesc l("The door is locked!");
+ select
+ l("Knock on the door?"),
+ l("Attempt to lockpick?"),
+ l("Leave it alone?");
+ mes "";
+ if (@menu == 3)
+ close;
+ mesc l("*CREAK*");
+ mesc l("The pressure you did made the door burst open. It is unusually quiet inside...");
+ next;
+ enable_items();
+ //mesc l("WARNING: Save your game now."), 3;
+ mesc l("WARNING: Set your equipment now."), 3;
+ next;
+ disable_items();
+ /*
+ if (has_instance("014-5-1") == "") {
+ .@inst = instance_create("Sagratha House", getcharid(3), IOT_CHAR);
+ instance_attachmap("014-5-1", .@inst);
+ // 20 minutes (1200s) inside, or 5 minutes (300s) outside
+ instance_set_timeout(1200, 30, .@inst);
+ instance_init(.@inst);
+ }
warp "014-5-1", 33, 44;
- dispbottom l("For some reason, the door was not locked today...");
+ //addmapmask instance_mapname("014-5-1"), 1;
+ changemusic "014-5-1", "eric_matyas_ghouls.ogg";
+ */
+ .@q2=getq2(HurnscaldQuest_Sagratha);
+ // Map name limit: 4 chars (sgt1)
+ .@mapn$="sgt1@"+getcharid(0);
+ if (isinstance(.@q2) && .@q2 != 0) {
+ warp .@mapn$, 33, 44;
+ } else {
+ .@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("014-5-1", .@inst, false, .@mapn$);
+ // 20 minutes (1200s) inside, or 5 minutes (300s) outside
+ instance_set_timeout(1200, 30, .@inst);
+ instance_init(.@inst);
+ setq2 HurnscaldQuest_Sagratha, .@inst;
+ warp .@mapn$, 33, 44;
+ }
+ changemusic .@mapn$, "eric_matyas_ghouls.ogg";
+ closeclientdialog;
close;
+L_Welcome:
+ warp "014-5-1", 33, 44;
+ end;
+
OnTouch:
+ .@q=getq(HurnscaldQuest_Sagratha);
if (!MAGIC_LVL) goto L_Magicless;
+ if (.@q == 1) goto L_Open;
+ if (getq(HurnscaldQuest_InjuriedMouboo) == 3) goto L_Welcome;
+
+ // No special condition
goto L_Lockpick;
- if (getq(HurnscaldQuest_InjuriedMouboo) == 3) goto L_Open;
end;
}