diff options
Diffstat (limited to 'npc/013-2')
-rw-r--r-- | npc/013-2/_import.txt | 7 | ||||
-rw-r--r-- | npc/013-2/_warps.txt | 5 | ||||
-rwxr-xr-x | npc/013-2/apprentice.txt | 98 | ||||
-rwxr-xr-x | npc/013-2/mapflags.txt | 1 | ||||
-rwxr-xr-x | npc/013-2/notes.txt | 205 | ||||
-rwxr-xr-x | npc/013-2/wizard.txt | 142 |
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; +} |