short 1.12.1 warlock guide by Seuche
max dmg bg spec (standard, good for pvp and pve. Will use this spec for explaining duels): http://db.vanillagaming.org/?talent#Ii0dGRbkAZZxx0tMbz
control bg spec: http://db.vanillagaming.org/?talent#Ii0dGRbkTZZxx0trMz
nightfall conflag: http://db.vanillagaming.org/?talent#Ii0duRbZZxx0tMbtt
max tryhard duel spec (need to farm shards for this to be able to spam shadowburn in duels): http://db.vanillagaming.org/?talent#IV0bZbxhkgxotbVx0z
slightly less tryhard duel spec (drainmachine): http://db.vanillagaming.org/?talent#Ii0dVRbZbxhkgxot
Short descriptions of fighting certain classes, only scratching the surface with these descriptions:
Mage: Use Felhunter and position yourself slightly away from it so he can't nade both you and your pet. Precast Shadow Ward if he has shadow reflector, in case he reflects something on you. Open with petattack, corruption, siphon life, amplify curse curse of agony, immolate. Remember to dispel frost nova and ignite from yourself with felhunter. Spellstone is good here to remove those 2. Cast searing pain if you have all dots up, only cast drain life if he doesn't have counterspell up. Only use death coil when he doesn't have ice barrier up so you get the full healing from the coil and preferably when he's close range/in a gcd so he can't ice block it. Wait with casting shadow bolt if you get a shadow trance proc, he might be panicmashing his ice block/shadow reflector keys if he hears the sound/is using SpellAlert addon. Spam Shadowburn whenever it's off cd if you feel like wasting shards. If he's spamcasting spells like scorch, fireball, frostbolt use curse of tongues. If he's spamming aoe spells, nova, CoC, blast wave, arcane explosion use curse of agony. If you are soul link spec this duel is 100 times easier. Corruption, CoA, immolate and searing pain. Drain life if he silences searing pain. You should be able to win by just doing that and dispelling nova/ignite with your pet.
Warlock: The most APM duel. Precast Shadow Ward. Use Felhunter and use detect invis, underwater breathing for trash buffs incase he feels lucky to dispel something on you with his felhunter. Start with petattack, siphon life(rank 1), Corruption, Amplify Curse curse of agony, immolate, Siphon Life (full rank). The reason for rank 1 siphon life is because he will probably dispel the first dot on him with felhunter and you want to keep corruption on him as much as possible for shadow trance procs. Spam dispel yourself whenever it's off cd to remove his dots. Reapply any dots he dispels with his felhunter. If he silences your immolate with his felhunter you can banish his felhunter. At this point he will want to interrupt your cast somehow, either with coil, nade, tidal or such so be ready for that. You can also start the duel by prepopping shadow reflector and banishing his felhunter, but that's pretty cheesy. :P
Keep an eye out for his shadow trance procs and be ready to pop shadow reflector if you hear the sound/use SpellAlert. Try to save spell lock for his shadow school, if you outgear him you should probably be able to survive his immolate/searing pain spam. (Or he might instantly start channeling drain life after dots and you spell lock it and it's pretty much gg from there)
Something cool you can do here is to try and catch coil with Shadow Ward, this will prevent him from healing with the coil.
If he's destruction you probably want to use curse of tongues, I prefer amplify curse curse of agony though as I'm usually pretty confident that I can do more dmg than the other lock.
Spellstone is good here, save it for when you have corruption, siphon life and immolate all on yourself. Spam shadow ward whenever it's off cd.
Use curse of recklessness on him if he pops shadow reflector to make you immune to fears.
Warrior: Succubus or Voidwalker.
Sucubus: Seduce, curse of shadow, go maxrange, soulfire searing pain shadowburn, seduce, shadowbolt searingpain, seduce, shadowbolt searingpain shadowburn, corruption, amplify curse of agony, siphon life. (he should be dead)
Voidwalker: Let him charge you (unless you want to be cheesy kunt), Corruption, amplify curse of agony, siphon life, drain life. Cast immolate when he pummels your drain life. (you can also try and fake his pummel with rank 1 drain life) Coil when you are going low on health, sacrifice when you are going low on health. (you should wait as long as possible to sacrifice your pet as you lose out on the voidwalker melee dmg)
Paladin: Felhunter. Curse of shadow, fear. Then just spam shadow bolt and fear when he comes close and keep rank 1 corruption up on him for shadow trance procs and to waste his mana on dispelling himself. Keep pet dispel for his hammer of justice. Run away and bandage if he bubbles and starts healing. Keep your pet attacking him unless he's reckoning spec and spamming /sit. Dots are a waste of mana here unless he's bad and not dispelling or if he's oom. Use coil when he's immune to fear and in melee range. And only use coil if you can get the full healing from it. It's bad to use coil when you're full health unless you're bursting someone with it.
Druid: Felhunter. Enable autodevour if he's specced in nature's swiftness, you should be able to survive moonfire/insect swarm. Just get full dots and drain life him. Remember to life tap before drain life so you don't waste the healing you recieve from it.
Rogue: Your hardest counter. Use succ or voidwalker. Only gonna explain succ as voidwalker is very similar to warrior.
Succ: Keep your succ away from you so he can't easily CC it. Spam seduce when he opens. Reseduce if he trinkets. Nade him if he breaks it with wotf and reseduce. Then make some distance. Immolate, corruption, curse of agony, siphon life and run. Coil if he comes close, but be wary of vanish. Try and sync your coil with a dot so the dot breaks his vanish before he can vanish ur coil. Speed items are very good here, gnomish rocket boots, nifty stopwatch and skull. use curse of exhaustion if you're running with rocket boots/skull. This will make you outrun sprint. Antivenoms are supergood here to remove crippling.
Hunter: Succ or Voidwalker.
Succ: Seduce hunter, howl of terror his pet. Walk up to hunter and cast fear. Shadow bolt, Immolate, Corr, amplify CoA, Siphon Life, and drain life. Keep walking up to him so he has to keep moving. Coil when you need it. Use curse of weakness, siphon life and rank 1 corruption on his pet when you have time/are LoS from the hunter. A hunter will probably beat you in damage unless you are spamming Shadowburn so try to find a pillar to hump while dots are ticking on him. (Not allowed to do this in duels though unless you wanna be a cheesy kunt ;)) Casting fear is hard as you will have constant spell pushback if his pet is on you.
When I see a hunter in bgs i usually just give him corr, coa and siphon life and run the other way/find a pillar.
Shaman: Put on autodevour for his grounding/nature swiftness unless he's enhancement and you need to dispel his frost shock.
Enhancement: curse of exhaustion and kite with dots, dispel frost shock on yourself.
Elemental: Curse of tongues, corr, siphon life immolate. Cast searing pain, if he shocks it use drain life. Spell lock his 1st cast. Kill totems with pet. Cast fear after he earth shocks.