Not sure how many people have bothered to program their bot to handle boss fights, but if anyone has, I'd love to hear about it.
My bot right now uses a combination of FSM (for things like "walking to waypoint" or "walking to enemy" or "eating and drinking") and simplistic "Behavior Trees" (for when my FSM is in state "combat"), but nothing more fancy than a big mesh of if else statements that has started to make my head spin as time goes on....
My combat system started out super simple. Things like "Lets spam 1 a lot! lol". And then I made it more and more complex and irritating to maintain the combat code. It has gotten out of hand since I started *trying* to modify combat behavior based on whether the player is in combat with a boss.
[Edit: A great quick example is Nexus final boss, where you have to move every once in a while]
The way I have it right now, each spec of each class has its own combat function. Into that, I want to insert role-based (tank, heal, ranged dps, melee dps) behavior for boss fights. I could program the behavior in four different functions, splitting each function into huge switch statements that check what boss we are on, and then big if blocks that help the bot decide on things to do blah blah blah but I Think this is a down right god awful approach. Anyone have some wisdom to share on this?