summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/magic.conf.template30
-rw-r--r--npc/009-2_Hurnscald/wyara.txt9
-rw-r--r--npc/013-1_Woodland_hills/sagatha.txt45
3 files changed, 58 insertions, 26 deletions
diff --git a/conf/magic.conf.template b/conf/magic.conf.template
index e35c126c..2d8c25a6 100644
--- a/conf/magic.conf.template
+++ b/conf/magic.conf.template
@@ -672,13 +672,17 @@ SPELL shear : "#N14" =
IF running_status_update(target, SC_SHEARED)
THEN ABORT;
status_change(target, SC_SHEARED, 1, 1, 1, 1, 600000); # 10 minutes
- CALL shear-drop("Fluffy", "WhiteFur", 200);
- CALL shear-drop("SpikyMushroom", "HardSpike", 150);
- CALL shear-drop("Mouboo", "CottonCloth", 100);
- CALL shear-drop("Cobalt Plant", "CobaltHerb", 700);
- CALL shear-drop("Alizarin Plant", "AlizarinHerb", 700);
- CALL shear-drop("Gamboge Plant", "GambogeHerb", 700);
- CALL shear-drop("Mauve Plant", "MauveHerb", 700);
+ CALL shear-drop("Fluffy", "WhiteFur", 300);
+ CALL shear-drop("SpikyMushroom", "HardSpike", 250);
+ CALL shear-drop("Mouboo", "CottonCloth", 175);
+ CALL shear-drop("Cobalt", "CobaltHerb", 700);
+ CALL shear-drop("Alizarin", "AlizarinHerb", 700);
+ CALL shear-drop("Gamboge", "GambogeHerb", 700);
+ CALL shear-drop("Mauve", "MauveHerb", 700);
+ CALL shear-drop("SilkWorm", "SilkCocoon", 300);
+ message(caster, name);
+ IF ((name = "Fluffy" || name = "Mouboo") && random(2))
+ THEN { set @value, 1; callfunc "QuestSagathaHappy"; };
)
@@ -702,29 +706,29 @@ SPELL barrier (target : PC) : "#A10" =
sfx(target, SFX_UNBARRIER, 0);
-LOCAL SPELL summon-scorps : "#A11" =
+LOCAL SPELL summon-spiky-mushrooms : "#A11" =
LET level = 1
school = ASTRAL
IN (MANA 33, CASTTIME 20000,
REQUIRE skill(caster, MAGIC) > level,
REQUIRE skill(caster, school) > level,
- COMPONENTS ["ScorpionStinger"])
+ COMPONENTS ["HardSpike"])
=> EFFECT CALL adjust_spellpower(school);
CALL default_effect();
CALL gain_xp(1);
- CALL summon_spell(1003, 1 + spellpower / 140, 5000 - (spellpower * 9), spellpower * 400, 2);
+ CALL summon_spell(1019, 1 + spellpower / 120, 5000 - (spellpower * 9), spellpower * 400, 2);
-LOCAL SPELL summon-red-scorps : "#A12" =
+LOCAL SPELL summon-fluffies : "#A12" =
LET level = 1
school = ASTRAL
IN (MANA 39, CASTTIME 20000,
REQUIRE skill(caster, MAGIC) > level,
REQUIRE skill(caster, school) > level,
- COMPONENTS ["RedScorpionStinger"])
+ COMPONENTS ["WhiteFur"])
=> EFFECT CALL adjust_spellpower(school);
CALL default_effect();
CALL gain_xp(1);
- CALL summon_spell(1004, 1 + spellpower / 230 + spellpower / 430, 5000 - (spellpower * 8), spellpower * 350, 3);
+ CALL summon_spell(1020, 1 + spellpower / 170 + spellpower / 430, 5000 - (spellpower * 8), spellpower * 350, 3);
SPELL detect-players : "#G10" =
diff --git a/npc/009-2_Hurnscald/wyara.txt b/npc/009-2_Hurnscald/wyara.txt
index 125297ff..f79cb733 100644
--- a/npc/009-2_Hurnscald/wyara.txt
+++ b/npc/009-2_Hurnscald/wyara.txt
@@ -431,6 +431,10 @@ L_Magic_train_sagatha:
mes "[Wyara the Witch]";
if (@evil)
L_Magic_train_sagatha_fail;
+
+ if (getskilllv(SKILL_MAGIC) < 2)
+ goto L_Magic_train_sagatha_lvl1;
+
if (@good > 1)
mes "\"Come to think of it, I have heard good things about you. Perhaps she will be willing to accept you as a student now?\"";
if (@good == 1)
@@ -533,6 +537,11 @@ L_Magic_train_sagatha_fail:
next;
goto L_Magic_main;
+L_Magic_train_sagatha_lvl1:
+ mes "\"Well, you're still a bit of a beginner, so I don't think she will accept you yet. Maybe you can absorb some more power from the mana seed? If you can grow your magical powers a little, I might be able to help you.\"";
+ next;
+ goto L_Magic_main;
+
S_update_var:
set QUEST_MAGIC2,
(QUEST_MAGIC2 & ~(@Q_MASK)
diff --git a/npc/013-1_Woodland_hills/sagatha.txt b/npc/013-1_Woodland_hills/sagatha.txt
index aa7b55f1..a2b6de57 100644
--- a/npc/013-1_Woodland_hills/sagatha.txt
+++ b/npc/013-1_Woodland_hills/sagatha.txt
@@ -66,12 +66,13 @@ function script SagathaStatus {
set @Q_SHIFT, NIBBLE_4_SHIFT;
set @STATUS_INITIAL, 0;
- set @STATUS_STUDENT, 1; // N10
- set @STATUS_STUDENT_A10, 2;
- set @STATUS_STUDENT_A11, 3;
- set @STATUS_STUDENT_A12, 4;
- set @STATUS_STUDENT_N11, 5;
- set @STATUS_STUDENT_LEVEL_3, 6;
+ set @STATUS_STUDENT, 1; // N14
+ set @STATUS_STUDENT_N10, 2;
+ set @STATUS_STUDENT_A10, 3;
+ set @STATUS_STUDENT_A11, 4;
+ set @STATUS_STUDENT_A12, 5;
+ set @STATUS_STUDENT_N11, 6;
+ set @STATUS_STUDENT_LEVEL_3, 7;
set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT;
@@ -216,6 +217,8 @@ L_explain_magic:
L_teach:
if (@Q_status == @STATUS_STUDENT)
+ goto L_teach_N14;
+ if (@Q_status == @STATUS_STUDENT_N10)
goto L_teach_N10;
if (@Q_status == @STATUS_STUDENT_A10)
goto L_teach_A10;
@@ -242,17 +245,29 @@ L_practice:
next;
goto L_main;
+L_teach_N14:
+ if (@mexp < 125) goto L_teach_noexp;
+ mes "[Sagatha the Witch]";
+ mes "\"Some forest creatures sometimes overgrow their fur or hide. That makes them uncomfortable.\"";
+ next;
+ mes "[Sagatha the Witch]";
+ mes "\"You can help them with shearing magic. Press your hands together and say '" + getspellinvocation("shear") + "'. Then touch them with your hands, and brush off any excess.\"";
+ next;
+ mes "[Sagatha the Witch]";
+ mes "\"The spell is strong, so you only need to do this once. Be careful not to cut them. Some things they shed are useful. Often they will leave them to you as a thank-you.\"";
+ goto L_practice;
+
L_teach_N10:
if (@mexp < 150) goto L_teach_noexp;
mes "[Sagatha the Witch]";
- mes "\"First, a nature spell. Take a cocoon shell. Hold it in your hand. Feel its lightness.\"";
+ mes "\"Next, a nature spell. Take a cocoon shell. Hold it in your hand. Feel its lightness.\"";
next;
mes "[Sagatha the Witch]";
mes "\"Now whisper '" + getspellinvocation("flying-backpack") + "', and if your backpack was pressing on you you should no longer feel it now.\"";
goto L_practice;
L_teach_A10:
- if (@mexp < 250) goto L_teach_noexp;
+ if (@mexp < 180) goto L_teach_noexp;
mes "[Sagatha the Witch]";
mes "\"To protect against others' magic, take a small mushroom from a shady place. Mushrooms draw things out of the earth. Rub your mushroom into pieces between your hands.\"";
next;
@@ -261,19 +276,23 @@ L_teach_A10:
goto L_practice;
L_teach_A11:
- if (@mexp < 350) goto L_teach_noexp;
+ if (@mexp < 200) goto L_teach_noexp;
+ mes "[Sagatha the Witch]";
+ mes "\"If you must fight, call allies. You can call spiky mushrooms out of the ground with a mushroom spike. Hold up the spike and call out to them: '" + getspellinvocation("summon-spiky-mushrooms") + "'.\"";
+ next;
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") + "'.\"";
+ mes "\"Spiky mushrooms often grow too many spikes, so you can shear the spikes off of some.\"";
+ next;
goto L_practice;
L_teach_A12:
- if (@mexp < 450) goto L_teach_noexp;
+ if (@mexp < 220) 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.\"";
+ mes "\"You can call fluffies, too. But for them you must call out '" + getspellinvocation("summon-fluffies") + "' instead, with white fluffy fur.\"";
goto L_practice;
L_teach_N11:
- if (@mexp < 550) goto L_teach_noexp;
+ if (@mexp < 250) goto L_teach_noexp;
mes "[Sagatha the Witch]";
mes "\"You can harden your skin with a hard spike. Hold it in your hands and speak '" + getspellinvocation("protect") + "', then draw its hardness into your skin.\"";
next;