Isn't it weird how campfires are not affected by rain? Well, now they are! This mod will make fires get extinguised by rain with a simple and performance-friendly implementation. Welcome to the future!
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This mod was made to be accessible to all. If you use my assets (mainly, my scripts), then please also make your mod permissions similar to these, so we can help the community grow!
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Added a patch for Embers XD. If you noticed fires not going out or mismatches of ground textures while using Embers XD, this patches address that.
Version 5.0.1
===========Fixes===========
Fixed an issue where occlusion was calculated incorrectly.
Version 5.0.0-beta.11
===========DLL============
Several changes to the Papyrus API, check github.
Added new event listener for changing cells.
==========Fixes============
Fixed a case where fires wouldn't go out after the refactor if you went in doors mid-weather transition.
=========Additions==========
Added in relight animations for campfires and giant campfires.
Version 5.0.0-beta.10
===========DLL============
Reworked the code again for readability.
Several optimization tweaks.
DLL options for early versions of Skyrim have been removed. Apache License still applies, so porting is allowed.
===========Fixes===========
Fixed lights not going out while it was raining. This did not apply to weapon/spell hits.
Version 5.0.0-beta.9
===========DLL============
Fixed issues for 1.5.97
Old 1.6 versions (640, 353) might work, but I can't guarantee that. Use at your own risk
Going forward, I will be looking for someone else to manage the plugin for older versions of Skyrim.
Version 5.0.0-beta.8
===========DLL============
Added support for pre-1.6.1130 versions. Supported:
-1.6.640
-1.5.97
Moved away from CommonlibSSE-NG to fix REF not loading on 1.5.97.
Going forward, I will be looking for someone else to manage the plugin for older versions of Skyrim.
Version 5.0.0-beta.6
===========DLL============
Changed the way that extinguishing happens. It no longer sends out an event, meaning a GREAT deal of performance increase.
Changed the way that relighting works.
Added smoke object detection.
Added light extinguishing.
Added a new INI with settings.
==========Papyrus==========
Significantly reduced the scripting in favor of the DLL.
===========Plugin===========
Added some messages.
Added version checking.
Version 5.0.0-beta.5
===========DLL============
Improved the Papyrus class.
Extinguish events are now handled in the DLL.
Small changes to logging. Should help in the future.
===========Fixes===========
Fires now correctly go out and get relit.
More sanity checks to prevent errant empty fires from persisting
There was a Giant Campfire that still produced sound.
==========Papyrus==========
Reworked a lot of the scripts for clarity
Rain and Snow now end when the visuals end, meaning that fires will stop appearing as though they are not going out in the rain.
Fires relit in the rain/snow now remain lit for about 10 seconds before going out again.
============Note===========
This is a MAINTENANCE update that slightly ballooned. The next update will be when 1.6.whatever drops, to update the DLL, where I hope to reintroduce the light and smoke extinguishing features. Note that 1.6.1130 support will be dropped then in favor of the newer version. 1.6.640 and 1.5.97 will still be supported.
Version 5.0.0-beta.4
======DLL======
Fixed support for version under 1.6.1130
Fixed a bug where fires would "lock" but not unlock if they couldn't be disabled.
Improved logging for settings.
=====Plugin====
Fixed a bug where the update script would update once every 5 seconds due to a missing return statement.
Version 5.0.0-beta.3
======DLL======
Added actual support for 1.6.629 -> 1.6.640.
Version 5.0.0-beta.2
======Removals from V4======
Removed Occlusion Checking (will be added back in during the full release).
Removed Re-Lighting with animations (will be added back in during the full release).
===========Fixes===========
Fixed a bug where fires would not relight.
Fixed a bug caused by a mispelling in the script.
Fixed several bugs relating to activator textures.
========Improvements========
Added an enable child detection system. This means that if the fire would disable another object when it would be put out, it is not.
Added a small extensibility system. This should allow me to release additions to the main mod without updating the plugin.
Smoothed out transitions from Lit->Unlit and vice versa.
Different weather detection method should reduce VM load to practically 0.
DLL has been completely overhauled, built on PO3's Commonlib fork.
Version 5.0.0
========Save Compatibility==========
If upgrading from Version 4 or earlier, a new save is required. If updating from the beta, you are good to go.
==========Major Changes===========
Rain Extinguishes Fires is now standalone. No more requirements, outside of SKSE and Address Library.
Rain Extinguishes Fires now has its own DLL, which dramatically improves performance and expands possible features.
==============Fixes===============
Fixed lights not being extinguished when it is raining. This is now handled more reliably in the DLL.
Fixed a bug where fires would not relight. This is now handled both in Papyrus and the DLL, ensuring that fires will be relit when requested.
Fixed duplicate "Light Fire" prompt and Fire Sounds in off fires.
Fixed getting the "REF Loaded" message every time the game booted up.
Stopped fires that would disable other objects from being extinguished.
=============Additions==============
Added new method for adding fires into the system. It is now based on a JSON rule system.
Added a new INI with settings.
Version 4.1.0
Fixed scripting issue that prevented fires from being put out by ice enchanted weapons/projectiles.
Fixed some OFF fires using the BURNING models, making it seem as if the mod was not working.
Added a new function in REF_Maintenance that allows me to reset all fires.
Version 4.0.2
Fixed an issue where you'd be unable to interact with unlit fires.
Fixed a bad formswap.
Fixed false positive sunhelm notification if you were running survival mode.
Fixed a rare crash that would happen if a ballista bolt hit a fire.
Version 4.0.1
The "Turns Out I am Not Good At Taking Breaks" update.
Save compatible if upgrading from version 4.0.0
Bugfix: Off campfires will no longer have sounds associated with them.
New Feature: A new DLL was added that makes it so that enchanted ammo with ice puts out fires.
New Feature: Enchanted weaponry with ice put out fires.
Version 4.0.0
Several, rudimentary things changed. This update is not save-friendly.
Installation now comes with a FOMOD. A few new options (such as Giant Campfires) have been included.
New way of detecting when the player enters an interior. Significantly faster and more reliable than the old method.
New way of telling when it is raining - accounts for all weather mods without a patch.
No more custom meshes for fire. This is both a good and a bad thing.
Embers XD (and other mesh/texture replacers) are now fully compatible without caveats.
Collision issues have been fixed.
Ember type fires are no longer re-lightable (sideeffect of not having a custom mesh)
Version 3.0.1
Save compatible if updating from 3.x.x.
Removed erroneus messages that were left in from testing.
Version 3.0.0
Not save compatible if updating from 2.0.0
Introduced Frozen North patchless compatibility.
Fixed a bug where occlusion check would pass if there was a grid <180 units away from the fire.
Fixed a bug where every fire was checked as occluded.
Version 2.0.3
Save compatible if upgrading from 2.X.X
Fixed a bug where a test marker would show for a few seconds. Oops.
Version 2.0.2
Save compatible if upgrading from 2.X.X
Added Rain Occlusion - If a fire is underneath an object, it will not be put out.
Version 2.0.1
Save compatible if upgrading from version 2.0.0
Introduced Frostfall patchless compatibility.
Version 2.0.0
Reworked Maintenance system. Should now make all future updates save compatible.
Introduced Sunhelm patchless compatibility.
Introduced Survival Mode patchless compatibility.
Version 1.0.0
Initial Release
*RAIN EXTINGUISES FIRES*
"My immersion! RESTORED!" - A happy immersed customer
Rain Extinguishes Fires has one goal: To make fires respond to the world around them. If it is raining or snowing, fires will go out. If fires are struck with frost spells, they will go out. If fires are hit with fire spells, they will be relit. The idea is simple: Interacting more with the world leads to more immersion.
Features:
ESL flagged.
Compatible with everything under the sun. And the rain. And the snow. (Mod does not make any edits on the world itself)
Performance friendly implementation. Mod shouldn't affect your game perf at all.
Not only campfires are affected, but also city fires. And yes, it automatically detect fires placed by other mods.
Fires get relit automatically after some time (after you leave the cell).
You can also relit the fires yourself by activating them (with an animation!) or by using a fire spell on them.
You can also put out fires at will by hitting them with a frost spell.
Adding this mod mid game is fine, removing is probably not. If you are using DynDOLOD, be advised that it creates its own new fires. In order to automatically detect them, this plugin unlocks more functionality when paired together with PowerOfThree's Tweaks. Thus, consider it a requirement if using DynDOLOD.
Are you looking to add support for more fires? If so, you are in the right place. In order to add new fires into the framework, you will need to create a configuration file. Configuration files are json files that are stored in Data/SKSE/Plugins/RainExtinguishesFires, and follow a simple structure: { "FireData": [ { "Source":"FormID|PluginNameWithExtension", "Off":"FormID|PluginNameWithExtension" }, { "Source":"0x35F49|Skyrim.esm", "Off":"0x802|RainExtinguishesFires.esp" } ] } "Source" refers to the lit fire. "Off" refers to your off fire. This needs to be an activator with the "REF_ObjectRefOffController" script attached (you don't need to fill in any properties).
A MAJOR thanks to VictorF - A TON (and I mean a TON) of technical support. A MAJOR thanks to parapets - The idea of kindling fires comes directly from them. A MAJOR thanks to powerofthree, whose frameworks are invaluable to hundreds of mod authors, including myself. A MAJOR thanks to JaySerpa - this mod was their idea. I just made it.
(JaySerpa is actually currently editing this page right now and would like to add the following line below against the wishes of SeaSparrow lol SUCK IT) A MAJOR SUPER THANK YOU TO SEASPARROW FROM JAYSERPA FOR BEING SO AWESOME AND MAKING THIS MOD COME TRUE. IVE ONLY WAITED 11 YEARS. I LOVE IT. AMAZING. THANK YOU <3 <3 <3
Thank you to Chesko, whose script I referenced to light the fires. Thank you to the xEdit team, without them this mod would have been 10 times as difficult to make.