|
PLD gearswap building together
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2014-06-23 08:17:08
I create this topic for make an perfect Gearswap for PLD together,
an "community contribution editing file"
i have steal Motenten PLD.Lua and edited it.
Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file to go with this.
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
state.Buff.Sentinel = buffactive.sentinel or false
state.Buff.Cover = buffactive.cover or false
state.Buff.Doomed = buffactive.doomed or false
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'Normal', 'Acc'}
options.WeaponskillModes = {'Normal', 'Acc'}
options.CastingModes = {'Normal'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT', 'Aegis',}
options.MagicalDefenseModes = {'MDT'}
options.HybridDefenseModes = {'None', 'Repulse', 'Reraise', 'RepulseReraise'}
state.Defense.PhysicalMode = 'PDT'
state.HybridDefenseMode = 'None'
send_command('bind !f11 gs c cycle HybridDefenseMode')
select_default_macro_book()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Invincible'] = {ammo="Iron Gobbet",
head="Cab. Coronet +1",neck="Invidia Torque",ear2="Trux Earring",
body="Cab. Surcoat +1",hands="Cab. Gauntlets +1",ring1="Vexer Ring",
back="Fierabras's Mantle",waist="Creed baudrier",legs="Caballarius Breeches +1",feet="Creed Sabatons +2"}
sets.precast.JA['Holy Circle'] = {feet="Reverence Leggings +1"}
sets.precast.JA['Shield Bash'] = {ammo="Iron Gobbet",head="Cab. Coronet +1",neck="Invidia Torque",ear1="Knightly Earring",
ear2="Trux Earring",body="Cab. Surcoat +1",hands="Caballarius Gauntlets +1",ring1="Guardian's ring",ring2="Fenian Ring",
back="Fierabras's Mantle",waist="Creed baudrier",legs="Cab. Breeches +1"}
sets.precast.JA['Sentinel'] = {ammo="Iron Gobbet",head="Cab. Coronet +1",neck="Invidia Torque",ear1="Knightly Earring",
ear2="Trux Earring",body="Cab. Surcoat +1",hands="Caballarius Gauntlets +1",ring1="Guardian's ring",ring2="Fenian Ring",
back="Fierabras's Mantle",waist="Creed baudrier",feet="Caballarius Leggings +1"}
sets.precast.JA['Rampart'] = {head="Caballarius Coronet +1",body="Cab. Surcoat +1",hands="Cab. gauntlets +1",
neck="Tjukurrpa Medal",ear1="Terra's Pearl",ear2="Terra's Pearl",ring1="Terrasoul Ring",ring2="Terrasoul Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
sets.precast.JA['Fealty'] = {body="Caballarius Surcoat +1"}
sets.precast.JA['Divine Emblem'] = {feet="Creed Sabatons +2"}
sets.precast.JA['Cover'] = {head="Reverence Coronet +1",body="Caballarius Surcoat +1",hands="Cab. gauntlets +1",
neck="Tjukurrpa Medal",ear1="Terra's Pearl",ear2="Terra's Pearl",ring1="Terrasoul Ring",ring2="Terrasoul Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
-- add mnd for Chivalry
sets.precast.JA['Chivalry'] = {ammo="Iron Gobbet",
head="Reverence Coronet +1",neck="Morgana's Choker",ear1="Andoaa earring",ear2="Loquac. Pearl",
body="Karmesin Vest",hands="Cab. Gauntlets +1",ring1="Aquasoul Ring",ring2="Vivian Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Cab. Breeches +1",feet="Whirpool greaves"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
head="Yaoyotl Helm",
body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",
head="Lithelimb cap",neck="Tjukurrpa Medal",ear1="Terra's Pearl",
ear2="Terra's Pearl",ring1="Valseur's Ring",ring2="Asklepian Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Reverence Breeches +1",
feet="Reverence Leggings"}
-- Special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
sets.precast.Step = {waist="Chaac Belt"}
sets.precast.Flourish1 = {waist="Chaac Belt"}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Incantor stone",
head="Creed armet +2",neck="Orunmila's Torque",ear2="Loquacious Earring",hands="Buremte gloves",
body="Nuevo coselete",ring1="Prolix Ring",ring2="Veneficium Ring",legs="Enif Cosciales"}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
sets.precast.FC.Cure = set_combine(sets.precast.FC,
{ammo="Incantor stone",
head="Creed armet +2",neck="Orunmila's Torque",ear2="Loquacious Earring",hands="Buremte gloves",
body="Nuevo coselete",ring1="Prolix Ring",legs="Enif Cosciales"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS =
{head="Yaoyotl Helm",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karieyh Haubert +1",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist=gear.ElementalBelt,legs="Cizin Breeches",feet="Cizin Greaves"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] =
{head="Lithelimb Cap",neck="Soil gorget",ear1="Steelflash Earring",ear2="Bladeborn earring",
body="Karmesin Vest",hands="Cizin Mufflers",ring1="Rajas ring",ring2="Aquasoul Ring",
back="Letalis mantle",waist="Soil belt",legs="Cizin breeches",feet="Whirlpool greaves"}
sets.precast.WS['Sanguine Blade'] =
{head="Yaoyotl Helm",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Reverence Surcoat +1",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Toro Cape",waist="Caudata Belt",legs="Reverence Breeches +1",feet="Reverence Leggings"}
sets.precast.WS['Atonement'] =
{neck="Light Gorget",body="Phorcys Korazin",waist="Light Belt",legs="Ogier's Breeches"}
sets.precast.WS['Chant du Cygne'] =
{head="Lithelimb Cap",neck="Light gorget",ear1="Steelflash Earring",ear2="Bladeborn earring",
body="Karmesin Vest",hands="Cizin Mufflers",ring1="Rajas ring",ring2="Unyielding Ring",
back="Letalis mantle",waist="Light belt",legs="Cizin breeches",feet="Whirlpool greaves"}
--------------------------------------
-- Midcast sets
--------------------------------------
sets.midcast.FastRecast = {
head="Yaoyotl Helm",
body="Reverence Surcoat +1",hands="Buremte Gloves",
waist="Chuq'aba Belt",legs="Enif Cosciales",feet="Reverence Leggings +1"}
sets.midcast.Enmity = {ammo="Iron Gobbet",
head="Cab. Coronet +1",neck="Invidia Torque",ear2="Trux Earring",
body="Cab. Surcoat +1",hands="Cab. Gauntlets +1",ring1="Vexer Ring",
back="Fierabras's Mantle",waist="Creed baudrier",legs="Cab. Breeches +1",feet="Creed Sabatons +2"}
sets.midcast.Flash = sets.midcast.Enmity
sets.midcast.Stun = sets.midcast.Flash
sets.midcast.Cure = {ammo="Iron Gobbet",
head="Rev. Coronet +1",neck="Phalaina Locket",ear1="Hospitaler Earring",ear2="Oneiros Earring",
body="Savas jawshan",hands="Buremte Gloves",ring1="Kunaji Ring",ring2="Asklepian Ring",
back="Fierabras's Mantle",waist="Chuq'aba belt",legs="Reverence Breeches +1",feet="Reverence Leggings"}
-- 37 dmg Phalanx
sets.midcast['Enhancing Magic'] = {back="Merciful cape",neck="Colossus's Torque",ear1="Augment. Earring",ear2="Andoaa Earring",waist="Olympus Sash",legs="Reverence Breeches +1"}
sets.midcast.Crusade = {back="Merciful cape",neck="Colossus's Torque",ear1="Augment. Earring",ear2="Andoaa Earring",waist="Olympus Sash",legs="Reverence Breeches +1"}
sets.midcast.Protect = {ring1="Sheltered Ring"}
sets.midcast.Shell = {ring1="Sheltered Ring"}
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
sets.Reraise = {head="Twilight Helm", body="Twilight Mail"}
sets.resting = {head="Twilight Helm",neck="Creed Collar",
body="Twilight Mail",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Fucho-no-obi"}
-- Idle sets
sets.idle = {ammo="Iron Gobbet",
head="Twilight helm",neck="Creed Collar",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Twilight mail",hands="Reverence Gauntlets +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
sets.idle.Town = {main="Burtgang",ammo="Vanir battery",
head="Reverence Coronet +1",neck="Creed Collar",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
sets.idle.Weak = {ammo="Iron Gobbet",
head="Twilight helm",neck="Creed Collar",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Twilight mail",hands="Reverence Gauntlets +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
sets.idle.Weak.Reraise = set_combine(sets.idle.Weak, sets.Reraise)
-- Physical
-- PDT
-- Aegis
-- Defense sets
-- Magical
-- MDT
-- Hybrid (on top of either physical or magical)
-- Repulse
-- Reraise
-- RepulseReraise
-- Custom
sets.Repulse = {back="Repulse Mantle"}
sets.defense.PDT = {ammo="Angha Gem",main="Burtgang",sub="Ochain",
head="Reverence Coronet +1",neck="Twilight Torque",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Cab. Surcoat +1",hands="Reverence gauntlets +1",ring1="dark ring",ring2="Defending ring",
back="Weard Mantle",waist="Flume Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
sets.defense.Aegis = {ammo="Angha Gem",main="Burtgang",sub="aegis",
head="Reverence Coronet +1",neck="Twilight Torque",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Cab. Surcoat +1",hands="Reverence gauntlets +1",ring1="dark ring",ring2="Defending ring",
back="Weard Mantle",waist="Flume Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
-- To cap MDT with Shell IV (52/256), need 76/256 in gear. Current gear set is ??/256.
-- Shellra V can provide 75/256.
sets.defense.MDT = {main="Burtgang",ammo="Vanir battery",
head="Reverence Coronet +1",neck="Twilight Torque",ear1="Sanare Earring",ear2="Flashward Earring",
body="Cab. Surcoat +1",hands="Reverence Gauntlets +1",ring1="Shadow Ring",ring2="Defending ring",
back="Weard mantle",waist="Creed Baudrier",legs="Mes'yohi Slacks",feet="Cab. Leggings +1"}
sets.defense.PDT.Repulse = set_combine(sets.defense.PDT, sets.Repulse)
sets.defense.Aegis.Repulse = set_combine(sets.defense.Aegis, sets.Repulse)
sets.defense.MDT.Repulse = set_combine(sets.defense.MDT, sets.Repulse)
sets.defense.PDT.Reraise = set_combine(sets.defense.PDT, sets.Reraise)
sets.defense.Aegis.Reraise = set_combine(sets.defense.Aegis, sets.Reraise)
sets.defense.MDT.Reraise = set_combine(sets.defense.MDT, sets.Reraise)
sets.defense.PDT.RepulseReraise = set_combine(sets.defense.PDT, sets.Reraise, sets.Repulse)
sets.defense.Aegis.RepulseReraise = set_combine(sets.defense.PDT, sets.Reraise, sets.Repulse)
sets.defense.MDT.RepulseReraise = set_combine(sets.defense.PDT, sets.Reraise, sets.Repulse)
sets.Kiting = {legs="Crimson Cuisses"}
sets.latent_refresh = {waist="Fucho-no-obi"}
--------------------------------------
-- Engaged sets
--------------------------------------
sets.engaged = {ammo="Vanir battery",
head="Otomi Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.MP = {ammo="Ginsen",
head="Otomi Helm",neck="Creed Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Fucho-no-obi",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.Acc = {ammo="Ginsen",
head="Otomi Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin vest",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Letalis Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.DW = {ammo="Vanir battery",
head="Otomi Helm",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.DW.MP = {ammo="JVanir battery",
head="Otomi Helm",neck="Creed Collar",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.DW.Acc = {ammo="Ginsen",
head="Otomi Helm",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Karmesin vest",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Letalis Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
--------------------------------------
-- Custom buff sets
--------------------------------------
sets.buff.Doomed = {ring1="Eshmun's Ring",ring2="Saida Ring",head="Twilight Helm", body="Twilight Mail",legs="Shabti cuisses +1"}
sets.buff.Cover = {head="Reverence Coronet +1", body="Caballarius Surcoat +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
--Doom
function job_post_midcast(spell, action, spellMap, eventArgs)
if state.Buff.Doomed then
equip(sets.buff.Doomed)
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if state.Buff.Doomed then
idleSet = set_combine(idleSet, sets.buff.Doomed)
send_command('input /p DOOM please Cursna')
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(engaged)
if state.Buff.Doomed then
sets.engaged = set_combine(sets.buff.Doomed)
end
return sets.engaged
end
--Doom
function job_post_midcast(spell, action, spellMap, eventArgs)
if buffactive['Doom'] then
equip(sets.buff.Doomed)
send_command('input /p DOOM please Cursna')
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
-- Don't gearswap for weaponskills when Defense is on.
if spell.type == 'WeaponSkill' and state.Defense.Active then
eventArgs.handled = true
end
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
-- Run after the default precast() is done.
-- eventArgs is the same one used in job_precast, in case information needs to be persisted.
function job_post_precast(spell, action, spellMap, eventArgs)
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
return meleeSet
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for change events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_state_change(field, new_value, old_value)
if field == 'HybridDefenseMode' then
classes.CustomDefenseGroups:clear()
classes.CustomDefenseGroups:append(new_value)
end
end
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
update_defense_mode()
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function update_defense_mode()
if player.equipment.main == 'Bustgang' and not classes.CustomDefenseGroups:contains('Burtgang') then
classes.CustomDefenseGroups:append('Burtgang')
end
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
if player.equipment.sub and not player.equipment.sub:endswith('Shield') and
player.equipment.sub ~= 'Aegis' and player.equipment.sub ~= 'Ochain' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
end
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(10, 7)
elseif player.sub_job == 'NIN' then
set_macro_page(1, 7)
elseif player.sub_job == 'RDM' then
set_macro_page(9, 7)
elseif player.sub_job == 'RUN' then
set_macro_page(8, 7)
else
set_macro_page(1, 7)
end
end
actually fonctional for major thing, exept doom and /run gestion
Server: Cerberus
Game: FFXI
Posts: 1931
By Cerberus.Shadowmeld 2014-06-23 14:43:33
Why don't you at least attribute the lions share of the work to the proper place instead of saying "I have steal someone PLD.lua and edited it."
That is Motenten's lua, and from what I can see any changes you have made are minor, if any. Additionally, with minimal reading, you will see that that lua won't function without other files that Mote distributes.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2014-06-24 03:36:38
is Motenten's one yeah, but actually /nin and /run and doom ins't managed.
and the change a made for Aegis isn't the best, but i'm pretty sure we can collab for make complete file for everyone.
(maybe aftermath managment or excalibur specific rules)
Server: Fenrir
Game: FFXI
Posts: 114
By Fenrir.Evildemon 2014-07-22 07:55:44
Damn do I miss akivatoo. Guy is always on the right track and mindset. When I was still playing that was how I wanted spellcast for all my jobs specially paladin. Excalibur rules are pretty vital imo since you'd swap to a whole different set to help with hp and varying other stats based on what your fighting.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2014-07-22 08:27:36
Actually, when you looking for do an other job you look on FFXIAH and BGwiki for progress in few step:
- Find job specific guide ( WHM and GEO one is pretty insane for understand the job)
- get Gearswap for use correctly all equipments and target missing equipment
if we build a perfect PLD gearswap tegether we can make the job easyer for everyone.
that why i wanted to build a collab .Lua file.
[+]
Server: Asura
Game: FFXI
Posts: 670
By Asura.Izilder 2014-07-29 14:51:46
ive just started to use Bokura's PLD LUA - anyone know how i can stop going into cure down set if im in a dt/pdt or hybrid mode
also there is an small issue with line 608 on initial use
"attempt to compare number with nil"
http://pastebin.com/enF6Paf4
Necro Bump Detected!
[111 days between previous and next post]
Server: Asura
Game: FFXI
Posts: 29
By Asura.Darknaut 2014-11-17 15:15:59
ive just started to use Bokura's PLD LUA - anyone know how i can stop going into cure down set if im in a dt/pdt or hybrid mode
also there is an small issue with line 608 on initial use
"attempt to compare number with nil"
http://pastebin.com/enF6Paf4
Any pld lua up to date or Bokura's is still good ?
Thx ~
I create this topic for make an perfect Gearswap for PLD together,
an "community contribution editing file"
i have steal Motenten PLD.Lua and edited it.
Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file to go with this.
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
state.Buff.Sentinel = buffactive.sentinel or false
state.Buff.Cover = buffactive.cover or false
state.Buff.Doomed = buffactive.doomed or false
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'Normal', 'Acc'}
options.WeaponskillModes = {'Normal', 'Acc'}
options.CastingModes = {'Normal'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT', 'Aegis',}
options.MagicalDefenseModes = {'MDT'}
options.HybridDefenseModes = {'None', 'Repulse', 'Reraise', 'RepulseReraise'}
state.Defense.PhysicalMode = 'PDT'
state.HybridDefenseMode = 'None'
send_command('bind !f11 gs c cycle HybridDefenseMode')
select_default_macro_book()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Invincible'] = {ammo="Iron Gobbet",
head="Cab. Coronet +1",neck="Invidia Torque",ear2="Trux Earring",
body="Cab. Surcoat +1",hands="Cab. Gauntlets +1",ring1="Vexer Ring",
back="Fierabras's Mantle",waist="Creed baudrier",legs="Caballarius Breeches +1",feet="Creed Sabatons +2"}
sets.precast.JA['Holy Circle'] = {feet="Reverence Leggings +1"}
sets.precast.JA['Shield Bash'] = {ammo="Iron Gobbet",head="Cab. Coronet +1",neck="Invidia Torque",ear1="Knightly Earring",
ear2="Trux Earring",body="Cab. Surcoat +1",hands="Caballarius Gauntlets +1",ring1="Guardian's ring",ring2="Fenian Ring",
back="Fierabras's Mantle",waist="Creed baudrier",legs="Cab. Breeches +1"}
sets.precast.JA['Sentinel'] = {ammo="Iron Gobbet",head="Cab. Coronet +1",neck="Invidia Torque",ear1="Knightly Earring",
ear2="Trux Earring",body="Cab. Surcoat +1",hands="Caballarius Gauntlets +1",ring1="Guardian's ring",ring2="Fenian Ring",
back="Fierabras's Mantle",waist="Creed baudrier",feet="Caballarius Leggings +1"}
sets.precast.JA['Rampart'] = {head="Caballarius Coronet +1",body="Cab. Surcoat +1",hands="Cab. gauntlets +1",
neck="Tjukurrpa Medal",ear1="Terra's Pearl",ear2="Terra's Pearl",ring1="Terrasoul Ring",ring2="Terrasoul Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
sets.precast.JA['Fealty'] = {body="Caballarius Surcoat +1"}
sets.precast.JA['Divine Emblem'] = {feet="Creed Sabatons +2"}
sets.precast.JA['Cover'] = {head="Reverence Coronet +1",body="Caballarius Surcoat +1",hands="Cab. gauntlets +1",
neck="Tjukurrpa Medal",ear1="Terra's Pearl",ear2="Terra's Pearl",ring1="Terrasoul Ring",ring2="Terrasoul Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
-- add mnd for Chivalry
sets.precast.JA['Chivalry'] = {ammo="Iron Gobbet",
head="Reverence Coronet +1",neck="Morgana's Choker",ear1="Andoaa earring",ear2="Loquac. Pearl",
body="Karmesin Vest",hands="Cab. Gauntlets +1",ring1="Aquasoul Ring",ring2="Vivian Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Cab. Breeches +1",feet="Whirpool greaves"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
head="Yaoyotl Helm",
body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",
head="Lithelimb cap",neck="Tjukurrpa Medal",ear1="Terra's Pearl",
ear2="Terra's Pearl",ring1="Valseur's Ring",ring2="Asklepian Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Reverence Breeches +1",
feet="Reverence Leggings"}
-- Special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
sets.precast.Step = {waist="Chaac Belt"}
sets.precast.Flourish1 = {waist="Chaac Belt"}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Incantor stone",
head="Creed armet +2",neck="Orunmila's Torque",ear2="Loquacious Earring",hands="Buremte gloves",
body="Nuevo coselete",ring1="Prolix Ring",ring2="Veneficium Ring",legs="Enif Cosciales"}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
sets.precast.FC.Cure = set_combine(sets.precast.FC,
{ammo="Incantor stone",
head="Creed armet +2",neck="Orunmila's Torque",ear2="Loquacious Earring",hands="Buremte gloves",
body="Nuevo coselete",ring1="Prolix Ring",legs="Enif Cosciales"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS =
{head="Yaoyotl Helm",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karieyh Haubert +1",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist=gear.ElementalBelt,legs="Cizin Breeches",feet="Cizin Greaves"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] =
{head="Lithelimb Cap",neck="Soil gorget",ear1="Steelflash Earring",ear2="Bladeborn earring",
body="Karmesin Vest",hands="Cizin Mufflers",ring1="Rajas ring",ring2="Aquasoul Ring",
back="Letalis mantle",waist="Soil belt",legs="Cizin breeches",feet="Whirlpool greaves"}
sets.precast.WS['Sanguine Blade'] =
{head="Yaoyotl Helm",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Reverence Surcoat +1",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Toro Cape",waist="Caudata Belt",legs="Reverence Breeches +1",feet="Reverence Leggings"}
sets.precast.WS['Atonement'] =
{neck="Light Gorget",body="Phorcys Korazin",waist="Light Belt",legs="Ogier's Breeches"}
sets.precast.WS['Chant du Cygne'] =
{head="Lithelimb Cap",neck="Light gorget",ear1="Steelflash Earring",ear2="Bladeborn earring",
body="Karmesin Vest",hands="Cizin Mufflers",ring1="Rajas ring",ring2="Unyielding Ring",
back="Letalis mantle",waist="Light belt",legs="Cizin breeches",feet="Whirlpool greaves"}
--------------------------------------
-- Midcast sets
--------------------------------------
sets.midcast.FastRecast = {
head="Yaoyotl Helm",
body="Reverence Surcoat +1",hands="Buremte Gloves",
waist="Chuq'aba Belt",legs="Enif Cosciales",feet="Reverence Leggings +1"}
sets.midcast.Enmity = {ammo="Iron Gobbet",
head="Cab. Coronet +1",neck="Invidia Torque",ear2="Trux Earring",
body="Cab. Surcoat +1",hands="Cab. Gauntlets +1",ring1="Vexer Ring",
back="Fierabras's Mantle",waist="Creed baudrier",legs="Cab. Breeches +1",feet="Creed Sabatons +2"}
sets.midcast.Flash = sets.midcast.Enmity
sets.midcast.Stun = sets.midcast.Flash
sets.midcast.Cure = {ammo="Iron Gobbet",
head="Rev. Coronet +1",neck="Phalaina Locket",ear1="Hospitaler Earring",ear2="Oneiros Earring",
body="Savas jawshan",hands="Buremte Gloves",ring1="Kunaji Ring",ring2="Asklepian Ring",
back="Fierabras's Mantle",waist="Chuq'aba belt",legs="Reverence Breeches +1",feet="Reverence Leggings"}
-- 37 dmg Phalanx
sets.midcast['Enhancing Magic'] = {back="Merciful cape",neck="Colossus's Torque",ear1="Augment. Earring",ear2="Andoaa Earring",waist="Olympus Sash",legs="Reverence Breeches +1"}
sets.midcast.Crusade = {back="Merciful cape",neck="Colossus's Torque",ear1="Augment. Earring",ear2="Andoaa Earring",waist="Olympus Sash",legs="Reverence Breeches +1"}
sets.midcast.Protect = {ring1="Sheltered Ring"}
sets.midcast.Shell = {ring1="Sheltered Ring"}
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
sets.Reraise = {head="Twilight Helm", body="Twilight Mail"}
sets.resting = {head="Twilight Helm",neck="Creed Collar",
body="Twilight Mail",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Fucho-no-obi"}
-- Idle sets
sets.idle = {ammo="Iron Gobbet",
head="Twilight helm",neck="Creed Collar",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Twilight mail",hands="Reverence Gauntlets +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
sets.idle.Town = {main="Burtgang",ammo="Vanir battery",
head="Reverence Coronet +1",neck="Creed Collar",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
sets.idle.Weak = {ammo="Iron Gobbet",
head="Twilight helm",neck="Creed Collar",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Twilight mail",hands="Reverence Gauntlets +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Weard Mantle",waist="Fucho-no-obi",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
sets.idle.Weak.Reraise = set_combine(sets.idle.Weak, sets.Reraise)
-- Physical
-- PDT
-- Aegis
-- Defense sets
-- Magical
-- MDT
-- Hybrid (on top of either physical or magical)
-- Repulse
-- Reraise
-- RepulseReraise
-- Custom
sets.Repulse = {back="Repulse Mantle"}
sets.defense.PDT = {ammo="Angha Gem",main="Burtgang",sub="Ochain",
head="Reverence Coronet +1",neck="Twilight Torque",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Cab. Surcoat +1",hands="Reverence gauntlets +1",ring1="dark ring",ring2="Defending ring",
back="Weard Mantle",waist="Flume Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
sets.defense.Aegis = {ammo="Angha Gem",main="Burtgang",sub="aegis",
head="Reverence Coronet +1",neck="Twilight Torque",ear1="Knight's Earring",ear2="Ethereal Earring",
body="Cab. Surcoat +1",hands="Reverence gauntlets +1",ring1="dark ring",ring2="Defending ring",
back="Weard Mantle",waist="Flume Belt",legs="Cab. breeches +1",feet="Rev. Leggings +1"}
-- To cap MDT with Shell IV (52/256), need 76/256 in gear. Current gear set is ??/256.
-- Shellra V can provide 75/256.
sets.defense.MDT = {main="Burtgang",ammo="Vanir battery",
head="Reverence Coronet +1",neck="Twilight Torque",ear1="Sanare Earring",ear2="Flashward Earring",
body="Cab. Surcoat +1",hands="Reverence Gauntlets +1",ring1="Shadow Ring",ring2="Defending ring",
back="Weard mantle",waist="Creed Baudrier",legs="Mes'yohi Slacks",feet="Cab. Leggings +1"}
sets.defense.PDT.Repulse = set_combine(sets.defense.PDT, sets.Repulse)
sets.defense.Aegis.Repulse = set_combine(sets.defense.Aegis, sets.Repulse)
sets.defense.MDT.Repulse = set_combine(sets.defense.MDT, sets.Repulse)
sets.defense.PDT.Reraise = set_combine(sets.defense.PDT, sets.Reraise)
sets.defense.Aegis.Reraise = set_combine(sets.defense.Aegis, sets.Reraise)
sets.defense.MDT.Reraise = set_combine(sets.defense.MDT, sets.Reraise)
sets.defense.PDT.RepulseReraise = set_combine(sets.defense.PDT, sets.Reraise, sets.Repulse)
sets.defense.Aegis.RepulseReraise = set_combine(sets.defense.PDT, sets.Reraise, sets.Repulse)
sets.defense.MDT.RepulseReraise = set_combine(sets.defense.PDT, sets.Reraise, sets.Repulse)
sets.Kiting = {legs="Crimson Cuisses"}
sets.latent_refresh = {waist="Fucho-no-obi"}
--------------------------------------
-- Engaged sets
--------------------------------------
sets.engaged = {ammo="Vanir battery",
head="Otomi Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.MP = {ammo="Ginsen",
head="Otomi Helm",neck="Creed Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Fucho-no-obi",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.Acc = {ammo="Ginsen",
head="Otomi Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin vest",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Letalis Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.DW = {ammo="Vanir battery",
head="Otomi Helm",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.DW.MP = {ammo="JVanir battery",
head="Otomi Helm",neck="Creed Collar",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Karmesin vest",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
sets.engaged.DW.Acc = {ammo="Ginsen",
head="Otomi Helm",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Karmesin vest",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Letalis Mantle",waist="Chuq'aba Belt",legs="Cizin Breeches",feet="Whirlpool Greaves"}
--------------------------------------
-- Custom buff sets
--------------------------------------
sets.buff.Doomed = {ring1="Eshmun's Ring",ring2="Saida Ring",head="Twilight Helm", body="Twilight Mail",legs="Shabti cuisses +1"}
sets.buff.Cover = {head="Reverence Coronet +1", body="Caballarius Surcoat +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
--Doom
function job_post_midcast(spell, action, spellMap, eventArgs)
if state.Buff.Doomed then
equip(sets.buff.Doomed)
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if state.Buff.Doomed then
idleSet = set_combine(idleSet, sets.buff.Doomed)
send_command('input /p DOOM please Cursna')
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(engaged)
if state.Buff.Doomed then
sets.engaged = set_combine(sets.buff.Doomed)
end
return sets.engaged
end
--Doom
function job_post_midcast(spell, action, spellMap, eventArgs)
if buffactive['Doom'] then
equip(sets.buff.Doomed)
send_command('input /p DOOM please Cursna')
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
-- Don't gearswap for weaponskills when Defense is on.
if spell.type == 'WeaponSkill' and state.Defense.Active then
eventArgs.handled = true
end
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
-- Run after the default precast() is done.
-- eventArgs is the same one used in job_precast, in case information needs to be persisted.
function job_post_precast(spell, action, spellMap, eventArgs)
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
return meleeSet
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for change events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_state_change(field, new_value, old_value)
if field == 'HybridDefenseMode' then
classes.CustomDefenseGroups:clear()
classes.CustomDefenseGroups:append(new_value)
end
end
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
update_defense_mode()
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function update_defense_mode()
if player.equipment.main == 'Bustgang' and not classes.CustomDefenseGroups:contains('Burtgang') then
classes.CustomDefenseGroups:append('Burtgang')
end
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
if player.equipment.sub and not player.equipment.sub:endswith('Shield') and
player.equipment.sub ~= 'Aegis' and player.equipment.sub ~= 'Ochain' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
end
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(10, 7)
elseif player.sub_job == 'NIN' then
set_macro_page(1, 7)
elseif player.sub_job == 'RDM' then
set_macro_page(9, 7)
elseif player.sub_job == 'RUN' then
set_macro_page(8, 7)
else
set_macro_page(1, 7)
end
end
actually fonctional for major thing, exept doom and /run gestion
|
|