Was planning on making this for a while but you know how powerful the drug called laziness can be. Pretty addicting. Anyways, *deep breath*
1. Sanji's chilvary and selfishness has never worked. The narrative presents Sanji as a man who is so selfless, that he will help even his own enemy at his own expense. That will would be just fine if Sanji's actions affected him alone but it doesnt; Sanji's selflessness, which are just his own personal values, affects his allies negatively. Sanji's almost caused the Baratie to be stolen by Krieg despite his fellow chefs warning him beforehand of Krieg's reputation. Sanji refused to comprise his values to defeat Kalifa and save Robin. He got a grand moment of him declaring that even if it kills him, he'll never kick a woman but apparantly it doesnt matter if it kills his own crewmates. The most recent example in WCI where Sanji's "selflessness" only caused a powerful enemy to be saved and cause even more trouble for his crewmates and allies. Oda's attempts at making Sanji selfless ironically succeeded in making Sanji one of the most unintentionally selfish characters in the series.
2. Luffy is what you call a positive flat character. By design, Luffy is supposed to change the world around them and not be changed by the world themselves. Being the embodiment of what the series represents, Luffy instead changes those around him for the better and his own development is subtle(Luffy lost his mind against Foxy for cheating but against Katakuri, exclaimed that there is no such thing as cheating in a pirate battle). Luffy can only be 2 dimensional at best. With this said, somehow, Luffy regressed as a character. In Alabasta, Luffy was able to convince his entire crew that talking to the rebels would be meaningless as long as Crocdile is manipulating things from the shadows so they have to defeat Crocodile first. A very logical conclusion. Luffy nowadays has a gag where he gets a headache for thinking too much.
Some already seen me post this in the last Critic thread.