Commit Graph

64 Commits

Author SHA1 Message Date
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 9c11d0ce92 Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-11-12 01:00:42 +01:00
teknomunk b17c16804d Remove redundant check 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
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: VoxeLibre/VoxeLibre#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: VoxeLibre/VoxeLibre#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: VoxeLibre/VoxeLibre#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: MineClone2/MineClone2#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: MineClone2/MineClone2#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: MineClone2/MineClone2#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
Freedom 83d6e2a5d2 polar bear fix typo (#3846)
horrizonatal -> horizontal

Reviewed-on: MineClone2/MineClone2#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: MineClone2/MineClone2#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
cora 13df9ec46c Fix crash when using a named spawn egg 2023-04-27 21:16:19 +00:00
ancientmarinerdev 86a85bb487 Fix spawn egg crashes in different dimensions 2023-03-04 01:38:51 +00:00
GuyLiner 3830171347 Adjusted mob_light_lvl for changed return value 2023-02-16 19:43:50 -05:00
GuyLiner 0a9be4b79c Added light level parameters to the mobs_mcl.setup_spawner() function, fixing #221
There is now a call to mcl_mobs:mob_light_lvl that returns a table for the name of the mob that you pass to it that contains
the light levels for that mob.
2023-02-16 19:43:50 -05:00
cora bc496a8682 Finally indent register_mob and make registered mobs global 2022-11-27 14:53:16 +01:00
cora 2b691dea07 Fix some more global var warnings 2022-11-27 14:53:16 +01:00
cora c25287e493 Some cleanup 2022-11-27 14:53:16 +01:00
cora 19d6d43b39 move on_blast default to mob default def 2022-11-27 14:53:16 +01:00
cora 148b30694f Fix monster_attack and some other settings issues 2022-11-27 14:53:16 +01:00