BEGIN ~BHHARPER~ 1

IF ~~ THEN BEGIN 0
  SAY @1
  IF ~~ THEN EXTERN ~BHHARMIN~ 3
END

IF ~~ THEN BEGIN 1
  SAY @2
  IF ~~ THEN REPLY @3 EXTERN ~BHHARMIN~ 6
END

IF ~~ THEN BEGIN 2
  SAY @4
  IF ~~ THEN EXTERN ~BHHARMIN~ 8
END

IF ~~ THEN BEGIN 3
  SAY @5
  IF ~IfValidForPartyDialogue("BHFabio")
~ THEN EXTERN ~BFABIO~ 16
  IF ~!IfValidForPartyDialogue("BHFabio")
~ THEN REPLY @6 GOTO 4
END

IF ~~ THEN BEGIN 4
  SAY @7
  IF ~~ THEN EXTERN ~BHHARMIN~ 9
END

IF ~~ THEN BEGIN 5
  SAY @8
  IF ~~ THEN REPLY @9 GOTO 6
END

IF ~~ THEN BEGIN 6
  SAY @10
  IF ~~ THEN REPLY @11 GOTO 7
END

IF ~~ THEN BEGIN 7
  SAY @12
  IF ~~ THEN GOTO 8
END

IF ~~ THEN BEGIN 8
  SAY @13
  IF ~~ THEN GOTO 9
END

IF ~~ THEN BEGIN 9
  SAY @14
  IF ~~ THEN DO ~SetGlobal("BHHarpCrazy","BH2002",1)
~ EXTERN ~BHHARMIN~ 10
END

IF ~AreaCheck("BH2103")
~ THEN BEGIN 10
  SAY @15
  IF ~~ THEN REPLY @16 GOTO 11
END

IF ~~ THEN BEGIN 11
  SAY @17
  IF ~~ THEN REPLY @18 GOTO 12
END

IF ~~ THEN BEGIN 12
  SAY @19
  IF ~~ THEN DO ~SetGlobal("BHHarperFree","GLOBAL",1)
EscapeArea()
~ EXIT
END

IF ~Global("BHHarperGone","BH2002",2)
Global("BHHarpCrazy","BH2002",2)
~ THEN BEGIN 13
  SAY @20
  IF ~~ THEN REPLY @21 EXIT
END
