BEGIN ~BHWILFON~

IF ~True()~ THEN BEGIN 0
  SAY @1
  IF ~~ THEN REPLY @2 EXIT
  IF ~NumberOfTimesTalkedTo(0)~ THEN REPLY @3 GOTO 1
  IF ~!NumberOfTimesTalkedTo(0) OR(3) GlobalLT("BHTalkedToWilfong","Global",1) GlobalLT("BHWilfongTellsAssassins","Global",1) GlobalLT("BHWilfongTellsCastle","Global",1)~ THEN REPLY @4 GOTO 1
  IF ~OR(2) Dead("BHARRNES") Dead("BHTELLIS")~ THEN REPLY @3 GOTO 1
END

IF ~~ THEN BEGIN 1
  SAY @5
  IF ~GlobalLT("BHTalkedToWilfong","Global",1)~ THEN REPLY @6 DO ~SetGlobal("BHTalkedToWilfong","GLOBAL",1)~ GOTO 2
  IF ~GlobalLT("BHWilfongTellsAssassins","GLOBAL",1)~ THEN REPLY @7 DO ~SetGlobal("BHWilfongTellsAssassins","Global",1)~ GOTO 5
  IF ~GlobalLT("BHWilfongTellsCastle","GLOBAL",1)~ THEN REPLY @8 DO ~SetGlobal("BHWilfongTellsCastle","Global",1)~ GOTO 17
  IF ~OR(2) Dead("BHARRNES") Dead("BHTELLIS")~ THEN REPLY @9 GOTO 20
END

IF ~~ THEN BEGIN 2
  SAY @10
  IF ~~ THEN REPLY @11 GOTO 3
END

IF ~~ THEN BEGIN 3
  SAY @12
  IF ~~ THEN GOTO 4
END

IF ~~ THEN BEGIN 4
  SAY @13
  IF ~~ THEN REPLY @14 GOTO 1
END

IF ~~ THEN BEGIN 5
  SAY @15
  IF ~~ THEN REPLY @16 GOTO 6
END

IF ~~ THEN BEGIN 6
  SAY @17
  IF ~~ THEN REPLY @18 GOTO 9
  IF ~Global("BHKnowWilfongSecret","BH2020",1)~ THEN REPLY @19 GOTO 7
END

IF ~~ THEN BEGIN 7
  SAY @20
  IF ~~ THEN REPLY @21 GOTO 8
END

IF ~~ THEN BEGIN 8
  SAY @22
  IF ~~ THEN REPLY @23 GOTO 11
END

IF ~~ THEN BEGIN 9
  SAY @24
  IF ~PartyGoldGT(99)~ THEN REPLY @25 DO ~TakePartyGold(100)~ GOTO 10
  IF ~PartyGoldLT(100)~ THEN REPLY @26 GOTO 12
END

IF ~~ THEN BEGIN 10
  SAY @27
  IF ~~ THEN REPLY @28 GOTO 11
END

IF ~~ THEN BEGIN 11
  SAY @29
  IF ~~ THEN REPLY @30 GOTO 13
END

IF ~~ THEN BEGIN 12
  SAY @31
  IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 13
  SAY @32
  IF ~~ THEN REPLY @33 GOTO 14
END

IF ~~ THEN BEGIN 14
  SAY @34
  IF ~~ THEN REPLY @35 GOTO 15
END

IF ~~ THEN BEGIN 15
  SAY @36
  IF ~~ THEN REPLY @37 DO ~SetGlobal("BHQuenBasmarBoat","GLOBAL",1)~ GOTO 16
END

IF ~~ THEN BEGIN 16
  SAY @38
  IF ~~ THEN REPLY @39 EXIT
END

IF ~~ THEN BEGIN 17
  SAY @40
  IF ~~ THEN REPLY @41 GOTO 18
END

IF ~~ THEN BEGIN 18
  SAY @42
  IF ~~ THEN GOTO 19
END

IF ~~ THEN BEGIN 19
  SAY @43
  IF ~~ THEN JOURNAL @44 EXIT
END

IF ~~ THEN BEGIN 20
  SAY @45
  IF ~~ THEN DO ~GiveItemCreate("MISC45",Player1,1,0,0) Polymorph(FIGHTER_MALE_HUMAN) EscapeArea()~ EXIT
END
