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/016-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/016-1')
-rw-r--r-- | npc/016-1/_import.txt | 7 | ||||
-rw-r--r-- | npc/016-1/_mobs.txt | 3 | ||||
-rw-r--r-- | npc/016-1/captain.txt | 178 | ||||
-rw-r--r-- | npc/016-1/doors.txt | 26 | ||||
-rw-r--r-- | npc/016-1/laranja.txt | 110 | ||||
-rw-r--r-- | npc/016-1/teraa.txt | 17 |
6 files changed, 341 insertions, 0 deletions
diff --git a/npc/016-1/_import.txt b/npc/016-1/_import.txt new file mode 100644 index 0000000..75e6e99 --- /dev/null +++ b/npc/016-1/_import.txt @@ -0,0 +1,7 @@ +// Map 016-1: La Marine First Deck +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/016-1/_mobs.txt", +"npc/016-1/captain.txt", +"npc/016-1/doors.txt", +"npc/016-1/laranja.txt", +"npc/016-1/teraa.txt", diff --git a/npc/016-1/_mobs.txt b/npc/016-1/_mobs.txt new file mode 100644 index 0000000..621c460 --- /dev/null +++ b/npc/016-1/_mobs.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 016-1: La Marine First Deck mobs +016-1,31,26,9,4 monster Piou 1002,2,30000,20000 diff --git a/npc/016-1/captain.txt b/npc/016-1/captain.txt new file mode 100644 index 0000000..c6f1198 --- /dev/null +++ b/npc/016-1/captain.txt @@ -0,0 +1,178 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Temporary, placeholder. + +016-1,19,29,0 script Captain NPC_NARD,{ + .@price=410; + if (BaseLevel < 20 && !REBIRTH && !countitem(MirrorLakeArmor)) + goto L_TooWeak; + + mesn; + mesq l("Hi @@.", strcharinfo(0)); + next; + mesq l("You are currently at @@.", LOCATION$); + mesc l("Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed."); + mes ""; + + menu + rif(LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim, + rif(LOCATION$ != "Hurns", l("To Hurnscald.")), L_THurns, + rif(LOCATION$ != "Nival", l("To Nivalis.")), L_TNival, + l("No, I'll save my money."), -; + + close; + +///// ---------- Tulimshar ---------- +L_TTulim: + .@x=(reputation("Tulim")+reputation(LOCATION$))/2; + if (.@x >= 50) .@x+=10; + .@price-=min(400, (.@x/10)*40); + + mes ""; + mesn; + mesq l("It'll cost you @@ GP.", .@price); + mes ""; + + if (Zeny < .@price) { + mes l("You still need @@ GP to afford it.", (.@price-Zeny)); + close; + } + + if (askyesno() != ASK_YES) + close; + + Zeny=Zeny-.@price; + PC_DEST$="Tulim"; + @timer_navio_running = 1; + + mes ""; + mesn; + mesq l("Tulimshar, right? The oldest human city-state!"); + next; + mesq l("I was planning to go there soon, anyway. All aboard!"); + close2; + goto L_DoWarp; + + + + + + + +///// ---------- Hurnscald ---------- +L_THurns: + .@x=(reputation("Hurns")+reputation(LOCATION$))/2; + if (.@x >= 50) .@x+=10; + .@price-=min(400, (.@x/10)*40); + + mes ""; + mesn; + mesq l("It'll cost you @@ GP.", .@price); + mes ""; + + // Should not even be allowed on the ship, but well. Double-check + if (!$HURNS_LIBDATE) { + mesc l("BUG, REPORT ME! Hurncald Liberation Day check FAIL"), 1; + close; + } + + if (Zeny < .@price) { + mes l("You still need @@ GP to afford it.", (.@price-Zeny)); + close; + } + + if (askyesno() != ASK_YES) + close; + + Zeny=Zeny-.@price; + PC_DEST$="Hurns"; + + mes ""; + mesn; + mesq l("Hurnscald? Small farming towns are always nice to visit."); + next; + mesq l("I was planning to go there soon, anyway. All aboard!"); + close2; + goto L_DoWarp; + + + + + + + +///// ---------- Nivalis ---------- +L_TNival: + .@x=(reputation("Nival")+reputation(LOCATION$))/2; + if (.@x >= 50) .@x+=10; + .@price-=min(400, (.@x/10)*40); + + // Nivalis Liberation Day. Zero could cause weird bugs. + if (!$NIVALIS_LIBDATE) + .@price=1; + + // Maybe this destination is NOT AVAILABLE + if (!$NLIB_DAY && !$NIVALIS_LIBDATE) { + mesn; + mesq l("I would love to, but the Monster King laid siege there."); + mesc l("A Game Master is required to begin the Liberation Day."), 1; + close; + } + + mes ""; + mesn; + mesq l("It'll cost you @@ GP.", .@price); + mes ""; + + if (Zeny < .@price) { + mes l("You still need @@ GP to afford it.", (.@price-Zeny)); + close; + } + + if (askyesno() != ASK_YES) + close; + + Zeny=Zeny-.@price; + PC_DEST$="Nival"; + + mes ""; + mesn; + mesq l("Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level..."); + next; + mesq l("I was planning to go there soon, anyway. All aboard!"); + close2; + goto L_DoWarp; + + + + + + + +///// ---------------- Core Utils +L_TooWeak: + mesn; + mesq l("The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me."); + close; + +L_DoWarp: + addtimer nard_time(PC_DEST$), "#MarineShip::OnEvent"; + @timer_navio_running = 1; + warp "016-6", 40, 32; + + // 10% base chance of Pirate Attack! + // Each level INCREASES this in 0.1%. + // So for a level 40 player, chances are 14%. + if (rand(1, 10000) < 1000+(BaseLevel*10)) + addtimer rand(3000,6000), "#MarineShipAttack::OnEvent"; + end; + + +OnInit: + .sex = G_MALE; + .distance = 5; + end; + +} diff --git a/npc/016-1/doors.txt b/npc/016-1/doors.txt new file mode 100644 index 0000000..0c7ebd6 --- /dev/null +++ b/npc/016-1/doors.txt @@ -0,0 +1,26 @@ +// TMW2 Scripts. +// Author: +// Jesusalva +// Description: +// La Marine ship Doors NPCs. + +016-1,21,25,0 script #MarineToOutside NPC_HIDDEN,0,0,{ + +OnTouch: + if (LOCATION$ == "Hurns") { + warp "012-1", 156, 65; + close; + } + if (LOCATION$ == "Tulim") { + warp "003-1", 119, 25; + close; + } + if (LOCATION$ == "Nival") { + warp "019-2", 119, 113; + close; + } + mesc l("Oh noes! The door is locked!! Quick! Call a GM!!!"), 1; + close; +} + + diff --git a/npc/016-1/laranja.txt b/npc/016-1/laranja.txt new file mode 100644 index 0000000..f293fb3 --- /dev/null +++ b/npc/016-1/laranja.txt @@ -0,0 +1,110 @@ +// TMW2 Script +// Author: +// Saulc +// Povo +// Description: +// Laranja, orange in portuges is a orange dye seller in ship + +016-1,25,24,0 script Laranja NPC_FEMALE,{ + + mesn; + mesq l("I'm Laranja."); + next; + mesn; + mesq l("My father runs a dye business, I'm in charge of selling %s around the world.", getitemlink(OrangeDye)); + next; + mesn; + mesq l("How can I help you?"); + mes ""; + menu + l("Orange Dye? How much does it cost?"), -, + l("Nothing. Take care!"), L_Quit; + +L_Dye: + mesn; + mesq l("Thanks to pirate activity, dye has become more difficult to obtain lately."); + mesq l("In fact, %s is considered by most to be rare these days.", getitemlink(OrangeDye)); + next; + if (BaseLevel < 45) { + mesn; + mesq l("Since supplies are limited, I currently prioritize orders placed by higher level players."); + mesq l("Come back when you are stronger and we can trade."); + next; + goto L_Quit; + } + + mesn; + mesq l("I can trade some with you. Just bring me the following cash payment and supplies:"); + mes ""; + mesq l("%s/%s GP",fnum(Zeny), fnum(3000)); + mesq l("%d/%d %s",countitem(BottleOfTonoriWater), 1, getitemlink(BottleOfTonoriWater)); + mesq l("%d/%d %s",countitem(GambogeHerb), 60, getitemlink(GambogeHerb)); + mesq l("%d/%d %s",countitem(AlizarinHerb), 70, getitemlink(AlizarinHerb)); + mesq l("%d/%d %s",countitem(Piberries), 5, getitemlink(Piberries)); + mesq l("%d/%d %s",countitem(PileOfAsh), 5, getitemlink(PileOfAsh)); + compareandsetq TulimsharQuest_Laranja, 0, 1; + next; + select + l("Yeah, I need one."), + l("No thank you."); + mes ""; + if (@menu == 2) + goto L_Quit; + if (countitem(BottleOfTonoriWater) >= 1 && + countitem(GambogeHerb) >= 60 && + countitem(AlizarinHerb) >= 75 && + countitem(Piberries) >= 5 && + countitem(PileOfAsh) >= 5 && Zeny >= 1500) { + inventoryplace OrangeDye, 1, EmptyBottle, 1; + delitem BottleOfTonoriWater, 1; + delitem GambogeHerb,60; + delitem AlizarinHerb, 70; + delitem Piberries, 5; + delitem PileOfAsh, 5; + Zeny=Zeny-1500; + getitem OrangeDye, 1; + getitem EmptyBottle, 1; + if (getq(TulimsharQuest_Laranja) == 1) { + setq TulimsharQuest_Laranja, 2; + getexp 9000, 0; + } + + mesn; + mesq l("Pleasure doing business with you! Do you want any more?"); + next; + goto L_Dye; + } else { + mesn; + mesq l("Looks like you are a bit short on supplies. Come back when you have everything I need."); + } + close; + +L_Quit: + closedialog; + goodbye; + close; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); + setunitdata(.@npcId, UDT_HEADMIDDLE, ShortTankTop); + setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); + setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 10); + setunitdata(.@npcId, UDT_HAIRCOLOR, 9); + + .sex = G_FEMALE; + .distance = 4; + end; + +OnInstanceInit: + .@npcId = getnpcid(instance_npcname(.name$)); + setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); + setunitdata(.@npcId, UDT_HEADMIDDLE, ShortTankTop); + setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); + setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 10); + setunitdata(.@npcId, UDT_HAIRCOLOR, 9); + + end; +} diff --git a/npc/016-1/teraa.txt b/npc/016-1/teraa.txt new file mode 100644 index 0000000..3cad0c3 --- /dev/null +++ b/npc/016-1/teraa.txt @@ -0,0 +1,17 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Tortuga Renting (var MOUBOO_RENTTIME ) + +016-1,32,28,0 script Teraa NPC_ELVEN_MAN_STANDING,{ + TortugaRent(); + closeclientdialog; + goodbye(); + close; + +OnInit: + .distance=4; + end; +} + |