diff options
Diffstat (limited to 'npc/magic/level2-summon-monsters.txt')
-rw-r--r-- | npc/magic/level2-summon-monsters.txt | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/npc/magic/level2-summon-monsters.txt b/npc/magic/level2-summon-monsters.txt new file mode 100644 index 00000000..9c28e639 --- /dev/null +++ b/npc/magic/level2-summon-monsters.txt @@ -0,0 +1,53 @@ +// The Mana World script +// Author: Jesusalva <jesusalva@themanaworld.org> +// +// Magic Script: Multiple (Level 1) +// School: Astral/Dark 2 + +// SK_SummonLv2() +function script SK_SummonLv2 { + // Setup + switch (@skillId) { + case SKILL_KALAKARENK: + .@it = WhiteFur; .@mobId = Fluffy; .@am = 3; .@cl = Root; + .@fx1 = FX_MAGIC_FLUFFY_CAST; .@fx2 = FX_MAGIC_FLUFFY_SPAWN; break; + case SKILL_KALBOO: + .@it = MoubooFigurine; .@mobId = Mouboo; .@am = 4; .@cl = Root; + .@fx1 = FX_MAGIC_MOUBOO_CAST; .@fx2 = FX_MAGIC_MOUBOO_SPAWN; break; + case SKILL_KALGINA: + .@it = PinkAntenna; .@mobId = Pinkie; .@am = 2; .@cl = Root; + .@fx1 = FX_MAGIC_PINKY_CAST; .@fx2 = FX_MAGIC_PINKY_SPAWN; break; + case SKILL_KALRENK: + .@it = HardSpike; .@mobId = SpikyMushroom; .@am = 2; .@cl = Root; + .@fx1 = FX_MAGIC_SPIKY_CAST; .@fx2 = FX_MAGIC_SPIKY_SPAWN; break; + + // Should non-astral magic be here? + case SKILL_HALHISS: + .@it = SnakeEgg; .@mobId = Snake; .@am = 4; .@cl = DarkCrystal; + .@fx1 = FX_MAGIC_SNAKE_CAST; .@fx2 = FX_MAGIC_SNAKE_SPAWN; break; + case SKILL_HELORP: + .@it = SmallMushroom; .@am = 3; .@cl = DarkCrystal; + .@mobId = any(WickedMushroom, WickedMushroom, WickedMushroom, + WickedMushroom, WickedMushroom, WickedMushroom, + EvilMushroom, Moonshroom, Moonshroom, Moonshroom); + .@fx1 = FX_MAGIC_WICKED_CAST; .@fx2 = FX_MAGIC_WICKED_SPAWN; break; + + default: return; + } + // Consume reagents + delitem .@cl, 1; + delitem .@it, 1; + // Estimate the cast time + if (.@cl == Root) + .@ct = 400+rand2(1001-getskilllv(MAGIC_SKILL_ASTRAL)*100); + else if (.@cl == DarkCrystal) + .@ct = 400+rand2(1001-getskilllv(MAGIC_SKILL_DARK)*100); + // Summon the monsters (or fail trying to) + specialeffect(.@fx1, AREA, getcharid(3)); + sleep2(.@ct); + SK_summon(.@mobId, .@am, 2); + specialeffect(.@fx2, AREA, getcharid(3)); + return; +} + + |