summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/item_db.conf1
-rw-r--r--db/re/skill_db.conf14
-rw-r--r--db/re/skill_tree.conf1
-rw-r--r--npc/magic/halhiss.txt65
-rw-r--r--npc/scripts.conf1
5 files changed, 82 insertions, 0 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 212e13172..61dd7c64c 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -11177,6 +11177,7 @@ item_db: (
skill TMW2_KALMURK, 10;
skill TMW2_DRAGOKIN, 5;
skill TMW2_LIMERIZER, 14;
+ skill TMW2_HALHISS, 12;
">
OnUnequipScript: <"
@min = 20;
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index 712f5362e..ca2de7df2 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -38514,6 +38514,7 @@ skill_db: (
Quest: true
}
},
+// Debug: 20031~20035
{
Id: 20031
Name: "TMW2_FAKESKILL"
@@ -38532,4 +38533,17 @@ skill_db: (
Self: true
}
},
+// More skills: 20036~20042
+{
+ Id: 20036
+ Name: "TMW2_HALHISS"
+ Description: "Halhiss"
+ MaxLevel: 12
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
)
diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf
index 27405c77b..d118a7f0a 100644
--- a/db/re/skill_tree.conf
+++ b/db/re/skill_tree.conf
@@ -49,6 +49,7 @@ Human: {
TMW2_DEMURE: 15
TMW2_DRAGOKIN: 5
TMW2_LIMERIZER: 5
+ TMW2_HALHISS: 8
// Unrelated
ALL_INCCARRY: 0
diff --git a/npc/magic/halhiss.txt b/npc/magic/halhiss.txt
new file mode 100644
index 000000000..b86840cb8
--- /dev/null
+++ b/npc/magic/halhiss.txt
@@ -0,0 +1,65 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_HALHISS
+//
+// Summons snakes (mountain snakes if GHQ was completed and enough skill)
+
+- script sk#halhiss 32767,{
+ end;
+
+OnCall:
+ // Other requeriments: 20x Maggot Slime
+ if (countitem(SnakeEgg) < 1) {
+ dispbottom l("You need 1x @@ to cast this skill.", getitemlink(SnakeEgg));
+ end;
+ }
+
+ // Check cooldown
+ if (@halhiss_at > gettimetick(2)) {
+ dispbottom l("Skill is in cooldown for @@.", FuzzyTime(@halhiss_at));
+ end;
+ }
+
+ // Setup
+ @sk=TMW2_HALHISS;
+ @mp=350;
+ @amp=60;
+
+ // Check if you have mana to cast
+ // MagicCheck(SkillID, Mana{, MP per level})
+ if (!MagicCheck(@sk, @mp, @amp))
+ end;
+
+ // Destroy reagents
+ delitem SnakeEgg, 1;
+
+ // set cooldown
+ @halhiss_at=gettimetick(2);
+ @halhiss_at=@halhiss_at+44;
+
+ // As usual, magic profeciency affects success ratio
+ if (rand(1,4) < abizit()+1) {
+ .@mobId=Snake;
+ if (abizit() > 3 &&
+ GHMEMO[GHQ_GetQuestIDByMonsterID(MountainSnake)] >= 10000 &&
+ rand(1,3) == 2)
+ {
+ .@mobId=MountainSnake;
+ }
+ // 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 3~4 mana experience point (this is NOT used by Mana Stone)
+ GetManaExp(@sk, rand(3,4));
+
+ end;
+
+OnInit:
+ bindatcmd "sk-halhiss", "sk#halhiss::OnCall", 0, 100, 0;
+ end;
+}
diff --git a/npc/scripts.conf b/npc/scripts.conf
index f28398d0e..d557c8061 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -101,6 +101,7 @@
// Magic Commands
"npc/magic/demure.txt",
"npc/magic/dragokin.txt",
+"npc/magic/halhiss.txt",
"npc/magic/kalmurk.txt",
"npc/magic/limerizer.txt",
"npc/magic/mkpot.txt",