Changeset - 45546845fc04
[Not reviewed]
default
0 2 1
Silverwing - 7 years ago 2017-10-15 12:27:55

Some w32 changes
3 files changed with 9 insertions and 4 deletions:
0 comments (0 inline, 0 general)
images/unseen_enemy.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
items.lua
Show inline comments
 
@@ -453,12 +453,13 @@ item_cogs = obj {
 
 
item_w32_key = obj {
 
	nam = "item_w32_key";
 
	disp = "Ключ";
 
	dsc = [[За книгами спрятан небольшой {ключик}. ]];
 
	tak = function(s)
 
        w32_mgr_bookcase.state = 1;   
 
		w32_mgr.key_inplace = false;
 
		return [[Вы забираете ключ. ]];
 
	end;
 
	inv = [[Ключ от стола управляющего из склада 32. ]];
 
};
 
warehouse32.lua
Show inline comments
 
@@ -271,12 +271,13 @@ w32_mgr_bookcase = obj {
 
        else
 
            return "Записи, журналы и прочие малоинтересные вам книги. ";
 
        end;      
 
	end;
 
	used = function(s, o)
 
		if (o == item_w32_key) then
 
            s.state = 0;      
 
			w32_mgr.key_inplace = true;
 
			remove(item_w32_key, pl);
 
			put(item_w32_key, s);
 
			return "Вы возвращает ключик на место. ";
 
		end;
 
	end;
 
@@ -441,12 +442,15 @@ warehouse_32 = room {
 
        for i = 1, #s.guards do
 
            local g_y = math.floor(tonumber(s.guards[i].pos) / 10);
 
            local g_x = tonumber(s.guards[i].pos) % 10;
 
            if pl_y - g_y == 0 or pl_x - g_x == 0 and math.abs(pl_y - g_y) + math.abs(pl_x - g_x) < 3 then
 
                rval = rval .. ";images/wh32_guard_" .. tostring(s.guards[i].dir) .. ".png@" .. tostring((g_x - pl_x) * 64 + 128 + deltax) .. ",".. tostring((pl_y - g_y) * 64 + 128 + deltay);
 
            end;
 
            if math.abs(pl_y - g_y) == 1 and math.abs(pl_x - g_x) == 1 then
 
                rval = rval .. ";images/uneen_enemy.png@" .. tostring((g_x - pl_x) * 64 + 128 + deltax) .. ",".. tostring((pl_y - g_y) * 64 + 128 + deltay);
 
            end;
 
        end;
 
        
 
        rval = rval .. ";images/wh32_player.png@128,128";
 
        return rval .. ";images/wh32_mask.png";
 
    end;
 
	disp = function(s)
 
@@ -497,13 +501,13 @@ warehouse_32 = room {
 
	guardTurn = function(s)
 
		local pl_y = math.floor(tonumber(s.pos) / 10);
 
		local pl_x = tonumber(s.pos) % 10;
 
		--Каждый стражник делает ход, игрок получает сообщения, о том, слышит ли он шаги, откуда и как они движутся
 
		for i = 1, #s.guards do
 
			if (rnd(10) < 9) then
 
                if (s.guards[i].s == 1) then
 
                --[[if (s.guards[i].s == 1) then
 
                    if s.guards[i].dir ~= 3 then
 
                        s.guards[i].dir = s.guards[i].dir + 1;
 
                    else
 
                        s.guards[i].pos = s.definitions[s.guards[i].pos].e3;
 
                        if not s.definitions[s.definitions[s.guards[i].pos].e3].e3 then
 
                            s.guards[i].s = 2;
 
@@ -518,14 +522,14 @@ warehouse_32 = room {
 
                    else
 
                        s.guards[i].pos = s.definitions[s.guards[i].pos].e1;
 
                        if not s.definitions[s.definitions[s.guards[i].pos].e1].e1 then
 
                            s.guards[i].s = 1;
 
                        end;
 
                    end;
 
                end;
 
				--[[if (s.guards[i].s == 1) then
 
                end;]]
 
				if (s.guards[i].s == 1) then
 
					s.guards[i].s = 2;
 
					s.guards[i].dir = s.guards[i].dir + 1;
 
					if (s.guards[i].dir > 4) then
 
						s.guards[i].dir = 1;
 
					end;
 
				elseif (s.guards[i].s == 2) then
 
@@ -544,13 +548,13 @@ warehouse_32 = room {
 
						end;
 
					elseif (s.guards[i].dir == 4) then
 
						if (s.definitions[s.guards[i].pos].e4) then
 
							s.guards[i].pos = s.definitions[s.guards[i].pos].e4;
 
						end;
 
					end;
 
				end;]]
 
				end;
 
			end;
 
			
 
			local g_y = math.floor(tonumber(s.guards[i].pos) / 10);
 
			local g_x = tonumber(s.guards[i].pos) % 10;
 
			--print("guard:", g_x, g_y)
 
			--Видимость при разнице не более двух. В прямой видимости - видно, иначе - слышно
0 comments (0 inline, 0 general)