Commit graph

11042 commits

Author SHA1 Message Date
teknomunk
bdd44a62ee Implement mcl_util.remove_entity() and convert projectile code to use it 2024-11-15 18:19:41 -06:00
teknomunk
6ec3770b6e Add pitch and yaw offset support to vl_projectile 2024-11-15 17:45:05 -06:00
teknomunk
ba4d09a4c6 Correct self-collision for lingering/splash potions 2024-11-15 06:42:57 -06:00
teknomunk
bc3e2ebd72 Make vl_projectile use mcl_util.deal_damage 2024-11-14 06:50:46 -06:00
teknomunk
4731ae64f0 Fix condition on node collision for mob projectiles 2024-11-14 06:36:49 -06:00
teknomunk
7867168c41 Correct damage for mob projectiles 2024-11-14 06:25:30 -06:00
teknomunk
a6363f779f 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-13 22:02:58 -06:00
teknomunk
2c8f22c511 Fix crash when firing rocket arrows 2024-11-13 20:59:24 -06:00
teknomunk
b8250e4dcc 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-12 01:00:42 +01:00
teknomunk
ad9b84c5ac Remove debug dump, move maximum time to live to vl_projectile 2024-11-12 01:00:42 +01:00
teknomunk
13af90b9a0 Document vl_projectile.replace_with_item_drop 2024-11-12 01:00:42 +01:00
teknomunk
882e6d42e5 Move projectile stick logic into vl_projectile 2024-11-12 01:00:42 +01:00
teknomunk
1cec108d50 Move tracer to vl_projectile 2024-11-12 01:00:42 +01:00
teknomunk
ec9bc01c80 Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile 2024-11-12 01:00:42 +01:00
teknomunk
44769c24c5 Move arrow-node logic out of mcl_bows/arrow.lua and into the node definitions under _vl_projectile.on_collide 2024-11-12 01:00:42 +01:00
teknomunk
36a3ac44f3 Remove secondary collision check in mcl_bows/arrow.lua (it was just hitting grass) 2024-11-12 01:00:42 +01:00
teknomunk
5f48024c9d Remove code with no effect other than emitting a warning 2024-11-12 01:00:42 +01:00
teknomunk
8913de9b26 Resolve luacheck findings 2024-11-12 01:00:42 +01:00
teknomunk
c5ea7ff707 Fix crashes in mcl_throwing 2024-11-12 01:00:42 +01:00
teknomunk
99247e5f25 Fix crash when hit with an arrow that is not piercing 2024-11-12 01:00:42 +01:00
the-real-herowl
0991c0c130 Rockets and piercing arrows fixed
They both work properly now.
2024-11-12 01:00:42 +01:00
the-real-herowl
b81d5e1a31 Fix throwables' punch allow check 2024-11-12 01:00:42 +01:00
the-real-herowl
0cbe304c87 Fixed abnormal skull rotation 2024-11-12 01:00:42 +01:00
the-real-herowl
f594473276 Fixed wither skulls
- wither skulls now hit players again
- wither skulls (strong version) don't cause a crash anymore
2024-11-12 01:00:42 +01:00
teknomunk
ef60cd8559 Add attribution with exact links for minetest code 2024-11-12 01:00:42 +01:00
teknomunk
e49f7a5da7 Add hook to allow piercing enchantment to be implemented 2024-11-12 01:00:42 +01:00
teknomunk
c33048cbc9 Fix chick spawning in the presence of a functional has_room() check 2024-11-12 01:00:42 +01:00
teknomunk
38852badb1 Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg 2024-11-12 01:00:42 +01:00
teknomunk
e4e1c40dbb Make egg and snowball stack count match master 2024-11-12 01:00:42 +01:00
teknomunk
6025678cf2 Prevent dereferencing nil in wither.lua, fix minor typo in debug statement 2024-11-12 01:00:42 +01:00
teknomunk
351df85ed6 Add workarround for random velocity change of particles on creation 2024-11-12 01:00:42 +01:00
teknomunk
e3a78a99dc Make sure a projectile sets on fire the thing it collided with 2024-11-12 01:00:42 +01:00
teknomunk
c6376f09e6 Stop wither from shooting itself 2024-11-12 01:00:42 +01:00
teknomunk
92f953ac53 Fix player-mcl_throwing collisions, fix chick spawning on egg collisions, luacheck fixes 2024-11-12 01:00:42 +01:00
teknomunk
07ebebdc48 Fix unintentional collision box change 2024-11-12 01:00:42 +01:00
teknomunk
76d654762a Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-11-12 01:00:42 +01:00
teknomunk
26062a9d26 Prevent projectiles from crashing server when removed when it punched something (wither skull hitting the wither will cause this), mark wither skull with _removed = true when death timer removes it 2024-11-12 01:00:42 +01:00
teknomunk
9c11d0ce92 Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-11-12 01:00:42 +01:00
teknomunk
86a77284fa Make snowballs have the same collision conditions as before 2024-11-12 01:00:42 +01:00
teknomunk
17ed8ffa3a Undo conversions to use mcl_bows:arrow_entity and use arrow_item.."_entity" like master 2024-11-12 01:00:42 +01:00
teknomunk
65ccd551ae Convert flying bobber to vl_projectile, modify mcl_throwing.register_throwable_object() to check for _vl_projectile field 2024-11-12 01:00:42 +01:00
teknomunk
b17c16804d Remove redundant check 2024-11-12 01:00:42 +01:00
teknomunk
d2676da152 Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-11-12 01:00:42 +01:00
teknomunk
d195066d94 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-11-12 01:00:42 +01:00
teknomunk
355e9ab149 Restore tipped arrow entity registration as near copy of mcl_bows:arrow_entity 2024-11-12 01:00:42 +01:00
teknomunk
ec63fcd1bc Small optimization for calculating _allow_punch 2024-11-12 01:00:42 +01:00
teknomunk
610042be71 Remove unnecessary vectory copy 2024-11-12 01:00:42 +01:00
teknomunk
ff0128394d Make splash, lingering and othe projectiles hit players 2024-11-12 01:00:42 +01:00
teknomunk
0270ce8a8d Stop minimum draw arrows from hitting player that shot them 2024-11-12 01:00:42 +01:00
teknomunk
6d75fc2f41 Prevent collisions with entities until projectile is at least one node from where it started (to prevent always hitting yourself), modify mcl_bows.shoot_arrow() and mcl_bows_s.shoot_arrow_crossbow() to use vl_projectile.create(), fix projectiles damaging players 2024-11-12 01:00:42 +01:00