https://www.youtube.com/watch?v=T-OGHqbq8kU
A video using the strategy
---- Complete Dragonfly Guide ----
https://pastebin.com/raw/zifBSj5C
Dragonfly is a fairly simple boss, though he has a few quirks that can make him difficult. Dodging him involves timing, the reasoning for this is the dragonfly will move when he attacks, but only if he was moving while he started the attack. AKA if he was standing still when he started the attack, he will remain still for the entire duration of the attack. The way to dodge dragonfly is obvious then, time it so that you're next to him and not far out enough so he starts moving, let him begin his attack, and dodge in the small time frame. You CAN react to this, but mostly you just want to count hits like kiting other bosses, it's just easier. Next, once you deal enough damage to dragonfly, he starts spawning lavae waves, these die naturally after 30 seconds. We want all the lavae to die so dragonfly enrages, then use the pan flute or any other method to calm him down from enraging, and he'll go back to attacking you normally. Sadly, there is a bug in existence, if the last lavae dies naturally, then the boss has a 50/50 chance to enrage, or spawn more lavae, so running around is not viable. The reason in the code for this, is that after the last lavae spawns, a timer runs for 30 seconds exactly, which resets the spawn integers for the next wave of lavae, though there's no real point to this timer actually. Reason being, the dragonfly starts spawning lavae at set health percentages, where the spawn integers reset anyways, this shouldn't affect anything, but remember that the lavae die naturally after 30 seconds. This causes a problem, code cannot run at the same time, so it has to choose to run the timer or let the lavae die first. If the lavae dies first, there's an event that checks when lavae die if all of the lavae have spawned and are dead, if so, then the dragonfly enrages, in this case the dragonfly will enrage. If the timer runs first, then the lavae will die immediately after, the problem with this is when our event checks if all of the lavae are dead and have spawned, it will show that all of the lavae have not spawned because our timer reset those values. This means that the dragonfly will not enrage, and will go back to it's natural pattern, which is spawning more lavae since those values are not 0 and it has lavae to spawn. The easy fix for this is to just remove the timer, if you just remove that timer, dragonfly works perfectly normally. WE DO NOT like this 50/50 chance basically, when he spawns a wave of lavae, his next wave will spawn 1 more lavae and so on, so get enough bad luck and you'll be swarmed pretty quickly with a dragonfly running after you on top of that. So we need to seperate the dragonfly from the last lavae, and have time to kill it before it dies naturally. The way to do this is fairly simple, but don't **** it up or you may have to fight another wave of lavae, which is obnoxious. Let all the lavae spawn EXCEPT ONE, then follow the dragonfly to where it's going to spawn the last lavae, or pan flute quickly if it's spawning the last lavae at that pool, you want to pan flute when you're sure where it's going to spawn the lavae. Once the dragonfly is sleeping, run to the other edge of the arena from where the dragonfly is going to spawn the last lavae, if you do this correctly, once it wakes up and spawns the last lavae, dragonfly will not aggro onto you. Run around until all the lavae except the last one have died naturally, you now have a pan flute + the time it took for the dragonfly to spawn the lavae's time to kill the lavae, which is plenty of time, especially when it's alone. Once dragonfly enrages, simply pan flute the dragonfly, and then attack and continue the kiting pattern as normal. Repeat this until the dragonfly is dead, congratulations, you killed dragonfly pretty easily without a cheesing strategy or tons of items.
Hopefully wasn't too cringe or difficult to understand.