User:Freeyorp/Patches/BETA/Add make-Terranite-Arrow Spell

From The Mana World

WARNING: This patch is part of a collection of very beta patches.

From 3f02cbd55b6018938aa6d0b0cf4367000e519f0c Mon Sep 17 00:00:00 2001
From: Freeyorp <Freeyorp101@[email protected]>
Date: Fri, 17 Jul 2009 15:31:15 +1200
Subject: [PATCH] Add make-terranite-arrows spell.

This is still BETA, exact probabilities yet to be fine-tuned.
---
 conf/magic.conf.template |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/conf/magic.conf.template b/conf/magic.conf.template
index 707a771..bd90816 100644
--- a/conf/magic.conf.template
+++ b/conf/magic.conf.template
@@ -547,6 +547,31 @@ SPELL merge-concentration-potions : "#T16" =
                     THEN CALL set_var(MAGIC_FLAGS, 1, MFLAG_MADE_CONC_POTION_SHIFT, 1);
                     CALL gain_xp(4);
 
+SPELL make-terranite-arrows : "#T17" =
+      LET level = 1
+          school = TRANSMUTE
+      IN (MANA 20, CASTTIME 8000,
+          REQUIRE skill(caster, MAGIC) > level,
+          REQUIRE skill(caster, school) > level,
+          COMPONENTS ["PEARL"])
+          => ( (COMPONENTS [50 * "IronArrow"])
+                => EFFECT CALL adjust_spellpower(school);
+                          CALL default_effect();
+                          temp = 0;
+                          IF (random(200) + random(50 + spellpower >> 2) + random(max(300 - spellpower / 6,5)) + random(experience >> 3) + experience >> 5 > 350)
+                          THEN temp = 1;
+                          CALL create_item(if_then_else(temp,"TerraniteArrow","IronArrow"), if_then_else(temp,1 + spellpower / 80 - random(max(spellpower / 70, 6)) + sqrt(experience) >> 5,min(40,random(40)+random(20))), if_then_else(random(2), if_then_else(random(2), "IronArrow", "IronOre"), "TerraniteOre"), if_then_else(temp,4000,350));
+                          CALL gain_xp(4);
+          |  (  MANA 8,
+                COMPONENTS [50 * "Arrow"])
+                => EFFECT CALL adjust_spellpower(school);
+                          CALL default_effect();
+                          temp = 0;
+                          IF (random(180) + random(50 + spellpower >> 2) + random(max(280 - spellpower / 6,4)) + random(experience >> 3) + experience >> 5 > 380)
+                          THEN temp = 1;
+                          CALL create_item(if_then_else(temp,"TerraniteArrow","Arrow"), if_then_else(temp,1 + spellpower / 85 - random(max(spellpower / 70, 7)) + sqrt(experience) >> 5,min(40,random(40)+random(20))), if_then_else(random(2), if_then_else(random(2), "Arrow", "IronArrow"), "TerraniteOre"), if_then_else(temp,4200,350));
+                          CALL gain_xp(4);
+          )
 
 SPELL lay-on-hands (target : STRING) : "#L10" =
       LET level = 1
-- 
1.6.0.4