summaryrefslogtreecommitdiff
path: root/npc/003-4
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/003-4
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/003-4')
-rw-r--r--npc/003-4/_import.txt5
-rw-r--r--npc/003-4/_warps.txt3
-rw-r--r--npc/003-4/sorfina.txt144
-rw-r--r--npc/003-4/warp.txt14
4 files changed, 166 insertions, 0 deletions
diff --git a/npc/003-4/_import.txt b/npc/003-4/_import.txt
new file mode 100644
index 0000000..b7ae42d
--- /dev/null
+++ b/npc/003-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 003-4: Forgotten Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-4/_warps.txt",
+"npc/003-4/sorfina.txt",
+"npc/003-4/warp.txt",
diff --git a/npc/003-4/_warps.txt b/npc/003-4/_warps.txt
new file mode 100644
index 0000000..2334fc9
--- /dev/null
+++ b/npc/003-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-4: Forgotten Shop warps
+003-4,39,39,0 warp #003-4_39_39 0,0,003-1,54,138
diff --git a/npc/003-4/sorfina.txt b/npc/003-4/sorfina.txt
new file mode 100644
index 0000000..be0dbb4
--- /dev/null
+++ b/npc/003-4/sorfina.txt
@@ -0,0 +1,144 @@
+// TMW2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Sorfina is Hasan's mother.
+//
+// GETQ1 Variable Value;
+// 0 - Never stolen by Hasan
+// 1 - Already stolen by Hasan
+// 2 - Dausen pointed player to Sorfina
+// 3 - Sorfina unlocked Mahoud's Basement
+// 4 - Player killed Murderer Scorpion
+// 5 - Quest is complete
+
+003-4,39,33,0 script Sorfina NPC_FEMALE_ARGAES,{
+ if (getq(TulimsharQuest_Hasan) == 2) goto L_Trouble;
+ if (getq(TulimsharQuest_Hasan) == 3) goto L_Basement;
+ if (getq(TulimsharQuest_Hasan) == 4) goto L_Finished;
+ // Status 5 returns to default message
+ if (getq(TulimsharQuest_Hasan) == 5) goto L_Reward2;
+ mesn;
+ mesq l("Hello, darling!");
+ close;
+
+L_Trouble:
+ mesn strcharinfo(0);
+ mesq l("Your son, Hasan, has stolen me!");
+ next;
+ mesn;
+ mesq l("Oh, he has been a little rascal since his father died.");
+ mesc l("*cries*");
+ next;
+ mesn;
+ mesq l("You see, after a monster attack... My husband went to the desert, to check how things were...");
+ mesc l("*cries*");
+ next;
+ mesn;
+ mesq l("He never touched the Soul Menhir... He died... For real...");
+ mesc l("*cries*");
+ next;
+ mesn;
+ mesc l("Sorfina recomposes herself.");
+ mesq l("There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.");
+ setq TulimsharQuest_Hasan, 3, 0;
+ next;
+ goto L_Basement;
+
+L_Basement:
+ if (BaseLevel < 13) goto L_TooWeak;
+ .@q3=getq3(TulimsharQuest_Hasan);
+ if (.@q3 > santime()) goto L_Wait;
+ mesn;
+ mesq l("There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.");
+ next;
+ menu
+ l("I will kill one."), L_OpenDoors,
+ l("Maybe later."), L_Close;
+
+L_OpenDoors:
+ .@ID=getcharid(0);
+ .@MAP_NAME$="hasn@"+str(.@ID); // Max 4 chars for map name
+ .@INSTID = instance_create("003-4-1@a"+(.@ID), getcharid(3), IOT_CHAR);
+ .@instanceMapName$ = instance_attachmap("003-4-1", .@INSTID, 0, .@MAP_NAME$);
+ setq TulimsharQuest_Hasan, 3, .@INSTID, santime()+300;
+
+ // Debug
+ if (.@instanceMapName$ == "") consolewarn "Error: Map 003-4-1 X failed";
+ debugmes "Created map: "+ str(.@instanceMapName$);
+
+ // You have 5 minutes to complete the quest.
+ instance_set_timeout(300, 300, .@INSTID);
+ instance_init(.@INSTID);
+
+ .@x=34;//rand(29, 45);
+ .@y=33;//rand(29, 41);
+ monster(.@MAP_NAME$, .@x, .@y, l("Murderer Scorpion"), MurdererScorpion, 1, "Sorfina::OnKillMurderer");
+ addtimer(60000, "Sorfina::OnWarn");
+
+ mesn;
+ mesq l("Just go to the basement, past this door. Good luck, @@!", strcharinfo(0));
+ close;
+
+L_Wait:
+ mesn;
+ mesq l("Good luck killing it! And don't forget to touch the Soul Menhir before you go!");
+ close;
+
+L_TooWeak:
+ mesn;
+ mesq l("You are too weak to kill one and impress him, so please, bear my son.");
+ close;
+
+L_Close:
+ close;
+
+L_Finished:
+ mesn;
+ mesq l("Please, show Hasan the claw. Just talk to him.");
+ close;
+
+L_Reward2:
+ mesn;
+ mesq l("Thanks for helping my son. Here, take 300 GP for your troubles.");
+ setq1 TulimsharQuest_Hasan, 6;
+ Zeny=Zeny+300;
+ close;
+
+OnKillMurderer:
+ setq TulimsharQuest_Hasan, 4;
+ dispbottom l("I will take a claw and show Hasan.");
+ end;
+
+OnWarn:
+ /* removed: not in map. You can leave the map.
+ if (!compare(getmap(), "hasn@"))
+ end;
+ */
+ // Quest state is invalid
+ .@q=getq(TulimsharQuest_Hasan);
+ if (.@q != 3)
+ end;
+
+ .@q3=getq3(TulimsharQuest_Hasan);
+ dispbottom l("Time left: @@ remaining", FuzzyTime(.@q3));
+ if (.@q3-gettimetick(2) > 60)
+ addtimer(60000, "Sorfina::OnWarn");
+ else if (.@q3-gettimetick(2) > 15)
+ addtimer(15000, "Sorfina::OnWarn");
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesD);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ValentineDress); //TODO
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 16);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-4/warp.txt b/npc/003-4/warp.txt
new file mode 100644
index 0000000..9a5d26a
--- /dev/null
+++ b/npc/003-4/warp.txt
@@ -0,0 +1,14 @@
+// TMW2 Scripts.
+
+003-4,38,31,0 script Mahoud Basement NPC_HIDDEN,0,0,{
+
+OnTouch:
+ // Instance 0 is reserved by system
+ if (instanceowner(getq2(TulimsharQuest_Hasan)) == getcharid(3))
+ warp "hasn@"+str(getcharid(0)), 34, 27;
+ else if (getq(TulimsharQuest_Hasan) > 3)
+ warp "003-4-1", 34, 27;
+ else
+ dispbottom l("This door is locked.");
+ end;
+}