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/004-1 | |
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/004-1')
-rw-r--r-- | npc/004-1/_import.txt | 7 | ||||
-rw-r--r-- | npc/004-1/_mobs.txt | 9 | ||||
-rw-r--r-- | npc/004-1/_warps.txt | 8 | ||||
-rw-r--r-- | npc/004-1/anwar.txt | 222 | ||||
-rw-r--r-- | npc/004-1/elanore.txt | 118 | ||||
-rw-r--r-- | npc/004-1/sign.txt | 19 |
6 files changed, 383 insertions, 0 deletions
diff --git a/npc/004-1/_import.txt b/npc/004-1/_import.txt new file mode 100644 index 0000000..f53a354 --- /dev/null +++ b/npc/004-1/_import.txt @@ -0,0 +1,7 @@ +// Map 004-1: Tulimshar +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/004-1/_mobs.txt", +"npc/004-1/_warps.txt", +"npc/004-1/anwar.txt", +"npc/004-1/elanore.txt", +"npc/004-1/sign.txt", diff --git a/npc/004-1/_mobs.txt b/npc/004-1/_mobs.txt new file mode 100644 index 0000000..261dc2b --- /dev/null +++ b/npc/004-1/_mobs.txt @@ -0,0 +1,9 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 004-1: Tulimshar mobs +004-1,0,0,0,0 monster Maggot 1030,50,35000,420000 +004-1,48,35,5,13 monster Croc 1006,3,25000,60000 +004-1,49,77,10,21 monster Scorpion 1071,20,35000,270000 +004-1,109,66,15,8 monster Giant Maggot 1031,4,35000,270000 +004-1,112,113,12,5 monster Golden Scorpion 1078,1,99000,300000 +004-1,84,98,18,15 monster Fire Goblin 1067,6,45000,45000 +004-1,45,106,19,12 monster Red Scorpion 1072,3,95000,60000 diff --git a/npc/004-1/_warps.txt b/npc/004-1/_warps.txt new file mode 100644 index 0000000..4acf882 --- /dev/null +++ b/npc/004-1/_warps.txt @@ -0,0 +1,8 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 004-1: Tulimshar warps +004-1,126,95,0 warp #004-1_126_95 0,2,004-2,31,51 +004-1,55,20,0 warp #004-1_55_20 0,0,003-1-1,29,61 +004-1,69,56,0 warp #004-1_69_56 4,0,003-1,60,156 +004-1,39,109,0 warp #004-1_39_109 0,0,007-1,56,36 +004-1,98,114,0 warp #004-1_98_114 0,0,007-1,90,51 +004-1,119,107,0 warp #004-1_119_107 0,0,007-1-1,35,37 diff --git a/npc/004-1/anwar.txt b/npc/004-1/anwar.txt new file mode 100644 index 0000000..ca5371e --- /dev/null +++ b/npc/004-1/anwar.txt @@ -0,0 +1,222 @@ +// TMW2 Script +// Author: +// TMW Org. +// Jesusalva +// Description: +// Part of Anwar Field quest + +004-1,113,67,0 script Anwar NPC_RAIJIN,{ + .@q=getq(TulimsharQuest_AnwarField); + if (BaseLevel < 18) goto L_Weak; + + if (.@q > 10) goto L_Complete; + if (.@q == 10) goto L_SecondReward; + if (.@q == 9) goto L_FirstReward; + if (.@q == 8) goto L_SecondTry; + if (.@q == 7) goto L_AnwarField; + if (.@q == 6) goto L_FirstTry; + if (.@q == 5) goto L_TryIt; + if (.@q >= 1) goto L_FirstTry; + + mesn; + mesq l("Hi. Could you perhaps be interested in doing some small errand for me?"); + menu + l("Sure!"),L_Sure, + l("I'm busy, sorry."),L_Close; + +L_Complete: + mesn; + mesq l("Thanks for saving Tulimshar from a famine. I'll be forever grateful."); + next; + mesn; + mesq l("Dealing with elves is too bothersome to me."); + close; + +L_AnwarField: + mesn; + mesq l("My crops! Hurry up, and talk to Eomie!!"); + close; + +L_Sure: + mes ""; + mesn; + mesq l("Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers."); + next; + mesn; + mesq l("This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine."); + next; + mesn; + mesq l("Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves."); + setq TulimsharQuest_AnwarField, 1; + close; + +L_FirstTry: + mesn; + mesq l("Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly."); + close; + +L_TryIt: + .@q2=getq2(TulimsharQuest_AnwarField); + mesn; + mesq l("You've brought me fertilizer! Let me see if it works..."); + next; + setq2 TulimsharQuest_AnwarField, .@q2+1; + + // Fail chances are 100% - 13% per attempt + if (rand2(0,100) < 100-(.@q2*13)) { + setq1 TulimsharQuest_AnwarField, 6; + mesc l("Nothing happens."); + next; + mesn; + mesq l("Uh... Something should happen, right? Can you get another one?"); + } else { + setq1 TulimsharQuest_AnwarField, 7; + mesc l("Evil worms crawl from earth and starts devouring the plants!"); + next; + mesn; + mesq l("Uh... That should not happen, right? RIGHT?"); + next; + mesn; + mesq l("Don't just stand here! Go fetch help, NOW!!"); + } + + close; + +L_SecondTry: + mesn strcharinfo(0); + mesq l("Here is the bug bomb! Eomie just gave me. Hurry up!"); + next; + getexp 20, 0; + specialeffect(51); + setq TulimsharQuest_AnwarField, 9; + mesn; + mesq l("Thanks God... The crops are safe. Not only that, but the fertilizer works!"); + next; + mesn; + mesq l("Ah, that was tiresome... I'll go make a reward for them, talk to me again later."); + close; + +L_FirstReward: + mesn; + mesq l("Here are two @@. Please deliver it to them. I hope they'll like it.", getitemlink(TortugaShell)); + setq TulimsharQuest_AnwarField, 10, 0; + getitembound(TortugaShell, 2, 4); // Prevent accidental item loss + close; + +L_SecondReward: + .@q2=getq2(TulimsharQuest_AnwarField); + if (.@q2 < 3){ + mesn; + mesq l("Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.", getitemlink(TortugaShell)); + close; + } + setq TulimsharQuest_AnwarField, 11, 0; + getitem2(FarmerPants, 1, 1, 0, 0, OrangeDye, 0,0,0); // EXPERIMENTAL, required for Inspector Quest + getexp 750, 0; + mesn; + mesq l("Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is."); + close; + +L_Weak: + hello; + end; + +L_Close: + close; + +OnTimer1000: + domovestep; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADTOP, FarmerHat); + setunitdata(.@npcId, UDT_HEADMIDDLE, DesertShirt); + setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); + setunitdata(.@npcId, UDT_WEAPON, Boots); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 6); + setunitdata(.@npcId, UDT_HAIRCOLOR, 14); + + .sex = G_MALE; + .distance = 5; + + initpath "move", 99, 84,//A + "dir", RIGHT, 0, + "wait", 30, 0, + "move", 90, 60,//C + "dir", UP, 0, + "wait", 12, 0, + "move", 123, 64,//K + "dir", LEFT, 0, + "wait", 8, 0, + "move", 101, 84,//B + "dir", DOWN, 0, + "wait", 29, 0, + "move", 98, 68,//R + "dir", DOWN, 0, + "wait", 14, 0, + "move", 100, 80,//F + "dir", UP, 0, + "wait", 13, 0, + "move", 136, 73,//I + "dir", DOWN, 0, + "wait", 14, 0, + "move", 101, 84,//B + "dir", DOWN, 0, + "wait", 28, 0, + "move", 99, 64,//D + "dir", UP, 0, + "wait", 11, 0, + "move", 114, 60,//M + "dir", RIGHT, 0, + "wait", 8, 0, + "move", 99, 84,//A + "dir", RIGHT, 0, + "wait", 27, 0, + "move", 104, 60,//O + "dir", UP, 0, + "wait", 18, 0, + "move", 95, 62,//P + "dir", DOWN, 0, + "wait", 7, 0, + "move", 101, 84,//B + "dir", DOWN, 0, + "wait", 26, 0, + "move", 91, 66,//Q + "dir", UP, 0, + "wait", 21, 0, + "move", 95, 82,//G + "dir", UP, 0, + "wait", 10, 0, + "move", 99, 84,//A + "dir", RIGHT, 0, + "wait", 25, 0, + "move", 111, 78,//H + "dir", UP, 0, + "wait", 17, 0, + "move", 120, 63,//L + "dir", UP, 0, + "wait", 1, 0, + "move", 101, 84,//B + "dir", DOWN, 0, + "wait", 24, 0, + "move", 115, 69,//J + "dir", DOWN, 0, + "wait", 15, 0, + "move", 110, 63,//N + "dir", LEFT, 0, + "wait", 1, 0, + "move", 101, 84,//B + "dir", DOWN, 0, + "wait", 23, 0, + "move", 100, 80,//F + "dir", UP, 0, + "wait", 9, 0, + "move", 81, 63,//S + "dir", UP, 0, + "wait", 15, 0; + + initialmove; + initnpctimer; + end; +} + diff --git a/npc/004-1/elanore.txt b/npc/004-1/elanore.txt new file mode 100644 index 0000000..8f690be --- /dev/null +++ b/npc/004-1/elanore.txt @@ -0,0 +1,118 @@ +// TMW-2 Script +// Author: +// Jesusalva + +004-1,80,62,0 script Elanore the Healer NPC_FEMALE,{ + .@price=Nurse(.name$, 10, 5, 1); + mesq l("For you, it'll be @@ GP.", .@price); + mes ""; + menu + rif(Zeny >= .@price, l("Please heal me!")), L_Healing, + l("Do you make Lifestones?"), L_Lifestones, + l("Another time, maybe."), -; + close; + + +L_Healing: + Nurse(.name$, 10, 5, 2); + close; + +L_Lifestones: + mes ""; + mesn; + mesq l("Lifestones have the potential to heal the user, and thus are used for potions."); + next; + mesq l("I will need 3 @@, 5 @@ and 100 GP to craft a single stone.", getitemlink(BugLeg), getitemlink(MaggotSlime)); + next; + mes ""; + menu + l("OK, I will get them."), -, + l("No way!"), -, + l("Here you are!"), L_Trade, + l("I want more than one!"), L_Trade_Input; + close; + +L_Trade: + if (countitem(BugLeg) < 3) goto L_Trade_Missing; + if (countitem(MaggotSlime) < 5) goto L_Trade_Missing; + if (Zeny < 100) goto L_Trade_Missing; + + inventoryplace Lifestone, 1; + + delitem BugLeg, 3; + delitem MaggotSlime, 5; + set Zeny, Zeny - 100; + + getitem Lifestone, 1; + goto L_TradeOK; + +L_Trade_Input: + mesc l("How many?"); + input .@am; + if (.@am <= 0) + close; + + if (countitem(BugLeg) < 3*.@am) goto L_Trade_Missing; + if (countitem(MaggotSlime) < 5*.@am) goto L_Trade_Missing; + if (Zeny < 100*.@am) goto L_Trade_Missing; + + inventoryplace Lifestone, 1*.@am; + + delitem BugLeg, 3*.@am; + delitem MaggotSlime, 5*.@am; + set Zeny, Zeny - 100*.@am; + + getitem Lifestone, 1*.@am; + goto L_TradeOK; + +L_TradeOK: + mes ""; + + // Only grant Experience on first craft + if (getq(TulimsharQuest_Lifestone) == 0) { + setq TulimsharQuest_Lifestone, 1; + getexp 84, 10; + } + + // Second tier stuff + if (ST_TIER == 8) { + if (gettimetick(2) > QUEST_ELEVARTEMPO) { + mesc l(".:: Second Tier Quest - Timed Out ::."), 1; + } else { + getexp 44, 0; + ST_TIER=9; + mes l("##9.:: Second Tier Quest - Time Remaining: @@ ::.", FuzzyTime(QUEST_ELEVARTEMPO,2,2)); + } + } + + mesn; + mesq l("These will do just fine."); + next; + mesn; + mes l("Elanore casts a chant over the items, closes her hands, and vóila! A lifestone."); + next; + mesq l("I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how."); + next; + mes l("She smiles."); + close; + +L_Trade_Missing: + mesn; + mesq l("This is not what I asked for."); + close; + +OnInit: + .@npcId = getnpcid(.name$); + //setunitdata(.@npcId, UDT_HEADTOP, 2929); + setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe); + setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes); + setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 8); + setunitdata(.@npcId, UDT_HAIRCOLOR, 17); + npcsit; + + .sex = G_FEMALE; + .distance = 5; + end; + +} diff --git a/npc/004-1/sign.txt b/npc/004-1/sign.txt new file mode 100644 index 0000000..649b229 --- /dev/null +++ b/npc/004-1/sign.txt @@ -0,0 +1,19 @@ +// TMW2 Script. +// Author: +// Jesusalva +// Description: +// Sign + +004-1,70,74,0 script Sign#HalinarzoGoto NPC_SWORDS_SIGN,{ + mesc "↑ "+l("Tulimshar"); + mesc "→ "+l("Halinarzo Route"); + mesc "← "+l("Tulimshar Beach"); + mesc "↓ "+l("Tulimshar Mines"); + close; + +OnInit: + .sex = G_OTHER; + .distance = 3; + end; +} + |