Feature Request: More tactics and equipment settings

Issue #51 closed
Felipe anargyrou created an issue

Hello!

I tested your bots and I think you should add more strategy settings, such as:

Strategy for raids/dungeons:

Main Tank: Will tank only Boss

Off Tank: Will tank adds (i think this is close to "DPS specific targets") I bet that if I try to do a boss such as the Lich King, i'll obviously need an off tank and a Main tank. And i bet that they'll both tank ALL the mobs that they see.

Kite: Some bosses require the tank to kite it. In the case of the bots, they'll just tank'n'spank...

DPS

HEAL

Why DPS and HEAL? Because i noticed that the bots will try to DPS and Heal at the same time...

DPS priority/specific target: Some bosses such as Lord Marrowgar, which leaves a bone spike on a random player, needs to have specific tactic, a good way of doing that is setting Attack Priority. For example: I set the attack priority of the DPSs for DPSing Bone SPike first, and then, get back to the Boss.

Also, some bosses leave stuff that deal damage if the player remains on that area. You should enable the follow command to me usuable in combat, that way, you can just tell the bot to come at you and he'll leave the area that is dealing damage and/or adding a "sensor" that the bot will detect that he's on a shit on the ground and will leave it. I guess that a good way to do this logic is if the bot is recieving an amount of damage overtime and he hasn't any mobs attacking him, he'll start moving until he stops recieving it. (I am not sure, but if not all, most of these bosses' skills deals the same quantity of damage overtime)

And finally, equipments and talents settings. I noticed that this will not be easily done, because the bots are not Players, they are minions. I guess that a good solution would be in the "Summon Option". For example: I select a Paladin bot, then, it'll pop up another set of options, to choose a specific build (in this case, Prot, Retri and Holy), finally, another option for the equipments sets (Common, Uncommon, Rare, Epic (T1, T2, T3, T4, T5 etc...)).

Well, i think that's all...i am not sure if they are all "codeable" and i don't know if you'll have the time to do it, but here's my feedback ... :D

Comments (8)

  1. trickerer repo owner
    • changed status to open

    I am glad to see people want npcbot mod evolve. For your humble request here is my response:

    About separating tanking roles, heal/dps modes and dps priority: that's a good idea which already stated in TODO's (bot_ai.cpp).
    Avoiding AOE damage is not that simple. Not only because of too much calculations but also it is hard to test such things alone.
    Talents can be learned according to spec of bot, but: it is essential for bots to have all talents I can give them - there are just not enough talents possible to emulate on creatures to divide them on specs.
    And bots' equipment can't be changed except weapons but even weapons can be only chosen upon summoning (resummoning is not a way to implement this i think). If you mean visual, well that's impossible, creatures can't change their model parts as players do (only through spells which allow to generate player-based model upon summoning, like Mirror Image). And if you mean stats, bots fully rely on player summoned them, it was really hard to implement and balance it so I don't want to change it.

    The whole NPC bot system is not 'full of hacks', it consists of hacks and it is hard to implement anything new, a good example of bad coding (as my early work) and it is a pain to receive requests on this as I don't know how to tell people they don't have too much to hope for. I hope you won't blame me for this

  2. Felipe anargyrou reporter

    What about attacking a specific target? Maybe you could implement more movement commands and also enabling the Follow Command to be usuable in battle, that way, it's possible to avoid AoE damage without making much calculations as you said.

  3. trickerer repo owner

    When you need bots to only follow you while in combat, you can use distance command (.npcbot distance 0) so they will stay very close to you and will not attack anyone (but will still heal anyone in range). In this mode you will be able to point a specific target and your bot will attack it, once you stop your attack (target yourself for example) bots will go follow mode again.
    The only missing thing here is tank's behaviour. Giving him ability to only target bosses (or 'dungeon bosses' which have specific flag on them) and never change target (until they loose them or kill them) may be a solution. Raid target icon also can be used here.

    Also, want to notice that there are some raids which you cannot do alone. You still need other players to successfully finish some encounters like C'Thun, any boss in Battle for Mount Hyjal and some others

  4. trickerer repo owner

    Roles are implemented. Specific tanking/attack modes come much later, so this one is lower priority now.

  5. trickerer repo owner

    NPCBots v4.0.16a

    Make bots static in world (Closes #77, Closes #72, Closes #89, Closes #90, Closes #68, Closes #96, Closes #101, Closes #104). Drop 4.3.4 branch support (Closes #74, Closes #75, Closes #85, Closes #87) Add basic honor for bots (Closes #30). Bots' stats are no longer depend on players (Closes #83, Ref #97, Ref #98). Convert equips from ItemTemplate from Item and make bots use real items and benefit from all items properties except certain class ability improvements (increase damage, decrease cast time, etc.) (Closes #51). Add Auto-equip option, allows to quick-equip items with simple item comparison algorithm (item level) (Closes #63). Add 'Unequip all' option, allows to unequip all items (Closes #95). Make npcbots' stats fully player-like (Ref #97, Closes #98). Disable custom cooldowns (Closes #97, Closes #100). Modify bots' formation to never spread too much (Closes #99). Allow bots to attack neutral units (Closes #107). Allow npcbots to queue into Dungeon Finder with master (Closes #20). No manual yet

    → <<cset 82d2382ad8bd>>

  6. Log in to comment