Skip to content

Commit

Permalink
Merge pull request LandSandBoat#5902 from benrandallswg/benrandallswg…
Browse files Browse the repository at this point in the history
…/job_utils_refactoring

[LUA] Refactor of bard abilities
  • Loading branch information
claywar authored Jun 28, 2024
2 parents b8df04b + 8d9fd9e commit a707bed
Show file tree
Hide file tree
Showing 8 changed files with 62 additions and 14 deletions.
6 changes: 2 additions & 4 deletions scripts/actions/abilities/clarion_call.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@
local abilityObject = {}

abilityObject.onAbilityCheck = function(player, target, ability)
ability:setRecast(math.max(0, ability:getRecast() - player:getMod(xi.mod.ONE_HOUR_RECAST) * 60))

return 0, 0
return xi.job_utils.bard.checkClarionCall(player, target, ability)
end

abilityObject.onUseAbility = function(player, target, ability)
player:addStatusEffect(xi.effect.CLARION_CALL, 10, 0, 180)
xi.job_utils.bard.useClarionCall(player, target, ability)
end

return abilityObject
2 changes: 1 addition & 1 deletion scripts/actions/abilities/marcato.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ abilityObject.onAbilityCheck = function(player, target, ability)
end

abilityObject.onUseAbility = function(player, target, ability)
player:addStatusEffect(xi.effect.MARCATO, 0, 0, 60)
xi.job_utils.bard.useMarcato(player, target, ability)
end

return abilityObject
2 changes: 1 addition & 1 deletion scripts/actions/abilities/nightingale.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ abilityObject.onAbilityCheck = function(player, target, ability)
end

abilityObject.onUseAbility = function(player, target, ability)
player:addStatusEffect(xi.effect.NIGHTINGALE, 0, 0, 60)
xi.job_utils.bard.useNightingale(player, target, ability)
end

return abilityObject
2 changes: 1 addition & 1 deletion scripts/actions/abilities/pianissimo.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ abilityObject.onAbilityCheck = function(player, target, ability)
end

abilityObject.onUseAbility = function(player, target, ability)
player:addStatusEffect(xi.effect.PIANISSIMO, 0, 0, 60)
xi.job_utils.bard.usePianissimo(player, target, ability)
end

return abilityObject
6 changes: 2 additions & 4 deletions scripts/actions/abilities/soul_voice.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@
local abilityObject = {}

abilityObject.onAbilityCheck = function(player, target, ability)
ability:setRecast(math.max(0, ability:getRecast() - player:getMod(xi.mod.ONE_HOUR_RECAST) * 60))

return 0, 0
return xi.job_utils.bard.checkSoulVoice(player, target, ability)
end

abilityObject.onUseAbility = function(player, target, ability)
player:addStatusEffect(xi.effect.SOUL_VOICE, 1, 0, 180)
xi.job_utils.bard.useSoulVoice(player, target, ability)
end

return abilityObject
3 changes: 1 addition & 2 deletions scripts/actions/abilities/tenuto.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ abilityObject.onAbilityCheck = function(player, target, ability)
end

abilityObject.onUseAbility = function(player, target, ability)
-- TODO: Implement this ability
player:addStatusEffect(xi.effect.TENUTO, 0, 0, 60)
xi.job_utils.bard.useTenuto(player, target, ability)
end

return abilityObject
2 changes: 1 addition & 1 deletion scripts/actions/abilities/troubadour.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ abilityObject.onAbilityCheck = function(player, target, ability)
end

abilityObject.onUseAbility = function(player, target, ability)
player:addStatusEffect(xi.effect.TROUBADOUR, 0, 0, 60)
xi.job_utils.bard.useTroubadour(player, target, ability)
end

return abilityObject
53 changes: 53 additions & 0 deletions scripts/globals/job_utils/bard.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
-----------------------------------
-- Bard Job Utilities
-----------------------------------
xi = xi or {}
xi.job_utils = xi.job_utils or {}
xi.job_utils.bard = xi.job_utils.bard or {}

-----------------------------------
-- Ability Check Functions
-----------------------------------
xi.job_utils.bard.checkSoulVoice = function(player, target, ability)
ability:setRecast(math.max(0, ability:getRecast() - player:getMod(xi.mod.ONE_HOUR_RECAST) * 60))

return 0, 0
end

xi.job_utils.bard.checkClarionCall = function(player, target, ability)
ability:setRecast(math.max(0, ability:getRecast() - player:getMod(xi.mod.ONE_HOUR_RECAST) * 60))

return 0, 0
end

-----------------------------------
-- Ability Use Functions
-----------------------------------
xi.job_utils.bard.useSoulVoice = function(player, target, ability)
player:addStatusEffect(xi.effect.SOUL_VOICE, 1, 0, 180)
end

xi.job_utils.bard.usePianissimo = function(player, target, ability)
player:addStatusEffect(xi.effect.PIANISSIMO, 0, 0, 60)
end

xi.job_utils.bard.useNightingale = function(player, target, ability)
player:addStatusEffect(xi.effect.NIGHTINGALE, 0, 0, 60)
end

xi.job_utils.bard.useTroubadour = function(player, target, ability)
player:addStatusEffect(xi.effect.TROUBADOUR, 0, 0, 60)
end

xi.job_utils.bard.useTenuto = function(player, target, ability)
-- TODO: Implement this ability
player:addStatusEffect(xi.effect.TENUTO, 0, 0, 60)
end

xi.job_utils.bard.useMarcato = function(player, target, ability)
player:addStatusEffect(xi.effect.MARCATO, 0, 0, 60)
end

xi.job_utils.bard.useClarionCall = function(player, target, ability)
player:addStatusEffect(xi.effect.CLARION_CALL, 10, 0, 180)
end

0 comments on commit a707bed

Please sign in to comment.