Commit graph

813 commits

Author SHA1 Message Date
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
the-real-herowl
72435933e4 Add defensive check (#4437)
This fixes #4436 and possible other unnoticed crashes by adding a defensive check.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4437
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-06-15 03:51:03 +02:00
teknomunk
ecf12b85cc Fix undefined global warning for variable distance in spawning code (#4348)
Fixes the warning about an undeclared global that occurs the first time a mob attempts to spawn.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4348
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-31 09:54:59 +00: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
651fb74be1 Fix a crash 2024-05-22 21:03:43 +02:00
the-real-herowl
747bf16a94 Migrated mobs to the new effects API 2024-05-22 21:03:43 +02:00
the-real-herowl
dc7b1869b7 Move most of the game to the new API 2024-05-22 21:03:43 +02:00
the-real-herowl
63b2da7aa0 Added on_save_effect support for mobs 2024-05-22 21:03:43 +02:00
the-real-herowl
914e3c6c2a Effects persist on loads for mobs too 2024-05-22 21:03:43 +02:00
the-real-herowl
7cd0cfede8 Further (mcl_)luck functionality
* XP from mob breeding impacted by luck
* eye of ender explosion chance impacted by luck
* fishing loot impacted by luck
* melee critical damage impacted by luck
* also fixed 2 scripts marked as "executable"
2024-05-22 21:02:25 +02:00
the-real-herowl
0c4094596e Improved haste and fatigue effects
* fixed a few crashes related to unusual effect levels
* added haste and fatigue combat functionality
* added some cleanup to avoid hangover unstackable items
* capped the slowdown from fatigue at 5 minutes digging time
* (despite the above, if a tool has a longer time set in definition,
	that still works)
* removed an unused "global" variable
2024-05-22 21:02:25 +02:00
the-real-herowl
456d205161 Added strength and weakness effects
* also highest effect level displayed in HUD set to 3000
* also improved indicating effects with strange factors in HUD
2024-05-22 21:02:25 +02:00
the-real-herowl
753545d714 Merge pull request 'Rover and Stalker' (#4282) from rover_stalker into master
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4282
2024-05-22 19:01:14 +00:00
the-real-herowl
48e6ffa935 Improved tool tooltips (#4306)
Co-authored-by: Araca <araca.prod@gmail.com>
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4306
2024-05-22 18:55:07 +00:00
teknomunk
0279dde3d0 Limit check to +/- 16 nodes from goal position (maximum 33 nodes, 3 map blocks) 2024-05-22 15:25:38 +00:00
teknomunk
2a014ca79c Change y range calculation to use outer zone distance and not middle to let mobs spawn far away from the player 2024-05-22 15:25:38 +00:00
teknomunk
1bc0a0b411 Implement a continuous distribution function using a piecewise linear function for selecting the distance from the player to spawn mobs with, fix crash when no nodes are found under air at the goal position 2024-05-22 15:25:38 +00:00
teknomunk
bd6c8d35c3 Change y_min/y_max calculations 2024-05-22 15:25:38 +00:00
teknomunk
3850fc1a9f Limit y range to the same hemisphere (top/bottom) 2024-05-22 15:25:38 +00:00
teknomunk
74cf14ef0f Close if statement 2024-05-22 15:25:38 +00:00
teknomunk
3a4a8799ea Change mob spawning randomization from polar coordinates to spherical coordinates, move position validation code from find_spawning_position to get_next_mob_spawn_pos, minimize code remaining in find_spawning_position 2024-05-22 15:25:38 +00:00
the-real-herowl
970f6cf377 Stalker model and mechanics implemented 2024-05-12 06:02:15 +02:00
the-real-herowl
4b83aaaa77 Renaming throughout docs and comments 2024-05-07 11:38:00 +00: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
teknomunk
0c372f987d Stop villagers from eating shulker boxes (#4266)
This modifies the logic for mobs picking up items to only match against the item's name and ignore any text in an items metadata.

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4266
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-05-01 15:44:14 +00: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
nixnoxus
a86e8e2c8e fix strider breeding & increase riding speed (#4096)
- Striders follow `mcl_crimson:warped_fungus`
- Striders can be bred with `mcl_crimson:warped_fungus`
- Riding speed increased to 2 m/s
- Warning fixed

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4096
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: nixnoxus <nixnoxus@web.de>
Co-committed-by: nixnoxus <nixnoxus@web.de>
2024-04-13 23:38:46 +00:00
ancientmarinerdev
ac4aff12ea Enable custom biome check in spawning. This allows mods to overide the check in singlenode and other mapgens that do not support biome API. (#4217)
Some older mapgens do not support the MT biome API. Singlenode and I think v6 also. This allows mods to overide the biomecheck in mob spawning to return valid biomenames and customise this.

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4217
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: ancientmarinerdev <ancientmariner_dev@proton.me>
Co-committed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2024-04-01 15:40:14 +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
Eliy21
aa4f8ba6cc Add medium size mob distinction in the cactus mob damage area reach code 2024-01-21 09:18:43 +00:00
Eliy21
d41d29be58 Add distinction between regular sized mobs and large mobs in the cactus mob damage area reach 2024-01-21 09:18:43 +00:00
Eliy21
434bb33f72 Add mob cactus damage logic to /mcl_mobs/physics.lua 2024-01-21 09:18:43 +00:00
emptyshore
8e103cf615 Mobs should not anger towards the player if damage is disabled. (#4114)
Co-authored-by: Mateusz Uzdowski <mateusz@silverstripe.com>
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4114
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: emptyshore <emptyshore@noreply.git.minetest.land>
Co-committed-by: emptyshore <emptyshore@noreply.git.minetest.land>
2024-01-21 05:37:54 +00:00
PrWalterB
899c45534f Adding occitan translation for CORE and ENTITIES 2024-01-20 04:28:46 +01:00
bakawun
4d90dfab0e Spawning: add a comment to clarify what the random select is doing 2024-01-10 11:22:13 +01:00
bakawun
b2b63266b7 Spawning: break mob selection loop when out of bounds 2024-01-10 11:22:13 +01:00
bakawun
d151e79fb9 Spawning: remove unused summary_chance 2024-01-10 11:22:13 +01:00
bakawun
e419e6d63b Spawning: remove another unused perlin var 2024-01-10 11:22:13 +01:00
cora
55517154bd Mob spawning: Remove unused vars 2024-01-10 11:22:13 +01:00
bakawun
402e4e7b79 Spawning: fix random weighted choice 2024-01-10 11:22:13 +01:00
the-real-herowl
d11526f8e8 Merge pull request 'Finish PVP Combat Parity with the rest + PVP Tweaks' (#4078) from Eliy21/MineClone2:combat_fixes into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4078
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2023-12-30 04:21:18 +00:00
the-real-herowl
a2a4da5aed Added shepherd functionality 2023-12-24 05:48:41 +01:00
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