Crush the White Legs

Crush the White Legs is a side quest in the Fallout: New Vegas add-on, Honest Hearts.

Quick walkthrough

 * Meet with the tribals and begin the assault on the White Legs' camp.
 * Fight your way to the Three Marys and confront Joshua Graham.
 * Decide the fate of Salt-Upon-Wounds.
 * Leave Zion.

Detailed walkthrough
Tell Daniel that you wish to fight and finish off the White Legs with Joshua Graham; he will show signs of anger and will hastily disagree with you. You then go to the Caterpillar's Mound with Joshua Graham and he will brief you on the situation, explaining that you, he, and a combination of Sorrows and Dead Horses warriors will assault the White Legs encampment at Three Marys.

Once done talking to Joshua Graham, you will get the Way of the Canaanite follower perk, and you will then have to trek to Three Marys, fighting many White Legs along the way. Note that you cannot fast travel during this fight or while evacuating Zion.

Follow the river southwest towards The Bend Bridge, then follow the river southeast towards Virgin River, but keep going south. The entrance to Three Marys is just south of Red Rapids Docks along the river. When you arrive at the entrance to Three Marys, you will fight your way through to the center of the camp. You will need to fight many White Legs and the further you get inside the camp the more you will see friendly tribals who will be executing and hunting down fleeing White Legs.

When you get to Three Marys' caverns, specifically under the arch, the White Legs will detonate mines from an above rock formation, blocking the direct way to the camp's center (this block will not be cleared, even after the ending). After this brief cut-scene, Joshua will say that you and he will end this no matter what, he then will leave at this point, and you will lose his perk.

Go through Three Marys caverns, fighting more White Legs and you will end up on the other side of the blockade. You will then travel through the innermost parts of the camp. There are many White Legs being hunted at this point, fellow tribals are everywhere and you can make a relatively safe trip to the camp's center.

Once your destination is reached, you will go to a cut-scene of Joshua Graham executing two White Legs and Salt-Upon-Wounds from left to right. He will shoot the first two right away and then make a brief declaration to Salt-Upon-Wounds, mentioning the fall of New Canaan, Syracuse and Caesar's Legion, he will also quote the Bible, less now than before and speak in White Leg tongue.

After this speech, Salt-Upon-Wounds will cry out to you asking for help, claiming you are the only one who will listen to reason. You can then choose to either talk to Joshua or fight Salt-Upon-Wounds. To talk Joshua out of executing Salt-Upon-Wounds, you must pass two high level Speech checks. With a speech check of 75, you can talk Joshua down enough to at least let Salt-Upon-Wounds fight back before he is executed. Passing this Speech check but failing the next one will result in Salt-Upon-Wounds and 2 more White Legs attacking after dialog is exited. With a further Speech check of 90, you talk Joshua out of killing Salt-Upon Wounds entirely. The ending received will be slightly different than if you pass only one Speech check. If the player has the Sneering Imperialist perk, he/she can tell Joshua to "put a cap in his skull".

After either killing or sparing Salt-Upon-Wounds, the ending cinematic will play, involving all of the appropriate character choices you made. Despite this being the staying option, Daniel, Joshua Graham, Waking Cloud, Follows-Chalk, and White Bird will not be in Zion anymore. You will still find their clothes and other ending gear in the final footlocker.

Bugs

 * After passing through the cave, talking to the Dead Horse tribal beside the two White Legs will cause the game to freeze
 * Salt-Upon-Wounds may not appear making the add-on impossible to complete.
 * Joshua Graham may not show up even though the two White Legs are executed, making the quest impossible to complete without console commands.