summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFate <fate-tmw@googlemail.com>2009-01-11 14:24:01 -0700
committerFate <fate-tmw@googlemail.com>2009-01-11 14:24:01 -0700
commit23518b19a828eb36e56c0cb0cd4a8f8778934ad6 (patch)
tree4377b121fb966b602e610548dbdbb15cd9f3358c
parent54238fbc5acca341449cd0b73b12e3b257a6d2cb (diff)
downloadserverdata-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.template7
-rw-r--r--npc/001-1_Tulimshar/elanore.txt7
-rw-r--r--npc/005-1_Snake_desert/spirit.txt10
-rw-r--r--npc/009-2_Hurnscald/misc.txt1
-rw-r--r--npc/009-2_Hurnscald/wyara.txt33
-rw-r--r--npc/009-3_Cave_beneath_Hurnscald/sword.txt12
-rw-r--r--npc/011-1_Woodland/alchemist.txt5
-rw-r--r--npc/011-1_Woodland/auldsbel.txt6
-rw-r--r--npc/013-1_Woodland_hills/sagatha.txt8
-rw-r--r--npc/013-2_Magic_house/wizard.txt1
-rw-r--r--npc/015-1_Woodland/sword.txt34
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]";