File diff 38a48ac67d2a → fce8b5c6be31
coachman.lua
Show inline comments
 
--[[
 
Кучер, который будет за деньги возить вас по локациям первой части
 
]]
 
--TODO случайный ответ кучера из нескольких вариантов
 
char_coachman = obj {
 
	nam = "coachman";
 
	disp = "экипаж";
 
	dsc = [[Вы видите небольшую двухколесную повозку, с впряженными в нее двумя лошадьми. Его {владелец} стоит рядом и, судя по всему, ждет пассажиров^ ]];
 
	act = function()
 
		walkin "coachman_dlg";
 
	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 = "Кучер";
 
	disp = "Извозчик";
 
	dsc = "Куда едем?";
 
	hideinv = true;
 
	enter = function(s)
 
		pon(1, 2, 3, 4, 5, 6);
 
		if (where(char_coachman) == hotel) then
 
			poff(1);
 
		end;
 
		if (where(char_coachman) == michael_house) then
 
			poff(2);
 
		end;
 
		if (where(char_coachman) == warehouse_18) then
 
			poff(3);
 
		end;
 
		if (where(char_coachman) == warehouse_32) then
 
			poff(4);
 
		end;
 
		if (where(char_coachman) == shipyard_2) then
 
			poff(5);
 
		end;
 
		if (where(char_coachman) == port) then
 
			poff(6);
 
	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, "В гостиницу (0 монет)", "Садитесь! Здесь совсем близко. Гостиница называется \"У старого Фрэнки\"",
 
		{1, always = true, "В гостиницу",
 
			function (s)
 
				walk 'hotel';
 
				return "Садитесь! Здесь совсем близко. Гостиница называется \"У старого Фрэнки\"";
 
			end
 
		},
 
		{2, always = true, "[Майкл Райт] (0 монет)", "Садитесь!",
 
		{2, always = true, "К Райту", 
 
			function (s)
 
				walk 'michael_house';
 
				walk 'wright_house';
 
				return "Садитесь!";
 
			end
 
		},
 
		{3, always = true, "[Склад 18] (0 монет)", "Садитесь!",
 
		{3, always = true, "На склад 18", 
 
			function (s)
 
				walk 'warehouse_18';
 
			end
 
		},
 
		{4,	always = true, "[Склад 32] (0 монет)", "Садитесь!",
 
			function (s)
 
				walk 'warehouse_32';
 
				return "Садитесь!";
 
			end
 
		},
 
		{5, always = true, "[Верфь 2] (0 монет)", "Садитесь!",
 
		{4,	always = true, "На склад 32", 
 
			function (s)
 
				walk 'shipyard_2';
 
				walk 'warehouse_32';
 
				return "Садитесь!";
 
			end
 
			
 
		},
 
		{5, always = true, "К доку 2", 
 
			function (s)
 
				walk 'dock_2';
 
				return "Садитесь!";
 
			end
 
		},
 
		{6, always = true, "В порт (0 монет)", "Садитесь!",
 
		{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)