mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-07-27 12:56:07 +02:00
Updated Map Server namespace. Moved all other data folders (www and sql) to data folder. Renamed boot name to Project Meteor.
This commit is contained in:
parent
18ef69f3d1
commit
91549bff7a
1823 changed files with 102704 additions and 901 deletions
26
Data/scripts/commands/weaponskill/aura_pulse.lua
Normal file
26
Data/scripts/commands/weaponskill/aura_pulse.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to inflict slow
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusChance = 0.50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/bloodletter.lua
Normal file
26
Data/scripts/commands/weaponskill/bloodletter.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Changes status to Bloodletter from Bloodletter2. Changes icon of dot and adds additional damage at the end.
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusId = 223127;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
17
Data/scripts/commands/weaponskill/breath_of_the_dragon.lua
Normal file
17
Data/scripts/commands/weaponskill/breath_of_the_dragon.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
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)
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
17
Data/scripts/commands/weaponskill/breath_of_the_ram.lua
Normal file
17
Data/scripts/commands/weaponskill/breath_of_the_ram.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
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)
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
23
Data/scripts/commands/weaponskill/brutal_swing.lua
Normal file
23
Data/scripts/commands/weaponskill/brutal_swing.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased damage
|
||||
function onPositional(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.5;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/chaos_thrust.lua
Normal file
26
Data/scripts/commands/weaponskill/chaos_thrust.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased crit hit rating
|
||||
function onCombo(caster, target, skill)
|
||||
skill.bonusCritRate = 100;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
31
Data/scripts/commands/weaponskill/concussive_blow.lua
Normal file
31
Data/scripts/commands/weaponskill/concussive_blow.lua
Normal file
|
@ -0,0 +1,31 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to inflict blind on flank
|
||||
function onPositional(caster, target, skill)
|
||||
skill.statusChance = 0.75;
|
||||
end;
|
||||
|
||||
function onCombo(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.5;
|
||||
end;
|
||||
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
21
Data/scripts/commands/weaponskill/default.lua
Normal file
21
Data/scripts/commands/weaponskill/default.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
28
Data/scripts/commands/weaponskill/demolish.lua
Normal file
28
Data/scripts/commands/weaponskill/demolish.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Dispel
|
||||
--Does dispel have a text id?
|
||||
function onCombo(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
|
||||
if skill.isCombo then
|
||||
target.statusEffects.RemoveStatusEffect(GetRandomEffectByFlag(8), actionContainer, 30336);
|
||||
end
|
||||
end;
|
26
Data/scripts/commands/weaponskill/disembowel.lua
Normal file
26
Data/scripts/commands/weaponskill/disembowel.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased paralysis duration
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusDuration = skill.statusDuration * 2;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
24
Data/scripts/commands/weaponskill/doom_spike.lua
Normal file
24
Data/scripts/commands/weaponskill/doom_spike.lua
Normal file
|
@ -0,0 +1,24 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
require("utils");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased accuracy
|
||||
function onCombo(caster, target, skill)
|
||||
skill.accuracyModifier = 50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = 5000;--skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
29
Data/scripts/commands/weaponskill/dragon_kick.lua
Normal file
29
Data/scripts/commands/weaponskill/dragon_kick.lua
Normal file
|
@ -0,0 +1,29 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to render target unable to use weaponskills (pacification)
|
||||
function onPositional(caster, target, skill)
|
||||
skill.statusChance = 0.50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
|
||||
--Status only seems to apply on the first hit
|
||||
if(action.ActionLanded() and action.hitNum == 1) then
|
||||
--Try to apply status effect
|
||||
action.TryStatus(caster, target, skill, actionContainer, true);
|
||||
end
|
||||
end;
|
22
Data/scripts/commands/weaponskill/fast_blade.lua
Normal file
22
Data/scripts/commands/weaponskill/fast_blade.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onPositional(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.25;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
18
Data/scripts/commands/weaponskill/feint.lua
Normal file
18
Data/scripts/commands/weaponskill/feint.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
25
Data/scripts/commands/weaponskill/flat_blade.lua
Normal file
25
Data/scripts/commands/weaponskill/flat_blade.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onCombo(caster, target, skill)
|
||||
--http://forum.square-enix.com/ffxiv/threads/50479-Gladiator-Paladin-STR-MND-Stat-Caps/page7
|
||||
--4.5 is a bonus on top of the 1x of normal flat blade
|
||||
--This is modified by MND and dlvl and caps at 4.5, dont know the values used though
|
||||
skill.enmityModifier = 5.5;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
21
Data/scripts/commands/weaponskill/fracture.lua
Normal file
21
Data/scripts/commands/weaponskill/fracture.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, spell)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, spell)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
20
Data/scripts/commands/weaponskill/full_thrust.lua
Normal file
20
Data/scripts/commands/weaponskill/full_thrust.lua
Normal file
|
@ -0,0 +1,20 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
|
||||
caster.AddTP(1000);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/gloom_arrow.lua
Normal file
26
Data/scripts/commands/weaponskill/gloom_arrow.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to inflict blind
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusChance = 0.75;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
47
Data/scripts/commands/weaponskill/godsbane.lua
Normal file
47
Data/scripts/commands/weaponskill/godsbane.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
require("modifiers")
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
--Get Berserk statuseffect
|
||||
local berserk = caster.statusEffects.GetStatusEffectById(223160);
|
||||
|
||||
--if it isn't nil, remove the AP and Defense mods and reset extra to 0, increase accuracy
|
||||
if berserk != nil then
|
||||
local apPerHit = 20;
|
||||
local defPerHit = 20;
|
||||
|
||||
if berserk.GetTier() == 2 then
|
||||
apPerHit = 24;
|
||||
end
|
||||
|
||||
caster.SubtractMod(modifiersGlobal.Attack, apPerHit * berserk.GetExtra());
|
||||
caster.Add(modifiersGlobal.Defense, defPerHit * berserk.GetExtra());
|
||||
|
||||
berserk.SetExtra(0);
|
||||
skill.accuracyModifier = 50;
|
||||
end;
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased crit rate
|
||||
function onCombo(caster, target, skill)
|
||||
--This is about 25% crit. Don't know if that's what it gave on retail but seems kind of reasonable
|
||||
skill.critRateBonus = 200;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
33
Data/scripts/commands/weaponskill/goring_blade.lua
Normal file
33
Data/scripts/commands/weaponskill/goring_blade.lua
Normal file
|
@ -0,0 +1,33 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
skill.statusMagnitude = 25;--could probalby have a status magnitude value
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to increase defense when executed from behind the target
|
||||
function onPositional(caster, target, skill)
|
||||
skill.statusChance = 0.90;
|
||||
end;
|
||||
|
||||
--Increases bleed damage
|
||||
--Bleed damage seems like it's 25 with comboed being 38 (25 * 1.5 rounded up)
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusMagnitude = 38;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
21
Data/scripts/commands/weaponskill/haymaker.lua
Normal file
21
Data/scripts/commands/weaponskill/haymaker.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
18
Data/scripts/commands/weaponskill/heavy_shot.lua
Normal file
18
Data/scripts/commands/weaponskill/heavy_shot.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
24
Data/scripts/commands/weaponskill/heavy_swing.lua
Normal file
24
Data/scripts/commands/weaponskill/heavy_swing.lua
Normal file
|
@ -0,0 +1,24 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased accuracy
|
||||
function onCombo(caster, target, skill)
|
||||
skill.accuracyModifier = 50;
|
||||
end;
|
||||
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/heavy_thrust.lua
Normal file
26
Data/scripts/commands/weaponskill/heavy_thrust.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased stun duration
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusDuration = 10;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
28
Data/scripts/commands/weaponskill/howling_fist.lua
Normal file
28
Data/scripts/commands/weaponskill/howling_fist.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased accuracy
|
||||
function onPositional(caster, target, skill)
|
||||
skill.accuracyModifier = 50;
|
||||
end;
|
||||
|
||||
--Increased damage
|
||||
function onCombo(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.5;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
28
Data/scripts/commands/weaponskill/impulse_drive.lua
Normal file
28
Data/scripts/commands/weaponskill/impulse_drive.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased damage
|
||||
function onPositional(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.25
|
||||
end;
|
||||
|
||||
--Increased crit hit rating
|
||||
function onCombo(caster, target, skill)
|
||||
skill.bonusCritRate = 200;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/leaden_arrow.lua
Normal file
26
Data/scripts/commands/weaponskill/leaden_arrow.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased Heavy duration, becomes 60 seconds
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusDuration = 60;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/leg_sweep.lua
Normal file
26
Data/scripts/commands/weaponskill/leg_sweep.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to inflict stun
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusChance = 0.50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
22
Data/scripts/commands/weaponskill/maim.lua
Normal file
22
Data/scripts/commands/weaponskill/maim.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onCombo(caster, target, skill)
|
||||
skill.accuracyModifier = 50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
skill.basePotency = 100;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
18
Data/scripts/commands/weaponskill/overpower.lua
Normal file
18
Data/scripts/commands/weaponskill/overpower.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/path_of_the_storm.lua
Normal file
26
Data/scripts/commands/weaponskill/path_of_the_storm.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to inflict heavy when executed from behind
|
||||
function onPositional(caster, target, skill)
|
||||
skill.statusChance = 0.50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
18
Data/scripts/commands/weaponskill/phalanx.lua
Normal file
18
Data/scripts/commands/weaponskill/phalanx.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
18
Data/scripts/commands/weaponskill/piercing_arrow.lua
Normal file
18
Data/scripts/commands/weaponskill/piercing_arrow.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
25
Data/scripts/commands/weaponskill/pounce.lua
Normal file
25
Data/scripts/commands/weaponskill/pounce.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onPositional(caster, target, skill)
|
||||
skill.statusChance = 0.50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
22
Data/scripts/commands/weaponskill/pummel.lua
Normal file
22
Data/scripts/commands/weaponskill/pummel.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onPositional(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.25;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/quick_nock.lua
Normal file
26
Data/scripts/commands/weaponskill/quick_nock.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--fivefold attack/conversion
|
||||
function onCombo(caster, target, skill)
|
||||
skill.numHits = 5;
|
||||
skill.aoeType = 0;
|
||||
skill.aoeTarget = 2;
|
||||
--animation change?
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
25
Data/scripts/commands/weaponskill/rage_of_halone.lua
Normal file
25
Data/scripts/commands/weaponskill/rage_of_halone.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Accuracy increase
|
||||
function onCombo(caster, target, skill)
|
||||
--Rage of Halone normally has a -40% hit rate modifier.
|
||||
--Does the combo negate that, or does it make it even more accurate than if it didnt have the modifier?
|
||||
skill.accuracyModifier = 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/rain_of_death.lua
Normal file
26
Data/scripts/commands/weaponskill/rain_of_death.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to inflict stun
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusChance = 0.75
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
23
Data/scripts/commands/weaponskill/ring_of_talons.lua
Normal file
23
Data/scripts/commands/weaponskill/ring_of_talons.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased critical hit rate
|
||||
function onCombo(caster, target, skill)
|
||||
skill.bonusCritRate = 100;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
27
Data/scripts/commands/weaponskill/riot_blade.lua
Normal file
27
Data/scripts/commands/weaponskill/riot_blade.lua
Normal file
|
@ -0,0 +1,27 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Chance to decrease defense when executed from behind the target
|
||||
function onPositional(caster, target, skill)
|
||||
skill.statusChance = 0.75;
|
||||
skill.statusMagnitude = 100;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
22
Data/scripts/commands/weaponskill/savage_blade.lua
Normal file
22
Data/scripts/commands/weaponskill/savage_blade.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onCombo(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.25;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/shadowbind.lua
Normal file
26
Data/scripts/commands/weaponskill/shadowbind.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased Bind duration
|
||||
function onCombo(caster, target, skill)
|
||||
skill.statusDuration = 30;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
21
Data/scripts/commands/weaponskill/shield_bash.lua
Normal file
21
Data/scripts/commands/weaponskill/shield_bash.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
23
Data/scripts/commands/weaponskill/simian_thrash.lua
Normal file
23
Data/scripts/commands/weaponskill/simian_thrash.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased damage
|
||||
function onCombo(caster, target, skill)
|
||||
skill.basePotency = skill.basePotency * 1.5;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
24
Data/scripts/commands/weaponskill/skull_sunder.lua
Normal file
24
Data/scripts/commands/weaponskill/skull_sunder.lua
Normal file
|
@ -0,0 +1,24 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, spell)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, spell)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased enmity
|
||||
function onCombo(caster, target, skill)
|
||||
--https://www.bluegartr.com/threads/107403-Stats-and-how-they-work/page17
|
||||
skill.enmityModifier = 2.75;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
29
Data/scripts/commands/weaponskill/spirits_within.lua
Normal file
29
Data/scripts/commands/weaponskill/spirits_within.lua
Normal file
|
@ -0,0 +1,29 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased enmity
|
||||
function onCombo(caster, target, skill)
|
||||
skill.enmityModifier = 2.5;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--Increased damage with higher hp
|
||||
--random guess
|
||||
local potencyModifier = caster:GetHPP() + 25;
|
||||
|
||||
skill.basePotency = skill.basePotency * potencyModifier;
|
||||
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
48
Data/scripts/commands/weaponskill/steel_cyclone.lua
Normal file
48
Data/scripts/commands/weaponskill/steel_cyclone.lua
Normal file
|
@ -0,0 +1,48 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
require("modifiers")
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Resets rampage to increase damage
|
||||
function onSkillStart(caster, target, skill)
|
||||
--Get Rampage statuseffect
|
||||
local rampage = caster.statusEffects.GetStatusEffectById(223208);
|
||||
|
||||
--if it isn't nil, remove the AP and Defense mods and reset extra to 0, increase potency
|
||||
if rampage != nil then
|
||||
local parryPerDT = 20;
|
||||
local delayMsPerDT = 100;
|
||||
|
||||
caster.SubtractMod(modifiersGlobal.Parry, parryPerDT * rampage.GetExtra());
|
||||
caster.AddMod(modifiersGlobal.Delay, delayMsPerDT * rampage.GetExtra());
|
||||
|
||||
rampage.SetExtra(0);
|
||||
skill.basePotency = skill.basePotency * 1.5;
|
||||
end;
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased critical hit rate
|
||||
function onCombo(caster, target, skill)
|
||||
skill.bonusCritRate = 200;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
if target.target == caster then
|
||||
skill.statusId = 223015
|
||||
end;
|
||||
|
||||
--calculate ws 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);
|
||||
|
||||
skill.statusId = 0;
|
||||
end;
|
44
Data/scripts/commands/weaponskill/sucker_punch.lua
Normal file
44
Data/scripts/commands/weaponskill/sucker_punch.lua
Normal file
|
@ -0,0 +1,44 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
require("battleutils");
|
||||
require("hiteffect");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, action);
|
||||
|
||||
--additional effect
|
||||
--Restores MP
|
||||
--Comboed formula seems to be (0.40 * damage) + 180
|
||||
--Uncomboed formula seems to be 0.30 * damage
|
||||
--These may be wrong. It seems like max mp might influence the slope
|
||||
|
||||
--1.21: Equation used to calculate amount of MP adjusted.
|
||||
--fug
|
||||
--This might mean max MP isn't involved and the difference was between patches. need to recheck videos
|
||||
if action.ActionLanded() and (action.param == HitDirection.Right or action.param == HitDirection.Left) then
|
||||
local mpToReturn = 0;
|
||||
|
||||
if skill.isCombo then
|
||||
mpToReturn = (0.40 * action.amount) + 180;
|
||||
else
|
||||
mpToReturn = (0.30 * action.amount);
|
||||
end
|
||||
|
||||
caster.AddMP(mpToReturn);
|
||||
--30452: You recover x MP.
|
||||
actionContainer.AddMPAbsorbAction(caster.actorId, 30452, mpToReturn);
|
||||
end
|
||||
end;
|
23
Data/scripts/commands/weaponskill/true_thrust.lua
Normal file
23
Data/scripts/commands/weaponskill/true_thrust.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased accuracy from in front
|
||||
function onPositional(caster, target, skill)
|
||||
skill.accuracyModifier = 50;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
17
Data/scripts/commands/weaponskill/voice_of_the_dragon.lua
Normal file
17
Data/scripts/commands/weaponskill/voice_of_the_dragon.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
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)
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
26
Data/scripts/commands/weaponskill/vorpal_thrust.lua
Normal file
26
Data/scripts/commands/weaponskill/vorpal_thrust.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased crit rating from behind
|
||||
function onPositional(caster, target, skill)
|
||||
skill.bonusCritRate = 200;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws 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);
|
||||
end;
|
20
Data/scripts/commands/weaponskill/war_drum.lua
Normal file
20
Data/scripts/commands/weaponskill/war_drum.lua
Normal file
|
@ -0,0 +1,20 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--might be wrong
|
||||
action.enmity = action.enmity + 400;
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
41
Data/scripts/commands/weaponskill/whirlwind.lua
Normal file
41
Data/scripts/commands/weaponskill/whirlwind.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
require("modifiers")
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Reset Berserk effect, increase damage?
|
||||
function onCombo(caster, target, skill)
|
||||
--Get Berserk statuseffect
|
||||
local berserk = caster.statusEffects.GetStatusEffectById(223160);
|
||||
|
||||
--if it isn't nil, remove the AP and Defense mods and reset extra to 0, increase potency
|
||||
if berserk != nil then
|
||||
local apPerHit = 20;
|
||||
local defPerHit = 20;
|
||||
|
||||
if berserk.GetTier() == 2 then
|
||||
apPerHit = 24;
|
||||
end
|
||||
|
||||
caster.SubtractMod(modifiersGlobal.Attack, apPerHit * berserk.GetExtra());
|
||||
caster.Add(modifiersGlobal.Defense, defPerHit * berserk.GetExtra());
|
||||
|
||||
berserk.SetExtra(0);
|
||||
skill.basePotency = skill.basePotency * 1.5;
|
||||
end;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
23
Data/scripts/commands/weaponskill/wide_volley.lua
Normal file
23
Data/scripts/commands/weaponskill/wide_volley.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
require("global");
|
||||
require("weaponskill");
|
||||
|
||||
function onSkillPrepare(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
function onSkillStart(caster, target, skill)
|
||||
return 0;
|
||||
end;
|
||||
|
||||
--Increased Accuracy
|
||||
function onCombo(caster, target, skill)
|
||||
skill.accuracyModifier = 40;
|
||||
end;
|
||||
|
||||
function onSkillFinish(caster, target, skill, action, actionContainer)
|
||||
--calculate ws damage
|
||||
action.amount = skill.basePotency;
|
||||
|
||||
--DoAction handles rates, buffs, dealing damage
|
||||
action.DoAction(caster, target, skill, actionContainer);
|
||||
end;
|
Loading…
Add table
Add a link
Reference in a new issue