summaryrefslogtreecommitdiff
path: root/npc/016-1
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/016-1
downloadserverdata-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.txt7
-rw-r--r--npc/016-1/_mobs.txt3
-rw-r--r--npc/016-1/captain.txt178
-rw-r--r--npc/016-1/doors.txt26
-rw-r--r--npc/016-1/laranja.txt110
-rw-r--r--npc/016-1/teraa.txt17
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;
+}
+