1 Song (Sometimes) Wearing Off Early {Problem]

Language: JP EN DE FR
2010-09-08
New Items
users online
Forum » FFXI » Jobs » Bard » 1 Song (Sometimes) Wearing Off Early {Problem]
1 Song (Sometimes) Wearing Off Early {Problem]
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-06-04 16:38:21
Link | Quote | Reply
 
He uses a Mote LUA and needs to be compatible with it. Also, need a rule to equip a second Kali when subbed NIN or DNC. Currently, there's a rule setup for melee'ing but none for song casting.
 Asura.Krystela
Offline
Server: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-06-07 15:02:55
Link | Quote | Reply
 
Bismarck.Speedyjim said: »
He uses a Mote LUA and needs to be compatible with it. Also, need a rule to equip a second Kali when subbed NIN or DNC. Currently, there's a rule setup for melee'ing but none for song casting.

Have him make 2 sets, Song Buff and Debuffs.

The rules for both should look like this (Set name is an exemple)
Code
function midcast(spell)
    if spell.action_type == 'Magic' then
         if spell.type == 'BardSong' then
             equip(sets.midcast.Buffs)
             if player.sub_job == 'DNC' or player.sub_job == 'NIN' then	
                 equip(sets.midcast.Buffs.DW)
             end
         end
     end
end


Now that I think of it, I am not exacly sure how Motes rules are written but this should give you/him an idea of what it should look like. Mine is wrote differently because it's also for those that don't own a Ghorn.

Sorry late response ect~


Another easier option would be the just put both daggers in both midcast sets, so when he can actually dual wield, it will just equip them and when he isn't, it will just equip the one in main.
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 648
By Ragnarok.Flippant 2016-06-07 16:43:49
Link | Quote | Reply
 
Leviathan.Comeatmebro said: »
[...] it's caused by aftercast [...]

I was intrigued by this, so I went to test it, spamming songs manually with NT up.

Without any NT precast rules, I changed my idle set to my song casting gear. I got gimped songs (5min on display instead of 7min) within the first round of testing. I then essentially eliminated aftercast (and buff_change) altogether (returning immediately, leaving me in midcast). Again, I got gimped songs on the first round.

Showswaps was used to confirm that gear was registering as expected. There is no way that I was not casting in precast gear. This isn't to say that aftercast could not possibly cause an issue of the same result, but at the least, special handling for aftercast would not be enough to prevent the issue as a whole.

As a note though, I couldn't get a gimped song within 10 rounds of NT spamming with just an NT precast rule. But that doesn't necessarily prove anything.

Bismarck.Speedyjim said: »
He uses a Mote LUA and needs to be compatible with it. Also, need a rule to equip a second Kali when subbed NIN or DNC. Currently, there's a rule setup for melee'ing but none for song casting.

Assuming he didn't change anything from the original BRD file Mote has posted on Github,

For NT, try adding this function:
Code
function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.action_type == 'Magic' then
        if spell.type == 'BardSong' and buffactive.Nightingale then
            handle_actions(spell, 'midcast')
        end
    end
end

For DW, change the get_song_class function:
Code
-- Determine the custom class to use for the given song.
function get_song_class(spell)
    local songclass = 'SongEffect'
    -- Can't use spell.targets:contains() because this is being pulled from resources
    if set.contains(spell.targets, 'Enemy') then
        if state.CastingMode.value == 'Resistant' then
            songclass = 'ResistantSongDebuff'
        else
            songclass = 'SongDebuff'
        end   
    elseif state.ExtraSongsMode.value == 'Dummy' then
        songclass = 'DaurdablaDummy'            
    end
     
    if songclass ~= 'DaurdablaDummy' and S{"DNC","NIN"}:contains(player.sub_job:upper()) then
        songclass = songclass..'DW'
    end
       
    return songclass
end

and add sets.midcast.SongEffectDW, sets.midcast.ResistantSongDebuffDW, and sets.midcast.SongDebuffDW.
 Leviathan.Comeatmebro
Online
Server: Leviathan
Game: FFXI
user: Rairin
Posts: 5585
By Leviathan.Comeatmebro 2016-06-07 16:59:30
Link | Quote | Reply
 
there's a code issue somewhere in gearswap if that's the case, because i've gone back and forth with byrth plenty during the development of both and both of our systems are intended to have the same packet structure: mine never has that issue

the server will always read the entire communication before calculating the action, which is why we can freely use quick magic gear now that our plugins are packet based

are you proposing that nightingale works differently from quick magic in regards to server flow, suggesting that gearswap can't handle quick magic gear, or what? it's all pretty well known stuff, so if your testing is correct someone might want to let byrth know it's bugged
Log in to post.