Budget-Friendly Witchcraft Supplies on a Shoestring Budget

By admin

I have always been fascinated by the world of witches, magic, and spells. However, being on a tight budget, I always felt like I couldn't fully embrace this part of my identity without spending a fortune on expensive tools and materials. That's when I began my journey as a budget-friendly witch. One of the first things I learned was that magic isn't dependent on expensive tools or fancy materials. Instead, it is about harnessing your own energy and intent. I started by creating my own rituals and spells using items I already had around the house – herbs from my kitchen, candles from the dollar store, and even old jars and bottles for spell jars.


Nope, Nair™ does not make hair grow back thicker. Other methods like shaving and waxing don't either. In fact, waxing can have the opposite effect - following a regular waxing routine can cause hair to grow back finer than it was before.

engaged end ------------------------------------------------------------------------------------------------------------------- -- Job-specific hooks for standard casting events. Not only can men use Nair hair removal products, we also have a Men s Nair line that offers bold, cutting-edge scents developed in collaboration with the finest fragrance houses.

Nare magic supplement

I started by creating my own rituals and spells using items I already had around the house – herbs from my kitchen, candles from the dollar store, and even old jars and bottles for spell jars. I also discovered the power of visualization and intention-setting. Instead of purchasing expensive crystals or gemstones, I started using my imagination to visualize them during my rituals.

Gearswap Support Thread

A friend of mine with teamviewer10 has an issue with gearswap, unfortunately the resolution from this is so bad it's hard to read.

Version: US
Windower Run as Admin: Yes
Error: Re Gearswap
Nature: Refresh.lua runtime error on line 647, which is appdata, has anyone else come across this?

I have deleted the entire Addons folder, and rebooted Windower, which then point blank refused to update the libs folder, it has then refused to update or repair Gearswap when I deleted the refresh file only.
I have File Transferred everything in my Windower Folder and it came up with the error, now as the files are identicle to mine, I can't see this not working, the issue is regarding :

Code
local gearswap_data = windower.addon_path .. 'data/' local gearswap_appdata = os.getenv('APPDATA') .. '/Windower/GearSwap/'

Section of the Refresh Lua, it appears to be having an issue with this section.

Has anyone else encountered this issue lately and if so how did you get around it?

Quote:

Gearswap: Lua Runtime Error: . . .m Files (x86)/windower4//addons/gearswap/refresh.lua647: attempt to concatenate a nil value

Cerberus.Reiden Offline Server: Cerberus Game: FFXI user: Reiden Posts: 322 By Cerberus.Reiden 2015-03-18 17:33:44

I was trying to change this rule into a whm one for barspells but couldn't get it to work. Is it possible?

Code
function define_geomancy_values() geomancy = < Frailty = , Torpor = , Languor = , Focus = , Malaise = , Precision = , Refresh = , Fade = , Wilt = , Vex = , Slip = , Acumen = , Fend = , Fury = , Attunement = , Voidance = , Barrier = > end function display_geomancy_info(spell) geoType=nil string.gsub(spell.english.."-","-(.-)-",function(geo) geoType=geo end) geoInfo = geomancy[geoType] if geoInfo then add_to_chat(158, spell.english..' = '..tostring(geoInfo.bonus)) end end
Odin.Quixacotl Offline Server: Odin Game: FFXI user: Quixacotl Posts: 170 By Odin.Quixacotl 2015-03-19 18:55:15 Cerberus.Reiden said: »

I was trying to change this rule into a whm one for barspells but couldn't get it to work. Is it possible?

Code
function define_geomancy_values() geomancy = < Frailty = , Torpor = , Languor = , Focus = , Malaise = , Precision = , Refresh = , Fade = , Wilt = , Vex = , Slip = , Acumen = , Fend = , Fury = , Attunement = , Voidance = , Barrier = > end function display_geomancy_info(spell) geoType=nil string.gsub(spell.english.."-","-(.-)-",function(geo) geoType=geo end) geoInfo = geomancy[geoType] if geoInfo then add_to_chat(158, spell.english..' = '..tostring(geoInfo.bonus)) end end

Not sure exactly what you're asking but this code displays a message based on which Barspell is cast. I'm sure you can adjust it to whatever you want.

Code
function get_sets() define_barspell_message() end function aftercast(spell) if spell.skill == 'Enhancing Magic' and spell.name:startswith('Bar') and not spell.interrupted then display_barspell_info(spell) end end function define_barspell_message() barspells = < ["Barfira"] = , ["Barblizzara"] = , ["Baraera"] = , ["Barstonra"] = , ["Barthundra"] = , ["Barwatera"] = , > end function display_barspell_info(spell) barspell = barspells[spell.name] if barspell then add_to_chat(8, spell.name .. ' = ' .. barspell.info .. '.') end end
Siren.Scottyb Offline Server: Siren Game: FFXI user: scottyb Posts: 170 By Siren.Scottyb 2015-03-22 11:27:07

Hey just wanted to ask some advice real quick. Is it possible to make my thf lua always equip my th gear for the first hit on a mob? and only the first hit?

Also great job with the new addons and stuff the game is so much easier and more fun to play now you guys done some awesome work.

PS my thf lua is just the example modded with my gear

Offline Posts: 25 By Echodiz 2015-03-22 12:19:12

So, I'm having much trouble with my BLM lua because I'm extremely amateur. 2 major things:
1. Can't get my idle set to be what I want it to be; my dark rings never equip and I just keep whatever rings I already had on equipped

2. Not sure how to go about the elemental cast set; so it has a defined set of spells as classifying the lowertiernukes but then there's a casting set that defines higher tier casting - how does it know i'm casting higher tier if that hasn't been defined?

Would I use the normal set and treat that as the lower tier set and the hightiercasting set obviously for the higher tiers?

Code
------------------------------------------------------------------------------------------------------------------- -- 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') state.MagicBurst = M(false, 'Magic Burst') lowTierNukes = S gear.macc_hagondes = -- Additional local binds send_command('bind ^` input /ma Stun ') 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 Sets ---- -- Precast sets to enhance JAs sets.precast.JA['Mana Wall'] = 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 = < main="Baqil staff", sub="Vivid strap", ammo="Impatiens", head="Nahtirah Hat", ear1="Enchanter earring +1", ear2="Loquacious Earring", body="Hagondes coat +1", ring1="Prolix Ring", ring2="Sangoma ring" back="Swith Cape +1", waist="Witful Belt", legs="Orvail Pants +1", feet="Chelona Boots +1">sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, ) sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, ) sets.precast.FC.Cure = set_combine(sets.precast.FC, ) sets.precast.FC.Curaga = sets.precast.FC.Cure ---- Midcast Sets ---- sets.midcast.FastRecast = < main="Baqil staff", sub="Vivid strap", head="Nahtirah Hat", ear1="Enchanter earring +1", ear2="Loquacious Earring", body="Hagondes coat +1", hands="Hagondes cuffs +1", ring1="Prolix Ring", back="Swith Cape +1", waist="Witful belt", legs="Hagondes Pants +1", feet="Hagondes Sabots +1">sets.midcast.Cure = < main="Tamaxchi", sub="Sors shield", head="Nahtirah Hat", neck="Weike torque", ear1="Enchanter earring +1", ear2="Loquacious Earring", body="Heka's Kalasiris", hands="Bokwus Gloves", ring1="Sangoma ring", ring2="Haoma's ring", back="Swith cape +1", waist="Witful belt", legs="Hagondes Pants +1", feet="Hagondes Sabots +1">sets.midcast.Curaga = sets.midcast.Cure sets.midcast['Enhancing Magic'] = < neck="Weike torque", body="Hyksos robe", hands="Hagondes cuffs +1", head="Umuthi hat", waist="Olympus sash", legs="Portent Pants">sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], , ) sets.midcast['Enfeebling Magic'] = < main="Baqil staff", sub="Mephitis Grip", ammo="Impatiens", 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">sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic'] sets.midcast['Dark Magic'] = < main="Lehbrailg +2", sub="Mephitis Grip", ammo="Sturm's Report", head="Nahtirah Hat", neck="Aesir Torque", ear1="Psystorm Earring", ear2="Lifestorm Earring", body="Vanir Cotehardie", hands="Yaoyotl Gloves", ring1="Strendu Ring", ring2="Sangoma Ring", back="Refraction Cape", waist="Goading Belt", legs="Bokwus Slops", feet="Bokwus Boots">sets.midcast.Drain = < main="Baqil staff", sub="Mephitis Grip", ammo="Sturm's Report", head="Nahtirah Hat", neck="Aesir Torque", ear1="Psystorm Earring", ear2="Lifestorm Earring", body="Vanir Cotehardie", hands="Yaoyotl Gloves", ring1="Excelsis Ring", ring2="Sangoma Ring", back="Swith cape +1", waist="Fucho-no-Obi", legs="Orvail pants +1", feet="Goetia sabots +2">sets.midcast.Aspir = sets.midcast.Drain sets.midcast.Stun = < main="Baqil staff"", sub="Mephitis Grip", ammo="Impatiens", head="Nahtirah Hat", neck="Weike Torque", ear1="Psystorm Earring", ear2="Lifestorm Earring", body="Hagondes Coat +1", hands="Hagondes cuffs +1", ring1="Globidonta ring", ring2="Sangoma Ring", back="Swith cape +1", waist="Yamabuki-no-obi", legs="Orvail pants +1", feet="Goetia sabots +2">-- Elemental Magic sets --Default is for lower tier nukes-- sets.midcast['Elemental Magic'] = < main="Baqil staff", sub="Mephitis Grip", ammo="Dosis Tathlum", head="Hagondes Hat +1", neck="Eddy Necklace", ear1="Hecate's Earring", ear2="Friomisi Earring", body="Hagondes Coat +1", hands="Yaoyotl Gloves", ring1="Strendu ring", ring2="Acumen Ring", back="Seshaw cape", waist="Sekhmet corset", legs="Hagondes Pants +1", feet="Hagondes Sabots +1">sets.midcast['Elemental Magic'].Resistant = < main="Baqil staff", sub="Mephitis Grip", ammo="Dosis Tathlum", head="Hagondes Hat +1", neck="Eddy Necklace", ear1="Hecate's Earring", ear2="Friomisi Earring", body="Hagondes Coat +1", hands=gear.macc_hagondes, ring1="Strendu ring", ring2="Prolix ring", back="Seshaw cape", waist=gear.ElementalObi, legs="Hagondes Pants +1", feet="Bokwus Boots">sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], main="Baqil staff", sub="Mephitis Grip", ammo="Impatiens", head="Hagondes Hat +1", neck="Eddy Necklace", ear1="Hecate's Earring", ear2="Friomisi Earring", body="Hagondes Coat +1", hands="Yaoyotl Gloves", ring1="Strendu ring", ring2="Prolix ring", back="Seshaw cape", waist="Yamabuki-no-obi", legs="Hagondes Pants +1", feet="Hagondes Sabots +1">) sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'], ) -- Minimal damage gear for procs. sets.midcast['Elemental Magic'].Proc = < main="Earth Staff", sub="Mephitis Grip", ammo="Impatiens", head="Nahtirah Hat", neck="Twilight Torque", ear1="Bloodgem Earring", ear2="Loquacious Earring", body="Hagondes Coat +1", hands="Serpentes Cuffs", ring1="Dark Ring", ring2="Dark Ring", back="Swith Cape +1", waist="Witful Belt", legs="Hagondes pants +1", feet="Chelona Boots +1">-- Sets to return to when not performing an action. -- Resting sets sets.resting = < main="Bolelabunga", sub="Sors shield", ammo="Impatiens", head="Hagondes Hat +1", neck="Twilight Torque", ear1="Lifestorm earring", ear2="Psystorm earring", body="Hagondes coat +1", hands="Serpentes Cuffs", ring1="Dark Ring", ring2="Dark Ring", back="Iximulew cape", waist="Fucho-no-Obi", legs="Hagondes pants +1", feet="Herald's Gaiters">-- Idle sets -- Normal refresh idle set sets.idle = < main="Bolelabunga", sub="Sors shield", ammo="Impatiens", head="Hagondes Hat +1", neck="Twilight Torque", ear1="Lifestorm earring", ear2="Psystorm earring", body="Hagondes coat +1", hands="Serpentes Cuffs", ring1="Dark Ring", ring2="Dark Ring", back="Iximulew cape", waist="Fucho-no-Obi", legs="Hagondes pants +1", feet="Herald's Gaiters">-- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc. sets.idle.PDT = < main="Bolelabunga", sub="Sors shield", ammo="Impatiens", head="Hagondes Hat +1", neck="Twilight Torque", ear1="Lifestorm earring", ear2="Psystorm earring", body="Hagondes coat +1", hands="Serpentes Cuffs", ring1="Dark Ring", ring2="Dark Ring", back="Iximulew cape", waist="Fucho-no-Obi", legs="Hagondes pants +1", feet="Herald's Gaiters">-- Idle mode scopes: -- Idle mode when weak. sets.idle.Weak = -- Town gear. sets.idle.Town = -- Defense sets sets.defense.PDT = < main="Bolelabunga", sub="Sors shield", ammo="Impatiens", head="Hagondes Hat +1", neck="Twilight Torque", ear1="Lifestorm earring", ear2="Psystorm earring", body="Hagondes coat +1", hands="Serpentes Cuffs", ring1="Dark Ring", ring2="Dark Ring", back="Iximulew cape", waist="Fucho-no-Obi", legs="Hagondes pants +1", feet="Herald's Gaiters>sets.defense.MDT = sets.Kiting = sets.latent_refresh = -- Buff sets: Gear that needs to be worn to actively enhance a current player buff. sets.buff['Mana Wall'] = sets.magic_burst = sets.midcast.BardSong = -- 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 -- Weaponskill sets -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = < head="Hagondes Hat", neck="Asperity Necklace", ear1="Bladeborn Earring", ear2="Steelflash Earring", body="Hagondes Coat +1", hands="Yaoyotl Gloves", ring1="Rajas Ring", ring2="Icesoul Ring", back="Refraction Cape", waist="Cognition Belt", legs="Hagondes Pants +1", feet="Hagondes Sabots +1">-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Vidohunir'] = -- 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">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 job_precast(spell, action, spellMap, eventArgs) if spellMap == 'Cure' or spellMap == 'Curaga' then gear.default.obi_waist = "Goading Belt" elseif spell.skill == 'Elemental Magic' then gear.default.obi_waist = "Sekhmet Corset" if state.CastingMode.value == 'Proc' then classes.CustomClass = 'Proc' 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_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 ------------------------------------------------------------------------------------------------------------------- -- 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(2, 15) end
Budget friendly witch

I found that this was just as effective in manifesting my desires and intentions. Another aspect of being a budget-friendly witch is finding alternative, affordable resources for learning and growth. Instead of investing in expensive books or courses, I turned to online communities and forums where witches share their knowledge and experiences for free. This not only saved me money but also allowed me to connect with like-minded individuals from all over the world. Being a budget-friendly witch also means being resourceful and eco-conscious. I started exploring natural alternatives for my rituals, such as using homemade potions and oils made from herbs grown in my garden. I also began recycling and repurposing items to create altars and sacred spaces. In addition to these practices, I became more mindful of my spending habits and prioritized what was truly necessary for my craft. This allowed me to allocate more funds for special occasions or items that I deemed essential to my practice. Being a budget-friendly witch has not only saved me money but has also deepened my connection to the craft. It has taught me that magic is not limited by financial constraints and that the true power lies within myself. Now, I feel empowered to embrace my inner witch without breaking the bank..

Reviews for "Budget-Friendly Ways to Connect with Nature in Witchcraft"

1. Jane - 2/5 stars:
I had high hopes for "Budget Friendly Witch" as I love supernatural stories and was intrigued by the concept of a witch on a budget. However, I found the execution to be lacking. The characters were one-dimensional and the plot felt rushed and predictable. Additionally, the writing style was mediocre at best, with awkward dialogue and poor pacing. Overall, I was disappointed by this book and would not recommend it to others.
2. Mark - 2/5 stars:
I thought "Budget Friendly Witch" would be a fun and lighthearted read, but unfortunately, it fell short of my expectations. The main character lacked depth and I found it difficult to connect with her. The humor, which I was expecting to be a highlight of the book, felt forced and often missed the mark. The storyline was predictable and offered no surprises. Overall, I found the book to be underwhelming and it did not hold my interest.
3. Sarah - 1/5 stars:
I cannot fathom the positive reviews this book received. "Budget Friendly Witch" was a complete waste of my time. The writing was unimpressive, with flat descriptions and poor grammar. The characters were poorly developed, and their interactions felt forced and unnatural. The plot was nonsensical and lacked coherence. I struggled to finish the book, and I regretted not abandoning it earlier. Save yourself the trouble and steer clear of this one.

Budget-Friendly Ways to Expand Your Witchcraft Knowledge

Budget-Friendly Divination Tools Every Witch Should Have