Commit Graph

850 Commits

Author SHA1 Message Date
teknomunk
3d4e849d21 Implement mcl_util.remove_entity() and convert projectile code to use it 2024-11-30 18:42:13 -06:00
teknomunk
0f432e22be Fix condition on node collision for mob projectiles 2024-11-30 18:42:13 -06:00
teknomunk
e6fcb2b72d Correct damage for mob projectiles 2024-11-30 18:42:12 -06:00
teknomunk
02c2a47e71 Move arrow self-collision grace logic to vl_projectile then apply to mob projectiles and splash and linger potions, allow entity luaentity to be passed to mcl_util.get_entity_id() 2024-11-30 18:42:12 -06:00
teknomunk
5185c043bb Replace _puncher with _owner, rework projectile code to make _owner a string, copy mcl_util.gen_uuid() from minecart branch, add mcl_util.get_entity_id(), fix crash 2024-11-30 18:42:12 -06:00
the-real-herowl
7546ceeeca Fixed abnormal skull rotation 2024-11-30 18:42:12 -06:00
teknomunk
9d500282b9 Stop wither from shooting itself 2024-11-30 18:42:12 -06:00
teknomunk
35d89c63b8 Fix unintentional collision box change 2024-11-30 18:42:12 -06:00
teknomunk
fc14373962 Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-11-30 18:42:12 -06:00
teknomunk
4be671057f Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-11-30 18:42:12 -06:00
teknomunk
a0ab127c2a Remove redundant check 2024-11-30 18:42:12 -06:00
teknomunk
abf1a7531f Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-11-30 18:42:05 -06:00
teknomunk
89639b30c7 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-11-30 18:41:03 -06:00
kno10
f14ff83737 mob attack tweaks 2024-12-01 00:53:42 +01:00
kno10
6510ea4777 fix child == true when child = 1 2024-12-01 00:53:42 +01:00
kno10
932118f10b More tweaks to pathfinding 2024-12-01 00:53:42 +01:00
kno10
4388152650 Make villagers hurry for long paths and night 2024-12-01 00:53:42 +01:00
kno10
5779be305c avoid trivial fences, open some fence gates 2024-12-01 00:53:42 +01:00
kno10
86f4d8243d Improve starting and end point of pathfinding. 2024-12-01 00:53:42 +01:00
kno10
f377f97348 pathfinding improvements 2024-12-01 00:53:42 +01:00
kno10
230cd5154c Improve danger avoidance code. 2024-12-01 00:53:42 +01:00
kno10
54bc4f7545 fix and optimize Fleckenstein 2024-12-01 00:53:42 +01:00
kno10
a67938904e small code cleanups 2024-12-01 00:53:42 +01:00
kno10
63c83cf440 also cleanup mount.lua 2024-12-01 00:53:42 +01:00
kno10
83cec7ed23 some more cleanups, from code review 2024-12-01 00:53:42 +01:00
kno10
084211d87e code cleanups 2024-12-01 00:53:42 +01:00
kno10
5b27cb80fe movement improvements, door opening 2024-12-01 00:53:42 +01:00
kno10
e78f5cdbe9 further movement tweaks 2024-12-01 00:53:42 +01:00
kno10
e4deb9c7b5 Movement and path finding improvements. 2024-12-01 00:53:42 +01:00
kno10
77c6c34d0e Mob pushing improvements 2024-12-01 00:53:42 +01:00
kno10
b91f48b419 add and use turn_by/turn_in_direction methods 2024-12-01 00:53:42 +01:00
kno10
5eda59dc13 reduce code duplication, add mob:stand() 2024-12-01 00:53:42 +01:00
kno10
8c2289686d cleanups 2024-12-01 00:53:42 +01:00
kno10
67055959c6 fix delay=0 in combat code, tune turning parameters 2024-12-01 00:53:42 +01:00
kno10
995f1386db More help getting out of water 2024-12-01 00:53:42 +01:00
kno10
1ac53b9c2a More movement code cleanups.
Closes #4506 #4502
2024-12-01 00:53:42 +01:00
kno10
114a7d2b17 More cleanup and improvements to movement code 2024-12-01 00:53:42 +01:00
kno10
33454d7545 More movement code improvements. 2024-12-01 00:53:42 +01:00
kno10
05d6a283a0 Try to reduce how much mobs fall off cliffs.
See #4464 and many more.
2024-12-01 00:53:41 +01:00
kno10
ef763e396c Adjust bones, animations slightly from b3d data.
Initialize bones on spawn.

Note: to obatin bone values, try in Blender

"%.3f, %.3f, %.3f" % tuple((bpy.context.object.pose.bones["head.control"].head - bpy.context.object.pose.bones["head.control"].tail) * Vector((1,-1,1)))

or

"{0:.3f}, {1:.3f}, {2:.3f}".format(*(bpy.context.object.pose.bones["head.control"].head - bpy.context.object.pose.bones["head.control"].tail) @ bpy.context.object.pose.bones["head.control"].matrix * Vector((1,-1,1)))
2024-12-01 00:31:48 +01:00
kno10
c6c77766e3 Rewrite the head swivel code math 2024-12-01 00:31:48 +01:00
teknomunk
2f4e23e403 Add parenthesis for clarity, check pos before using, endermen->rovers in comment 2024-11-30 09:03:36 -06:00
teknomunk
835f97a61e Add mcl_burning.is_affected_by_sunlight(), rework mob light/sunlight damage and burning code 2024-11-28 21:03:18 +01:00
teknomunk
42b7dc9ce8 Switch to using not mcl_burning.is_affected_by_rain() 2024-11-28 21:03:18 +01:00
seventeenthShulker
ae263a19c9 Remove unnecessary raycast from rover (and use the mcl_burning api where we can) 2024-11-28 21:03:18 +01:00
seventeenthShulker
14a0546dce Whoopsie 2024-11-28 21:03:18 +01:00
seventeenthShulker
dc8219fe31 Check mobs are not touching nodes in group:puts_out_fire BEFORE burninating. Should fix the remaining flashing (see #3655). 2024-11-28 21:03:18 +01:00
seventeenthShulker
b976c535ae Fix flashing fire on burning mob during rain/thunder 2024-11-28 21:03:18 +01:00
teknomunk
b582afeb1f Update documentation for Minetest rename to Luanti (#4706)
This updates the VoxeLibre documentation by replacing "Minetest" with "Luanti" and updating links.

Done:
* Update "Minetest" in documentation and comments to "Luanti"
* Update links to forums, ContentDB and Luanti project web page

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4706
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-11-28 20:55:48 +01:00
kno10
b540e6c77b Improve head swivel code (#4622)
* Utilize the minetest 5.9.0 API that uses radians not degree.
* Simplify computations to make this more efficient, in particular by querying and updating the bone position less frequently.
* Resolves minetest warning `Deprecated call to set_bone_position, use set_bone_override instead` in this location, but other uses remain.
* `mcl_util.set_bone_position` not modified, because it redundantly compares to the previous rotation once more.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4622
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2024-11-10 02:41:55 +01:00