summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/001-1_Tulimshar/bard.txt2
-rw-r--r--npc/013-1_Woodland_hills/sagatha.txt16
-rw-r--r--npc/functions/magic.txt45
3 files changed, 44 insertions, 19 deletions
diff --git a/npc/001-1_Tulimshar/bard.txt b/npc/001-1_Tulimshar/bard.txt
index e7fdd883..9de957e1 100644
--- a/npc/001-1_Tulimshar/bard.txt
+++ b/npc/001-1_Tulimshar/bard.txt
@@ -52,7 +52,7 @@ L_News:
L_Question:
callfunc "MagicTalkOptionsSetup";
- set @ignore, 0;
+ set @ignore, @QQ_ASTRALSOUL;
callfunc "MagicTalkMenu";
if (@c == 0) goto L_Main;
diff --git a/npc/013-1_Woodland_hills/sagatha.txt b/npc/013-1_Woodland_hills/sagatha.txt
index f5e2f606..3f8cb4f8 100644
--- a/npc/013-1_Woodland_hills/sagatha.txt
+++ b/npc/013-1_Woodland_hills/sagatha.txt
@@ -260,7 +260,7 @@ L_teach:
mes "[Sagatha the Witch]";
mes "\"Not yet. You have to ask the mana seed to give you more power.\"";
next;
- goto L_main;
+ goto L_main;
L_practice:
mes "[1000 experience points]";
@@ -347,12 +347,26 @@ L_Question:
if (@c == @QQ_AULDSBEL) goto L_Q_auldsbel;
if (@c == @QQ_IMP) goto L_Q_imp;
if (@c == @QQ_OLDWIZ) goto L_Q_old_wizard;
+ if (@c == @QQ_ASTRALSOUL)goto L_Q_astralsoul;
mes "[Sagatha the Witch]";
mes "\"That doesn't concern you.\"";
next;
goto L_main;
+L_Q_astralsoul:
+ mes "[Sagatha the Witch]";
+ mes "\"Yes, there is a way to improve your magic.\"";
+ next;
+ mes "\"Did you ever hear about focusing?\"";
+ mes "\"It is a mental ability, which improves you at a certain focused skill.\"";
+ next;
+ mes "\"Yes, I am focused on nature magic, but I cannot teach focusing. That is another realm of magic. Just a few people can really focus your brain to a specific art of magic.\"";
+ next;
+ mes "\"Usually those, who have the ability to help you with the mana seed, will have the ability to help you with the astral soul. These skills are similar."\";
+ next;
+ goto L_main;
+
L_Q_old_wizard:
mes "[Sagatha the Witch]";
mes "\"A kind and wise wizard.\"";
diff --git a/npc/functions/magic.txt b/npc/functions/magic.txt
index 2bf8ef64..3f9b620b 100644
--- a/npc/functions/magic.txt
+++ b/npc/functions/magic.txt
@@ -23,12 +23,13 @@ function script MagicGainBasic {
function script MagicTalkOptionsSetup {
set @QQ_ELANORE, 1;
set @QQ_MANASEED, 2;
- set @QQ_MANAPOTION, 3;
- set @QQ_WYARA, 4;
- set @QQ_SAGATHA, 5;
- set @QQ_AULDSBEL, 6;
- set @QQ_IMP, 7;
- set @QQ_OLDWIZ, 8;
+ set @QQ_MANAPOTION, 4;
+ set @QQ_WYARA, 8;
+ set @QQ_SAGATHA, 16;
+ set @QQ_AULDSBEL, 32;
+ set @QQ_IMP, 64;
+ set @QQ_OLDWIZ, 128;
+ set @QQ_ASTRALSOUL, 256;
return;
}
@@ -40,11 +41,11 @@ function script MagicTalkOptionsSetup {
function script MagicTalkMenu {
- setarray @choice$, "", "", "", "", "", "", "", "", "";
+ setarray @choice$, "", "", "", "", "", "", "", "", "", "";
set @choices_nr, 0;
- setarray @choice_idx, 0, 0, 0, 0, 0, 0, 0, 0, 0;
+ setarray @choice_idx, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
- if (@ignore == @QQ_ELANORE)
+ if (@ignore & @QQ_ELANORE)
goto L_Q_post_elanore;
set @choice$[@choices_nr], "...Elanore the Healer?";
set @choice_idx[@choices_nr], @QQ_ELANORE;
@@ -60,7 +61,7 @@ L_Q_post_elanore:
set @choices_nr, @choices_nr + 1;
L_Q_post_manaseed:
- if (@ignore == @QQ_MANAPOTION)
+ if (@ignore & @QQ_MANAPOTION)
goto L_Q_post_manapotion;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_MANAPOTION))
goto L_Q_post_manapotion;
@@ -69,7 +70,7 @@ L_Q_post_manaseed:
set @choices_nr, @choices_nr + 1;
L_Q_post_manapotion:
- if (@ignore == @QQ_WYARA)
+ if (@ignore & @QQ_WYARA)
goto L_Q_post_wyara;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_WYARA))
goto L_Q_post_wyara;
@@ -78,7 +79,7 @@ L_Q_post_manapotion:
set @choices_nr, @choices_nr + 1;
L_Q_post_wyara:
- if (@ignore == @QQ_SAGATHA)
+ if (@ignore & @QQ_SAGATHA)
goto L_Q_post_sagatha;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_SAGATHA))
goto L_Q_post_sagatha;
@@ -87,7 +88,7 @@ L_Q_post_wyara:
set @choices_nr, @choices_nr + 1;
L_Q_post_sagatha:
- if (@ignore == @QQ_AULDSBEL)
+ if (@ignore & @QQ_AULDSBEL)
goto L_Q_post_auldsbel;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_AULDSBEL))
goto L_Q_post_auldsbel;
@@ -96,7 +97,7 @@ L_Q_post_sagatha:
set @choices_nr, @choices_nr + 1;
L_Q_post_auldsbel:
- if (@ignore == @QQ_OLDWIZ)
+ if (@ignore & @QQ_OLDWIZ)
goto L_Q_post_oldwiz;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_OLD_WIZARD))
goto L_Q_post_oldwiz;
@@ -105,7 +106,7 @@ L_Q_post_auldsbel:
set @choices_nr, @choices_nr + 1;
L_Q_post_oldwiz:
- if (@ignore == @QQ_IMP)
+ if (@ignore & @QQ_IMP)
goto L_Q_post_imp;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_IMP))
goto L_Q_post_imp;
@@ -114,6 +115,15 @@ L_Q_post_oldwiz:
set @choices_nr, @choices_nr + 1;
L_Q_post_imp:
+ if (@ignore & @QQ_ASTRALSOUL)
+ goto L_Q_post_astralsoul;
+ if (!getskillv(SKILL_MAGIC) || !getskillv(SKILL_FOCUS))
+ goto L_Q_post_astralsoul;
+ set @choice$[@choices_nr], "...ways to improve my magic?";
+ set @choice_idx[@choices_nr], @QQ_IMP;
+ set @choices_nr, @choices_nr + 1;
+L_Q_post_astralsoul:
+
set @choice$[@choices_nr], "...never mind.";
set @choice_idx[@choices_nr], 0;
set @choices_nr, @choices_nr + 1;
@@ -126,13 +136,14 @@ L_Q_post_imp:
@choice$[5], -,
@choice$[6], -,
@choice$[7], -,
- @choice$[8], -;
+ @choice$[8], -,
+ @choice$[9], -;
set @menu, @menu - 1;
if (@menu >= @choices_nr)
set @menu, 0;
-
+
set @c, @choice_idx[@menu];
return @c;
}