diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/magic/final.txt | 4 | ||||
-rw-r--r-- | npc/magic/level2-protect.txt | 51 | ||||
-rw-r--r-- | npc/scripts.conf | 3 |
3 files changed, 57 insertions, 1 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; +} + diff --git a/npc/scripts.conf b/npc/scripts.conf index 95ff9137..a41f2967 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -18,6 +18,7 @@ "npc/functions/random-talk.txt", "npc/functions/inc_sc_bonus.txt", "npc/commands/kami.txt", +"npc/functions/filters.txt", // Main Functions "npc/functions/banker.txt", @@ -75,6 +76,7 @@ "npc/magic/level1-grow-plants.txt", "npc/magic/level1-lesser-heal.txt", "npc/magic/level2-lay-on-hands.txt", +"npc/magic/level2-protect.txt", "npc/magic/level2-rain.txt", "npc/magic/level2-summon-monsters.txt", "npc/magic/final.txt", @@ -111,7 +113,6 @@ "npc/annuals/halloween/trick_or_treat.txt", // Post Loading Functions -"npc/functions/filters.txt", "npc/functions/scoreboards.txt", "npc/functions/global_event_handler.txt", |