summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authorFate <fate-tmw@googlemail.com>2009-05-14 03:27:53 +0000
committerFate <fate-tmw@googlemail.com>2009-05-14 03:27:53 +0000
commit0da4d27a4357f15a8cb0eb9eaa355c7acd99e1b2 (patch)
tree34bb0959adb2dcfda68fcd0b8bd42087fe85998b /conf
parente7fdeec4e7b44c81ade380a34de7e1c88df55eef (diff)
downloadserverdata-0da4d27a4357f15a8cb0eb9eaa355c7acd99e1b2.tar.gz
serverdata-0da4d27a4357f15a8cb0eb9eaa355c7acd99e1b2.tar.bz2
serverdata-0da4d27a4357f15a8cb0eb9eaa355c7acd99e1b2.tar.xz
serverdata-0da4d27a4357f15a8cb0eb9eaa355c7acd99e1b2.zip
Fixed broken GOTO in mana seed script after level-up
Diffstat (limited to 'conf')
-rw-r--r--conf/magic.conf.template44
1 files changed, 36 insertions, 8 deletions
diff --git a/conf/magic.conf.template b/conf/magic.conf.template
index 19b36046..76df00f6 100644
--- a/conf/magic.conf.template
+++ b/conf/magic.conf.template
@@ -204,14 +204,42 @@ PROCEDURE summon_spell(mob_id, count, delay, lifetime, control_level) =
# Level 0 spells
#--------------------------------------------------------------------------------
-# SPELL ask-magic-exp : "#G01" =
-# LET level = 0
-# school = MAGIC
-# IN (MANA 1, CASTTIME 1000,
-# REQUIRE skill(caster, MAGIC) > level)
-# => EFFECT CALL adjust_spellpower(school);
-# CALL default_effect();
-# message(caster, "You have " + (script_int(caster, "MAGIC_EXPERIENCE") & 0xffff) + " Magic Experience points.");
+SPELL ask-magic-exp : "#G01" =
+ LET level = 0
+ school = MAGIC
+ IN (MANA 1, CASTTIME 1000,
+ REQUIRE skill(caster, MAGIC) > level)
+ => EFFECT CALL adjust_spellpower(school);
+ CALL default_effect();
+ level = skill (caster, MAGIC);
+ IF level > 4
+ THEN message (caster, "You are as proficient as magic as you can possibly be.");
+ ELSE (
+ experience = script_int(caster, "MAGIC_EXPERIENCE") & 0xffff;
+ # This duplicates the table in mana-seed.txt
+ IF level >= 4
+ THEN max_experience = 40000;
+ ELSE IF level = 3
+ THEN max_experience = 8000;
+ ELSE IF level = 2
+ THEN max_experience = 1200;
+ ELSE max_experience = 100;
+
+ ratio = (10 * experience) / max_experience;
+ message (caster, "level=" + level + " exp=" + experience + " / " + max_experience + " => " + ratio);
+
+ IF ratio >= 10
+ THEN message(caster, "You feel that are ready to advance to the next level of magic.");
+ ELSE IF ratio >= 9
+ THEN message(caster, "You feel that are very close to having the prowess needed to advance to the next level of magic.");
+ ELSE IF ratio >= 7
+ THEN message(caster, "You feel quite skilled at this level of magic but still need to get used to some more corner cases before you can advance.");
+ ELSE IF ratio >= 5
+ THEN message(caster, "You feel competent at this level of magic but realise that you must practice more.");
+ ELSE IF ratio >= 3
+ THEN message(caster, "You feel that you have grasped the basics of this level of magic, but still have some way to go.");
+ ELSE message (caster, "You feel that you are still at the beginning of your quest for mastering this level of magic.");
+ )
# SPELL ask-life-magic-exp : "#G02" =
# LET level = 0