diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/001-1_Tulimshar/bard.txt | 2 | ||||
-rw-r--r-- | npc/013-1_Woodland_hills/sagatha.txt | 16 | ||||
-rw-r--r-- | npc/functions/magic.txt | 45 |
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; } |