Commit graph

161 commits

Author SHA1 Message Date
the-real-herowl
cae554bc2b Defensive checks (#4328)
Fixes rare crashes related to some effects

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4328
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-05-26 15:32:41 +00: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
bdaff930e0 Documentation update 2024-05-22 21:03:43 +02:00
the-real-herowl
9e9507efeb Plant placement and drop fixes 2024-05-22 21:03:43 +02:00
the-real-herowl
e806d5f3ce Fixed effects still being handled after mob death 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
8f4d5d2e27 Added the ominous potion 2024-05-22 21:03:43 +02:00
the-real-herowl
70d8dfe558 Improved API mob support
* various API functions now work with mobs properly
* the following effects don't work with mobs at all:
  water breathing, dolphin's grace, leaping, swiftness,
  slowness, slow falling, night vision, darkness, frost,
  health boost, absorption, fire resistance, resistance,
  luck, bad luck, blindness, nausea, hunger, saturation,
  haste, fatigue, conduit power
* the following effects should work with mobs:
  invisibility, regeneration, poison, withering,
  strength, weakness, levitation, glowing
* the following effects have no effect on mobs
  (but can be applied with the API):
  bad omen, hero of the village
2024-05-22 21:03:38 +02:00
the-real-herowl
9b501bfa7e Allowed infinite effect duration 2024-05-22 21:02:25 +02:00
the-real-herowl
75e5ca8d49 Added the option to remove and clear effects...
...with the /effect command.
Also made the API for clearing effects more robust.
2024-05-22 21:02:25 +02:00
the-real-herowl
dcbc9d2398 Allowed giving effect without particles
...both with API and the /effect command
2024-05-22 21:02:25 +02:00
the-real-herowl
7c1f9805e2 Tooltip and color fixes 2024-05-22 21:02:25 +02:00
the-real-herowl
8cfe96a955 Added potions for new effects
* also added some new brewing recipes
2024-05-22 21:02:25 +02:00
the-real-herowl
ced2741686 Added strength and weakness potions
Also fixed potent slowness potion level
Also fixed slowness and swiftness effect descriptions
2024-05-22 21:02:25 +02:00
the-real-herowl
09be413e3f Added glowing effect
Also added on_save_effect callback to run cleanup
2024-05-22 21:02:25 +02:00
the-real-herowl
7ae31790bf Fixed running on_end for effects that aren't ending 2024-05-22 21:02:25 +02:00
the-real-herowl
6dab6158b9 Reserve some more keywords in register_effect() 2024-05-22 21:02:25 +02:00
the-real-herowl
b28467d348 Added mcl_luck API
Luck and Bad Luck effects use the mcl_luck API now
The API is unused for now
2024-05-22 21:02:25 +02:00
the-real-herowl
c503a5fb8c Added luck and bad luck effects
They're no-op for now
2024-05-22 21:02:25 +02:00
the-real-herowl
bbe2964d48 Added some effect descriptions 2024-05-22 21:02:25 +02:00
the-real-herowl
5263740a80 Added conduit power 2024-05-22 21:02:25 +02:00
the-real-herowl
ddbc7cd826 Haste and fatigue expanded and improved
* abstracted and refactored some parts of haste and fatigue
* added and exposed new mcl_potions API functions
* fixed haste and fatigue not altering the hand
* mcl_meshhand now calls into mcl_potions when resetting the hand
2024-05-22 21:02:25 +02:00
the-real-herowl
6d7fe91047 Capped fatigue effect on punching
This fixes a crash, too
Also updates toolcaps on gamemode change
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
1ac81e440c Added haste and fatigue 2024-05-22 21:02:25 +02:00
the-real-herowl
bf82241e82 Added dolphin's grace 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
0e33947258 Renamed some functions and variables
* changed names referring to player where it does support mobs
* also added an is_player() check in one function
2024-05-22 21:02:25 +02:00
the-real-herowl
03c73b7820 Improved descriptions 2024-05-22 21:02:25 +02:00
the-real-herowl
e039642446 Improved nausea 2024-05-22 21:02:25 +02:00
the-real-herowl
394b090c83 Improved the darkness effect 2024-05-22 21:02:25 +02:00
the-real-herowl
65b923c43c Added darkness 2024-05-22 21:02:25 +02:00
the-real-herowl
aa4ff1827d Added nausea 2024-05-22 21:02:25 +02:00
the-real-herowl
92a77a7dbb Fixed graphical features of some effects
* loading fixed (by adding on_load)
* absorption bar never reaching end fixed
2024-05-22 21:02:25 +02:00
the-real-herowl
31adc45da9 Added blindness effect
(also improved TT descriptions of some effects)
2024-05-22 21:02:25 +02:00
the-real-herowl
5610fa1c4b Added frost effect 2024-05-22 21:02:25 +02:00
the-real-herowl
3f5cea3046 Added HP hudbar look modifier API
(for now in mcl_potions)
2024-05-22 21:02:25 +02:00
the-real-herowl
a8054e8112 Add hero of the village effect 2024-05-22 21:02:25 +02:00
the-real-herowl
007500613a Added food poisoning and saturation effects 2024-05-22 21:02:24 +02:00
the-real-herowl
fce73ab2bf Added some missing effects and improved API
* added a way to have a damage modifier relying on type instead of flag
* added Slow Falling
* added Levitation
* added Health Boost
* added Absorption
2024-05-22 21:02:24 +02:00
the-real-herowl
08942d3b25 Improved damage mods in effects, resistance effect 2024-05-22 21:02:24 +02:00
the-real-herowl
a6c9bc8a01 Improved effects HUD and fixes
* Fixed some effects not being replaced correctly with higher levels
* Implemented an old FIXME (MTE 5.3.0 fixed underlying bug)
* Added a way to obtain an approximate level of effect from factor
* Added effect level to HUD under the icon
* Added effect timer to HUD under the icon
2024-05-22 21:02:24 +02:00
the-real-herowl
5a7a533bf6 Added missing effect descriptions 2024-05-22 21:02:24 +02:00
the-real-herowl
83530b4298 Improved potion descriptions
* added support for effect descriptions
* added descriptions for some effects
* fixed a crash
2024-05-22 21:02:24 +02:00
the-real-herowl
a8fcae0f51 Fixed variable definitions ("undeclared global") 2024-05-22 21:02:24 +02:00
the-real-herowl
f1e9c3b563 Translatable effect names and cleanup
-added translatable effect names to the API
-made /effect utilize those descriptions
-cleaned up variables/constants to go with further API changes
2024-05-22 21:02:24 +02:00
the-real-herowl
5827a7638d Reimplemented /effect heal and fixed bugs
-heal subcommand to the /effect reimplemented
-healing_func() from old API standardized, included in new API
-(the last point is due to it being substantially different from others)
-fixed a few bugs, potential crashes
-fixed incorrect withering effect progression
-standardized variable naming
2024-05-22 21:02:24 +02:00
the-real-herowl
d1ca0f23f0 Resolved merge conflict 2024-05-22 21:02:24 +02:00
the-real-herowl
5750284e8f Improved /effect command and fixes
-improved the /effect command, allowing to use effect levels
-fixed a bug in level-to-factor conversions
-renamed effect icons to follow the new convention
2024-05-22 21:02:24 +02:00
the-real-herowl
8477d13c79 General effects API overhaul
- added a `register_effect()` function
- added the withering effect
- registered all the old effects under the new API
- unified effect names
- updated the main effect checker to use the new API
- changed some hardcoded values to support the unified effect naming
- added new namespaced metadata effects strings
- added support for legacy effect player metadata
- potions are still using the old effects API
- added glue between old API calls and the new API
- renamed the effect icons to support the unified effect naming
2024-05-22 21:02:24 +02:00