DEADSOFTWARE

Fix snow and cactus logic
authorDeaDDooMER <deaddoomer@deadsoftware.ru>
Wed, 8 Mar 2017 16:08:49 +0000 (19:08 +0300)
committerDeaDDooMER <deaddoomer@deadsoftware.ru>
Wed, 8 Mar 2017 16:08:49 +0000 (19:08 +0300)
BUGS
src/items_logic.mpsrc

diff --git a/BUGS b/BUGS
index f3fcc01d1fe0ef61258f3329b2fd2cd31ae60c9f..e563f53a686d4cfe7f425cf778ce393c3f1cf515 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,6 +1,6 @@
 + Можно выпасть за гранцу карты
 + Выпадение за карту после загрузки мира
 + Можно выпасть за гранцу карты
 + Выпадение за карту после загрузки мира
-Ломаются кактусы, снег и высокая трава на старте игры
++ Ломаются кактусы и снег на старте игры
 Реализованы не все мобы которые были
 Зомби не может номально выпрыгнуть из воды
 Мобы не дохнут от солнечного света
 Реализованы не все мобы которые были
 Зомби не может номально выпрыгнуть из воды
 Мобы не дохнут от солнечного света
index a0816c786b5cf4a569b16b157452430252312bb9..6c730f618f5345b68b5aceecc3373ae2a50cdf0f 100644 (file)
@@ -1253,8 +1253,9 @@ procedure updateBlock(x, y:integer);
   else\r
   if block=63 then\r
    begin\r
   else\r
   if block=63 then\r
    begin\r
-    if (light>7) or (getMap(x, y+1)=0) then\r
-     setmap(0, x, y);\r
+    // В зимнем биоме снег не растапливается при сильном свете\r
+    if ((light > 7) and (getBiomMap(x) <> 2)) or (getMap(x, y + 1) = 0) then\r
+      setmap(0, x, y);\r
    end;\r
   else\r
   if block=74 then\r
    end;\r
   else\r
   if block=74 then\r
@@ -1364,9 +1365,9 @@ procedure updateBlock(x, y:integer);
   else\r
   if block=30 then\r
    begin\r
   else\r
   if block=30 then\r
    begin\r
-    if (random(GENWOOD_RND)=random(GENWOOD_RND)) and (getMap(x, y+2)<>30) then\r
-     setMap(30, x, y-1);\r
-    if (getMap(x, y+1)<>7) or (getMap(x, y+1)<>30) then\r
+    if (random(GENWOOD_RND) = random(GENWOOD_RND)) and (getMap(x, y + 2) <> 30) then\r
+     setMap(30, x, y - 1);\r
+    if (getMap(x, y + 1) <> 7) and (getMap(x, y + 1) <> 30) then\r
      begin\r
       setMap(0, x, y);\r
       destroy_block_1(block, x, y);\r
      begin\r
       setMap(0, x, y);\r
       destroy_block_1(block, x, y);\r