Commit Graph

73 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
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
084211d87e code cleanups 2024-12-01 00:53:42 +01:00
kno10
c6c77766e3 Rewrite the head swivel code math 2024-12-01 00:31: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
kno10
253a06fa08 Fix mob egg double-spawns (#4657)
If you spawn a mob clicking on a wall, two mobs will be spawned.

To reproduce: face a stack of stones, with a spawn egg click on the side of a stone. It does not happen when you click the top of a node, because spawning below fails and only the second one succeeds.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4657
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <kno10@noreply.git.minetest.land>
Co-committed-by: kno10 <kno10@noreply.git.minetest.land>
2024-09-30 19:21:40 +02:00
teknomunk
626bdd13d8 Change several places where mobs are created to use mcl_mobs.spawn() instead of minetest.add_entity() 2024-09-16 13:32:06 +02:00
teknomunk
3928e12634 Fix two more crashes, stray space 2024-06-24 03:06:26 +02:00
teknomunk
304550d90c Fix parameter name 2024-06-24 03:06:26 +02:00
teknomunk
0a2336ad82 Handle conversion of mobs that were incorrectly converted 2024-06-24 03:06:26 +02:00
teknomunk
7e0afd7e21 Remove debug logging 2024-06-24 03:06:26 +02:00
teknomunk
15fa925aae More fields to strip 2024-06-24 03:06:26 +02:00
teknomunk
4935f5fdda Add debug logging 2024-06-24 03:06:26 +02:00
teknomunk
41032ec999 Use correct variable name 2024-06-24 03:06:26 +02:00
teknomunk
d64ee18f75 Strip some fields from the mob's staticdata on conversion 2024-06-24 03:06:26 +02:00
teknomunk
1942384fe5 Move object remove after position check 2024-06-24 03:06:26 +02:00
teknomunk
9b50dd6565 Update to use new_object instead of obj 2024-06-24 03:06:26 +02:00
teknomunk
a88951ac6a More safety checks 2024-06-24 03:06:26 +02:00
teknomunk
bc343769ee Add guard to prevent crash when converting old mobs and the minetest fails to create the new entity 2024-06-24 03:06:26 +02:00
teknomunk
add9cbe3bc Fix mob spawner crash (#4337)
This fixes #4336 crash at login about mcl_mobspawners. Also adds an API call, `mcl_mobs.register_conversion` for converting one mob into another and updates rovers and stalkers to use this API call.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4337
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-05-30 08:29:12 +00:00
the-real-herowl
914e3c6c2a Effects persist on loads for mobs too 2024-05-22 21:03:43 +02:00
the-real-herowl
1219b09851 Migrated enderman to the new visuals
Also made the node holding use vl_held_item
2024-05-05 19:10:18 +00:00
the-real-herowl
4dde321a04 Ghast fireball fixes 2024-05-02 00:18:43 +02:00
SOS-Games
4f37c1600f Able to see all mobs in the lookup help menu (#4186)
added a Mobs category that has pages for all mobs

Co-authored-by: SOS-Games <101518564+SOS-Games@users.noreply.github.com>
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4186
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: SOS-Games <gruberscomplete@gmail.com>
Co-committed-by: SOS-Games <gruberscomplete@gmail.com>
2024-04-21 08:16:15 +00:00
the-real-herowl
a8ad631864 Added ghast achievement and nerfed ghast
* ghast now attacks less frequently
* killing ghast with a ghast fireball now awards an achievement
2024-01-25 14:29:08 +01:00
the-real-herowl
1478960b7f Improved ghast combat
* ghast fireballs can now hit the shooter (used to just fly through)
* improved ghast aim
* increased ghast fireball lifetime
* mob projectile lifetime is now counted in seconds (was in ticks)
* improved variable naming
* improved default mob projectile deflecting (applies to ghast fireball)
2024-01-25 02:51:36 +00:00
bakawun
cee5bbc206 mobs:fix typo in homing function 2023-12-14 16:50:23 +01:00
cora
55fe71d73b Add a get_arrow_hit_func function to mcl_mobs
reason for this is that player:punch used by most mobs ignores armor
worn by player
2023-12-13 02:42:08 +01:00
cora
f5079f1568 Add an option for mob arrows to be "homing" 2023-12-13 02:42:08 +01:00
the-real-herowl
cf70de0ecc Add an on_attack callback for mobs (#4064)
Added an on_attack callback that allows to execute additional custom logic after each attack.

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4064
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2023-12-10 16:10:33 +00:00
Eliy21
7cbba73d50 Combat (mostly PvE) rebalancing (#4005)
-Added short mob invulnerability time after being hit
-Added separate shorter range for hitting mobs (as opposed to node interaction)
-Reworked mob knockback
-Slowed down natural health regeneration from saturation
-Added a setting for the saturation health regen speed

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4005
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: Eliy21 <eliy21@noreply.git.minetest.land>
Co-committed-by: Eliy21 <eliy21@noreply.git.minetest.land>
2023-11-23 00:32:23 +00:00
Freeman
83d6e2a5d2 polar bear fix typo (#3846)
horrizonatal -> horizontal

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3846
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: Freeman <project@gnuhacker.org>
Co-committed-by: Freeman <project@gnuhacker.org>
2023-11-03 00:06:06 +00:00
the-real-herowl
59f3b53a51 Merge pull request 'Use MC 1.18+ light levels to control mob spawning' (#3946) from spawn_lighting into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3946
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2023-10-22 01:35:00 +00:00
the-real-herowl
17c8f220e6 A few more wither fixes 2023-10-11 00:54:31 +00:00
the-real-herowl
df17688b7d Great batch of improvements 2023-10-11 00:54:31 +00:00
the-real-herowl
729d8ec9e0 Another batch of wither adjustments 2023-10-11 00:54:31 +00:00
Nauta Turbidus
a1b6819756 Withering effect and effect immunities
Added withering effect and immunities to effects.

Signed-off-by: Nauta Turbidus <88062389+nauta-turbidus@users.noreply.github.com>
2023-10-11 00:54:31 +00:00
codiac
d2d7887e0f Handle bat and slime light checks 2023-09-21 14:53:32 +10:00
epCode
86cd5711ca Rearange on replace code to be more general purpous 2023-06-04 22:41:35 +00:00
ancientmarinerdev
8a771ebfce Allow adjustment of attack frequency. Reduce attack frequency of Hoglins. Move on_step and do_states functionality off of the attack timer on to their own timer. 2023-05-11 16:33:55 +00:00