Thunder/rain inconsistencies, sunburn and flashes of fire #4443

Open
seventeenthShulker wants to merge 6 commits from burning_in_thunder into master

Rovers were not getting hurt in open areas with thunder (not in a 'hot biome').

Additionally, #3655 causes visual flashing when fire is applied before checking conditions under which we would normally extinguish fire.

Zombies et. al. would not burn in deserts, savannah etc. ('hot biomes') and I think they should. Especially seeing as the sky looks clear and just as bright even while 'invisible weather' is happening.

Testing

Observe rovers now briefly get hurt then disappear when in thunder too.

Mobs that burn in daylight should still be extinguished from fire during rain/thunder in open areas in regular biomes.
They should not be extinguished under the sky in 'hot biomes' (and should start burning).
If in the rain or in water etc. during the day there should be no longer be visual flashes of fire every game-second or so.

Rovers were not getting hurt in open areas with thunder (not in a 'hot biome'). Additionally, #3655 causes visual flashing when fire is applied before checking conditions under which we would normally extinguish fire. Zombies et. al. would not burn in deserts, savannah etc. ('hot biomes') and I think they should. Especially seeing as the sky looks clear and just as bright even while 'invisible weather' is happening. ### Testing Observe rovers now briefly get hurt then disappear when in thunder too. Mobs that burn in daylight should still be extinguished from fire during rain/thunder in open areas in regular biomes. They should not be extinguished under the sky in 'hot biomes' (and should start burning). If in the rain or in water etc. during the day there should be no longer be visual flashes of fire every game-second or so.
seventeenthShulker added 1 commit 2024-06-15 22:13:41 +02:00
ac55e100af Rovers now take damage and teleport away when it is thundering.
And fix somewhere else that ignored thunder.
seventeenthShulker changed title from Rovers now take damage and teleport away when it is thundering (not just raining) to [WIP] Rovers now take damage and teleport away when it is thundering (not just raining) 2024-06-15 22:15:22 +02:00
seventeenthShulker added 3 commits 2024-06-15 23:51:15 +02:00
Author
Member

Should fix #3655 if correct.

Should fix #3655 if correct.
seventeenthShulker changed title from [WIP] Rovers now take damage and teleport away when it is thundering (not just raining) to [WIP] Thunder/rain inconsistencies, sunburn and flashes of fire 2024-06-16 00:01:01 +02:00
seventeenthShulker added 1 commit 2024-06-16 00:02:48 +02:00
seventeenthShulker added 1 commit 2024-06-16 00:22:02 +02:00
seventeenthShulker changed title from [WIP] Thunder/rain inconsistencies, sunburn and flashes of fire to Thunder/rain inconsistencies, sunburn and flashes of fire 2024-06-21 00:58:37 +02:00
the-real-herowl reviewed 2024-06-21 12:05:19 +02:00
@ -190,0 +159,4 @@
if dim == "overworld" and mcl_burning.is_affected_by_rain(self.object) then
self.state = ""
--rain hurts enderman
self.object:punch(self.object, 1.0, {

We probably want to punch with something else than self.object. Not sure if this is material for this PR, but I know them punching themselves causes weird things in logs.

We probably want to punch with something else than `self.object`. Not sure if this is material for this PR, but I know them punching themselves causes weird things in logs.
Author
Member

I don't know what to do about this (I just copied what was already implemented), but it does seem a bit hacky.

I don't know what to do about this (I just copied what was already implemented), but it does seem a bit hacky.
Member

I suspect that an entity will be needed to pass to punch() to make the message work as desired. If minetest engine supported passing a fake player to this API call, that would probably be the way to go, but I don't believe this is currectly supported.

There is some discussion of fake players at https://github.com/minetest/minetest/issues/11477 but I was unable to find a PR that would add the ability to pass a table to punch().

I suspect that an entity will be needed to pass to punch() to make the message work as desired. If minetest engine supported passing a fake player to this API call, that would probably be the way to go, but I don't believe this is currectly supported. There is some discussion of fake players at https://github.com/minetest/minetest/issues/11477 but I was unable to find a PR that would add the ability to pass a table to punch().
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: VoxeLibre/VoxeLibre#4443
No description provided.