Didn't have the time to test these extensively, but I'll put em up anyway so people know.Yeah, I would have changed DB's base logic if I could =P Honestly, there are only like 5 different kinds of bounties, which really would mean that is the best solution.
Just gotta work with what I've got now. New profiles to come soon, and now that it is confirmed that the check for bounties is indeed the reason it runs so slowly, I am going to write my own caching system for that.
P.S. If you guys are creating profiles as you say, POST THEM! =P That way we don't create the same profiles and can have a wider range of supported bounties.
<!-- The Cursed Court-->
<HaveBounty questSNO="375191">
<LoadProfile file="./Act1/375191.xml" />
</HaveBounty>
<!-- Kill Qurash the Reviled-->
<HaveBounty questSNO="345862">
<LoadProfile file="./Act1/345862.xml" />
</HaveBounty>
<!-- Kill Glidewing-->
<HaveBounty questSNO="361331">
<LoadProfile file="./Act1/361331.xml" />
</HaveBounty>
<!-- Kill Lord Brone-->
<HaveBounty questSNO="369249">
<LoadProfile file="./Act1/369249.xml" />
</HaveBounty>
<!-- Kill Queen Araneae-->
<HaveBounty questSNO="345528">
<LoadProfile file="./Act1/345528.xml" />
</HaveBounty>
<!-- Kill Rathlin the Widowmaker-->
<HaveBounty questSNO="345526">
<LoadProfile file="./Act1/345526.xml" />
</HaveBounty>
[XmlElement("HaveBounty")]
public class HaveBounty : Trinity.XmlTags.BaseComplexNodeTag
{
protected override Composite CreateBehavior()
{
PrioritySelector decorated = new PrioritySelector(new Composite[0]);
foreach (ProfileBehavior behavior in base.GetNodes())
{
decorated.AddChild(behavior.Behavior);
}
return new Zeta.TreeSharp.Decorator(new CanRunDecoratorDelegate(CheckNotAlreadyDone), decorated);
}
public override bool GetConditionExec()
{
if (QuestSNOs != null)
{
string[] QuestList = QuestSNOs.Split(',');
return BountyCache.getBounties().Where(bounty => Array.IndexOf(QuestList, bounty.Info.QuestSNO.ToString()) >= 0 && bounty.Info.State != QuestState.Completed).FirstOrDefault() != null;
} else
return BountyCache.getBounties().Where(bounty => bounty.Info.QuestSNO == QuestSNO && bounty.Info.State != QuestState.Completed).FirstOrDefault() != null;
}
private bool CheckNotAlreadyDone(object obj)
{
return !IsDone;
}
[XmlAttribute("questSNO")]
public int QuestSNO
{
get;
set;
}
[XmlAttribute("questSNOs")]
public string QuestSNOs
{
get;
set;
}
}
Actually, managed to upload my prototypes that I didn't test at all, improper version handling on my end..Thank you, I have added them to the SVN.
I have no idea what this "We are in act 3 or 4, teleport to core of arreat" is. I have not written that in any of my code. Are you running a plugin that is interfering with mine?ProfileOrderManager.OnGameJoined, Reloading profile.
Loaded profile Clear Khazra Den Bounty
Game joined, Resetting profile caches.
========== Grid segmentation resetting!!! ============
========== Grid segmentation resetting!!! ============
[Trinity] Starting up Generic Cache Manage thread
[Trinity] Starting up Generic Blacklist Manager thread
We are in act 3 or 4, teleport to core of arreat
Stopping the bot.
Chose Trinity as your combat routine
Bot Thread Ended. Was this requested?
here the log
<!-- The Cursed Bellows -->
<HaveBounty questSNO="369789">
<LoadProfile file="./Act1/369789.xml" />
</HaveBounty>