All pastes #540318 Raw Edit

Someone

public text v1 · immutable
·published 2007-06-05 15:48 UTC
rendered paste body
;THIS SCRIPT IS THE ORIGINAL WORK OF GLAVE.
;Edited by [xero].
;Items added:
;Mana Management toggle
;Pet Attacking toggle
;There is no aggro checks for anything, but its not designed to be a bot! Deal with aggro yourself ^_^

variable(global) bool stopped
variable(global) string pauseText="Paused"
variable(global) string petText="Pet ON"
variable(global) string manaText="Mana ON"

function atexit()
{
	ui -unload singledot.xml
	echo Singledot exiting...
}
function manacheck()
{
	if ${Me.PctHPs} > 85 && ${Me.PctMana} < 60 && ${Spell[Life Tap](exists)} && ${Me.Action[Life Tap].Usable}
	{
		Cast "Life Tap"
		wait 10
		return
	}
	if ${Me.Pet(exists)} && ${Spell[Dark Pact](exists)} && ${Me.Action[Dark Pact].Usable} && ${Me.PctMana} < 55 && ${Me.Pet.PctMana} > 10
	{
		Cast "Dark Pact"
		wait 10
	}
	
}
function sanity(string sanitySpell)
{
	if ${Target(exists)} && !${Target.Dead}
	{
		Cast "${sanitySpell}"
		waitframe
	}
	while (${Me.Casting} || ${Me.GlobalCooldown}) && !${Target.Dead} && !${Me.Dead}
	{
		waitframe
	}
}
function boltcheck()
{
	if ${Me.Buff["Shadow Trance"](exists)} && ${Me.Action["Shadow Bolt"].Usable} && ${Target(exists)} && !${Target.Dead}
	{
		call sanity "Shadow Bolt"
		waitframe
	}
}
function demonarmor()
{
	if !${Me.Buff[Demon Skin](exists)} && !${Me.Buff[Demon Armor](exists)}
	{
		if ${Me.Level} < 20
		{
			Cast "Demon Skin"
			wait 15
		}
		elseif ${Me.Level} >= 20
		{
			Cast "Demon Armor"
			wait 15
		}
	}
}
function pet()
{
	if ${Target(exists)} && !${Target.Dead} && ${Target.Distance} < 30 && ${Target.Attackable}
	{
		if ${Me.Pet(exists)}
		{
			wowscript PetAttack()
		}
	}
}
function dots()
{
	declare ShardList guidlist local
	if ${Target(exists)} && !${Target.Dead} && ${Target.Distance} < 30 && ${Target.Attackable}
	{
		if !${Target.Buff[Immolate](exists)} && ${Spell[Immolate](exists)} && ${Me.Action[Immolate].Usable} && ${Target.PctHPs} > 40
		{
			call sanity "Immolate"
			wait 4
			return
		}
		if !${Target.Buff[Corruption](exists)} && ${Spell[Corruption](exists)} && ${Me.Action[Corruption].Usable}
		{
			call sanity "Corruption"
			return
		}
		if !${Target.Buff[Curse of Agony](exists)} && ${Spell[Curse of Agony](exists)} && ${Me.Action[Curse of Agony].Usable}
		{
			if ${Spell[Amplify Curse](exists)} && ${Me.Action[Amplify Curse].Usable}
			{
				call sanity "Amplify Curse"
			}
			call sanity "Curse of Agony"
			return
		}
		;if !${Target.Buff[Siphon Life](exists)}&${Spell[Siphon Life](exists)}&&${Me.Action[Siphon Life].Usable}
		;{
		;	call sanity "Siphon Life"
		;	return
		;}
		if ${Me.PctHPs} > 98 && ${Me.PctMana} < 95 && ${Spell[Life Tap](exists)} && ${Me.Action[Life Tap].Usable}
		{
			Cast "Life Tap"
			wait 10
			return
		}
		ShardList:Search[-items,-inventory,Soul Shard]
		if ${ShardList.Count} < 10 && ${Target.PctHPs} < 30
		{
			call sanity "Drain Soul"
			return
		}
		if ${Spell[Drain Life](exists)} && ${Me.Action[Drain Life].Usable} && ${Me.PctHPs} < 98
		{
			call sanity "Drain Life"
		}
		if ${Me.PctHPs} > 98 && ${Me.PctMana} < 95 && ${Spell[Life Tap](exists)} && ${Me.Action[Life Tap].Usable}
		{
			Cast "Life Tap"
			wait 10
			return
		}
		
	}
	
}
function main()
{
	declare AutoFace bool script TRUE
	declare onOff bool script TRUE
	declare Pet bool script TRUE
	declare mana bool script TRUE
	UI -load wowskin/wowskin.xml
	UI -load -skin wowskin "singledot.xml"
	stopped:Set[0]
	echo SingleDot by glave
	echo Edited by [xero], Industrial.
	while !${stopped}
	{
		while !${Me.Mount(exists)} && !${Me.Sitting} && !${Me.Dead}
		{
			if ${mana} && ${onOff} || !${onOff}
			{
				manaText:Set["Mana ON"]
				call manacheck
				call boltcheck
				call demonarmor
			}
			elseif !${mana} && ${onOff} || !${onOff}
			{
				manaText:Set["Mana OFF"]
				call boltcheck
				call demonarmor
			}
			
			if !${onOff} && ${Pet}
			{
				pauseText:Set["Running"]
				petText:Set["Pet ON"]
				call pet
				call dots
				wait 4
			}
			elseif !${onOff} && !${Pet}
			{
				pauseText:Set["Running"]
				petText:Set["Pet OFF"]
				call dots
				wait 4
			}
			else
			{
				pauseText:Set["Paused"]
			}
		}
	}
}