mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
Rewrote aoe checks for cone and line aoes and added minimum distance values Added height checks for commands Fixed combo effects repeating for every target hit by AoE attacks Fixed teleport sometimes not raising (I think) Fixed gear checks in some command scripts
55 lines
1.9 KiB
Lua
55 lines
1.9 KiB
Lua
require("global");
|
|
require("magic");
|
|
|
|
function onMagicPrepare(caster, target, skill)
|
|
return 0;
|
|
end;
|
|
|
|
function onMagicStart(caster, target, skill)
|
|
--Miuet gives 35 ACC/MACC by default at level 50. Minuet does scale with level
|
|
--BV apparetnly gives 71 ACc/MACC
|
|
--Formula seems to be level - 15, not sure why BV gives 71 at 50 then
|
|
local acc = caster.GetLevel() - 15;
|
|
|
|
--8071405: Choral Ringbands: Enhances Minuet of Rigor
|
|
--With Choral Tights, Minuet gives 60 ACC/MACC at 50. Unsure what it is at lower levels (ie if it's a flat added 25 MP or a multiplier)
|
|
--Assuming it's a flat 25 because that makes more sense than multiplying by 1.714
|
|
if caster.HasItemEquippedInSlot(8071405, 13) then
|
|
acc = acc + 25;
|
|
end
|
|
|
|
--223253: Battle Voice
|
|
--Battle Voice doubles effect of songs
|
|
if caster.statusEffects.HasStatusEffect(223253) then
|
|
acc = acc * 2;
|
|
--Set status tier so we can check it later when BV falls off
|
|
skill.statusTier = 2;
|
|
end
|
|
|
|
skill.statusMagnitude = acc;
|
|
end;
|
|
|
|
function onSkillFinish(caster, target, skill, action, actionContainer)
|
|
--223224: Swiftsong
|
|
--223254: Ballad Of Magi
|
|
--223255: Paeon of War
|
|
--If target has one of these effects that was from this caster, remove it
|
|
local oldSong;
|
|
local swiftSong = target.statusEffects.GetStatusEffectById(223224);
|
|
local ballad = target.statusEffects.GetStatusEffectById(223254);
|
|
local paeon = target.statusEffects.GetStatusEffectById(223255);
|
|
if swiftSong and swiftSong.GetSource() == caster then
|
|
oldSong = swiftSong;
|
|
elseif ballad and ballad.GetSource() == caster then
|
|
oldSong = ballad;
|
|
elseif paeon and paeon.GetSource() == caster then
|
|
oldSong = paeon;
|
|
end
|
|
|
|
if oldSong then
|
|
target.statusEffects.RemoveStatusEffect(oldSong);
|
|
end
|
|
|
|
--DoAction handles rates, buffs, dealing damage
|
|
action.DoAction(caster, target, skill, actionContainer);
|
|
end; |