From 43176144f9fb909cd5e86a19f51384a755145639 Mon Sep 17 00:00:00 2001 From: Duane Date: Fri, 10 Jun 2016 02:52:58 -0500 Subject: [PATCH] Add teleporter prerequisites. --- abms.lua | 40 ++++++ fortress.lua | 15 ++- mapgen.lua | 8 +- nodes.lua | 115 +++++++++++++++--- textures/crucible.png | Bin 0 -> 984 bytes textures/default_grass.png | Bin 0 -> 1569 bytes textures/default_grass_side.png | Bin 0 -> 1958 bytes textures/fun_caves_crater.png | Bin 0 -> 2199 bytes textures/fun_caves_grassy_crater.png | Bin 0 -> 2837 bytes textures/fun_caves_meteorite.png | Bin 0 -> 1982 bytes ....png => fun_caves_tesseract_iron_aqua.png} | Bin textures/image_credits.txt | 1 + 12 files changed, 161 insertions(+), 18 deletions(-) create mode 100644 textures/crucible.png create mode 100644 textures/default_grass.png create mode 100644 textures/default_grass_side.png create mode 100644 textures/fun_caves_crater.png create mode 100644 textures/fun_caves_grassy_crater.png create mode 100644 textures/fun_caves_meteorite.png rename textures/{fun_caves_tesseract_steel_aqua.png => fun_caves_tesseract_iron_aqua.png} (100%) diff --git a/abms.lua b/abms.lua index 7c914e4..c306a0b 100644 --- a/abms.lua +++ b/abms.lua @@ -241,6 +241,46 @@ minetest.register_abm({ end }) +-- meteor strikes +minetest.register_abm({ + nodenames = {"default:dirt_with_grass", "default:dirt_with_dry_grass"}, + neighbors = {"air"}, + interval = 100000 * fun_caves.time_factor, + catch_up = false, + chance = 10000, + action = function(pos, node) + local ps = {} + local players = minetest.get_connected_players() + for i = 1, #players do + local pp = players[i]:getpos() + if pp and pp.y > 0 then + local sky = {} + sky.bgcolor, sky.type, sky.textures = players[i]:get_sky() + ps[#ps+1] = { p = players[i], sky = sky } + players[i]:set_sky(0xffffff, "plain", {}) + end + end + + minetest.set_node(pos, {name="fun_caves:meteorite_crater"}) + --print('Fun Caves: meteorite impact '..pos.x..','..pos.y..','..pos.z) + + minetest.after(1, function() + for i = 1, #ps do + ps[i].p:set_sky(ps[i].sky.bgcolor, ps[i].sky.type, ps[i].sky.textures) + end + end) + end +}) + +minetest.register_abm({ + nodenames = {"fun_caves:meteorite_crater"}, + interval = 100 * fun_caves.time_factor, + chance = 10, + action = function(pos, node) + minetest.set_node(pos, {name="default:dirt"}) + end +}) + -- new mushrooms minetest.register_abm({ nodenames = {"default:dirt"}, diff --git a/fortress.lua b/fortress.lua index 8b17396..5de7d53 100644 --- a/fortress.lua +++ b/fortress.lua @@ -2,6 +2,12 @@ local rand = math.random local floor = math.floor +local treasures = { + 'fun_caves:stone_with_aquamarines', + 'fun_caves:stone_with_sky_iron', + 'default:obsidian', +} + fun_caves.fortress = function(minp, maxp, data, area, node) -- invisible maze -- hungry maze @@ -16,6 +22,7 @@ fun_caves.fortress = function(minp, maxp, data, area, node) local inner_floor = node['fun_caves:dungeon_floor_1'] local outer_wall = node['fun_caves:dungeon_wall_2'] local inner_wall = node['fun_caves:dungeon_wall_1'] + local treasure_count = 0 for y2 = 0, n-1 do --for y2 = 0, 0 do @@ -40,7 +47,12 @@ fun_caves.fortress = function(minp, maxp, data, area, node) end elseif (z - minp.z) % 5 == 0 or (x - minp.x) % 5 == 0 then --data[ivm] = fun_caves.DEBUG and node["default:glass"] or inner_wall - data[ivm] = inner_wall + if y2 == 0 and rand(3000) == 1 then + treasure_count = treasure_count + 1 + data[ivm] = node[treasures[rand(#treasures)]] + else + data[ivm] = inner_wall + end else data[ivm] = node["air"] end @@ -88,4 +100,5 @@ fun_caves.fortress = function(minp, maxp, data, area, node) end end end + --print(treasure_count) end diff --git a/mapgen.lua b/mapgen.lua index 13fffe1..0efba13 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -48,6 +48,7 @@ fun_caves.is_fortress = function(pos, cs, debug) -- Fix this to get csize, somehow. -- Remember that this function may be called -- before any chunks are generated. + local cs = cs or {x=80, y=80, z=80} local offset = floor(cs.y / 2) - 8 + 1 @@ -63,10 +64,11 @@ fun_caves.is_fortress = function(pos, cs, debug) local z = floor((pos.z + offset) / cs.z) local n = minetest.get_perlin(fortress_noise):get3d({x=x, y=y, z=z}) - if debug then - print(x, y, z, n, floor((n * 10000) % 19)) + if fun_caves.DEBUG and floor((n * 10000) % 4) == 1 then + print('fortress ('..x..','..y..','..zn..')') + return true end - if floor((n * 10000) % 19) == 1 or fun_caves.DEBUG then + if floor((n * 10000) % 19) == 1 then return true end diff --git a/nodes.lua b/nodes.lua index 8d05569..bae3436 100644 --- a/nodes.lua +++ b/nodes.lua @@ -159,12 +159,12 @@ local function teleporter(user, area, power) end end -minetest.register_craftitem("fun_caves:teleporter_steel_aquamarine", { - description = "Steel and Aquamarine Teleporter", +minetest.register_craftitem("fun_caves:teleporter_iron_aquamarine", { + description = "Iron and Aquamarine Teleporter", drawtype = "plantlike", paramtype = "light", - tiles = {"fun_caves_tesseract_steel_aqua.png"}, - inventory_image = "fun_caves_tesseract_steel_aqua.png", + tiles = {"fun_caves_tesseract_iron_aqua.png"}, + inventory_image = "fun_caves_tesseract_iron_aqua.png", groups = {dig_immediate = 3}, sounds = default.node_sound_stone_defaults(), on_use = function(itemstack, user, pointed_thing) @@ -172,8 +172,27 @@ minetest.register_craftitem("fun_caves:teleporter_steel_aquamarine", { end, }) -minetest.register_craftitem("fun_caves:pure_steel", { - description = "Incredibly Pure Steel", +minetest.register_craft({ + output = 'fun_caves:teleporter_iron_aquamarine', + recipe = { + {'fun_caves:sky_iron', 'default:copper_ingot', 'fun_caves:sky_iron'}, + {'fun_caves:perfect_aquamarine', 'fun_caves:perfect_aquamarine', 'fun_caves:perfect_aquamarine'}, + {'fun_caves:sky_iron', 'default:obsidian_shard', 'fun_caves:sky_iron'}, + } +}) + +minetest.register_craftitem("fun_caves:meteorite", { + description = "Iron Meteorite", + drawtype = "plantlike", + paramtype = "light", + tiles = {"fun_caves_meteorite.png"}, + inventory_image = "fun_caves_meteorite.png", + groups = {dig_immediate = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_craftitem("fun_caves:sky_iron", { + description = "Sky Iron", drawtype = "plantlike", paramtype = "light", tiles = {"default_steel_ingot.png"}, @@ -182,6 +201,76 @@ minetest.register_craftitem("fun_caves:pure_steel", { sounds = default.node_sound_stone_defaults(), }) +local newnode = fun_caves.clone_node("default:stone_with_iron") +newnode.description = "Stone With Sky Iron" +newnode.drop = "fun_caves:sky_iron" +minetest.register_node("fun_caves:stone_with_sky_iron", newnode) + +minetest.register_craftitem("fun_caves:meteoritic_iron_crucible", { + description = "Crucible of Meteoritic Iron", + drawtype = "plantlike", + paramtype = "light", + tiles = {"crucible.png"}, + inventory_image = "crucible.png", + groups = {dig_immediate = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_craft({ + output = 'fun_caves:meteoritic_iron_crucible', + recipe = { + {'fun_caves:meteorite', 'fun_caves:meteorite', 'fun_caves:meteorite'}, + {'fun_caves:meteorite', 'fun_caves:meteorite', 'fun_caves:meteorite'}, + {'fun_caves:meteorite', 'fun_caves:crucible', 'fun_caves:meteorite'}, + } +}) + +minetest.register_craft({ + type = "cooking", + output = "fun_caves:sky_iron", + recipe = "fun_caves:meteoritic_iron_crucible", + cooktime = 30, +}) + + +minetest.register_craftitem("fun_caves:crucible", { + description = "Crucible", + drawtype = "plantlike", + paramtype = "light", + tiles = {"crucible.png"}, + inventory_image = "crucible.png", + groups = {dig_immediate = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_craft({ + output = 'fun_caves:crucible', + recipe = { + {'default:clay', '', 'default:clay'}, + {'default:clay', '', 'default:clay'}, + {'', 'default:clay', ''}, + } +}) + +minetest.register_node("fun_caves:stone_with_aquamarines", { + description = "Aquamarine Ore", + tiles = {"default_stone.png^default_mineral_diamond.png"}, + groups = {cracky = 1}, + drop = "fun_caves:perfect_aquamarine", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "fun_caves:stone_with_aquamarines", + wherein = "default:stone", + clust_scarcity = 30 * 30 * 30, + clust_num_ores = 1, + clust_size = 1, + y_min = -6000, + y_max = 31000, +}) + minetest.register_craftitem("fun_caves:perfect_aquamarine", { description = "Perfect Aquamarine", drawtype = "plantlike", @@ -192,11 +281,9 @@ minetest.register_craftitem("fun_caves:perfect_aquamarine", { sounds = default.node_sound_glass_defaults(), }) -minetest.register_craft({ - output = 'fun_caves:teleporter_steel_aquamarine', - recipe = { - {'fun_caves:pure_steel', 'default:copper_ingot', 'fun_caves:pure_steel'}, - {'fun_caves:perfect_aquamarine', 'fun_caves:perfect_aquamarine', 'fun_caves:perfect_aquamarine'}, - {'fun_caves:pure_steel', 'default:obsidianbrick', 'fun_caves:pure_steel'}, - } -}) +local newnode = fun_caves.clone_node("default:dirt") +newnode.description = "Meteor Crater" +newnode.tiles = {"fun_caves_crater.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png"} +newnode.drop = "fun_caves:meteorite" +newnode.groups.soil = 0 +minetest.register_node("fun_caves:meteorite_crater", newnode) diff --git a/textures/crucible.png b/textures/crucible.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3441228f64a8246b3ecf759abaff67cd5c341c GIT binary patch literal 984 zcmV;}11J26P) zK~z}7?N-lAD@Ppv%*^gagGlg@g8zhvf=4TY2%dy`5G0p?N1?Y$A<%xMGY+Y)p1`W@mbMZr*BrJfV4~<^x~$yR)^%@X`Uc>F0|GlglI}Bq?Frp zb8|)NIF6Q5{#dP60f7A%f@eaRrpYfaFTVx=3IMrW?$mYNmz;Cx`(g$)Z8J1uj0ho4 zlF8)W_V%`A+{;oQ8XEfL?(Xhm(=^|k1cVT27=~Fcmp=!9VzDUc%E}4=AfL~_YBrmH zNGXF_wKsLGHKmj&r7BZXQ$OW$IV+pZDkGoILn%clrB0zx_^qd>XCNAlzK;_4mSq_? zH#c7bz}eZEzqz>yy0o-}-Q8UPz{$x;mUCW`Qnp=w#u)K^ADr`VcXoD|ZQFh(lYs#M z8yg$ibzP&Yt1Ewacv$G}?jB~0wYBpprOb8R?>Og`a=ENVMn*6(G4VQpOeO={wiN)J zpPw(rVzG~+(WnB@)+mG!-zSqvF*7p*+qMDVbpWYU3VnTj%JV$avaFwvj*c!Ok;n&a z>I2Ofqnz{KZ*Ol80AP7}xz*$b0Ho7t0KnkjpauZPaTa5-*cXg38O(WVS9|Vix&Ifu zOe7N505Cs4|7KeboVB$z?CL`f@uZYi_)HK!4^T>>lzMO;2$?2?kVd1C zot~cl^Xlq~q|@mKk<;+a`1m+RM@RkD)m1V)JiK^%dOCZ3eXZ;DI_mX0n$0E}jRsuT zh39z?LcsI9x0#kwHcO?_r(V})bQ#QBbMaHK!tX5s<+zpPFqceD2W1iewe6I zg=ND?%P|kHF8H{+tLAgqZc8oRA7j1KaR|EOq{ME_?N7A_F&hR2Tb?em z_TJWSZ2x8Aim)X%q>b8aOlG8u+X6_YUUZE)NEBGk(A^ni(w&w?;w;CnGa0tEI(%{^ zkUORAwL!x9Tn^ zdyOgP>-W`k4DHUG_6uf}N!%%DMSwURgByV=Jbs=?BrTw=8jjvtb^1JM%OrGq^@bn? zu#NW4*PYg_PC2Q1TWsH(rBBcQ8Lxk-zkHa=M(Yy&oJrwnhz-DIr_U+CoNcX5qx=$w z!%|nAwKR7Im`G7qB4kVyQ4k}b!s!s$A!+9EC1OQ4zqI|Q34Fp*afa-YZmGQ~XP1UY zAAMFO-@LcZrDez$Zz@%>-v`LF4B`BBO29Ftc4t&a=C(Y49Q}~7QfeMk_pThDmgoIc zce?E;L>zl>YZV>XT3m_UZFxF`{o}lUTAG@h){M_HC|%!`9HD>kg+@quSs*Sh<-80D ziLUO|@Url`-?rI{v7``}IkLw2+fv__NyHcoi})bvoXac4A|PO`5ieL$g3Jzvv)^7> z)`VKQ!PggB8Ok2IJ3SAgn}W*LNKQURWrzjcIo3A?7sQCVW_zI_h?L@L^S*F-H~ zQCt#-kp&5rML(zcxK!jWOhEq5yFx$u8Z?) zU;t%N<{%FDj}Cwkv(n1c%FSX5++OOUT$T#!o5wJoTPS&Ir@dH(imE0HfNNiysP#IG&gGssKb&u|N2E4z?>8u&T8S z(H+CZ+s!a~vnj`YC>!R>AFHBN+VFJraY;q3w%^(Qt1Am4ln`ZjT!bjP6c))jD?>vc zFwuPQoA-4(MsD!*xYRAreK1xH2Vd1ibWt&vji#akqp{km=)`Ufpe#%1u8PG8SDF#c zR_(3}t(isg0&V~{z##U@fXl{En(^kRdUiPjXlruLz|eLo`3NZd>p$;AL(W-T>JJeF zyUPL%FJm;C%B}!`{$XxAt%Qn3^1H=CJAy{`FtCf-)Xl zWf^NSmQXP%t}0ZTBZyHdyJR+M>H|A88+H9drHJ<*=iOWT_+c(Ao0_5*1Q_R}2%4P^ zEVy0y8d}H?xO}U8mDtOeVLarExkK_@y-*Y2_~yrQmG9b`Re$^+tMGCo T$t0vI00000NkvXXu0mjf9LM|V literal 0 HcmV?d00001 diff --git a/textures/default_grass_side.png b/textures/default_grass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..338c688c32b3de3eb182bd3d1e4058460a5548f9 GIT binary patch literal 1958 zcmV;X2U+-uP)JC9yh6^5UEJJ;_v zW6yYe$;Cij@Dl5UD{jP=Xu3zKYby$i;5g0`*%8~TP3dZR2N!O9|(Oy zYmiEiQX<4mcjQ=XR}_tAeQ422AS#LLJhC*{A=1tbc4;xSK^77jGaA^x+anuISt|-9 zkmE^WeQ5D6u(8uHtUU91g~<+g5@gAbYLCCyZG z{z?nL>`G00v1WO%M>P^Llc+*s3e9v{kd#1fUMN9k`enwng5)zH!?=RQPJvJovoPc_ z6Nb#mrvtK3)UD=t*HR&|r;+(qfslgX)Dc&K93uy}I^u!n!YfmjpEyqMJIth@G?{9l z$RQ#7&QmH$Ig=dSw`^Q)KtX@(>AOH2JOYVb1tuF6+b=cvL&v!EY+SB6S$djn#lhVX zWdy2}1Tsafs23VBh0}eD)L=?UGc5?f;jJ~v3*<05miI=6L&w&0HMR@1Q%x2L-+^_B z;lv>`B%3(B@90i5!U*<0T%ts#+w+u_rdxSL6fAc;!jRBHaddY?`!A915j^GlyQfyzXu{JWU6Pp(sbfa)b9+G5Sdsd(JL=+)LW*Y^1At^3YtUm5= z>x5`DdgvmH7b?03Bl|}^?ZPlyNPG}a(5=RYNIZtM4V>Gli9Uf+MCWL?3^`_!7fiP_ z{VGw+Yh*Pm$SLANKo=5~1$Gr^w@XwhQ9@u^MZIajXL6OX4?J2MHg+Zilc5%58_8A> zR7OaFt_5z045t>Y1=&G4DUmu8*O>_96p$`@hA!ay#HtGvjlxV6QV1%gur3lh@MB_g zt7LWPQGl)mdGKT_INGy-M2LhonxfU%Aybrs`8h*bDXI-g=mSz{tP9XN?1@9B&Qq3} z*=B`Ekc7Y_i5n7b?TBMWnv5F*T_2cD4c#hovOCb($mD!Ml^`m?G^`>6XOu+jxD20h(d6@H&E3YAq5nY za=T*t8xxw=usZ5lJYP|i5>*PqiKkmzs+plMipBYg^~&Mbf!Vo+prPEXIN1v*Es@>6 zM@faqiq-yz>pZ%YY`rq2I|>+}FoJ&NIlVV9c9C&uIl1SsE?`Q<^28B`%<}F)eWk$& z2|99mI3QKRE&1sY;R!6otkZgDjiR1~hX`u$g*ZfXIxaXK}t{v>DYHln@ki z&Bj)VF$$G4X#~3lRe&N>pD(~Bib4_x!S>57gH0sB)CDOeP%v9)q6;80a(=EwHWE7q z3IoUYEyF6&)&@P*2njMny-`xNhJ$~1G^L;vipktC9*u|~aVfGou-yA#Mdt!l0t75x zs4)wLnF&mz84d@ImX44>^a(jEExC(Co5>PpTP0aS-$j<6c9gXuYl&NVN+F0Lad_ld zyTI6ark5&aI}P&-H8~_UFP10?VWAn|MBbF*8#r!vzKl>i|5{$uk{mu`}Iek_5b9>8_)6+;ybUum~+TPlkp+( z&p+P1&KGeL;F~|Z^4{zr&%49GbW1aK8C@CP`rWPT0N?-l%QxIQ(vN|6-~3$TCcyXJ zxcXkOnZZTg{nPGsfY)As?#9?hVnbKy8r+H07*qoM6N<$f=ro~xBvhE literal 0 HcmV?d00001 diff --git a/textures/fun_caves_crater.png b/textures/fun_caves_crater.png new file mode 100644 index 0000000000000000000000000000000000000000..31793e6a63ce25145a6efbfb9061d7ae50e85c46 GIT binary patch literal 2199 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

b7K?2%esw za%Byz@pPd^B{0ci>bj#5hIgw2ciWcfa*BGK5~UH=4U~6le5VMNN5_K6vzTb2+1$5$ z|GOPBi~@#cKxZ1S9BymbKeS9|F)C1OZ%fMGUNJu&_-qJ>Ue0*^voqo>qnn4Ee))(X zjCh+uy z865W>!z2(UwBu_n&lyq(&97*Cxv){DnLDDsjrfD(z z3L6+qYpH5Wkq1-<$L^}3G7feAMe=nqk3a~*RMBlanx-e2L?{Wxd4lL0Z0$+LieqPy zLa?cO7EcO}Qb6bMaAfkiEz$?66ic+`aD8ffes=?x$6j| zrYsvKuSU3c6==u)re$^-(Um=!+OYjj5Nl0qEYm;{Ay5a4ia`U7^Q?~*$)X@zv}}HC zNOOe>1ofe(x;KR55OBCoA%#bpBd8D*o@5?^83;p(YXr*|8ExkofFO$)h5`)L literal 0 HcmV?d00001 diff --git a/textures/fun_caves_meteorite.png b/textures/fun_caves_meteorite.png new file mode 100644 index 0000000000000000000000000000000000000000..e29fd336cb18983c55f0faac0a8a7d7215276da0 GIT binary patch literal 1982 zcmV;v2SNCWP)x@&6z#h zXk5Q~8UU<#ejx#Xml{@mcgc6{-Ua~J+BlyFfN9en-#B&5Fg9gW9UELy%tGY>_VlzT z*}CWEt@t*1xI0}u|J-T-Kt+XHnfUmakGoph*DE$rFOzH-SrtNGA_0Sl)KL`PzOG^Q zN&wifVH3Gqf!hKO>{*Ms3tz_M38T#wmF4n@ljp9dv#P^sv2YU4!7PgK$PV1^myqz* zp{m>m5W@0__^U5$+W6w8%^OJ0;Mumu^>;6@V&xL-*#0^I;LV+jYxnLycDA5%=6*E~ z!DK-;+lQdjiGbIGBFTiR@iQSyHi%X;(-}y6d)wa4>wdX#&Em!8@F2I=eKXE#>W5+a ztY`nf64-1!0ASY4M{8gI-SLY$g`gS~c8e8OLxt5O!r%zPCB-=1as#Z;2coM;C6dGh z0**7!-@5tb4~X4jU9hZ?876+fEsu9U>xxlLD{zH^ z3Q6E0+wJhk60)2C6E)D(*@;;*eu_|_49;Q~oE{%!hYi=yod-!o5NGO^HCuPA-Mncn zaWcx5Yg=>(MOTEXHQgh+4tO2fYW`8x>+ z0C4gjCs<3%*;q2$4_!#G9@PMYhO9xs7gQX-*bCldLT@GwuS)@?6uOoL&vYcSS>&^Q zDD}8uHXN{V6zN0+6<#NLhmV4g?y+uPw)Euh-#s+`>8GZX`f(%ZlT+t>xd%QvzK<y6`Yy?yBR5>(dA007hs_8c}_M55~bNN2O4 zYCrmNDtZ%fP`!X+n+?%a8XeJYRFst>n@u5|PQl7wv+WjBu2|IQ++Vo;~;3 zzezY$cDukkM_SpO84n58T z8Qrl203A8afE5&)szC*X6dr=6%gyNg*J;F?FQYq|L9womJn)ADtm*14@}(yHoFvk{ zDlS}Z)$gkgbDw;2>2Cm(>YRe#$Rvy%em`zp zy9Snuqt`4#a4FEeK}O7$C;$k&>CV65K!n0WMj6aFqiY3?FlypB9%i1Q)E9Xh_D0C z`=FXLR8c`nOWf4qavSHbb^LkX8$0JR#y|-9Znx%Pqko9{x?#ds|Cd!SH3m&JbEW?t z?EK9>9snlKUhwrh;Wy0G=caA$Z;n Qw*UYD07*qoM6N<$f}HS?>i_@% literal 0 HcmV?d00001 diff --git a/textures/fun_caves_tesseract_steel_aqua.png b/textures/fun_caves_tesseract_iron_aqua.png similarity index 100% rename from textures/fun_caves_tesseract_steel_aqua.png rename to textures/fun_caves_tesseract_iron_aqua.png diff --git a/textures/image_credits.txt b/textures/image_credits.txt index a060fa9..e3cca53 100644 --- a/textures/image_credits.txt +++ b/textures/image_credits.txt @@ -1,3 +1,4 @@ Original spider textures: AspireMint Original goblins textures and models: Francisco "FreeLikeGNU" Athens Original tesseract: Claudio Rocchini (cc-by-sa 2.5), https://en.wikipedia.org/wiki/File:Runci_trunc_tessaract.png +Original meteorite: MeteoriteKid (cc-by-sa 3), https://en.wikipedia.org/wiki/File:Oriented_Taza_Meteorite.jpg