From 1a16126f6380e968688515e81acf78e26c63d2cc Mon Sep 17 00:00:00 2001 From: LoneWolfHT Date: Thu, 22 Nov 2018 16:57:23 -0800 Subject: [PATCH] Add smoke grenade and tidy up a few things --- grenades.lua | 34 ++++++++++++++++++++++++++-- init.lua | 2 +- settingtypes.txt | 9 +++++--- textures/grenades_smoke_grenade.png | Bin 0 -> 174 bytes 4 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 textures/grenades_smoke_grenade.png diff --git a/grenades.lua b/grenades.lua index beb60c7..9da9814 100644 --- a/grenades.lua +++ b/grenades.lua @@ -18,8 +18,8 @@ if settings:get_bool("enable_regular_grenade") then maxexptime = 0.6, minsize = 5, maxsize = 7, - collisiondetection = false, - collision_removal = false, + collisiondetection = true, + collision_removal = true, vertical = false, texture = "grenades_smoke.png", }) @@ -60,3 +60,33 @@ if settings:get_bool("enable_flashbang_grenade") then timeout = 3 }) end + +if settings:get_bool("enable_smoke_grenade") then + grenades.register_grenade("smoke_greande", { + description = "A smoke grenade (Generates a lot of smoke around the detonation area)", + image = "grenades_smoke_grenade.png", + on_explode = function(pos, player, self) + for i = 0, 5, 1 do + minetest.add_particlespawner({ + amount = 100, + time = 10, + minpos = vector.subtract(pos, 3.5), + maxpos = vector.add(pos, 3.5), + minvel = {x=0, y=2, z=0}, + maxvel = {x=0, y=3, z=0}, + minacc = {x=1, y=0.2, z=1}, + maxacc = {x=1, y=0.2, z=1}, + minexptime = 0.3, + maxexptime = 1, + minsize = 100, + maxsize = 100, + collisiondetection = false, + collision_removal = false, + vertical = false, + texture = "grenades_smoke.png", + }) + end + end, + timeout = 3 + }) +end diff --git a/init.lua b/init.lua index 45c278e..cddcb96 100644 --- a/init.lua +++ b/init.lua @@ -67,7 +67,7 @@ function grenades.register_grenade(name, def) local player_name = user:get_player_name() local inv = user:get_inventory() - grenade = throw_grenade("grenades:grenade_"..name, user) + local grenade = throw_grenade("grenades:grenade_"..name, user) grenade.timer = 0 grenade.thrower_name = player_name diff --git a/settingtypes.txt b/settingtypes.txt index b6a9899..89200fd 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -1,5 +1,8 @@ -#Add a regular grenade to the world +#Add a regular grenade enable_regular_grenade (Add a regular grenade to the world) bool false -#Add a flashbang grenade to the world -enable_flashbang_grenade (Add a flashbang grenade to the world) bool false \ No newline at end of file +#Add a flashbang grenade +enable_flashbang_grenade (Add a flashbang grenade to the world) bool false + +#Add a smoke grenade +enable_smoke_grenade (Add a smoke grenade to the world) bool false \ No newline at end of file diff --git a/textures/grenades_smoke_grenade.png b/textures/grenades_smoke_grenade.png new file mode 100644 index 0000000000000000000000000000000000000000..a0291cf1e4913c71c9c0f08400df2ff839ea560f GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfX7?91n zV2aUK|HBNEoGyK4T|HsRL3@r#i+tZ1ZeIALDCJ@3$$7i-KZw^Xdhnw4o5T7-CQ&|> V6T7qPw*xI?@O1TaS?83{1OVbtKVkp? literal 0 HcmV?d00001