diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/003-4 | |
download | serverdata-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.txt | 5 | ||||
-rw-r--r-- | npc/003-4/_warps.txt | 3 | ||||
-rw-r--r-- | npc/003-4/sorfina.txt | 144 | ||||
-rw-r--r-- | npc/003-4/warp.txt | 14 |
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; +} |