Skip to content

Commit

Permalink
Trust: Fablinix (#6055)
Browse files Browse the repository at this point in the history
* Added Fablinix's weapon skills and ranged attack

Added Fablinix's TP moves to mob_skill_lists.sql. Changed Fablinix's TP moves in mob_skills.sql to match standard gobbie Bomb Toss and Goblin Rush properties, and added skillchain properties. Added the logic to trust\fablinix.lua for his ranged attacks as well as holding his TP to close skillchains.

* Fixed Fablinix's Subjob and Added Enwater

Changed Fablinix's sub job to RDM based on https://www.bg-wiki.com/ffxi/Cipher:_Fablinix and gave him his enwater spell.

* Added Fablinix's Cure Spells

Added gambits for Fablinix's Cure spells.

* Added Fablinix's MP Mod

Added Fablinix's MP+250% mod.

* Added Fablinix's Stun gambits

Added all the gambits for Fablinix's Stun. There is however an issue in spell.cpp line 699 that is causing the cast to fail because the check is based on the trust's job, not the trust's level. I'll be addressing it in my next commit.

* Fablinix's "Gobbie Die"

Added a special case to the trust level check in spell.cpp to emulate Fablinix's second main job of BLM.

* Added Fablinix's teamwork messages

Added the teamwork messages so both Fablinix and the Moogle say the right thing when one of them is already in the party.
  • Loading branch information
DotesMiqotes authored Jul 31, 2024
1 parent 17b4bb8 commit 93cfc9f
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 6 deletions.
20 changes: 19 additions & 1 deletion scripts/actions/spells/trust/fablinix.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,25 @@ spellObject.onSpellCast = function(caster, target, spell)
end

spellObject.onMobSpawn = function(mob)
xi.trust.message(mob, xi.trust.messageOffset.SPAWN)
xi.trust.teamworkMessage(mob, {
[xi.magic.spell.MOOGLE] = xi.trust.messageOffset.TEAMWORK_1,
})

mob:addSimpleGambit(ai.t.TARGET, ai.c.READYING_WS, 0, ai.r.MA, ai.s.SPECIFIC, xi.magic.spell.STUN)
mob:addSimpleGambit(ai.t.TARGET, ai.c.READYING_MS, 0, ai.r.MA, ai.s.SPECIFIC, xi.magic.spell.STUN)
mob:addSimpleGambit(ai.t.TARGET, ai.c.READYING_JA, 0, ai.r.MA, ai.s.SPECIFIC, xi.magic.spell.STUN)
mob:addSimpleGambit(ai.t.TARGET, ai.c.CASTING_MA, 0, ai.r.MA, ai.s.SPECIFIC, xi.magic.spell.STUN)

mob:addSimpleGambit(ai.t.TANK, ai.c.HPP_LT, 75, ai.r.MA, ai.s.HIGHEST, xi.magic.spellFamily.CURE)
mob:addSimpleGambit(ai.t.PARTY, ai.c.HPP_LT, 50, ai.r.MA, ai.s.HIGHEST, xi.magic.spellFamily.CURE)
mob:addSimpleGambit(ai.t.PARTY, ai.c.STATUS, xi.effect.SLEEP_I, ai.r.MA, ai.s.SPECIFIC, xi.magic.spell.CURE)
mob:addSimpleGambit(ai.t.PARTY, ai.c.STATUS, xi.effect.SLEEP_II, ai.r.MA, ai.s.SPECIFIC, xi.magic.spell.CURE)

mob:addSimpleGambit(ai.t.SELF, ai.c.NOT_STATUS, xi.effect.ENWATER, ai.r.MA, ai.s.SPECIFIC, xi.magic.spell.ENWATER)

mob:addSimpleGambit(ai.t.TARGET, ai.c.RANDOM, 50, ai.r.RATTACK, 0, 0, 30) -- TODO: Verify rate of ranged attacks

mob:setTrustTPSkillSettings(ai.tp.CLOSER_UNTIL_TP, ai.s.HIGHEST, 1500)
end

spellObject.onMobDespawn = function(mob)
Expand Down
4 changes: 3 additions & 1 deletion scripts/actions/spells/trust/moogle.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ spellObject.onSpellCast = function(caster, target, spell)
end

spellObject.onMobSpawn = function(mob)
xi.trust.message(mob, xi.trust.messageOffset.SPAWN)
xi.trust.teamworkMessage(mob, {
[xi.magic.spell.FABLINIX] = xi.trust.messageOffset.TEAMWORK_1,
})

local mlvl = mob:getMainLvl()
local tick_amount
Expand Down
3 changes: 3 additions & 0 deletions sql/mob_pool_mods.sql
Original file line number Diff line number Diff line change
Expand Up @@ -647,6 +647,9 @@ INSERT INTO `mob_pool_mods` VALUES (5915,6,100,0); -- MPP: 100
-- Trust: Lehko
INSERT INTO `mob_pool_mods` VALUES (5922,6,150,0); -- MPP: 150

-- Trust: Fablinix
INSERT INTO `mob_pool_mods` VALUES (5932,6,250,0); -- MPP: 250

-- Trust: Ferreous Coffin
INSERT INTO `mob_pool_mods` VALUES (5944,3,-10,0); -- HPP: -10
INSERT INTO `mob_pool_mods` VALUES (5944,6,35,0); -- MPP: 35
Expand Down
2 changes: 1 addition & 1 deletion sql/mob_pools.sql
Original file line number Diff line number Diff line change
Expand Up @@ -5988,7 +5988,7 @@ INSERT INTO `mob_pools` VALUES (5928,'luzaf','Luzaf',145,0x0000D80B0000000000000
INSERT INTO `mob_pools` VALUES (5929,'najelith','Najelith',149,0x0000D90B00000000000000000000000000000000,11,0,3,240,100,0,0,0,0,0,0,32,0,3,0,0,341,0,0,1044,149);
INSERT INTO `mob_pools` VALUES (5930,'aldo','Aldo',149,0x0000DA0B00000000000000000000000000000000,6,0,1,240,100,0,0,0,0,0,0,32,0,3,0,0,342,0,0,1045,149);
INSERT INTO `mob_pools` VALUES (5931,'moogle','Moogle',185,0x0000DB0B00000000000000000000000000000000,21,0,3,240,100,0,0,0,0,0,0,32,0,3,0,0,343,0,0,1046,185);
INSERT INTO `mob_pools` VALUES (5932,'fablinix','Fablinix',327,0x0000DC0B00000000000000000000000000000000,6,4,3,240,100,0,0,0,0,0,0,32,0,3,0,0,344,0,0,1047,327);
INSERT INTO `mob_pools` VALUES (5932,'fablinix','Fablinix',327,0x0000DC0B00000000000000000000000000000000,6,5,3,240,100,0,0,0,0,0,0,32,0,3,0,0,344,0,0,1047,327);
INSERT INTO `mob_pools` VALUES (5933,'maat','Maat',149,0x0000DD0B00000000000000000000000000000000,2,0,3,240,100,0,0,0,0,0,0,32,0,3,0,0,345,0,0,1048,149);
INSERT INTO `mob_pools` VALUES (5934,'d_shantotto','D.Shantotto',153,0x0000DE0B00000000000000000000000000000000,4,8,3,240,100,0,0,0,0,0,0,32,0,3,0,0,346,0,0,1049,153);
INSERT INTO `mob_pools` VALUES (5935,'star_sibyl','StarSibyl',153,0x0000DF0B00000000000000000000000000000000,21,0,3,240,100,0,0,0,0,0,0,32,0,3,0,0,347,0,0,1050,153);
Expand Down
3 changes: 2 additions & 1 deletion sql/mob_skill_lists.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3500,7 +3500,8 @@ INSERT INTO `mob_skill_lists` VALUES ('TRUST_Nashmeira',1038,3243); -- Imperial
-- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Najelith',1044,0);
-- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Aldo',1045,0);
-- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Moogle',1046,0);
-- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Fablinix',1047,0);
INSERT INTO `mob_skill_lists` VALUES ('TRUST_Fablinix',1047,3261); -- Bomb Toss
INSERT INTO `mob_skill_lists` VALUES ('TRUST_Fablinix',1047,3262); -- Goblin Rush
INSERT INTO `mob_skill_lists` VALUES ('TRUST_Maat',1048,3263); -- Bear Killer
INSERT INTO `mob_skill_lists` VALUES ('TRUST_Maat',1048,3413); -- Combo (Maat)
INSERT INTO `mob_skill_lists` VALUES ('TRUST_Maat',1048,3414); -- One Inch Punch (Maat)
Expand Down
4 changes: 2 additions & 2 deletions sql/mob_skills.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3272,8 +3272,8 @@ INSERT INTO `mob_skills` VALUES (3257,1299,'shibaraku',1,7.0,2000,1500,4,0,0,1,1
INSERT INTO `mob_skills` VALUES (3258,363,'shiko_no_mitate',0,7.0,2000,1500,1,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (3259,364,'happobarai',1,7.0,2000,1500,4,0,0,0,5,8,0);
INSERT INTO `mob_skills` VALUES (3260,354,'rinpyotosha',1,7.0,2000,1500,1,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (3261,335,'bomb_toss',0,7.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (3262,334,'goblin_rush',0,7.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (3261,335,'bomb_toss',2,13.5,2000,1500,4,0,0,0,3,6,0);
INSERT INTO `mob_skills` VALUES (3262,334,'goblin_rush',0,6.0,2000,1500,4,0,0,1,11,8,0);
INSERT INTO `mob_skills` VALUES (3263,1625,'bear_killer',4,7.0,2000,1500,4,0,0,0,0,0,0); -- TODO: Skillchain properties
INSERT INTO `mob_skills` VALUES (3264,259,'salvation_scythe',0,7.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (3265,3009,'elemental_sforzo',0,7.0,2000,0,1,2,0,0,0,0,0);
Expand Down

0 comments on commit 93cfc9f

Please sign in to comment.