summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/item_db.conf5
-rw-r--r--db/re/skill_db.conf12
-rw-r--r--db/re/skill_tree.conf1
-rw-r--r--npc/magic/stoneheart.txt63
-rw-r--r--npc/scripts.conf1
5 files changed, 80 insertions, 2 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 4f7d27736..90c597811 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -11174,9 +11174,9 @@ item_db: (
// Skills for Aegis Shield, all beyond maximum level
// Cave Maggot, Maggot, Green Dragon, Slimes, Snakes
- // Wolverns, Fairies, Yeti (sometimes Moggun)
+ // Wolverns, Fairies, Yeti (sometimes Moggun), Terranite
// TODO: Lizards, (Black)Scorpions,
- // TODO: Moonshroom, Terranite
+ // TODO: Moonshroom,
// TODO: Black Mamba, Centaur, <todo>, plants/shrooms/squirrels (roots/spores)
skill TMW2_ZARKOR, 7;
skill TMW2_HALHISS, 12;
@@ -11184,6 +11184,7 @@ item_db: (
skill TMW2_KALWULF, 9;
skill TMW2_DRAGOKIN, 5;
skill TMW2_LIMERIZER, 14;
+ skill TMW2_STONEHEART, 9;
skill TMW2_FROZENHEART, 9;
skill TMW2_FAIRYKINGDOM, 9;
">
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index 8cb6b2634..a2c0ac009 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -38582,4 +38582,16 @@ skill_db: (
Quest: true
}
},
+{
+ Id: 20040
+ Name: "TMW2_STONEHEART"
+ Description: "Stone Heart"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
)
diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf
index 325538fc1..2f592afbf 100644
--- a/db/re/skill_tree.conf
+++ b/db/re/skill_tree.conf
@@ -53,6 +53,7 @@ Human: {
TMW2_KALWULF: 5
TMW2_FAIRYKINGDOM: 5
TMW2_FROZENHEART: 5
+ TMW2_STONEHEART: 5
// Unrelated
ALL_INCCARRY: 0
diff --git a/npc/magic/stoneheart.txt b/npc/magic/stoneheart.txt
new file mode 100644
index 000000000..c31f90f7d
--- /dev/null
+++ b/npc/magic/stoneheart.txt
@@ -0,0 +1,63 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_STONEHEART
+//
+// Summons terranite
+
+- script sk#stoneheart 32767,{
+ end;
+
+OnCall:
+ // Other requeriments: 1x Terranite Ore
+ if (countitem(TerraniteOre) < 1) {
+ dispbottom l("You need 1x @@ to cast this skill.", getitemlink(TerraniteOre));
+ end;
+ }
+
+ // Check cooldown
+ if (@stoneheart_at > gettimetick(2)) {
+ dispbottom l("Skill is in cooldown for @@.", FuzzyTime(@stoneheart_at));
+ end;
+ }
+
+ // Setup
+ @sk=TMW2_STONEHEART;
+ @mp=475;
+ @amp=55;
+
+ // Check if you have mana to cast
+ // MagicCheck(SkillID, Mana{, MP per level})
+ if (!MagicCheck(@sk, @mp, @amp))
+ end;
+
+ // Destroy reagents
+ delitem TerraniteOre, 1;
+
+ // set cooldown
+ @stoneheart_at=gettimetick(2);
+ @stoneheart_at=@stoneheart_at+44;
+
+ // As usual, magic profeciency affects success ratio
+ if (rand(1,6) < abizit()+1) {
+ .@mobId=Terranite;
+ if (rand(9,12) < (abizit()*2)+1 && BaseLevel > 80)
+ {
+ .@mobId=TerraniteProtector;
+ }
+ // Summon Magic
+ // SummonMagic(SkillID, MobID{, SkillLevelPerMob=2{, Level Override}})
+ SummonMagic(@sk, .@mobId, 4, MAGIC_LVL+getskilllv(@sk)-1);
+ } else {
+ dispbottom l("The spell fails!");
+ }
+
+ // Get 4~5 mana experience point (this is NOT used by Mana Stone)
+ GetManaExp(@sk, rand(4,5));
+
+ end;
+
+OnInit:
+ bindatcmd "sk-stoneheart", "sk#stoneheart::OnCall", 0, 100, 0;
+ end;
+}
diff --git a/npc/scripts.conf b/npc/scripts.conf
index 62de24752..a816b45f1 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -109,6 +109,7 @@
"npc/magic/limerizer.txt",
"npc/magic/mkpot.txt",
"npc/magic/parum.txt",
+"npc/magic/stoneheart.txt",
"npc/magic/zarkor.txt",
// These are to be proccessed later