Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @cleartargetqueue
- //
- // First time use will prompt user for pets
- //
- if not listexists 'pets'
- sysmsg "Pet Healing Macro - Version 1.5" 88
- sysmsg "When prompted select one pet after another" 88
- sysmsg "When all pets are selected, press ESC" 88
- @createlist 'pets'
- //
- // Maximum 5
- //
- for 5
- sysmsg "Select next pet" 88
- promptalias 'pet'
- if @findobject 'pet'
- pushlist 'pets' 'pet'
- sysmsg "Your pet has been saved, press ESC if you have no more pets" 44
- else
- break
- endif
- endfor
- sysmsg "Thank you, pets saved, script is ready" 44
- endif
- //
- // No bandage warning
- //
- if @counttype '0xe21' 'any' 'backpack' == 0
- sysmsg "No bandages!" 38
- stop
- endif
- //
- // Low bandage warning
- //
- if @counttype '0xe21' 'any' 'backpack' < 20
- sysmsg "Low bandages!" 38
- endif
- //
- // save equip states
- //
- if @findlayer 'self' 2
- @setalias 'lhand' 'found'
- endif
- if @findlayer 'self' 1
- @setalias 'rhand' 'found'
- endif
- //
- // temporary list
- //
- @removelist 'heal'
- @createlist 'heal'
- //
- // Check all pets in spell range for a cure
- //
- for 0 to 'pets'
- if poisoned pets[] and @inrange pets[] 15
- if mana 'self' > 6
- headmsg "+Curing+" 172
- cast 'Cure'
- waitfortarget 5000
- target! pets[]
- //
- // Reequip
- //
- if not @findlayer 'self' 1
- equipitem 'rhand' 1
- endif
- if not @findlayer 'self' 2
- equipitem 'lhand' 2
- endif
- endif
- endif
- endfor
- @clearlist 'heal'
- //
- // Find most wounded pet near you
- //
- for 0 to 'pets'
- if @inrange pets[] 15
- //
- // Dead pets cannot be resurrected near aggro
- //
- if hits pets[] == 0
- @unsetalias 'enemy'
- @getenemy 'murderer' 'enemy' 'criminal' 'gray'
- if @inrange 'enemy' 6
- sysmsg "Dead pets cannot resurrected near aggro" 172
- continue
- endif
- endif
- //
- // Check empty heal list
- //
- if list 'heal' == 0
- @pushlist 'heal' pets[]
- continue
- endif
- //
- // Compare next pet to previous
- //
- if diffhits pets[] > diffhits heal[0]
- @clearlist 'heal'
- @pushlist 'heal' pets[]
- endif
- endif
- endfor
- //
- // Warn user about bandge continuation
- //
- if @timerexists 'vet' and @timer 'vet' < 8000
- sysmsg "Waiting for previous bandage to finish" 172
- endif
- //
- // Heal pet
- //
- if not @timerexists 'vet'
- //
- // Check most damaged pet in range for heal
- //
- if not @inrange heal[0] 2 and @diffhits heal[0] > 0
- headmsg "(closer)" 172
- pause 2000
- replay
- endif
- //
- // Heal pet
- //
- if @diffhits heal[0] > 0
- headmsg "+Healing+" 172
- autotargetobject heal[0]
- @canceltarget
- usetype! 0xe21 'any' 'backpack'
- @clearjournal
- settimer 'vet' 0
- endif
- endif
- //
- // Wait for bandage finish
- //
- if @timerexists 'vet'
- while timer 'vet' < 8000
- if @injournal 'heal' 'system'
- break
- endif
- if @injournal 'cure' 'system'
- break
- endif
- if @injournal 'finish' 'system'
- break
- endif
- if @injournal 'not damaged' 'system'
- break
- endif
- if @injournal 'resurrect' 'system'
- break
- endif
- endwhile
- @removetimer 'vet'
- endif
- pause 1000
- replay
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement