Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Multiple TP Sets "Normal", ACC, P/MDT, Hybrid
- -- Multiple WS Sets, VS(Acc, Impetus, Impetus + ACC) SS(Normal, Acc) FH(Normal, Acc) Others WS
- -- Impetus active, auto VS WS Gear depending on TP Set
- -- Impetus Wear off, Remove Impetus Gear and back to "Normal"
- -- Auto Boost on Certain WS.
- -- SE Macros /console sc c .... Commands are Normal, PDT, MDT, Impetus, Hybrid, AutoBoost
- -- Opens a file in append mode
- --require('files')
- function user_setup()
- -- Default macro set/book
- set_macro_page(1, 13)
- end
- function get_sets()
- mataon = 0
- magicT = "Normal"
- annulrun = 0
- countmata = 0
- enga = 0
- kindofdelve = 0
- killingmandy = 0
- -- Debug mode - register packets
- regpack = 1
- accparsing = 0
- -- Runes
- Runes = S{"Lux", "Tenebrae", "Unda", "Flabra", "Gelus", "Ignis", "Tellus", "Sulpor"}
- WeaponG = "Glanzfaust"
- -- WS Auto-Boost list
- BoostdWS = S{"Final Heaven","Victory Smite","Shijin Spiral","Asuran Fists", "Ascetic's Fury"}
- KickAtk = S{""}
- include("MNK/AccLvl/NTP.lua")
- include("MNK/AccLvl/SAcc.lua")
- include("MNK/AccLvl/HAcc.lua")
- include("MNK/AccLvl/FAcc.lua")
- --AccLvlSAcc = S{"Wopket", "Utkux", "Hyoscya", "Muyingwa", "Supernal Chapuli"}
- --AccLvlHAcc = S{"Hurkan", "Azeman"}
- --AccLvlFAcc = S{"Ircinraq"}
- PDTTrigger = S{"Plague Swipe", "Dreadstorm", "Ripper Fang", "Chomp Rush", "Scythe Tail", "Cyclotail", "Delta Thrust", "Torpefying Charge", "Head Butt", "Tortoise Stomp", "Painful Whip", "Recoil Dive", "Gnash", "Deathgnash", "Seismic Tail", "Big Scissors", "Megascissors", "Drill Branch", "Pinecone Bomb", "Scorching Lash", "Wings of Woe", "Ravenous Wail", "Wings of Agony","Rending Talons", "Typhoean Rage", "Kaleidoscopic Fury", "Keraunos Quill", "Velkkan Ambush", "Coming Through"}
- MDTTrigger = S{"Fulmination", "Thunderstrike", "Tourbillon", "Whirling Inferno", "Foul Breath", "Tarichutoxin", "Aqua Fortis", "Regurgitation", "Calcifying Mist", "Aqua Breath", "Earth Breath", "Tetsudo Tremor", "Palsynyxis", "Aqua Ball", "Leeching Current", "Seaspray", "Venom Shower", "Bubble Shower", "Marine Mayhem", "Tidal Guillotine", "Leafstorm", "Sulfurous Breath", "Lava Spit", "Gates of Hades", "Acheron Flame","Shrieking Gale"}
- SleepTrigger = S{"Dream Flower"}
- ParaTrigger = S{"Ululation", "Jungle Hoodoo"}
- SlowTrigger = S{"Saurian Swamp"}
- MEvaTrigger = S{"Saurian Slide"}
- CharmTrigger = S{"Danse Macabre", "Frond Fatale", "Belly Dance"}
- --- Qaaxo Leggings differentiation
- QaaxoAcc = { name="Qaaxo Leggings", augments={'Accuracy+15','STR+7', "Phys. dmg. taken -3%"}}
- QaaxoMAB = { name="Qaaxo Leggings", augments={'Attack+15','"Mag.Atk.Bns."+15','STR+12',}}
- -- Delve specific
- Jagil = 0
- -- Specific Elemental NMs
- FireNM = S{"Ifrit Prime","Cerberus","Orthrus Seether","Tojil","Perdurable Raptor","Tax'et", "Achuka", "Volatile Matamata", "Achuka"}
- WaterNM = S{"Leviathan Prime","Dakuwaqa","Nerrivik", "Krabakarpo", "Divagating Jagil", "Tchakka", "Shimmering Tarichuk", "Faded Craklaw", "Divagating Jagil", "Ironbeak Inguza", "Tchakka"}
- IceNM = S{"Shiva Prime","Aberrant Uragnite", "Utkux", "Kumhau"}
- WindNM = S{"Garuda Prime","Aello", "Muyingwa", "Laevvid", "Unfettered Twitherym", "Supernal Chapuli", "Broxa", "Plaguevein Bats", "Hakawai", "Podarge"}
- ThunderNM = S{"Ramuh Prime", "Khimaira", "Khrysokhimaira Elder", "Hurkan", "Tutewehiwehi", "Cailimh", "Sinaa", "Colkhab"}
- EarthNM = S{"Titan Prime", "Resplendent Luckybug", "Wopket", "Yumcax", "Kurma", "Transcendent Scorpion", "Xag'Nar", "Morseiu", "Ircinraq", "Hyoscya", "Calydontis", "Cherti", "Mirka"}
- LightNM = S{}
- DarkNM = S{"Mastop", "Azeman"}
- autoboost = 0 -- Auto-Boost On by default
- autoswap = 1
- -- AUTOSET
- numberofautoset = 2
- autoset = {}
- -- Chakra
- autoset[1] = {}
- -- Focus
- autoset[2] = {}
- -- JA Precast
- sets.precast = {}
- sets.precast['Hundred Fists'] = {head="Ebon Mask", body="Ebon Harness", legs="Hes. Hose +1"}
- sets.precast['Formless Strikes'] = {body="Hes. Cyclas +1"}
- sets.precast.Counterstance = {feet="Hes. Gaiters +1"}
- sets.precast.Dodge = {feet="Anch. Gaiters +1"}
- sets.precast.Boost = {hands="Anch. Gloves +1"}
- sets.precast.Focus = {head="Anchorite's Crown +1"}
- sets.precast.Chakra =
- {
- ammo="Iron Gobbet",
- head="Lithelimb Cap",
- neck="Tjukurrpa Medal",
- ear1="Soil Pearl",
- ear2="Soil Pearl",
- body="Anchorite's Cyclas +1",
- hands="Hes. Gloves +1",
- ring1="Titan Ring",
- ring2="Titan Ring",
- back="Iximulew Cape",
- waist="Caudata Belt",
- legs="Kaabnax Trousers",
- feet="Thur. Boots +1"
- }
- sets.precast.Mantra =
- {
- head="Whirlpool Mask",
- neck="Cuamiz Collar",
- ear1="Bloodgem Earring",
- body="Hes. Cyclas +1",
- hands="Hes. Gloves +1",
- ring1="K'Ayres Ring",
- ring2="Beeline Ring",
- back="Earthcry Mantle",
- waist="Steppe Sash",
- legs="Hes. Hose +1",
- feet="Hes. Gaiters +1"
- }
- -- Subjob JA precast
- sets.precast.Waltz =
- {
- head="Kheper Bonnet",
- neck="Aife's Medal",
- ear1="Roundel Earring",
- ear2="Aqua Pearl",
- body="Otronif Harness",
- hands="Hes. Gloves +1",
- ring1="Aquasoul Ring",
- ring2="Kunaji Ring",
- waist="Cognizant Belt",
- legs="Nahtirah Trousers",
- feet="Hes. Gaiters +1"
- }
- sets.precast.Provoke =
- {
- ammo="Iron Gobbet",
- neck="Invidia Torque",
- body="Arhat's Gi +1",
- back="Fravashi Mantle"
- }
- sets.precast['Flash'] = sets.precast.Provoke
- -- VS Base
- sets.precast.VSDD =
- {
- ammo="Potestas Bomblet",
- head="Uk'uxkaj Cap",
- neck="Rancor Collar",
- left_ear="Tati Earring",
- right_ear="Tati Earring",
- body="Anch. Cyclas +1",
- hands="Anch. Gloves +1",
- left_ring="Ifrit Ring",
- right_ring="Ifrit Ring",
- back="Rancorous Mantle",
- waist="Prosilio Belt",
- legs="Otronif brais +1",
- feet=QaaxoMAB
- }
- sets.precast.VSSACC = set_combine(sets.precast.VSDD,
- {
- legs="Ighwa Trousers",
- feet="Daihanshi Habaki"
- })
- sets.precast.VSHACC = set_combine(sets.precast.VSSACC,
- {
- head="Whirlpool Mask",
- ammo="Honed Tathlum",
- neck="Light Gorget",
- back="Rancorous Mantle"
- })
- -- VS Impetus
- sets.precast.VSImpetus = set_combine(sets.precast.VSDD,
- {
- body="Tantra Cyclas +2",
- back="Vespid Mantle"
- })
- -- VS Acc Base
- sets.precast.VSACC= set_combine(sets.precast.VSHACC,
- {
- body="Manibozho Jerkin",
- waist="Anguinus Belt",
- back="Anchoret's Mantle"
- })
- -- VS Acc + Impetus
- sets.precast.VSImpacc = set_combine(sets.precast.VSACC,
- {
- body="Tantra Cyclas +2",
- })
- sets.precast.VSImpSacc = set_combine(sets.precast.VSSACC,
- {
- body="Tantra Cyclas +2",
- })
- sets.precast.VSImpHacc = set_combine(sets.precast.VHACC,
- {
- body="Tantra Cyclas +2",
- })
- -- Default Set for VS
- sets.precast['Victory Smite'] = sets.precast.VSDD
- sets.precast['Spinning Attack'] = sets.precast.VSDD
- -- AF Set
- sets.precast.AFDD =
- {
- hands= "Anch. Gloves +1",
- body= "Anch. Cyclas +1",
- feet= "Qaaxo Leggings",
- ammo= "Potestas Bomblet",
- ring1= "Ifrit Ring",
- ring2= "Ifrit Ring",
- waist= "Caudata Belt",
- legs= "Qaaxo Tights",
- ear1= "Tati Earring",
- back= "Rancorous Mantle",
- neck= "Rancor Collar",
- ear2= "Tati Earring",
- head= "Uk'uxkaj Cap"
- }
- sets.precast.AFSACC = set_combine(sets.precast.AFDD,
- {
- hands= "Hegira Wristbands",
- legs= "Ighwa Trousers"
- })
- sets.precast.AFHACC = set_combine(sets.precast.AFSACC,
- {
- feet= "Qaaxo Leggings",
- body ="Shned. Tabard +1",
- waist= "Caudata Belt"
- })
- sets.precast.AFACC = set_combine(sets.precast.AFHACC,
- {
- back= "Letalis Mantle",
- ear1= "Steelflash Earring",
- ear2= "Zennaroi Earring",
- ammo= "Honed Tathlum",
- neck ="Tjukurrpa Medal",
- head ="Whirlpool Mask"
- })
- -- Default Set for AF
- sets.precast['Ascetic\'s Fury'] = sets.precast.AFDD
- -- Lunge/Swipe sets MAB +104 - INT + 97 = 152MAB
- sets.precast['Lunge'] =
- {
- --sub="Zuuxowu Grip",
- ammo="Dosis Tathlum",
- head="Fugacity Beret +1",
- body="Sombra Harness",
- hands="Nilas GLoves",
- legs="Shneddick tights +1",
- feet=QaaxoMAB,
- left_ear="Friomisi Earring",
- right_ear="Crematio Earring",
- back="Toro Cape",
- neck="Stoicheion Medal",
- ring1 = "Acumen Ring",
- ring2 = "Fenrir Ring +1"
- }
- sets.precast['Swipe'] = sets.precast['Lunge']
- sets.precast['Shoulder Tackle'] = sets.precast['Lunge']
- sets.precast['Shattersoul'] = sets.precast['Lunge']
- -- SS Base
- sets.precast.SSDD =
- {
- ammo="Potestas Bomblet",
- head="Felistris Mask",
- neck="Justiciar's Torque",
- ear1="Tati Earring",
- ear2="Pixie Earring",
- body="Dread Jupon",
- hands="Anch. Gloves +1",
- ring1="Thundersoul Ring",
- ring2="Rajas Ring",
- back="Vespid Mantle",
- waist="Wanion belt",
- legs="Manibozho brais",
- feet="Daihanshi Habaki"
- }
- -- SS SAcc
- sets.precast.SSSACC= set_combine(sets.precast.SSDD,
- {
- neck="Light Gorget",
- back="Anchoret's Mantle"
- })
- -- SS HAcc
- sets.precast.SSHACC= set_combine(sets.precast.SSSACC,
- {
- head="Whirlpool Mask",
- ammo="Honed Tathlum"
- })
- -- SS Acc
- sets.precast.SSACC= set_combine(sets.precast.SSHACC,
- {
- body="Manibozho Jerkin",
- waist="Anguinus Belt"
- })
- -- SS Acc
- sets.precast['Utsusemi: Ichi']=
- {
- head="Haruspex Hat",
- neck="Magoraga Beads",
- body="Dread Jupon",
- Right_ring = "Prolix Ring",
- Left_ear = "Loquac. Earring",
- waist = "Black Belt",
- feet = "Daihanshi Habaki",
- hands = "Thaumas Gloves"
- }
- sets.precast['Utsusemi: Ni']=
- {
- head="Haruspex Hat",
- neck="Magoraga Beads",
- body="Dread Jupon",
- Right_ring = "Prolix Ring",
- Left_ear = "Loquac. Earring",
- waist = "Black Belt",
- feet = "Daihanshi Habaki",
- hands = "Thaumas Gloves"
- }
- -- Default Set for SS
- sets.precast['Shijin Spiral']= sets.precast.SSDD
- -- FH Base
- sets.precast.FHDD =
- {
- ammo="Tantra Tathlum",
- head="Whirlpool Mask",
- neck="Asperity Necklace",
- left_ear="Bladeborn Earring",
- right_ear="Soil Pearl",
- body="Manibozho Jerkin",
- hands="Hes. Gloves +1",
- back="Vespid Mantle",
- waist="Prosilio Belt",
- left_ring="Terrasoul Ring",
- right_ring="Terrasoul Ring",
- legs="Anch. Hose +1",
- feet="Hes. Gaiters +1 +1"
- }
- -- FH Acc
- sets.precast.FHACC = set_combine(sets.precast.FHDD,
- {
- ammo="Tantra Tathlum",
- neck="Light Gorget",
- hands="Hes. Gloves +1",
- waist="Caudata Belt",
- legs="Kaabnax Trousers",
- feet="Hes. Gaiters +1 +1",
- })
- -- Default set for FH
- sets.precast['Final Heaven'] = sets.precast.FHDD
- -- Others WS Set
- sets.precast.WS =
- {
- ammo="Potestas Bomblet",
- head="Uk'uxkaj Cap",
- neck="Tjukurrpa Medal",
- left_ear="Steelflash Earring",
- right_ear="Bladeborn Earring",
- body="Manibozho Jerkin",
- hands="Anch. Gloves +1",
- left_ring="Ifrit Ring",
- right_ring="Ifrit Ring",
- back="Vespid Mantle",
- waist="Windbuffet Belt +1",
- legs="Quiahuiz Trousers",
- feet="Hes. Gaiters +1 +1"
- }
- -- TP sets
- sets.TP = {}
- -- TP DD
- sets.TP.DD =
- {
- ammo="Ginsen",
- head="Felistris Mask",
- neck="Asperity Necklace",
- ear1="Steelflash Earring",
- ear2="Bladeborn Earring",
- body="Thaumas Coat",
- hands="Otronif Gloves +1",
- ring1="Rajas Ring",
- ring2="Epona's Ring",
- back="Atheling Mantle",
- waist="Windbuffet Belt +1",
- legs="Otronif Brais +1",
- feet="Soku. Sune-Ate",
- }
- sets.sTP =
- {
- ammo="Ginsen",
- head="Otronif Mask +1",
- neck="Dakatsu Nodowa",
- ear1="Steelflash Earring",
- ear2="Tripudio Earring",
- body="Thaumas Coat",
- hands="Otronif Gloves +1",
- ring1="Rajas Ring",
- ring2="Epona's Ring",
- back="Tactical Mantle",
- waist="Windbuffet Belt +1",
- legs="Otronif Brais +1",
- feet="Soku. Sune-Ate",
- }
- sets.KickAtk = set_combine(sets.TP.DD,
- {
- legs="Hes. Hose +1",
- feet="Soku. Sune-Ate"
- })
- sets.TP.SAcc = set_combine(sets.TP.DD,
- {
- back="Anchoret's mantle",
- head="Whirlpool Mask",
- ammo="Honed Tathlum"
- })
- sets.TP.HAcc = set_combine(sets.TP.SAcc,
- {
- neck="Iqabi Necklace",
- hands="Hes. Gloves +1",
- legs="Ighwa Trousers",
- waist="Olseni Belt",
- feet="Daihanshi Habaki"
- })
- -- TP Acc sets
- sets.TP.Acc = set_combine(sets.TP.HAcc,
- {
- body="Mekosu. Harness",
- ring2="Enlivened Ring",
- ring1="Beeline Ring",
- ear2="Zennaroi earring",
- feet=QaaxoAcc
- })
- sets.precast.acclvl = sets.TP.DD
- -- TP Hybrid Acc/PDT
- sets.TP.Hybrid= set_combine(sets.TP.Acc,
- {
- head="Whirlpool Mask",
- body="Otro. Harness +1",
- hands="Otronif Gloves +1",
- legs="Otronif Brais +1",
- feet="Otronif Boots +1",
- neck="Twilight Torque",
- left_ring="Defending Ring",
- back="Shadow Mantle",
- })
- -- TP Impetus
- sets.TP.Impetus=set_combine(sets.TP.DD,
- {
- body="Tantra Cyclas +2"
- })
- -- PDT
- sets.PDT =
- {
- ammo="Brigantia Pebble",
- head="Otronif Mask +1",
- left_ear="Black Earring",
- right_ear="Black Earring",
- neck="Twilight Torque",
- body="Otro. Harness +1",
- hands="Otronif Gloves +1",
- left_ring="Dark Ring",
- right_ring="Defending Ring",
- back="Shadow Mantle",
- waist="Black Belt",
- legs="Otronif Brais +1",
- feet="Otronif Boots +1"
- }
- --EVASION
- sets.Evasion =
- {
- feet= "Qaaxo Leggings",
- legs= "Qaaxo Tights",
- head= "Qaaxo Mask",
- ear1= "Phawaylla Earring",
- ear2= "Evader Earring",
- ring1= "Alert Ring",
- ring2= "Beeline Ring",
- back= "Fravashi Mantle",
- waist= "Kasiri Belt",
- hands= "Qaaxo Mitaines",
- body= "Qaaxo Harness",
- neck= "Ej necklace",
- ammo= "Goblin Cracker"
- }
- -- MDT
- sets.MDTa =
- {
- ammo="Vanir Battery",
- head="Fugacity Beret +1",
- neck="Twilight Torque",
- ear1="Merman's Earring",
- ear2="Merman's Earring",
- body="Otro. Harness +1",
- hands="Otronif Gloves +1",
- ring1="Shadow Ring",
- ring2="Defending Ring",
- back="Engulfer Cape +1",
- waist="Lieutenant's Sash",
- legs="Otronif Brais +1",
- feet="Otronif Boots +1"
- }
- sets.WaterMDT= set_combine(sets.MDTa,
- {
- ammo="Aqua Sachet",
- --back="Tuilha Cape",
- ring1="Zanhi Ring"
- })
- sets.IceMDT= set_combine(sets.MDTa,
- {
- ammo="Snow Sachet" --back="Toro Cape"
- })
- sets.FireMDT= set_combine(sets.MDTa,
- {
- ammo="Flame Sachet"
- --back="Buquwik Cape"
- })
- sets.EarthMDT = set_combine(sets.MDTa,
- {
- ammo="Soil Sachet"
- --back="Iximulew Cape"
- })
- sets.ThunderMDT = set_combine(sets.MDTa,
- {
- ammo="Thunder Sachet"
- --back="Kayapa Cape"
- })
- sets.WindMDT = set_combine(sets.MDTa,
- {
- ammo="Breeze Sachet"
- --back="Ik Cape"
- })
- sets.LightMDT = set_combine(sets.MDTa,
- {
- ammo="Light Sachet"
- })
- sets.DarkMDT = set_combine(sets.MDTa,
- {
- ammo="Dark Sachet"
- })
- sets.MDT = sets.MDTa
- --MEva
- sets.ResistMEva =
- {
- head="Wayfarer Circlet",
- back="Mubvum. Mantle",
- legs="Wayfarer Slops",
- body="Wayfarer Robe",
- hands="Wayfarer Cuffs",
- feet="Wayfarer Clogs",
- ear2="Flashward earring",
- ear1="Sanare Earring"
- }
- -- Resist Petrify
- sets.ResistPetrify = set_combine(sets.ResistMEva,
- {
- ear1="Black Earring",
- ear2="Black Earring",
- neck="Apathy Gorget",
- ring1="Unfettered Ring",
- ring2="Stormsoul Ring"
- })
- -- Resist Para
- sets.ResistPara = set_combine(sets.ResistMEva,
- {
- ring1="Icecrack Ring",
- ring2="Ifrit Ring"
- })
- -- Resist Sleep
- sets.ResistSleep = set_combine(sets.ResistMEva,
- {
- ear1="Volunt Earring",
- ring2="Carb. Ring",
- neck="M. No.17's Locket",
- ring1="Wuji Ring"
- })
- -- Resist Sleep
- sets.ResistCharm = set_combine(sets.ResistMEva,
- {
- ear1="Insomnia Earring",
- ring1="Wuji Ring"
- })
- --Aftercast/Idle rules
- sets.aftercast = {}
- sets.aftercast.TP = sets.TP.DD
- --
- --sets.Vanity =
- --{
- -- body ="Tenryu Domaru",
- -- hands = "Anch. Gloves +1",
- -- legs = "Hachiryu Haidate",
- -- feet = "Daihanshi Habaki"
- --}
- sets.aftercast.Idle = {}
- sets.idlen =
- {
- ammo="Cheruski Needle",
- head="Oce. Headpiece +1",
- neck="Wiglen Gorget",
- left_ear="Bladeborn Earring",
- right_ear="Steelflash Earring",
- body="Hes. Cyclas +1",
- waist="Windbuffet Belt +1",
- hands="Garden Bangles",
- left_ring="Paguroidea Ring",
- right_ring="Sheltered Ring",
- back="Mecisto. Mantle",
- legs="Quiahuiz Trousers",
- feet="Hermes' Sandals"
- }
- sets.idleref =
- {
- ammo="Cheruski Needle",
- head="Oce. Headpiece +1",
- neck="Wiglen Gorget",
- left_ear="Bladeborn Earring",
- right_ear="Steelflash Earring",
- body="Mekosu. Harness",
- waist="Windbuffet Belt +1",
- hands="Hegira Wristbands",
- left_ring="Paguroidea Ring",
- right_ring="Sheltered Ring",
- back="Mecisto. Mantle",
- legs="Quiahuiz Trousers",
- feet="Hermes' Sandals"
- }
- sets.aftercast.Idle = sets.idlen
- sets.reive = { neck = "Ygnas's Resolve +1" }
- end
- --Cancel WS if Mob is out of range
- function pretarget(spell)
- if spell.type=="WeaponSkill" then
- if spell.target.distance > 4.5 then
- add_to_chat(359, ''..player.target.name..' is too far unable to use '..spell.name..' !!! ')
- cancel_spell()
- return
- end
- end
- end
- foc = 0
- --Auto Boost on Certain WS
- function precast(spell,action)
- if buffactive.madrigal then
- equip({ear1="Kuwunga Earring"})
- disable("ear1")
- end
- if spell.name == "Focus" and windower.ffxi.get_ability_recasts()[13] < 1 and not buffactive.amnesia and foc == 0 then
- foc = 1
- cancel_spell()
- send_command('input /ja Focus <me>; wait 1; input /ja Dodge <me>; wait 1; input /ja Impetus <me>; wait0.5; input //gs c "Foc"')
- end
- if BoostdWS:contains(spell.name) and windower.ffxi.get_ability_recasts()[16] < 1 and not buffactive.amnesia and autoboost == 1 then
- cancel_spell()
- if player.target.name == "Perdurable Raptor" then
- send_command('input /ja "Boost" <me>;wait 1.5;input /ws "Shijin Spiral" '..spell.target.raw..'')
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Boosting > > > Shijin Spiral ] *-*-*-*-*-*-*-*-*' )
- else
- ---- BUG SUR RAPTOR, si Boost off, ne remplace pas
- send_command('input /ja "Boost" <me>;wait 1.5;input /ws "'..spell.name..'" '..spell.target.raw..'')
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Boosting > > > '..spell.name..' ] *-*-*-*-*-*-*-*-*' )
- end
- return
- end
- if spell.name == "Victory Smite" and player.target.name == "Perdurable Raptor" then
- send_command('input /ws "Shijin Spiral" '..spell.target.raw..'')
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Boosting > > > Shijin Spiral ] *-*-*-*-*-*-*-*-*' )
- end
- if spell.name == "Victory Smite" and player.TP == 3000 and not buffactive["Aftermath: Lv.3"] then
- cancel_spell()
- send_command('input /ws "Ascetic\'s Fury" '..spell.target.raw..'')
- end
- if spell.name == "Victory Smite" and player.TP >= 1000 and player.TP < 3000 and not buffactive["Aftermath: Lv.3"] and player.equipment.main == "Glanzfaust" then
- cancel_spell()
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ WAIT FOR 3000TP STUPID BOY ] *-*-*-*-*-*-*-*-*' )
- return
- end
- if annulrun == 0 then
- if Runes:contains(spell.name) then
- if player.target.name == "Dakuwaqa" then
- annulrun = 1
- cancel_spell()
- send_command('input /ja "Sulpor" <me>;wait 1.5; input //gs c "Annulrun"')
- elseif player.target.name == "Muyingwa" then
- annulrun = 1
- cancel_spell()
- send_command('input /ja "Gelus" <me>;wait 1.5; input //gs c "Annulrun"')
- elseif player.target.name == "SSS" then
- annulrun = 1
- cancel_spell()
- send_command('input /ja "Gelus" <me>;wait 1.5; input //gs c "Annulrun"')
- elseif player.target.name == "Tojil" then
- if player.target.hpp > 75 then
- -- Wind Time
- annulrun = 1
- cancel_spell()
- send_command('input /ja Flabra <me>;wait 1.5; input //gs c "Annulrun"')
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Wind proc time (100%->75%) : '..player.target.hpp..' ] *-*-*-*-*-*-*-*-*' )
- elseif player.target.hpp >50 and player.target.hpp <=75 then
- -- Dark Time
- annulrun = 1
- cancel_spell()
- send_command('input /ja Tenebrae <me>;wait 1.5; input //gs c "Annulrun"')
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Dark proc time (75%->50%) : '..player.target.hpp..' ] *-*-*-*-*-*-*-*-*' )
- elseif player.target.hpp >25 and player.target.hpp <=50 then
- -- Light Time
- annulrun = 1
- cancel_spell()
- send_command('input /ja Lux <me>;wait 1.5; input //gs c "Annulrun"')
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Light proc time (50%->25%) : '..player.target.hpp..' ] *-*-*-*-*-*-*-*-*' )
- elseif player.target.hpp <=25 then
- -- Water Time
- annulrun = 1
- cancel_spell()
- send_command('input /ja Unda <me>;wait 1.5; input //gs c "Annulrun"')
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Water proc time (25%->0%) : '..player.target.hpp..' ] *-*-*-*-*-*-*-*-*' )
- end
- --- HENNETIEL UNABLE SULPOR
- elseif kindofdelve == 3 then
- cancel_spell()
- if Jagil == 0 then
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Divagating Jagil needs to be killed before Runes ] *-*-*-*-*-*-*-*-*' )
- else
- annulrun = 1
- send_command('input /ja Sulpor <me>;wait 1.5; input //gs c "Annulrun"')
- end
- end
- end
- end
- --- MATA BOT
- if player.target.name == "Volatile Matamata" then
- if spell.name == "Formless Strikes" and countmata<5 then
- cancel_spell()
- add_to_chat(256, '*-*-*-*-*-*-*-*-* [ Don\'t be stupid, no FS before 5 ] *-*-*-*-*-*-*-*-*' )
- end
- end
- if sets.precast[spell.english] then
- if buffactive['Impetus'] then
- if sets.aftercast.TP == sets.TP.Acc then
- sets.precast['Victory Smite'] = sets.precast.VSImpacc
- else
- if sets.aftercast.TP == sets.TP.DD then
- sets.precast['Victory Smite'] = sets.precast.VSImpetus
- end
- end
- end
- equip(sets.precast[spell.english])
- elseif spell.type=="WeaponSkill" then
- equip(sets.precast.WS)
- elseif string.find(spell.english,'Waltz') then
- equip(sets.precast.Waltz)
- end
- end
- function midcast(spell,action)
- end
- function aftercast(spell,action)
- enable("ear1")
- if spell.name == null then
- return -- Cancel Aftercast for outofrange/unable to see.
- end
- if player.status == 'Engaged' then
- if spell.name == 'Boost' then
- return -- Cancel aftercast for boost, coz it was overlapping with the precast of the ws when used all in a macro.
- else
- equip(sets.aftercast.TP)
- end
- else
- if sets.aftercast.TP == sets.PDT or sets.aftercast.TP == sets.MDT then
- equip(sets.aftercast.TP)
- add_to_chat(005,'*-*-*-*-*-*-*-*-* [ Engaged ] *-*-*-*-*-*-*-*-*')
- else
- equip(sets.aftercast.Idle)
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ Idle ] *-*-*-*-*-*-*-*-*')
- end
- end
- end
- function status_change(new,old)
- if new == 'Engaged' then
- enga = 1
- -- Detection of Evasion of NMs, and autochoose an Accset
- if AccLvlFAcc:contains(player.target.name) then
- send_command('input //gs c "acc" ')
- elseif AccLvlHAcc:contains(player.target.name) then
- send_command('input //gs c "hacc" ')
- elseif AccLvlSAcc:contains(player.target.name) then
- send_command('input //gs c "sacc" ')
- elseif KickAtk:contains(player.target.name) then
- send_command('input //gs c "katk" ')
- elseif AccLvlNTP:contains(player.target.name) then
- send_command('input //gs c "normal" ')
- else
- send_command('input //gs c "normal" ')
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Unknown in db, starting parsing. ] *-*-*-*-*-*-*-*-*')
- accparsing = 1
- end
- -- Detection of Element Type of NMs
- if FireNM:contains(player.target.name) then
- sets.MDT = sets.FireMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Fire Based ] *-*-*-*-*-*-*-*-*')
- elseif WaterNM:contains(player.target.name) then
- sets.MDT = sets.WaterMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Water Based ] *-*-*-*-*-*-*-*-*')
- elseif WindNM:contains(player.target.name) then
- sets.MDT = sets.WindMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Wind Based ] *-*-*-*-*-*-*-*-*')
- elseif IceNM:contains(player.target.name) then
- sets.MDT = sets.IceMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Ice Based ] *-*-*-*-*-*-*-*-*')
- elseif ThunderNM:contains(player.target.name) then
- sets.MDT = sets.ThunderMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Thunder Based ] *-*-*-*-*-*-*-*-*')
- elseif EarthNM:contains(player.target.name) then
- sets.MDT = sets.EarthMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Earth Based ] *-*-*-*-*-*-*-*-*')
- elseif LightNM:contains(player.target.name) then
- sets.MDT = sets.LightMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Light Based ] *-*-*-*-*-*-*-*-*')
- elseif DarkNM:contains(player.target.name) then
- sets.MDT = sets.DarkMDT
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..player.target.name..' is Dark Based ] *-*-*-*-*-*-*-*-*')
- else
- sets.MDT = sets.MDTa
- end
- equip(sets.aftercast.TP)
- else
- enga = 0
- TENROWS = 0
- MISSROWS = 0
- HITROWS = 0
- accparsing = 0
- if sets.aftercast.TP == sets.PDT then
- equip(sets.aftercast.TP)
- elseif sets.aftercast.TP == sets.MDT then
- equip(sets.aftercast.TP)
- add_to_chat(005,'*-*-*-*-*-*-*-*-* [ Engaged ] *-*-*-*-*-*-*-*-*')
- else
- equip(sets.aftercast.Idle)
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ Idle ] *-*-*-*-*-*-*-*-*')
- end
- if killingmandy == 1 then
- stoprun = windower.ffxi.run(false)
- end
- end
- end
- memoryset = {}
- function buff_change(status,gain_or_loss)
- if status == "sleep" then
- if gain_or_loss then
- equip({neck="Opo-opo Necklace"})
- end
- end
- if status == "Reive Mark" then
- if gain_or_loss then
- equip({neck="Ygnas's Resolve +1"})
- disable("neck")
- add_to_chat(278, "REIVE ----------> WS+25% - Regain up")
- else
- enable("neck")
- add_to_chat(278, "REIVE ----------> OFF")
- end
- end
- if status == "encumbrance" then
- if not gain_or_loss then
- equip({main="Glanzfaust"})
- add_to_chat(278, "----------> Glanzfaust got back")
- end
- end
- if status == "Impetus" then
- if gain_or_loss then
- if sets.aftercast.TP == sets.TP.Acc then
- sets.precast['Victory Smite'] = sets.precast.VSImpacc
- add_to_chat(006, '*-*-*-*-*-*-*-*-* [ Victory Smite WS Set = Impetus - Acc ] *-*-*-*-*-*-*-*-*')
- else
- if sets.aftercast.TP == sets.MDT or sets.aftercast.TP == sets.PDT then
- sets.precast['Victory Smite'] = sets.precast.VSImpetus
- send_command('@input /e00 Victory Smite WS Set = P/MDT - VSImpetus ')
- add_to_chat(007,'*-*-*-*-*-*-*-*-* [ Victory Smite WS Set = P/MDT - VS - Impetus ] *-*-*-*-*-*-*-*-*')
- else
- equip(sets.TP.Impetus)
- sets.aftercast.TP = sets.TP.Impetus
- sets.precast['Victory Smite'] = sets.precast.VSImpetus
- add_to_chat(008, '*-*-*-*-*-*-*-*-* [ Victory Smite WS Set = VS - Impetus ] *-*-*-*-*-*-*-*-*')
- end
- end
- else
- if sets.aftercast.TP == sets.TP.Acc then
- sets.precast['Victory Smite'] = sets.precast.VSACC
- add_to_chat(206, '*-*-*-*-*-*-*-*-* [ Victory Smite WS Set = Acc ] *-*-*-*-*-*-*-*-*')
- else
- if sets.aftercast.TP == sets.MDT then
- equip(sets.MDT)
- sets.precast['Victory Smite'] = sets.precast.VSDD
- add_to_chat(207, '*-*-*-*-*-*-*-*-* [ Victory Smite WS Set = Normal -- MDT SET ON ] *-*-*-*-*-*-*-*-*')
- elseif sets.aftercast.TP == sets.PDT then
- equip(sets.PDT)
- sets.precast['Victory Smite'] = sets.precast.VSDD
- add_to_chat(209, '*-*-*-*-*-*-*-*-* [ Victory Smite WS Set = Normal -- PDT SET ON ] *-*-*-*-*-*-*-*-*')
- else
- equip(sets.TP.DD)
- sets.aftercast.TP = sets.TP.DD
- sets.precast['Victory Smite'] = sets.precast.VSDD
- add_to_chat(210, '*-*-*-*-*-*-*-*-* [Victory Smite WS Set = Normal] *-*-*-*-*-*-*-*-*')
- end
- end
- end
- end
- -- AM3
- if status == "Aftermath: Lv.3" then
- if gain_or_loss then
- --equip(sets.sTP)
- --memoryset= sets.aftercast.TP
- --sets.aftercast.TP = sets.sTP
- local timer_cmd = 'timers c "AM333333333" 180 down abilities/00255.png'
- send_command(timer_cmd)
- add_to_chat(287, '*-*-*-*-*-*-*-*-* [AFTERMATH 333333333333333333333333333] *-*-*-*-*-*-*-*-*')
- else
- --equip(memoryset)
- --sets.aftercast.TP = memoryset
- add_to_chat(211, '*-*-*-*-*-*-*-*-* [Aftermath lost] *-*-*-*-*-*-*-*-*')
- end
- end
- end
- -- Toggles -- SE Macros: /console gs c "command" [case sensitive]
- function self_command(command)
- if command == 'normal' then
- if player.status == 'Engaged' then
- equip(sets.TP.DD)
- sets.aftercast.TP = sets.TP.DD
- sets.precast.acclvl = sets.TP.DD
- sets.precast['Victory Smite'] = sets.precast.VSDD
- sets.precast['Shijin Spiral'] = sets.precast.SSDD
- sets.precast['Ascetic\'s Fury'] = sets.precast.AFDD
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ Normal TP ] *-*-*-*-*-*-*-*-*')
- else
- equip(sets.aftercast.Idle)
- sets.aftercast.TP = sets.TP.DD
- sets.precast.acclvl = sets.TP.DD
- sets.precast['Victory Smite'] = sets.precast.VSDD
- sets.precast['Shijin Spiral'] = sets.precast.SSDD
- sets.precast['Ascetic\'s Fury'] = sets.precast.AFDD
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ Normal TP - Idle ] *-*-*-*-*-*-*-*-*')
- end
- elseif command == 'nodt' then
- equip(sets.precast.acclvl)
- sets.aftercast.TP = sets.precast.acclvl
- elseif command == 'checklvl' then
- if player.target.name then
- if AccLvlFAcc:contains(player.target.name) then
- send_command('input //gs c "normal" ')
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ Erased from database, reparsing... ] *-*-*-*-*-*-*-*-*')
- file = io.open(windower.addon_path.."data/MNK/AccLvl/FAcc.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'\n"'..tostring(player.target.name)..'",', '')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/FAcc.lua", "w")
- file:write(tostring(texting))
- file:close()
- accparsing=1
- include("MNK/AccLvl/FAcc.lua")
- elseif AccLvlHAcc:contains(player.target.name) then
- send_command('input //gs c "normal" ')
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ Erased from database, reparsing... ] *-*-*-*-*-*-*-*-*')
- file = io.open(windower.addon_path.."data/MNK/AccLvl/HAcc.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'\n"'..tostring(player.target.name)..'",', '')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/HAcc.lua", "w")
- file:write(tostring(texting))
- file:close()
- accparsing=1
- include("MNK/AccLvl/HAcc.lua")
- elseif AccLvlSAcc:contains(player.target.name) then
- send_command('input //gs c "normal" ')
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ Erased from database, reparsing... ] *-*-*-*-*-*-*-*-*')
- file = io.open(windower.addon_path.."data/MNK/AccLvl/SAcc.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'\n"'..tostring(player.target.name)..'",', '')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/SAcc.lua", "w")
- file:write(tostring(texting))
- file:close()
- accparsing=1
- include("MNK/AccLvl/SAcc.lua")
- elseif AccLvlNTP:contains(player.target.name) then
- send_command('input //gs c "normal" ')
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ Erased from database, reparsing... ] *-*-*-*-*-*-*-*-*')
- file = io.open(windower.addon_path.."data/MNK/AccLvl/NTP.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'\n"'..tostring(player.target.name)..'",', '')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/NTP.lua", "w")
- file:write(tostring(texting))
- file:close()
- accparsing=1
- include("MNK/AccLvl/NTP.lua")
- else
- send_command('input //gs c "normal" ')
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ NOT registered, so wait ! ] *-*-*-*-*-*-*-*-*')
- end
- else
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ NO TARGET ] *-*-*-*-*-*-*-*-*')
- end
- elseif command == 'acc' then
- equip(sets.TP.Acc)
- sets.aftercast.TP = sets.TP.Acc
- sets.precast.acclvl = sets.TP.Acc
- sets.precast['Victory Smite'] = sets.precast.VSACC
- sets.precast['Shijin Spiral'] = sets.precast.SSACC
- sets.precast['Ascetic\'s Fury'] = sets.precast.AFACC
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ Full Acc ] *-*-*-*-*-*-*-*-*')
- elseif command == 'sacc' then
- equip(sets.TP.SAcc)
- sets.aftercast.TP = sets.TP.SAcc
- sets.precast.acclvl = sets.TP.SAcc
- sets.precast['Victory Smite'] = sets.precast.VSSACC
- sets.precast['Shijin Spiral'] = sets.precast.SSSACC
- sets.precast['Ascetic\'s Fury'] = sets.precast.AFSACC
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ Some Acc ] *-*-*-*-*-*-*-*-*')
- elseif command == 'hacc' then
- equip(sets.TP.HAcc)
- sets.aftercast.TP = sets.TP.HAcc
- sets.precast.acclvl = sets.TP.HAcc
- sets.precast['Victory Smite'] = sets.precast.VSHACC
- sets.precast['Shijin Spiral'] = sets.precast.SSHACC
- sets.precast['Ascetic\'s Fury'] = sets.precast.AFHDD
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ High Acc ] *-*-*-*-*-*-*-*-*')
- elseif command == 'katk' then
- equip(sets.KickAtk)
- sets.aftercast.TP = sets.KickAtk
- sets.precast.acclvl = sets.KickAtk
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ Kick ATTAAAAAAAAAAACKs ! ] *-*-*-*-*-*-*-*-*')
- elseif command == 'hybrid' then
- equip(sets.TP.Hybrid)
- sets.aftercast.TP = sets.TP.Hybrid
- sets.precast['Victory Smite'] = sets.precast.VSACC
- sets.precast['Shijin Spiral'] = sets.precast.SSACC
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ Acc Hybrid ] *-*-*-*-*-*-*-*-*')
- elseif command == 'impetus' then
- equip(sets.TP.Impetus)
- sets.aftercast.TP = sets.TP.Impetus
- sets.precast['Victory Smite'] = sets.precast.VSImpetus
- sets.precast['Shijin Spiral'] = sets.precast.SSDD
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ Impetus TP ] *-*-*-*-*-*-*-*-*')
- elseif command == 'PDT' then
- equip(sets.PDT)
- sets.aftercast.TP = sets.PDT
- add_to_chat(455, '*-*-*-*-*-*-*-*-* [ PDT ] *-*-*-*-*-*-*-*-*')
- elseif command == 'MDT' then
- equip(sets.MDT)
- sets.aftercast.TP = sets.MDT
- add_to_chat(501, '*-*-*-*-*-*-*-*-* [ MDT ] *-*-*-*-*-*-*-*-*')
- elseif command == 'AutoBoost' then
- if autoboost == 1 then
- autoboost = 0
- add_to_chat(167, '*-*-*-*-*-*-*-*-* [ AutoBoost OFF ] *-*-*-*-*-*-*-*-*')
- else
- autoboost = 1
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ AutoBoost ON ] *-*-*-*-*-*-*-*-*')
- end
- elseif command == 'Annulrun' then
- annulrun = 0
- elseif command == 'Foc' then
- foc = 0
- elseif command == 'checkset' then
- check_set()
- elseif command == 'stp' then
- equip(sets.sTP)
- elseif command == 'regpack' then
- if regpack == 1 then
- regpack = 0
- add_to_chat(167, '*-*-*-*-*-*-*-*-* [ Packet register OFF ] *-*-*-*-*-*-*-*-*')
- else
- regpack = 1
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Packet register ON ] *-*-*-*-*-*-*-*-*')
- end
- end
- end
- windower.register_event('tp change', function(new_tp, old_tp)
- if player.target.name== "Volatile Matamata" and countmata<5 then
- if player.tp >=1000 then
- send_command('input /ws "Victory Smite" <t> ')
- end
- end
- if player.target.name== "Resplendent Luckybug" and player.target.hpp >=50 then
- if player.tp >=1000 then
- send_command('input /ws "Victory Smite" <t> ')
- end
- end
- if player.target.name== "Amaranth Barrier" then
- if player.tp >=1000 then
- send_command('input /ws "Victory Smite" <t> ')
- end
- end
- end)
- TENROWS = 0
- MISSROWS = 0
- HITROWS = 0
- --- Delve Assistant
- windower.register_event('incoming text', function(original, modified, mode)
- local match
- --------------------------------------------------------------
- ---------------------- MATA BOT ------------------------------
- --------------------------------------------------------------
- if player.target.name == "Volatile Matamata" and mataon == 1 then
- match = original:match('The Volatile Matamata readies')
- if match then
- if countmata <6 then
- countmata = countmata+1
- send_command('input /p Volatile Mata @ '..countmata..' ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ AutoCounter ] *-*-*-*-*-*-*-*-*')
- elseif countmata ==6 then
- --FS
- countmata = countmata+1
- send_command('input /ja "Formless Strikes" <me> ')
- send_command('input /p Volatile Mata @ '..countmata..' : Formless Strikes !!! ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ AutoCounter : FS ON ] *-*-*-*-*-*-*-*-*')
- else
- countmata = 1
- send_command('input /p Volatile Mata @ '..countmata..' ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ AutoCounter ] *-*-*-*-*-*-*-*-*')
- end
- end
- end
- --if player.target.name == "Tutewehiwehi" then
- -- match = original:match('Tutewehiwehi readies Calcifying Mist.')
- -- if match then
- --equip(sets.ResistPetrify)
- --add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Resist Petrify ] *-*-*-*-*-*-*-*-*')
- --end
- -- match = original:match('Tutewehiwehi uses Calcifying Mist.')
- -- if match then
- --equip(sets.aftercast.TP)
- --add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Resist Petrify done ] *-*-*-*-*-*-*-*-*')
- --end
- -- end
- match = original:match('Volatile Mata @ 5')
- if match then
- countmata = 6
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ FS unlocked on mata, cause the count is 5 now ] *-*-*-*-*-*-*-*-*')
- end
- --- DeadNMs trigger
- match = original:match('defeats ([%s%w]+)%.')
- if match == "the Volatile Matamata" then
- enga = 0
- countmata = 0
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Volatile Matamata : Dead - Counter reset ] *-*-*-*-*-*-*-*-*')
- elseif match == "the Divagating Jagil" then
- enga =0
- Jagil = 1
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ Divagating Jagil : Dead - Runes allowed ] *-*-*-*-*-*-*-*-*')
- elseif match == "Nerrivik" then
- enga = 0
- Jagil = 0
- elseif match then
- enga=0
- add_to_chat(392,'*-*-*-*-*-*-*-*-* [ '..match..' : Dead ] *-*-*-*-*-*-*-*-*')
- end
- -- NM Move trigger
- if enga == 1 and autoswap == 1 then
- if player.target.name then
- match = original:match(''..player.target.name..' readies ([%s%w]+)%.')
- if PDTTrigger:contains(match) then
- send_command('input //gs c "PDT";wait 3; input //gs c "nodt" ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..player.target.name..' : '..match..' - PDT ] *-*-*-*-*-*-*-*-*')
- elseif MDTTrigger:contains(match) then
- send_command('input //gs c "MDT";wait 3; input //gs c "nodt" ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..player.target.name..' : '..match..' - MDT ] *-*-*-*-*-*-*-*-*')
- elseif SleepTrigger:contains(match) then
- equip(sets.ResistSleep)
- send_command('wait 3; input //gs c "nodt" ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..player.target.name..' : '..match..' - Resist Sleep ] *-*-*-*-*-*-*-*-*')
- elseif ParaTrigger:contains(match) then
- equip(sets.ResistPara)
- send_command('wait 3; input //gs c "nodt" ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..player.target.name..' : '..match..' - Resist Para ] *-*-*-*-*-*-*-*-*')
- elseif CharmTrigger:contains(match) then
- equip(sets.ResistCharm)
- send_command('wait 3; input //gs c "nodt" ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..player.target.name..' : '..match..' - Resist Charm ] *-*-*-*-*-*-*-*-*')
- elseif MEvaTrigger:contains(match) then
- equip(sets.ResistMEva)
- send_command('wait 3; input //gs c "nodt" ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..player.target.name..' : '..match..' - Resist MEVA ] *-*-*-*-*-*-*-*-*')
- elseif match == "Mortal Blast" then
- send_command('wait 3; input /follow Peeroturo; wait 0.5; input /sit; wait 2 input /follow '..player.target.raw..' ')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..player.target.name..' : '..match..' - MORTAAAAAAAAAAAAAAAAAAAL BLAAST ] *-*-*-*-*-*-*-*-*')
- end
- end
- end
- -- Broxa autoWS
- if player.target.name == "Broxa" then
- match = original:match('Broxa starts casting')
- if match and player.tp >= 1000 then
- send_command('input /ws "Victory Smite" <t> ')
- end
- end
- if accparsing == 1 then
- --- Parser
- if TENROWS < 10 then
- match = original:match('Keme misses')
- if match then
- MISSROWS = MISSROWS +1
- TENROWS = TENROWS +1
- end
- match = original:match('Keme hits')
- if match then
- HITROWS = HITROWS +1
- TENROWS = TENROWS +1
- end
- match = original:match('Keme scores a critical hit')
- if match then
- HITROWS = HITROWS +1
- TENROWS = TENROWS +1
- end
- else
- percent = HITROWS/TENROWS*100
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ On 10 hits, you did '..percent..'% ] *-*-*-*-*-*-*-*-*')
- if percent >= 90 then -- Keep it
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ This set is good, recording ] *-*-*-*-*-*-*-*-*')
- if sets.aftercast.TP == sets.TP.DD then
- file = io.open(windower.addon_path.."data/MNK/AccLvl/NTP.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'AccLvlNTP = S\{', 'AccLvlNTP = S\{ \n"'..tostring(player.target.name)..'",')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/NTP.lua", "w")
- file:write(tostring(texting))
- file:close()
- include("MNK/AccLvl/NTP.lua")
- --send_command('input //lua reload gearswap ')
- --NTPnumber = NTPnumber + 1
- --file:write('NTPnumber = '..NTPnumber..'')
- elseif sets.aftercast.TP == sets.TP.SAcc then
- file = io.open(windower.addon_path.."data/MNK/AccLvl/SAcc.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'AccLvlSAcc = S\{', 'AccLvlSAcc = S\{ \n"'..tostring(player.target.name)..'",')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/SAcc.lua", "w")
- file:write(tostring(texting))
- file:close()
- include("MNK/AccLvl/SAcc.lua")
- elseif sets.aftercast.TP == sets.TP.HAcc then
- file = io.open(windower.addon_path.."data/MNK/AccLvl/HAcc.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'AccLvlHAcc = S\{', 'AccLvlHAcc = S\{ \n"'..tostring(player.target.name)..'",')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/HAcc.lua", "w")
- file:write(tostring(texting))
- file:close()
- include("MNK/AccLvl/HAcc.lua")
- elseif sets.aftercast.TP == sets.TP.FAcc then
- file = io.open(windower.addon_path.."data/MNK/AccLvl/FAcc.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'AccLvlFAcc = S\{', 'AccLvlFAcc = S\{ \n"'..tostring(player.target.name)..'",')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/FAcc.lua", "w")
- file:write(tostring(texting))
- file:close()
- include("MNK/AccLvl/FAcc.lua")
- end
- accparsing = 0 -- STOP PARSING
- TENROWS = 0
- MISSROWS = 0
- HITROWS = 0
- else -- Try next lvl
- if sets.aftercast.TP == sets.TP.DD then
- send_command('input //gs c "sacc" ')
- TENROWS = 0
- MISSROWS = 0
- HITROWS = 0
- elseif sets.aftercast.TP == sets.TP.SAcc then
- send_command('input //gs c "hacc" ')
- TENROWS = 0
- MISSROWS = 0
- HITROWS = 0
- elseif sets.aftercast.TP == sets.TP.HAcc then
- send_command('input //gs c "acc" ')
- TENROWS = 0
- MISSROWS = 0
- HITROWS = 0
- elseif sets.aftercast.TP == sets.TP.FAcc then
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ This sucks, but is the bes t] *-*-*-*-*-*-*-*-*')
- file = io.open(windower.addon_path.."data/MNK/AccLvl/FAcc.lua", "r")
- texting = file:read("*a")
- print(texting)
- texting = string.gsub(texting,'AccLvlFAcc = S\{', 'AccLvlFAcc = S\{ \n"'..tostring(player.target.name)..'",')
- print(texting)
- file:close()
- file = io.open(windower.addon_path.."data/MNK/AccLvl/FAcc.lua", "w")
- file:write(tostring(texting))
- file:close()
- include("MNK/AccLvl/FAcc.lua")
- send_command('input //lua reload gearswap ')
- accparsing = 0 -- STOP PARSING
- TENROWS = 0
- MISSROWS = 0
- HITROWS = 0
- end
- end
- end
- end
- return modified, mode
- end)
- windower.register_event('hp change', function(new, old)
- if player.HPP == 0 then
- enga = 0
- end
- -- AutoWS on Resplendent Luckybug, with FarmBot mostly
- if player.target.name== "Resplendent Luckybug" and player.target.hpp >=50 then
- if player.tp >=1000 then
- send_command('input /ws "Victory Smite" <t> ')
- end
- end
- if player.target.name== "Spectator" then
- if player.tp >=1000 then
- send_command('input /ws "Spinning Attack" <t> ')
- end
- end
- if player.target.name== "Sinaa" then
- if player.tp >=1000 then
- send_command('input /ws "Victory Smite" <t> ')
- end
- end
- if player.HPP >= 90 then
- sets.aftercast.Idle = sets.idleref
- else
- sets.aftercast.Idle = sets.idlen
- end
- if new <= 500 and windower.ffxi.get_ability_recasts()[15] < 1 and not buffactive.amnesia then
- send_command('input /ja Chakra <me>')
- end
- end)
- function delve_reset()
- Jagil = 0
- kindofdelve = 0
- end
- windower.register_event('Zone change', function(new_id, old_id)
- send_command('wait 15;input /lockstyle on')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Vanity Style ] *-*-*-*-*-*-*-*-*')
- if regpack then
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ New zone = '..new_id..' / Old zone = '..old_id..' ] *-*-*-*-*-*-*-*-*')
- end
- ---- OLD DELVE
- -- Entering
- if new_id == 271 then
- -- Checking which of the three delves
- -- Morimar
- if old_id == 265 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Delve -- Welcome to Morimar Basalt Field RUN ] *-*-*-*-*-*-*-*-*')
- kindofdelve = 1
- -- Ceizak
- elseif old_id == 261 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Delve -- Welcome to Ceizak Battlefield RUN ] *-*-*-*-*-*-*-*-*')
- kindofdelve = 2
- -- Foret
- elseif old_id == 262 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Delve -- Welcome to Forêt de Hennetiel RUN ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Delve -- You can\'t use Runes until your killed Jagil ] *-*-*-*-*-*-*-*-*')
- kindofdelve = 3
- elseif old_id == 266 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Delve -- Welcome to INCURSION ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Delve -- Timer started ] *-*-*-*-*-*-*-*-*')
- local timer_cmd = 'timers c "INCURSION" 2700 down abilities/00254.png'
- send_command(timer_cmd)
- end
- end
- -- Leaving
- if old_id == 271 then
- delve_reset()
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Delve -- Delve Done, resetting delve assist ] *-*-*-*-*-*-*-*-*')
- end
- return modified, injected
- end)
- windower.register_event('action', function(act)
- -- Code to execute
- h = 0
- -- MDT set on spikes
- if autoswap == 1 then
- if has_spike_effect then
- -- Detect Type
- if spike_effect_animation == 1 then
- -- Fire
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Fire Spikes = Fire MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.FireMDT)
- elseif spike_effect_animation == 2 then
- -- Ice
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Ice Spikes = Ice MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.IceMDT)
- elseif spike_effect_animation == 3 then
- -- Dark
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Dread Spikes = Fark MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.DarkMDT)
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ !!! TURN AWAY !!! ] *-*-*-*-*-*-*-*-*')
- elseif spike_effect_animation == 4 then
- -- Water
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Water Spikes = Water MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.WaterMDT)
- elseif spike_effect_animation == 5 then
- -- Thunder
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Thunder Spikes = Thunder MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.ThunderMDT)
- elseif spike_effect_animation == 6 then
- -- Light
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Light Spikes = Light MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.LightMDT)
- elseif spike_effect_animation == 7 then
- -- Wind
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Wind Spikes = Wind MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.WindMDT)
- elseif spike_effect_animation == 8 then
- -- Earth
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Earth Spikes = Earth MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- equip(sets.EarthMDT)
- elseif spike_effect_animation == 63 then
- -- PDT
- if h == 0 then
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Fire Spikes = Fire MDT ] *-*-*-*-*-*-*-*-*')
- end
- h=1
- send_command('input //gs c "PDT"')
- end
- end
- else
- if h== 1 then
- send_command('input //gs c "nodt" ')
- h = 0
- end
- end
- end)
- local clock = os.clock
- function sleep(n) -- seconds
- local t0 = clock()
- while clock() - t0 <= n do end
- end
- function check_set()
- for i=1, numberofautoset do
- send_command('input //gs equip naked;wait 0.5; input /equipset '..i..'')
- sleep(2)
- autoset[i] = {
- main=player.equipment.main,
- sub=player.equipment.sub,
- range=player.equipment.range,
- ammo=player.equipment.ammo,
- head=player.equipment.head,
- neck=player.equipment.neck,
- ear1=player.equipment.left_ear,
- ear2=player.equipment.right_ear,
- body=player.equipment.body,
- hands=player.equipment.hands,
- ring1=player.equipment.left_ring,
- ring2=player.equipment.right_ring,
- back=player.equipment.back,
- waist=player.equipment.waist,
- legs=player.equipment.legs,
- feet=player.equipment.feet
- }
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Auto Set Number '..i..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Main : '..player.equipment.main..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Sub : '..player.equipment.sub..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Range : '..player.equipment.range..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Ammo : '..player.equipment.ammo..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Head : '..player.equipment.head..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Neck : '..player.equipment.neck..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Earring1 : '..player.equipment.left_ear..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Earring2 : '..player.equipment.right_ear..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Body : '..player.equipment.body..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Hands : '..player.equipment.hands..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Ring1 : '..player.equipment.left_ring..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Ring2 : '..player.equipment.right_ring..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Back : '..player.equipment.back..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Waist : '..player.equipment.waist..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Legs : '..player.equipment.legs..' ] *-*-*-*-*-*-*-*-*')
- add_to_chat(179, '*-*-*-*-*-*-*-*-* [ Feet : '..player.equipment.feet..' ] *-*-*-*-*-*-*-*-*')
- sleep(1)
- end
- -- resetting autoset
- sets.precast.Chakra = autoset[1]
- sets.precast.Focus = autoset[2]
- end
- ----- Debuff removal request
- windower.register_event('chat message', function(original, sender, mode, gm)
- local match
- ---- Invite checker
- --match = original:match(') ([%w]+)%')
- if original == "inv" then
- send_command('@input /pcmd add '..sender..'')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* ['..sender..' is invited. ] *-*-*-*-*-*-*-*-*')
- end
- if original == "Inv" then
- send_command('@input /pcmd add '..sender..'')
- add_to_chat(204, '*-*-*-*-*-*-*-*-* ['..sender..' is invited. ] *-*-*-*-*-*-*-*-*')
- end
- if sender == "Keme" then
- if original == "check" then
- open_coffer()
- end
- end
- if sender == "Keme" then
- if original == "go" then
- start_farming()
- end
- end
- return sender, mode, gm
- end)
- --[[
- windower.register_event('day change', function(new, old)
- if new == 7 then
- sets.precast.Chakra = sets.precast.ChakraDark
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Chakra set get Shadow Mantle now ! ] *-*-*-*-*-*-*-*-*')
- else
- sets.precast.Chakra = sets.precast.ChakraN
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Chakra set is Normal now ] *-*-*-*-*-*-*-*-*')
- end
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Last Day : '..old..' / New Day : '..new..' ] *-*-*-*-*-*-*-*-*')
- end)--]]
- function target_mob()
- --[[tablemob = {}
- tablemob = windower.ffxi.get_mob_array()
- max = tablemob.maxn
- for i = 1, max do
- if tablemob[i].name == "Blanched Mandragora" then
- --add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..tablemob.[''..i..''].name..' ] *-*-*-*-*-*-*-*-*')
- end
- end--]]
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..bag..' ] *-*-*-*-*-*-*-*-*')
- end
- function open_coffer()
- CofferType = "Velkk Coffer"
- if player.inventory[CofferType] then
- NCoffer = player.inventory[CofferType].count
- bag = windower.ffxi.get_bag_info(0).count
- max = windower.ffxi.get_bag_info(0).max
- spots = max-bag
- if spots > 0 then
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ '..NCoffer..'x '..CofferType..' to open - Inventory('..bag..'/'..max..') ] *-*-*-*-*-*-*-*-*')
- local nextcommand = ""
- for i=1, spots do
- nextcommand = nextcommand .. 'input /item "'..CofferType..'" <me>; wait 2;'
- end
- nextcommand = nextcommand .. 'input /tell keme check'
- send_command(nextcommand)
- else
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Inventory('..bag..'/'..max..') ] *-*-*-*-*-*-*-*-*')
- end
- else
- add_to_chat(204, '*-*-*-*-*-*-*-*-* [ No '..CofferType..' in inventory ] *-*-*-*-*-*-*-*-*')
- end
- end
- function start_farming()
- send_command('input /targetnpc')
- -- S'il trouve une target
- if player.target then
- if player.target.name == "Blanched Mandragora" then
- send_command('input /follow; wait 2; input /attack <t>')
- killingmandy = 1
- else
- dir = math.pi/4
- windower.ffxi.turn(dir)
- start_farming()
- end
- else
- -- Sinon
- dir = math.pi/4
- windower.ffxi.turn(dir)
- start_farming()
- end
- end
- fps = 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement