mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-08 21:44:35 +02:00
Script fixes and new effects.
Cleaned up unneeded requires in some scripts Fixed Second Wind Added new effect scripts Added bard song scripts that mostly work
This commit is contained in:
parent
ace4dfe58f
commit
c442dc9ecd
72 changed files with 524 additions and 171 deletions
19
data/scripts/commands/ability/battle_voice.lua
Normal file
19
data/scripts/commands/ability/battle_voice.lua
Normal file
|
@ -0,0 +1,19 @@
|
|||
require("global");
|
||||
require("ability");
|
||||
|
||||
function onAbilityPrepare(caster, target, ability)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onAbilityStart(caster, target, ability)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--Only the bard gets the Battle Voice effect
|
||||
if caster == target then
|
||||
actionContainer.AddAction(caster.statusEffects.AddStatusForBattleAction(223253, 1, 0, 30));
|
||||
end
|
||||
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
|
@ -26,7 +26,7 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
|
|||
|
||||
caster.AddMP(amount);
|
||||
|
||||
actionContainer.AddMPAction(caster.actorId, 30321, amount);
|
||||
actionContainer.AddMPAction(caster.actorId, 33007, amount);
|
||||
actionContainer.AddAction(remAction);
|
||||
else
|
||||
--Blissful mind takes 25% of CURRENT HP and begins storing MP up to that point, at which point the buff changes to indicate its full
|
||||
|
|
|
@ -17,7 +17,8 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
|
|||
coverTier = 2;
|
||||
end
|
||||
|
||||
actionContainer.AddAction(caster.statusEffects.AddStatusForBattleAction(223063, coverTier));
|
||||
actionContainer.AddAction(caster.statusEffects.AddStatusForBattleAction(223063, coverTier, skill.statusDuration));
|
||||
|
||||
--Apply Covered to target
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
17
data/scripts/commands/ability/hundred_fists.lua
Normal file
17
data/scripts/commands/ability/hundred_fists.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
require("global");
|
||||
require("ability");
|
||||
require("modifiers");
|
||||
|
||||
function onAbilityPrepare(caster, target, ability)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onAbilityStart(caster, target, ability)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--Take off 1/3 of attack delay. Not sure if this is the exact amount HF reduces by
|
||||
action.statusMagnitude = 0.33 * caster.GetMod(modifiersGlobal.AttackDelay);
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
15
data/scripts/commands/ability/resonance.lua
Normal file
15
data/scripts/commands/ability/resonance.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
require("global");
|
||||
require("ability");
|
||||
|
||||
function onAbilityPrepare(caster, target, ability)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onAbilityStart(caster, target, ability)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
|
@ -1,5 +1,6 @@
|
|||
require("global");
|
||||
require("modifiers");
|
||||
require("utils")
|
||||
--require("ability");
|
||||
|
||||
function onAbilityPrepare(caster, target, ability)
|
||||
|
@ -20,9 +21,11 @@ end;
|
|||
-- An additional random integer (580 at level 50. +/- 3%)
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--Base amount seems to be 0.215x^2 - 0.35x + 60
|
||||
--^ this isn't totally correct
|
||||
local amount = (0.215 * math.pow(caster.GetLevel(), 2)) - (0.35 * caster.GetLevel()) + 60;
|
||||
--Heals can vary by up to 3%
|
||||
amount = math.Clamp(amount * (0.97 + (math.rand() * 3.0)), 0, 9999);
|
||||
|
||||
--Heals can vary by up to 3.5%
|
||||
amount = math.Clamp(amount * (0.965 + (math.random() * 0.07)), 0, 9999);
|
||||
|
||||
--PGL gets an INT bonus for Second Wind
|
||||
if caster.GetClass() == 2 then
|
||||
|
@ -34,6 +37,7 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
|
|||
amount = amount * 1.25;
|
||||
end;
|
||||
|
||||
action.amount = amount;
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
Loading…
Add table
Add a link
Reference in a new issue