summaryrefslogtreecommitdiff
path: root/npc/magic
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-04-15 10:30:58 -0300
committerJesusaves <cpntb1@ymail.com>2021-04-15 10:30:58 -0300
commitd6c5eed07646add1ec1cb2105c57e2c52f475cdd (patch)
tree00fbf973f6afe7580c5cade95e564937486f1a73 /npc/magic
parent4e42c86d33f7137e4c110df63083f705a7fd6e4d (diff)
downloadserverdata-d6c5eed07646add1ec1cb2105c57e2c52f475cdd.tar.gz
serverdata-d6c5eed07646add1ec1cb2105c57e2c52f475cdd.tar.bz2
serverdata-d6c5eed07646add1ec1cb2105c57e2c52f475cdd.tar.xz
serverdata-d6c5eed07646add1ec1cb2105c57e2c52f475cdd.zip
Add new Betsanc and Asorm
Diffstat (limited to 'npc/magic')
-rw-r--r--npc/magic/final.txt4
-rw-r--r--npc/magic/level2-protect.txt51
2 files changed, 55 insertions, 0 deletions
diff --git a/npc/magic/final.txt b/npc/magic/final.txt
index e6f17617..a60f51ad 100644
--- a/npc/magic/final.txt
+++ b/npc/magic/final.txt
@@ -64,6 +64,10 @@ function script HUB_SkillInvoke {
SK_SummonLv2(); break;
case SKILL_KAFLOSH:
SK_Kaflosh(); break;
+ case SKILL_BETSANC:
+ SK_Betsanc(); break;
+ case SKILL_ASORM:
+ SK_Asorm(); break;
// Level 3
// Level 4
// Level 5
diff --git a/npc/magic/level2-protect.txt b/npc/magic/level2-protect.txt
new file mode 100644
index 00000000..19682245
--- /dev/null
+++ b/npc/magic/level2-protect.txt
@@ -0,0 +1,51 @@
+// The Mana World script
+// Author: Jesusalva <jesusalva@themanaworld.org>
+//
+// Magic Script: Betsanc and Asorm (Level 1)
+// School: Nature/Astral 2
+
+function script SK_Betsanc {
+ // party-guild filter
+ if (!filter_sameguildorparty(@skillTarget)) {
+ dispbottom b("Betsanc: ")+l("Skill can only be cast on party or guild members!");
+ return;
+ }
+ // no GM Hat/Bots? Not needed due filter?
+ delitem HardSpike, 1;
+ // Same duration as Kaflosh
+ .@PW=80+(20*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ .@time=5+.@dmg/11;
+ .@PX=10+cap_value(.@dmg/33, 0, 20);
+ // SC, Time, DEF+, ASPD-
+ sc_start2(SC_PHYSICAL_SHIELD, .@time, .@PX*2, .@PX, 10000,
+ SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE, @skillTarget);
+ specialeffect FX_MAGIC_SHIELD_CAST, AREA, @skillTarget;
+ GetManaExp(@skillId, 2);
+ return;
+}
+
+function script SK_Asorm {
+ // party-guild filter
+ if (!filter_sameguildorparty(@skillTarget)) {
+ dispbottom b("Betsanc: ")+l("Skill can only be cast on party or guild members!");
+ return;
+ }
+ // no GM Hat/Bots? Not needed due filter?
+ delitem SmallMushroom, 1;
+ // Same duration as Kaflosh
+ .@PW=80+(20*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ .@time=5+.@dmg/11;
+ .@PX=10+cap_value(.@dmg/33, 0, 20);
+ // SC_STONESKIN(??, def, mdef); Usually for mobs. Skill NPC_ANTIMAGIC
+ // SC_FREYJASCROLL(MDEF, PerfectFlee)
+ // SC_MDEFSET(MDEF)
+ // SC, Time, MDEF+
+ sc_start(SC_MDEFSET, .@time, .@PX*2, 10000,
+ SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE, @skillTarget);
+ specialeffect FX_MAGIC_BARRIER_HIT, AREA, @skillTarget;
+ GetManaExp(@skillId, 2);
+ return;
+}
+