Skip to content
This repository has been archived by the owner on Dec 4, 2020. It is now read-only.

Commit

Permalink
Merge branch 'feature/abilities_up_to_99' into canary
Browse files Browse the repository at this point in the history
  • Loading branch information
zach2good committed Sep 26, 2020
2 parents 6f3f94d + c856ad2 commit 57e0415
Show file tree
Hide file tree
Showing 113 changed files with 2,190 additions and 189 deletions.
18 changes: 18 additions & 0 deletions scripts/globals/abilities/arcane_crest.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Arcane Crest
-- Description: Lowers accuracy, evasion, magic accuracy, magic evasion and TP gain for arcana.
-- Obtained: DRK Level 87
-- Recast Time: 00:05:00
-- Duration: 00:03:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
target:addStatusEffect(tpz.effect.ARCANE_CREST, 8, 1, 30)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/astral_conduit.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Astral Conduit
-- Description: Reduces Blood Pact recast times.
-- Obtained: SMN Level 96
-- Recast Time: 01:00:00
-- Duration: 00:00:30
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.ASTRAL_CONDUIT, 15, 1, 30)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/asylum.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Asylum
-- Description: Grants party members a powerful resistance to enfeebling magic and Dispel effects.
-- Obtained: WHM Level 96
-- Recast Time: 01:00:00
-- Duration: 0:00:30
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.ASYLUM, 3, 0, 30)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/blood_rage.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Blood Rage
-- Description: Enhances critical hit rate for party members within area of effect.
-- Obtained: WAR Level 87
-- Recast Time: 00:05:00
-- Duration: 0:00:30
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.BLOOD_RAGE, 1, 0, 30)
end
17 changes: 17 additions & 0 deletions scripts/globals/abilities/bounty_shot.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-----------------------------------
-- Ability: Bounty Shot
-- Description: Increases the rate at which the target yields treasure.
-- Obtained: RNG Level 87
-- Recast Time: 00:01:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
target:addStatusEffect(tpz.effect.BOUNTY_SHOT, 11, 1, 30)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/brazen_rush.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Brazen Rush
-- Description: Increases double attack rate
-- Obtained: WAR Level 96
-- Recast Time: 1:00:00
-- Duration: 0:00:30
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.BRAZEN_STRENGTH, 1, 368, 30)
end
24 changes: 24 additions & 0 deletions scripts/globals/abilities/caper_emissarius.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
-----------------------------------
-- Ability: Caper Emissarius
-- Description: Transfers enmity to a party member of your choice.
-- Obtained: SCH Level 96
-- Recast Time: 01:00:00
-- Duration: 00:00:30
-- target:transferEnmity(player, 99, 20.6)
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
require("scripts/globals/msg")
-----------------------------------

function onAbilityCheck(player, target, ability)
if (target == nil or target:getID() == player:getID() or not target:isPC()) then
return tpz.msg.basic.CANNOT_ON_THAT_TARG, 0
else
return 0, 0
end
end

function onUseAbility(player, target, ability)
party:transferEnmity(player, 99, 20.6)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/cascade.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Cascade
-- Description: Grants a damage bonus to the next elemental magic spell cast based on TP consumed.
-- Obtained: BLM Level 85
-- Recast Time: 00:01:00
-- Duration: 0:01:00 or the next spell cast
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.CASCADE, 4, 0, 60)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/clarion_call.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Clarion Call
-- Description: Increases the number of songs that can affect party members by one.
-- Obtained: BRD Level 96
-- Recast Time: 01:00:00
-- Duration: 0:03:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.CLARION_CALL, 10, 0, 180)
end
34 changes: 34 additions & 0 deletions scripts/globals/abilities/climactic_flourish.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
-----------------------------------
-- Ability: Climactic Flourish
-- Description: Allows you to deal critical hits. Requires at least one finishing move.
-- Obtained: DNC Level 80
-- Recast Time: 00:01:30 (Flourishes III)
-- Duration: 00:01:00
-- Cost: 1-5 Finishing Move charges
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
require("scripts/globals/msg")
-----------------------------------
function onAbilityCheck(player, target, ability)
if player:hasStatusEffect(tpz.effect.FINISHING_MOVE_1) then
return 0, 0
elseif player:hasStatusEffect(tpz.effect.FINISHING_MOVE_2) then
return 0, 0
elseif player:hasStatusEffect(tpz.effect.FINISHING_MOVE_3) then
return 0, 0
elseif player:hasStatusEffect(tpz.effect.FINISHING_MOVE_4) then
return 0, 0
elseif player:hasStatusEffect(tpz.effect.FINISHING_MOVE_5) then
return 0, 0
else
return tpz.msg.basic.NO_FINISHINGMOVES, 0
end
end

function onUseAbility(player, target, ability)
for move = tpz.effect.FINISHING_MOVE_1, tpz.effect.FINISHING_MOVE_5 do
player:delStatusEffect(move)
player:addStatusEffect(tpz.effect.CLIMACTIC_FLOURISH, 3, 0, 60, 0, player:getMerit(tpz.merit.CLIMACTIC_FLOURISH_EFFECT))
end
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/contradance.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Contradance
-- Description: Increases the amount of HP restored by your next Waltz.
-- Obtained: DNC Level 50
-- Recast Time: 00:05:00
-- Duration: 00:01:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.CONTRADANCE, 19, 1, 60)
end
17 changes: 17 additions & 0 deletions scripts/globals/abilities/cooldown.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-----------------------------------
-- Ability: Cooldown
-- Description: Reduces the strain on your automaton.
-- Obtained: PUP Level 95
-- Recast Time: 00:05:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.COOLDOWN, 18, 1, 1)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/crooked_cards.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Crooked Cards
-- Description: Increases the effects of the next phantom roll.
-- Obtained: COR Level 95
-- Recast Time: 0:10:00
-- Duration: 0:01:00(or the next roll used)
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
target:addStatusEffect(tpz.effect.CROOKED_CARDS, 17, 0, 60)
end
26 changes: 26 additions & 0 deletions scripts/globals/abilities/cutting_cards.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
-----------------------------------
-- Ability: Cutting Cards
-- Description: Reduces the recast times of other party members' special abilities. The degree to which they are reduced is determined by the number rolled.
-- Obtained: COR Level 96
-- Recast Time: 01:00:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onUseAbility(caster, target, ability, action)
if (caster:getID() == target:getID()) then
local roll = math.random(1, 6)
caster:setLocalVar("corsairRollTotal", roll)
action:speceffect(caster:getID(), roll)
end
local total = caster:getLocalVar("corsairRollTotal")
return applyRoll(caster, target, ability, action, total)
end

function applyRoll(caster, target, ability, action, total)
caster:doCuttingCards(target, total)
ability:setMsg(435 + math.floor((total - 1) / 2) * 2)
action:animation(target:getID(), 132 + (total) - 1)
return total
end
19 changes: 19 additions & 0 deletions scripts/globals/abilities/decoy_shot.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----------------------------------
-- Ability: Decoy Shot
-- Description: Diverts enmity when launching a ranged attack from behind a party member.
-- Obtained: RNG Level 95
-- Recast Time: 00:05:00
-- Duration: 00:03:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
require("scripts/globals/msg")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
target:addStatusEffect(tpz.effect.DECOY_SHOT, 11, 1, 30)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/divine_caress.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Divine Caress
-- Description: If the next spell you cast cures a status ailment, your target will gain enhanced resistance to that ailment.
-- Obtained: WHM Level 83
-- Recast Time: 00:01:00
-- Duration: 0:01:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.DIVINE_CARESS, 3, 0, 60)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/divine_emblem.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Divine Emblem
-- Description: Enhances the accuracy of your next divine magic spell and increases enmity.
-- Obtained: PLD Level 78
-- Recast Time: 00:03:00
-- Duration: 00:01:00 or the next spell cast
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.DIVINE_EMBLEM, 7, 0, 60)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/dragon_breaker.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Dragon Breaker
-- Description: Lowers accuracy, evasion, magic accuracy, magic evasion and TP gain for dragons.
-- Obtained: DRG Level 87
-- Recast Time: 00:05:00
-- Duration: 00:03:00
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.DRAGON_BREAKER, 14, 0, 180)
end
18 changes: 18 additions & 0 deletions scripts/globals/abilities/efflux.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----------------------------------
-- Ability: Efflux
-- Description: If the next spell you cast is a "physical" Blue magic spell, a TP bonus will be granted.
-- Obtained: BLU Level 83
-- Recast Time: 00:03:00
-- Duration: 00:01:00 or first blue magic cast
-----------------------------------
require("scripts/globals/settings")
require("scripts/globals/status")
-----------------------------------

function onAbilityCheck(player, target, ability)
return 0, 0
end

function onUseAbility(player, target, ability)
player:addStatusEffect(tpz.effect.EFFLUX, 16, 1, 60)
end
Loading

0 comments on commit 57e0415

Please sign in to comment.