From 71d289d98e12401ffca3d0aee54b3a55b92fd68a Mon Sep 17 00:00:00 2001 From: Migdyn Date: Tue, 22 Nov 2022 15:32:50 -0500 Subject: [PATCH] Changes to pipe bombs, cops, and node groups --- mods/ip_cops/init.lua | 47 +++++++++----- mods/ip_elevator/config.lua | 2 +- mods/ip_explosives/init.lua | 4 +- mods/ip_more_fire/pipebomb.lua | 69 ++------------------- mods/ip_roads/asphalt/init.lua | 2 +- mods/ip_story/init.lua | 19 ++++-- mods/main/nodes.lua | 1 + mods/main/textures/gui_hotbar_selected.png | Bin 2848 -> 992 bytes mods/main/textures/main_stone.png | Bin 487 -> 558 bytes mods/main/textures/main_swamp_grass.png | Bin 489 -> 295 bytes 10 files changed, 56 insertions(+), 88 deletions(-) diff --git a/mods/ip_cops/init.lua b/mods/ip_cops/init.lua index b30eef7..7af1e60 100644 --- a/mods/ip_cops/init.lua +++ b/mods/ip_cops/init.lua @@ -1,6 +1,13 @@ +cops = {} +cops.copsSpawned = 0 + -- Pig spawner minetest.register_node("cops:pig_spawner", { walkable = false; + drawtype = "glasslike", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, --[[on_timer = function(pos) minetest.add_entity(pos, "cops:cop_regular_female") return true @@ -11,7 +18,7 @@ minetest.register_node("cops:pig_spawner", { end,]] }) - +--[[ minetest.register_abm({ nodenames = {"cops:pig_spawner"}, interval = 30, @@ -29,25 +36,27 @@ minetest.register_abm({ elseif i == 2 then minetest.add_entity(pos, "cops:cop_armedthug") end - end}) + end})]] minetest.register_abm({ nodenames = {"main:bricks_stone"}, interval = 40, - chance = 50, + chance = 140, action = function(pos, node, active_object_count, active_object_count_wider) - newPos = {x = pos.x, y = pos.y + 2, z = pos.z} - local i = math.random(0, 2) - if i == 0 then - minetest.add_entity(newPos, "cops:cop_regular_female") + if cops.copsSpawned < 20 then + newPos = {x = pos.x, y = pos.y + 2, z = pos.z} + local i = math.random(0, 7) + if i < 2 then + minetest.add_entity(newPos, "cops:cop_regular_female") + elseif i < 6 then + minetest.add_entity(newPos, "cops:cop_regular_male") - elseif i == 1 then - minetest.add_entity(newPos, "cops:cop_regular_male") - - - elseif i == 2 then - minetest.add_entity(newPos, "cops:cop_armedthug") + elseif i == 7 then + minetest.add_entity(newPos, "cops:cop_armedthug") + end + + cops.copsSpawned = cops.copsSpawned + 1 end end}) @@ -79,7 +88,7 @@ mobs:register_mob("cops:cop_regular_female", { { random = "female_noise", }, - + on_die = onCopDie, walk_velocity = 2, run_velocity = 8, jump_height = 1, @@ -136,7 +145,7 @@ mobs:register_mob("cops:cop_regular_male", { { random = "male_noise", }, - + on_die = onCopDie, walk_velocity = 2, run_velocity = 8, jump_height = 1, @@ -193,7 +202,7 @@ mobs:register_mob("cops:cop_armedthug", { { random = "male_noise", }, - + on_die = onCopDie, walk_velocity = 2, run_velocity = 8, jump_height = 1, @@ -220,4 +229,8 @@ mobs:register_mob("cops:cop_armedthug", { punch_start = 200, punch_end = 219 }, -}) \ No newline at end of file +}) + +onCopDie = function() + cops.copsSpawned = cops.copsSpawned - 1 +end \ No newline at end of file diff --git a/mods/ip_elevator/config.lua b/mods/ip_elevator/config.lua index 36122e7..00eb5b6 100644 --- a/mods/ip_elevator/config.lua +++ b/mods/ip_elevator/config.lua @@ -32,7 +32,7 @@ elevator.elevator_recipe = { elevator.tiles_elevator = { "elevator_front.png", "elevator_panel.png", - "elevator_outside.png", + "elevator_front.png", "elevator_ceiling.png", "elevator_floor.png", "main_block_iron.png" diff --git a/mods/ip_explosives/init.lua b/mods/ip_explosives/init.lua index cb1bfcb..fd63db7 100644 --- a/mods/ip_explosives/init.lua +++ b/mods/ip_explosives/init.lua @@ -148,12 +148,12 @@ local function calc_velocity(pos1, pos2, old_vel, power) end local function entity_physics(pos, radius, drops) - local objs = minetest.get_objects_inside_radius(pos, radius) + local objs = minetest.get_objects_inside_radius(pos, radius * 3) for _, obj in pairs(objs) do local obj_pos = obj:get_pos() local dist = math.max(1, vector.distance(pos, obj_pos)) - local damage = (4 / dist) * radius + local damage = (4 / dist) * radius * 8 if obj:is_player() then local dir = vector.normalize(vector.subtract(obj_pos, pos)) local moveoff = vector.multiply(dir, 2 / dist * radius) diff --git a/mods/ip_more_fire/pipebomb.lua b/mods/ip_more_fire/pipebomb.lua index b0a036e..cafb98a 100644 --- a/mods/ip_more_fire/pipebomb.lua +++ b/mods/ip_more_fire/pipebomb.lua @@ -9,64 +9,7 @@ local playerWhoThrewObject = minetest.get_player_by_name("singleplayer") minetest.register_craftitem('more_fire:pipebomb', { description = 'Pipe Bomb', inventory_image = 'more_fire_pipebomb.png', - on_place = function(itemstack, user, pointed_thing) - itemstack:take_item() - minetest.sound_play('more_fire_shatter', {gain = 1.0}) - - --smoke particles - minetest.add_particlespawner({ - amount = 400, - time = 0.1, - minpos = pointed_thing.above, - maxpos = pointed_thing.above, - minvel = {x=2, y=0.2, z=2}, - maxvel = {x=-2, y=0.5, z=-2}, - minacc = {x=0, y=-6, z=0}, - maxacc = {x=0, y=-10, z=0}, - minexptime = 5, - maxexptime = 2, - minsize = 5, - maxsize = 20, - collisiondetection = true, - texture = 'more_fire_smoke.png'}) - --more smoke particles - minetest.add_particlespawner({ - amount = 600, - time = 1, - minpos = pointed_thing.above, - maxpos = pointed_thing.above, - minvel = {x=10, y= 3, z=10}, - maxvel = {x=-10, y= 3, z=-10}, - minacc = {x=2, y=2, z=2}, - maxacc = {x=-2, y=1, z=-2}, - minexptime = 2, - maxexptime = 3, - minsize = 2, - maxsize = 20, - collisiondetection = true, - texture = 'more_fire_smoke.png'}) - --even more smoke particles - minetest.add_particlespawner({ - amount = 400, - time = 1, - minpos = pointed_thing.above, - maxpos = pointed_thing.above, - minvel = {x=0.2, y=0.2, z=0.2}, - maxvel = {x=-0.2, y=0.5, z=-0.2}, - minacc = {x=10, y= 2, z=10}, - maxacc = {x=-10, y= 1, z=-10}, - minexptime = 2, - maxexptime = 3, - minsize = 20, - maxsize = 2, - collisiondetection = true, - texture = 'more_fire_smoke.png'}) - local dir = Vec3(user:get_look_dir()) *20 - minetest.add_particle( - {x=user:getpos().x, y=user:getpos().y+1.5, z=user:getpos().z}, {x=dir.x, y=dir.y, z=dir.z}, {x=0, y=-10, z=0}, 0.2, - 6, false, 'more_fire_smokebomb.png') - return itemstack - end, + }) local function throw_pipebomb(item, player) @@ -130,13 +73,13 @@ MORE_FIRE_PIPEBOMB_ENTITY.on_step = function(self, dtime) self.timer = self.timer + dtime local pos = self.object:getpos() local node = minetest.get_node(pos) - if self.timer > 0.01 then - local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 1) + if self.timer > 0.005 then + local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2) for k, obj in pairs(objs) do if obj:get_luaentity() ~= nil then if obj:get_luaentity().name ~= 'more_fire:pipebomb_entity' and obj:get_luaentity().name ~= '__builtin:item' then if self.node ~= '' then - explosives.boom(pos, {}) + explosives.boom(pos, {radius = 5}) local damage = 1 obj:punch(self.object, 1.0, { full_punch_interval=1.0, @@ -147,7 +90,7 @@ MORE_FIRE_PIPEBOMB_ENTITY.on_step = function(self, dtime) end end end - if self.lastpos.x ~= nil then + if node.name ~= 'air' then self.object:remove() @@ -172,7 +115,7 @@ MORE_FIRE_PIPEBOMB_ENTITY.on_step = function(self, dtime) }) end - end + self.lastpos={x=pos.x, y=pos.y, z=pos.z} end end diff --git a/mods/ip_roads/asphalt/init.lua b/mods/ip_roads/asphalt/init.lua index 958cfd5..90e73fd 100644 --- a/mods/ip_roads/asphalt/init.lua +++ b/mods/ip_roads/asphalt/init.lua @@ -4,7 +4,7 @@ minetest.register_node(":streets:asphalt",{ description = streets.S("Asphalt"), tiles = {"streets_asphalt.png"}, - groups = {cracky=3} + groups = {cracky=1} }) if minetest.get_modpath("building_blocks") then diff --git a/mods/ip_story/init.lua b/mods/ip_story/init.lua index 257727d..18b5169 100644 --- a/mods/ip_story/init.lua +++ b/mods/ip_story/init.lua @@ -32,27 +32,38 @@ end minetest.register_on_joinplayer(function(player) + + + player:set_physics_override({speed = 2.5, jump = 1, gravity = 1.2}) + minetest.show_formspec(player:get_player_name(), "story:story_formspec", table.concat(getStoryFormspec(0), "\n")) music = minetest.sound_play("4K", { gain = 0, - pitch = 1.2, + pitch = 1, loop = true, }) minetest.sound_fade(music, .1, 1) player:get_inventory():add_item("main", "more_fire:pipebomb 48") - player:get_inventory():add_item("main", "more_fire:molotov 48") + player:get_inventory():add_item("main", "more_fire:molotov_cocktail 48") minetest.setting_set("time_speed", 0) - minetest.set_timeofday(.06) + minetest.set_timeofday(.21) end) minetest.register_on_newplayer(function(ObjectRef) minetest.place_schematic({x = 0, y = -1, z = 0}, minetest.get_modpath("story") .. "/schems/citymap-v2.mts", "0", nil, true) + minetest.after(4, function() minetest.fix_light({x = 20, y = 129, z = 191}, {x = 236, y = 12, z = 6}) end) ObjectRef:set_pos({x = 180, y = 42, z = 145}) end) +minetest.register_on_respawnplayer(function(ObjectRef) + minetest.after(.1, function() + ObjectRef:set_pos({x = 180, y = 42, z = 145}) + end) +end) + minetest.register_on_player_receive_fields(function(player, formname, fields) if formname ~= "story:story_formspec" then return @@ -76,7 +87,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) minetest.request_shutdown("The game has crashed due to the citizen's neglience.\n This incident will be reported.") elseif fields.quit then - minetest.after(0.2, function() minetest.show_formspec(player:get_player_name(), "story:story_formspec", table.concat(getStoryFormspec(currentPage), "\n")) end) + minetest.after(.2, function() minetest.show_formspec(player:get_player_name(), "story:story_formspec", table.concat(getStoryFormspec(currentPage), "\n")) end) end end end) diff --git a/mods/main/nodes.lua b/mods/main/nodes.lua index 8de581d..9269bd6 100644 --- a/mods/main/nodes.lua +++ b/mods/main/nodes.lua @@ -154,6 +154,7 @@ minetest.register_node("main:glass", tiles = {"main_glass_frame.png", "main_glass.png"}, inventory_image = minetest.inventorycube("main_glass_frame.png"), paramtype = "light", + drop = "", sunlight_propagates = true, is_ground_content = false, groups = {cracky = 4, oddly_breakable_by_hand = 1}, diff --git a/mods/main/textures/gui_hotbar_selected.png b/mods/main/textures/gui_hotbar_selected.png index 3461dbe03feb6d80ec7218d75481cd7232885392..5e537fe1bb8b9e9d13ef6dc5d00459e75c7c4580 100644 GIT binary patch delta 926 zcmV;P17ZB27T^bvFn<7GP)t-s000086-^Byd<`Og4I_XJBZ3VigbpNz4kd>UC5a9u ziw-7@4kwQfCy);)k`E}94=I)pDVPu{nGhM3X%OB!3GQ6dWkVhLvUj z00QhuL_t(o!`0c@a-%R11yDTf`yw`DFjZZsggs40-+u?Y+n{RhUQR{%?VA%-W%7Y5RSA7O!0H|7YSG2-6<<^?zfsbA zxuWMabv@dS%gN|^Bwbg(SB|x9ItEJHw0o_;kcv{aBPox-)x0$S^TYi=O%2M8e_qkm zLzgx9x)fcp=(;*|w&(&tH7QX*R8ODU14Y*(={&CbYK#G(v(C{- zNnxnm@bff{_VfocfY6athYpCOlg`nRbU-BK;hcDo`W}W(n$&R89)-#-GSb~dNg3@S zsL_cxP?VFBd4HgN|2?X=(QpUK_fdC8(yr@Js7$=!`$*9ah7LTPUDq<&wMevW8(KCk z6m1$sn;X#PpGEt-lJ-2EK-Aqv_o8);MC+!;qfO08D{#_^lU5Z1?Ho!O1+BhEyCZ33 zla>I~ChZ8V7%fX|(vp@X0&QhyrV6T(la@vCJt`9~D1T+7Wr09tXKty20*Bh2xjWE2 zhoO?Rz@of2(TUSC|8LMN&!A|YGn#?XjL|ejqPe0O6r~fVWeQGu9}2mqwRifdBu$WL zs%U~h>ub^kjHZglAhfRe^ix<;`L?U692&=T*os1`Keoa!a=)j)oY33TjElCQg0{_) ztFl#}Xn!K;X~s-?=&7=MqJ@;8{Hm(@L=#2hYtZmC!#MJyCKk;I6<5=0)Dumi|2z;h zk)%MBpP&+~TG0a^J(f|AE>|=PqoYew(WOz>0nl!hg+B%I{FwYk{pM4vd^Ao{ezBUL z6QHDyfqQ(6FBOG;(D3(2QBpdxGirXAl{5bW`xBdZCRK)Lx&QzG07*qoM6N<$f&iwm A-~a#s literal 2848 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 diff --git a/mods/main/textures/main_stone.png b/mods/main/textures/main_stone.png index 87d8eabbd00a204ef2538867db725fa6152523cc..b17686d3bcbc3365f4b20e7fa19d7e6818524825 100644 GIT binary patch delta 452 zcmV;#0XzQZ1Fi&+F@M8QOjJctQBhJ-QdCq_R#sM5S65hASXo(FT3T9LTU%UQTwh;b zU|?WjVPRroVq;@tWMpJzWo2Y#YG!6;XJ=<#+t0308QwQaPqO*B(G8(jHj{hM%jw%JzEDsAsu0!Qx@D7EL=yK@g42L zMvBVli_DexNiE31fA*>LRK#zNaa|JHEEjl)n_6F{sj$n#Zg+VQ)rZg;qbBlF$Hm?1 z=r!MpvIRK@!>^QzS(--&fNG#z-IPg`ZItrkH!T)cRUxZ=!1CTd)5qU$uXx9KB5K%q uUT|=B*Cbq{_f~`Sk~yD&C%-V?PyY!VA^_?b-a`NY002ov22Mn-LSTa7Ak0kw delta 358 zcmV-s0h#`;1m^>gF*1`-OjJc;Vq#@wWoBk(XJ=<`v2FN?gM6L2+Z?@?n~G5tXNk9&dc>D#;9D*029&-;nyMdZyW|y zDmfLN<@7SJF`hx#HfxRbwmrH|HIX-wv1&eb=4qS5^e}nr-E+xX>n|= z4Y4v7_AWR#$fBd{q|Dwwbh8#YwsEd6fQB&yKioN&02(Wmnx=7l5NP?P+G1}as>Zsk zPjvbF&C(`gn&1$(?Z%Mk`-3USS{;e&#(f7KwPt=U|AEUFA8J<9z5oCK07*qoM6N<$ Ef|gdJr~m)} diff --git a/mods/main/textures/main_swamp_grass.png b/mods/main/textures/main_swamp_grass.png index c72e9e68df54fb7cbc6ae666819dbd0fae3a8def..8bf2f790855cdacd6352832d9f412add6f471628 100644 GIT binary patch delta 251 zcmaFKyqsx*gf9y-0|Ud`yN`l^6k~CayA#8@b22Z19Jv6W5ZA1!(K%D2bAjaa*uv?t zd9&gQX2liHiYuEPUp_nj1KXFGAZx9Te)tL}XR2X}{nBN;G-8IEHXs z=RM=db;v+~^+J5hJN1b#cWLa%<#6K{c(m=P@Sijf{sp$3;@fU-uc-LfBXduCmf1r+ zQBBYJD~*>u3$2K~P_yNgu2XUEQOl;V_Xoc;o^^U8cSv#hRXa1MKIbhQabJqPlKIsi z8<}RV5br+z(=|}p{j7@B$eH_3}5KZTBElPSh6#kch||~z+1*916zkqI5Sd4Zr-X@fPBo+ zZhxu+-ZJ6~Z)be+&Nwn2GVmcwZhyABoU$(7lF3Lgyw`f2qpbw`yv;ct@+SYy$cz{H zl*#z&Pr#gGg5_d|V~;s2y< peQ8RD_Tjv+KH(DyB)rb?57?#!Ot&GOlMDa=002ovPDHLkV1f=m)Pw*4