void ProcessDialogEvent()
{
	ref NPChar;
	aref Link, NextDiag;

	DeleteAttribute(&Dialog,"Links");

	makeref(NPChar,CharacterRef);
	makearef(Link, Dialog.Links);
	makearef(NextDiag, NPChar.Dialog);

	switch(Dialog.CurrentNode)
	{
		case "1":
			if(sStory == "pirate_boss_quest")
			{
				dialog.text = "Znikaj! Nie masz czego szukać u szefa.";
				link.l1 = "Owszem, mam. Przybywam, aby wyzwać go na pojedynek, więc zawrzyj pysk i prowadź mnie do niego. I to już!";
				link.l1.go = "2";
			}
			else
			{
				if (sStory == "pirate_boss_dead" || sStory == "captains_ready" || sStory == "captains_done")
				{
					dialog.text = "Jakieś rozkazy, szefie?";
					link.l1 = "Nie, róbcie swoje.";
					link.l1.go = "Exit";
				}
				else
				{
					dialog.text = "Wynocha, szef nie ma życzenia oglądać każdego durnia, który przypełznie pod jego drzwi.";
					link.l1 = "Doprawdy?";
					link.l1.go = "Exit";
				}
			}

			NextDiag.TempNode = "1";
		break;

		case "2":
			dialog.text = "Ech, jeszcze jeden. Wchodź, rozerwiemy się trochę.";
			link.l1 = "...";
			link.l1.go = "Exit shut up";
		break;

		case "Exit":
			NextDiag.CurrentNode = NextDiag.TempNode;
			DialogExit();
		break;

		case "Exit shut up":
			NextDiag.CurrentNode = NextDiag.TempNode;
			DialogExit();
			DoQuestCheckDelay("Exit pirate guard dialog", 1.0);
		break;
	}
}
