well here's the revised version of Voodoo2
function Voodoo2() --stick normal spells here
mattbl=mattbl or BuildMaterialTable() -- could be slow so if there is a table don't do it again
myoff=offsets.getEx("Items")
vector=engine.peek(myoff,ptr_vector)
for i=0,vector:size()-1 do --check all creatures
local off=vector:getval(i)
local mat=engine.peek(off,ptr_item.mat)
local submat=engine.peek(off,ptr_item.submat)
local submat2=engine.peek(off,ptr_item.submat2)
local lid=engine.peek(off,ptr_item.legendid)
local RTI=engine.peek(off,ptr_item.RTI)
local itmser=ptr_item.getname(nil,RTI)
q=mattbl["ADAMANTINE"]
q2=mattbl["SPELL_ZOM"]
q3=mattbl["SPELL_TEL"]
q4=mattbl["SPELL_TRAIT"]
q5=mattbl["SPELL_TRAIT2"]
q6=mattbl["SPELL_TRAIT3"]
q7=mattbl["PERMAICE"]
--[[if submat2==q then
--print("Thank's Warmist")
end]]--
if itmser=="item_backpackst" then
if submat2==q2 then
--print("works")
zombiearmy2()
end
end
if itmser=="item_boulderst" then
if submat2==q4 then
--print("it really works")
Nightfriend()
flg=engine.peek(off,ptr_item.flags)
flg:set(17,1)
end
if submat2==q2 then
--ControlZom3()
--Zombieressurect()
flg=engine.peek(off,ptr_item.flags)
flg:set(17,true)
end
end
if itmser=="item_statuest" then
if submat2==mattbl["SLADE"] then
print("this is the target")
end
if submat2==q3 then
--print("teleport here")
itemwarp()
flg=engine.peek(off,ptr_item.flags)
flg:set(17,true)
end
if submat2==q2 then
Zombieressurect()
flg=engine.peek(off,ptr_item.flags)
flg:set(17,true)
end
end
if itmser=="item_eggst" then
if mat==(129) then
makeghost()
print("it really works")
flg=engine.peek(off,ptr_item.flags)
flg:set(17,true)
end
end
end
end
So now I just need to do is go back to my old rumtools functions and swap out the whole use pointer bits with item placement maybe have yes and no be items that if true will disappear(to clear the function and to prevent horrible game crashes from certain functions.).