Openkore.com

OpenKore Forums
It is currently 17 Nov 2018, 12:56

All times are UTC - 5 hours [ DST ]





Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: Missing adequate monster switching logic
PostPosted: 07 Jul 2010, 09:37 
Offline
Spam Generator
Spam Generator

Joined: 04 Apr 2008, 09:30
Posts: 501
Location: Melbourne, City of beer and awful sushis
Situation:
Novice is botting for orange gooey mushroom and orange net mushroom at job_thief1 and map has fabre (aggro), chonchon (aggro), spore and mushroom.
Mon_control is set to:
Code:
mushroom 1 0 0
fabre 0 0 0
chonchon 0 0 0
spore 0 0 0


Problem:
When the bot is attacking the mushroom and an aggressive monster attacks me, the bot will not switch to the aggressive monsters and I die. This problem is only apparent when the bot is attacking monsters without an attack (eg: mushroom, pupa, plants) and another aggressive monsters engage it.

Suggested solutions:
Understandably this is a bug that is only replicated under a very specific circumstances and that the way the bot is designed is so that it does not switch from monsters to monsters when engaged by multiple aggressive monsters.

However discussing on IRC, a few of us have come up with a few ideas, from simple to complicated.

Solution 1: switching only when first monster dealt 0 damage in total.
Harvest suggested that kore be coded in a way that it will only switch to the new aggressive target when the first monster does not attack back (ie: dealt 0 damage in total).

While this would fix this specific problem, it might produce undesirable effects when the bot is engaged in situation where the monsters can attack back but does not engage the bot itself (ie: when someone is tanking for it). This might not be the effect we are looking for.

Solution 2: Respecting priority.txt after engaging monster
Harvest also suggested that kore can respect priority.txt after engaging the monster.

This also have an effect where the bot can become inefficient. Example 1: Kore is engaging Vadon and the vadon is 2 hits from dying. Hydra spawns and attacks kore. Kore switches to the hydra but the vadon follows and attacks the bot. The bot takes more damage than necessary.

It might:
  • use more pots
  • sit more often
  • in worst case senario, die.

Solution 3: New kore logic where it calculates the most efficient time-to-kill.
This is a complicated method but ultimately provides the most efficient solution universally. Kore takes the delta_hp of the monsters, the damage of the character and calculates a time-to-kill ratio based on those two variables on the monsters that are engaging it. It then attacks the monsters which has the lowest time-to-kill.

Issues surrounding this are:
  • what I believe there is a lack of delta_hp database for monsters
  • increase in processing power, especially when being mobbed by many monsters
  • substantial effort in producing a bug free code

_________________
Make Openkore Awesome. Join the team.


Top
 Profile  
 
 Post subject: Re: Missing adequate monster switching logic
PostPosted: 07 Jul 2010, 09:46 
Offline
Developers
Developers

Joined: 05 Dec 2008, 05:42
Posts: 1811
Note: that's all about attackChangeTarget.

That's more like a feature request.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group