Skip to content

Commit 3df25d5

Browse files
author
project-topaz
committed
Commits from upstream, 2020/01/14 to 2020/01/31
2 parents 45e92f0 + 4d0f1c8 commit 3df25d5

File tree

96 files changed

+1274
-679
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+1274
-679
lines changed

scripts/globals/bluemagic.lua

+13-26
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,13 @@
11
require("scripts/globals/status")
22
require("scripts/globals/magic")
33

4-
-- The type of spell.
5-
SPELLTYPE_PHYSICAL = 0;
6-
SPELLTYPE_MAGICAL = 1;
7-
SPELLTYPE_RANGED = 2;
8-
SPELLTYPE_BREATH = 3;
9-
SPELLTYPE_DRAIN = 4;
10-
SPELLTYPE_SPECIAL = 5;
11-
124
-- The TP modifier
135
TPMOD_NONE = 0;
146
TPMOD_CRITICAL = 1;
157
TPMOD_DAMAGE = 2;
168
TPMOD_ACC = 3;
179
TPMOD_ATTACK = 4;
1810

19-
-- The damage type for the spell
20-
DMGTYPE_BLUNT = 0;
21-
DMGTYPE_PIERCE = 1;
22-
DMGTYPE_SLASH = 2;
23-
DMGTYPE_H2H = 3;
24-
2511
-- The SC the spell makes
2612
SC_IMPACTION = 0;
2713
SC_TRANSFIXION = 1;
@@ -216,12 +202,12 @@ function BlueMagicalSpell(caster, target, spell, params, statMod)
216202
local magicAttack = 1.0;
217203
local multTargetReduction = 1.0; -- TODO: Make this dynamically change, temp static till implemented.
218204
magicAttack = math.floor(D * multTargetReduction);
219-
205+
220206
local rparams = {};
221207
rparams.diff = dStat;
222208
rparams.skillType = tpz.skill.BLUE_MAGIC;
223209
magicAttack = math.floor(magicAttack * applyResistance(caster, target, spell, rparams));
224-
210+
225211
dmg = math.floor(addBonuses(caster, spell, target, magicAttack));
226212

227213
caster:delStatusEffectSilent(tpz.effect.BURST_AFFINITY);
@@ -231,25 +217,26 @@ end;
231217

232218
function BlueFinalAdjustments(caster, target, spell, dmg, params)
233219
if (dmg < 0) then
234-
dmg = 0;
220+
dmg = 0
235221
end
236222

237-
dmg = dmg * BLUE_POWER;
223+
dmg = dmg * BLUE_POWER
238224

239-
dmg = dmg - target:getMod(tpz.mod.PHALANX);
225+
dmg = dmg - target:getMod(tpz.mod.PHALANX)
240226
if (dmg < 0) then
241-
dmg = 0;
227+
dmg = 0
242228
end
243229

244230
-- handling stoneskin
245-
dmg = utils.stoneskin(target, dmg);
231+
dmg = utils.stoneskin(target, dmg)
246232

247-
target:takeDamage(dmg, caster, tpz.attackType.PHYSICAL, params.dmgType or tpz.damageType.NONE);
248-
target:updateEnmityFromDamage(caster,dmg);
249-
target:handleAfflatusMiseryDamage(dmg);
233+
local damageType = params.dmgType or tpz.damageType.NONE
234+
target:takeSpellDamage(caster, spell, dmg, tpz.attackType.PHYSICAL, damageType)
235+
target:updateEnmityFromDamage(caster,dmg)
236+
target:handleAfflatusMiseryDamage(dmg)
250237
-- TP has already been dealt with.
251-
return dmg;
252-
end;
238+
return dmg
239+
end
253240

254241
------------------------------
255242
-- Utility functions below ---

scripts/globals/magic.lua

+26-26
Original file line numberDiff line numberDiff line change
@@ -635,66 +635,66 @@ end;
635635

636636
-- handle multiple targets
637637
if (caster:isSpellAoE(spell:getID())) then
638-
local total = spell:getTotalTargets();
638+
local total = spell:getTotalTargets()
639639

640640
if (total > 9) then
641641
-- ga spells on 10+ targets = 0.4
642-
dmg = dmg * 0.4;
642+
dmg = dmg * 0.4
643643
elseif (total > 1) then
644644
-- -ga spells on 2 to 9 targets = 0.9 - 0.05T where T = number of targets
645-
dmg = dmg * (0.9 - 0.05 * total);
645+
dmg = dmg * (0.9 - 0.05 * total)
646646
end
647647

648648
-- kill shadows
649-
-- target:delStatusEffect(tpz.effect.COPY_IMAGE);
650-
-- target:delStatusEffect(tpz.effect.BLINK);
649+
-- target:delStatusEffect(tpz.effect.COPY_IMAGE)
650+
-- target:delStatusEffect(tpz.effect.BLINK)
651651
else
652652
-- this logic will eventually be moved here
653-
-- dmg = utils.takeShadows(target, dmg, 1);
653+
-- dmg = utils.takeShadows(target, dmg, 1)
654654

655655
-- if (dmg == 0) then
656-
-- spell:setMsg(tpz.msg.basic.SHADOW_ABSORB);
657-
-- return 1;
656+
-- spell:setMsg(tpz.msg.basic.SHADOW_ABSORB)
657+
-- return 1
658658
-- end
659659
end
660660

661-
local skill = spell:getSkillType();
661+
local skill = spell:getSkillType()
662662
if (skill == tpz.skill.ELEMENTAL_MAGIC) then
663-
dmg = dmg * ELEMENTAL_POWER;
663+
dmg = dmg * ELEMENTAL_POWER
664664
elseif (skill == tpz.skill.DARK_MAGIC) then
665-
dmg = dmg * DARK_POWER;
665+
dmg = dmg * DARK_POWER
666666
elseif (skill == tpz.skill.NINJUTSU) then
667-
dmg = dmg * NINJUTSU_POWER;
667+
dmg = dmg * NINJUTSU_POWER
668668
elseif (skill == tpz.skill.DIVINE_MAGIC) then
669-
dmg = dmg * DIVINE_POWER;
669+
dmg = dmg * DIVINE_POWER
670670
end
671671

672-
dmg = target:magicDmgTaken(dmg);
672+
dmg = target:magicDmgTaken(dmg)
673673

674674
if (dmg > 0) then
675-
dmg = dmg - target:getMod(tpz.mod.PHALANX);
676-
dmg = utils.clamp(dmg, 0, 99999);
675+
dmg = dmg - target:getMod(tpz.mod.PHALANX)
676+
dmg = utils.clamp(dmg, 0, 99999)
677677
end
678678

679679
--handling stoneskin
680-
dmg = utils.stoneskin(target, dmg);
681-
dmg = utils.clamp(dmg, -99999, 99999);
680+
dmg = utils.stoneskin(target, dmg)
681+
dmg = utils.clamp(dmg, -99999, 99999)
682682

683683
if (dmg < 0) then
684-
dmg = target:addHP(-dmg);
685-
spell:setMsg(tpz.msg.basic.MAGIC_RECOVERS_HP);
684+
dmg = target:addHP(-dmg)
685+
spell:setMsg(tpz.msg.basic.MAGIC_RECOVERS_HP)
686686
else
687-
target:takeDamage(dmg, caster, tpz.attackType.MAGICAL, tpz.damageType.ELEMENTAL + spell:getElement());
688-
target:handleAfflatusMiseryDamage(dmg);
689-
target:updateEnmityFromDamage(caster,dmg);
687+
target:takeSpellDamage(caster, spell, dmg, tpz.attackType.MAGICAL, tpz.damageType.ELEMENTAL + spell:getElement())
688+
target:handleAfflatusMiseryDamage(dmg)
689+
target:updateEnmityFromDamage(caster,dmg)
690690
-- Only add TP if the target is a mob
691691
if (target:getObjType() ~= tpz.objType.PC) then
692-
target:addTP(100);
692+
target:addTP(100)
693693
end
694694
end
695695

696-
return dmg;
697-
end;
696+
return dmg
697+
end
698698

699699
function finalMagicNonSpellAdjustments(caster,target,ele,dmg)
700700
--Handles target's HP adjustment and returns SIGNED dmg (negative values on absorb)

scripts/globals/matrimonialcoffer.lua

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
-----------------------------------
2+
-- Matrimonial Coffer NPCs
3+
-----------------------------------
4+
require("scripts/globals/npc_util")
5+
6+
tpz = tpz or {}
7+
tpz.matrimonialcoffer = tpz.matrimonialcoffer or {}
8+
9+
function tpz.matrimonialcoffer.startEvent(player)
10+
local playerGender = player:getGender()
11+
if playerGender == 1 then
12+
player:startEvent(2000, playerGender, 200000, 15848, 100000, player:getGil()) -- Male Dialog
13+
else
14+
player:startEvent(2000, playerGender, 400000, 15847, 80000, player:getGil()) -- Female Dialog
15+
end
16+
end
17+
18+
function tpz.matrimonialcoffer.finishEvent(player, csid, option)
19+
local zone = player:getZoneID()
20+
local ID = zones[zone]
21+
local playerGender = player:getGender()
22+
if playerGender == 1 and csid == 2000 then
23+
if option == 1 and player:getGil() >= 200000 and
24+
(not player:hasItem(16364) or not player:hasItem(11309)) then
25+
if npcUtil.giveItem(player, {16364, 11309}) then
26+
player:delGil(200000)
27+
end
28+
elseif option == 1 and player:getGil() < 200000 then
29+
player:messageSpecial(ID.text.NOT_HAVE_ENOUGH_GIL)
30+
elseif option == 2 and player:getGil() >= 100000 then
31+
if npcUtil.giveItem(player, {15848}) then
32+
player:delGil(100000)
33+
end
34+
elseif option == 2 and player:getGil() < 100000 then
35+
player:messageSpecial(ID.text.NOT_HAVE_ENOUGH_GIL)
36+
end
37+
elseif playerGender == 0 and csid == 2000 then
38+
if option == 1 and player:getGil() >= 400000 and (not player:hasItem(13933) or
39+
not player:hasItem(14386) or not player:hasItem(14251) or not player:hasItem(14126)) then
40+
if npcUtil.giveItem(player, {13933, 14386, 14251, 14126}) then
41+
player:delGil(400000)
42+
end
43+
elseif option == 1 and player:getGil() < 400000 then
44+
player:messageSpecial(ID.text.NOT_HAVE_ENOUGH_GIL)
45+
elseif option == 2 and player:getGil() >= 80000 then
46+
if npcUtil.giveItem(player, {15847}) then
47+
player:delGil(80000)
48+
end
49+
elseif option == 2 and player:getGil() < 80000 then
50+
player:messageSpecial(ID.text.NOT_HAVE_ENOUGH_GIL)
51+
end
52+
end
53+
end

scripts/globals/spells/bluemagic/1000_needles.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_CRITICAL
28-
params.dmgtype = DMGTYPE_PIERCE
28+
params.dmgtype = tpz.damageType.PIERCING
2929
params.scattr = SC_COMPRESSION
3030
params.numhits = 1
3131
params.multiplier = 1.5

scripts/globals/spells/bluemagic/asuran_claws.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_ACC
28-
params.dmgtype = DMGTYPE_H2H
28+
params.dmgtype = tpz.damageType.HTH
2929
params.scattr = SC_IMPACTION
3030
params.numhits = 6
3131
params.multiplier = 1.0

scripts/globals/spells/bluemagic/battle_dance.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function onSpellCast(caster,target,spell)
2626
local params = {}
2727
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2828
params.tpmod = TPMOD_DURATION
29-
params.dmgtype = DMGTYPE_SLASH
29+
params.dmgtype = tpz.damageType.SLASHING
3030
params.scattr = SC_IMPACTION
3131
params.numhits = 1
3232
params.multiplier = 2.0

scripts/globals/spells/bluemagic/bludgeon.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_ACC
28-
params.dmgtype = DMGTYPE_H2H
28+
params.dmgtype = tpz.damageType.HTH
2929
params.scattr = SC_LIQUEFACTION
3030
params.numhits = 3
3131
params.multiplier = 1.0

scripts/globals/spells/bluemagic/body_slam.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_ATTACK
28-
params.dmgtype = DMGTYPE_BLUNT
28+
params.dmgtype = tpz.damageType.BLUNT
2929
params.scattr = SC_IMPACTION
3030
params.numhits = 1
3131
params.multiplier = 1.5

scripts/globals/spells/bluemagic/cannonball.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_DAMAGE
28-
params.dmgtype = DMGTYPE_H2H
28+
params.dmgtype = tpz.damageType.HTH
2929
params.scattr = SC_FUSION
3030
params.numhits = 1
3131
params.multiplier = 1.75

scripts/globals/spells/bluemagic/claw_cyclone.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_ATTACK
28-
params.dmgtype = DMGTYPE_SLASH
28+
params.dmgtype = tpz.damageType.SLASHING
2929
params.scattr = SC_SCISSION
3030
params.numhits = 2
3131
params.multiplier = 1.4375

scripts/globals/spells/bluemagic/death_scissors.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_DAMAGE
28-
params.dmgtype = DMGTYPE_SLASH
28+
params.dmgtype = tpz.damageType.SLASHING
2929
params.scattr = SC_COMPRESSION
3030
params.numhits = 1
3131
params.multiplier = 1.5

scripts/globals/spells/bluemagic/dimensional_death.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_ATTACK
28-
params.dmgtype = DMGTYPE_H2H
28+
params.dmgtype = tpz.damageType.HTH
2929
params.scattr = SC_IMPACTION
3030
params.numhits = 1
3131
params.multiplier = 2.25

scripts/globals/spells/bluemagic/disseverment.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_ACC
28-
params.dmgtype = DMGTYPE_PIERCE
28+
params.dmgtype = tpz.damageType.PIERCING
2929
params.scattr = SC_DISTORTION
3030
params.numhits = 5
3131
params.multiplier = 1.5

scripts/globals/spells/bluemagic/feather_storm.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_CRITICAL
28-
params.dmgtype = DMGTYPE_PIERCE
28+
params.dmgtype = tpz.damageType.PIERCING
2929
params.scattr = SC_LIGHT
3030
params.numhits = 1
3131
params.multiplier = 1.25

scripts/globals/spells/bluemagic/foot_kick.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_CRITICAL
28-
params.dmgtype = DMGTYPE_SLASH
28+
params.dmgtype = tpz.damageType.SLASHING
2929
params.scattr = SC_DETONATION
3030
params.numhits = 1
3131
params.multiplier = 1.0

scripts/globals/spells/bluemagic/frenetic_rip.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_DAMAGE
28-
params.dmgtype = DMGTYPE_H2H
28+
params.dmgtype = tpz.damageType.HTH
2929
params.scattr = SC_INDURATION
3030
params.numhits = 3
3131
params.multiplier = 1.36

scripts/globals/spells/bluemagic/frypan.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function onSpellCast(caster,target,spell)
3333
local params = {}
3434
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
3535
params.tpmod = TPMOD_ACC
36-
params.dmgtype = DMGTYPE_BLUNT
36+
params.dmgtype = tpz.damageType.BLUNT
3737
params.scattr = SC_IMPACTION
3838
params.numhits = 1
3939
params.multiplier = 1.78

scripts/globals/spells/bluemagic/grand_slam.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_ATTACK
28-
params.dmgtype = DMGTYPE_BLUNT
28+
params.dmgtype = tpz.damageType.BLUNT
2929
params.scattr = SC_INDURATION
3030
params.numhits = 1
3131
params.multiplier = 1.0

scripts/globals/spells/bluemagic/head_butt.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function onSpellCast(caster,target,spell)
3333
local params = {}
3434
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
3535
params.tpmod = TPMOD_DAMAGE
36-
params.dmgtype = DMGTYPE_BLUNT
36+
params.dmgtype = tpz.damageType.BLUNT
3737
params.scattr = SC_IMPACTION
3838
params.numhits = 1
3939
params.multiplier = 1.75

scripts/globals/spells/bluemagic/helldive.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_DAMAGE
28-
params.dmgtype = DMGTYPE_BLUNT
28+
params.dmgtype = tpz.damageType.BLUNT
2929
params.scattr = SC_TRANSFIXION
3030
params.numhits = 1
3131
params.multiplier = 1.25

scripts/globals/spells/bluemagic/hydro_shot.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_CHANCE
28-
params.dmgtype = DMGTYPE_H2H
28+
params.dmgtype = tpz.damageType.HTH
2929
params.scattr = SC_REVERBERATION
3030
params.numhits = 1
3131
params.multiplier = 1.25

scripts/globals/spells/bluemagic/hysteric_barrage.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function onSpellCast(caster,target,spell)
2525
local params = {}
2626
-- This data should match information on http://wiki.ffxiclopedia.org/wiki/Calculating_Blue_Magic_Damage
2727
params.tpmod = TPMOD_DAMAGE
28-
params.dmgtype = DMGTYPE_H2H
28+
params.dmgtype = tpz.damageType.HTH
2929
params.scattr = SC_DETONATION
3030
params.numhits = 5
3131
params.multiplier = 1.25

0 commit comments

Comments
 (0)