poison necro mage summoner 1 button v1.1 ( work in progress ) by stoned summoner
//One hotkey necro mage cycle by Jaseowns
//edited by stoned summoner. any problems are probly my fault not jase's =)
//UO Outlands - https://youtu.be/K3bVPhHcInE
//v1.1 added bless to buffs
//v1.1 added protection spell
//v1.1 added poison strike between fs and meditate. mabey a poison tick check would be better
//v1.1 added a check for deadly and lethal poison. to move onto cds before dumping mana on poison
//v1.1 added food buff check and eat
//v1.1 added item id buff check and use. targets someplace... gets blocked once in awhile... gotta fix that
//v1.1
# Update this variable to 1 for ALL KILL
# Update this variable to 0 for target nearest
@setvar! setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster 0
// these cd are your wizard book timers. they could be different than mine
@setvar! cdLightning 20000
@setvar! cdMagicArrow 20000
@setvar! cdHarm 20000
@setvar! cdFireball 20000
@setvar! cdMushroom 60000
// cd below should not need to change
@setvar! cdEvilOmen 30000
@setvar! cdVampiricEmbrace 30000
@setvar! cdCorpse 30000
@setvar! cdMindRot 30000
@setvar! cdMagicShield 60000
@setvar! cdReactiveArmor 60000
@setvar! cdstrike 30000
@setvar! cdoath 30000
if not timerexists oathTimer
createtimer oathTimer
settimer oathTimer cdoath
endif
if not timerexists strikeTimer
createtimer strikeTimer
settimer strikeTimer cdstrike
endif
if not timerexists reactiveArmorTimer
createtimer reactiveArmorTimer
settimer reactiveArmorTimer cdMagicShield
endif
if not timerexists magicShieldTimer
createtimer magicShieldTimer
settimer magicShieldTimer cdMagicShield
endif
if not timerexists magicMushroomTimer
createtimer magicMushroomTimer
settimer magicMushroomTimer cdMushroom
endif
if not timerexists magicArrowTimer
createtimer magicArrowTimer
settimer magicArrowTimer cdMagicArrow
endif
if not timerexists lightningTimer
createtimer lightningTimer
settimer lightningTimer cdLightning
endif
if not timerexists harmTimer
createtimer harmTimer
settimer harmTimer cdHarm
endif
if not timerexists fireballTimer
createtimer fireballTimer
settimer fireballTimer cdFireball
endif
if not timerexists evilOmenTimer
createtimer evilOmenTimer
settimer evilOmenTimer cdEvilOmen
endif
if not timerexists vampiricEmbraceTimer
createtimer vampiricEmbraceTimer
settimer vampiricEmbraceTimer cdVampiricEmbrace
endif
if not timerexists corpseTimer
createtimer corpseTimer
settimer corpseTimer cdCorpse
endif
if not timerexists mindRotTimer
createtimer mindRotTimer
settimer mindRotTimer cdMindRot
endif
// check for item id buff
if not findbuff 'herbal poultice' and skill 'tasteidentification' >= 100
skill 'tasteidentification'
waitfortarget
targettype 'backpack'
wait 50
endif
// check for food buff
if not findbuff 'food satisfaction' and findtype 'tray' backpack
overhead '[ Eating Food ]' 54
dclicktype 'tray' backpack
wait 50
endif
// check for tank pet change name to ur pets name
if findtype "shield" ground -1 -1 2 as myPet
if noto myPet = "friend"
wait 50
endif
@setvar! myEarthPet myPet
endif
say "all guard me"
## endif
if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 1
say "all kill"
wait 200
while targetexists
// wait
wait 50
endwhile
else
hotkey 'Target Closest Non-Friendly Monster'
wait 200
if insysmsg "No one matching that was found" or insysmsg "cannot be seen"
overhead "[ Target Not Found ]" 54
stop
endif
endif
@setvar myKillTarget lasttarget
if not varexist myPreviousKillTarget
@setvar myPreviousKillTarget 0
endif
getlabel myKillTarget desc
if not varexist myEarthPet or dead myEarthPet
overhead "[ Dead Pet ]" 54
else
menu myEarthPet 2
wft 500
target myKillTarget
endif
if diffhits >= 30 and mana > 12
while not targetexists
if diffhits >= 60
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists
target self
endif
endif
if find myKillTarget -1 -1 12 as killy
if myKillTarget = myPreviousKillTarget
// do nthoing
else
while not targetexists and not dead myKillTarget
if diffhits < 30
cast 'Curse'
wait 50
elseif diffhits >= 30
hotkey '> Interrupt'
break
endif
endwhile
if targetexists
target myKillTarget
wait 500
endif
while not targetexists and not dead myKillTarget
if diffhits < 30
cast 'mana drain'
wait 50
elseif diffhits >= 30
hotkey '> Interrupt'
break
endif
endwhile
if targetexists
target myKillTarget
wait 500
endif
@setvar myPreviousKillTarget myKillTarget
endif
else
overhead "[ Out of range ]" 54
endif
clearsysmsg
say "all guard"
@setvar! poisonlevel 0
while not dead myKillTarget and find myKillTarget -1 -1 12 as killy
// spellbook check
if findlayer self righthand as item
// do nothing
elseif findtype "3834" backpack as item
dclick item
else
overhead "[ No Book Equiped ]" 34
endif
if not findbuff 'strength'
cast 'bless'
waitfortarget
target self
wait 200
endif
if not findbuff 'protection'
cast 'protection'
wait 200
endif
if timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection"
cast "Magic Reflection"
wait 1000
elseif not findbuff "Magic Reflection" and not findbuff "Magic Resist Potion" and findtype "Black Potion" backpack as pot
dclick pot
wait 200
endif
if findbuff "Magic Reflection"
settimer magicShieldTimer 0
endif
if timer reactiveArmorTimer >= cdReactiveArmor and not findbuff "Reactive Armor"
cast "Reactive Armor"
wait 200
endif
if findbuff "Reactive Armor"
settimer reactiveArmorTimer 0
endif
if timer corpseTimer >= cdCorpse and skill 'necromancy' >= 100
overhead "[ Corpse Skin ]" 54
say "[CorpseSkin"
settimer corpseTimer 0
wait 750
endif
if skill "poisoning" >= 100
if timer evilOmenTimer >= cdEvilOmen and skill 'necromancy' >= 100
overhead '[ Evil Omen ]' 54
say "[evilomen"
settimer evilOmenTimer 0
wait 750
endif
if timer mindRotTimer >= cdMindRot and skill 'necromancy' >= 100
overhead '[ Mind Rot ]' 54
say '[mindrot'
settimer mindRotTimer 0
wait 750
endif
while poisonlevel = 0
getlabel myKillTarget desc2
overhead desc2 66
// poison lethal
if "Lethal" in desc2 or "Deadly" in desc2
@setvar! poisonlevel 1
break
elseif diffhits >= 30
// need a heal
break
elseif mana >= 9
while not targetexists
cast 'poison'
wait 50
if dead myKillTarget
hotkey '> Interrupt'
break
endif
endwhile
target myKillTarget
else
wait 200
endif
endwhile
endif
if find myKillTarget -1 -1 12 as killy
// do nothing
else
overhead "[ Out of range] " 54
break
endif
if poisoned
if findtype "Orange Potion" backpack as pot
dclick pot
wait 200
else
while not targetexists
if not poisoned
hotkey '> Interrupt'
break
else
cast 'Cure'
wait 50
endif
endwhile
if targetexists
target self
wait 500
endif
endif
endif
if diffhits < 30 and timer evilOmenTimer >= cdEvilOmen and skill 'necromancy' >= 100
overhead '[ Evil Omen ]' 54
say '[evilomen'
settimer evilOmenTimer 0
wait 650
endif
if diffhits < 30 and timer mindRotTimer >= cdMindRot and skill 'necromancy' >= 100
overhead '[ Mind Rot ]' 54
say '[mindrot'
settimer mindRotTimer 0
wait 750
endif
if diffhits < 30 and timer corpseTimer >= cdCorpse and skill 'necromancy' >= 100
overhead "[ Corpse Skin ]" 54
say "[CorpseSkin"
settimer corpseTimer 0
wait 750
endif
if diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning
while not targetexists
if dead myKillTarget or diffhits >= 30
hotkey '> Interrupt'
break
else
cast 'Lightning'
wait 50
endif
endwhile
if targetexists
target myKillTarget
settimer lightningTimer 0
wait 500
endif
endif
if diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball
while not targetexists
if dead myKillTarget or diffhits >= 30
hotkey '> Interrupt'
break
else
cast 'fireball'
wait 50
endif
endwhile
if targetexists
target myKillTarget
settimer fireballTimer 0
wait 500
endif
endif
if diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow
while not targetexists
if dead myKillTarget or diffhits >= 30
hotkey '> Interrupt'
break
else
cast 'magic arrow'
wait 50
endif
endwhile
if targetexists
target myKillTarget
settimer magicArrowTimer 0
wait 500
endif
endif
if diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm
while not targetexists
if dead myKillTarget or diffhits >= 30
hotkey '> Interrupt'
break
else
cast 'harm'
wait 50
endif
endwhile
if targetexists
target myKillTarget
settimer harmTimer 0
wait 500
endif
endif
if diffhits >= 30
if findtype "Yellow Potion" backpack as pot
getlabel pot desc
if "next usable" in desc
// do nothing
else
overhead '[ Drinking Heal ]' 54
dclick pot
wait 200
endif
endif
if diffhits >= 30 and mana >= 12
while not targetexists
if diffhits >= 60
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists
target self
wait 50
endif
endif
if skill 'poisoning' >= 100
while poisonlevel = 1
getlabel myKillTarget desc2
overhead desc2 66
if "Lethal" in desc2
@setvar! poisonlevel 2
break
elseif diffhits >= 30
// need a heal
break
elseif mana >= 9
while not targetexists
cast 'poison'
wait 50
if dead myKillTarget
hotkey '> Interrupt'
break
endif
endwhile
target myKillTarget
else
wait 200
endif
endwhile
endif
elseif mana < 42 and findbuff "actively meditating"
// wait for mana
elseif mana > 42
while not targetexists and mana > 40
if dead myKillTarget or diffhits >= 30
hotkey '> Interrupt'
break
else
cast 'Flamestrike'
wait 50
endif
endwhile
if targetexists
target myKillTarget
wait 500
endif
elseif not findbuff 'actively meditating' and timer strikeTimer >= cdstrike
overhead '[ Poison Strike ]' 54
say '[poisonstrike'
waitfortarget
target myKillTarget
settimer strikeTimer 0
elseif not findbuff "actively meditating" and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
dclick mushy
settimer magicMushroomTimer 0
elseif not findbuff "actively meditating"
useskill 'meditation'
wait 500
endif
wait 50
endwhile
wait 500
if targetexists
hotkey 'Cancel Current Target'
endif
say "all guard me"
if counttype "mushroom" backpack < 5
while counttype "mushroom" backpack < 5
cast "Create Food"
wait 200
endwhile
endif
while mana < 50
if not findbuff "actively meditating"
useskill 'meditation'
endif
wait 500
endwhile
loop