After clearing out the desert scorpions from Iblis's Lair, Duvalier has only one chance to recruit soldiers within Ravinale for the People's Resistance of Ravinale with a speech. The number of soldiers recruited depends on a number of factors, including whether you killed civilians at the end of mission four and how you handled Sharif's request.
Firstly, it is quite possible to fail this, and not recruit anyone at all.
For every point of personality you have, you get 35 additional soldiers. (Only tested for range 17-19 at the moment. Help out by trying with lower and higher values.)
For the optimal speech, how you handle the heckler doesn't seem to matter(only tested with Personality 17+, before Sharif's request, after letting civilians live. May be different in different circumstances. Help us by trying it out!)
As the text suggests, introduce yourself, (Ignore the heckler) talk about the cult, continue talking about the cult, talk about what the resistance plans to do, and then talk about what the resistance needs. Before Sharif's Request, if you let the civilians live, this gets you 665 new soldiers on top of your personality boost. Other talking options will decrease this number. If you gave Elan 5000 gold, you will get 845 on top of the personality boost. This is twenty less than the value of the gold you gave him in soldiers + the 100 you would have gotten from Sharif, and seems non-optimal. Testing continues for other values of reparations given to Elan.
Using Opal Orb to boost Personality to 21 and giving Elan 5000 gold, following the script above results in 1600 troops joining.