diff options
author | Fate <fate-tmw@googlemail.com> | 2009-01-11 14:24:01 -0700 |
---|---|---|
committer | Fate <fate-tmw@googlemail.com> | 2009-01-11 14:24:01 -0700 |
commit | 23518b19a828eb36e56c0cb0cd4a8f8778934ad6 (patch) | |
tree | 4377b121fb966b602e610548dbdbb15cd9f3358c | |
parent | 54238fbc5acca341449cd0b73b12e3b257a6d2cb (diff) | |
download | serverdata-23518b19a828eb36e56c0cb0cd4a8f8778934ad6.tar.gz serverdata-23518b19a828eb36e56c0cb0cd4a8f8778934ad6.tar.bz2 serverdata-23518b19a828eb36e56c0cb0cd4a8f8778934ad6.tar.xz serverdata-23518b19a828eb36e56c0cb0cd4a8f8778934ad6.zip |
Fixed a number of remaining bugs
-rw-r--r-- | conf/magic.conf.template | 7 | ||||
-rw-r--r-- | npc/001-1_Tulimshar/elanore.txt | 7 | ||||
-rw-r--r-- | npc/005-1_Snake_desert/spirit.txt | 10 | ||||
-rw-r--r-- | npc/009-2_Hurnscald/misc.txt | 1 | ||||
-rw-r--r-- | npc/009-2_Hurnscald/wyara.txt | 33 | ||||
-rw-r--r-- | npc/009-3_Cave_beneath_Hurnscald/sword.txt | 12 | ||||
-rw-r--r-- | npc/011-1_Woodland/alchemist.txt | 5 | ||||
-rw-r--r-- | npc/011-1_Woodland/auldsbel.txt | 6 | ||||
-rw-r--r-- | npc/013-1_Woodland_hills/sagatha.txt | 8 | ||||
-rw-r--r-- | npc/013-2_Magic_house/wizard.txt | 1 | ||||
-rw-r--r-- | npc/015-1_Woodland/sword.txt | 34 |
11 files changed, 70 insertions, 54 deletions
diff --git a/conf/magic.conf.template b/conf/magic.conf.template index 66e44cfa..a03e78ac 100644 --- a/conf/magic.conf.template +++ b/conf/magic.conf.template @@ -728,6 +728,9 @@ SPELL hide (target : PC) : "#A13" = THEN CALL default_effect(); status_change(target, SC_HIDE, 0, 0, 0, 0, 5000 + (spellpower * 2500)); CALL gain_xp(2); + message(target, "You are hidden!"); + message(caster, "You hid someone!"); + ATEND message(target, "It's over!"); #-------------------------------------------------------------------------------- # Level 2 spells @@ -808,7 +811,7 @@ SPELL teleport (destination : STRING) : "#A40" = REQUIRE skill(caster, MAGIC) > level, REQUIRE skill(caster, school) > level) => EFFECT CALL default_effect(); - WAIT (100000 / (spellpower + 10)); + WAIT 1000 + (200000 / (spellpower + 10)); sfx(location(caster), SFX_TELEPORT, 1); warp(caster, random_location(anchor(destination))); sfx(location(caster), SFX_TELEPORT, 100); @@ -858,7 +861,7 @@ PROCEDURE debug_xmod(name, mask, shift, gain) = PROCEDURE debug_mod(name, delta) = IF (name = "mexp") THEN CALL debug_xmod("MAGIC_EXPERIENCE", 0xffff, 0, delta); ELSE IF (name = "lastspell") THEN CALL debug_xmod("MAGIC_EXPERIENCE", 0xff, 16, delta); - ELSE IF (name = "lifeexp") THEN CALL debug_xmod("MAGIC_EXPERIENCE", 0xff, 24, delta); + ELSE IF (name = "healexp") THEN CALL debug_xmod("MAGIC_EXPERIENCE", 0xff, 24, delta); ELSE IF (name = "drank") THEN CALL debug_xmod("MAGIC_FLAGS", 0x1, 0, delta); ELSE IF (name = "Kmseed") THEN CALL debug_xmod("MAGIC_FLAGS", 0x1, 1, delta); ELSE IF (name = "touched-mseed") THEN CALL debug_xmod("MAGIC_FLAGS", 0x1, 2, delta); diff --git a/npc/001-1_Tulimshar/elanore.txt b/npc/001-1_Tulimshar/elanore.txt index 729a41bf..bd601104 100644 --- a/npc/001-1_Tulimshar/elanore.txt +++ b/npc/001-1_Tulimshar/elanore.txt @@ -209,7 +209,7 @@ L_Lifestones_MakeSelf: if (@has_magic >= 2) mes "\"Oh, but of course! You are powerful enough to make your own lifestones, using the enchantment '" + getspellinvocation("enchant-lifestone") + "'. This will consume a bug leg or a maggot slime or one of each of the four healing herbs, though.\""; if (@has_magic < 2) - mes "\"No, you are not powerful enough yet. Please come back and ask me again when you have learned to control more powerful magic, though!.\""; + mes "\"No, you are not powerful enough yet. Please come back and ask me again when you have learned to control more powerful magic, though!\""; next; close; @@ -305,7 +305,7 @@ L_Teach_AdvanceTo2_skip: callsub S_update_var; getexp 5000, 0; if (getskilllv(SKILL_MAGIC_LIFE) < 2) - skill SKILL_MAGIC_LIFE, 2; + setskill SKILL_MAGIC_LIFE, 2; close; L_Teach_CheckAdvanceTo2_fail: @@ -335,11 +335,10 @@ L_Teach_CheckAdvanceToLOH: mes "[Elanore the Healer]"; mes "\"This will let your own life force flow into the person you are healing. If you are badly injured yourself, you will not be able to do this.\""; mes "[1000 experience points]"; - next; - getexp 1000, 0; set @Q_status, @STATUS_LEARNED_LAY_ON_HANDS; callsub S_update_var; + next; close; L_Teach_LOH_advance_abort0: diff --git a/npc/005-1_Snake_desert/spirit.txt b/npc/005-1_Snake_desert/spirit.txt index f51b242c..5ef46cbc 100644 --- a/npc/005-1_Snake_desert/spirit.txt +++ b/npc/005-1_Snake_desert/spirit.txt @@ -48,7 +48,7 @@ L_message: "Whatever it is, I'm not interested.", L_close; mes "[Earth Spirit]"; - mes "\"I'm a forest spirit; my name isn't important... all that matters is that I like you, and that I will help you become a powerful wizard if you help me. A fair deal, if you will...\""; + mes "\"I'm an earth spirit; my name isn't important... all that matters is that I like you, and that I will help you become a powerful wizard if you help me. Just a fair deal, no more than that...\""; next; set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_KNOWS_IMP; @@ -116,7 +116,7 @@ L_Q_magic: next; mes "[Earth Spirit]"; - mes "\"Besides, think of it like that: if you want to bake a cake, you've got to break a few eggs. Not everything's sweetness in life, my " + @s$ + "!.\""; + mes "\"Who knows if he can even feel anything anymore? I'm sure he can't, being wooden and all. Besides, it's only a measly tree. Not like I'm asking you to cut him down!.\""; next; menu @@ -134,10 +134,10 @@ L_Q_tree_ok: L_Q_magic_1: mes "[Earth Spirit]"; - mes "\"Yes, yes, if you brought me the branch and the money, then I will!\""; + mes "\"Yes, yes, if you bring me the branch and the money, then I will!\""; next; menu - "Here is the branch and the money.", -, + "Here are the branch and the money.", -, "How much money did you want again?", L_Q_tree_howmuch, "How can I cut it?", L_Q_tree_how, "Where was the tree again?", L_Q_tree_where, @@ -165,7 +165,7 @@ L_Q_magic_1: mes "[Level 2 in Nature Magic]"; getexp 5000, 0; if (getskilllv(SKILL_MAGIC_NATURE) < 2) - skill SKILL_MAGIC_NATURE, 2; + setskill SKILL_MAGIC_NATURE, 2; next; set @Q_status, @Q_STATUS_STUDENT0; diff --git a/npc/009-2_Hurnscald/misc.txt b/npc/009-2_Hurnscald/misc.txt index f3bbe545..9a929203 100644 --- a/npc/009-2_Hurnscald/misc.txt +++ b/npc/009-2_Hurnscald/misc.txt @@ -53,6 +53,7 @@ L_magic: mes "[Bookshelf]"; mes "You can't make out anything else of value, so you place the manuscript back in the bookshelf."; next; + close; L_magic_boring: mes "[Bookshelf]"; diff --git a/npc/009-2_Hurnscald/wyara.txt b/npc/009-2_Hurnscald/wyara.txt index d97f6c86..d3f5b2d1 100644 --- a/npc/009-2_Hurnscald/wyara.txt +++ b/npc/009-2_Hurnscald/wyara.txt @@ -6,7 +6,7 @@ function script PurificationPotion { if (isat("011-1.gat", 88,67)) goto L_correct; - announce "This doesn't seem to be the right place.", 7; + message strcharinfo(0), "This doesn't seem to be the right place."; getitem @PURIFICATIONPOTION, 1; close; L_correct: @@ -19,7 +19,7 @@ L_correct: if (@Q_status < @STATUS_PURIFY_ONCE) set @Q_status, @STATUS_PURIFY_ONCE; - announce "You pour the potion into the pond.", 7; + message strcharinfo(0), "You pour the potion into the pond."; set QUEST_MAGIC2, (QUEST_MAGIC2 & ~(@Q_MASK) @@ -39,6 +39,7 @@ L_correct: set @STATUS_PURIFY_EXPLAINED, 1; set @STATUS_PURIFY_ONCE, 2; set @STATUS_PURIFY_TWICE, 3; + set @STATUS_PURIFY_OVER, 4; set @MAUVE, 680; set @MAGGOTSLIME, 505; @@ -48,6 +49,10 @@ L_correct: set @has_magic, getskilllv(SKILL_MAGIC); + if (@Q_status == @STATUS_PURIFY_ONCE) + goto L_Magic_purify_once; + if (@Q_status == @STATUS_PURIFY_TWICE) + goto L_Magic_purify_done; mes "[Wyara the witch]"; if (!Sex) @@ -314,9 +319,10 @@ L_Magic_purify_explained: next; menu - "I shall get them later.", Magic_main, - "Booring.", Magic_main, - "Here they are.", -, + "I shall get them later.", L_Magic_main, + "Booring.", L_Magic_main, + "Here they are.", -; + getinventorylist; if ((@inventorylist_count == 100) && (countitem(@MAUVE) > 20) && (countitem(@MAGGOTSLIME) > 20)) goto L_Magic_purify_nospace; @@ -365,9 +371,9 @@ L_Magic_purify_once: next; menu - "I'll get them later.", Magic_main, - "No way.", Magic_main, - "Here you are.", -, + "I'll do that later.", L_Main, + "No way.", L_Main, + "Here you are.", -; getinventorylist; if ((@inventorylist_count == 100) && (countitem(@MAUVE) > 20) && (countitem(@MAGGOTSLIME) > 20)) goto L_Magic_purify_nospace; @@ -389,14 +395,14 @@ L_Magic_purify_doit2: next; close; -L_Magic_purify_twice: +L_Magic_purify_done: mes "[Wyara the Witch]"; mes "Wyara smiles at you."; mes "\"A friend told me... you have saved the pond for now. Perhaps it will need some more attention later, but I'll ask others for this.\""; next; mes "[Wyara the Witch]"; - mes "\"Please kneel down and touch the ground.\""; + mes "\"Please sit down and touch the ground.\""; next; menu @@ -404,7 +410,7 @@ L_Magic_purify_twice: "No way!", L_Magic_purify_abort; mes "[Wyara the Witch]"; - mes "You kneel down and touch the ground, and so does Wyara."; + mes "You sit down and touch the ground, and so does Wyara."; next; mes "[Wyara the Witch]"; @@ -426,10 +432,11 @@ L_Magic_purify_twice: getexp 5000, 0; if (getskilllv(SKILL_MAGIC_NATURE) < 2) - skill SKILL_MAGIC_NATURE, 2; + setskill SKILL_MAGIC_NATURE, 2; + set @Q_status, @STATUS_PURIFY_OVER; + callsub S_update_var; close; - L_Magic_purify_abort: mes "[Wyara the Witch]"; mes "\"I can't help you if you don't subject yourself to the ritual.\""; diff --git a/npc/009-3_Cave_beneath_Hurnscald/sword.txt b/npc/009-3_Cave_beneath_Hurnscald/sword.txt index d60ac123..2b5c5f75 100644 --- a/npc/009-3_Cave_beneath_Hurnscald/sword.txt +++ b/npc/009-3_Cave_beneath_Hurnscald/sword.txt @@ -26,7 +26,7 @@ L_message: if (@Q_status == @STATUS_W11_12) goto L_L2_almost_done; mes "[Magic Sword]"; - mes "Come back when thou art stronger."; + mes "\"Come back when thou art stronger.\""; next; close; @@ -136,18 +136,18 @@ L_L2_W11: "Yes, teach me more!", -; mes "[Magic Sword]"; - mes "\"If that is thy wish, I shall not stop thee. But do not expect to find merriment down this road.\""; - mes "\"I must ask that thou sacrificest a thousand monster points for this, however.\""; + mes "\"If that is thou wishest, I shall not stop thee. But do not expect to find merriment down this road.\""; + mes "\"I must ask that thou sacrificest five thousand monster points for this, however.\""; menu "No, I don't want that.", L_farewell, - "I agree.", -; + "Very well.", -; - if (Mobpt < 1000) goto L_lacking_mobpoints; + if (Mobpt < 5000) goto L_lacking_mobpoints; mes "[Magic Sword]"; mes "\"So be it, then.\""; mes "[1000 experience points]"; - set Mobpt, Mobpt - 1000; + set Mobpt, Mobpt - 5000; getexp 1000, 0; set @Q_status, @Q_status + 1; callsub S_update_var; diff --git a/npc/011-1_Woodland/alchemist.txt b/npc/011-1_Woodland/alchemist.txt index a821a3c1..a15884cc 100644 --- a/npc/011-1_Woodland/alchemist.txt +++ b/npc/011-1_Woodland/alchemist.txt @@ -148,6 +148,7 @@ L_main_menu: L_iron_powder: mes "[Rauk the Alchemist]"; mes "\"Iron powder? Hmm, I can extract some iron powder out of a chunk of iron ore, but that will require me to dissolve it. If you give me a chunk of iron ore and 100 GP for the acid, I can do it.\""; + next; menu "Never mind.", L_abort, "Here you are!", -; @@ -165,11 +166,11 @@ L_iron_powder: set zeny, zeny - 100; getitem @IRONPOWDER, 4; mes "[Rauk the Alchemist]"; - mes "Rauk places your chunk of ore in a strange glass container, then pours a steaming yellow liquid over it. Before your eyes, the ore dissolves.\""; + mes "Rauk places your chunk of ore in a strange glass container, then pours a steaming yellow liquid over it. Before your eyes, the ore dissolves."; next; mes "[Rauk the Alchemist]"; - mes "Rauk pours another liquid over the resultant mixture, then pours the result through a piece of cloth placed in a funnel. He removes some amount of metal powder from the cloth and hands it to you.\""; + mes "Rauk pours another liquid over the resultant mixture, then pours the result through a piece of cloth placed in a funnel, followed by a cup of water. He removes the residual metal powder from the cloth and hands it to you."; mes "\"This is about as fine as I can make it without mechanical help.\""; next; diff --git a/npc/011-1_Woodland/auldsbel.txt b/npc/011-1_Woodland/auldsbel.txt index f6d9c8a8..da41c63a 100644 --- a/npc/011-1_Woodland/auldsbel.txt +++ b/npc/011-1_Woodland/auldsbel.txt @@ -31,6 +31,8 @@ set @MOUBOO_FIGURINE, 728; set @BUGLEG, 518; + set @mexp, MAGIC_EXPERIENCE & 65535; + set @Q_STATUS_INITIAL, 0; set @Q_STATUS_POSTINTRO, 1; set @Q_STATUS_INITIATION, 2; // quest for being able to cast `create mouboo figurine' @@ -1007,7 +1009,6 @@ LL_initiation_check: if (!(countitem(@MOUBOO_FIGURINE))) goto L_main_menu; delitem @MOUBOO_FIGURINE, 1; - set @mexp, MAGIC_EXPERIENCE & 65535; mes "[Auldsbel the Wizard]"; mes "Auldsbel inspects your figurine."; @@ -1040,11 +1041,12 @@ LL_initiation_check: callsub S_update_var; getexp 5000, 0; if (getskilllv(SKILL_MAGIC_TRANSMUTE) < 2) - skill SKILL_MAGIC_TRANSMUTE, 2; + setskill SKILL_MAGIC_TRANSMUTE, 2; next; goto L_main_menu; LL_student_start: + if (@mexp < 200) goto LL_notready; mes "[Auldsbel the Wizard]"; mes "\"Next, I shall teach you a higher-level transmutation spell.\""; if (getskilllv(SKILL_MAGIC) < 2) diff --git a/npc/013-1_Woodland_hills/sagatha.txt b/npc/013-1_Woodland_hills/sagatha.txt index 222c1aa1..6165709c 100644 --- a/npc/013-1_Woodland_hills/sagatha.txt +++ b/npc/013-1_Woodland_hills/sagatha.txt @@ -49,7 +49,7 @@ function script SagathaStatus { if (@mouboo == 1) set @evil, 1; - if (MAGIC_FLAGS & FLAG_DID_CUTTREE) + if (MAGIC_FLAGS & MFLAG_DID_CUTTREE) set @evil, 1; set @druid, (((QUEST_MAGIC & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT) & 12) >> 2; @@ -186,7 +186,7 @@ L_teach_initial: callsub S_update_var; getexp 5000, 0; if (getskilllv(SKILL_MAGIC_ETHER) < 2) - skill SKILL_MAGIC_ETHER, 2; + setskill SKILL_MAGIC_ETHER, 2; next; mes "[Sagatha the Witch]"; @@ -258,21 +258,18 @@ L_teach_A10: next; mes "[Sagatha the Witch]"; mes "\"Then say '" + getspellinvocation("barrier") + "' and let the musroom's power take over.\""; - next; goto L_practice; L_teach_A11: if (@mexp < 350) goto L_teach_noexp; mes "[Sagatha the Witch]"; mes "\"If you must fight, call allies. You can call scorpions with a scorpion stinger. Hold up the stinger and call out to them: '" + getspellinvocation("summon-scorps") + "'.\""; - next; goto L_practice; L_teach_A12: if (@mexp < 450) goto L_teach_noexp; mes "[Sagatha the Witch]"; mes "\"You can call red scorpions, too. But for them you must call out '" + getspellinvocation("summon-red-scorps") + "' instead.\""; - next; goto L_practice; L_teach_N11: @@ -282,7 +279,6 @@ L_teach_N11: next; mes "[Sagatha the Witch]"; mes "\"Or call it into someone else's skin, by saying that someone's name right after the '" + getspellinvocation("protect") + "'.\""; - next; goto L_practice; L_teach_noexp: diff --git a/npc/013-2_Magic_house/wizard.txt b/npc/013-2_Magic_house/wizard.txt index 3abb0bb3..d1e18f00 100644 --- a/npc/013-2_Magic_house/wizard.txt +++ b/npc/013-2_Magic_house/wizard.txt @@ -42,6 +42,7 @@ nothx: L_new_student: 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; menu "That would be very kind of you!", -, diff --git a/npc/015-1_Woodland/sword.txt b/npc/015-1_Woodland/sword.txt index 5713656b..0128d819 100644 --- a/npc/015-1_Woodland/sword.txt +++ b/npc/015-1_Woodland/sword.txt @@ -204,13 +204,13 @@ L_Levelup2_yes: mes "[Mystic Sword]"; mes "The sword begins to chant in your head!"; - mes " \"Lords of Thunder, Fire, Rage!\""; - mes " \"Grant thy powers to this mage,\""; - mes " \"Rising with thy dreadful roar,\""; + mes "\"Lords of Thunder, Fire, Rage!\""; + mes "\"Grant thy powers to this mage,\""; + mes "\"Rising with thy dreadful roar,\""; if (Sex) - mes " \"Answer to his call to War!\""; + mes "\"Answer to his call to War!\""; if (!Sex) - mes " \"Answer to her call to War!\""; + mes "\"Answer to her call to War!\""; next; mes "[Mystic Sword]"; @@ -227,11 +227,11 @@ L_Levelup2_yes: callsub S_update_var; getexp 5000, 0; if (getskilllv(SKILL_MAGIC_WAR) < 2) - skill SKILL_MAGIC_WAR, 2; + setskill SKILL_MAGIC_WAR, 2; next; mes "[Mystic Sword]"; - mes "\"Thou hast now taken thy first true step down the path of war magic. Seek out my brother for thy next spell!\""; + mes "\"Thou hast now taken thy first true step down the path of war magic.\""; next; goto L_Farewell; @@ -266,18 +266,18 @@ L_L2_W12: "Yes.", -; mes "[Mystic Sword]"; - mes "\"Very well. I shall teach thee another spell, if thou provest thy progress by sacrificing another one thousand monster points.\""; + mes "\"Very well. I shall teach thee another spell, if thou provest thy progress by sacrificing another five thousand monster points.\""; next; menu "No, I don't want that.", L_farewell, - "I agree.", -; + "So be it.", -; - if (Mobpt < 1000) goto L_lacking_mobpoints; + if (Mobpt < 5000) goto L_lacking_mobpoints; mes "[Mystic Sword]"; mes "\"Indeed thou art worthy. The next spell I shall teach thee will enchant thy knuckles to turn them into powerful weapons; the component is a mere beer.\""; mes "[1000 experience points]"; - set Mobpt, Mobpt - 1000; + set Mobpt, Mobpt - 5000; getexp 1000, 0; set @Q_status, @Q_status + 2; callsub S_update_var; @@ -304,7 +304,7 @@ L_L2_W10: next; mes "[Mystic Sword]"; - mes "\"For this spell, I ask that thou bringest a lump of iron ore. Thou must also sacrifice five thousand monster points.\""; + mes "\"For this spell, I ask that thou bringest a lump of iron ore. Thou must also sacrifice ten thousand monster points.\""; next; menu @@ -313,13 +313,13 @@ L_L2_W10: if (countitem(@ORE) < 1) goto L_no_ore; - if (MPQUEST && (Mobpt < 5000)) goto L_lacking_mobpoints; + if (MPQUEST && (Mobpt < 10000)) goto L_lacking_mobpoints; mes "[Mystic Sword]"; mes "\"Raise up the ore, mortal!\""; mes "As you do so, the ore begins to crumble, leaving only iron powder behind."; mes "[1000 experience points]"; - set Mobpt, Mobpt - 5000; + set Mobpt, Mobpt - 10000; getexp 1000, 0; delitem @ORE, 1; getitem @IRONPOWDER, 5; @@ -330,7 +330,13 @@ L_L2_W10: mes "[Mystic Sword]"; mes "\"This powder thou shalst need to cast the lightning spell. Throw it up into the air and shout '" + getspellinvocation("lightning-strike") + "', and smite thine enemies with lightning.\""; next; + goto L_farewell; +L_no_ore: + mes "[Mystic Sword]"; + mes "\"Thou dost appear to lack ore. We cannot continue; please fare well and return swiftly!\""; + next; + close; L_farewell: mes "[Mystic Sword]"; |