Commit graph

2259 commits

Author SHA1 Message Date
teknomunk
52bca90ae2 Implement custom item dropper handlers, implement droppers placing minecarts 2024-06-15 14:08:29 +02:00
teknomunk
af9409c69f Hopper minecarts pull from containers above rail 2024-06-15 14:08:29 +02:00
teknomunk
0951acd06c Rework in preparation to add code to pull from containers into the hopper minecart 2024-06-15 14:08:29 +02:00
teknomunk
f57d202a9d Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track 2024-06-15 14:08:29 +02:00
teknomunk
b51496ad8e Add code to reattach carts to rail when data corruption occurs, fix bug in last commit that caused carts to bury into the ground 2024-06-15 14:08:29 +02:00
teknomunk
adddaec69a Remove dip into the ground that occured when gravity caused the cart to reverse directions 2024-06-15 14:08:29 +02:00
teknomunk
a0463b564a Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration 2024-06-15 14:08:29 +02:00
teknomunk
8c6b011c91 Change connected railcar behavior to fix unreliable end of track stopping, set maximum acceleration of powered rails to 8 blocks per second (per https://minecraft.fandom.com/wiki/Powered_Rail), stop powered rails from powering the block underneath it (allows below rail hopper to work while the rail is powered like in https://www.youtube.com/watch?v=szjO0-duTAk), modify mcl_hoppers to allow triggering a hopper pull once the minecart is stopped on top of the hopper and wait before allowing the cart to move to allow redstone circuits time to process 2024-06-15 14:08:29 +02:00
teknomunk
f2c6f069d0 Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled 2024-06-15 14:08:29 +02:00
teknomunk
15000be8ec Modify do_movement_step to move to always move to the edge of the current rail segment before updating the direction to prevent oscillations at corners, fix end of track stop location with new movement behavior, disable experimental controls, swap code to detach the driver on float with a call to detach_driver() 2024-06-15 14:08:29 +02:00
teknomunk
f3fac3586f Add DEBUG flag, stop small do_movement_step's from occuring (this improves but doesn't eliminate the bug I with the a6be179ed commit), add recovery when staticdata field gets lost 2024-06-15 14:08:29 +02:00
teknomunk
9be0d27dd8 Fix initial_properties for minecarts 2024-06-15 14:08:29 +02:00
teknomunk
bee32418c4 Change left,right and back vectors to matrix math results with no branching 2024-06-15 14:08:29 +02:00
teknomunk
5d14d43ec4 Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax 2024-06-15 14:08:29 +02:00
teknomunk
8a91f04cf0 Complete rewrite of minecart movement that resolves https://git.minetest.land/MineClone2/MineClone2/issues/2446 and https://git.minetest.land/MineClone2/MineClone2/issues/247#issuecomment-50960 but has a bug where carts will synchronize movements that I am still investigating 2024-06-15 14:08:29 +02:00
teknomunk
2a9aaa02af Change staticdata serialization (with migration from old data), disable debugging code used to investigate https://git.minetest.land/MineClone2/MineClone2/issues/2446 2024-06-15 14:08:29 +02:00
teknomunk
44514e0fad Change to vector.new from {x=...}, relocate movement code to own function for future changes 2024-06-15 14:08:29 +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
beccbacc73 Fix Stalker texture generation (#4343)
This fixes stalker texture generation when the stalker is standing on a node that uses a texture using a texture modifier.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4343
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-06-01 20:23:38 +00: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
2bd24120e9 Stalker texture building fix (#4322)
Added a defensive check for stalker texture building.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4322
2024-05-25 11:57:05 +00:00
teknomunk
0a14a74860 Fix crash when converting endermen to rovers (#4318)
Fixes a crash that occurs when automatically converting endermen to rovers.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4318
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-24 10:32:19 +00:00
the-real-herowl
a499d292f8 Finish renames (#4314)
Fix crash caused by unfinished renaming in #4282

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4314
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-05-22 19:18:10 +00:00
the-real-herowl
018814c362 Added a few mobitems
* one droppable from strays
* the rest will get their mobs in a later update
* added alternative ways to get the items
* added recipes for potions that use these items
2024-05-22 21:03:43 +02:00
the-real-herowl
651fb74be1 Fix a crash 2024-05-22 21:03:43 +02:00
the-real-herowl
664993ca75 Fixed mob drops not having proper description 2024-05-22 21:03:43 +02:00
the-real-herowl
d306260c7e Guardian fixes 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
e36b7f413b Strays now use frost arrows 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
a3f6bc1a6f Rename the files 2024-05-22 14:26:18 +02:00
the-real-herowl
af13bd0635 Stalker may be overloaded, but never charged 2024-05-19 02:49:40 +02:00
the-real-herowl
18af03b99c Animated charged stalker aura 2024-05-12 07:14:28 +02:00
the-real-herowl
22b6c25458 Convert old mob to the new stalker 2024-05-12 06:47:00 +02:00
the-real-herowl
0dcf38094c Stalker rename (partial) 2024-05-12 06:21:37 +02:00