Jump to content


Photo

Gearswap Help, Elemental Obi Kinematic's BLM file.


    9 replies to this topic

    #1 Joenut915

    Joenut915

      Newbie

    • Members
    • Pip
    • 6 posts

      Posted 04 February 2016 - 04:06 PM

      Hello.

      I've spent the last two days trying to get elemental obis to work in Kinematic's BLM file with no luck.

      One of the first things I did was put Hyorin Obi in the mote-include file here to see if it was working at all and it does not.

       

      gear.ElementalGorget = {name=""}
          gear.ElementalBelt = {name=""}
          gear.ElementalObi = {name="Hyorin Obi"}
          gear.ElementalCape = {name=""}
          gear.ElementalRing = {name=""}
          gear.FastcastStaff = {name=""}
          gear.RecastStaff = {name=""}
      
      

       

      So I started to try and make it work inside of the BLM file by adding sets and code like this.

       

      sets.Obi = {}
      		sets.Obi.Fire = {waist='Karin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Earth = {waist='Dorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Water = {waist='Suirin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Wind = {waist='Furin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Ice = {waist='Hyorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Thunder = {waist='Rairin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Light = {waist='Korin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Dark = {waist='Anrin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      
      function midcast(spell,action)
              if spell.action_type == 'Magic' then
                  if sets.midcast[spell.english] then
                      equip(sets.midcast[spell.english])
                  elseif spell.english:startswith('Protect') or spell.english:startswith('Shell') then
                      equip(sets.midcast.ProtectShell)
                  elseif spell.skill == 'Elemental Magic' then
                      if spell.english:startswith('Stone') then
                           equip(sets.midcast.Stone)	
                      elseif spell.english == 'Impact' then
                           equip(sets.midcast['Elemental Magic'],{body="Twilight Cloak"})
                      else equip(sets.midcast['Elemental Magic'])
                      end
                      if spell.element == world.weather_element or spell.element == world.day_element then
                           equip(sets.obi[spell.element])
                      end
                  elseif sets.midcast[spell.skill] then
                      equip(sets.midcast[spell.skill])
                  else equip(sets.precast.Fastcast)
                  end
              end
          end
      



      I've tried various pieces of code I found in other people's gearswap and no matter what I do it just doesn't seem to work.

      Here's my full code I'm using right now.

       

      -------------------------------------------------------------------------------------------------------------------
      -- Setup functions for this job.  Generally should not be modified.
      -------------------------------------------------------------------------------------------------------------------
      
      -- Initialization function for this job file.
      function get_sets()
          mote_include_version = 2
          
          -- Load and initialize the include file.
          include('Mote-Include.lua')	
      	
      end
      
      
      -- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
      function job_setup()
      
      end
      
      -------------------------------------------------------------------------------------------------------------------
      -- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
      -------------------------------------------------------------------------------------------------------------------
      
      -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
      function user_setup()
          state.OffenseMode:options('None', 'Normal')
          state.CastingMode:options('Normal', 'Resistant', 'Proc')
          state.IdleMode:options('Normal', 'PDT')
          
      
          lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
              'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
              'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
              'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
              'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
      
          gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -3%','Mag. Acc.+29'}}
          
          -- Additional local binds
          send_command('bind ^` input /ma Stun <t>')
          send_command('bind @` gs c activate MagicBurst')
      
          select_default_macro_book()
      end
      
      -- Called when this job file is unloaded (eg: job change)
      function user_unload()
          send_command('unbind ^`')
          send_command('unbind @`')
      end
      
      
      -- Define sets and vars used by this job file.
      function init_gear_sets()
          --------------------------------------
          -- Start defining the sets
          --------------------------------------
          
          ---- PRECAST ----
          
          ---- Precast sets to enhance JAs ----
      	
          sets.precast.JA['Mana Wall'] = {feet="Goetia Sabots +1"}
      
          sets.precast.JA.Manafont = {}
          
          ---- equip to maximize HP (for Tarus) and minimize MP loss before using convert ----
      	
          sets.precast.JA.Convert = {}
      
          ---- Fast cast sets for spells ----
      
          sets.precast.FC = {neck="Jeweled Collar",
              head="Wayfarer Circlet",ear2="Loquacious Earring",legs="Wayfarer Slops",body="Wicce Coat",waist="Swift Belt",feet="Rostrum Pumps"}
      
          sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
      
          sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {neck="Stoicheion Medal"})
      
          sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris", back="Pahtli Cape"})
      
          sets.precast.FC.Curaga = sets.precast.FC.Cure
      	
      	sets.precast.Stoneskin = {hands="Carpacho Cuffs"}
      
          ---- MIDCAST ----
      		
      	---- HEALING MAGIC ----
      
          sets.midcast.Cure = {main="Eminent Staff",
              head="Wayfarer Circlet",neck="Morgana's Choker",ear2="Loquacious Earring", ear1="Geist Earring",
              body="Wicce Coat",hands="Wayfarer Cuffs",ring1="Tamas Ring",ring2="Solemn Ring",
              back="Kaikias' Cape",waist="Witch Sash",legs="Wayfarer Slops",feet="Wayfarer Clogs"}
      
          sets.midcast.Curaga = sets.midcast.Cure
      
          ---- ENHANCING MAGIC ----	
      	
          sets.midcast['Enhancing Magic'] = {ear1="Geist Earring", back="Kaikias' Cape",
              waist="Siegel Sash", neck="Enhancing Torque", feet="Igqira Huaraches",
              body="Wicce Coat",hands="Wayfarer Cuffs", ring1="Tamas Ring", ring2="Solemn Ring",
              legs="Wayfarer Slops", ear2="Geist Earring", head="Wayfarer Circlet"}
      		
          ---- STONESKIN ----
      	
          sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {waist="Siegel Sash", main="Eminent Staff",
      	neck="Morgana's Choker", feet="Wayfarer Clogs", legs="Haven Hoes", hands="Carapacho Cuffs"})
      	
      	---- ENFEEBLING MAGIC ----
      
          sets.midcast['Enfeebling Magic'] = {main="Eminent Staff", sub="Buggard Strap +1", ammo="Sturm's Report",
              head="Wayfarer Circlet",neck="Morgana's Choker",ear1="Geist Earring",ear2="Geist Earring",
              body="Wicce Coat",hands="Wayfarer Cuffs",ring1="Solemn Ring",ring2="Tamas Ring",
              back="Kaikias' Cape",legs="Wayfarer Slops",feet="Wayfarer Clogs", waist="Witch Sash"}
      	
      	sets.midcast['Enfeebling Magic'].Resistant = set_combine(sets.midcast['Enfeebling Magic'], {head="Wayfarer Circlet",neck="Enfeebling Torque",
              body="Wicce Coat",ring1="Omega Ring",ring2="Tamas Ring",feet="Wayfarer Clogs"})
              
          sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
      	
      	---- ENFEEBLING MAGIC BLACK ----
      
          sets.midcast['Dark Magic'] = {main="Eminent Staff",sub="Bugard Strap +1",ammo="Phantom Tathlum",
              head="Wayfarer Circlet",neck="Stoicheion Medal",ear1="Hecate's Earring",ear2="Phantom Earring",
              body="Wicce Coat",hands="Wayfarer Cuffs",ring1="Tamas Ring",ring2="Icesoul Ring",
              back="Kaikias' Cape",waist="Witch Sash",legs="Wizard's Tonban",feet="Goetia Sabots +1"}
      
          ---- ELEMENTAL MAGIC ----
      	    
          sets.midcast['Elemental Magic'] = {main="Eminent Staff",sub="Bugard Strap +1",ammo="Witchstone",
              head="Wayfarer Circlet",neck="Stoicheion Medal",ear1="Hecate's Earring",ear2="Friomisi Earring",
              body="Wicce Coat",hands="Goetia Gloves +1",ring1="Icesoul Ring",ring2="Acumen Ring",
              back="Kaikias' Cape",waist="Witch Sash",legs="Wayfarer Slops",feet="Wayfarer Clogs"}
      		
      	sets.midcast['Elemental Magic'].Resistant = set_combine(sets.midcast['Elemental Magic'], {ammo="Witchstone",
              head="Goetia Petasos +1",hands="Wayfarer Cuffs",ring2="Omega Ring",waist="Witch Sash",})
          
      	
          ---- RESTING ----
      	
          sets.resting = {main="Chatoyant Staff",sub="Ariesian Grip",
              neck="Beak Necklace +1",body="Errant Hpl.",waist="Hierarch Belt",feet="Avocat Pigaches"}
        
          ---- IDLE ----
      	
          sets.idle = {main="Terra's Staff", sub="Bugard Strap +1",ammo="Hedgehog Bomb",
              head="Goetia Petasos +1",neck="Morgana's Choker",ear1="Bloodgem Earring",ear2="Loquacious Earring",
              body="Wicce Coat",hands="Goetia Gloves +1",ring1="Bifrost Ring",ring2="Tamas Ring",
              back="Kakias' Cape",waist="Witch Sash",legs="Goetia Chausses +2",feet="Goetia Sabots +1"}
      		
      	---- Functionality for Bard Sub ----	
      		
          --sets.midcast.BardSong = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Sturm's Report",
          --    head="Nahtirah Hat",neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
          --    body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
          --    back="Refraction Cape",legs="Bokwus Slops",feet="Bokwus Boots"}
      
          -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
          
          sets.buff['Mana Wall'] = {feet="Goetia Sabots +2"}
      
          -- Engaged sets
      
          -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
          -- sets if more refined versions aren't defined.
          -- If you create a set with both offense and defense modes, the offense mode should be first.
          -- EG: sets.engaged.Dagger.Accuracy.Evasion
          
          -- Normal melee group
          sets.engaged = {
              head="Zelus Tiara",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
              body="Hagondes Coat",hands="Bokwus Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
              back="Umbra Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
      		
      	sets.Obi = {}
      		sets.Obi.Fire = {waist='Karin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Earth = {waist='Dorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Water = {waist='Suirin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Wind = {waist='Furin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Ice = {waist='Hyorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Thunder = {waist='Rairin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Light = {waist='Korin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      		sets.Obi.Dark = {waist='Anrin Obi',back='Twilight Cape',lring='Zodiac Ring'}
      
      	
      	
      end
      
      
      
      
      -------------------------------------------------------------------------------------------------------------------
      -- Job-specific hooks for standard casting events.
      -------------------------------------------------------------------------------------------------------------------
      
      -- 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 midcast(spell,action)
              if spell.action_type == 'Magic' then
                  if sets.midcast[spell.english] then
                      equip(sets.midcast[spell.english])
                  elseif spell.english:startswith('Protect') or spell.english:startswith('Shell') then
                      equip(sets.midcast.ProtectShell)
                  elseif spell.skill == 'Elemental Magic' then
                      if spell.english:startswith('Stone') then
                           equip(sets.midcast.Stone)	
                      elseif spell.english == 'Impact' then
                           equip(sets.midcast['Elemental Magic'],{body="Twilight Cloak"})
                      else equip(sets.midcast['Elemental Magic'])
                      end
                      if spell.element == world.weather_element or spell.element == world.day_element then
                           equip(sets.obi[spell.element])
                      end
                  elseif sets.midcast[spell.skill] then
                      equip(sets.midcast[spell.skill])
                  else equip(sets.precast.Fastcast)
                  end
              end
          end
      
      
      
      function job_precast(spell, action, spellMap, eventArgs)
          if spell.action_type == 'Magic' then
              if spell.skill == 'Elemental Magic' then
                  gear.default.obi_waist = "Witch Sash"
                  gear.default.obi_back = "NonBonusNukingBack"
              elseif spellMap == 'Cure' or spellMap == 'Curaga' then
                  gear.default.obi_waist = "Witch Sash"
                  gear.default.obi_back = "NonBonusCuringBack"
              end
          end
      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
      
      function job_aftercast(spell, action, spellMap, eventArgs)
          -- Lock feet after using Mana Wall.
          if not spell.interrupted then
              if spell.english == 'Mana Wall' then
                  enable('feet')
                  equip(sets.buff['Mana Wall'])
                  disable('feet')
              end
          end
      end
      
      -------------------------------------------------------------------------------------------------------------------
      -- Job-specific hooks for non-casting events.
      -------------------------------------------------------------------------------------------------------------------
      
      -- 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)
          -- Unlock feet when Mana Wall buff is lost.
          if buff == "Mana Wall" and not gain then
              enable('feet')
              handle_equipping_gear(player.status)
          end
      end
      
      -- Handle notifications of general user state change.
      function job_state_change(stateField, newValue, oldValue)
          if stateField == 'Offense Mode' then
              if newValue == 'Normal' then
                  disable('main','sub','range')
              else
                  enable('main','sub','range')
              end
          end
      end
      
      
      -------------------------------------------------------------------------------------------------------------------
      -- User code that supplements standard library decisions.
      -------------------------------------------------------------------------------------------------------------------
      
      -- Custom spell mapping.
      function job_get_spell_map(spell, default_spell_map)
          if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
              --[[ No real need to differentiate with current gear.
              if lowTierNukes:contains(spell.english) then
                  return 'LowTierNuke'
              else
                  return 'HighTierNuke'
              end
              --]]
          end
      end
      
      -- 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
      
      
      -- Function to display the current relevant user state when doing an update.
      function display_current_job_state(eventArgs)
          display_current_caster_state()
          eventArgs.handled = true
      end
      
      -------------------------------------------------------------------------------------------------------------------
      -- Utility functions specific to this job.
      -------------------------------------------------------------------------------------------------------------------
      
      -- Select default macro book on initial load or subjob change.
      function select_default_macro_book()
          set_macro_page(1, 2)
      

      I've spent days on this with no luck, and I posted in the help thread over on BG, but the extent of the help I got was

       

      "Get a fotia obi and put that under gear.elementalbelt"

      Which is not really helpful at all since entering stuff into the mote-include file seems to do nothing anyway.

      Any help I can get will be greatly appreciated.



      #2 sdahlka

      sdahlka

        Advanced Member

      • Members
      • PipPipPip
      • 324 posts

        Posted 04 February 2016 - 04:49 PM

        this is what i use in my include(rewriten for basic gearswap files) it goes at the end of your gearswap midcast section

         

         

        sets.spell_obi={Fire={waist="Karin Obi"},Earth={waist="Dorin Obi"},Water={waist="Suirin Obi"},
                        Wind={waist="Furin Obi"},Ice={waist="Hyorin Obi"},Lightning={waist="Rairin Obi"},
                        Light={waist="Korin Obi"},Dark={waist="Anrin Obi"},}
        Typ = {spells = S{'White Magic','Black Magic','Ninjutsu','Geomancy','Blue Magic','Bard Song'},
               abilitys = S{'/jobability','/pet','/weaponskill','/monsterskill','/range'},}
        
            
            
            if not Typ.abilitys:contains(spell.prefix) and spell.action_type ~= "Item" then
                local spell_element = (type(spell.element)=='number' and gearswap.res.elements[spell.element] or
                      gearswap.res.elements:with('name', spell.element))
                if spell_element.name == world.weather_element or spell_element.name == world.day_element then
                    if player.inventory["Hachirin-no-Obi"] or player.wardrobe["Hachirin-no-Obi"] then
                        equip({waist="Hachirin-no-Obi"})
                    elseif player.inventory[sets.spell_obi[spell_element.en].waist] or
                          player.wardrobe[sets.spell_obi[spell_element.en].waist] then
                        equip(sets.spell_obi[spell_element.en])
                    end
                end
            end
         

        • Joenut915 likes this

        #3 Joenut915

        Joenut915

          Newbie

        • Members
        • Pip
        • 6 posts

          Posted 04 February 2016 - 05:02 PM

          Can you paste the whole code so I can see exactly how it is inserted? Thanks!



          #4 sdahlka

          sdahlka

            Advanced Member

          • Members
          • PipPipPip
          • 324 posts

            Posted 04 February 2016 - 05:22 PM

            Can you paste the whole code so I can see exactly how it is inserted? Thanks!

            --in motes include system(the one your using)

            i have no clue (im not sure how motes include works all that well)

             

            --in basic gearswap

             

            function get_sets()
                --this can go anywhere in get_sets
                sets.spell_obi={Fire={waist="Karin Obi"},Earth={waist="Dorin Obi"},Water={waist="Suirin Obi"},
                                Wind={waist="Furin Obi"},Ice={waist="Hyorin Obi"},Lightning={waist="Rairin Obi"},
                                Light={waist="Korin Obi"},Dark={waist="Anrin Obi"},}
                Typ = {spells = S{'White Magic','Black Magic','Ninjutsu','Geomancy','Blue Magic','Bard Song'},
                       abilitys = S{'/jobability','/pet','/weaponskill','/monsterskill','/range'},}
            end
            
                
            function midcast(spell)
                --all the rest of your code goes here
                if not Typ.abilitys:contains(spell.prefix) and spell.action_type ~= "Item" then
                    local spell_element = (type(spell.element)=='number' and gearswap.res.elements[spell.element] or
                          gearswap.res.elements:with('name', spell.element))
                    if spell_element.name == world.weather_element or spell_element.name == world.day_element then
                        if player.inventory["Hachirin-no-Obi"] or player.wardrobe["Hachirin-no-Obi"] then
                            equip({waist="Hachirin-no-Obi"})
                        elseif player.inventory[sets.spell_obi[spell_element.en].waist] or
                              player.wardrobe[sets.spell_obi[spell_element.en].waist] then
                            equip(sets.spell_obi[spell_element.en])
                        end
                    end
                end
            end
             

            --in my include

            not needed because it already automatic


            • Joenut915 likes this

            #5 Joenut915

            Joenut915

              Newbie

            • Members
            • Pip
            • 6 posts

              Posted 04 February 2016 - 05:57 PM

              Nope sorry, not working.

              I donno if it has to do with mote's include file or whatever.

              I'm willing to start over with a whole new lua file, but the only template out there is Kinematic's...

              Heeeeeelppp meeeeeeeee.

              Seriously, I'm like going to smash my computer soon.



              #6 sdahlka

              sdahlka

                Advanced Member

              • Members
              • PipPipPip
              • 324 posts

                Posted 04 February 2016 - 06:10 PM

                Nope sorry, not working.

                I donno if it has to do with mote's include file or whatever.

                I'm willing to start over with a whole new lua file, but the only template out there is Kinematic's...

                Heeeeeelppp meeeeeeeee.

                Seriously, I'm like going to smash my computer soon.

                as i said i dont have much info on how motes include works so i really cant help much



                #7 Joenut915

                Joenut915

                  Newbie

                • Members
                • Pip
                • 6 posts

                  Posted 04 February 2016 - 07:37 PM

                  I seem to have semi-resolved the problem.

                  For anyone else who may be having the same problem;

                  Edit the Mote-Mappings.lua line 33 and 34 so it has the elemental obi names in it, unless you have the super-elemental obi, then leave it alone.

                   

                  elements.obi_of = {['Light']='Korin Obi', ['Dark']='Anrin Obi', ['Fire']='Karin Obi', ['Ice']='Hyorin Obi', ['Wind']='Furin Obi',
                       ['Earth']='Dorin Obi', ['Lightning']='Rairin Obi', ['Water']='Suirin Obi'}
                  

                  Edit the Mote-Utility.lua line 450 and 451 to include your default waist peace to use when there are no day/weather affects.

                   

                  local obi_name = get_elemental_item_name("obi", S{spell.element}, world_elements)
                      gear.ElementalObi.name = obi_name or gear.default.obi_waist  or "Witch Sash"
                  

                  And this is why I said semi-resolved the problem, because it seems the magic burst set is overriding the waist slot, so you have to delete the magic bursting code.

                   

                  function job_post_midcast(spell, action, spellMap, eventArgs)
                      if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
                          equip(sets.magic_burst)
                      end
                  end
                  
                  function job_aftercast(spell, action, spellMap, eventArgs)
                      -- Lock feet after using Mana Wall.
                      if not spell.interrupted then
                          if spell.english == 'Mana Wall' then
                              enable('feet')
                              equip(sets.buff['Mana Wall'])
                              disable('feet')
                          elseif spell.skill == 'Elemental Magic' then
                              state.MagicBurst:reset()
                          end
                      end
                  end
                  

                  In the above code, delete

                   

                  function job_post_midcast(spell, action, spellMap, eventArgs)
                      if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
                          equip(sets.magic_burst)
                      end
                  end
                  

                  And delete the magic burst part out of the 2nd part so that it looks like:

                   

                  function job_aftercast(spell, action, spellMap, eventArgs)
                      -- Lock feet after using Mana Wall.
                      if not spell.interrupted then
                          if spell.english == 'Mana Wall' then
                              enable('feet')
                              equip(sets.buff['Mana Wall'])
                              disable('feet')
                          end
                      end
                  end
                  


                  #8 isil

                  isil

                    Newbie

                  • Members
                  • Pip
                  • 3 posts

                    Posted 05 March 2016 - 06:45 PM

                    This is my version. I have a custom mode for state.MPMode too, since I don't want to always wear AF body.

                    I am also trying to use multiple magicburst variables, but haven't had time yet to fix it.

                     

                    send_command('bind ^` gs c cycle MPMode')
                    

                     

                    function job_post_midcast(spell, action, spellMap, eventArgs) 
                    if spell.skill == 'Elemental Magic' then
                    		if spell.element == world.day_element or spell.element == world.weather_element then
                    			if player.mpp < 35 and state.MPMode.value == 'MPP35' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst,{waist="Hachirin-No-Obi",body="Spaekona's coat +1"})
                    				else
                    					equip(sets.midcast['Elemental Magic'],{waist="Hachirin-No-Obi",body="Spaekona's coat +1"})
                    				end
                    			elseif player.mpp < 60 and state.MPMode.value == 'MPP60' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst,{waist="Hachirin-No-Obi",body="Spaekona's coat +1"})
                    				else
                    					equip(sets.midcast['Elemental Magic'],{waist="Hachirin-No-Obi",body="Spaekona's coat +1"})
                    				end
                    			elseif state.MPMode.value == 'MPALL' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst,{waist="Hachirin-No-Obi",body="Spaekona's coat +1"})
                    				else
                    					equip(sets.midcast['Elemental Magic'],{waist="Hachirin-No-Obi",body="Spaekona's coat +1"})
                    				end
                    			elseif state.MPMode.value == 'Normal' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst,{waist="Hachirin-No-Obi"})
                    				else
                    					equip(sets.midcast['Elemental Magic'],{waist="Hachirin-No-Obi"})
                    				end
                    			end
                    		else
                    			if player.mpp < 35 and state.MPMode.value == 'MPP35' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst,{body="Spaekona's coat +1"})
                    				else
                    					equip(sets.midcast['Elemental Magic'],{body="Spaekona's coat +1"})
                    				end
                    			elseif player.mpp < 60 and state.MPMode.value == 'MPP60' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst,{body="Spaekona's coat +1"})
                    				else
                    					equip(sets.midcast['Elemental Magic'],{body="Spaekona's coat +1"})
                    				end
                    			elseif state.MPMode.value == 'MPALL' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst,{body="Spaekona's coat +1"})
                    				else
                    					equip(sets.midcast['Elemental Magic'],{body="Spaekona's coat +1"})
                    				end
                    			elseif state.MPMode.value == 'Normal' or state.MPMode.value == 'None' then
                    				if state.MagicBurst == "tmp" or state.MagicBurst == "Perma" then
                    					equip(sets.magic_burst)
                    				else
                    					equip(sets.midcast['Elemental Magic'])
                    				end
                    			end
                    		end
                    	end
                    end
                    


                    #9 sdahlka

                    sdahlka

                      Advanced Member

                    • Members
                    • PipPipPip
                    • 324 posts

                      Posted 06 March 2016 - 03:45 AM

                      Hello.

                      I've spent the last two days trying to get elemental obis to work in Kinematic's BLM file with no luck.

                      One of the first things I did was put Hyorin Obi in the mote-include file here to see if it was working at all and it does not.

                       

                      gear.ElementalGorget = {name=""}
                          gear.ElementalBelt = {name=""}
                          gear.ElementalObi = {name="Hyorin Obi"}
                          gear.ElementalCape = {name=""}
                          gear.ElementalRing = {name=""}
                          gear.FastcastStaff = {name=""}
                          gear.RecastStaff = {name=""}
                      
                      

                       

                      So I started to try and make it work inside of the BLM file by adding sets and code like this.

                       

                      sets.Obi = {}
                      		sets.Obi.Fire = {waist='Karin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      		sets.Obi.Earth = {waist='Dorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      		sets.Obi.Water = {waist='Suirin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      		sets.Obi.Wind = {waist='Furin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      		sets.Obi.Ice = {waist='Hyorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      		sets.Obi.Thunder = {waist='Rairin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      		sets.Obi.Light = {waist='Korin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      		sets.Obi.Dark = {waist='Anrin Obi',back='Twilight Cape',lring='Zodiac Ring'}
                      
                      function midcast(spell,action)
                              if spell.action_type == 'Magic' then
                                  if sets.midcast[spell.english] then
                                      equip(sets.midcast[spell.english])
                                  elseif spell.english:startswith('Protect') or spell.english:startswith('Shell') then
                                      equip(sets.midcast.ProtectShell)
                                  elseif spell.skill == 'Elemental Magic' then
                                      if spell.english:startswith('Stone') then
                                           equip(sets.midcast.Stone)	
                                      elseif spell.english == 'Impact' then
                                           equip(sets.midcast['Elemental Magic'],{body="Twilight Cloak"})
                                      else equip(sets.midcast['Elemental Magic'])
                                      end
                                      if spell.element == world.weather_element or spell.element == world.day_element then
                                           equip(sets.obi[spell.element])
                                      end
                                  elseif sets.midcast[spell.skill] then
                                      equip(sets.midcast[spell.skill])
                                  else equip(sets.precast.Fastcast)
                                  end
                              end
                          end
                      



                      I've spent days on this with no luck, and I posted in the help thread over on BG, but the extent of the help I got was

                       

                      "Get a fotia obi and put that under gear.elementalbelt"

                      Which is not really helpful at all since entering stuff into the mote-include file seems to do nothing anyway.

                      Any help I can get will be greatly appreciated.

                      your biggest issue is you cant use midcast in motes include its already in use

                      you need to up your code in eather

                      job_midcast() or job_post_midcast()

                      but im not sure which



                      #10 zaxtiss

                      zaxtiss

                        Advanced Member

                      • Members
                      • PipPipPip
                      • 49 posts

                        Posted 19 March 2016 - 08:13 AM

                        can pm me ill send you blm lua






                        1 user(s) are reading this topic

                        0 members, 1 guests, 0 anonymous users