summaryrefslogtreecommitdiff
path: root/world/map/conf
diff options
context:
space:
mode:
authormekolat <mekolat@users.noreply.github.com>2015-06-11 11:13:11 -0400
committermekolat <mekolat@users.noreply.github.com>2016-03-30 11:22:47 -0400
commitbc4deaf81d9701261baac6a10d762b0f40e7f65f (patch)
treee539e3a49756626e27d4491fccb7a6862b12a120 /world/map/conf
parent9e7f46ac732851c1359a15837c82ebf67ea2be39 (diff)
downloadserverdata-bc4deaf81d9701261baac6a10d762b0f40e7f65f.tar.gz
serverdata-bc4deaf81d9701261baac6a10d762b0f40e7f65f.tar.bz2
serverdata-bc4deaf81d9701261baac6a10d762b0f40e7f65f.tar.xz
serverdata-bc4deaf81d9701261baac6a10d762b0f40e7f65f.zip
initial commit for magic v3
Fix Druid Tree and add hug to TMW
Diffstat (limited to 'world/map/conf')
-rw-r--r--world/map/conf/magic-level0.sex39
-rw-r--r--world/map/conf/magic-level1.sex494
-rw-r--r--world/map/conf/magic-level2.sex1462
-rw-r--r--world/map/conf/magic-level3.sex179
-rw-r--r--world/map/conf/magic-level4.sex3
-rw-r--r--world/map/conf/magic-level5.sex55
-rw-r--r--world/map/conf/magic-misc.sex112
-rw-r--r--world/map/conf/magic-procedures.sex7
-rw-r--r--world/map/conf/magic-quests.sex154
-rw-r--r--world/map/conf/tmwa-map.conf17
10 files changed, 3 insertions, 2519 deletions
diff --git a/world/map/conf/magic-level0.sex b/world/map/conf/magic-level0.sex
deleted file mode 100644
index f376b2cd..00000000
--- a/world/map/conf/magic-level0.sex
+++ /dev/null
@@ -1,39 +0,0 @@
-"--------------------------------------------------------------------------------"
-" Level 0 spells "
-"--------------------------------------------------------------------------------"
-(SPELL () wand "#confringo" ()
- (LET school MAGIC)
- (=>
- (GUARD
- (CASTTIME 500))
- (EFFECT
- (SCRIPT "{callfunc \"CheckWand\";}")
- (IF (==
- (script_int caster "@Wand")
- 0)
- (ABORT))
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL install_attack_spell
- (+ (script_int caster "@Wand")
- (/ spellpower 10))
- 1200
- 3
- (script_int caster "@WandID"))
- (CALL gain_xp 1 3)
- (ATTRIGGER
- (CALL attack_check target)
- (SCRIPT "{callfunc \"WandMana\";}")
- (IF (==
- (script_int caster "@WandAttack")
- 0)
- (ABORT))
- (SET damage
- (* (script_int caster "@Wand")
- (/ spellpower
- 3)))
- (SET damage_bonus
- (* (script_int caster "@Wand")
- (/ spellpower
- 3)))
- (CALL elt_damage target damage damage_bonus ELT_NEUTRAL ELT_NEUTRAL 5)))))
diff --git a/world/map/conf/magic-level1.sex b/world/map/conf/magic-level1.sex
deleted file mode 100644
index da29ad22..00000000
--- a/world/map/conf/magic-level1.sex
+++ /dev/null
@@ -1,494 +0,0 @@
-"--------------------------------------------------------------------------------"
-" Level 1 spells "
-"--------------------------------------------------------------------------------"
-(SPELL () ask-magic-exp "#abizit" ()
- (LET level 1)
- (LET school MAGIC)
- (=>
- (GUARD
- (MANA 1)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level)))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (SET level
- (skill caster MAGIC))
- (SET experience
- (&
- (>>
- (script_int caster SCRIPT_XP)
- SCRIPT_XP_SHIFT)
- SCRIPT_XP_MASK))
- (IF (&&
- (== experience SCRIPT_XP_MASK)
- (> level 4))
- (message caster "You are as proficient at magic as you can possibly be.")
- (BLOCK "This duplicates the table in mana-seed.txt"
- (IF (> level 4)
- (SET max_experience SCRIPT_XP_MASK)
- (IF (== level 4)
- (SET max_experience 40000)
- (IF (== level 3)
- (SET max_experience 8000)
- (IF (== level 2)
- (SET max_experience 1200)
- (SET max_experience 100)))))
- (SET ratio
- (/
- (-
- (* 10 experience)
- (random
- (/ max_experience 30)))
- max_experience)) "Randomness: jitter a bit at the transitions to give more precise information if used frequently"
- (IF (>= ratio 45)
- (message caster
- (+ "Magic flows naturally from you, readily and with ease. Your understanding of what you can currently control at present is flawless, far beyond your requirements to cast magic at this level."
- (if_then_else
- (>= level MAX_MAGIC_LEVEL)
- ""
- " Surely the Mana Seed will more than readily offer more magic for such a proficient user.")))
- (IF (>= ratio 20)
- (message caster "You have perfect control of what you understand now, but there is now a distinct sensation of something more, something indescribable. If only the Mana Seed would give more magic to you...")
- (IF (>= ratio 10)
- (message caster
- (+ "You feel in perfect control of your magic"
- (if_then_else
- (>= level MAX_MAGIC_LEVEL)
- "."
- ", and seem on the verge of something more... perhaps you should see the Mana Seed to ask for more magic?")))
- (IF (>= ratio 9)
- (message caster "You feel in almost perfect control of your magic.")
- (IF (>= ratio 8)
- (message caster "You feel that you have very good control of your magic.")
- (IF (>= ratio 7)
- (message caster "You feel quite in control of your magic.")
- (IF (>= ratio 6)
- (message caster "You feel mostly in control of your magic.")
- (IF (>= ratio 5)
- (message caster "You feel somewhat in control of your magic.")
- (IF (>= ratio 4)
- (message caster "You feel you still have a few difficulties in controlling your magic.")
- (IF (>= ratio 3)
- (message caster "Trying to control your magic is still rather troublesome.")
- (IF (>= ratio 2)
- (message caster "You feel that you have only the bare minimum of control over your magic.")
- (IF (>= ratio 1)
- (message caster "You feel quite overwhelmed by your magic, but are beginning to see patterns.")
- (message caster "You feel completely overwhelmed by your magic."))))))))))))))))))
-
-(SPELL () transmute-wood-to-figurine "#parum" (STRING name)
- (LET level 1)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 5)
- (CASTTIME 4000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (COMPONENTS "RawLog"))
- (|
- (=>
- (REQUIRE
- (== name "boo"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "MoubooFigurine" 1 "WarpedLog" 40)
- (CALL gain_xp 1 0)))
- (=>
- (REQUIRE
- (== name "lurk"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "WarpedLog" 1 "WarpedLog" 40)
- (message caster "You have no idea what a Skytlurk looks like."))))))
-
-(SPELL () make-sulphur "#gole" ()
- (LET level 1)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 4)
- (CASTTIME 4000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (COMPONENTS "PileOfAsh"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "SulphurPowder"
- (+
- (+ 1
- (/ spellpower 100))
- (/
- (random
- (max 1
- (- 800 spellpower)))
- 180))
- "PileOfAsh"
- 50)
- (CALL gain_xp 1 1))))
-
-(SPELL () lesser-heal "#lum" (STRING target)
- (LET level 1)
- (LET school LIFE)
- (=>
- (GUARD
- (MANA 6)
- (CASTTIME 500)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (if_then_else
- (failed
- (pc target))
- 1
- (<
- (rdistance
- (location caster)
- (location
- (pc target)))
- (+ 2
- (/ spellpower 100)))))
- (GUARD
- (COMPONENTS "Lifestone")))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (IF (failed
- (pc target))
- (BLOCK
- (IF (&&
- (||
- (== target "mouboo")
- (== target "Mouboo"))
- (<
- (rdistance
- (location caster)
- (location
- (npc "Mouboo")))
- (+ 2
- (/ spellpower 100))))
- (SCRIPT "{
- mes \"Your spell seems to have no effect on the mouboo.\";
- close;
- }")
- (SET target caster)))
- (BLOCK
- (SET target
- (pc target))
- (IF (is_dead target)
- (ABORT))))
- (CALL gain_heal_xp
- (min 200
- (-
- (max_hp target)
- (hp target)))
- 1
- 2
- 2) "report half values for non-instaheal"
- (CALL heal target 200)
- (IF (>
- (skill caster DARK)
- 1)
- (status_change caster SC_HALT_REGENERATE 0 0 0 0 2000))
- (CALL gain_xp 1 2))))
-
-(SPELL () flare-dart "#flar" ()
- (LET level 1)
- (LET school WAR)
- (=>
- (GUARD
- (MANA 10)
- (CASTTIME 500)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (GUARD
- (OR
- (REQUIRE
- (>
- (skill caster school)
- 2))
- (COMPONENTS "SulphurPowder"))))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (SET damage
- (* 5
- (sqrt spellpower)))
- (SET damage_bonus
- (+ 5
- (/
- (level caster)
- 3)))
- (CALL install_attack_spell
- (+ 3
- (/ spellpower 50))
- 1200
- 4
- 31)
- (CALL gain_xp 1 3)
- (ATTRIGGER
- (CALL attack_check target)
- (CALL elt_damage target damage damage_bonus ELT_WATER ELT_FIRE 15)))))
-
-(SPELL () magic-blade "#chiza" ()
- (LET level 1)
- (LET school WAR)
- (=>
- (GUARD
- (MANA 9)
- (CASTTIME 500)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level)))
- (|
- (=>
- (COMPONENTS "SharpKnife")
- (EFFECT
- (CALL adjust_spellpower WAR)
- (CALL default_effect)
- (CALL install_melee_spell
- (+ 10
- (/ spellpower 15))
- 1200
- 30)
- (CALL gain_xp 1 4)
- (ATTRIGGER
- (CALL melee_damage target 60
- (+ 5
- (str caster))))))
- (=>
- (COMPONENTS "Knife")
- (EFFECT
- (CALL adjust_spellpower WAR)
- (CALL default_effect)
- (CALL install_melee_spell
- (+ 10
- (/ spellpower 15))
- 1200
- 30)
- (CALL gain_xp 1 5)
- (ATTRIGGER
- (CALL melee_damage target 40
- (+ 5
- (str caster)))))))))
-
-(SPELL () aggravate "#itenplz" ()
- (LET level 1)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 3)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level)))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (FOREACH MOB target
- (rbox
- (location caster)
- (+ 2
- (/ spellpower 50)))
- (IF (line_of_sight
- (location caster)
- (location target))
- (BLOCK
- (CALL sfx_generic target)
- (aggravate target 0 caster)))))))
-
-(SPELL () grow-mauve "#modrilax" ()
- (LET level 1)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 4)
- (CASTTIME 2000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (COMPONENTS "MauveHerb" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 1 6)
- (CALL summon_spell 1029
- (+
- (/
- (skill caster school)
- 2)
- 1)
- (- 4000
- (* spellpower 9))
- (+ 10000
- (* spellpower 50))
- 999999
- school))))
-
-(SPELL () grow-alizarin "#modriphoo" ()
- (LET level 1)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 4)
- (CASTTIME 2000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (COMPONENTS "AlizarinHerb" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 1 7)
- (CALL summon_spell 1032
- (+
- (/
- (skill caster school)
- 2)
- 1)
- (- 4000
- (* spellpower 9))
- (+ 10000
- (* spellpower 50))
- 999999
- school))))
-
-(SPELL () grow-gamboge "#modriyikam" ()
- (LET level 1)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 4)
- (CASTTIME 2000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (COMPONENTS "GambogeHerb" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 1 8)
- (CALL summon_spell 1031
- (+
- (/
- (skill caster school)
- 2)
- 1)
- (- 4000
- (* spellpower 9))
- (+ 10000
- (* spellpower 50))
- 999999
- school))))
-
-(SPELL () grow-cobalt "#modrisump" ()
- (LET level 1)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 4)
- (CASTTIME 2000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (COMPONENTS "CobaltHerb" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 1 9)
- (CALL summon_spell 1030
- (+
- (/
- (skill caster school)
- 2)
- 1)
- (- 4000
- (* spellpower 9))
- (+ 10000
- (* spellpower 50))
- 999999
- school))))
-
-(SPELL (LOCAL) summon-maggots "#kalmurk" ()
- (LET level 1)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 21)
- (CASTTIME 20000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (COMPONENTS "MaggotSlime" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL gain_xp 1 10)
- (CALL summon_spell 1002
- (+ 1
- (/
- (+
- (sqrt spellpower)
- (/ spellpower 15))
- 5))
- (- 5000
- (* spellpower 5))
- (+ 10000
- (* spellpower 50))
- 1
- school))))
-
-(SPELL () detect-magic "#miteyo" ()
- (LET level 1)
- (LET school MAGIC)
- (=>
- (GUARD
- (MANA 3)
- (CASTTIME 6000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level)))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (SET range
- (+ 1
- (/ spellpower 50)))
- (FOREACH NPC n
- (rbox
- (location caster)
- range)
- (IF (||
- (contains_string
- (name_of n)
- "#MAGIC")
- (contains_string
- (name_of n)
- "#_M"))
- (sfx n SFX_DEFAULT 0)))
- (FOREACH SPELL s (rbox
- (location caster)
- range) (IF (!= s self_invocation)
- (sfx s SFX_DEFAULT 0))))))
diff --git a/world/map/conf/magic-level2.sex b/world/map/conf/magic-level2.sex
deleted file mode 100644
index e4bd6908..00000000
--- a/world/map/conf/magic-level2.sex
+++ /dev/null
@@ -1,1462 +0,0 @@
-"--------------------------------------------------------------------------------"
-" Level 2 spells "
-"--------------------------------------------------------------------------------"
-(SPELL () make-arrows "#kularzufrill" ()
- (LET level 2)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 8)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "RawLog"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "Arrow"
- (+
- (+ 1
- (/ spellpower 40))
- (/
- (random
- (max 1
- (- 800 spellpower)))
- 80))
- "WarpedLog"
- 500)
- (CALL gain_xp 1 11))))
-
-(SPELL () make-shirt "#patmuploo" ()
- (LET level 2)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 25)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS
- (5 "CottonCloth")))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "CottonShirt" 1 "CottonCloth" 425)
- (CALL gain_xp 2 12))))
-
-(SPELL () make-tanktop "#patloree" ()
- (LET level 2)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 25)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS
- (4 "CottonCloth")))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "TankTop" 1 "CottonCloth" 350)
- (CALL gain_xp 2 13))))
-
-(SPELL () make-short-tanktop "#patviloree" ()
- (LET level 2)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 25)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS
- (3 "CottonCloth")))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "ShortTankTop" 1 "CottonCloth" 250)
- (CALL gain_xp 2 14))))
-
-(SPELL () make-iron-powder "#zukminbirf" ()
- (LET level 2)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 8)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "IronOre"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "IronPowder"
- (+
- (+ 1
- (/ spellpower 140))
- (/
- (random
- (max 1
- (- 900 spellpower)))
- 220))
- "IronOre"
- 700)
- (CALL gain_xp 3 15))))
-
-(SPELL () make-concentration-potion "#loshira" ()
- (LET level 2)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 8)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "BottleOfWater"
- (2 "CobaltHerb")
- (2 "PinkPetal")))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item
- (if_then_else
- (<
- (random
- (+ 2000 experience))
- experience)
- "ConcentrationPotion"
- "DarkConcentrationPotion")
- 1
- (if_then_else
- (random 2)
- "DilutedConcentrationPot"
- "DarkConcentrationPotion")
- 2000)
- (IF success
- (CALL set_var MAGIC_FLAGS 1 MFLAG_MADE_CONC_POTION_SHIFT 1))
- (CALL gain_xp 4 16))))
-
-(SPELL () merge-concentration-potions "#skrimp" ()
- (LET level 2)
- (LET school TRANSMUTE)
- (=>
- (GUARD
- (MANA 8)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "DarkConcentrationPotion" "DilutedConcentrationPot"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL create_item "ConcentrationPotion" 1 "DilutedConcentrationPot" 1000)
- (message caster
- (+ "success = " success))
- (IF success
- (CALL set_var MAGIC_FLAGS 1 MFLAG_MADE_CONC_POTION_SHIFT 1))
- (CALL gain_xp 4 17))))
-
-(SPELL () lay-on-hands "#inma" (STRING target)
- (LET level 2)
- (LET school LIFE)
- (=>
- (GUARD
- (MANA 10)
- (CASTTIME 500)
- (REQUIRE
- (>
- (hp caster)
- (/
- (max_hp caster)
- 20)))
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (if_then_else
- (failed
- (pc target))
- 1
- (&&
- (&&
- (&&
- (!=
- (pc target)
- caster)
- (<
- (rdistance
- (location caster)
- (location
- (pc target)))
- (+ 2
- (/
- (+
- (* 12
- (sqrt spellpower))
- spellpower)
- 100))))
- (not
- (running_status_update
- (pc target)
- SC_HALT_REGENERATE)))
- (not
- (is_equipped
- (pc target)
- "MagicGMTopHat"))))))
- (EFFECT
- (CALL adjust_spellpower school)
- (IF (not target)
- (ABORT))
- (IF (failed
- (pc target))
- (BLOCK
- (IF (&&
- (||
- (== target "mouboo")
- (== target "Mouboo"))
- (<
- (rdistance
- (location caster)
- (location
- (npc "Mouboo")))
- (+ 2
- (/ spellpower 100))))
- (BLOCK
- (SET needed 1000)
- (SCRIPT "{
- set @spell, 1;
- callfunc \"QuestMoubooHeal\";
- }"))
- (ABORT)))
- (BLOCK
- (SET target
- (pc target))
- (SET needed
- (-
- (max_hp target)
- (hp target)))))
- (SET pay_fraction
- (max 80
- (- 200
- (+
- (vit caster)
- (/ spellpower 10))))) "Pay at least 40%"
- (SET payment
- (/
- (* needed pay_fraction)
- 200))
- (SET available
- (-
- (hp caster)
- (/
- (max_hp caster)
- 20)))
- (IF (< payment available)
- (SET power needed)
- (BLOCK
- (SET payment available)
- (SET power
- (/
- (* available 200)
- pay_fraction))))
- (CALL gain_heal_xp power 1 1 3)
- (CALL quickheal target power)
- (SET t 5000) "with dark magic skill you pay 1/20 of max hp but the regenerate cooldown is cut in half"
- (SET school DARK)
- (SET h
- (*
- (/
- (max_hp caster)
- 20)
- -1))
- (IF (>=
- (skill caster school)
- level)
- (itemheal caster h 0))
- (IF (>=
- (skill caster school)
- level)
- (SET t 10000))
- (status_change caster SC_HALT_REGENERATE 0 0 0 0 t)
- (CALL gain_xp
- (min 4
- (/ payment 100))
- 18))))
-
-(SPELL () lightning-strike "#ingrav" ()
- (LET level 2)
- (LET school WAR)
- (=>
- (GUARD
- (MANA 20)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (GUARD
- (OR
- (REQUIRE
- (>=
- (skill caster school) "The spell is free at magic lv 4"
- 4))
- (COMPONENTS "IronPowder"))))
- (EFFECT
- (CALL adjust_spellpower school)
- (SET damage spellpower)
- (SET damage_bonus
- (+ 1
- (/ spellpower 2)))
- (CALL install_attack_spell
- (+ 1
- (/ spellpower 90))
- 3000
- 8
- 31)
- (CALL gain_xp 2 19)
- (ATTRIGGER
- (CALL attack_check target)
- (SET in_rain 0)
- (SET area
- (location caster))
- (FOREACH SPELL s (rbox
- (location caster)
- (+ MAX_RAIN_SPELL_RADIUS 1)) (IF (==
- (name_of s)
- "rain")
- (BLOCK
- (IF (is_in
- (location caster)
- (. s area))
- (BLOCK
- (SET in_rain
- (| in_rain 1))
- (SET area
- (+ area
- (. s area)))))
- (IF (is_in
- (location target)
- (. s area))
- (SET in_rain
- (| in_rain 2))))))
- (IF (& in_rain 1)
- (BLOCK "caster standing in the rain? This is going to be fun."
- (SET used 0)
- (FOREACH TARGET t area
- (IF (>
- (+
- (random 200)
- (luk caster))
- 175)
- (BLOCK
- (SET used
- (+ used 1))
- (CALL elt_damage t
- (/ damage 6)
- (+ 1
- (/ damage_bonus 3))
- ELT_EARTH
- ELT_WIND
- (+ 17
- (random 3))))))
- (IF (||
- (not used)
- (<
- (+
- (random 200)
- (luk caster))
- 150))
- (BLOCK
- (sfx caster
- (+ 17
- (random 3))
- 0)
- (itemheal caster
- (-
- (- 0 damage)
- (random damage_bonus))
- 0))))
- (CALL elt_damage target damage damage_bonus ELT_EARTH ELT_WIND
- (+ 17
- (random 3))))))))
-
-(SPELL (LOCAL) arrow-hail "#frillyar" ()
- (LET level 2)
- (LET school WAR)
- (=>
- (GUARD
- (MANA 25)
- (CASTTIME 5000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (is_exterior
- (location caster)))
- (GUARD
- (OR
- (COMPONENTS
- (20 "Arrow"))
- (COMPONENTS
- (20 "IronArrow"))))
- (GUARD
- (OR
- (REQUIRE
- (>
- (skill caster school)
- 3))
- (COMPONENTS "SulphurPowder"))))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL abort_on_area_shield
- (location caster))
- (SET range 7)
- (SET area
- (rbox
- (awayfrom
- (location caster)
- (dir caster)
- (+ 1 range))
- range))
- (FOREACH SPELL s (rbox
- (awayfrom
- (location caster)
- (dir caster)
- (+ 1 range))
- (* range 2)) (IF (&&
- (!= s self_invocation)
- (==
- (name_of s)
- "arrow-hail"))
- (BLOCK
- (message caster "A nearby arrow hail spell absorbs your magic!")
- (ABORT))))
- (SET damage 125)
- (SET damage_bonus
- (/ spellpower 5))
- (CALL gain_xp 2 20)
- (FOR i 0
- (/ spellpower 8)
- (BLOCK
- (IF (not (pc caster))
- (ABORT))
- (FOR j 0 2
- (BLOCK
- (IF (not (pc caster))
- (ABORT))
- (SET location
- (random_location area))
- (sfx location SFX_ARROW_HAIL 0)
- (SET done 0)
- (FOREACH TARGET target
- (rbox location 0)
- (BLOCK
- (injure caster target
- (+
- (+ damage
- (random damage_bonus))
- (random damage_bonus))
- 0)
- (SET done 1)
- (BREAK)))
- (IF (&&
- (==
- (location caster)
- location)
- (not done))
- (BLOCK
- (itemheal caster
- (- 0
- (+
- (+ damage
- (random damage_bonus))
- (random damage_bonus)))
- 0)
- (sfx caster SFX_HIT 0)))))
- (WAIT
- (+
- (+ 250
- (random 50))
- (random 50))))))))
-
-(SPELL () magic-knuckles "#upmarmu" ()
- (LET level 2)
- (LET school WAR)
- (=>
- (GUARD
- (MANA 20)
- (CASTTIME 500)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (GUARD
- (OR
- (REQUIRE
- (>
- (skill caster school)
- 3))
- (COMPONENTS "Beer"))))
- (EFFECT
- (CALL adjust_spellpower WAR)
- (SET str
- (str caster))
- (CALL install_melee_spell
- (+ 10
- (/ spellpower 10))
- 1300
- 34)
- (ATTRIGGER
- (CALL melee_damage target 30
- (+ 5
- (* str 2)))))))
-
-(SPELL (LOCAL) summon-snakes "#halhiss" ()
- (LET level 2)
- (LET school DARK)
- (=>
- (GUARD
- (MANA 40)
- (CASTTIME 15000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (>
- (script_int caster "OrumQuest")
- 40))
- (COMPONENTS "DarkCrystal" "SnakeEgg"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 3 31)
- (CALL summon_spell 1010
- (+ 1
- (/ spellpower 300))
- (- 4000
- (* spellpower 9))
- (* spellpower 80)
- 2
- school))))
-
-(SPELL () toxic-dart "#phlex" ()
- (LET level 2)
- (LET school DARK)
- (=>
- (GUARD
- (MANA 15)
- (CASTTIME 500)
- (REQUIRE
- (>
- (script_int caster "OrumQuest")
- 37))
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (GUARD
- (OR
- (REQUIRE
- (>=
- (skill caster school)
- 3))
- (COMPONENTS
- (2 "Root")))))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (SET damage
- (* 5
- (sqrt spellpower)))
- (SET damage_bonus
- (+ 5
- (/
- (level caster)
- 3)))
- (CALL install_attack_spell
- (+ 3
- (/ spellpower 75))
- 1200
- 4
- 31)
- (CALL gain_xp 3 35)
- (ATTRIGGER
- (CALL attack_check target)
- (CALL elt_damage target damage damage_bonus ELT_NEUTRAL ELT_POISON 15)
- (IF (&&
- (is_pc target)
- (!= caster target))
- (status_change target SC_POISON
- (+ 5
- (max 15
- (/ spellpower 15)))
- 0
- 0
- 0
- (+ 5000
- (* spellpower 1200))))))))
-
-(SPELL (LOCAL) summon-wickedmushroom "#helorp" ()
- (LET level 2)
- (LET school DARK)
- (=>
- (GUARD
- (MANA 35)
- (CASTTIME 15000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>
- (script_int caster "OrumQuest")
- 36))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "SmallMushroom" "DarkCrystal"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 3 36)
- (CALL summon_spell 1106
- (+ 1
- (/ spellpower 250))
- (- 4000
- (* spellpower 9))
- (* spellpower 80)
- 2
- school))))
-
-(SPELL () flying-backpack "#plugh" (PC target)
- (LET level 2)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 12)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (GUARD
- (OR
- (REQUIRE
- (>
- (skill caster school)
- 3))
- (COMPONENTS "SilkCocoon")))
- (REQUIRE
- (<
- (rdistance
- (location target)
- (location caster))
- (+ 2
- (/ spellpower 30)))))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (IF (!= caster target)
- (sfx caster 2 0))
- (status_change target SC_FLYING_BACKPACK 0 0 0 0
- (+ 5000
- (* spellpower 500)))
- (message target "Your backpack is lifted by a mystical force; you no longer feel it pressing on your back.")
- (CALL gain_xp 1 21)
- (ATEND
- (message target "Your backpack is no longer levitating.")
- (sfx target 2 0)))))
-
-(SPELL () protect "#betsanc" (PC target)
- (LET level 2)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 14)
- (CASTTIME 1500)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (not
- (is_equipped
- (pc target)
- "MagicGMTopHat")))
- (GUARD
- (OR
- (REQUIRE
- (>=
- (skill caster school)
- 4))
- (COMPONENTS "HardSpike")))
- (REQUIRE
- (<
- (rdistance
- (location target)
- (location caster))
- (+ 2
- (/ spellpower 30)))))
- (EFFECT
- (CALL adjust_spellpower school)
- (sfx target 11 0)
- (IF (!= caster target)
- (CALL default_effect))
- (status_change target SC_PHYS_SHIELD
- (+ 5
- (max 15
- (/ spellpower 20)))
- 0
- 0
- 0
- (+ 5000
- (* spellpower 1000)))
- (message target "You feel more protected.")
- (CALL gain_xp 2 22)
- (ATEND
- (message target "You feel less protected.")
- (sfx target 111 0)))))
-
-(SPELL () happy-curse "#joyplim" (PC target)
- (LET level 2)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 13)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (GUARD
- (OR
- (REQUIRE
- (>
- (skill caster school)
- 3))
- (COMPONENTS "GingerBreadMan")))
- (REQUIRE
- (<
- (rdistance
- (location target)
- (location caster))
- (+ 1
- (/ spellpower 100)))))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (IF (>
- (skill caster DARK)
- 1)
- (FOR i 0
- (/ spellpower 10)
- (BLOCK
- (emote target 5)
- (WAIT 500)))
- (FOR i 0
- (/ spellpower 10)
- (BLOCK
- (emote target 3)
- (WAIT 500))))
- (CALL gain_xp 1 23))))
-
-(SPELL (LOCAL) rain "#kaflosh" ()
- (LET level 2)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 17)
- (CASTTIME 3000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (is_exterior
- (location caster)))
- (GUARD
- (OR
- (REQUIRE
- (>=
- (skill caster school)
- 4))
- (COMPONENTS "BottleOfWater"))))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL abort_on_area_shield
- (location caster))
- (FOREACH SPELL s (rbox
- (location caster)
- (+ MAX_RAIN_SPELL_RADIUS 1)) (IF (&&
- (!= s self_invocation)
- (==
- (name_of s)
- "rain"))
- (BLOCK
- (message caster "A nearby raincloud absorbs your magic.")
- (ABORT))))
- (CALL gain_xp 1 24)
- (SET range
- (min MAX_RAIN_SPELL_RADIUS
- (+ 3
- (/
- (min spellpower 200)
- 30))))
- (SET area
- (rbox
- (location caster)
- range))
- (IF (||
- (is_in
- (location
- (npc "#DruidTree0#_M"))
- area)
- (is_in
- (location
- (npc "#DruidTree1#_M"))
- area))
- (SCRIPT "{
- set @flag, 1;
- callfunc \"QuestTreeTrigger\";
- close;
- }"))
- (IF (is_in
- (location caster)
- (@+
- (@ "011-1" 94 38)
- 9
- 7))
- (SCRIPT "{
- callfunc \"HalloweenQuestWaterPumpkins\";
- }")) "Halloween quest"
- (FOR i 0
- (/ spellpower 3)
- (BLOCK
- (IF (not (pc caster))
- (ABORT))
- (FOR j 0
- (/
- (min
- (/ spellpower 2)
- 200)
- 100)
- (BLOCK
- (IF (not (pc caster))
- (ABORT))
- (SET location
- (random_location area))
- (sfx location SFX_RAIN 0)
- (FOREACH TARGET target
- (rbox location 1)
- (IF (==
- (element target)
- ELT_FIRE)
- (injure caster target
- (+ 2
- (random
- (+ 5
- (/ spellpower 15))))
- 0)))))
- (WAIT
- (+ 400
- (random 100))))))))
-
-(PROCEDURE shear-drop (target target2 item prob)
- (IF (||
- (== target name)
- (== target2 name))
- (BLOCK
- (IF (< score prob)
- (drop_item_for place item 1 60000 caster 5000)))))
-
-(PROCEDURE shear-drop2 (target target2 item prob item2 prob2)
- (IF (||
- (== target name)
- (== target2 name))
- (BLOCK
- (IF (< score prob)
- (drop_item_for place item 1 60000 caster 5000)
- (CALL shear-drop target target2 item2
- (+ prob2 prob))))))
-
-(PROCEDURE shear-drop3 (target target2 item prob item2 prob2 item3 prob3)
- (IF (||
- (== target name)
- (== target2 name))
- (BLOCK
- (IF (< score prob)
- (drop_item_for place item 1 60000 caster 5000)
- (CALL shear-drop2 target target2 item2
- (+ prob2 prob)
- item3
- (+ prob3 prob))))))
-
-(SPELL () shear "#chipchip" ()
- (LET level 2)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 23)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level)))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (override_attack caster 1 2000 1 ATTACK_ICON_SHEARING 30 0)
- (ATTRIGGER
- (IF (not
- (is_pc target))
- (BLOCK
- (SET score
- (random
- (- 1000
- (random spellpower)))) "lower score -> more valuable item"
- (SET name
- (name_of target))
- (SET place
- (random_location
- (rbox
- (location target)
- 1)))
- (IF (running_status_update target SC_SHEARED)
- (ABORT))
- (status_change target SC_SHEARED 0 0 0 0 600000) "10 minutes"
- (CALL shear-drop "Fluffy" "Fluffy" "WhiteFur" 300)
- (CALL shear-drop "EasterFluffy" "Easter Fluffy" "WhiteFur" 300)
- (CALL shear-drop "SpikyMushroom" "Spiky Mushroom" "HardSpike" 250)
- (CALL shear-drop "Mouboo" "Mouboo" "CottonCloth" 175)
- (CALL shear-drop "Cobalt" "CobaltPlant" "CobaltHerb" 700)
- (CALL shear-drop "Alizarin" "AlizarinPlant" "AlizarinHerb" 700)
- (CALL shear-drop "Gamboge" "GambogePlant" "GambogeHerb" 700)
- (CALL shear-drop "Mauve" "MauvePlant" "MauveHerb" 700)
- (CALL shear-drop "SilkWorm" "Silkworm" "SilkCocoon" 300)
- (CALL shear-drop "Pinkie" "Pinkie" "PinkAntenna" 180)
- (IF (&&
- (||
- (||
- (== name "Fluffy")
- (== name "Mouboo"))
- (== name "Pinkie"))
- (random 2))
- (SCRIPT "{
- set @value, 1;
- callfunc \"QuestSagathaHappy\";
- }"))))))))
-
-(SPELL () barrier "#asorm" (PC target)
- (LET level 2)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 16)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (not
- (is_equipped
- (pc target)
- "MagicGMTopHat")))
- (GUARD
- (OR
- (REQUIRE
- (>
- (skill caster school)
- 3))
- (COMPONENTS "SmallMushroom")))
- (REQUIRE
- (<
- (rdistance
- (location target)
- (location caster))
- (+ 2
- (/ spellpower 30)))))
- (EFFECT
- (CALL adjust_spellpower school)
- (sfx target SFX_BARRIER 0)
- (IF (!= caster target)
- (CALL default_effect))
- (status_change target SC_MBARRIER
- (+ 20
- (max 30
- (/ spellpower 8)))
- 0
- 0
- 0
- (+ 2000
- (* spellpower 200)))
- (message target "You are surrounded by a magical barrier.")
- (CALL gain_xp 3 25)
- (ATEND
- (message target "Your magical barrier dissipates.")
- (sfx target SFX_UNBARRIER 0)))))
-
-(SPELL (LOCAL) summon-spiky-mushrooms "#kalrenk" ()
- (LET level 2)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 33)
- (CASTTIME 20000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "HardSpike" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 1 26)
- (CALL summon_spell 1019
- (+ 1
- (/ spellpower 120))
- (- 5000
- (* spellpower 9))
- (* spellpower 400)
- 2
- school))))
-
-(SPELL (LOCAL) summon-fluffies "#kalakarenk" ()
- (LET level 2)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 39)
- (CASTTIME 20000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "WhiteFur" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 1 27)
- (CALL summon_spell 1020
- (+
- (+ 1
- (/ spellpower 170))
- (/ spellpower 430))
- (- 5000
- (* spellpower 8))
- (* spellpower 350)
- 2
- school))))
-
-(SPELL (LOCAL) summon-mouboo "#kalboo" ()
- (LET level 2)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 35)
- (CASTTIME 20000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "MoubooFigurine" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 2 37)
- (CALL summon_spell 1028
- (+ 1
- (/ spellpower 270))
- (- 4000
- (* spellpower 9))
- (* spellpower 100)
- 2
- school))))
-
-(SPELL (LOCAL) summon-pinkie "#kalgina" ()
- (LET level 2)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 35)
- (CASTTIME 20000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "PinkAntenna" "Root"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (CALL gain_xp 2 38)
- (CALL summon_spell 1018
- (+ 1
- (/ spellpower 120))
- (- 5000
- (* spellpower 9))
- (* spellpower 150)
- 2
- school))))
-
-(SPELL () detect-players "#inwilt" ()
- (LET level 2)
- (LET school MAGIC)
- (=>
- (GUARD
- (MANA 7)
- (CASTTIME 300)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level)))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (SET message "")
- (FOREACH PC target
- (rbox
- (location caster)
- (/ spellpower 2))
- (IF (&&
- (&&
- (!= target caster)
- (not
- (running_status_update
- (pc target)
- SC_HIDE)))
- (not
- (status_option target SO_GMINVISIBLE)))
- (BLOCK
- (IF (!= message "")
- (SET message
- (+ message ", ")))
- (SET message
- (+ message
- (name_of target)))
- (IF (> spellpower 99)
- (SET message
- (+
- (+
- (+ message "(")
- (level target))
- ")"))))))
- (IF (== message "")
- (message caster "You sense no-one else nearby.")
- (message caster
- (+ "You sense the following: " message))))))
-
-(SPELL () enchant-lifestone "#manpahil" ()
- (LET level 2)
- (LET school MAGIC)
- (=>
- (GUARD
- (MANA 15)
- (CASTTIME 4000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (GUARD
- (OR
- (OR
- (COMPONENTS "BugLeg")
- (COMPONENTS "MaggotSlime"))
- (COMPONENTS "MauveHerb" "AlizarinHerb" "CobaltHerb" "GambogeHerb"))))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (create_item caster "Lifestone" 1)
- (CALL gain_xp 1 28))))
-
-(SPELL () sense-spouse "#inzuwilt" ()
- (LET level 2)
- (LET school MAGIC)
- (=>
- (GUARD
- (MANA 7)
- (CASTTIME 400)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (is_married caster))
- (REQUIRE
- (is_equipped caster "WeddingRing")))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (IF (||
- (failed
- (partner caster))
- (not
- (is_equipped
- (partner caster)
- "WeddingRing")))
- (BLOCK
- (message caster "You cannot sense your partner.")
- (ABORT)))
- (SET partner
- (partner caster))
- (SET name
- (name_of partner))
- (IF (||
- (is_dead partner)
- (!=
- (map_nr
- (location partner))
- (map_nr
- (location caster))))
- (BLOCK
- (message caster
- (+
- (+ "You cannot sense " name)
- " nearby."))
- (ABORT)))
- (IF (&&
- (>
- (map_level
- (location partner))
- 2)
- (<
- (map_level
- (location caster))
- (map_level
- (location partner))))
- (BLOCK
- (message caster
- (+
- (+ "You sense " name)
- " somewhere below."))
- (ABORT)))
- (IF (&&
- (>
- (map_level
- (location caster))
- 2)
- (<
- (map_level
- (location partner))
- (map_level
- (location caster))))
- (BLOCK
- (message caster
- (+
- (+ "You sense " name)
- " somewhere above."))
- (ABORT)))
- (IF (!=
- (map_level
- (location caster))
- (map_level
- (location partner)))
- (message caster
- (+
- (+ "You sense " name)
- " somewhere in the vincinity."))
- (BLOCK
- (SET distance
- (rdistance
- (location caster)
- (location partner)))
- (SET dir
- (dir_towards
- (location caster)
- (location partner)
- 1))
- (IF (< distance 3)
- (message caster
- (+
- (+ "You sense " name)
- " right next to you."))
- (IF (< distance 30)
- (message caster
- (+
- (+
- (+
- (+ "You sense " name)
- " close by, towards the ")
- dir)
- "."))
- (IF (< distance 200)
- (message caster
- (+
- (+
- (+
- (+ "You sense " name)
- " nearby, towards the ")
- dir)
- "."))
- (message caster
- (+
- (+
- (+
- (+ "You sense " name)
- " in the ")
- dir)
- "."))))))))))
-
-(SPELL () hide "#anwiltyp" (PC target)
- (LET level 2)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 11)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (GUARD
- (OR
- (REQUIRE
- (>
- (skill caster school)
- 3))
- (COMPONENTS "CottonCloth")))
- (REQUIRE
- (<
- (rdistance
- (location target)
- (location caster))
- (+ 2
- (/ spellpower 30)))))
- (EFFECT
- (CALL adjust_spellpower school)
- (sfx target SFX_DEFAULT 0)
- (IF (!= caster target)
- (CALL default_effect))
- (status_change target SC_HIDE 0 0 0 0
- (+ 5000
- (* spellpower 2500)))
- (CALL gain_xp 2 29)
- (message target "You are hidden!")
- (IF (!= caster target)
- (message caster "You hid someone!"))
- (ATEND
- (message target "You are no longer hidden.")))))
diff --git a/world/map/conf/magic-level3.sex b/world/map/conf/magic-level3.sex
deleted file mode 100644
index 5d4d7374..00000000
--- a/world/map/conf/magic-level3.sex
+++ /dev/null
@@ -1,179 +0,0 @@
-"--------------------------------------------------------------------------------"
-" Level 3 spells "
-"--------------------------------------------------------------------------------"
-(DISABLED
- (SPELL () cure-poison "#anju" (PC target)
- (LET level 3)
- (LET school LIFE)
- (=>
- (GUARD
- (MANA 15)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (<
- (rdistance
- (location caster)
- (location
- (pc target)))
- (+ 1
- (/ spellpower 60))))
- (COMPONENTS "GambogeHerb"))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (IF (running_status_update target SC_POISON)
- (BLOCK
- (CALL gain_heal_xp 40 1 2 2)
- (stop_status_change target SC_POISON)
- (CALL gain_xp 2 30)
- (IF (!= caster target)
- (sfx target SFX_HEAL 0))))))))
-
-(DISABLED
- (SPELL () fire-ball "#flarfol" ()
- (LET level 3)
- (LET school WAR)
- (=>
- (GUARD
- (MANA 30)
- (CASTTIME 1000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (COMPONENTS "PileOfAsh"))
- (EFFECT
- (CALL adjust_spellpower school)
- (SET damage
- (min
- (+ 50
- (*
- (skill caster school)
- 40))
- (+ 30
- (/
- (* spellpower 3)
- 2))))
- (SET damage_bonus
- (+
- (level caster)
- (* spellpower 2)))
- (SET radius
- (+ 2
- (/ spellpower 50)))
- (CALL install_attack_spell
- (+ 1
- (/ spellpower 60))
- 5000
- 10
- 31)
- (ATTRIGGER
- (CALL attack_check target)
- (SET loc
- (location target))
- (DISABLED (WAIT 500))
- (sfx loc 16 0)
- (FOREACH TARGET target
- (rbox loc radius)
- (IF (line_of_sight loc
- (location target))
- (BLOCK
- (SET divisor
- (+ 3
- (rdistance loc
- (location target))))
- (CALL elt_damage target
- (/
- (* damage 3)
- divisor)
- (/
- (* damage_bonus 3)
- divisor)
- ELT_WATER
- ELT_FIRE
- 15)))))))))
-
-(DISABLED
- (SPELL () summon-partner "#kalzumin" ()
- (LET level 3)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 30)
- (CASTTIME 2000)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level))
- (REQUIRE
- (is_married caster))
- (REQUIRE
- (is_equipped caster "WeddingRing")))
- (EFFECT
- (CALL adjust_spellpower school)
- (CALL default_effect)
- (IF (failed
- (partner caster))
- (message caster "You call out for your partner, but there is no response.")
- (BLOCK
- (message caster
- (+
- (+ "You call out for "
- (name_of
- (partner caster)))
- "."))
- (message
- (partner caster)
- (+
- (name_of caster)
- " is calling for your aid!"))
- (sfx
- (partner caster)
- 2
- 0)
- (WAIT
- (max 5000
- (- 30000
- (* spellpower 60))))
- (IF (failed
- (partner caster))
- (message caster "Your partner has abandoned you.")
- (IF (is_dead
- (partner caster))
- (message caster
- (+
- (+ "Something seems to have happened to "
- (name_of
- (partner caster)))
- "."))
- (BLOCK
- (sfx
- (location
- (partner caster))
- SFX_TELEPORT
- 0)
- (SET dest
- (awayfrom
- (location caster)
- (random_dir 1)
- 1))
- (warp
- (partner caster)
- dest)
- (sfx dest SFX_TELEPORT 0))))))))))
diff --git a/world/map/conf/magic-level4.sex b/world/map/conf/magic-level4.sex
deleted file mode 100644
index f04092f4..00000000
--- a/world/map/conf/magic-level4.sex
+++ /dev/null
@@ -1,3 +0,0 @@
-"--------------------------------------------------------------------------------"
-" Level 4 spells "
-"--------------------------------------------------------------------------------"
diff --git a/world/map/conf/magic-level5.sex b/world/map/conf/magic-level5.sex
deleted file mode 100644
index 056c9e50..00000000
--- a/world/map/conf/magic-level5.sex
+++ /dev/null
@@ -1,55 +0,0 @@
-"--------------------------------------------------------------------------------"
-" Level 5 spells "
-"--------------------------------------------------------------------------------"
-(DISABLED
- (SPELL () shroud "#anwilvimar" ()
- (LET level 5)
- (LET school NATURE)
- (=>
- (GUARD
- (MANA 40)
- (CASTTIME 400)
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level)))
- (EFFECT
- (CALL default_effect)
- (shroud caster 0x04)))))
-
-(DISABLED
- (SPELL () teleport "#vorp" (STRING destination)
- (LET level 5)
- (LET school ASTRAL)
- (=>
- (GUARD
- (MANA 80)
- (CASTTIME 400)
- (COMPONENT "EtherEssence")
- (CATALYSTS "TeleportCrystal")
- (REQUIRE
- (>=
- (skill caster MAGIC)
- level))
- (REQUIRE
- (>=
- (skill caster school)
- level)))
- (EFFECT
- (CALL default_effect)
- (WAIT
- (+ 1000
- (/ 200000
- (+ spellpower 10))))
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)
- (warp caster
- (random_location
- (anchor destination)))
- (sfx caster SFX_TELEPORT 200)))))
diff --git a/world/map/conf/magic-misc.sex b/world/map/conf/magic-misc.sex
index 15672f4c..14d6ea3a 100644
--- a/world/map/conf/magic-misc.sex
+++ b/world/map/conf/magic-misc.sex
@@ -1,68 +1,6 @@
"--------------------------------------------------------------------------------"
" Special-purpose quasispells "
"--------------------------------------------------------------------------------"
-(SPELL (NONMAGIC) dueloff "#dueloff" ()
- (=>
- (GUARD
- (REQUIRE
- (== (substr (location caster) 2 5) "009-7")))
- (EFFECT
- (IF (== (script_int caster "@Duels_Off") 1)
- (BLOCK
- (SCRIPT "{set @Duels_Off, 0;}")
- (message caster "Now accepting incoming duel requests.")
- (ABORT)))
- (SCRIPT "{set @Duels_Off, 1;}")
- (message caster "Now blocking incoming duel requests."))))
-
-(SPELL (NONMAGIC) duel "#duel" (PC target)
- (=>
- (GUARD
- (REQUIRE
- (== (& (script_int target "$SANGUINE") (script_int target "$@SV_FCDBit")) 0)))
- (EFFECT
- (IF (== target caster)
- (BLOCK
- (message caster "You can not fight against yourself.")
- (ABORT)))
- (IF (is_dead target)
- (BLOCK
- (message caster "You can not fight against a corpse.")
- (ABORT)))
- (IF (status_option caster SO_GMINVISIBLE)
- (BLOCK
- (message caster "You can not fight while being invisible.")
- (ABORT)))
- (IF (status_option target SO_GMHIDE)
- (BLOCK
- (message caster "This player have @hide enabled.")
- (ABORT)))
- (IF (status_option target SO_GMINVISIBLE)
- (ABORT))
- (IF (status_option caster SO_GMHIDE)
- (ABORT))
- (IF (!= (substr (location caster) 2 5) "009-7")
- (BLOCK
- (message caster "You need to be in the fight club to challenge someone to a duel.")
- (ABORT)))
- (IF (!= (substr (location target) 2 5) "009-7")
- (BLOCK
- (message caster "This player is not in the fight club at the moment.")
- (ABORT)))
- (IF (> (script_int target "@Duels_Off") 0)
- (BLOCK
- (message caster "This player is automatically ignoring incoming duel requests.")
- (ABORT)))
- (IF (> (script_int caster "$@Duel_Queue_ID[($@Duel_QueueLimit)]") 0)
- (BLOCK
- (message caster (+ (+ "There is already " (script_int caster "$@Duel_QueueLimit")) " duel(s) in the queue, which is the maximum."))
- (ABORT)))
- (IF (> (script_int target "@Duel_Queue[($@Duel_PlayerQueueLimit)]") 0)
- (BLOCK
- (message caster (+ (+ "There is already " (script_int caster "$@Duel_PlayerQueueLimit")) " duel request(s) in the queue of this player, which is the maximum."))
- (ABORT)))
- (SET script_target target)
- (SCRIPT "{callfunc \"fightclub_sendrequest\";}"))))
(SPELL (NONMAGIC SILENT) marriage "marry" (PC target)
(=>
@@ -165,53 +103,3 @@
(+
(name_of target)
" turned down your marriage offer."))))))
-
-(DISABLED
- (SPELL (LOCAL) mouboo-groan "#g" ()
- (=>
- (GUARD
- (MANA 1)
- (REQUIRE
- (==
- (name_of caster)
- "MOUBOOTAUR")))
- (EFFECT
- (FOREACH PC p
- (rbox
- (location caster)
- 200)
- (SET distance
- (rdistance
- (location caster)
- (location p))))
- (IF (< distance 15)
- (message p "The moubootaur's groaning rings in your ears!")
- (IF (< distance 70)
- (message p "You hear a loud groaning noise, not far away...")
- (message p "You hear an odd groaning noise in the distance...")))))))
-
-(DISABLED
- (SPELL (LOCAL) mouboo-smell "#s" ()
- (=>
- (GUARD
- (MANA 1)
- (REQUIRE
- (==
- (name_of caster)
- "MOUBOOTAUR")))
- (EFFECT
- (WAIT 30000)
- (FOREACH PC p
- (rbox
- (location caster)
- 30)
- (message p "You notice a strange smell all around you."))))))
-
-(SPELL (NONMAGIC) killgm0 "#pullrabbit" ()
- (=>
- (REQUIRE
- (is_equipped caster "MagicGMTopHat"))
- (EFFECT
- (SCRIPT "{
- callfunc \"ActivateMagicGMTophat\";
- }"))))
diff --git a/world/map/conf/magic-procedures.sex b/world/map/conf/magic-procedures.sex
index ea62f50f..0ba40bc8 100644
--- a/world/map/conf/magic-procedures.sex
+++ b/world/map/conf/magic-procedures.sex
@@ -286,12 +286,7 @@
(WAIT delay)
(sfx location SFX_SUMMON_FIRE 0)
(spawn
- (rbox location (if_then_else
- (is_in (location caster)
- (@+
- (@ "009-7" (- (script_int caster "$@fightclub_x1") 2) (- (script_int caster "$@fightclub_y1") 2))
- (+ (- (script_int caster "$@fightclub_x2") (script_int caster "$@fightclub_x1")) 5)
- (+ (- (script_int caster "$@fightclub_y2") (script_int caster "$@fightclub_y1")) 5))) 1 2))
+ (rbox location 2)
caster
mob_id
(if_then_else
diff --git a/world/map/conf/magic-quests.sex b/world/map/conf/magic-quests.sex
deleted file mode 100644
index 4b8a822c..00000000
--- a/world/map/conf/magic-quests.sex
+++ /dev/null
@@ -1,154 +0,0 @@
-(PROCEDURE hug_tree (target)
- (IF (||
- (||
- (||
- (||
- (||
- (||
- (||
- (||
- (== target "")
- (== target "tree"))
- (== target "tree*"))
- (== target "Tree"))
- (== target "Tree*"))
- (== target "druid"))
- (== target "druid*"))
- (== target "Druid"))
- (== target "Druid*"))
- (SCRIPT "{
- set @flag, 2;
- callfunc \"QuestTreeTrigger\";
- close;
- }")))
-
-(SPELL (NONMAGIC) hug0 "hug" (STRING target)
- (=>
- (REQUIRE
- (||
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree0#_M")))
- 1)
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree1#_M")))
- 1)))
- (EFFECT
- (CALL hug_tree target))))
-
-(SPELL (NONMAGIC) hug1 "*hug*" (STRING target)
- (=>
- (REQUIRE
- (||
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree0#_M")))
- 1)
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree1#_M")))
- 1)))
- (EFFECT
- (CALL hug_tree target))))
-
-(SPELL (NONMAGIC) hug2 "*hug" (STRING target)
- (=>
- (REQUIRE
- (||
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree0#_M")))
- 1)
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree1#_M")))
- 1)))
- (EFFECT
- (CALL hug_tree target))))
-
-(SPELL (NONMAGIC) hug3 "hugs" (STRING target)
- (=>
- (REQUIRE
- (||
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree0#_M")))
- 1)
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree1#_M")))
- 1)))
- (EFFECT
- (CALL hug_tree target))))
-
-(SPELL (NONMAGIC) hug4 "*hugs*" (STRING target)
- (=>
- (REQUIRE
- (||
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree0#_M")))
- 1)
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree1#_M")))
- 1)))
- (EFFECT
- (CALL hug_tree target))))
-
-(SPELL (NONMAGIC) hug5 "*hugs" (STRING target)
- (=>
- (REQUIRE
- (||
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree0#_M")))
- 1)
- (<=
- (rdistance
- (location caster)
- (location
- (npc "#DruidTree1#_M")))
- 1)))
- (EFFECT
- (CALL hug_tree target))))
-
-"--------------------------------------------------------------------------------"
-"Illia spell"
-"--------------------------------------------------------------------------------"
-(SPELL (NONMAGIC) illia0 "#catalazuli" ()
- (=>
- (REQUIRE
- (==
- (rdistance
- (location caster)
- (location
- (npc "#Power Circle")))
- 0))
- (EFFECT
- (SCRIPT "{
- callfunc \"StartChannelling\";}
- "))))
diff --git a/world/map/conf/tmwa-map.conf b/world/map/conf/tmwa-map.conf
index 849779af..fa28abe5 100644
--- a/world/map/conf/tmwa-map.conf
+++ b/world/map/conf/tmwa-map.conf
@@ -9,7 +9,9 @@ map_conf: conf/map_athena.conf
battle_conf: conf/battle_athena.conf
atcommand_conf: conf/atcommand_athena.conf
+const_db: db/params.txt
const_db: db/const.txt
+const_db: db/const-magic.txt
const_db: db/const-quest.txt
const_db: db/const-mapflags.txt
const_db: db/const-debugflag.txt
@@ -35,19 +37,4 @@ mob_db: db/mob_db_over_100.txt
mob_skill_db: db/mob_skill_db.txt
skill_db: db/skill_db.txt
-magic_conf: conf/magic-config.sex
-magic_conf: conf/magic-procedures.sex
-magic_conf: conf/magic-level0.sex
-magic_conf: conf/magic-level1.sex
-magic_conf: conf/magic-level2.sex
-magic_conf: conf/magic-level3.sex
-magic_conf: conf/magic-level4.sex
-magic_conf: conf/magic-level5.sex
-magic_conf: conf/magic-misc.sex
-magic_conf: conf/magic-quests.sex
-magic_conf: conf/magic-anchors.sex
-magic_conf: conf/magic-quickdebug.sex
-
-magic_conf: conf/magic-secrets.sex
-
resnametable: data/resnametable.txt