I found a bug. If you try to refight the drunkard on the same save file, it's possible for the combat to be stuck in an infinite loop (you never make progress to the dead end, and the combat never progresses to the second phase no matter what choices you make or how many times you make a choice).
After taking a peek at the source, this seems to be due to the hitCount variable not being initialized at the start of this combat (meaning that its value from the previous fight gets used when the battle's fought again), and since its value is likely to be greater than 3, drunkardFightResolve falls back to its default case... which simply jumps back to drunkardFightStart unconditionally. Inserting $hitCount=0 at the beginning of drunkardFightIntro prevents this bug from occurring.
It seems that there are a few other variables that are used without being initialized to a value (notably including temp_hp, temp_stam, and temp_lust); it may be appropriate to create a function that initializes these values (since even with my fix above, with repeated fights, the drunkard is liable to have the HP loss scene after the first choice made in the second state due to temp_hp being negative from a previous fight).