Commit Graph

90 Commits

Author SHA1 Message Date
fluxionary f8c79c781a
Merge 943de3b227 into 0639681f9b 2024-04-13 13:31:15 +02:00
sfan5 70cf7a26fd
Fix some placer nil checks 2024-01-11 15:50:36 +01:00
flux 943de3b227
re-add explode_center and set the minimum number of counted nodes to 1 2023-12-29 13:59:49 -08:00
flux 7e597c92c2
fix explosion flash (tnt:boom node) 2023-12-29 12:50:20 -08:00
flux 4cd18a908b
don't double-count tnt @ the center 2023-12-29 12:50:20 -08:00
flux 20793b8118
remove explode_center 2023-12-29 12:50:16 -08:00
Wuzzy b0cf061360 Fix TNT blowing up ignore nodes 2022-05-24 17:57:37 +02:00
nixnoxus 0c2ee1e41d
Deduplicate player action logging, silence fake player actions (#2941) 2022-05-06 20:04:55 +02:00
Lars Mueller edd033b708 TNT node drop particles: Only pick string tiles as fallback 2022-04-24 13:29:29 +02:00
paramat 0c1252bcf5 Balance sounds, remove silent water footstep 2022-01-23 18:07:59 +01:00
DS 226e2d4c12
Add missing not_in_creative_inventory group where appropriate (#2764) 2020-11-11 15:29:43 +00:00
SmallJoker 331bbae058
Fix deprecated get_player_velocity and set_physics_override calls (#2770) 2020-11-04 21:42:35 +01:00
Wuzzy 6605724fe1
Add icons for invisible nodes (#2718) 2020-09-30 16:41:04 +01:00
tenplus1 7cac67f097
TNT centre node adheres to protection
Make sure tnt.boom() doesnt replace centre node when explode_centre is true and ignore_protection is false.

Fixes: https://github.com/minetest/minetest_game/issues/2663
2020-06-28 15:50:46 +02:00
sfan5 6e345cf136
Use node particles for TNT explosions (#2695) 2020-06-02 12:48:56 +02:00
sfan5 e5b54c6ead
Switch TNT explosions to use add_player_velocity (#2674) 2020-05-10 14:10:29 +02:00
sfan5 c1f41720fc Fix crash on TNT explosions if tnt is disabled 2020-04-08 17:24:10 +02:00
sfan5 07a8067348
Fix TNT mod crash when entities disappear during explosion (#2616) 2020-03-06 21:51:19 +01:00
sfan5 d3e26dba18 Convert minetest.sound_play uses to ephemeral 2020-02-05 22:24:23 +01:00
Yves Quemener bb9279ccb8 Add support for MT 5 game translation (rebasing ) (#2466)
rebased #2368
2019-09-10 19:09:51 +02:00
TumeniNodes 553b0f9d72 Add new TNT sounds 2019-08-28 03:06:23 +01:00
SmallJoker 255031fc91 Replace deprecated function calls 2018-07-01 20:44:03 +01:00
Paramat 37b206e49f
TNT: Raise cost of TNT by adding a TNT stick crafting stage
6 gunpowder and 1 paper crafts to 2 TNT stick craftitems.
9 TNT sticks craft to 1 TNT.
TNT stick is not yet usable as an explosive, possibly later.
2018-06-01 23:41:45 +01:00
sofar 8c71f3d826 Prevent divide by zero (#2106)
This forces all explosions to damage entities within the 1 node
range. If that needs to be disabled, the damage_radius needs to
be set to 0.
2018-04-08 17:57:00 +01:00
tenplus1 3ff296961e TNT: Add tnt.boom defaults
This adds def, def.radius and def.damage_radius defaults to the
tnt.boom() function if they aren't specified on call.
2017-10-10 22:55:49 +01:00
tenplus1 fe67ffda7c TNT: Add explode_center flag
Add 'explode_centre' flag which when false explodes as normal and when true runs on_blast on centre node as well as dropping items.
2017-08-26 22:14:44 +01:00
tenplus1 bb084294ce TNT: Allow a custom explosion sound to be used 2017-08-18 18:41:15 +01:00
tenplus1 c5e97867f3 TNT's tnt:boom cleanup (#1868)
The tnt:boom node doesn't actually need the on_construct and on_timer functions to remove the node after 0.4 seconds as the tnt_explode function already does this beforehand.
2017-08-13 13:46:30 +02:00
SmallJoker fa4c77feba TNT: Only burn visually connected powder (#1857) 2017-07-29 18:09:15 +02:00
Foz 0f7d0bfd7a TNT: Track TNT owner in metadata for protection mods
It is useful for protection mods to know who owns an exploding
TNT block. This allows the blocks destroyed by the TNT to be
limited to the same ones the owner could destroy without using
TNT.

TNT placed within a protected area by the area owner, and later
ignited by another player will destroy within the protected area
nodes the igniter may not otherwise be able to interact with. Any
player could significantly increase the size of an explosion by
placing more TNT in an adjacent unprotected area if the original
TNT block was placed withing 1 node of such a boundary. This
feature sounds dangerous, but we are talking about TNT. Players
should use it carefully.
2017-07-02 11:30:39 +01:00
paramat eec1c5a03b Settings: Use new settings object 2017-05-24 07:18:26 +01:00
Fernando Carmona Varo be9121214c TNT: Gunpowder (and tnt.burn) will trigger the on_ignite of nodes
The previous behaviour is kept as fallback for compatibility, for when the on_ignite
is not defined in the node.
2017-05-01 19:38:38 +01:00
Auke Kok 7b90044574 TNT: start fire nodetimers for created fire nodes.
Without this patch, any fire created(placed) by tnt explosions
will remain forever on the map.
2017-03-14 19:03:34 +00:00
Diego Martínez 496521f4a1 Fix some warnings.
Also fixes the failing travis checks.
2017-03-05 09:27:53 +00:00
Auke Kok 1104d571b0 TNT: Log explosions and player igniting tnt or gunpowder 2017-01-19 21:57:34 -08:00
DS-Minetest f07c4dcd83 Decrease the cost of gunpowder for trails
The cost of TNT remains the same
2017-01-01 23:41:04 +00:00
paramat 09a229b412 Update 'nodeupdate()' to 'check_for_falling()' API 2016-11-22 05:55:36 +00:00
Fernando Carmona Varo c824d69182 Fire / tnt: Make flint-and-steel use node on_ignite functions
Add on_ignite functions to tnt, gunpowder, coalblock.
2016-11-07 14:10:00 +00:00
Fernando Carmona Varo 7fee589e03 Tnt: Flammable TNT and gunpowder that activates when burnt
Some code simplifications.
2016-11-02 12:41:14 +00:00
tenplus1 6fdfd2554c Tnt: Various optimisations
Pass nodename to tnt.burn function where possible to reduce
use of 'get_node'.
Change 'ipairs' to 'pairs'.
Use 'nodeupdate_single(pos)' instead of 'nodeupdate(pos)' to
avoid every node triggering recursion, the loop itself takes
the place of recursion and works upwards through horizontal
planes as required.
2016-10-10 03:16:41 +01:00
tenplus1 619ac52693 Add labels to ABMs
Useful for searches and the mod profiler.
2016-08-09 03:56:37 +01:00
tenplus1 14b99a72a9 Tnt: Limit blown up dropped stacks to stack_max
This replaces the hardcoded 99 item limit and instead uses the
get_stack_max() limit for each item.
2016-08-09 03:48:01 +01:00
tenplus1 6c83ea0b48 TNT: Fix bug with huge stacks
This fixes the TNT bug that can crash game when blowing up a container
which holds huge stacks above the norm... e.g. give yourself 65535 snow,
place in chest, blow up, stalled!
2016-08-04 03:21:55 +01:00
Tim 30b0a155fb Stop shadowing upvalues and definitions. 2016-07-15 21:58:49 +01:00
Tim 4473627de0 Remove unused and clean up missused variable-value assignments.
* Unused variables
* Unused values (assigned to variables, but overwritten before use)
* Defining already defined variables instead of reassigning to them.
2016-07-15 21:58:49 +01:00
paramat e38099225c TNT: Add missing 'then' 2016-07-07 19:22:26 +01:00
tenplus1 497e6f6257 TNT: When disabled leave some useful functionality enabled
- Only remove the TNT craft recipe, tnt:tnt node and the ABM
- Leave tnt:tnt_burning available for explosions in 3rd party mods
2016-07-07 18:10:57 +01:00
paramat e7a55734d3 Tnt: Avoid divide-by-zero errors in calc_velocity() 2016-05-08 22:53:16 +01:00
Foz 8d3d558e42 Tnt: Fix bug in dropped item counting 2016-05-05 23:46:10 +01:00
Auke Kok 12c763a6c7 TNT: Combine adjacent TNT into the explosion
This uses a vmanip to count adjacent tnt nodes and explodes them
all at once, using an inverse square law to recalculate the radius.
The maximum explosion becomes 125 nodes of tnt yielding a radius of
15 nodes, which does not break my machine and makes it return
in under a second.

This makes both bigger explosions and less stability issues.

The drop code has been simplified and now drops at all times a
reasonable amount of drops, never blanketing the area with drops,
even at the larges explosion level.

Particles are scaled up according to explosion size as well - a
bigger explosion will show bigger particles.

To scale the tnt:boom particle, we move it to the _effects() function.
2016-05-01 18:57:45 +01:00