From 7d2032293dfd84de21e61ea40ae022c9eb1e4f4a Mon Sep 17 00:00:00 2001 From: Duane Robertson Date: Sat, 9 Apr 2016 18:42:00 -0500 Subject: [PATCH] Add some detail to control complexes. --- mapgen.lua | 57 ++++++++++++++- nodes.lua | 65 ++++++++++++++++-- textures/loud_walking_alien_floor.png | Bin 1426 -> 0 bytes textures/loud_walking_control_floor.png | Bin 0 -> 1060 bytes textures/loud_walking_control_floor_alert.png | Bin 0 -> 1031 bytes textures/loud_walking_control_wall.png | Bin 0 -> 1193 bytes textures/loud_walking_strange_growth.png | Bin 0 -> 1698 bytes textures/loud_walking_strange_plant_1.png | Bin 0 -> 719 bytes textures/loud_walking_strange_plant_2.png | Bin 0 -> 937 bytes 9 files changed, 114 insertions(+), 8 deletions(-) delete mode 100644 textures/loud_walking_alien_floor.png create mode 100644 textures/loud_walking_control_floor.png create mode 100644 textures/loud_walking_control_floor_alert.png create mode 100644 textures/loud_walking_control_wall.png create mode 100644 textures/loud_walking_strange_growth.png create mode 100644 textures/loud_walking_strange_plant_1.png create mode 100644 textures/loud_walking_strange_plant_2.png diff --git a/mapgen.lua b/mapgen.lua index 25381c5..5ffeba0 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -344,11 +344,11 @@ function loud_walking.generate(p_minp, p_maxp, seed) end in_cave = false elseif biome == "control" and dy % 5 == 0 then - data[ivm] = node("loud_walking:alien_floor") + data[ivm] = node("loud_walking:control_floor") elseif biome == "control" and (math.abs(dx - half) < 3 or math.abs(dz - half) < 3) then data[ivm] = node("air") elseif biome == "control" and ((math.abs(dx - half) % 20 == 3 and (math.abs(dz - half) - 12) % 20 > 3) or (math.abs(dz - half) % 20 == 3 and (math.abs(dx - half) - 12) % 20 > 3)) then - data[ivm] = node("loud_walking:alien_floor") + data[ivm] = node("loud_walking:control_wall") elseif biome == "control" then -- elseif (((dx == 35 or dx == 45) and dz >= 35 and dz <= 45) or ((dz == 35 or dz == 45) and dx >= 35 and dx <= 45)) and dx ~= 40 and dz ~= 40 and dy == csize.y - 2 then @@ -475,6 +475,59 @@ function loud_walking.generate(p_minp, p_maxp, seed) end end + if pod and biome == "control" then + for dy = 0, 15 do + for dz = 0, 1 do + for dx = 0, 1 do + local x1 = minp.x + dx * 26 + 17 + local z1 = minp.z + dz * 26 + 17 + local y1 = minp.y + dy * 5 + + local sr = math.random(6) + for z = 0, 20 do + local ivm = a:index(x1, y1, z1 + z) + for x = 0, 20 do + if sr == 1 then + if dy > 0 then + if data[ivm] == node("loud_walking:control_floor_alert_down") then + data[ivm] = node("loud_walking:control_floor_alert_both") + else + data[ivm] = node("loud_walking:control_floor_alert_up") + end + end + if dy < 15 then + data[ivm + a.ystride * 5] = node("loud_walking:control_floor_alert_down") + end + elseif sr == 2 then + if x > 1 and x < 19 and z > 1 and z < 19 and (z - 2) % 4 ~= 0 and (x - 2) % 4 ~= 0 then + for y = 1, 4 do + data[ivm + y * a.ystride] = node("loud_walking:air_ladder") + end + end + elseif sr == 3 then + if dy > 0 and data[ivm] ~= node("loud_walking:control_floor_alert_down") and x > 0 and z > 0 and x < 20 and z < 20 then + data[ivm] = node("loud_walking:control_floor_growth") + local sr2 = math.random(20) + if sr2 == 1 then + data[ivm + a.ystride] = node("loud_walking:control_plant_1") + elseif sr2 == 2 then + data[ivm + a.ystride] = node("loud_walking:control_plant_2") + end + end + elseif sr == 4 then + if dy < 15 and (x > 0 and x < 20 and z > 0 and z < 20) and (((x == 1 or x == 19) and math.abs(z - 10) > 3) or ((z == 1 or z == 19) and math.abs(x - 10) > 3)) then + data[ivm + 3 * a.ystride] = node("loud_walking:controls") + end + end + + ivm = ivm + 1 + end + end + end + end + end + end + vm:set_data(data) minetest.generate_ores(vm, minp, maxp) minetest.generate_decorations(vm, minp, maxp) diff --git a/nodes.lua b/nodes.lua index 148cc89..1762a53 100644 --- a/nodes.lua +++ b/nodes.lua @@ -40,10 +40,30 @@ local node = loud_walking.clone_node("loud_walking:sky_scrith") node.tiles = {"loud_walking_glass_detail.png"} minetest.register_node("loud_walking:transparent_scrith", node) -minetest.register_node("loud_walking:alien_floor", { +minetest.register_node("loud_walking:control_floor", { description = "Floor", paramtype = "light", - tiles = {"loud_walking_alien_floor.png"}, + tiles = {"loud_walking_control_floor.png"}, + use_texture_alpha = true, + is_ground_content = false, + groups = {}, + sounds = default.node_sound_stone_defaults(), +}) +local node = loud_walking.clone_node("loud_walking:control_floor") +node.tiles = { "loud_walking_control_floor.png", "loud_walking_control_floor_alert.png", "loud_walking_control_floor.png"} +minetest.register_node("loud_walking:control_floor_alert_down", node) +local node = loud_walking.clone_node("loud_walking:control_floor") +node.tiles = {"loud_walking_control_floor_alert.png", "loud_walking_control_floor.png", "loud_walking_control_floor.png"} +minetest.register_node("loud_walking:control_floor_alert_up", node) +node.tiles = {"loud_walking_control_floor_alert.png", "loud_walking_control_floor_alert.png", "loud_walking_control_floor.png"} +minetest.register_node("loud_walking:control_floor_alert_both", node) +node.tiles = {"loud_walking_strange_growth.png", "loud_walking_control_floor.png", "loud_walking_control_floor.png"} +minetest.register_node("loud_walking:control_floor_growth", node) + +minetest.register_node("loud_walking:control_wall", { + description = "Wall", + paramtype = "light", + tiles = {"loud_walking_control_wall.png"}, use_texture_alpha = true, is_ground_content = false, groups = {}, @@ -67,10 +87,10 @@ minetest.register_node("loud_walking:controls", { if sr < 3 then puncher:set_hp(puncher:get_hp() - sr) elseif sr < 6 then - local pos = puncher:getpos() - pos.x = pos.x + (math.random(-50, 50) * 160) - pos.y = pos.y + (math.random(-50, 50) * 160) - pos.z = pos.z + (math.random(-50, 50) * 160) + local pos = {} + pos.x = math.random(-190, 190) * 160 - 32 + 40 + pos.y = math.random(-190, 190) * 160 - 32 + 77 + pos.z = math.random(-190, 190) * 160 - 32 + 40 if pos.x > -31000 and pos.x < 31000 and pos.y > -31000 and pos.y < 31000 and pos.z > -31000 and pos.z < 31000 then puncher:setpos(pos) end @@ -201,3 +221,36 @@ minetest.register_node("loud_walking:air_ladder", { }, }) +minetest.register_node("loud_walking:control_plant_1", { + description = "Strange Plant", + drawtype = "plantlike", + waving = 1, + tiles = {"loud_walking_strange_plant_1.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0}, + }, +}) + +minetest.register_node("loud_walking:control_plant_2", { + description = "Strange Plant", + drawtype = "plantlike", + waving = 1, + tiles = {"loud_walking_strange_plant_2.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0}, + }, +}) diff --git a/textures/loud_walking_alien_floor.png b/textures/loud_walking_alien_floor.png deleted file mode 100644 index 0d314f2309d386b2509a887620e8127d48d73f99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1426 zcmV;D1#S9?P)G&Ql3J_G;&1s_R7 zK~z}7rIy=n8_5xdzpCyTazv4$WLw%bwO9v2ARu;Bb7DbMD zm_v6}E{4_~kgJ`!AP5ZERb5qoeZTze?|*eN#71aiMjgzZ=|)(6d(FR|KJwM&3qJ1F z6e>8vPaj9<>Xw(sipA{w7jF#@LLD2Lu4Vpe$>+l(ia!4$TFT__8-}w z8;n{j5CK7OKpLak7w|%P*l&pvaT(6b0@2>L{P|CR;Nx*a z=rVCyU~YiYJhUvrlw_HJ;0~hT4!9#I>Cod<$$h=S&y_ZJAcC0_GUz0tGv{nmQumoI zb*I#Z>c#KAd&fWP|6o~Yw?~%6fmMUhImXeV^L4%aWi9Y;`6p5E_xGkZzj8E^_L)OY0Ms5qz&x03+sm^k&c}<@fLSEC-Ap+DteIArA>IE@y1J1LELnBzJNJn`(#IX_5q@=ZuI0g4ob# z&qhv;yO27kEDBQHBRDZa`_%Bqx9@l_4{Ub_N)2QY#1a?P9Fnom?a(V7rbYyUK}sDd z`;SBD&+`hZPD#LGNq*{xL=<6BozZKg$_3ehW#&`+z`pHJ2_zRJ8}q9L>vhdloTH+{ z5V{P}fviJyoS!7{<%^2Y^_iyYNtUQy&Pdi{2fe0h-h!TG8f~x@mA3 zdO7h(v_P^9DuWb7z`@K>g^c6EDG@;sR9rZ058S@GAGaS$W!>my&^yyE`2A-fOyRv{7*^P$9M zWCd~PdZU~wJI$y&S-{1?1D-Q|+oKaDxSSFZ#D#pSKOOK>T*K;?wpsg$6_v z)1gn9d^#9{D7bNWXjz2?wwiF*)*PQY&damYEuG?GO79tWr|lA^V4jD|s*>8oq?*tk zT5!RWp`UhZN&@Z>vY?Hjt)r)vEGH>7>y}lx;QTiie80Y@*|e-yH^gP2xGM4N?7Jf= zWz>a>`5B>CiWn)&h&3Iv%NeFdSrtrY1!q??q5_>|X0wW>@9;24X6i~Sj;pc1Z@7&Y zRBtZ0d;Edp=D_OpHTO^JVPh(UQ(x5t3BsXoun81d+153$US6_2)FicG?#1!k4_Fd| zKBd!sAJ$|eiK$1r$HcA9IeW9P? z^@?q~qcZPorihL<+i|<6P~=m+%XL#^7B%Hp$gFv9_pw6&+{nC(9&qw=-rtL=ZT*mo{u{ g{W_k5jPeuz0}D1H(q_QeEdT%j07*qoM6N<$g1Q5>3;+NC diff --git a/textures/loud_walking_control_floor.png b/textures/loud_walking_control_floor.png new file mode 100644 index 0000000000000000000000000000000000000000..44083103381535fa4a601c48fefabd5e36c9bca1 GIT binary patch literal 1060 zcmV+<1l#+GP)FI;aIp)rDkhw{^6HDT276c)A8D-JQ!e2;+EEK8$Sb)wS z{0RVm^AD9wrP65x5|JA_PZBqtyc0-NivClg(`i&)&on9ki3gb#LGUC5N2ltULgLNd z_>X@FfJz30K%%hW@T~kI@nGdQf}_y@!4q+K3Oj*?Mh3v)0Vr$;4u?Y!D*I_)=rjsD zg6KLBxX~0P2$_|@LS|**O(P!B3Q+W1Wv5c;n#DlE;ptRcd;RPNbmw^hfQ}~+Snvcr z)QQ~nfpN4e&GSqp>x1Jrvl>f*g-Rh1b+-ZN8CdvnXkg=m#9h;{C`}tEO@oD@s=W&PV9 z07TWlF5o6w+6>41K zEtd|jxgVDd`o+X3I4W89MXf5zR5M4I3#KA zQW3n`yqtvE4hCi#g3>tzw`sg1hk->SE2@>@luA*MGv9(|F^vpH#0t-3?MN-)iT2R& zcfk`#ys2WlKDL_`2aO|PJ5L;e#0|lb`NR{H%>i|Oo;76vnp$sy7&Pxj6F}q!2zP#J zO@Gj+-1$l5MyIm#M3k>_xijI7l+9p{6c~WnOi+0w-YBf5fl=KOE5GP8R^ClaLnBS= zMpe}p?H>ojU8_wXzSei3s<;>Ctn`g!J4Bb7_@#HkQn>*ou9 z@tt|%1;CYlUf4)HF3%H|f?1uu+Rq)qTySNcFaTHkxoG{H{{HGbVF0f7^TdOV-={NQ zpC^ogEB$=88sRR@6DI)I`gzn2IUfA_JaHP!ul4hd556-`oW^pjX3u^;shci1_w)HJ zsZwlx&J&_Go2T;RD_ISBoc-K&8m=5s;`@`35nc)xAkT@uCS93zJ2;i`H=Aq z?SZ0zp;Yi+in^J$r#Yp}*KkDrS)QI|zN2jRA`kJO0xztHH zhoNj-4a&Pg<$^j)=7!RgmN1>%P!Kfr9BV&p{V$GSRG4{nG(;{2mUAFaRSLd(M-`xyk zGbST+=0?Pgc4cx1UlXtJf{@9*0cCI$*9H}pvvpgy0-_UKvOv9-)O=`^>fh*$PCCjh z{e|e9x~qcx*hXBzU?KPDt=B_CBJP(Y#djO5-c*3L)o6?N*0!}028wOZC&YtmeGdS`A{b1w5b|o`OHfs zPEm$O^?c;`*gWx+p?nZLvi*7F+IXE}(DeI7+uCDp`z5t~>Yw#zg+FH<+G33>7IOdq002ovPDHLkV1nEY B^N|1m literal 0 HcmV?d00001 diff --git a/textures/loud_walking_control_wall.png b/textures/loud_walking_control_wall.png new file mode 100644 index 0000000000000000000000000000000000000000..74c9e84dcffbe17813bc9a29fb23345e195a12b4 GIT binary patch literal 1193 zcmV;a1XlZrP)^%}sKL-2WV2dsiYk10WAWvEn?MQc+dZ42J-^fo}Qx zuYbbBS;`mO4U0z6iRK&4HH?l?xXeI(}<5K5ZBA$Q+VQ9!6^Vz-r~na}pllE3iT-VsqOY&@uyq?z5e zBdZ2Lk_^D^D=KMRD9uOENfQ!+<22t;QP%#6j`A#6^rKwD)*sX~v)Y5DyiwDPhf&i6 z0?l_sgzh`d8y*e>HBG2wJd6k@fFJ;f7GYWE=#|2e#cB9>%?V<=H=|X&&XbZS0M}!%z|t4uFS`U?OmgkNrDY3wg>nA{-CH z!tk&Y&;PQ&XkoMGQ5~nI`3%gW)4h`<0m77LJUSMJc_&Fmb(B77Ibji$+-$|e5z!N$ znr0%L)gA~6NA@C0;77JkKmf>E@$e(i%I@RLECm-3QL>g1XzU1zN@mG-vW1~C@D-qY z$HPW>w9x;@^0C)h@{Qe|6rC_1RT^EeAt*)jS<9RG?FD^FnR5tqn8198*9k;6{UM4YaN+;J9|IE4_*W{&7%!HoZUAf{ABwJjyc^Z zTCwO@G!RZ+ygH!hgouv&BkYnUy6@*%9)@{4iR$4z+7DDm3@7%lNO#-lzO&hSPQN+b zAvnq%?6$JmlOV_kM1oLsKA@AM|3O5Kkvvh;ShwitvwxDc5)2|H%}4nPOMWA3IY_u3 z`Y_Cc16h@4##5p-|Aa4Ks>=X}GXlcW&g=pi%BHyq>jnbHjq z-s+!2RMH&}ggwXGz1xyy{hLCami2Qt9qU!U-A=rRnM>b z3B9W4SN%jDk^R1&U-c9Ds-C|D=6C%>zN+Vs_T!SD$Wyvq((|i+B8$i+Jr|KnenPM6 z`Bgumm-YOjpU|s%e$`LtRXxAzC-kbGU-c9Ds-6dN$xr+XeveqExaK9w00000NkvXX Hu0mjf@Z%~g literal 0 HcmV?d00001 diff --git a/textures/loud_walking_strange_growth.png b/textures/loud_walking_strange_growth.png new file mode 100644 index 0000000000000000000000000000000000000000..10afd9a39e388ec65943921cfec5fb42c938db92 GIT binary patch literal 1698 zcmV;T23`4yP)=g3*W(f`cXCIwz2L10IF9LjsStrnjo@S~{yLm)L{DJVCy~fA~N6 zuebl4@V*WHzlW=nWLnzlOwKCXRK8`1Vu(VFF1m%vcvzxH~&Qv2-V2Jv(_ojFr zV(haXg*YS91m}Yv(Cn+;DFEO_c5)%-pPNO7lY(X(v6LhunnQr_-_PFJ;P_7~@$ZJOAM}$A?p1!Vwfh+#F7-CV2qAnj z2ZqVd#rC$AB>7n1LI7H?Gm9cqzWbiP}+)NG8MztYZtx5{FxX72p-h7pjnT|j3fkNf=EtN zhNzE0V6K8GXtpss6D*>TEY(I5@ooR>kJYX6h9d?5XuTfL>`cyUr>>g^?M+I=>*5!+ zS36TZPmgmdmullc^Y@HH;e?NJ1ksfXI?x*UupxKo7 zLkufj7A!N-N-SLTFS3&W;#Ix;Qr{zp2CTPKTO0kEoKuKz+Q$U(l!(f;ZO|*dyKWu= z2$$)zwb|i6On#$-NwFXZSFUA<+_aCUauz^HkZ6L^!R~D}6GI3=1fWNx2{yqD0HA}} z=-o*&;g~T*cea}GA;-)Hdm)c@uF8o-1Db^xZS(@M2;!5iPLpYZIRvmr<&+Psw;ZvB zS~Em1gfl7+uG!cJU>SsP=c*860Fl_}OLK74+29MBLI42( z3{f4-!8RD86FL1*-As62Vo`gggITKWh!p`ufha||vW>)IK(oDTCVX(PH9@5H#&}z~ z79Ct8iI|H~05QZEL9D$h&7pRRAyRv_v-OA-Pp0}%-85bui7^BaLv)->IA#EVCtI0d z-&fZ&F}QA)HhKb)5B_EE^f;N|zZ`vca4ms&$coxG%G;GGQz9aWYqOj1egJ_WT#)pa z`GpVR$?lKD7$cOCWUb4+t;f8NAnemjd9yO*tNdbPc72*X=%+qS@vrjBj3gYhl`daHDwldY zpuHw2f^eVpP=*tZ=$IFcR};}k5H?PoB-7UEoJt7Lkmbi>%n$(pG+sa1iXn;soQsk2 zMqpZd_3Pq!<68hgMr4QqLp0?>9UOuX|LyD@MZ^cMgI%aijB%cfIAVL(2+T&TfDrst z-A?%c08r5Ms<}@|VuLGfb<;jzhy-RS5huw^2Rq`q4Ss9)CKwwWM+|>A`o>2OAymPP zSYe~X0Ntx~N)iT18#DxPZA#@0gvdufWW}>&+#~6u-k!_34t6ev2V38%6@;+$Is$+p zT&V3#3^<~w>)*Tjf#1!4+v)E!G3@5Yo8m>Mzq{x<`GJ2JzwPw*y{$X>f&X#-=T3hg zuwExW@SmpN?o4$q=NO@tE-9jwS4*`S(4LKMNP9ghGa^4!w>H>$OpC zZ)*hM%j|TaHVl!M+3BKPzdu}0cz?_a6YS4^v_TgnOEAAkj~>+aOTDL sdeH`ry8gYZANX}~+3D{+Dm(e{e+K|;p+|%4)Bpeg07*qoM6N<$f*I&7-T(jq literal 0 HcmV?d00001 diff --git a/textures/loud_walking_strange_plant_1.png b/textures/loud_walking_strange_plant_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e3f615f5b8010f138c8012a7efb2c3fca0420975 GIT binary patch literal 719 zcmV;=0xxIoDu>l96>}5iN_TZ1erobu*!kyL;@-Vi-7-t5J6(FvGAj?(Q1NU>8uP`ElAYn z4x)poK{zFehpdGYS(csbUb1^Wu*|#r&c`#)yz|a1{Ac8%J}Myxfa^dN=mvHJ)4*kI zyx*A;P(nTe3cv_(0Qd#m0}caq;G8yIJxc;lfqmL|2P1rofDatk#%rWOU`uF#?Z7Z_ zB&xDD-ddnmPfX7ns$?TXi+i#v8G5(aItyuK?d{>4Xw;ND1jHA-Anlr=Wy9 zp@hsQRX_n#HUOvWyGw-yYufU_RuVk0Jc7zq>D-yl&^a zdY%E-wDEjkG*EvuP5~8CK*cqY8^gxp~XJhrpn6{u1V^jD8lKm%8SC0pt^0$)~t z02Gyw!@${mSI?w2-seD-Jr3KM2W|p8ZJ87;V7%E{A)?(!hwUWL7HkX*0jKj_JyY6v z;lO?2u+t%6F=jL4-3Z?Uhy4#}Fli8|0E@1i?LxD)f;QgsGziStY&DZoaJEIDFMKnqmCAm{ z2-HgDCU6EA08Z6PkEhsMt(O1*`@SDnV|T*v=Xs>Q*!WVgq0xQ*Yj zZJ5Qi+y%c46=|o>LNklP`93T*}g#$!j8{e+a=iS+z zN59I!?96uW?A~FSfM6@xt?udSufDIU8ra&_wzjpc{on2Qu-OT zcRkk_U-f~`C)nw$jr*_8GyM72tIqnh-Q>Sz;)@5r%ANa}`1$)!2|(wv@kNEb57O4Zb@!1B_YT|dk55je$i}U|>AQCl zs>sG0_lOm|TY~h?gScBerno>keX(RXk~K$N0CBL@6sEX< zcvs67m@@^ODX@R^(Gq|uF1oE!O<~FjoGk-cUaVm8C}(FKNvzIc^$far-HAKczYbeX zBgxsB9Od+R5ZMC_-9d)l>JA$r1I)=XYmrWkG&6vc0m7tto$lV25D}RCbwqI(w3?6M zorxt_)P;8%;_aG;?HtY&m%jzJnnApSx8+I~T>fk@rx5WFZ{chSk$7}ZM^B;BowgR* zb72+>ZrfrBvry?Us)<^y<$j|%tKM3`&J^%YFaGCo8`>(v&D#&p036lm1m0;dC%Ae0 zp)}Ms!RuMCK^%55LBzF}00dJ`+Vg|`>&Qk=Ktxd@NfSu?{D?Tw))c*F@=4HkL>wJ- zwnWm~Z7%qmSV5d=sV7#ojKCZ~KN~$s009uUCVl+bcjBF{bs^Oj6A^(`uholHt#Q*0 zob-b35Dc%~Ks7t7C!#ncy9Cg3