@lisa
your idea pretty much worked but I had to add
Code: Select all
local target = player:getTarget();
at the beginning of the code
this is what I ended up with:
Code: Select all
<onPreSkillCast><![CDATA[
-- This event receives the skill your going to cast and is accessible using arg1
-- Ex arg1.Name is the name of the skill
-- Add lua code you want to execute here
local target = player:getTarget();
if target.HP > 100000 and ( not player:hasBuff("500871")) then -- blood arrow buff
player:cast("SCOUT_BLOOD_ARROW")
yrest(500)
player:cast("SCOUT_ARROW_OF_ESSENCE")
yrest(500)
player:cast("SCOUT_ARCHERS_GLORY")
-- use pot or HoT skill to counter the blood arrow
end
]]></onPreSkillCast>
Once it targets Boddosh, the buffs activate.
I decided to not put it in my profile at this time though. The reason being that I don't want it to immediately cast the buffs at first sight of Boddosh. I first need to run a short distance away to deaggro the normal mobs so I am fighting Boddosh alone. I'm trying to work with the code that Giram mentioned to me in another post. (
http://solarstrike.net/phpBB3/viewtopic.php?f=21&t=2239)
** Many hours later **
And I finally have it successfully running now with the following code
Main waypoint:
Code: Select all
<!-- # 136 --><waypoint x="3580" z="2700" y="47">
__WPL:setForcedWaypointType("NORMAL")
while (true) do
settings.options.MAX_TARGET_DIST = 200;
player:findTarget("Boddosh");
local target = player:getTarget();
-- Should take few minutes max to get boddosh in range if we are in right place and range is right
if(target.Name == "Boddosh") then
player:cast("SCOUT_COMBO_SHOT");
loadPaths("RunFromBoddosh");
__WPL:setWaypointIndex(1);
break;
end
yrest(300);
end
</waypoint>
Run waypoint:
Code: Select all
<?xml version="1.0" encoding="utf-8"?><waypoints type="TRAVEL">
<onLoad>
changeProfileOption("MAX_TARGET_DIST", 80);
</onLoad>
<!-- # 1 --><waypoint x="3548" z="2698" y="47"> </waypoint>
<!-- # 2 --><waypoint x="3498" z="2694" y="50"> </waypoint>
<!-- # 3 --><waypoint x="3361" z="2683" y="47"> </waypoint>
<!-- # 4 --><waypoint x="3235" z="2605" y="47">
__WPL:setForcedWaypointType("NORMAL")
while (true) do
player:findTarget("Boddosh");
local target = player:getTarget();
if target.HP > 100000 and ( not player:hasBuff("500871")) then -- blood arrow buff
player:cast("SCOUT_BLOOD_ARROW")
yrest(500)
player:cast("SCOUT_ARROW_OF_ESSENCE")
yrest(500)
player:cast("SCOUT_ARCHERS_GLORY")
-- use pot or HoT skill to counter the blood arrow
break;
end
yrest(300);
end
</waypoint> <!-- Running to this waypoint to deaggro normal mobs and wait for Boddosh-->
<!-- # 5 --><waypoint x="3314" z="2656" y="47" type="NORMAL">
player:restrnd(101, 20, 30); <!-- Wait for Boddosh to finish going berserk and reaggro -->
</waypoint>
<!-- # 6 --><waypoint x="3452" z="2690" y="47"> </waypoint>
<!-- # 7 --><waypoint x="3581" z="2700" y="47">
loadPaths("clops-sell-run.xml");
__WPL:setWaypointIndex(137);
</waypoint>
</waypoints>
I may have to wait 1000 between the buffs, only got arrow of essence a couple times.
**EDIT**
Found the inherent problem with this.... If I die for some reason after Boddosh's room, it will get stuck waiting on the return path while it searches for a dead Boddosh.... Until I can find a better solution, I will just put a break party command in the <onDeath> section
**EDIT AGAIN**
Ok, not putting a break party in the ondeath.... didn't turn out so well. I'll just add a durability check to go along with the bag full check and break party if dura is low.
Btw, is there a possibility of adding a "do not buff if mounted" function?