Changeset - 8b3ac6b85f5c
[Not reviewed]
default
0 8 0
Silverwing - 6 years ago 2017-12-24 17:42:54

has light check fix
8 files changed with 22 insertions and 22 deletions:
0 comments (0 inline, 0 general)
atlantis_from_the_ashes.lua
Show inline comments
 
@@ -379,12 +379,12 @@ atl_fta_ending = room {
 
	entered = function(s)
 
        if char_darkstar_dlg.state == 0 then
 
            char_darkstar_dlg.state = 1;
 
        end;
 
		atl_fta_state = 2;
 
		remove(item_atl_fta_suit, pl);
 
        pl.has_light = false;
 
        me().has_light = false;
 
	end;
 
	obj = {
 
		vway('continue', '{Продолжить}', 'atl_luna_drake_room');
 
	};
 
};
atlantis_intro.lua
Show inline comments
 
atlantis_intro_dock = room {
 
	nam = "Атлантида";
 
	entered = function(s)
 
        pl.has_light = false;   
 
        me().has_light = false;   
 
		remove(item_lamp, pl);
 
        submarine_leviathan.refit = true;
 
        put("item_colt", "leviathan_captains_cabin");
 
        put("item_harpoon", "leviathan_airlock");
 
        put("item_book_on_navjiarr", "leviathan_captains_cabin");
 
		if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then 
atlantis_iraa.lua
Show inline comments
 
@@ -1107,13 +1107,13 @@ iraa_temple_room_0 = room {
 
iraa_temple_room_1 = room {
 
    nam = "iraa_temple_room_1";
 
    disp = "Храм Ираафаанотра, комната";
 
    index = 0;
 
    dsc = function(s)
 
        if me() == player_learr then
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них пустуют. ]];
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них, пустуют. ]];
 
        else
 
            return [[Небольшая, хорошо освещенная светящимися водорослями, комната. Большие -- в рост навьяра, ниши в стенах пустуют. ]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_1");
 
@@ -1126,13 +1126,13 @@ iraa_temple_room_1 = room {
 
iraa_temple_room_2 = room {
 
    nam = "iraa_temple_room_2";
 
    disp = "Храм Ираафаанотра, комната";
 
    index = 0;
 
    dsc = function(s)
 
        if me() == player_learr then
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них пустуют. ]];
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них, пустуют. ]];
 
        else
 
            return [[Небольшая, хорошо освещенная светящимися водорослями, комната. Большие -- в рост навьяра, ниши в стенах пустуют. ]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_5");
 
@@ -1145,13 +1145,13 @@ iraa_temple_room_2 = room {
 
iraa_temple_room_3 = room {
 
    nam = "iraa_temple_room_3";
 
    disp = "Храм Ираафаанотра, комната";
 
    index = 0;
 
    dsc = function(s)
 
        if me() == player_learr then
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них пустуют. ]];
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них, пустуют. ]];
 
        else
 
            return [[Небольшая, хорошо освещенная светящимися водорослями, комната. Большие -- в рост навьяра, ниши в стенах пустуют. ]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_2");
 
@@ -1164,13 +1164,13 @@ iraa_temple_room_3 = room {
 
iraa_temple_room_5 = room {
 
    nam = "iraa_temple_room_5";
 
    disp = "Храм Ираафаанотра, комната";
 
    index = 0;
 
    dsc = function(s)
 
        if me() == player_learr then
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них пустуют. ]];
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них, пустуют. ]];
 
        else
 
            return [[Небольшая, хорошо освещенная светящимися водорослями, комната. Большие -- в рост навьяра, ниши в стенах пустуют. ]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_3");
 
@@ -1183,13 +1183,13 @@ iraa_temple_room_5 = room {
 
iraa_temple_room_6 = room {
 
    nam = "iraa_temple_room_6";
 
    disp = "Храм Ираафаанотра, комната";
 
    index = 0;
 
    dsc = function(s)
 
        if me() == player_learr then
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них пустуют. ]];
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них, пустуют. ]];
 
        else
 
            return [[Небольшая, хорошо освещенная светящимися водорослями, комната. Большие -- в рост навьяра, ниши в стенах пустуют. ]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_2");
 
@@ -1199,13 +1199,13 @@ iraa_temple_room_6 = room {
 
iraa_temple_room_7 = room {
 
    nam = "iraa_temple_room_7";
 
    disp = "Храм Ираафаанотра, комната";
 
    index = 0;
 
    dsc = function(s)
 
        if me() == player_learr then
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них пустуют. ]];
 
            return [[Леарр находится в одной из служебных комнат храма. Стены и пол покрыты файирром. Ниши в стенах, сделанные специально, чтобы служители могли отдыхать в них, пустуют. ]];
 
        else
 
            return [[Небольшая, хорошо освещенная светящимися водорослями, комната. Большие -- в рост навьяра, ниши в стенах пустуют. ]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_1");
atlantis_iyhehevjiarr.lua
Show inline comments
 
@@ -1279,13 +1279,13 @@ iyh_temple_under_corridor_2 = darkroom {
 
};
 
 
iyh_temple_under_plaque = obj {
 
    nam = "iyh_temple_under_plaque";
 
    seen_level = 2;
 
    dsc = function(s)
 
        if (pl.has_light) then
 
        if (me().has_light) then
 
            return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая черная {табличка} из неизвестного материала. ]];
 
        elseif (language_known) then
 
            return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая {табличка} из неизвестного материала. В темноте вы видите на табличке едва заметные светящиеся полосы -- очевидно они утратили свою яркость от времени. Надпись гласит: "Назови себя и ты войдешь". ]];
 
        else
 
            return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая {табличка} из неизвестного материала. В темноте вы видите на табличке едва заметные светящиеся полосы -- очевидно они утратили свою яркость от времени. К сожалению, вы не понимаете, что они значат. ]];
 
        end;
items.lua
Show inline comments
 
@@ -308,17 +308,17 @@ item_lamp = obj {
 
	dsc = "На столе стоит {керосиновая лампа}. ";
 
	tak = "Вы забираете лампу с собой. ";
 
	inv = function(s)
 
		if (here().nolamp) then
 
			return "Здесь не стоит зажигать лампу. ";
 
		end;
 
		if (pl.has_light) then
 
			pl.has_light = false;
 
		if (me().has_light) then
 
			me().has_light = false;
 
			return "Вы гасите свет. ";
 
		else
 
			pl.has_light = true;
 
			me().has_light = true;
 
			return "Вы зажигаете лампу. ";
 
		end;
 
	end;
 
};
 
 
item_toolbox = obj {
leviathan.lua
Show inline comments
 
@@ -62,13 +62,13 @@ leviathan_airlock = darkroom {
 
	dsc_halflit = "Шлюзовой отсек Левиафана представляет собой небольшую круглую камеру, около двух метров в диаметре. В свете лампы вы различаете предметы окружения. На стенах смонтированы электрические лампы, однако они сейчас не горят. ";
 
	dsc_dark = "Шлюзовой отсек Левиафана представляет собой небольшую круглую камеру, около двух метров в диаметре. Сейчас здесь темно и вы почти ничего не видите. ";
 
	way = {
 
		kh_vroom("В кают-компанию", function(s)
 
			if (have(item_suit)) then
 
				remove(item_suit, pl);
 
                pl.has_light = false;
 
                me().has_light = false;
 
			end;
 
			return "leviathan_wardroom";
 
		end, 1);
 
		kh_vroom("В люк", function()
 
			local val = EngineUtils.getValue(where(submarine_leviathan).no_exit);
 
			if (val) then
 
@@ -76,13 +76,13 @@ leviathan_airlock = darkroom {
 
				return false;
 
			else
 
				if (where(submarine_leviathan).underwater) then
 
					put(item_suit, pl);
 
				elseif (have(item_suit)) then
 
					remove(item_suit, pl);
 
                    pl.has_light = false;
 
                    me().has_light = false;
 
				end;
 
				return where(submarine_leviathan);
 
			end;
 
		end, 2);
 
	};
 
    obj = {
utils.lua
Show inline comments
 
@@ -208,13 +208,13 @@ function darkroom(tab)
 
		if (left) then
 
			left(s);
 
		end;
 
	end;
 
	tab.life = function(s)
 
        local hasLight = EngineUtils.getValue(s.has_light, s);
 
        local plLight = EngineUtils.getValue(pl.has_light, pl);
 
        local plLight = EngineUtils.getValue(me().has_light, pl);
 
		if (hasLight) then
 
			-- show all objects that were not explicitly disabled(any seen_level)
 
			for i = 1, #objs(s) do
 
				objs(s)[i]:enable_implicit();
 
			end;
 
			for i = 1, #ways(s) do
 
@@ -259,13 +259,13 @@ function darkroom(tab)
 
		end;
 
	end;
 
	if (not tab.dsc) then
 
		tab.dsc = function(s)
 
			local lt;
 
            local hasLight = EngineUtils.getValue(s.has_light, s);
 
            local plLight = EngineUtils.getValue(pl.has_light, pl);
 
            local plLight = EngineUtils.getValue(me().has_light, pl);
 
			if (hasLight) then
 
				lt = EngineUtils.getValue(s.dsc_lit);
 
			elseif (plLight) then
 
				lt = EngineUtils.getValue(s.dsc_halflit);
 
			else
 
				lt = EngineUtils.getValue(s.dsc_dark);
 
@@ -782,23 +782,23 @@ end;
 
			else
 
				back();
 
				return "Никто не отвечает";
 
			end;
 
		end};
 
        {2, always = "true", function(s)
 
            if (pl.has_light) then
 
            if (me().has_light) then
 
                return "[Выключить фонарь]";
 
            else
 
                return "[Включить фонарь]";
 
            end;
 
        end, function(s)
 
            if (pl.has_light) then
 
                pl.has_light = false;
 
            if (me().has_light) then
 
                me().has_light = false;
 
                return "Вы выключаете фонарь. ";
 
            else
 
                pl.has_light = true;
 
                me().has_light = true;
 
                return "Вы включаете фонарь. ";
 
            end;
 
        end};
 
        {3, always = "true", "[Использовать кодировщик]", code [[ walkin("_atlantis_coder"); ]]};
 
		{4, always = "true", "[Снять скафандр]", function(s)
 
			if (EngineUtils.getValue(_atlantis_suit_menu._item.cantakeoff, _atlantis_suit_menu._item)) then
warehouse32.lua
Show inline comments
 
@@ -144,13 +144,13 @@ w32_backdoor = room {
 
    dsc = [[Над прочной деревянной дверью висит фонарь, дающий слабый свет. Площадка вокруг пуста, за исключением небольшой кучки обломков у забора. ]];
 
	entered = function(s)
 
		warehouse_32.pos = "01";
 
	end;
 
	way = {
 
		kh_vroom("Войти", function(s)
 
			if (pl.has_light) then
 
			if (me().has_light) then
 
				pn("Стоит погасить лампу, прежде чем заходить внутрь. ");
 
				return false;
 
			else
 
				return "warehouse_32";
 
			end;
 
		end);
 
@@ -177,13 +177,13 @@ w32_mgr = darkroom {
 
		kh_vroom("Выйти", function(s)
 
			print(w32_mgr.key_inplace);
 
			print(w32_mgr.book_inplace);
 
			if (not w32_mgr.key_inplace or not w32_mgr.book_inplace) then
 
				pr("Стоит вернуть все как было. ");
 
				return false;
 
			elseif (pl.has_light) then
 
			elseif (me().has_light) then
 
				pr("Если я не погашу лампу, меня заметят. ");
 
				return false;
 
			else
 
				return "warehouse_32";
 
			end;
 
		end, 2);
0 comments (0 inline, 0 general)