Commit graph

769 commits

Author SHA1 Message Date
JoseDouglas26
947d20ae96 mcl_mobs pt_BR translation 2023-12-22 23:45:07 +01:00
bakawun
cee5bbc206 mobs:fix typo in homing function 2023-12-14 16:50:23 +01:00
Eliy21
ed507d8509 Remove unnecessary space in the attack reach limit on mobs code 2023-12-14 08:15:55 +00: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
8b00fff4cb Remove dangling else 2023-12-11 00:54:30 +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
the-real-herowl
46d9c66000 Fixed mobs executing custom on_punch with punch fail 2023-12-05 00:58:10 +00:00
the-real-herowl
24ffd64cad Knockback fixes 2023-12-05 00:58:10 +00:00
codiac
4cf865a36c Fix passive threshold in nether and end (#4030)
Fix light check for passive mobs in other dimensions. It is apparently the same in all dimensions. If a mob has it's own spawn_check function then that should be used regardless of it's type.

Fixes #4029

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4030
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: codiac <codiac@inbox.lv>
Co-committed-by: codiac <codiac@inbox.lv>
2023-11-28 02:45:18 +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
ancientmarinerdev
3564f6ebde Fixed a crash in minetest vector code that isn't propogated to lua. Create util for ease of use. 2023-10-15 22:03:48 +01:00
the-real-herowl
966712f4ff Optimisation and cleanup
-optimised and cleaned up wither rose withering effect code
-removed unused code
2023-10-11 00:54:31 +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
codiac
bf4c7e1913 Allow non monsters spawns too 2023-09-20 09:24:51 +10:00
codiac
11e3674926 Use MC 1.18 light levels to control mob spawning 2023-09-19 11:18:40 +10:00
ancientmarinerdev
969a08b7be Clean up 2023-09-03 22:02:34 +00:00
ancientmarinerdev
1749712318 Change creepers line of sight check to raycast and do it from eyes to targets feet and head 2023-09-03 22:02:34 +00:00
Sab Pyrope
8b7a71f93e Update Russian translation. Fix 1. 2023-09-02 15:51:49 +08:00
Sab Pyrope
5b4a79a26d Update russian translation 2023-08-31 14:16:42 +08:00
codiac
0d16acdd42 Use a vector and fix the merge fail >_< 2023-08-14 10:48:27 +10:00
codiac
034382c883 Fix float check :( 2023-08-13 12:14:52 +10:00
cora
898a183ccd Prevent floating mobs from drowning all the time
Less dieing for mobs in deep water.
2023-08-13 12:12:03 +10:00
codiac
6ae597c97f This changes mob floating so they stay inside the top water node instead of
standing on it. The head of the mod should still be above water.

Changes drowning so that mobs will not drown in one block of water. They will
drown in 2 or more blocks of water.

Does not appear to affect them getting out of deep water :( But they do seem to
die somewhat faster when they stay in deep water.
2023-08-12 14:01:26 +10:00
Kristian
9c77cbc011 TOM Mobs 2023-06-27 21:09:03 +00:00
ancientmarinerdev
658f244ae4 Creeper should not walk to player if it does not have line of sight. Mob shouldn't look at player it does not have line of sight to. 2023-06-21 20:17:49 +00:00
Temak
f7f8a72d08 Update russian translation (#3519)
Update russian translation by Temak

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3519
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
Co-authored-by: Temak <artemkotlubai@yandex.ru>
Co-committed-by: Temak <artemkotlubai@yandex.ru>
2023-06-19 21:54:51 +00:00
epCode
df8592df41 Revert add punch node 2023-06-04 21:53:39 -07:00
epCode
5e4fa30aae Punch node after change 2023-06-04 20:19:18 -07:00
epCode
86cd5711ca Rearange on replace code to be more general purpous 2023-06-04 22:41:35 +00:00
epCode
908ba9fba6 Put on_replace call in correct place (wool regrow on grass to dirt) 2023-06-04 22:41:35 +00:00
epCode
91d94800d7 Adjust grass replace timer 2023-06-04 22:41:35 +00:00
epCode
74e55ca361 Fix eat replace timer for sheep 2023-06-04 22:41:35 +00:00
epCode
c049113f26 Fix sheep sliding, make eating timed, fix animation repeat 2023-06-04 22:41:35 +00:00
epCode
1f5247df06 Make mobs slide less, and fix ageold jump dilema 2023-06-04 22:41:35 +00:00
epCode
2e2f56122d Incorperate sheep eating animation. #3734 2023-06-04 22:41:35 +00:00
ancientmarinerdev
c65f8c9e51 Improved early game spawn balance 2023-06-01 20:05:25 +00:00
ancientmarinerdev
812269264b Add in caps for underground water and axolotl 2023-06-01 20:05:25 +00:00
ancientmarinerdev
afb4540408 Clean up 2023-06-01 20:05:25 +00:00
ancientmarinerdev
ae32ce4a0a Split hostile and non-hostile mob caps 2023-06-01 20:05:25 +00:00
ancientmarinerdev
10a3d06360 Fix global variable references and exit mob_step if missing pos 2023-05-22 21:05:12 +00:00
ancientmarinerdev
5a059379b2 Group damage logic. Remove physics falling logic out of suspend with duplicate falling call 2023-05-15 13:54:23 +00:00
ancientmarinerdev
952a90bfde Re-organise mob_step for better clarity 2023-05-15 13:54:23 +00:00
ancientmarinerdev
f326fa620f Optimise do states and env danger check 2023-05-15 13:54:23 +00:00
ancientmarinerdev
3d1fb8cf4a Clean up and optimise falling 2023-05-15 13:54:23 +00:00
ancientmarinerdev
519b237ba8 Jumping check only called once per mob_step and refactor duplicate water danger, cliff fall logic 2023-05-15 13:54:23 +00:00
ancientmarinerdev
72c3f87925 Reduce excessive mob overhead 2023-05-15 13:54:23 +00:00
ancientmarinerdev
818052dc6c Fix mob textures getting reset on shutdown/startup 2023-05-15 13:54:23 +00:00
3raven
9518d47662 (french) translation enhancements (#3643)
- Add missing translation
- Fix broken translations
- Fix unacurate description
- Correct/improve/change for cohesion french translation

Translations templates have been updated,other translations must be updated.

<!--
Please follow our contributing guidelines first:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CONTRIBUTING.md#how-you-can-help-as-a-programmer

By submitting this pull request, you agree to follow our Code of Conduct:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CODE_OF_CONDUCT.md
-->

Tell us about your pull request! Reference related issues, if necessary

### Testing
Tell us how to test your changes!

Co-authored-by: 3raven <elise_declerck@laposte.net>
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3643
Reviewed-by: AFCMS <afcm.contact@gmail.com>
Co-authored-by: 3raven <3raven@noreply.git.minetest.land>
Co-committed-by: 3raven <3raven@noreply.git.minetest.land>
2023-05-11 22:39:49 +00:00
ancientmarinerdev
09619a62ee Clean up is_as_cliff code and convert to new style vector part 2 2023-05-11 20:22:49 +01:00
ancientmarinerdev
31e6e38013 Clean up is_as_cliff code and convert to new style vector 2023-05-11 20:22:49 +01:00
ancientmarinerdev
8092fd573c Cleanup self.acc code and convert to new style vectors 2023-05-11 20:22:19 +01:00
ancientmarinerdev
0787d7a988 Remove duplicate code that has been moved. 2023-05-11 16:33:55 +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
ancientmarinerdev
ea4ea3f05e Standardise despawn logic and add asserts. Add persistent flag for mobs that have been interacted with. 2023-05-09 22:24:40 +00:00
ancientmarinerdev
6f75932a4b Fix crash when parrot sits on shoulder 2023-05-09 21:43:54 +00:00
ancientmarinerdev
fb9a630a5b Hostile mobs should lose aggro if they cannot see their target 2023-05-06 21:51:47 +00:00
cora
13df9ec46c Fix crash when using a named spawn egg 2023-04-27 21:16:19 +00:00
ancientmarinerdev
7fe1be2c18 Add error handling to sunlight checking to prevent crashing and improve diagnosis. 2023-04-06 13:35:38 +00:00
ancientmarinerdev
049406162e Fix crash when skeleton tries to jock when there is no pos, maybe because pos is unloaded. 2023-03-25 01:55:52 +00:00
ancientmarinerdev
bd579314ba Remove logging and clean up 2023-03-19 02:44:35 +00:00
ancientmarinerdev
e7449a65d8 Fix check_position and change spawn check to stages 2023-03-19 02:44:35 +00:00
ancientmarinerdev
ef633ce617 Do not throw XP if in creative 2023-03-17 20:36:53 +00:00
ancientmarinerdev
c6db032674 Rework sculk to be off the xp_step and triggered by events 2023-03-17 20:36:53 +00:00
ancientmarinerdev
ff1b941d19 Clean and improve profiler info 2023-03-17 15:20:51 +00:00
ancientmarinerdev
be269b2034 Make error handling safe in case pos is missing 2023-03-17 15:20:51 +00:00
ancientmarinerdev
97091de67f Log pos info only prior to crash 2023-03-17 15:20:51 +00:00
ancientmarinerdev
ae7cfdff69 Ensure conditional doesn't mask bug crash issue 2023-03-17 15:20:50 +00:00
ancientmarinerdev
0dee7792f4 Log where map unloaded before light damage code. #3430 debugging 2023-03-17 15:20:50 +00:00
Johannes Fritz
150222583a clearmobs command: nametagged/tamed is exclusive 2023-03-15 13:22:35 -05:00
Johannes Fritz
a3e6f90b09 clearmobs command improvement 2023-03-15 16:25:28 +00:00
ancientmarinerdev
270820125d Add in a default for improved clearmobs command. 2023-03-14 02:45:33 +00:00
ancientmarinerdev
fc7eb135e6 Comment out leftover logging 2023-03-14 02:45:33 +00:00
ancientmarinerdev
c97fef03b9 Comment out logging, and add in the destruction 2023-03-14 02:45:33 +00:00
ancientmarinerdev
37ca0efe05 New, improved, safe clearmobs command 2023-03-14 02:45:33 +00:00
ancientmarinerdev
0f7efcf9c1 Fix error handling compatibility with Minetest bundled Lua 2023-03-12 21:52:35 +00:00
ancientmarinerdev
038d9ec014 Do not need to create new vector each time 2023-03-11 00:05:53 +00:00
ancientmarinerdev
6097dacbab Only check herd if in range 2023-03-11 00:05:53 +00:00
ancientmarinerdev
5b7132ac5e Fix duplicate call for jump check 2023-03-11 00:05:53 +00:00
ancientmarinerdev
5fc78bf6b0 Use unique name for function. Add development flag to enable crashing locally 2023-03-11 00:05:53 +00:00
ancientmarinerdev
b47ef9275b Fix whoops 2023-03-11 00:05:53 +00:00
ancientmarinerdev
ce6d9d561f When mob out of range, avoid processing expensive or unneccessary things 2023-03-11 00:05:53 +00:00
ancientmarinerdev
655c130956 Remove aggro for iron golem when out of range 2023-03-10 03:03:53 +00:00
ancientmarinerdev
a25cced40e Remove comment now resolved 2023-03-04 02:18:36 +00:00
ancientmarinerdev
86a85bb487 Fix spawn egg crashes in different dimensions 2023-03-04 01:38:51 +00:00
ancientmarinerdev
48fa2608ed Merge pull request 'spawn-egg-crash-fix' (#3492) from GuyLiner/MineClone2:spawn-egg-crash-fix into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3492
2023-03-04 00:34:45 +00:00
epCode
e48dabc8be Create the Jockey api and use it on Skel/Spid 2023-02-28 17:46:21 +00:00
GuyLiner
cafc16c41c Fix #3484
If a mob was not found in the spawn_dictionary or the non_spawn
dictionary and you tried to use a spawn egg to spawn that mob, the game
would crash. This commit prevents that from happening by adding a check
for mobs that don't exist, and minetest.log throws an error.
2023-02-26 11:22:21 -05:00
GuyLiner
cd1c8bd92e Refactored logic for getting light levels for mobs
Removed mob_light_table, simplied loop, changed return values and
fixed dimension priority error in loop. Slimes also don't have a
hardcoded exception for their light levels anymore, and instead
are apart of spawn specific.
2023-02-16 20:48:28 -05: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
GuyLiner
540319d948 Added non_spawn_dictionary and function for getting mob light levels
The non_spawn_dictionary will cover all mobs that don't spawn naturally, and holds the the minimum and maximum light values for each of them.
A function has also been created that will go through both the spawn_dictionary and the non_spawn_dictionary and determine which one
a mob exists in, with the execption of slimes which cannot spawn from a custom spawner at the moment.

Mobs who don't have light levels for the world that you are currently trying to set your custom spawner in will default to their overworld values
2023-02-16 19:43:50 -05:00
ancientmarinerdev
4d61e32021 Clean up error handling 2023-02-16 23:15:55 +00:00
ancientmarinerdev
7c602ce82c Tidy up error handling. 2023-02-16 23:15:55 +00:00