
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 "First time":
			dialog.text = "Potrzebuje pan czegoś, kapitanie?";
			link.l1 = "Nie, wszystko w porządku.";
			link.l1.go = "exit";


			NextDiag.TempNode = "First time";
		break;

		case "want_fire":
			dialog.text = "Chciałbym z tobą porozmawiać, kapitanie.";
			link.l1 = "Tak, o co chodzi?";
			link.l1.go = "want_fire_1";

			NextDiag.TempNode = "First time";
		break;

		case "want_money":
			dialog.text = "Chciałbym z tobą porozmawiać, kapitanie.";
			link.l1 = "Tak, o co chodzi?";
			link.l1.go = "want_money_1";

			NextDiag.TempNode = "First time";
		break;

		case "want_money_1":
			dialog.text = "Chciałbym renegocjować nasz kontrakt. Płacisz dobrze, nie przeczę, ale człowiek z moimi umiejętnościami łatwo znajdzie lepsze oferty.";
			link.l1 = "O ile więcej chcesz zarabiać?";
			link.l1.go = "want_money_2";
		break;

		case "want_money_2":
			dialog.text = "Podnieś mi płacę o 100 piastrów, a zostanę u ciebie. W innym przypadku nasze drogi się rozejdą.";
			if(sti(pchar.money) >= 100)
			{
				link.l1 = "Dobrze, dostaniesz podwyżkę.";
				link.l1.go = "money_exit";
			}
			link.l2 = "Jesteś głupszy od fury małp włochatych!";
			link.l2.go = "money_decline_exit";
		break;

		case "want_fire_1":
			dialog.text = "Widzisz, przemyślałem to sobie i podjąłem decyzję o zejściu z pokładu. Wybacz, ale twoje metody robienia interesów bardzo mi się nie podobają!\nZatem odchodzę i możesz już szukać zastępstwa na moje miejsce.";
			link.l1 = "Każ się wypchać. Powodzenia.";
			link.l1.go = "fire_exit";
		break;

		case "money_decline_exit":
			NextDiag.CurrentNode = NextDiag.TempNode;
			DialogExit();
			OfficerNotGotMoney(npchar);
		break;

		case "money_exit":
			NextDiag.CurrentNode = NextDiag.TempNode;
			DialogExit();
			OfficerGotMoney(npchar);
		break;

		case "fire_exit":
			NextDiag.CurrentNode = NextDiag.TempNode;
			DialogExit();
			OfficerFired(npchar);
		break;

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