1444 Commits

Author SHA1 Message Date
Aaron Suen
f834f8a860 Rakes should be flammable
How did we miss that for so long...?
2020-05-23 09:02:07 -04:00
Aaron Suen
6147a11de6 Try to work around MT segfault (#9916)
The MT client crashes sometimes when trying to do a
lighting calc on upright_sprite entity visuals.

This may or may not be fixed in a future release, since it's
a heisenbug and a rare use-case, so for now try to
eliminate use of the rare and poorly supported upright_sprite
visual type by making empty inventory slots craftitem extrude
meshes.

As a limitation, for now, virtual_items such as injury or
lux burns will be invisible instead of showing the icon, as
we can't swap out the texture like we could for upright_sprite.
2020-05-23 08:59:16 -04:00
Aaron Suen
c2fab4b12d Rakes should be flammable
How did we miss that for so long...?
2020-05-22 15:34:39 -04:00
Aaron Suen
a35413ad2a Remove distance from player names 2020-05-22 08:21:42 -04:00
Aaron Suen
ab357c57ca Players lose runnig speed if stuck
This prevents the "running up a ladder"
exploit, and adds a bit of realism.

This MAY cause problems for players who
have sufficiently crappy network, so
hopefully the liberal stuck time of 2 full
seconds is enough.  Players with that much
latency probably can't pummel, so probably
can't play anyway.
2020-05-22 07:45:27 -04:00
Aaron Suen
fe23c34208 Player buoyancy fixes/refinements
- Nerf effect by 50% to be less disruptive
- Effect can be avoided by not being in a
  swimming position (matching model anim)
- Refactor swimming check into API
- Special checking and handling for linkdead
  players, for whom client knockback
  wouldn't work anyway.
2020-05-22 07:30:12 -04:00
Aaron Suen
c6cf1f9cb6 Players float when idle in water
This is done rather hackishly, but Minetest doesn't
seem to offer a sane way to register fluid buoyancy, or
even a reasonable hack to use negative gravity for this.
Instead, just push player upward with velocity impulses
every so often.

This is helpful gameplay-wise to make chatting while
swimming easier for players not using auto-forward, or
to prevent players from drowning and losing their stuff
while swimming long-distance and dropping network
connection and their in-game character waiting in the
water for the timeout.  Instead, players will return to the
surface and remain where they can breathe until the
player can take control again.
2020-05-18 20:49:30 -04:00
Aaron Suen
9c9eb4b85a Guard against dummy objects in 5.3+
Some time in the 5.3 dev stream (docs updated at
217f3a42), object refs started being invalidated
immediately on calling obj:remove(), such that
obj:get_pos() starts to return nil instead of the object's
last known position.

This can cause some crashes in NodeCore, where we
assume that our object is still valid (or usable as if it
were still valid) even though we're looping through
handlers and any one of them may have remove()d the
object before other handlers get a chance to fire.

Instead, just watch for unexpected nil returns from
functions we expect would never return nil (e.g.
get_pos or get_properties) and return if we hit one.
We can assume all other calls will be non-nil after that
one, as long as we stay in the same function flow.
2020-05-18 18:36:06 -04:00
Aaron Suen
1d0f9aa81f Fix doors/concrete API registration
When 3rd-party mods try to register extensions, don't
crash on trying to register in wrong namespace.

Keep registrations to original mod namespace for now,
as I'm not certain whether I actually made assumptions
about mod name in some logic.
2020-05-18 18:09:44 -04:00
Aaron Suen
dde2a00637 Merge branch 'master' into dev 2020-05-18 10:56:52 -04:00
Aaron Suen
61e99ce3cf Fix incorrect package identifier 2020-05-18 10:56:48 -04:00
Aaron Suen
14f5cae41b Cleanup CDB short desc 2020-05-18 10:56:40 -04:00
Aaron Suen
2f713aa1d6 Fix incorrect package identifier 2020-05-18 10:54:50 -04:00
Aaron Suen
3e3de583e4 Cleanup CDB short desc 2020-05-18 07:46:41 -04:00
Aaron Suen
7dbc22abe7 Centralize some sanity checks 2020-05-12 07:25:58 -04:00
Aaron Suen
3fc187f0e6 Centralize entity glow too
Thrown/falling entities containing a light_source will now cast
a dynamic light glow automatically as well.
2020-05-12 07:22:41 -04:00
Aaron Suen
a43c915710 Buff scaling glow by 50%
Lots of issues with players being unable to figure out traversal
of dark caves.  Total darkness is probably too much of an ostacle
for players who haven't already learned how to avoid those kind
of circumstances.
2020-05-12 07:14:35 -04:00
Aaron Suen
3484b55cb0 Centralize wield glow logic
- Wield item glow is now handled automatically
- Player glows with same glow level as scaling nodes
2020-05-12 07:13:36 -04:00
Aaron Suen
124aa5e4f4 Dynamic light restructuring
All possible light level nodes are pre-registered at startup time
so that light levels can be determined fully dynamically at run
time, without needing to explicitly declare what light levels will
actually be needed.

Hopefully this will make using dynamic lights a little easier
and lead to some interesting content.
2020-05-12 06:55:11 -04:00
Aaron Suen
9a3c37b02d Update translation sources 2020-04-20 08:38:45 -04:00
Aaron Suen
b9028d0b01 Trim blank lines 2020-04-20 08:17:02 -04:00
Aaron Suen
c69d0a1cff Infodump config, dump texture override template 2020-04-20 08:15:53 -04:00
Aaron Suen
cf7ae16287 More Russian translation updates 2020-04-20 07:30:25 -04:00
Aaron Suen
b903ddd42a Image optimizations. 2020-04-16 01:27:54 -04:00
Aaron Suen
d33877fbc7 Fix sponge tote crash 2020-04-16 01:07:48 -04:00
Aaron Suen
a6ef71d9dd More breath HUD redoing 2020-04-13 00:00:31 -04:00
Aaron Suen
9c85cfd5d3 Lengthen concrete curing 2020-04-12 21:41:44 -04:00
Aaron Suen
5883582370 Fixed a major network traffic bug 2020-04-12 16:17:06 -04:00
Aaron Suen
a25ab0eecf Fix lode cubes falling 2020-04-12 12:25:31 -04:00
Aaron Suen
46646f7b83 Fix concrete curing
Make sure to use separate metadata fields for wet-to-pliable
vs. pliable-to-hardened concretes.
2020-04-10 21:52:18 -04:00
Aaron Suen
40d7848c46 Fix crash right-clicking wet aggregate 2020-04-10 19:02:31 -04:00
Aaron Suen
396aeab217 Add skybox to wishlist, rearrange stuff 2020-04-10 15:13:01 -04:00
Aaron Suen
b08337a3b7 Fix heat damage from cool lode 2020-04-10 14:52:03 -04:00
Aaron Suen
0e6327ca2d Custom theme-matching crosshair 2020-04-09 23:18:39 -04:00
Aaron Suen
e9998bddf2 Negate touch damage by using appropriate tool
NodeCore vanilla shouldn't be affected, since things that are
damaging are already not diggable, but for mods, this allows
some nodes to be damaging if punched, but diggable with the right
tool.  Note that they will have to drop something other than
themselves because touch damage will still apply to carrying the
item in inventory (i.e. "hot potato" mechanic).
2020-04-09 07:16:33 -04:00
Aaron Suen
920fba34ee Separate node stand/touch/radiant damage types
Don't reuse damage_per_second for damage on punch and radiant
damage.  This allows these to be defined separately, i.e. no longer
assuming that all damage is from "heat" and can radiate.  This
allows for things like thorny plants that hurt if you touch them
or stand in them but not if you stand near them.

Thanks to WintersKnight94 for reporting this.
2020-04-09 06:56:18 -04:00
Aaron Suen
b1f2828f5c Fix player air friction physics
If a player has sufficient upward velocity, then the gravity
reduction meant to slow downward acceleration instead slows upward
deceleration and the player flies ridiculously high.  Doesn't
happen normally in vanilla, but can happen with mods.

Thanks to Lone_Wolf for reporting this.
2020-04-09 06:39:58 -04:00
Aaron Suen
f240bc54c6 Fix is_full_sun error 2020-04-05 22:35:33 -04:00
Aaron Suen
a036f13851 Block 5.2+ redundant dig/place sounds 2020-04-05 21:36:45 -04:00
Aaron Suen
35292eb259 Switch to an internal sound API
Avoid mangling official Minetest API
functions that mods may want to
use directly.
2020-04-05 21:22:51 -04:00
Aaron Suen
4a41aae4a8 Default all sounds to ephemeral
NodeCore was already using sounds this way, i.e. assuming
they can't meaningfully be managed (may not be heard by
players just entering the area) so might as well get the
supposed performance benefit.

Added an override to allow sounds to be marked as NOT
ephemeral just in case it's needed.
2020-04-05 21:18:30 -04:00
Aaron Suen
6d86458dd5 Explicitly disable MT5.2+ tool punch wear 2020-04-05 21:09:03 -04:00
Aaron Suen
94129d5067 Hack to let TP authors override inv/wield images 2020-04-05 20:35:51 -04:00
Aaron Suen
fde6378910 Stylus recipe, more image optimize 2020-04-05 19:39:41 -04:00
Aaron Suen
ad61005c4f Fix heisenbug cause by strata 2020-04-05 19:27:15 -04:00
Aaron Suen
6ec2b5e2b6 Check stucco merge off roadmap 2020-04-05 16:10:51 -04:00
Aaron Suen
800301df84 Merge branch 'adobe' into dev 2020-04-05 16:07:45 -04:00
Aaron Suen
683d1b82ca Stylus etching, full cycle curing 2020-04-05 16:07:18 -04:00
Aaron Suen
babf5094b9 Rework wet concrete recipes 2020-04-05 15:31:16 -04:00
Aaron Suen
a3f03e16ad Fix adobe kneeding 2020-04-05 14:51:28 -04:00