Commit Graph

126 Commits

Author SHA1 Message Date
teknomunk
e1bd9b46d0 Sound fix, preserve _itemstring as well 2024-12-07 19:15:38 +01:00
teknomunk
982c16b1a6 Add _arrow_item to list of perserved fields 2024-12-07 19:15:38 +01:00
teknomunk
b26ba45e20 Make arrows (and all their derivatives) preserve collectable and entity properties across world unload/load 2024-12-07 19:15:38 +01:00
teknomunk
f4a49efa88 Fix crash when respawning 2024-12-07 19:15:38 +01:00
teknomunk
6c5214d37d Let arrows stick in players 2024-12-07 19:15:38 +01:00
teknomunk
a633b3f016 Implement mcl_util.remove_entity() and convert projectile code to use it 2024-12-07 19:15:38 +01:00
teknomunk
1db0c30be7 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-12-07 19:15:38 +01:00
teknomunk
8f8d27d7e0 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-12-07 19:15:38 +01:00
teknomunk
ec6f28c2d1 Remove debug dump, move maximum time to live to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
bde58675eb Move projectile stick logic into vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
6193b2630f Move tracer to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
77d3dbf33d Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
1b8a4d6ecb Move arrow-node logic out of mcl_bows/arrow.lua and into the node definitions under _vl_projectile.on_collide 2024-12-07 19:15:38 +01:00
teknomunk
1600a65dd7 Remove secondary collision check in mcl_bows/arrow.lua (it was just hitting grass) 2024-12-07 19:15:38 +01:00
teknomunk
b9c42af179 Fix crash when hit with an arrow that is not piercing 2024-12-07 19:15:38 +01:00
the-real-herowl
00acc1742e Rockets and piercing arrows fixed
They both work properly now.
2024-12-07 19:15:38 +01:00
teknomunk
dc1fdebd05 Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg 2024-12-07 19:15:38 +01:00
teknomunk
9da0808142 Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-12-07 19:15:38 +01:00
teknomunk
389926fff7 Small optimization for calculating _allow_punch 2024-12-07 19:15:38 +01:00
teknomunk
bfc923577f Stop minimum draw arrows from hitting player that shot them 2024-12-07 19:15:38 +01:00
teknomunk
c58a4c590a 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-12-07 19:15:38 +01:00
teknomunk
56f248149c Address most of kno10's comments about mcl_utils/node.lua and a couple others, fix lingering potion sound 2024-12-07 19:15:38 +01:00
teknomunk
5d7a970004 Address more review comments 2024-12-07 19:15:38 +01:00
teknomunk
2919f420d8 Make arrows damage players, update API documentation, fix several crashes that occurred when arrows hit a player 2024-12-07 19:15:38 +01:00
teknomunk
d9efac82c8 Fix picking up tipped arrows 2024-12-07 19:15:38 +01:00
teknomunk
9893ad638d Fix crash related to nil _time_in_air 2024-12-07 19:15:38 +01:00
teknomunk
277871591c Fix typo in api.md, add TODO, change entity -> object 2024-12-07 19:15:38 +01:00
teknomunk
e04f6241de Fix typos documentation, add ignore_gravity and liquid_drag options, use vl_projectile.register() for enter pearl, move projectile physics to vl_projectile add hook for future vl_physics support 2024-12-07 19:15:38 +01:00
teknomunk
fef2090c26 Resolve more review comments, fix crash 2024-12-07 19:15:38 +01:00
teknomunk
6b03deb5e7 Resolve review comments 2024-12-07 19:15:38 +01:00
teknomunk
f597ebf0d4 Give arrows a maximum lifetime to prevent them from getting stuck in mid-air forever 2024-12-07 19:15:38 +01:00
teknomunk
a833f8a97d Add API documentation, minor API cleanup 2024-12-07 19:15:38 +01:00
teknomunk
95bcb85f70 Convert rocket to use vl_projectile API using mcl_bows:arrow as a template, remove some dead code 2024-12-07 19:15:38 +01:00
teknomunk
adbb18d75d Fold tipped arrows into standard arrows and handle effects via item definition callback, remove arrows when they collide with entities, update handling of removing projectiles 2024-12-07 19:15:38 +01:00
teknomunk
bb91c3c30d More refactoring to generalize arrow code into projectile 2024-12-07 19:15:38 +01:00
teknomunk
40e44e5420 Start mcl_bows:arrow_entity refactor 2024-12-07 19:15:38 +01:00
Loveaabb
f26c34e65f Bugfix: Shield fails to block arrows 2024-11-10 01:34:50 +01:00
teknomunk
d2a49799ae Change over internal name so that /spawn_mob works 2024-05-05 16:22:19 +00:00
PrairieWind
d3095fea57 Update ignition, smothering, and campfire inventory drops
Bonus fix for grass path creation sound traveling across the entire server
2023-09-04 22:05:38 +00:00
epCode
7e03f86b84 Give the arrows a far less laggy look with an attached particle spawner with critical shot. 2022-10-04 16:46:47 -07:00
iliekprogrammar
156aff21a1
[5.6][bows] fix unsafe entity handling for arrows 2022-08-07 12:48:09 +08:00
iliekprogrammar
221ee0fcf1
[5.6] mark places with unsafe set_hp entity handling
There might be other places i might be missing, but these are the obvious ones.

leftover entity handling i did not mark:
* everything that involves a apply()-like algorithm (e.g. callbacks) over the
  same list of objects.
* in mcl_damage, it's not known whether mcl_damage.from_mt() would involve
  entity handling or just player handling.
2022-08-07 00:13:03 +08:00
cora
bf23c61e34 skip damage completely when player & pvp disabled 2022-07-16 12:12:28 +00:00
GNU Hacker
454d7e8b04 arrow check if pvp is enable 2022-07-16 12:12:28 +00:00
epCode
6c804f44d5 add a small bit of doc 2022-06-06 18:43:50 -07:00
epCode
78940e109c fix critical hit displaying in the wrong place 2022-06-06 14:38:18 -07:00
epCode
fdb7d5bfad fixed Badly calculated arrow direction 2022-06-06 14:32:07 -07:00
epCode
f2c2f4106b fix arrows not disapearing after mob hit, and self damaging 2022-06-06 13:55:28 -07:00
epCode
e1feec9a30 Add Raytracing arrows 2022-06-06 13:42:24 -07:00
Elias Fleckenstein
e0f70b54ec Remove _cmi_is_mob 2022-05-25 23:13:33 +02:00