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/027-0 | |
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/027-0')
-rw-r--r-- | npc/027-0/_import.txt | 5 | ||||
-rw-r--r-- | npc/027-0/_warps.txt | 3 | ||||
-rw-r--r-- | npc/027-0/emma.txt | 121 | ||||
-rw-r--r-- | npc/027-0/enrique.txt | 181 |
4 files changed, 310 insertions, 0 deletions
diff --git a/npc/027-0/_import.txt b/npc/027-0/_import.txt new file mode 100644 index 0000000..3a8099a --- /dev/null +++ b/npc/027-0/_import.txt @@ -0,0 +1,5 @@ +// Map 027-0: Administration Building +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/027-0/_warps.txt", +"npc/027-0/emma.txt", +"npc/027-0/enrique.txt", diff --git a/npc/027-0/_warps.txt b/npc/027-0/_warps.txt new file mode 100644 index 0000000..aafd47b --- /dev/null +++ b/npc/027-0/_warps.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 027-0: Administration Building warps +027-0,65,36,0 warp #027-0_65_36 2,0,027-1,90,40 diff --git a/npc/027-0/emma.txt b/npc/027-0/emma.txt new file mode 100644 index 0000000..a44aa57 --- /dev/null +++ b/npc/027-0/emma.txt @@ -0,0 +1,121 @@ +// TMW2 Script +// Author: +// Jesusalva +// Description: +// Emma is Enrique's wife + +027-0,88,26,2 script Emma NPC_DARK_SORCERER_F,{ + mesn; + mesq l("Hello. I am Emma, Enrique's wife."); + mesc l("Your current scholar rank: %s (%s Research Points)", + academicrank(), fnum(MAGIC_RP)); + if (!MAGIC_LVL) + close; + next; + mesn; + mesq l("I'm currently doing tutorship for students who are... falling behind %%p"); + next; + mesn; + mesq l("Do you need the extra credit?"); + mesc l("Tutorship will give you Research Points."), 1; + mesc l("You should not leave this room."), 1; + mesc l("Tutorship is NOT the most effective way."), 1; + next; + mesq l("Do you need the extra credit?"); + mesc l("Cost: %d GP/min", .cost); + mesc l("Gain: %d RP/min", .gain); + if (@emmapro) + mesc l("Warning: If you are taking an advanced class, it will canceled."), 1; + menuint + l("I'm fine, thanks"), 0, + l("5 minutes"), 5, + l("10 minutes"), 10, + l("15 minutes"), 15, + l("30 minutes"), 30, + l("1 hour"), 60, + l("2 hours"), 120, + rif(abizit() == 5 && MAGIC_LVL > 3, l("Show me something more advanced!")), -1; + mes ""; + if (@menuret < 0) { + goto L_Advanced; + } + if (!@menuret) { + mesn; + mesq l("Then I hope you can keep your grades high, hmm hmm!"); + close; + } + if (Zeny < .cost*@menuret) { + mesn; + mesq l("Ara ara? You do not have enough money with you!"); + close; + } + Zeny-=.cost*@menuret; + addtimer2(60000, .name$+"::OnTick"); + @emmatick=max(@emmatick, gettimetick(2)) + @menuret*60; + @emmapro=false; + mesn; + mesq l("Hmm hmm! Then, let's begin."); + mesc l("Note: You can increase the time by talking to Emma again."); + close; + +L_Advanced: + mesn; + mesq l("I actually have a special class for those with perfect magical control like you."); + next; + mesq l("Do you need the extra credit?"); + mesc l("Cost: %d GP/min", .cost*15); + mesc l("Gain: %d RP/min", .gain*10); + menuint + l("I've changed my mind."), 0, + l("5 minutes"), 5, + l("10 minutes"), 10, + l("15 minutes"), 15, + l("30 minutes"), 30, + l("1 hour"), 60, + l("2 hours"), 120; + mes ""; + if (!@menuret) { + mesn; + mesq l("Then I hope you can keep your grades high, hmm hmm!"); + close; + } + if (Zeny < .cost*@menuret*15) { + mesn; + mesq l("Ara ara? You do not have enough money with you!"); + close; + } + Zeny-=.cost*@menuret*15; + addtimer2(60000, .name$+"::OnTick"); + if (!@emmapro) + @emmatick=0; + @emmatick=max(@emmatick, gettimetick(2)) + @menuret*60; + @emmapro=true; + mesn; + mesq l("Hmm hmm! Then, let's begin."); + close; + +OnTick: + // Time out + if (@emmatick < gettimetick(2)) { + npctalk3 l("Enough for now. Let's rest, shall we?"); + @emmapro = 0; + end; + } + // Changed maps + if (getmap() != "027-0") + end; + + .@up=.gain*(@emmapro ? 10 : 1); + MAGIC_RP+=.@up; + dispbottom l("Research Points +%d", .@up); + addtimer2(60000, .name$+"::OnTick"); + end; + +OnInit: + .distance = 4; + .sex = G_FEMALE; + .cost = 4500; + .gain = 15; + end; +} + diff --git a/npc/027-0/enrique.txt b/npc/027-0/enrique.txt new file mode 100644 index 0000000..11bacac --- /dev/null +++ b/npc/027-0/enrique.txt @@ -0,0 +1,181 @@ +// TMW2 Script +// Author: +// Jesusalva +// Description: +// Enrique is the headmaster of the Academy + +027-0,46,25,0 script Enrique NPC_BLACKALCHEMIST,{ + mesn; + mesq l("Hello. I am Enrique, headmaster of The Academy."); + mesc l("Your current scholar rank: %s (%s Research Points)", + academicrank(), fnum(MAGIC_RP)); + if (!MAGIC_LVL) + close; + do + { + next; + select + l("Thanks!"), + l("What is the Academy?"), + l("What are Magic Skill Points?"), + l("What are Research Points"), + l("What is the Scholar Rank?"), + l("Who are the most famous scholars?"), + rif(!ACADEMIC_RANK, l("I would like to enroll!")), + l("What counts for titulation? Could you give me examples?"), + rif(getskilllv(TMW2_STUDY) < ACADEMIC_RANK, l("I would like to learn a new skill!")); + mes ""; + switch (@menu) { + case 1: + goodbye(); + break; + case 2: + mesn; + mesq l("The Academy Island is situated east of Land of Fire Village."); + next; + mesn; + mesq l("It was built by The Alliance, and can be accessed by a ship in Tulimshar."); + next; + mesn; + mesq l("As you may be aware, the Magic Council is in Tulim, after all."); + next; + mesn; + mesq l("Here you can find professors, academics and researchers. Feel free to enroll in any class as well."); + break; + case 3: + mesn; + mesq l("Simply put, they are raw power."); + next; + mesn; + mesq l("There is only so much magical power your body can handle without breaking."); + next; + mesn; + mesq l("By \"breaking\", I do not mean death. It is something worse."); + next; + mesn; + mesq l("How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend."); + next; + mesn; + mesq l("It also increases naturally as you grow, albeit less."); + next; + mesn; + mesq l("Keep in mind, we at the Academy do not have a Mana Stone."); + break; + case 4: + mesn; + mesq l("Ah, research points (RP). They are knowledge which can be used in honing your skills."); + next; + mesn; + mesq l("You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use."); + next; + mesn; + mesq l("But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent."); + next; + mesn; + mesq l("As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar."); + break; + case 5: + mesn; + mesq l("Those with most %s on this world becomes scholars.", "[@@https://wiki.moubootaurlegends.org/|"+l("research")+"@@]"); + next; + mesn; + mesq l("Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy."); + next; + mesn; + mesq l("If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well."); + next; + mesn; + mesq l("Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning."); + break; + case 6: + HallOfAcademic(); + break; + case 7: + mesn; + mesq l("That is not how things are done here."); + next; + mesn; + mesq l("First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.", "[@@https://wiki.moubootaurlegends.org/|"+l("Wiki article")+"@@]"); + next; + mesn; + mesq l("Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank."); + next; + mesn; + mesq l("Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that."); + next; + mesn; + mesq l("For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.", b("@titulate")); + next; + mesn; + mesq l("Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles."); + next; + mesn; + mesq l("Abuse can be determined by your peers or by the grandmasters, so be careful."); + next; + mesn; + mesq l("Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title."); + break; + case 8: + mesn; + mesq l("Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change."); + next; + mesn; + mesq l("For example, translations do not count. Wiki articles count."); + next; + mesn; + mesq l("Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well."); + next; + mesn; + mesq l("But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars."); + break; + case 9: + mesn; + mesq l("The study skill allows you to see the exact health a monster have, as well some details."); + next; + mesn; + mesq l("And if you study them well, you'll also gain more Research Points than you would get with other skills."); + next; + mesn; + mesq l("Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still."); + next; + mesn; + mesc l("%s takes a paper from his drawer. It has your photo on it.", .name$); + next; + mesn; + mesq l("%s, %s in Magic Arts, Parity Level %d, tier %d mage.", strcharinfo(0), academicrank(), REBIRTH*100+BaseLevel, MAGIC_LVL); + next; + if (MAGIC_LVL < (1+getskilllv(TMW2_STUDY))) { + mesn; + mesq l("The skill would be wasted on a noob mage like you. Go get more magic power first!"); + break; + } + if (REBIRTH*100+BaseLevel < (1+getskilllv(TMW2_STUDY))*50) { + mesn; + mesq l("The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here."); + break; + } + // TODO: Need X skills learnt or 1M GP. + .@price = (1+getskilllv(TMW2_STUDY)) * 1000; + mesn; + mesq l("Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.", fnum(.@price)); + if (Zeny < .@price) + break; + next; + mesc l("Pay the tuition fee?"), 1; + if (askyesno() == ASK_YES) { + Zeny-=.@price; + skill TMW2_STUDY, getskilllv(TMW2_STUDY)+1, 0; + mesn; + mesq l("Use its powers for good!"); + } + break; + } + } while (@menu != 1); + close; + +OnInit: + .distance = 4; + .sex = G_MALE; + end; +} + |