summaryrefslogtreecommitdiff
path: root/npc/013-2
diff options
context:
space:
mode:
Diffstat (limited to 'npc/013-2')
-rw-r--r--npc/013-2/_import.txt7
-rw-r--r--npc/013-2/_warps.txt5
-rwxr-xr-xnpc/013-2/apprentice.txt98
-rwxr-xr-xnpc/013-2/mapflags.txt1
-rwxr-xr-xnpc/013-2/notes.txt205
-rwxr-xr-xnpc/013-2/wizard.txt142
6 files changed, 458 insertions, 0 deletions
diff --git a/npc/013-2/_import.txt b/npc/013-2/_import.txt
new file mode 100644
index 00000000..63b87c91
--- /dev/null
+++ b/npc/013-2/_import.txt
@@ -0,0 +1,7 @@
+// Map 013-2: Magic House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/013-2/_warps.txt",
+"npc/013-2/apprentice.txt",
+"npc/013-2/mapflags.txt",
+"npc/013-2/notes.txt",
+"npc/013-2/wizard.txt",
diff --git a/npc/013-2/_warps.txt b/npc/013-2/_warps.txt
new file mode 100644
index 00000000..c649c3b5
--- /dev/null
+++ b/npc/013-2/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 013-2: Magic House warps
+013-2,63,42,0 warp #013-2_63_42 0,0,013-1,42,91
+013-2,67,36,0 warp #013-2_67_36 0,0,013-2,21,40
+013-2,21,41,0 warp #013-2_21_41 0,0,013-2,67,37
diff --git a/npc/013-2/apprentice.txt b/npc/013-2/apprentice.txt
new file mode 100755
index 00000000..9c17e99c
--- /dev/null
+++ b/npc/013-2/apprentice.txt
@@ -0,0 +1,98 @@
+013-2,25,37,0 script Fabius NPC115,{
+ mes "[Fabius]";
+ mes "\"Hey! Wanna have a drink or something? High quality, low cost. A poor fella like me needs a bit of extra cash, ye know.\"";
+ next;
+ menu
+ "Yes please!", L_Yes,
+ "No thanks.", L_No,
+ "No way, I thought it was for free!", L_Not_Free;
+
+L_Yes:
+ mes "[Fabius]";
+ mes "\"So what would ya like, then?\"";
+ next;
+ menu
+ "A beer", L_Beer,
+ "A milk", L_Milk,
+ "Nevermind", L_No;
+
+L_No:
+ mes "[Fabius]";
+ mes "\"Suit yourself.\"";
+ next;
+ goto L_Finish;
+
+L_Not_Free:
+ mes "[Fabius]";
+ mes "\"Oh, you stupid git! ... But hey, let me tell ya something...\"";
+ next;
+ mes "[Fabius]";
+ mes "\"There's notes flying around in the room up there. Did ya try reading some?\"";
+ close;
+
+L_Beer:
+ mes "[Fabius]";
+ mes "\"That'll be 175 GP.\"";
+ next;
+ menu
+ "Here you are", L_Beer_yes,
+ "No thanks", L_Beer_no;
+
+L_Beer_yes:
+ if (Zeny < 175)
+ goto L_Low_money;
+ getinventorylist;
+ if (@inventorylist_count == 100
+ && countitem("Beer") == 0)
+ goto L_TooMany;
+ getitem "Beer", 1;
+ Zeny = Zeny - 175;
+ goto L_Finish;
+
+L_Beer_no:
+ mes "[Fabius]";
+ mes "\"No beer, no civilization!\"";
+ next;
+ goto L_Finish;
+
+L_Milk:
+ mes "[Fabius]";
+ mes "\"That'll be 300 GP.\"";
+ next;
+ menu
+ "Here you are", L_Milk_yes,
+ "No thanks", L_Milk_no;
+
+L_Milk_yes:
+ if (Zeny < 300)
+ goto L_Low_money;
+ getinventorylist;
+ if (@inventorylist_count == 100
+ && countitem("Milk") == 0)
+ goto L_TooMany;
+ getitem "Milk", 1;
+ Zeny = Zeny - 300;
+ goto L_Finish;
+
+L_Milk_no:
+ mes "[Fabius]";
+ mes "\"Oh alright. Milk is a deadly poison anyway...\"";
+ next;
+ goto L_Finish;
+
+L_Low_money:
+ mes "[Fabius]";
+ mes "\"Aw, you don't have enough gold on you!\"";
+ next;
+ goto L_Finish;
+
+L_Finish:
+ mes "[Fabius]";
+ mes "\"By the way, have you seen those flying notes and the mirror in the room next door? They're WAY COOL! Try reading some of the notes!\"";
+ close;
+
+L_TooMany:
+ mes "[Fabius]";
+ mes "\"You don't have room for it.\"";
+ close;
+}
diff --git a/npc/013-2/mapflags.txt b/npc/013-2/mapflags.txt
new file mode 100755
index 00000000..42e54a1e
--- /dev/null
+++ b/npc/013-2/mapflags.txt
@@ -0,0 +1 @@
+//013-2 mapflag resave 013-1,126,99
diff --git a/npc/013-2/notes.txt b/npc/013-2/notes.txt
new file mode 100755
index 00000000..3a5bb9a6
--- /dev/null
+++ b/npc/013-2/notes.txt
@@ -0,0 +1,205 @@
+
+013-2,23,32,0 script Motto#wiz NPC400,{
+ mes "Mid pleasures and palaces though we may roam,";
+ mes "Be it ever so humble, there's no place like home.";
+ close;
+}
+
+013-2,30,32,0 script Note#wiz NPC400,{
+ mes "Please do not open.";
+ close;
+}
+
+013-2,38,20,0 script Saying#wiz NPC400,{
+ mes "The early bird catcheth the worm.";
+ close;
+}
+
+013-2,27,21,0 script Mirror#wiz NPC400,{
+ mes "You say: \"Mirror mirror on the wall, who has the nicest haircut of them all?\"";
+ next;
+ mes "\"Oh fair adventurer, your hair indeed looks nice. But wouldn't it look much better, after I have rolled my dice?\"";
+ next;
+ mes "Your looks suddenly change...";
+ next;
+ @fixedMirror = 1;
+ callfunc "useMirror";
+ close;
+}
+
+013-2,25,23,0 script Spell#wiz1 NPC400,{
+ mes "You read: \"I see trees of green, red roses too. I see them bloom for me and you. And I think to myself: \'What a wonderful world\'\"";
+ next;
+ mes "You think: \"Huh?\"";
+ next;
+ mes "The spell fulfills its inevitable purpose...";
+ next;
+ @dest = rand(BaseLevel);
+ if (@dest < 10)
+ goto L_PlaceOne;
+ if ((@dest >= 10) && (@dest <= 50))
+ goto L_PlaceTwo;
+ goto L_PlaceThree;
+
+L_PlaceOne:
+ warp "013-1",128,28;
+ goto L_close;
+
+L_PlaceTwo:
+ warp "016-1",62,89;
+ goto L_close;
+
+L_PlaceThree:
+ warp "014-1",33,35;
+ goto L_close;
+
+L_close:
+ @dest = 0;
+ close;
+}
+
+013-2,27,24,0 script Spell#wiz2 NPC400,{
+ mes "You read: \"You must not fear, for it is the mind-killer. That and sharp pointy things.\"";
+ next;
+ mes "You feel the floor disappear below your feet...";
+ next;
+ if (QUEST_MIRIAM_start != 0)
+ goto L_Cheat;
+ goto L_Warp;
+
+L_Cheat:
+ QUEST_MIRIAM_cheat = 1;
+ QUEST_MIRIAM_run = gettimetick(2) - QUEST_MIRIAM_start;
+ QUEST_MIRIAM_start = 0;
+ message strcharinfo(0), "You were supposed to actually run to this place. You are not sure if this is going to work for Miriam...";
+ goto L_Warp;
+
+L_Warp:
+ @dest = rand(BaseLevel);
+ if (@dest < 10)
+ goto L_PlaceOne;
+ if ((@dest >= 10) && (@dest <= 50))
+ goto L_PlaceTwo;
+ goto L_PlaceThree;
+
+L_PlaceOne:
+ warp "006-1",83,60;
+ goto L_close;
+
+L_PlaceTwo:
+ warp "006-1",77,22;
+ goto L_close;
+
+L_PlaceThree:
+ warp "006-1",33,93;
+ goto L_close;
+
+L_close:
+ @dest = 0;
+ close;
+}
+
+013-2,25,27,0 script Spell#wiz3 NPC400,{
+ mes "You read: \"Snow-white flakes and eminent frost - I'll go there, whatever the cost!\"";
+ next;
+ mes "You feel yourself getting lighter...";
+ next;
+ @dest = rand(BaseLevel);
+ if (@dest < 10)
+ goto L_FriendlyPlace;
+ if ((@dest >= 10) && (@dest <= 50))
+ goto L_DeepCave;
+ goto L_Cave;
+
+L_FriendlyPlace:
+ warp "019-3",102,77;
+ goto L_close;
+
+L_DeepCave:
+ warp "031-3",135,163;
+ goto L_close;
+
+L_Cave:
+ warp "031-3",37,213;
+ goto L_close;
+
+L_close:
+ @dest = 0;
+ close;
+}
+
+013-2,27,27,0 script Spell#wiz4 NPC400,{
+ mes "You read: \"People and cosiness, lively and fun - that's where I've gone!\"";
+ next;
+ mes "The world around you slowly dissolves...";
+ next;
+ @dest = rand(BaseLevel);
+ if (@dest < 10)
+ goto L_PlaceOne;
+ if ((@dest >= 10) && (@dest <= 50))
+ goto L_PlaceTwo;
+ goto L_PlaceThree;
+
+L_PlaceOne:
+ warp "030-2",88,24;
+ goto L_close;
+
+L_PlaceTwo:
+ warp "001-2",30,29;
+ goto L_close;
+
+L_PlaceThree:
+ warp "010-2",34,42;
+ goto L_close;
+
+L_close:
+ @dest = 0;
+ close;
+}
+
+013-2,26,28,0 script Spell#wiz5 NPC400,{
+ mes "You read: \"Darkness and legs, eight of them each - I'd rather not go there, but now it's too late...\"";
+ next;
+ mes "For a moment everything turns black...";
+ next;
+ @dest = rand(BaseLevel);
+ if (@dest < 10)
+ goto L_PlaceOne;
+ if ((@dest >= 10) && (@dest <= 50))
+ goto L_PlaceTwo;
+ goto L_PlaceThree;
+
+L_PlaceOne:
+ warp "012-4",431,36;
+ goto L_close;
+
+L_PlaceTwo:
+ warp "013-3",134,54;
+ goto L_close;
+
+L_PlaceThree:
+ warp "013-3",178,67;
+ goto L_close;
+
+L_close:
+ @dest = 0;
+ close;
+}
+
+013-2,21,29,0 script Spell#wiz6 NPC400,{
+ mes "You read: \"Heart stops pumping, breath begone - life is stopping, death has come!\"";
+ next;
+ mes "You're losing control of your body... everything turns black... while slipping to the floor, you hear a faraway scream... suddenly, you see THE LIGHT!";
+ next;
+ heal -Hp, 0;
+ close;
+}
+
+013-2,28,29,0 script Spell#wiz7 NPC400,{
+ mes "You read: \"Cotton, steel, leather and wool - have I ever seen a greater fool?\"";
+ next;
+ mes "You suddenly feel naked; you ARE naked!";
+ next;
+ nude;
+ close;
+}
diff --git a/npc/013-2/wizard.txt b/npc/013-2/wizard.txt
new file mode 100755
index 00000000..45d1c2e8
--- /dev/null
+++ b/npc/013-2/wizard.txt
@@ -0,0 +1,142 @@
+013-2,66,39,0 script Old Wizard#_W NPC116,{
+ @has_magic = getskilllv(SKILL_MAGIC);
+ MAGIC_FLAGS = MAGIC_FLAGS | MFLAG_KNOWS_OLD_WIZARD;
+
+ @run = ((QUEST_NorthTulimshar & TWOBIT_8_MASK) >> TWOBIT_8_SHIFT);
+ if ((@run == 2) && (QL_KYLIAN == 13))
+ goto L_Deliver;
+ goto L_Start;
+
+L_Deliver:
+ menu
+ "I have a delivery for you", L_Delivery;
+
+L_Delivery:
+ mes "[Old Wizard]";
+ mes "\"Good now I can get to work on some stronger brew..\"";
+ QL_KYLIAN = 14;
+ goto L_close;
+
+L_Start:
+ mes "[Old Wizard]";
+ mes "\"Welcome, dear wanderer! Come into my humble home. Take a rest, eat and drink.\"";
+ next;
+ menu
+ "Thanks, that's very kind of you!", L_Thanks,
+ "Can you teach me magic?", L_TeachRude,
+ "Oh, shut up!", L_ShutUp;
+
+L_TeachRude:
+ mes "[Old Wizard]";
+ mes "\"I certainly could, but I already have an apprentice.\"";
+ goto L_close;
+
+L_ShutUp:
+ mes "[Old Wizard]";
+ mes "\"That attitude isn't going to get you very far, my dear.\"";
+ goto L_close;
+
+L_Thanks:
+ mes "[Old Wizard]";
+ mes "\"Behind this door, my apprentice will serve you.\"";
+ next;
+ if (@has_magic)
+ menu
+ "Alright.", L_Agree,
+ "I am studying magic, can you help?", L_NewStudent,
+ "Your apprentice? ... No thanks.", L_Decline;
+ menu
+ "Alright.", L_Agree,
+ "Your apprentice? ... No thanks.", L_Decline;
+
+L_Decline:
+ mes "[Old Wizard]";
+ mes "\"Goodbye, then!\"";
+ goto L_close;
+
+L_NewStudent:
+ mes "[Old Wizard]";
+ mes "\"Studying is always an excellent use of one's mind! I fear that I can't offer too much assistance to you, however. But if you are interested, I could perhaps teach you a simple spell?\"";
+ next;
+
+ // check if the player has the knowledge of any skill
+ if (getskilllv(SKILL_POOL) && (getskilllv(SKILL_MAGIC_ASTRAL) < 1) || (getskilllv(SKILL_ASTRAL_SOUL) == 0))
+ menu
+ "That would be very kind of you!", L_TeachSpell,
+ "Actually I am looking for someone teaching me some more magic skills.", L_AstralSoul,
+ "No, but thank you!", L_Decline;
+ menu
+ "That would be very kind of you!", L_TeachSpell,
+ "No, but thank you!", L_Decline;
+
+L_TeachSpell:
+ mes "[Old Wizard]";
+ mes "\"This one may not seem too powerful, but it can be quite handy; it's the 'hide' spell. It will shield you from some forms of detection magic.\"";
+ next;
+ mes "[Old Wizard]";
+ mes "\"Put a piece of cotton cloth on your head, and speak out '" + get(.invocation$, "spell-hide") + "', loudly and clearly. The protection lasts quite long, but you may have to renew it on occasion.\"";
+ next;
+ mes "[Old Wizard]";
+ mes "\"You can also cast it on others, of course. Just speak their name after you pronounce the invocation.\"";
+ next;
+ mes "[Old Wizard]";
+ mes "\"You may find it useful for getting a little peace and quiet at times, but it can also get in the way of friends trying to find you, so use it with care.\"";
+ next;
+ if (getskilllv(SKILL_MAGIC_ASTRAL) >= 2)
+ goto L_close;
+ mes "[Old Wizard]";
+ mes "\"I'm not sure if you are experienced enough to cast it yet, though. You may need to first learn astral magic.\"";
+ goto L_close;
+
+L_AstralSoul:
+ mes "[Old Wizard]";
+ mes "\"Oh yes, there are lots of ways to improve your magic. Skills -some people say mental focus for that- are another way to improve your magic. Of course learning more and more spells is also a need for good mages.\"";
+ next;
+ mes "\"I can teach you the ability to focus on magical stuff.\"";
+ next;
+ mes "\"To do so, I am in need of a pearl and about 100 acorns.\"";
+ menu
+ "Here we go.", L_Next,
+ "Ok be right back. I'll get them", L_Decline;
+
+L_Next:
+ if (countitem("Pearl") < 1 || countitem("Acorn") < 100) goto L_NotEnough;
+ delitem "Pearl", 1;
+ delitem "Acorn", 100;
+ mes "[Old Wizard]";
+ mes "\"Okay, listen:\"";
+ next;
+ mes "\"Some parts of your brain is still unused. These parts will now get the ability to get focused to magic.\"";
+ next;
+ mes "\"To do so, think of a magic spell!\"";
+ next;
+ mes "The old wizard mumbles some invocations";
+ next;
+ @SUP_lvl = 1;
+ @SUP_id = SKILL_ASTRAL_SOUL;
+ @SUP_name$ = "Astral Soul";
+ @SUP_xp = 2500;
+ callfunc "SkillUp";
+ mes "\"Now go and try to find someone who can actually activate that focus.\"";
+ next;
+ mes "\"You have the powers to focus on magic, but you need to get magic focused now.\"";
+ goto L_close;
+
+L_NotEnough:
+ mes "[Old Wizard]";
+ mes "\"Please learn to count.\"";
+ next;
+ mes "\"When you are done with that, come back again.\"";
+ goto L_close;
+
+L_Agree:
+ mes "[Old Wizard]";
+ mes "\"Beware the flying notes though, some of them are really dangerous. I haven't been able to persuade them to get back into their book. And avoid the mirror, it's been acting strange lately.\"";
+ next;
+ mes "\"Oh, and please don't take my apprentice too seriously. He still has a lot to learn.\"";
+ goto L_close;
+
+L_close:
+ @has_magic = 0;
+ close;
+}