New scripts

New scripts for commands and effects that use the new function
signatures and work with the new statuseffectcontainer
This commit is contained in:
Yogurt 2019-05-29 23:05:40 -07:00
parent 4f80023156
commit 00017468cc
129 changed files with 884 additions and 396 deletions

View file

@ -12,7 +12,7 @@ end;
function onSkillFinish(caster, target, skill, action, actionContainer)
--calculate damage
action.amount = skill.basePotency;
action.statusMagnitude = 15;
skill.statusMagnitude = 15;
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);

View file

@ -12,22 +12,16 @@ end;
--Increased damage and conversion to single target
function onCombo(caster, target, spell)
spell.aoeType = 0;
spell.potency = spell.potency * 1.5;
spell.basePotency = spell.basePotency * 1.5;
end;
function onSkillFinish(caster, target, skill, action, actionContainer)
--Dispels an effect on each target.
local effects = target.statusEffects.GetStatusEffectsByFlag2(16); --lose on dispel
if effects != nil then
target.statusEffects.RemoveStatusEffect(effects[0]);
end;
--calculate damage
action.amount = skill.basePotency;
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);
--Try to apply status effect
action.TryStatus(caster, target, skill, actionContainer, true);
--Dispels an effect on each target.
target.statusEffects.RemoveStatusEffect(GetRandomEffectByFlag(8), actionContainer, 30336);
end;

View file

@ -1,5 +1,6 @@
require("global");
require("magic");
require("modifiers");
function onMagicPrepare(caster, target, spell)
return 0;
@ -14,7 +15,7 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
--2.5 HP per Healing Magic Potency
--0.5 HP per MND
--this is WITH WHM AF chest, don't know formula without AF. AF seems to increase healing by 7-10%?
action.amount = 2.5 * caster.GetMod(modifiersGlobal.MagicHeal) + 0.5 * (caster.GetMod(modifiersGlobal.Mind));
action.amount = 2.5 * caster.GetMod(modifiersGlobal.HealingMagicPotency) + 0.5 * (caster.GetMod(modifiersGlobal.Mind));
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);

View file

@ -30,7 +30,7 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
hpPerMND = 0.25;
end
action.amount = hpPerHMP * caster.GetMod(modifiersGlobal.MagicHeal) + hpPerMND * (caster.GetMod(modifiersGlobal.Mind));
action.amount = hpPerHMP * caster.GetMod(modifiersGlobal.HealingMagicPotency) + hpPerMND * (caster.GetMod(modifiersGlobal.Mind));
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);

View file

@ -11,7 +11,7 @@ end;
function onSkillFinish(caster, target, skill, action, actionContainer)
--calculate damage
action.amount = skill.basePotency;
action.amount = 5000;-- skill.basePotency;
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);

View file

@ -12,6 +12,7 @@ end;
function onSkillFinish(caster, target, skill, action, actionContainer)
--calculate damage
action.amount = skill.basePotency;
skill.statusMagnitude = 20;
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);

View file

@ -24,6 +24,6 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
if caster != target then
caster.AddHP(action.amount / 2)
--33012: You recover [amount] HP.
actionContainer.AddHPAction(caster.actorId, 33012, (action.amount / 2));
actionContainer.AddHPAbsorbAction(caster.actorId, 33012, (action.amount / 2));
end
end;

View file

@ -12,7 +12,7 @@ end;
function onSkillFinish(caster, target, skill, action, actionContainer)
--Actual amount of def/mdef will be calculated in OnGain
skill.statusMagnitude = caster.GetMod(modifiersGlobal.MagicEnhancePotency);
skill.statusMagnitude = caster.GetMod(modifiersGlobal.EnhancementMagicPotency);
--27365: Enhanced Protect: Increases magic defense gained from Protect.
if caster.HasTrait(27365) then

View file

@ -25,7 +25,7 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
intercept = intercept * 1.25;
end
local regenTick = (slope * caster.GetMod(modifiersGlobal.MagicEnhancePotency)) + intercept) + 1;
local regenTick = (slope * caster.GetMod(modifiersGlobal.EnhancementMagicPotency)) + intercept + 1;
spell.statusMagnitude = regenTick;

View file

@ -12,7 +12,7 @@ end;
function onSkillFinish(caster, target, skill, action, actionContainer)
--calculate damage
action.amount = skill.basePotency;
action.statusMagnitude = 50;
skill.statusMagnitude = 50;
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);

View file

@ -1,5 +1,6 @@
require("global");
require("magic");
require("modifiers")
function onMagicPrepare(caster, target, spell)
return 0;
@ -19,7 +20,7 @@ function onSkillFinish(caster, target, skill, action, actionContainer)
hpPerPoint = 1.96;
end
spell.statusMagnitude = hpPerPoint * caster.GetMod(modifiersGlobal.MagicEnhancePotency);
skill.statusMagnitude = hpPerPoint * caster.GetMod(modifiersGlobal.EnhancementMagicPotency);
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);

View file

@ -0,0 +1,35 @@
require("global");
require("magic");
function onMagicPrepare(caster, target, skill)
return 0;
end;
function onMagicStart(caster, target, skill)
return 0;
end;
function onSkillFinish(caster, target, skill, action, actionContainer)
--223224: Swiftsong
--223254: Ballad Of Magi
--223256: Minuet of Rigor
--If target has one of these effects that was from this caster, remove it
local oldSong;
local paeon = target.statusEffects.GetStatusEffectById(223255);
local ballad = target.statusEffects.GetStatusEffectById(223254);
local minuet = target.statusEffects.GetStatusEffectById(223256);
if paeon and paeon.GetSource() == caster then
oldSong = paeon;
elseif ballad and ballad.GetSource() == caster then
oldSong = ballad;
elseif minuet and minuet.GetSource() == caster then
oldSong = minuet;
end
if oldSong then
target.statusEffects.RemoveStatusEffect(oldSong);
end
--DoAction handles rates, buffs, dealing damage
action.DoAction(caster, target, skill, actionContainer);
end;