summaryrefslogtreecommitdiff
path: root/npc/000-0
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/000-0
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/000-0')
-rw-r--r--npc/000-0/_import.txt4
-rw-r--r--npc/000-0/mapflags.txt2
-rw-r--r--npc/000-0/sailors.txt282
3 files changed, 288 insertions, 0 deletions
diff --git a/npc/000-0/_import.txt b/npc/000-0/_import.txt
new file mode 100644
index 0000000..d2f0652
--- /dev/null
+++ b/npc/000-0/_import.txt
@@ -0,0 +1,4 @@
+// Map 000-0: Ocean
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-0/mapflags.txt",
+"npc/000-0/sailors.txt",
diff --git a/npc/000-0/mapflags.txt b/npc/000-0/mapflags.txt
new file mode 100644
index 0000000..9b55f66
--- /dev/null
+++ b/npc/000-0/mapflags.txt
@@ -0,0 +1,2 @@
+000-0 mapflag invisible
+000-1 mapflag invisible
diff --git a/npc/000-0/sailors.txt b/npc/000-0/sailors.txt
new file mode 100644
index 0000000..65d06a7
--- /dev/null
+++ b/npc/000-0/sailors.txt
@@ -0,0 +1,282 @@
+// TMW2 Script
+// Modified by Jesusalva
+
+// Evol scripts.
+// Authors:
+// 4144
+// Qwerty Dragon
+// Reid
+// Vasily_Makarov
+// Jesusalva
+// Description:
+// Starting script of Evol Online, modified for TMW2.
+// Translation:
+// FR Translated
+
+000-0,23,19,0 script Sailors NPC_SAILORS,6,6,{
+
+OnTouch:
+ .@q=getq(General_Narrator);
+ if (.@q)
+ end;
+
+ //checkclientversion;
+ .@lang = requestlang();
+ if (.@lang >= 0 && .@lang <= MAX_LANG) Lang = .@lang;
+
+ showavatar 3;
+ if ($EVENT$ == "Steam") goto L_FiresOfSteam;
+
+ mesn "Narrator";
+ mesc l("You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.");
+ mesc l("(Click next button to advance dialogs)"), 3;
+ next;
+ mesc l("What in the world is happening?! Where in Jesusalva's name are you?!");
+ next;
+ if (getvaultid()) {
+ mesc l("Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.");
+ next;
+ }
+ mesc l("Actually. Who are you again? A headache which doesn't want to pass strikes you.");
+ mesc l("You can hear creaking planks and a sail flapping in the storm. A ship?");
+ mesc l("You hear shouting directed at you. Sailors from the ship?");
+ next;
+
+ showavatar NPC_ORC_MAN;
+ setcamnpc "Sailors", -64, -32;
+ mesn l("Orc Voice");
+ mesq lg("Hey kid! Can you hear me?");
+ next;
+
+ showavatar NPC_SILVIO;
+ setcamnpc "Sailors", 0, -32;
+ mesn l("Human Voice");
+ mesq lg("Hear you? How do you even know she can understand you?!", "Hear you? How do you even know he can understand you?!");
+ next;
+
+ showavatar NPC_TRITAN_MAN_SAILOR;
+ setcamnpc "Sailors", 144, -80;
+ mesn l("Tritan Voice");
+ mesq l("We speak various languages on this world. Let's try gesturing!");
+ mesq l("Hey, you on the dune! Can you hear us?!");
+ next;
+ restorecam;
+
+ asklanguage(LANG_ON_SEA);
+
+ showavatar NPC_SAILORS;
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq lg("Oh, she's still alive!", "Oh, he's still alive!");
+ next;
+ showavatar NPC_TRITAN_MAN_SAILOR;
+ setcamnpc "Sailors", 144, -80;
+ mesq lg("This girl needs help, we need to rescue her!", "This boy needs help, we need to rescue him!");
+ next;
+ mesn;
+ mesc l("This is a menu. You can click on the desired option and press \"Send\", and double-clicking should work, too.");
+ mes "";
+ select
+ l("I don't need to be rescued. I'm enjoying myself here."),
+ l("Thanks... I guess..."),
+ l("(Don't respond)");
+ mes "";
+
+ if (@menu == 1) {
+ mesn l("Sailor");
+ mesq l("What do you mean? Do you at least have a rowboat with you?!");
+ next;
+ mesn l("Billy Bons");
+ // Dying of thirst will set in waaaay sooner than dying of hunger.
+ mesq l("We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!");
+ next;
+ } else if (@menu == 2) {
+ mes ""; // You don't need to thank us!
+ } else {
+ mesn l("Sailor");
+ mesq lg("Oh noes! She fainted! Quick, rescue her!!", "Oh noes! He fainted! Quick, rescue him!!");
+ next;
+ }
+ restorecam;
+
+ showavatar;
+ mesn "Narrator";
+ mesc l("The sailors take you aboard their ship.");
+ mesc l("Click on the NPCs (Non-Player Characters) around you to continue the introduction.");
+ next;
+
+ addtimer(20000,"Elmo#sailors::OnSlow");
+ warp "000-0-0", 30, 36;
+
+ closedialog;
+ close;
+
+L_FiresOfSteam:
+ dispbottom l("Welcome to Moubootaur Legends: ##1Fires of Steam##0");
+ warp "000-0-1", 26, 28;
+ sleep2(25);
+ atcommand("@refresh");
+ asklanguage(LANG_ON_SEA);
+ clear;
+ mesn "Narrator";
+ mesc l("You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?");
+ next;
+ mesn "Narrator";
+ mesc l("Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.");
+ next;
+ mesn "Narrator";
+ mesc l("Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.");
+ next;
+ mesn "Narrator";
+ mesc l("They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.");
+ next;
+ mesn "Narrator";
+ mesc l("Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.");
+ next;
+ clear;
+ mesc l("Moubootaur Legends presents..."), 3;
+ mes "";
+ mesc b(l(" Fires of Steam ")), 1;
+ mesc l("- The Death of Andrei Sakar -"), 1;
+ mes "";
+ mesc l("An event to prepare for the Steam Release"), 2;
+ mes "";
+ next;
+ mes "";
+ mes "";
+ mesn strcharinfo(0);
+ mesq l("We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...");
+ next;
+ clear;
+ GameRules(8 | 4);
+ clear;
+ closeclientdialog;
+OnForceReset:
+ freeloop(true);
+ while (BaseLevel < 80)
+ getexp NextBaseExp, 100;
+ freeloop(false);
+ setq ShipQuests_Arpan, 5;
+ setq General_Narrator, 21;
+ consoleinfo "New account: %d (%s)", getcharid(3), getcharip();
+ if (array_find($@IPBLIST$, getcharip()) >= 0)
+ #TUTORIAL_DONE=true;
+ else
+ array_push($@IPBLIST$, getcharip());
+ if (!#TUTORIAL_DONE) {
+ .@acc=any(Mustache, Beard, HeartGlasses, Sunglasses, EyePatch, Shemagh, Monocle, Googles, BurglarMask, BanditMask, Shemagh);
+ .@ac2=any(OldTowel, SantaGlobe, RedStocking, LeatherBall, Doll, ZarkorScroll, ThetaBook, AshUrn, RubberDucky, DragonStar, BronzeQuiver, AstralCube, PlushMouboo, PlushMouboo, GraduationAlbum);
+ .@hat=any(TopHat, CaptainHat, SmileyCap, BowlerHat, DesertHat, PirateBandana, KnitHat, RightEyePatch, AntlersHat, BunnyEars, AxeHat, PaperBag, ShroomHat, AFKCap, BrimmedFeatherHat, CatEars, Earmuffs, CorsairHat, SailorHat, ChefHat, SkullMask, LeprechaunHat, PrsmHelmet, ImperialCrown, ClericCap);
+ .@ha2=any(DarkKnightHelmet, VikingHelmet, TerraniteMask, CenturionHelmet, ChemistHelmet, BullHelmet, DarkHelm, SamuraiHelmet, SamuraiHelmet);
+ .@che=any(RedknightArmor, AssassinChest, SaviorArmor, TerraniteArmor, GraduationRobe, GoldenWarlordPlate, RedknightArmor);
+ .@pan=any(JeansChaps, LeatherTrousers, AssassinPants, TerranitePants, BromenalPants, ChainmailSkirt, AssassinPants, ChainmailSkirt, AssassinPants);
+ .@sho=any(DeepBlackBoots, HeliosBoots, WizardMoccasins, WarlordBoots, TerraniteBoots, AssassinBoots, WitchBoots, RedStockings, DeepBlackBoots, DeepBlackBoots);
+ .@nec=any(BarbarianAmulet, GoldenFourLeafAmulet, PlatinumFourLeafAmulet, BarbarianMasterAmulet, MoubooPendant, LifestonePendant, AlvasusPendant, ToothNecklace);
+ .@rin=any(GoldenPearlRing, GoldenBlackPearlRing);
+ .@glo=any(WarlordGloves, AssassinGloves, TerraniteGloves, ManaGloves, SarabArmlet, LeatherGloves, MinerGloves);
+ .@shi=any(EnchantedHerbBag, RentCart, Barrel, MasterBola, PiouBola, AncientShield, BlueKnightShield, SteelShield, DragonShield, SnakeBola);
+ .@wpn=any(Setzer, Kitana, Lightsaber, BoneKnife, AncientSword, LongSword, RockKnife, DivineSword, CentaurSpear, Zambacutou, CursedScythe, Halberd, PynRifle, PynGatling, PynShotgun, PynRevolver, Dustynator, ChampionshipBow, BansheeBow, LeaderWand, ImmortalSword, MysticWand, ChampionshipBow, BansheeBow, LeaderWand, MysticWand);
+ .@bon=any(Pickaxe, Kanabo, ElficBow, Judgement, ThunderStaff, ReinbooWand, DarkPulsar, Skypiercer, IceGladius, RealBronzeGladius, PurpleBola, KidBola, SilkGloves, ClawPendant, Boots, LuffyxSummerShorts, UglyChristmasSweater, MinerTankTop, ContributorSweater, LinarianSoul, TuxSoul, DeliciousCookie, DarkEggshellHat, Wreath);
+ .@pet=any(PiouEgg, BhopEgg, MaggotCocoon, DoggyDog, CattyCat, BlackyCat, Ratte, ForestShroomEgg, FluffyEgg, DuckEgg, BatEgg, MoggunEgg, PinkieCrystal, DragonHorn, TamedSnakeEgg);
+ getitem .@acc, 1;
+ getitem .@ac2, 1;
+ getitem .@hat, 1;
+ getitem .@ha2, 1;
+ getitem .@che, 1;
+ getitem .@pan, 1;
+ getitem .@sho, 1;
+ getitem .@nec, 1;
+ getitem .@rin, 1;
+ getitem .@glo, 1;
+ getitem .@shi, 1;
+ getitem .@wpn, 1;
+ getitem .@bon, 1;
+ getitem .@pet, 1;
+ equip(.@acc);
+ equip(.@ac2);
+ equip(.@hat);
+ equip(.@ha2);
+ equip(.@che);
+ equip(.@pan);
+ equip(.@nec);
+ equip(.@rin);
+ equip(.@glo);
+ equip(.@shi);
+ equip(.@wpn);
+ Zeny+=rand2(10000, 60000);
+ }
+ adddefaultskills();
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(TMW2_TRANSMIGRATION);
+ sk_lvup(AM_REST);
+ sk_lvup(AM_RESURRECTHOMUN);
+ sk_lvup(AM_CALLHOMUN);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_ANCIENTLANGUAGES);
+ sk_lvup(TMW2_MANABOMB);
+ sk_lvup(TMW2_GROUNDSTRIKE);
+ sk_lvup(TMW2_NAPALMBEAT);
+ sk_lvup(TMW2_ARROWSHOWER);
+ sk_lvup(any(ALL_INCCARRY, TF_STEAL, MC_VENDING, MC_DISCOUNT, MC_OVERCHARGE));
+ sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION));
+ sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION));
+ sk_lvup(any(TMW2_KALMURK, TMW2_DRAGOKIN, TMW2_LIMERIZER, TMW2_HALHISS));
+ sk_lvup(any(TMW2_KALWULF, TMW2_FAIRYKINGDOM, TMW2_FROZENHEART, TMW2_STONEHEART));
+ sk_lvup(any(TMW2_KALBOO, TMW2_KALSPIKE, TMW2_CUTEHEART, TMW2_PLANTKINGDOM, TMW2_FAIRYEMPIRE));
+ sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE));
+ sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING));
+ sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING));
+ sk_lvup(any(TMW2_NILFHEIM, TMW2_JUDGMENT, TMW2_TEMPEST, TMW2_GAIABREAK, TMW2_ARMAGEDDON, TMW2_ALLINONE, TMW2_GROUNDSTRIKE, TMW2_ARROWSHOWER, SN_WINDWALK));
+ sk_lvup(any(TMW2_GDP_MAXPOWER, TMW2_GDP_SPREGEN));
+ getitembound GuildCoin, rand2(500), 4;
+ getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
+ getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
+ getitembound any(SacredBullet, EvilBullet), 400, 4;
+ getitembound any(ThornArrow, PoisonArrow, CursedArrow), 400, 4;
+ getitembound DeathPenalty, rand2(18), 4;
+ getitembound ScentGrenade, rand2(4), 4;
+ getitembound InsuranceContract, 1, 4;
+ getitembound Wurtzite, 6, 4;
+ getitembound MercCard_AndreiSakar, 1, 4;
+ getitembound RecipeBook, 1, 1;
+ getitembound Bread, 10, 4;
+ percentheal 100,100;
+ LOCATION$ = "Artis";
+ TUT_VAR=gettimetick(2);
+ #TUTORIAL_DONE=true;
+ #REG_DATE=gettimetick(2);
+ TUTORIAL=true;
+ CRAFTQUEST=true;
+ MPQUEST=true;
+ MAGIC_LVL=7;
+ savepoint "029-0", 202, 85;
+ if (!@forcereset)
+ warp "029-0", 202, 85;
+ close;
+
+OnForceReset2:
+ logmes(sprintf("%s - Reset Forced by System Admin", getcharid(3)));
+ #TUTORIAL_DONE=false;
+ @forcereset=true;
+ goto OnForceReset;
+
+OnInit:
+ .sex = G_MALE;
+ bindatcmd "sakarfr", "Sailors::OnForceReset2", 100, 99, 1;
+ end;
+}