Files @ fce8b5c6be31
Branch filter:

Location: games/Awakening/coachman.lua

Silverwing
Code improvements, new items and locations for Part 1
--[[
Кучер, который будет за деньги возить вас по локациям первой части
]]
--TODO случайный ответ кучера из нескольких вариантов
char_coachman = obj {
	nam = "coachman";
	disp = "экипаж";
	dsc = [[Вы видите небольшую двухколесную повозку, с впряженными в нее двумя лошадьми. Его {владелец} стоит рядом и, судя по всему, ждет пассажиров^ ]];
	act = function(s)
		return "Оплатите проезд";
	end;
	used = function(s, o)
		if (o == item_coin) then
			coachman_dlg.onecoin = true;
			walkin "coachman_dlg";
		elseif (o == item_money) then
			coachman_dlg.onecoin = false;
			walkin "coachman_dlg";
		end;
	end;
};

coachman_dlg = dlg {
	nam = "coachman_dlg";
	disp = "Извозчик";
	dsc = "Куда едем?";
	hideinv = true;
	entered = function(s)
		poff(1, 2, 3, 4, 5, 6, 7);
		if (s.onecoin) then
			pon(7);
		else
			if (where(char_coachman) ~= port) then
				pon(6);
			end;
			if (where(char_coachman) ~= hotel) then
				pon(1);
			end;
			if (where(char_coachman) ~= wright_house) then
				pon(2);
			end;
			if (where(char_coachman) ~= dock_2 and global.dock_found) then
				pon(5);
			end;
			if (where(char_coachman) ~= warehouse_18 and global.warehouse_found) then
				pon(3);
			end;
			if (where(char_coachman) ~= warehouse_32 and global.warehouse_found) then
				pon(4);
			end;
		end;
	end;
	phr = {
		{1, always = true, "В гостиницу",
			function (s)
				walk 'hotel';
				return "Садитесь! Здесь совсем близко. Гостиница называется \"У старого Фрэнки\"";
			end
		},
		{2, always = true, "К Райту", 
			function (s)
				walk 'wright_house';
				return "Садитесь!";
			end
		},
		{3, always = true, "На склад 18", 
			function (s)
				walk 'warehouse_18';
				return "Садитесь!";
			end
		},
		{4,	always = true, "На склад 32", 
			function (s)
				walk 'warehouse_32';
				return "Садитесь!";
			end
			
		},
		{5, always = true, "К доку 2", 
			function (s)
				walk 'dock_2';
				return "Садитесь!";
			end
		},
		{6, always = true, "В порт",
			function (s)
				walk 'port';
				return "Садитесь!";
			end
		},
		{7, always = true, "В банк", "Садитесь!",
			function (s)
				remove(item_coin, pl);
				walk 'bank_street';
			end
		},
		{255, always = true, "Я передумал", function(s) 
			back()
		end}
	};
};