Commit graph

813 commits

Author SHA1 Message Date
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
ancientmarinerdev
ae92c51155 Adding error handling to the mob step function 2023-02-16 23:15:55 +00:00
Michieal
f05e976d18 changed comment. 2023-02-14 01:50:05 +00:00
Michieal
5533ec7bac fix mobs losing their textures. 2023-02-14 01:50:05 +00:00
ancientmarinerdev
9445e10834 Pathfinding optimisations and villager has earlier bed time 2023-02-11 10:36:56 +00:00
ancientmarinerdev
2fd7f8c69f Fix hungry sheep and hyrdophobic passive mobs 2023-02-11 00:37:16 +00:00
ancientmarinerdev
d4c2802afb Implement review/testing feedback 2023-02-10 19:01:29 +00:00
ancientmarinerdev
bf50a17f2e Limit spawning of mobs outside y axis as well 2023-02-10 19:01:29 +00:00
ancientmarinerdev
b817c079ba Improve balancing for early game 2023-02-10 19:01:29 +00:00
ancientmarinerdev
cfa276f722 Add settings for percentage of hostile and peaceful groups spawned 2023-02-10 19:01:29 +00:00
ancientmarinerdev
86b1d8bc3e Add world gen limits to spawning to avoid things spawning past the world gen limits 2023-02-10 19:01:29 +00:00
ancientmarinerdev
9c2f43a242 Limit peaceful spawning and add configurable option 2023-02-10 19:01:29 +00:00
ancientmarinerdev
044a91e831 Change spawn cap groups to spawn_type to give water it's own spawn cap. 2023-02-10 19:01:29 +00:00
ancientmarinerdev
106979e64a Clean up 2023-02-10 19:01:29 +00:00
ancientmarinerdev
1dc7cab6be Add logging 2023-02-10 19:01:29 +00:00
ancientmarinerdev
634379dfe9 Retry if failing to find spawn position 2023-02-10 19:01:29 +00:00
ancientmarinerdev
c2ac33ac61 Mobs now can spawn in multiple positions around you per spawning cycle 2023-02-10 19:01:29 +00:00
ancientmarinerdev
b5c0830060 Restructure code and tidy 2023-02-10 19:01:29 +00:00
ancientmarinerdev
c43c723e08 Clean logging etc. 2023-02-10 19:01:29 +00:00
ancientmarinerdev
bd3a4ff0df Clean up 2023-02-10 19:01:28 +00:00
ancientmarinerdev
0267ad2f31 Decrease change of groups spawning for peacefuls. Refresh total mobs check on spawn. 2023-02-10 19:01:28 +00:00
ancientmarinerdev
a2f9ea81cc Fix mobs debug crash 2023-02-10 19:01:28 +00:00
ancientmarinerdev
7c7f4b930c Move cap check out of spawn checks and reimplement close cap check 2023-02-10 19:01:28 +00:00
ancientmarinerdev
60529d3d5d Add in constants for spawn zones 2023-02-10 19:01:28 +00:00
ancientmarinerdev
6ea4b43249 Limit group spawn to available cap space. Total mobs check once per spawn cycle. 2023-02-10 19:01:28 +00:00
ancientmarinerdev
b834e790a7 Fix game crashes 2023-02-08 19:34:04 +00:00
ancientmarinerdev
39d4434df1 Reorder on_step calls 2023-02-08 19:34:04 +00:00
ancientmarinerdev
4b9482cb09 Mobs should not drop XP when dying by fire from sunlight 2023-02-08 19:34:04 +00:00
GuyLiner
4d922d9edf Added conditional based on existing fire damage conditional that will apply fire damage to a
mob standing on top of a magma node that belongs to the "fire" group. The magma node
has also been added to the fire group, making it so that standing on the node will
do damage to the mob.

In official Minecraft, magma blocks just do fire damage without the fire animation.
Source: https://minecraft.fandom.com/wiki/Magma_Block
2023-02-06 00:10:52 +00:00
ancientmarinerdev
7d46fa3362 Merge pull request 'texture-consolidation' (#3380) from texture-consolidation into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3380
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-04 03:23:13 +00:00
ancientmarinerdev
7daa79a3f8 Fix wither crash on certain version of Lua. 2023-02-02 02:22:21 +00:00
Michieal
06effcd786 Merge branch 'master' into texture-consolidation 2023-01-30 22:57:38 -05:00
Michieal
6265148727 Move textures all into one centralized directory. 2023-01-30 22:55:53 -05:00
ancientmarinerdev
245ce99223 Using mcl_vars 2023-01-31 02:28:04 +00:00
ancientmarinerdev
1f107ec0c7 Tidy 2023-01-31 02:28:04 +00:00
ancientmarinerdev
c209537cfe Make it a bit less chatty for logging 2023-01-31 02:28:04 +00:00
ancientmarinerdev
d583ccb986 Oooops, wrong number 2023-01-31 02:28:04 +00:00
ancientmarinerdev
7d803e174c Set freeze and warning when mobs too close to boundary of world 2023-01-31 02:28:04 +00:00
ancientmarinerdev
e4f26a4688 Fix self object checks for check suspend 2023-01-23 20:10:28 +00:00
ancientmarinerdev
af86e73280 Fix self object reference in player_in_active_range 2023-01-23 20:10:28 +00:00
ancientmarinerdev
32be8f9602 Fix more self object references in falling 2023-01-23 20:10:28 +00:00
ancientmarinerdev
15560d969c Change order of mob step 2023-01-23 20:10:28 +00:00
ancientmarinerdev
6bbf3af97b Remove log line 2023-01-23 20:10:28 +00:00
ancientmarinerdev
84317afc93 Review feedback implemented and planned changes 2023-01-23 20:10:28 +00:00
ancientmarinerdev
2cd6629ae1 Add some mob object checks to avoid crashing 2023-01-23 20:10:28 +00:00
ancientmarinerdev
ce7d493890 Merge pull request 'Iron golem fixes' (#3309) from gldrk/MineClone2:master into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3309
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-22 00:45:53 +00:00
ancientmarinerdev
30d3b7ee23 Merge pull request 'mcl_bamboo Part 2.' (#3208) from mcl_bamboo_too into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3208
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-16 20:22:09 +00:00
ancientmarinerdev
9b28baaad6 Give longer to breed mobs. 1.5s is not enough 2023-01-16 00:00:28 +00:00
b3nderman
f9b021e4c6 Fix animals jumping way too high upon growing up 2023-01-15 22:47:05 +00:00
Michieal
e9c202ae45 Added Bamboo Biomes to spawning.lua. 2023-01-15 15:30:34 -05:00
gldrk
1536338199 Allow passive mobs to have protectors 2023-01-14 01:32:42 +03:00
gldrk
3697ef8069 Fix summoning friends for mobs 2023-01-14 01:28:35 +03:00
ancientmarinerdev
4fd4425aae Improved mob debug 2023-01-11 01:07:18 +00:00
ancientmarinerdev
ac4cd2c325 Improve performance for head swivel check 2023-01-11 01:07:18 +00:00
ancientmarinerdev
01c8009c6a Tidy on_step function 2023-01-11 01:07:18 +00:00
ancientmarinerdev
59694ebc7c Fix merge conflict 2023-01-06 13:52:03 +00:00
ancientmarinerdev
2527479401 Clean up on isle 5, please 2023-01-06 02:59:02 +00:00