Changeset - 5c21237a618f
[Not reviewed]
default
0 3 0
Silverwing - 8 years ago 2017-01-21 10:33:40

savegame fixes
3 files changed with 45 insertions and 30 deletions:
0 comments (0 inline, 0 general)
items.lua
Show inline comments
 
@@ -55,8 +55,10 @@ item_spear = obj {
 
};
 
 
item_colt = obj {
 
    var {
 
        bullets = 6;
 
    };
 
	nam = "colt";
 
	bullets = 6;
 
	disp = function(s)
 
		return "Кольт (" .. tostring(s.bullets) .. " зарядов)";
 
	end;
 
@@ -105,8 +107,10 @@ item_colt = obj {
 
};
 
 
item_harpoon = obj {
 
    var {
 
        charge = 1;
 
    };
 
    nam = "item_harpoon";
 
    charge = 1;
 
    disp = function(s)
 
        if (s.charge == 0) then
 
            return "Гарпунное ружье (разряжено)";
main.lua
Show inline comments
 
@@ -81,18 +81,22 @@ global {
 
 
 
player_drake = player {
 
    var {
 
        hp = 10;
 
        has_light = false;
 
        party = {--[["learr", "radcliffe", "phaetlarr", "wright"]]};
 
        companion = nil;
 
        money = 200;
 
    };
 
	nam = "player";
 
	disp = "Дэвид Дрейк";
 
    disp2 = "Дрейка";
 
    disp3 = "Дрейку";
 
	where = 'port';
 
	hp = 10;
 
	
 
	obj = {'item_umbrella', 'item_charts', 'item_note_1', 'item_money', 
 
	};
 
	-- party array. Should be empty on start
 
	party = {--[["learr", "radcliffe", "phaetlarr", "wright"]]};
 
	companion = nil;
 
	money = 200;
 
	
 
	pay = function(s, c)
 
		if (s.money >= c) then
 
			s.money = s.money - c;
warehouse32.lua
Show inline comments
 
@@ -5,9 +5,11 @@
 
]]
 
 
warehouse_32_guard = npc {
 
    var {
 
        dlg = 'warehouse_32_guard_dlg';
 
    };
 
	nam = "warehouse_32_guard";
 
	dsc = "Рядом со входом, опершись на стену, стоит {охранник}. Он не обращает на вас никакого внимания. ";
 
	dlg = 'warehouse_32_guard_dlg';
 
	phrases = {
 
		'Мне больше не о чем с ним говорить. ';
 
		'Он меня не пропустит. ';
 
@@ -171,6 +173,10 @@ w32_backdoor = room {
 
};
 
 
w32_mgr = darkroom {
 
    var {
 
        key_inplace = true;
 
        book_inplace = true;
 
    };
 
	nam = "w32_mgr";
 
	disp = "Склад 32, кабинет управляющего";
 
	dsc_dark = [[
 
@@ -182,8 +188,6 @@ w32_mgr = darkroom {
 
	entered = function(s)
 
		warehouse_32.pos = "54";
 
	end;
 
	key_inplace = true;
 
	book_inplace = true;
 
	way = {
 
		kh_vroom("Выйти", function(s)
 
			print(w32_mgr.key_inplace);
 
@@ -223,6 +227,10 @@ w32_journal = obj {
 
};
 
 
w32_mgr_table = obj {
 
    var {
 
        open = false;
 
        locked = true;
 
    };
 
	seen_level = 1;
 
	nam = 'w32_mgr_table';
 
	dsc = function(s)
 
@@ -236,8 +244,6 @@ w32_mgr_table = obj {
 
			]];
 
		end;
 
	end;
 
	open = false;
 
	locked = true;
 
	act = function(s)
 
		if (not s.locked) then 
 
			if (s.open) then
 
@@ -421,6 +427,16 @@ function getDirName(dir)
 
end;
 
 
warehouse_32 = room {
 
    var{
 
        pos = "01";
 
        hidden = false;
 
        guards = {
 
            { pos = "21", dir=1, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
            { pos = "31", dir=4, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
            { pos = "24", dir=2, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
            { pos = "34", dir=3, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
        };
 
    };
 
	nam = "warehouse_32";
 
	nolamp = true;
 
	disp = function(s)
 
@@ -432,14 +448,6 @@ warehouse_32 = room {
 
		return 'Вы стоите где-то между стеллажами склада 32. В помещении темно, за исключением фонарей охранников. ' .. s.definitions[s.pos].dsc;
 
	end;
 
	definitions = warehouse_32_definitions;
 
	pos = "01";
 
	hidden = false;
 
	guards = {
 
		{ pos = "21", dir=1, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
		{ pos = "31", dir=4, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
		{ pos = "24", dir=2, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
		{ pos = "34", dir=3, s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
 
	};
 
	checkGuardSight = function(s)
 
		--Проверить область зрения каждого стражника, если игрок находится в области зрения - FAIL
 
		for i = 1, #s.guards do
 
@@ -553,11 +561,6 @@ warehouse_32 = room {
 
		end;
 
	end;
 
	makeTurn = function(s)
 
		--print("turn");
 
		--print(s.guards[1].pos, s.guards[1].dir);
 
		--print(s.guards[2].pos, s.guards[2].dir);
 
		--print(s.guards[3].pos, s.guards[3].dir);
 
		--print(s.guards[4].pos, s.guards[4].dir);
 
		-- TODO debug
 
		if (s:checkGuardSight()) then
 
			s:guardTurn();
 
@@ -678,8 +681,10 @@ warehouse_32 = room {
 
};
 
 
warehouse_32_shelves = obj {
 
    var {
 
        current = "E1";
 
    };
 
	nam = "warehouse_32_shelves";
 
	current = "E1";
 
	dsc = function (s)
 
		return "Стеллажи, расположенные в этой секции отмечены табличкой {" .. s.current .. "}";
 
	end;
 
@@ -690,6 +695,12 @@ warehouse_32_shelves = obj {
 
};
 
 
w32_shelf_input = input_number {
 
    var {
 
        items = {
 
            { n = "item_electrodes"; };
 
            { n = "item_pump_details"; };
 
        };
 
    };
 
	nam = "w32_shelf_input";
 
	disp = function(s) 
 
		return "Стеллаж с отметкой " .. s.sector;
 
@@ -705,10 +716,6 @@ w32_shelf_input = input_number {
 
		back();
 
	end;
 
	label = "Укажите номер позиции:";
 
	items = {
 
		{ n = "item_electrodes"; };
 
		{ n = "item_pump_details"; };
 
	};
 
};
 
 
function warehouse32_init()
0 comments (0 inline, 0 general)