You are correct in this, however a girls index can be increased quite quickly should their value become quite low. The points to so this will be taken from the other two girls in the inner circle. More from your previous favourite than the other. It's basically playing favourites from a time where your previous favourite is more ticked off with you paying attention to another.I have noticed that certain positions are only available if the relevant girl's index is high enough (the cowgirl and reverse cowgirl), plus it seems the extra shower scenes with Tiffany may also be driven by that...haven't experimented enough to be sure.
Should players really want to know exactly how it works the code is below. This is an exert from the relevant label. This label is called using amounts from 1 to 3. 'love_delta' is incremented based upon major game decisions.
		Python:
	
	label love_calc (char,amount):
    if credits_crew > 50000:
        $ harmony = 18 + love_delta
    elif credits_crew > 20000:
        $ harmony = 17 + love_delta
    elif credits_crew > 5000:
        $ harmony = 16 + love_delta
    else:
        $ harmony = 15 + love_delta
    if char == kar:
        $ love_kar += round((10-love_kar)*0.1*amount,1)
        $ love_lia = round((harmony-love_kar)*love_lia/(love_lia+love_tif),1)
        $ love_tif = round((harmony-love_kar)*love_tif/(love_lia+love_tif),1)
    elif char == lia:
        $ love_lia += round((10-love_lia)*0.1*amount,1)
        $ love_kar = round((harmony-love_lia)*love_kar/(love_kar+love_tif),1)
        $ love_tif = round((harmony-love_lia)*love_tif/(love_kar+love_tif),1)
    elif char == tif:
        $ love_tif += round((10-love_tif)*0.1*amount,1)
        $ love_kar = round((harmony-love_tif)*love_kar/(love_kar+love_lia),1)
        $ love_lia = round((harmony-love_tif)*love_lia/(love_kar+love_lia),1)
    elif char == ali:
        $ love_ali2 += round((5-love_ali2)*0.1*amount,1)
        $ love_jul2 = round((10-love_ali2)*love_jul2/(love_jul2+love_rac2+love_tan2),1)
        $ love_rac2 = round((10-love_ali2)*love_rac2/(love_jul2+love_rac2+love_tan2),1)
        $ love_tan2 = round((10-love_ali2)*love_tan2/(love_jul2+love_rac2+love_tan2),1)
    elif char == jul:
        $ love_jul2 += round((5-love_jul2)*0.1*amount,1)
        $ love_ali2 = round((10-love_jul2)*love_ali2/(love_ali2+love_rac2+love_tan2),1)
        $ love_rac2 = round((10-love_jul2)*love_rac2/(love_ali2+love_rac2+love_tan2),1)
        $ love_tan2 = round((10-love_jul2)*love_tan2/(love_ali2+love_rac2+love_tan2),1)
    elif char == rac:
        $ love_rac2 += round((5-love_rac2)*0.1*amount,1)
        $ love_ali2 = round((10-love_rac2)*love_ali2/(love_ali2+love_jul2+love_tan2),1)
        $ love_rac2 = round((10-love_rac2)*love_rac2/(love_jul2+love_jul2+love_tan2),1)
        $ love_tan2 = round((10-love_rac2)*love_tan2/(love_jul2+love_jul2+love_tan2),1)
    elif char == tan:
        $ love_tan2 += round((5-love_tan2)*0.1*amount,1)
        $ love_ali2 = round((10-love_tan2)*love_ali2/(love_ali2+love_jul2+love_rac2),1)
        $ love_jul2 = round((10-love_tan2)*love_jul2/(love_ali2+love_jul2+love_rac2),1)
        $ love_rac2 = round((10-love_tan2)*love_rac2/(love_ali2+love_jul2+love_rac2),1)
    $ love_ali = round((love_kar + 2 * love_tif) / 6 + love_ali2,1)
    $ love_jul = round((love_lia + 2 * love_tif) / 6 + love_jul2,1)
    $ love_rac = round(love_kar / 2 + love_rac2,1)
    $ love_tan = round(love_lia / 2 + love_tan2,1)